summaryrefslogtreecommitdiff
path: root/third_party/googleapis/google/cloud/aiplatform/v1beta1/feature.proto
blob: cf67cf3e9fd39716d355f581e4958764595a10af (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
// Copyright 2022 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.aiplatform.v1beta1;

import "google/api/field_behavior.proto";
import "google/api/resource.proto";
import "google/cloud/aiplatform/v1beta1/feature_monitoring_stats.proto";
import "google/cloud/aiplatform/v1beta1/featurestore_monitoring.proto";
import "google/protobuf/timestamp.proto";

option csharp_namespace = "Google.Cloud.AIPlatform.V1Beta1";
option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1;aiplatform";
option java_multiple_files = true;
option java_outer_classname = "FeatureProto";
option java_package = "com.google.cloud.aiplatform.v1beta1";
option php_namespace = "Google\\Cloud\\AIPlatform\\V1beta1";
option ruby_package = "Google::Cloud::AIPlatform::V1beta1";

// Feature Metadata information that describes an attribute of an entity type.
// For example, apple is an entity type, and color is a feature that describes
// apple.
message Feature {
  option (google.api.resource) = {
    type: "aiplatform.googleapis.com/Feature"
    pattern: "projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}/features/{feature}"
  };

  // A list of historical [Snapshot
  // Analysis][FeaturestoreMonitoringConfig.SnapshotAnalysis] or [Import Feature
  // Analysis] [FeaturestoreMonitoringConfig.ImportFeatureAnalysis] stats
  // requested by user, sorted by [FeatureStatsAnomaly.start_time][google.cloud.aiplatform.v1beta1.FeatureStatsAnomaly.start_time] descending.
  message MonitoringStatsAnomaly {
    // If the objective in the request is both
    // Import Feature Analysis and Snapshot Analysis, this objective could be
    // one of them. Otherwise, this objective should be the same as the
    // objective in the request.
    enum Objective {
      // If it's OBJECTIVE_UNSPECIFIED, monitoring_stats will be empty.
      OBJECTIVE_UNSPECIFIED = 0;

      // Stats are generated by Import Feature Analysis.
      IMPORT_FEATURE_ANALYSIS = 1;

      // Stats are generated by Snapshot Analysis.
      SNAPSHOT_ANALYSIS = 2;
    }

    // Output only. The objective for each stats.
    Objective objective = 1 [(google.api.field_behavior) = OUTPUT_ONLY];

    // Output only. The stats and anomalies generated at specific timestamp.
    FeatureStatsAnomaly feature_stats_anomaly = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
  }

  // An enum representing the value type of a feature.
  enum ValueType {
    // The value type is unspecified.
    VALUE_TYPE_UNSPECIFIED = 0;

    // Used for Feature that is a boolean.
    BOOL = 1;

    // Used for Feature that is a list of boolean.
    BOOL_ARRAY = 2;

    // Used for Feature that is double.
    DOUBLE = 3;

    // Used for Feature that is a list of double.
    DOUBLE_ARRAY = 4;

    // Used for Feature that is INT64.
    INT64 = 9;

    // Used for Feature that is a list of INT64.
    INT64_ARRAY = 10;

    // Used for Feature that is string.
    STRING = 11;

    // Used for Feature that is a list of String.
    STRING_ARRAY = 12;

    // Used for Feature that is bytes.
    BYTES = 13;
  }

  // Immutable. Name of the Feature.
  // Format:
  // `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}/features/{feature}`
  //
  // The last part feature is assigned by the client. The feature can be up to
  // 64 characters long and can consist only of ASCII Latin letters A-Z and a-z,
  // underscore(_), and ASCII digits 0-9 starting with a letter. The value will
  // be unique given an entity type.
  string name = 1 [(google.api.field_behavior) = IMMUTABLE];

  // Description of the Feature.
  string description = 2;

  // Required. Immutable. Type of Feature value.
  ValueType value_type = 3 [
    (google.api.field_behavior) = REQUIRED,
    (google.api.field_behavior) = IMMUTABLE
  ];

  // Output only. Timestamp when this EntityType was created.
  google.protobuf.Timestamp create_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY];

  // Output only. Timestamp when this EntityType was most recently updated.
  google.protobuf.Timestamp update_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY];

  // Optional. The labels with user-defined metadata to organize your Features.
  //
  // Label keys and values can be no longer than 64 characters
  // (Unicode codepoints), can only contain lowercase letters, numeric
  // characters, underscores and dashes. International characters are allowed.
  //
  // See https://goo.gl/xmQnxf for more information on and examples of labels.
  // No more than 64 user labels can be associated with one Feature (System
  // labels are excluded)."
  // System reserved label keys are prefixed with "aiplatform.googleapis.com/"
  // and are immutable.
  map<string, string> labels = 6 [(google.api.field_behavior) = OPTIONAL];

  // Used to perform a consistent read-modify-write updates. If not set, a blind
  // "overwrite" update happens.
  string etag = 7;

  // Optional. Deprecated: The custom monitoring configuration for this Feature, if not
  // set, use the monitoring_config defined for the EntityType this Feature
  // belongs to.
  // Only Features with type ([Feature.ValueType][google.cloud.aiplatform.v1beta1.Feature.ValueType]) BOOL, STRING, DOUBLE or
  // INT64 can enable monitoring.
  //
  // If this is populated with
  // [FeaturestoreMonitoringConfig.disabled][] = true, snapshot analysis
  // monitoring is disabled; if
  // [FeaturestoreMonitoringConfig.monitoring_interval][] specified, snapshot
  // analysis monitoring is enabled. Otherwise, snapshot analysis monitoring
  // config is same as the EntityType's this Feature belongs to.
  FeaturestoreMonitoringConfig monitoring_config = 9 [
    deprecated = true,
    (google.api.field_behavior) = OPTIONAL
  ];

  // Optional. If not set, use the monitoring_config defined for the EntityType this
  // Feature belongs to.
  // Only Features with type ([Feature.ValueType][google.cloud.aiplatform.v1beta1.Feature.ValueType]) BOOL, STRING, DOUBLE or
  // INT64 can enable monitoring.
  //
  // If set to true, all types of data monitoring are disabled despite the
  // config on EntityType.
  bool disable_monitoring = 12 [(google.api.field_behavior) = OPTIONAL];

  // Output only. A list of historical [Snapshot
  // Analysis][FeaturestoreMonitoringConfig.SnapshotAnalysis]
  // stats requested by user, sorted by [FeatureStatsAnomaly.start_time][google.cloud.aiplatform.v1beta1.FeatureStatsAnomaly.start_time]
  // descending.
  repeated FeatureStatsAnomaly monitoring_stats = 10 [(google.api.field_behavior) = OUTPUT_ONLY];

  // Output only. The list of historical stats and anomalies with specified objectives.
  repeated MonitoringStatsAnomaly monitoring_stats_anomalies = 11 [(google.api.field_behavior) = OUTPUT_ONLY];
}