feat: add featurestore, index, metadata, monitoring, pipeline, and tensorboard services to aiplatform v1beta1.
PiperOrigin-RevId: 371996826pull/649/head
parent
5efeb79eed
commit
8e2d88f536
46 changed files with 7315 additions and 23 deletions
@ -0,0 +1,107 @@ |
||||
// Copyright 2021 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/value.proto"; |
||||
import "google/protobuf/struct.proto"; |
||||
import "google/protobuf/timestamp.proto"; |
||||
import "google/api/annotations.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1;aiplatform"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "ArtifactProto"; |
||||
option java_package = "com.google.cloud.aiplatform.v1beta1"; |
||||
|
||||
// Instance of a general artifact. |
||||
message Artifact { |
||||
option (google.api.resource) = { |
||||
type: "aiplatform.googleapis.com/Artifact" |
||||
pattern: "projects/{project}/locations/{location}/metadataStores/{metadata_store}/artifacts/{artifact}" |
||||
}; |
||||
|
||||
// Describes the state of the Artifact. |
||||
enum State { |
||||
// Unspecified state for the Artifact. |
||||
STATE_UNSPECIFIED = 0; |
||||
|
||||
// A state used by systems like Managed Pipelines to indicate that the |
||||
// underlying data item represented by this Artifact is being created. |
||||
PENDING = 1; |
||||
|
||||
// A state indicating that the Artifact should exist, unless something |
||||
// external to the system deletes it. |
||||
LIVE = 2; |
||||
} |
||||
|
||||
// Output only. The resource name of the Artifact. |
||||
string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// User provided display name of the Artifact. |
||||
// May be up to 128 Unicode characters. |
||||
string display_name = 2; |
||||
|
||||
// The uniform resource identifier of the artifact file. |
||||
// May be empty if there is no actual artifact file. |
||||
string uri = 6; |
||||
|
||||
// An eTag used to perform consistent read-modify-write updates. If not set, a |
||||
// blind "overwrite" update happens. |
||||
string etag = 9; |
||||
|
||||
// The labels with user-defined metadata to organize your Artifacts. |
||||
// |
||||
// 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. |
||||
// No more than 64 user labels can be associated with one Artifact (System |
||||
// labels are excluded). |
||||
map<string, string> labels = 10; |
||||
|
||||
// Output only. Timestamp when this Artifact was created. |
||||
google.protobuf.Timestamp create_time = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Output only. Timestamp when this Artifact was last updated. |
||||
google.protobuf.Timestamp update_time = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// The state of this Artifact. This is a property of the Artifact, and does |
||||
// not imply or capture any ongoing process. This property is managed by |
||||
// clients (such as AI Platform Pipelines), and the system does not prescribe |
||||
// or check the validity of state transitions. |
||||
State state = 13; |
||||
|
||||
// The title of the schema describing the metadata. |
||||
// |
||||
// Schema title and version is expected to be registered in earlier Create |
||||
// Schema calls. And both are used together as unique identifiers to identify |
||||
// schemas within the local metadata store. |
||||
string schema_title = 14; |
||||
|
||||
// The version of the schema in schema_name to use. |
||||
// |
||||
// Schema title and version is expected to be registered in earlier Create |
||||
// Schema calls. And both are used together as unique identifiers to identify |
||||
// schemas within the local metadata store. |
||||
string schema_version = 15; |
||||
|
||||
// Properties of the Artifact. |
||||
google.protobuf.Struct metadata = 16; |
||||
|
||||
// Description of the Artifact |
||||
string description = 17; |
||||
} |
@ -0,0 +1,92 @@ |
||||
// Copyright 2021 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/value.proto"; |
||||
import "google/protobuf/struct.proto"; |
||||
import "google/protobuf/timestamp.proto"; |
||||
import "google/api/annotations.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1;aiplatform"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "ContextProto"; |
||||
option java_package = "com.google.cloud.aiplatform.v1beta1"; |
||||
|
||||
// Instance of a general context. |
||||
message Context { |
||||
option (google.api.resource) = { |
||||
type: "aiplatform.googleapis.com/Context" |
||||
pattern: "projects/{project}/locations/{location}/metadataStores/{metadata_store}/contexts/{context}" |
||||
}; |
||||
|
||||
// Output only. The resource name of the Context. |
||||
string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// User provided display name of the Context. |
||||
// May be up to 128 Unicode characters. |
||||
string display_name = 2; |
||||
|
||||
// An eTag used to perform consistent read-modify-write updates. If not set, a |
||||
// blind "overwrite" update happens. |
||||
string etag = 8; |
||||
|
||||
// The labels with user-defined metadata to organize your Contexts. |
||||
// |
||||
// 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. |
||||
// No more than 64 user labels can be associated with one Context (System |
||||
// labels are excluded). |
||||
map<string, string> labels = 9; |
||||
|
||||
// Output only. Timestamp when this Context was created. |
||||
google.protobuf.Timestamp create_time = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Output only. Timestamp when this Context was last updated. |
||||
google.protobuf.Timestamp update_time = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Output only. A list of resource names of Contexts that are parents of this Context. |
||||
// A Context may have at most 10 parent_contexts. |
||||
repeated string parent_contexts = 12 [ |
||||
(google.api.field_behavior) = OUTPUT_ONLY, |
||||
(google.api.resource_reference) = { |
||||
type: "aiplatform.googleapis.com/Context" |
||||
} |
||||
]; |
||||
|
||||
// The title of the schema describing the metadata. |
||||
// |
||||
// Schema title and version is expected to be registered in earlier Create |
||||
// Schema calls. And both are used together as unique identifiers to identify |
||||
// schemas within the local metadata store. |
||||
string schema_title = 13; |
||||
|
||||
// The version of the schema in schema_name to use. |
||||
// |
||||
// Schema title and version is expected to be registered in earlier Create |
||||
// Schema calls. And both are used together as unique identifiers to identify |
||||
// schemas within the local metadata store. |
||||
string schema_version = 14; |
||||
|
||||
// Properties of the Context. |
||||
google.protobuf.Struct metadata = 15; |
||||
|
||||
// Description of the Context |
||||
string description = 16; |
||||
} |
@ -0,0 +1,40 @@ |
||||
// Copyright 2021 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/api/annotations.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1;aiplatform"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "DeployedIndexRefProto"; |
||||
option java_package = "com.google.cloud.aiplatform.v1beta1"; |
||||
|
||||
// Points to a DeployedIndex. |
||||
message DeployedIndexRef { |
||||
// Immutable. A resource name of the IndexEndpoint. |
||||
string index_endpoint = 1 [ |
||||
(google.api.field_behavior) = IMMUTABLE, |
||||
(google.api.resource_reference) = { |
||||
type: "aiplatform.googleapis.com/IndexEndpoint" |
||||
} |
||||
]; |
||||
|
||||
// Immutable. The ID of the DeployedIndex in the above IndexEndpoint. |
||||
string deployed_index_id = 2 [(google.api.field_behavior) = IMMUTABLE]; |
||||
} |
@ -0,0 +1,84 @@ |
||||
// Copyright 2021 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.proto"; |
||||
import "google/cloud/aiplatform/v1beta1/featurestore_monitoring.proto"; |
||||
import "google/protobuf/timestamp.proto"; |
||||
import "google/api/annotations.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1;aiplatform"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "EntityTypeProto"; |
||||
option java_package = "com.google.cloud.aiplatform.v1beta1"; |
||||
|
||||
// An entity type is a type of object in a system that needs to be modeled and |
||||
// have stored information about. For example, driver is an entity type, and |
||||
// driver0 is an instance of an entity type driver. |
||||
message EntityType { |
||||
option (google.api.resource) = { |
||||
type: "aiplatform.googleapis.com/EntityType" |
||||
pattern: "projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}" |
||||
}; |
||||
|
||||
// Immutable. Name of the EntityType. |
||||
// Format: |
||||
// `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` |
||||
// |
||||
// The last part entity_type is assigned by the client. The entity_type can be |
||||
// up to 64 characters long and can consist only of ASCII Latin letters A-Z |
||||
// and a-z and underscore(_), and ASCII digits 0-9 starting with a letter. The |
||||
// value will be unique given a featurestore. |
||||
string name = 1 [(google.api.field_behavior) = IMMUTABLE]; |
||||
|
||||
// Optional. Description of the EntityType. |
||||
string description = 2 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Output only. Timestamp when this EntityType was created. |
||||
google.protobuf.Timestamp create_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Output only. Timestamp when this EntityType was most recently updated. |
||||
google.protobuf.Timestamp update_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Optional. The labels with user-defined metadata to organize your EntityTypes. |
||||
// |
||||
// 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 EntityType (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]; |
||||
|
||||
// Optional. Used to perform a consistent read-modify-write updates. If not set, a blind |
||||
// "overwrite" update happens. |
||||
string etag = 7 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. The default monitoring configuration for all Features under this |
||||
// EntityType. |
||||
// |
||||
// If this is populated with |
||||
// [FeaturestoreMonitoringConfig.monitoring_interval] specified, snapshot |
||||
// analysis monitoring is enabled. Otherwise, snapshot analysis monitoring is |
||||
// disabled. |
||||
FeaturestoreMonitoringConfig monitoring_config = 8 [(google.api.field_behavior) = OPTIONAL]; |
||||
} |
@ -0,0 +1,78 @@ |
||||
// Copyright 2021 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/protobuf/timestamp.proto"; |
||||
import "google/api/annotations.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1;aiplatform"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "EventProto"; |
||||
option java_package = "com.google.cloud.aiplatform.v1beta1"; |
||||
|
||||
// An edge describing the relationship between an Artifact and an Execution in |
||||
// a lineage graph. |
||||
message Event { |
||||
// Describes whether an Event's Artifact is the Execution's input or output. |
||||
enum Type { |
||||
// Unspecified whether input or output of the Execution. |
||||
TYPE_UNSPECIFIED = 0; |
||||
|
||||
// An input of the Execution. |
||||
INPUT = 1; |
||||
|
||||
// An output of the Execution. |
||||
OUTPUT = 2; |
||||
} |
||||
|
||||
// Required. The relative resource name of the Artifact in the Event. |
||||
string artifact = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
type: "aiplatform.googleapis.com/Artifact" |
||||
} |
||||
]; |
||||
|
||||
// Output only. The relative resource name of the Execution in the Event. |
||||
string execution = 2 [ |
||||
(google.api.field_behavior) = OUTPUT_ONLY, |
||||
(google.api.resource_reference) = { |
||||
type: "aiplatform.googleapis.com/Execution" |
||||
} |
||||
]; |
||||
|
||||
// Output only. Time the Event occurred. |
||||
google.protobuf.Timestamp event_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Required. The type of the Event. |
||||
Type type = 4 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// The labels with user-defined metadata to annotate Events. |
||||
// |
||||
// 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. |
||||
// No more than 64 user labels can be associated with one Event (System |
||||
// labels are excluded). |
||||
// |
||||
// See https://goo.gl/xmQnxf for more information and examples of labels. |
||||
// System reserved label keys are prefixed with "aiplatform.googleapis.com/" |
||||
// and are immutable. |
||||
map<string, string> labels = 5; |
||||
} |
@ -0,0 +1,107 @@ |
||||
// Copyright 2021 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/value.proto"; |
||||
import "google/protobuf/struct.proto"; |
||||
import "google/protobuf/timestamp.proto"; |
||||
import "google/api/annotations.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1;aiplatform"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "ExecutionProto"; |
||||
option java_package = "com.google.cloud.aiplatform.v1beta1"; |
||||
|
||||
// Instance of a general execution. |
||||
message Execution { |
||||
option (google.api.resource) = { |
||||
type: "aiplatform.googleapis.com/Execution" |
||||
pattern: "projects/{project}/locations/{location}/metadataStores/{metadata_store}/executions/{execution}" |
||||
}; |
||||
|
||||
// Describes the state of the Execution. |
||||
enum State { |
||||
// Unspecified Execution state |
||||
STATE_UNSPECIFIED = 0; |
||||
|
||||
// The Execution is new |
||||
NEW = 1; |
||||
|
||||
// The Execution is running |
||||
RUNNING = 2; |
||||
|
||||
// The Execution has finished running |
||||
COMPLETE = 3; |
||||
|
||||
// The Execution has failed |
||||
FAILED = 4; |
||||
} |
||||
|
||||
// Output only. The resource name of the Execution. |
||||
string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// User provided display name of the Execution. |
||||
// May be up to 128 Unicode characters. |
||||
string display_name = 2; |
||||
|
||||
// The state of this Execution. This is a property of the Execution, and does |
||||
// not imply or capture any ongoing process. This property is managed by |
||||
// clients (such as AI Platform Pipelines) and the system does not prescribe |
||||
// or check the validity of state transitions. |
||||
State state = 6; |
||||
|
||||
// An eTag used to perform consistent read-modify-write updates. If not set, a |
||||
// blind "overwrite" update happens. |
||||
string etag = 9; |
||||
|
||||
// The labels with user-defined metadata to organize your Executions. |
||||
// |
||||
// 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. |
||||
// No more than 64 user labels can be associated with one Execution (System |
||||
// labels are excluded). |
||||
map<string, string> labels = 10; |
||||
|
||||
// Output only. Timestamp when this Execution was created. |
||||
google.protobuf.Timestamp create_time = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Output only. Timestamp when this Execution was last updated. |
||||
google.protobuf.Timestamp update_time = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// The title of the schema describing the metadata. |
||||
// |
||||
// Schema title and version is expected to be registered in earlier Create |
||||
// Schema calls. And both are used together as unique identifiers to identify |
||||
// schemas within the local metadata store. |
||||
string schema_title = 13; |
||||
|
||||
// The version of the schema in schema_name to use. |
||||
// |
||||
// Schema title and version is expected to be registered in earlier Create |
||||
// Schema calls. And both are used together as unique identifiers to identify |
||||
// schemas within the local metadata store. |
||||
string schema_version = 14; |
||||
|
||||
// Properties of the Execution. |
||||
google.protobuf.Struct metadata = 15; |
||||
|
||||
// Description of the Execution |
||||
string description = 16; |
||||
} |
@ -0,0 +1,131 @@ |
||||
// Copyright 2021 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"; |
||||
import "google/api/annotations.proto"; |
||||
|
||||
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"; |
||||
|
||||
// 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}" |
||||
}; |
||||
|
||||
// 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. The custom monitoring configuration for this Feature, if not set, use the |
||||
// monitoring_config defined for the EntityType this Feature belongs to. |
||||
// |
||||
// 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 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Output only. A list of historical [Snapshot |
||||
// Analysis][google.cloud.aiplatform.master.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]; |
||||
} |
@ -0,0 +1,84 @@ |
||||
// Copyright 2021 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/protobuf/timestamp.proto"; |
||||
import "google/api/annotations.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1;aiplatform"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "FeatureMonitoringStatsProto"; |
||||
option java_package = "com.google.cloud.aiplatform.v1beta1"; |
||||
|
||||
// Stats and Anomaly generated at specific timestamp for specific Feature. |
||||
// The start_time and end_time are used to define the time range of the dataset |
||||
// that current stats belongs to, e.g. prediction traffic is bucketed into |
||||
// prediction datasets by time window. If the Dataset is not defined by time |
||||
// window, start_time = end_time. Timestamp of the stats and anomalies always |
||||
// refers to end_time. Raw stats and anomalies are stored in stats_uri or |
||||
// anomaly_uri in the tensorflow defined protos. Field data_stats contains |
||||
// almost identical information with the raw stats in AI Platform |
||||
// defined proto, for UI to display. |
||||
message FeatureStatsAnomaly { |
||||
// Feature importance score, only populated when cross-feature monitoring is |
||||
// enabled. For now only used to represent feature attribution score within |
||||
// range [0, 1] for |
||||
// [ModelDeploymentMonitoringObjectiveType.FEATURE_ATTRIBUTION_SKEW][google.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringObjectiveType.FEATURE_ATTRIBUTION_SKEW] and |
||||
// [ModelDeploymentMonitoringObjectiveType.FEATURE_ATTRIBUTION_DRIFT][google.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringObjectiveType.FEATURE_ATTRIBUTION_DRIFT]. |
||||
double score = 1; |
||||
|
||||
// Path of the stats file for current feature values in Cloud Storage bucket. |
||||
// Format: gs://<bucket_name>/<object_name>/stats. |
||||
// Example: gs://monitoring_bucket/feature_name/stats. |
||||
// Stats are stored as binary format with Protobuf message |
||||
// [tensorflow.metadata.v0.FeatureNameStatistics](https://github.com/tensorflow/metadata/blob/master/tensorflow_metadata/proto/v0/statistics.proto). |
||||
string stats_uri = 3; |
||||
|
||||
// Path of the anomaly file for current feature values in Cloud Storage |
||||
// bucket. |
||||
// Format: gs://<bucket_name>/<object_name>/anomalies. |
||||
// Example: gs://monitoring_bucket/feature_name/anomalies. |
||||
// Stats are stored as binary format with Protobuf message |
||||
// Anoamlies are stored as binary format with Protobuf message |
||||
// [tensorflow.metadata.v0.AnomalyInfo] |
||||
// (https://github.com/tensorflow/metadata/blob/master/tensorflow_metadata/proto/v0/anomalies.proto). |
||||
string anomaly_uri = 4; |
||||
|
||||
// Deviation from the current stats to baseline stats. |
||||
// 1. For categorical feature, the distribution distance is calculated by |
||||
// L-inifinity norm. |
||||
// 2. For numerical feature, the distribution distance is calculated by |
||||
// Jensen–Shannon divergence. |
||||
double distribution_deviation = 5; |
||||
|
||||
// This is the threshold used when detecting anomalies. |
||||
// The threshold can be changed by user, so this one might be different from |
||||
// [ThresholdConfig.value][google.cloud.aiplatform.v1beta1.ThresholdConfig.value]. |
||||
double anomaly_detection_threshold = 9; |
||||
|
||||
// The start timestamp of window where stats were generated. |
||||
// For objectives where time window doesn't make sense (e.g. Featurestore |
||||
// Snapshot Monitoring), start_time is only used to indicate the monitoring |
||||
// intervals, so it always equals to (end_time - monitoring_interval). |
||||
google.protobuf.Timestamp start_time = 7; |
||||
|
||||
// The end timestamp of window where stats were generated. |
||||
// For objectives where time window doesn't make sense (e.g. Featurestore |
||||
// Snapshot Monitoring), end_time indicates the timestamp of the data used to |
||||
// generate stats (e.g. timestamp we take snapshots for feature values). |
||||
google.protobuf.Timestamp end_time = 8; |
||||
} |
@ -0,0 +1,42 @@ |
||||
// Copyright 2021 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/annotations.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1;aiplatform"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "FeatureSelectorProto"; |
||||
option java_package = "com.google.cloud.aiplatform.v1beta1"; |
||||
|
||||
// Matcher for Features of an EntityType by Feature ID. |
||||
message IdMatcher { |
||||
// Required. The following are accepted as `ids`: |
||||
// |
||||
// * A single-element list containing only `*`, which selects all Features |
||||
// in the target EntityType, or |
||||
// * A list containing only Feature IDs, which selects only Features with |
||||
// those IDs in the target EntityType. |
||||
repeated string ids = 1 [(google.api.field_behavior) = REQUIRED]; |
||||
} |
||||
|
||||
// Selector for Features of an EntityType. |
||||
message FeatureSelector { |
||||
// Required. Matches Features based on ID. |
||||
IdMatcher id_matcher = 1 [(google.api.field_behavior) = REQUIRED]; |
||||
} |
@ -0,0 +1,105 @@ |
||||
// Copyright 2021 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/protobuf/timestamp.proto"; |
||||
import "google/api/annotations.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1;aiplatform"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "FeaturestoreProto"; |
||||
option java_package = "com.google.cloud.aiplatform.v1beta1"; |
||||
|
||||
// Featurestore configuration information on how the Featurestore is configured. |
||||
message Featurestore { |
||||
option (google.api.resource) = { |
||||
type: "aiplatform.googleapis.com/Featurestore" |
||||
pattern: "projects/{project}/locations/{location}/featurestores/{featurestore}" |
||||
}; |
||||
|
||||
// OnlineServingConfig specifies the details for provisioning online serving |
||||
// resources. |
||||
message OnlineServingConfig { |
||||
// Required. The number of nodes for each cluster. The number of nodes will not |
||||
// scale automatically but can be scaled manually by providing different |
||||
// values when updating. |
||||
int32 fixed_node_count = 2 [(google.api.field_behavior) = REQUIRED]; |
||||
} |
||||
|
||||
// Possible states a Featurestore can have. |
||||
enum State { |
||||
// Default value. This value is unused. |
||||
STATE_UNSPECIFIED = 0; |
||||
|
||||
// State when the Featurestore configuration is not being updated and the |
||||
// fields reflect the current configuration of the Featurestore. The |
||||
// Featurestore is usable in this state. |
||||
STABLE = 1; |
||||
|
||||
// State when the Featurestore configuration is being updated and the fields |
||||
// reflect the updated configuration of the Featurestore, not the current |
||||
// one. For example, `online_serving_config.fixed_node_count` can take |
||||
// minutes to update. While the update is in progress, the Featurestore |
||||
// will be in the UPDATING state and the value of `fixed_node_count` will be |
||||
// the updated value. Until the update completes, the actual number of nodes |
||||
// can still be the original value of `fixed_node_count`. The Featurestore |
||||
// is still usable in this state. |
||||
UPDATING = 2; |
||||
} |
||||
|
||||
// Output only. Name of the Featurestore. Format: |
||||
// `projects/{project}/locations/{location}/featurestores/{featurestore}` |
||||
string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Required. The user-defined name of the Featurestore. |
||||
// The name can be up to 128 characters long and can consist of any UTF-8 |
||||
// characters. |
||||
// Display name of a Featurestore must be unique within a single Project and |
||||
// Location Pair. |
||||
string display_name = 2 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Output only. Timestamp when this Featurestore was created. |
||||
google.protobuf.Timestamp create_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Output only. Timestamp when this Featurestore was last updated. |
||||
google.protobuf.Timestamp update_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Optional. Used to perform consistent read-modify-write updates. If not set, a blind |
||||
// "overwrite" update happens. |
||||
string etag = 5 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. The labels with user-defined metadata to organize your Featurestore. |
||||
// |
||||
// 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 Featurestore(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]; |
||||
|
||||
// Required. Config for online serving resources. |
||||
OnlineServingConfig online_serving_config = 7 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Output only. State of the featurestore. |
||||
State state = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
} |
@ -0,0 +1,54 @@ |
||||
// Copyright 2021 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/protobuf/duration.proto"; |
||||
import "google/api/annotations.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1;aiplatform"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "FeaturestoreMonitoringProto"; |
||||
option java_package = "com.google.cloud.aiplatform.v1beta1"; |
||||
|
||||
// Configuration of how features in Featurestore are monitored. |
||||
message FeaturestoreMonitoringConfig { |
||||
// Configuration of the Featurestore's Snapshot Analysis Based Monitoring. |
||||
// This type of analysis generates statistics for each Feature based on a |
||||
// snapshot of the latest feature value of each entities every |
||||
// monitoring_interval. |
||||
message SnapshotAnalysis { |
||||
// The monitoring schedule for snapshot analysis. |
||||
// For EntityType-level config: |
||||
// unset / disabled = true indicates disabled by |
||||
// default for Features under it; otherwise by default enable snapshot |
||||
// analysis monitoring with monitoring_interval for Features under it. |
||||
// Feature-level config: |
||||
// disabled = true indicates disabled regardless of the EntityType-level |
||||
// config; unset monitoring_interval indicates going with EntityType-level |
||||
// config; otherwise run snapshot analysis monitoring with |
||||
// monitoring_interval regardless of the EntityType-level config. |
||||
// Explicitly Disable the snapshot analysis based monitoring. |
||||
bool disabled = 1; |
||||
|
||||
// Configuration of the snapshot analysis based monitoring pipeline |
||||
// running interval. The value is rolled up to full day. |
||||
google.protobuf.Duration monitoring_interval = 2; |
||||
} |
||||
|
||||
// The config for Snapshot Analysis Based Feature Monitoring. |
||||
SnapshotAnalysis snapshot_analysis = 1; |
||||
} |
@ -0,0 +1,219 @@ |
||||
// Copyright 2021 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/annotations.proto"; |
||||
import "google/api/client.proto"; |
||||
import "google/api/field_behavior.proto"; |
||||
import "google/api/resource.proto"; |
||||
import "google/cloud/aiplatform/v1beta1/feature_selector.proto"; |
||||
import "google/cloud/aiplatform/v1beta1/types.proto"; |
||||
import "google/protobuf/timestamp.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1;aiplatform"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "FeaturestoreOnlineServiceProto"; |
||||
option java_package = "com.google.cloud.aiplatform.v1beta1"; |
||||
|
||||
// A service for serving online feature values. |
||||
service FeaturestoreOnlineServingService { |
||||
option (google.api.default_host) = "aiplatform.googleapis.com"; |
||||
option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; |
||||
|
||||
// Reads Feature values of a specific entity of an EntityType. For reading |
||||
// feature values of multiple entities of an EntityType, please use |
||||
// StreamingReadFeatureValues. |
||||
rpc ReadFeatureValues(ReadFeatureValuesRequest) returns (ReadFeatureValuesResponse) { |
||||
option (google.api.http) = { |
||||
post: "/v1beta1/{entity_type=projects/*/locations/*/featurestores/*/entityTypes/*}:readFeatureValues" |
||||
body: "*" |
||||
}; |
||||
option (google.api.method_signature) = "entity_type"; |
||||
} |
||||
|
||||
// Reads Feature values for multiple entities. Depending on their size, data |
||||
// for different entities may be broken |
||||
// up across multiple responses. |
||||
rpc StreamingReadFeatureValues(StreamingReadFeatureValuesRequest) returns (stream ReadFeatureValuesResponse) { |
||||
option (google.api.http) = { |
||||
post: "/v1beta1/{entity_type=projects/*/locations/*/featurestores/*/entityTypes/*}:streamingReadFeatureValues" |
||||
body: "*" |
||||
}; |
||||
option (google.api.method_signature) = "entity_type"; |
||||
} |
||||
} |
||||
|
||||
// Request message for [FeaturestoreOnlineServingService.ReadFeatureValues][google.cloud.aiplatform.v1beta1.FeaturestoreOnlineServingService.ReadFeatureValues]. |
||||
message ReadFeatureValuesRequest { |
||||
// Required. The resource name of the EntityType for the entity being read. |
||||
// Value format: `projects/{project}/locations/{location}/featurestores/ |
||||
// {featurestore}/entityTypes/{entityType}`. For example, |
||||
// for a machine learning model predicting user clicks on a website, an |
||||
// EntityType ID could be "user". |
||||
string entity_type = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
type: "aiplatform.googleapis.com/EntityType" |
||||
} |
||||
]; |
||||
|
||||
// Required. ID for a specific entity. For example, |
||||
// for a machine learning model predicting user clicks on a website, an entity |
||||
// ID could be "user_123". |
||||
string entity_id = 2 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Required. Selector choosing Features of the target EntityType. |
||||
FeatureSelector feature_selector = 3 [(google.api.field_behavior) = REQUIRED]; |
||||
} |
||||
|
||||
// Response message for [FeaturestoreOnlineServingService.ReadFeatureValues][google.cloud.aiplatform.v1beta1.FeaturestoreOnlineServingService.ReadFeatureValues]. |
||||
message ReadFeatureValuesResponse { |
||||
// Metadata for requested Features. |
||||
message FeatureDescriptor { |
||||
// Feature ID. |
||||
string id = 1; |
||||
} |
||||
|
||||
// Response header with metadata for the requested |
||||
// [ReadFeatureValuesRequest.entity_type][google.cloud.aiplatform.v1beta1.ReadFeatureValuesRequest.entity_type] and Features. |
||||
message Header { |
||||
// The resource name of the EntityType from the |
||||
// [ReadFeatureValuesRequest][google.cloud.aiplatform.v1beta1.ReadFeatureValuesRequest]. Value format: |
||||
// `projects/{project}/locations/{location}/featurestores/ |
||||
// {featurestore}/entityTypes/{entityType}`. |
||||
string entity_type = 1 [(google.api.resource_reference) = { |
||||
type: "aiplatform.googleapis.com/EntityType" |
||||
}]; |
||||
|
||||
// List of Feature metadata corresponding to each piece of |
||||
// [ReadFeatureValuesResponse.data][]. |
||||
repeated FeatureDescriptor feature_descriptors = 2; |
||||
} |
||||
|
||||
// Entity view with Feature values. |
||||
message EntityView { |
||||
// Container to hold value(s), successive in time, for one Feature from the |
||||
// request. |
||||
message Data { |
||||
oneof data { |
||||
// Feature value if a single value is requested. |
||||
FeatureValue value = 1; |
||||
|
||||
// Feature values list if values, successive in time, are requested. |
||||
// If the requested number of values is greater than the number of |
||||
// existing Feature values, nonexistent values are omitted instead of |
||||
// being returned as empty. |
||||
FeatureValueList values = 2; |
||||
} |
||||
} |
||||
|
||||
// ID of the requested entity. |
||||
string entity_id = 1; |
||||
|
||||
// Each piece of data holds the k |
||||
// requested values for one requested Feature. If no values |
||||
// for the requested Feature exist, the corresponding cell will be empty. |
||||
// This has the same size and is in the same order as the features from the |
||||
// header [ReadFeatureValuesResponse.header][google.cloud.aiplatform.v1beta1.ReadFeatureValuesResponse.header]. |
||||
repeated Data data = 2; |
||||
} |
||||
|
||||
// Response header. |
||||
Header header = 1; |
||||
|
||||
// Entity view with Feature values. This may be the entity in the |
||||
// Featurestore if values for all Features were requested, or a projection |
||||
// of the entity in the Featurestore if values for only some Features were |
||||
// requested. |
||||
EntityView entity_view = 2; |
||||
} |
||||
|
||||
// Request message for |
||||
// [FeaturestoreOnlineServingService.StreamingFeatureValuesRead][]. |
||||
message StreamingReadFeatureValuesRequest { |
||||
// Required. The resource name of the entities' type. |
||||
// Value format: `projects/{project}/locations/{location}/featurestores/ |
||||
// {featurestore}/entityTypes/{entityType}`. For example, |
||||
// for a machine learning model predicting user clicks on a website, an |
||||
// EntityType ID could be "user". |
||||
string entity_type = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
type: "aiplatform.googleapis.com/EntityType" |
||||
} |
||||
]; |
||||
|
||||
// Required. IDs of entities to read Feature values of. For example, |
||||
// for a machine learning model predicting user clicks on a website, an |
||||
// entity ID could be "user_123". |
||||
repeated string entity_ids = 2 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Required. Selector choosing Features of the target EntityType. |
||||
FeatureSelector feature_selector = 3 [(google.api.field_behavior) = REQUIRED]; |
||||
} |
||||
|
||||
// Value for a feature. |
||||
// NEXT ID: 15 |
||||
message FeatureValue { |
||||
// Metadata of feature value. |
||||
message Metadata { |
||||
// Feature generation timestamp. Typically, it is provided by user at |
||||
// feature ingestion time. If not, feature store |
||||
// will use the system timestamp when the data is ingested into feature |
||||
// store. |
||||
google.protobuf.Timestamp generate_time = 1; |
||||
} |
||||
|
||||
// Value for the feature. |
||||
oneof value { |
||||
// Bool type feature value. |
||||
bool bool_value = 1; |
||||
|
||||
// Double type feature value. |
||||
double double_value = 2; |
||||
|
||||
// Int64 feature value. |
||||
int64 int64_value = 5; |
||||
|
||||
// String feature value. |
||||
string string_value = 6; |
||||
|
||||
// A list of bool type feature value. |
||||
BoolArray bool_array_value = 7; |
||||
|
||||
// A list of double type feature value. |
||||
DoubleArray double_array_value = 8; |
||||
|
||||
// A list of int64 type feature value. |
||||
Int64Array int64_array_value = 11; |
||||
|
||||
// A list of string type feature value. |
||||
StringArray string_array_value = 12; |
||||
|
||||
// Bytes feature value. |
||||
bytes bytes_value = 13; |
||||
} |
||||
|
||||
// Output only. Metadata of feature value. |
||||
Metadata metadata = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
} |
||||
|
||||
// Container for list of values. |
||||
message FeatureValueList { |
||||
// A list of feature values. All of them should be the same data type. |
||||
repeated FeatureValue values = 1; |
||||
} |
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,94 @@ |
||||
// Copyright 2021 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/deployed_index_ref.proto"; |
||||
import "google/protobuf/struct.proto"; |
||||
import "google/protobuf/timestamp.proto"; |
||||
import "google/api/annotations.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1;aiplatform"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "IndexProto"; |
||||
option java_package = "com.google.cloud.aiplatform.v1beta1"; |
||||
|
||||
// A representation of a collection of database items organized in a way that |
||||
// allows for approximate nearest neighbor (a.k.a ANN) algorithms search. |
||||
message Index { |
||||
option (google.api.resource) = { |
||||
type: "aiplatform.googleapis.com/Index" |
||||
pattern: "projects/{project}/locations/{location}/indexes/{index}" |
||||
}; |
||||
|
||||
// Output only. The resource name of the Index. |
||||
string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Required. The display name of the Index. |
||||
// The name can be up to 128 characters long and can be consist of any UTF-8 |
||||
// characters. |
||||
string display_name = 2 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// The description of the Index. |
||||
string description = 3; |
||||
|
||||
// Immutable. Points to a YAML file stored on Google Cloud Storage describing additional |
||||
// information about the Index, that is specific to it. Unset if the Index |
||||
// does not have any additional information. |
||||
// The schema is defined as an OpenAPI 3.0.2 |
||||
// [Schema Object](https://tinyurl.com/y538mdwt#schema-object). |
||||
// Note: The URI given on output will be immutable and probably different, |
||||
// including the URI scheme, than the one given on input. The output URI will |
||||
// point to a location where the user only has a read access. |
||||
string metadata_schema_uri = 4 [(google.api.field_behavior) = IMMUTABLE]; |
||||
|
||||
// An additional information about the Index; the schema of the metadata can |
||||
// be found in [metadata_schema][google.cloud.aiplatform.v1beta1.Index.metadata_schema_uri]. |
||||
google.protobuf.Value metadata = 6; |
||||
|
||||
// Output only. The pointers to DeployedIndexes created from this Index. |
||||
// An Index can be only deleted if all its DeployedIndexes had been undeployed |
||||
// first. |
||||
repeated DeployedIndexRef deployed_indexes = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Used to perform consistent read-modify-write updates. If not set, a blind |
||||
// "overwrite" update happens. |
||||
string etag = 8; |
||||
|
||||
// The labels with user-defined metadata to organize your Indexes. |
||||
// |
||||
// 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 and examples of labels. |
||||
map<string, string> labels = 9; |
||||
|
||||
// Output only. Timestamp when this Index was created. |
||||
google.protobuf.Timestamp create_time = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Output only. Timestamp when this Index was most recently updated. |
||||
// This also includes any update to the contents of the Index. |
||||
// Note that Operations working on this Index may have their |
||||
// [Operations.metadata.generic_metadata.update_time] |
||||
// [google.cloud.aiplatform.v1beta1.GenericOperationMetadata.update_time] a little after the value of this |
||||
// timestamp, yet that does not mean their results are not already reflected |
||||
// in the Index. Result of any successfully completed Operation on the Index |
||||
// is reflected in it. |
||||
google.protobuf.Timestamp update_time = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
} |
@ -0,0 +1,190 @@ |
||||
// Copyright 2021 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/cloud/aiplatform/v1beta1/index.proto"; |
||||
import "google/api/field_behavior.proto"; |
||||
import "google/api/resource.proto"; |
||||
import "google/cloud/aiplatform/v1beta1/machine_resources.proto"; |
||||
import "google/protobuf/timestamp.proto"; |
||||
import "google/api/annotations.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1;aiplatform"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "IndexEndpointProto"; |
||||
option java_package = "com.google.cloud.aiplatform.v1beta1"; |
||||
|
||||
// Indexes are deployed into it. An IndexEndpoint can have multiple |
||||
// DeployedIndexes. |
||||
message IndexEndpoint { |
||||
option (google.api.resource) = { |
||||
type: "aiplatform.googleapis.com/IndexEndpoint" |
||||
pattern: "projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}" |
||||
}; |
||||
|
||||
// Output only. The resource name of the IndexEndpoint. |
||||
string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Required. The display name of the IndexEndpoint. |
||||
// The name can be up to 128 characters long and can consist of any UTF-8 |
||||
// characters. |
||||
string display_name = 2 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// The description of the IndexEndpoint. |
||||
string description = 3; |
||||
|
||||
// Output only. The indexes deployed in this endpoint. |
||||
repeated DeployedIndex deployed_indexes = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Used to perform consistent read-modify-write updates. If not set, a blind |
||||
// "overwrite" update happens. |
||||
string etag = 5; |
||||
|
||||
// The labels with user-defined metadata to organize your IndexEndpoints. |
||||
// |
||||
// 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 and examples of labels. |
||||
map<string, string> labels = 6; |
||||
|
||||
// Output only. Timestamp when this IndexEndpoint was created. |
||||
google.protobuf.Timestamp create_time = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Output only. Timestamp when this IndexEndpoint was last updated. |
||||
// This timestamp is not updated when the endpoint's DeployedIndexes are |
||||
// updated, e.g. due to updates of the original Indexes they are the |
||||
// deployments of. |
||||
google.protobuf.Timestamp update_time = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Required. Immutable. The full name of the Google Compute Engine |
||||
// [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks) |
||||
// to which the IndexEndpoint should be peered. |
||||
// |
||||
// Private services access must already be configured for the network. If left |
||||
// unspecified, the Endpoint is not peered with any network. |
||||
// |
||||
// [Format](https://cloud.google.com/compute/docs/reference/rest/v1/networks/insert): |
||||
// projects/{project}/global/networks/{network}. |
||||
// Where {project} is a project number, as in '12345', and {network} is |
||||
// network name. |
||||
string network = 9 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.field_behavior) = IMMUTABLE |
||||
]; |
||||
} |
||||
|
||||
// A deployment of an Index. IndexEndpoints contain one or more DeployedIndexes. |
||||
message DeployedIndex { |
||||
// Required. The user specified ID of the DeployedIndex. |
||||
// The ID can be up to 128 characters long and must start with a letter and |
||||
// only contain letters, numbers, and underscores. |
||||
// The ID must be unique within the project it is created in. |
||||
string id = 1 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Required. The name of the Index this is the deployment of. |
||||
// We may refer to this Index as the DeployedIndex's "original" Index. |
||||
string index = 2 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
type: "aiplatform.googleapis.com/Index" |
||||
} |
||||
]; |
||||
|
||||
// The display name of the DeployedIndex. If not provided upon creation, |
||||
// the Index's display_name is used. |
||||
string display_name = 3; |
||||
|
||||
// Output only. Timestamp when the DeployedIndex was created. |
||||
google.protobuf.Timestamp create_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Output only. Provides paths for users to send requests directly to the deployed index |
||||
// services running on Cloud via private services access. This field is |
||||
// populated if [network][google.cloud.aiplatform.v1beta1.IndexEndpoint.network] is configured. |
||||
IndexPrivateEndpoints private_endpoints = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Output only. The DeployedIndex may depend on various data on its original Index. |
||||
// Additionally when certain changes to the original Index are being done |
||||
// (e.g. when what the Index contains is being changed) the DeployedIndex may |
||||
// be asynchronously updated in the background to reflect this changes. |
||||
// If this timestamp's value is at least the [Index.update_time][google.cloud.aiplatform.v1beta1.Index.update_time] of the |
||||
// original Index, it means that this DeployedIndex and the original Index are |
||||
// in sync. If this timestamp is older, then to see which updates this |
||||
// DeployedIndex already contains (and which not), one must |
||||
// [list][Operations.ListOperations] [Operations][Operation] |
||||
// [working][Operation.name] on the original Index. Only |
||||
// the successfully completed Operations with |
||||
// [Operations.metadata.generic_metadata.update_time] |
||||
// [google.cloud.aiplatform.v1beta1.GenericOperationMetadata.update_time] |
||||
// equal or before this sync time are contained in this DeployedIndex. |
||||
google.protobuf.Timestamp index_sync_time = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Optional. A description of resources that the DeployedIndex uses, which to large |
||||
// degree are decided by AI Platform, and optionally allows only a modest |
||||
// additional configuration. |
||||
// If min_replica_count is not set, the default value is 1. If |
||||
// max_replica_count is not set, the default value is min_replica_count. The |
||||
// max allowed replica count is 1000. |
||||
// |
||||
// The user is billed for the resources (at least their minimal amount) even |
||||
// if the DeployedIndex receives no traffic. |
||||
AutomaticResources automatic_resources = 7 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. If true, private endpoint's access logs are sent to StackDriver Logging. |
||||
// |
||||
// These logs are like standard server access logs, containing |
||||
// information like timestamp and latency for each MatchRequest. |
||||
// |
||||
// Note that Stackdriver logs may incur a cost, especially if the deployed |
||||
// index receives a high queries per second rate (QPS). |
||||
// Estimate your costs before enabling this option. |
||||
bool enable_access_logging = 8 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. If set, the authentication is enabled for the private endpoint. |
||||
DeployedIndexAuthConfig deployed_index_auth_config = 9 [(google.api.field_behavior) = OPTIONAL]; |
||||
} |
||||
|
||||
// Used to set up the auth on the DeployedIndex's private endpoint. |
||||
message DeployedIndexAuthConfig { |
||||
// Configuration for an authentication provider, including support for |
||||
// [JSON Web Token |
||||
// (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32). |
||||
message AuthProvider { |
||||
// The list of JWT |
||||
// [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3). |
||||
// that are allowed to access. A JWT containing any of these audiences will |
||||
// be accepted. |
||||
repeated string audiences = 1; |
||||
|
||||
// A list of allowed JWT issuers. Each entry must be a valid Google |
||||
// service account, in the following format: |
||||
// |
||||
// `service-account-name@project-id.iam.gserviceaccount.com` |
||||
repeated string allowed_issuers = 2; |
||||
} |
||||
|
||||
// Defines the authentication provider that the DeployedIndex uses. |
||||
AuthProvider auth_provider = 1; |
||||
} |
||||
|
||||
// IndexPrivateEndpoints proto is used to provide paths for users to send |
||||
// requests via private services access. |
||||
message IndexPrivateEndpoints { |
||||
// Output only. The ip address used to send match gRPC requests. |
||||
string match_grpc_address = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
} |
@ -0,0 +1,284 @@ |
||||
// Copyright 2021 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/annotations.proto"; |
||||
import "google/api/client.proto"; |
||||
import "google/api/field_behavior.proto"; |
||||
import "google/api/resource.proto"; |
||||
import "google/cloud/aiplatform/v1beta1/index_endpoint.proto"; |
||||
import "google/cloud/aiplatform/v1beta1/operation.proto"; |
||||
import "google/longrunning/operations.proto"; |
||||
import "google/protobuf/field_mask.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1;aiplatform"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "IndexEndpointServiceProto"; |
||||
option java_package = "com.google.cloud.aiplatform.v1beta1"; |
||||
|
||||
// A service for managing AI Platform's IndexEndpoints. |
||||
service IndexEndpointService { |
||||
option (google.api.default_host) = "aiplatform.googleapis.com"; |
||||
option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; |
||||
|
||||
// Creates an IndexEndpoint. |
||||
rpc CreateIndexEndpoint(CreateIndexEndpointRequest) returns (google.longrunning.Operation) { |
||||
option (google.api.http) = { |
||||
post: "/v1beta1/{parent=projects/*/locations/*}/indexEndpoints" |
||||
body: "index_endpoint" |
||||
}; |
||||
option (google.api.method_signature) = "parent,index_endpoint"; |
||||
option (google.longrunning.operation_info) = { |
||||
response_type: "IndexEndpoint" |
||||
metadata_type: "CreateIndexEndpointOperationMetadata" |
||||
}; |
||||
} |
||||
|
||||
// Gets an IndexEndpoint. |
||||
rpc GetIndexEndpoint(GetIndexEndpointRequest) returns (IndexEndpoint) { |
||||
option (google.api.http) = { |
||||
get: "/v1beta1/{name=projects/*/locations/*/indexEndpoints/*}" |
||||
}; |
||||
option (google.api.method_signature) = "name"; |
||||
} |
||||
|
||||
// Lists IndexEndpoints in a Location. |
||||
rpc ListIndexEndpoints(ListIndexEndpointsRequest) returns (ListIndexEndpointsResponse) { |
||||
option (google.api.http) = { |
||||
get: "/v1beta1/{parent=projects/*/locations/*}/indexEndpoints" |
||||
}; |
||||
option (google.api.method_signature) = "parent"; |
||||
} |
||||
|
||||
// Updates an IndexEndpoint. |
||||
rpc UpdateIndexEndpoint(UpdateIndexEndpointRequest) returns (IndexEndpoint) { |
||||
option (google.api.http) = { |
||||
patch: "/v1beta1/{index_endpoint.name=projects/*/locations/*/indexEndpoints/*}" |
||||
body: "index_endpoint" |
||||
}; |
||||
option (google.api.method_signature) = "index_endpoint,update_mask"; |
||||
} |
||||
|
||||
// Deletes an IndexEndpoint. |
||||
rpc DeleteIndexEndpoint(DeleteIndexEndpointRequest) returns (google.longrunning.Operation) { |
||||
option (google.api.http) = { |
||||
delete: "/v1beta1/{name=projects/*/locations/*/indexEndpoints/*}" |
||||
}; |
||||
option (google.api.method_signature) = "name"; |
||||
option (google.longrunning.operation_info) = { |
||||
response_type: "google.protobuf.Empty" |
||||
metadata_type: "DeleteOperationMetadata" |
||||
}; |
||||
} |
||||
|
||||
// Deploys an Index into this IndexEndpoint, creating a DeployedIndex within |
||||
// it. |
||||
// Only non-empty Indexes can be deployed. |
||||
rpc DeployIndex(DeployIndexRequest) returns (google.longrunning.Operation) { |
||||
option (google.api.http) = { |
||||
post: "/v1beta1/{index_endpoint=projects/*/locations/*/indexEndpoints/*}:deployIndex" |
||||
body: "*" |
||||
}; |
||||
option (google.api.method_signature) = "index_endpoint,deployed_index"; |
||||
option (google.longrunning.operation_info) = { |
||||
response_type: "DeployIndexResponse" |
||||
metadata_type: "DeployIndexOperationMetadata" |
||||
}; |
||||
} |
||||
|
||||
// Undeploys an Index from an IndexEndpoint, removing a DeployedIndex from it, |
||||
// and freeing all resources it's using. |
||||
rpc UndeployIndex(UndeployIndexRequest) returns (google.longrunning.Operation) { |
||||
option (google.api.http) = { |
||||
post: "/v1beta1/{index_endpoint=projects/*/locations/*/indexEndpoints/*}:undeployIndex" |
||||
body: "*" |
||||
}; |
||||
option (google.api.method_signature) = "index_endpoint,deployed_index_id"; |
||||
option (google.longrunning.operation_info) = { |
||||
response_type: "UndeployIndexResponse" |
||||
metadata_type: "UndeployIndexOperationMetadata" |
||||
}; |
||||
} |
||||
} |
||||
|
||||
// Request message for [IndexEndpointService.CreateIndexEndpoint][google.cloud.aiplatform.v1beta1.IndexEndpointService.CreateIndexEndpoint]. |
||||
message CreateIndexEndpointRequest { |
||||
// Required. The resource name of the Location to create the IndexEndpoint in. |
||||
// Format: `projects/{project}/locations/{location}` |
||||
string parent = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
type: "locations.googleapis.com/Location" |
||||
} |
||||
]; |
||||
|
||||
// Required. The IndexEndpoint to create. |
||||
IndexEndpoint index_endpoint = 2 [(google.api.field_behavior) = REQUIRED]; |
||||
} |
||||
|
||||
// Runtime operation information for |
||||
// [IndexEndpointService.CreateIndexEndpoint][google.cloud.aiplatform.v1beta1.IndexEndpointService.CreateIndexEndpoint]. |
||||
message CreateIndexEndpointOperationMetadata { |
||||
// The operation generic information. |
||||
GenericOperationMetadata generic_metadata = 1; |
||||
} |
||||
|
||||
// Request message for [IndexEndpointService.GetIndexEndpoint][google.cloud.aiplatform.v1beta1.IndexEndpointService.GetIndexEndpoint] |
||||
message GetIndexEndpointRequest { |
||||
// Required. The name of the IndexEndpoint resource. |
||||
// Format: |
||||
// `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}` |
||||
string name = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
type: "aiplatform.googleapis.com/IndexEndpoint" |
||||
} |
||||
]; |
||||
} |
||||
|
||||
// Request message for [IndexEndpointService.ListIndexEndpoints][google.cloud.aiplatform.v1beta1.IndexEndpointService.ListIndexEndpoints]. |
||||
message ListIndexEndpointsRequest { |
||||
// Required. The resource name of the Location from which to list the IndexEndpoints. |
||||
// Format: `projects/{project}/locations/{location}` |
||||
string parent = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
type: "locations.googleapis.com/Location" |
||||
} |
||||
]; |
||||
|
||||
// Optional. An expression for filtering the results of the request. For field names |
||||
// both snake_case and camelCase are supported. |
||||
// |
||||
// * `index_endpoint` supports = and !=. `index_endpoint` represents the |
||||
// IndexEndpoint ID, ie. the last segment of the IndexEndpoint's |
||||
// [resourcename][google.cloud.aiplatform.v1beta1.IndexEndpoint.name]. |
||||
// * `display_name` supports =, != and regex() |
||||
// (uses [re2](https://github.com/google/re2/wiki/Syntax) syntax) |
||||
// * `labels` supports general map functions that is: |
||||
// `labels.key=value` - key:value equality |
||||
// `labels.key:* or labels:key - key existence |
||||
// A key including a space must be quoted. `labels."a key"`. |
||||
// |
||||
// Some examples: |
||||
// * `index_endpoint="1"` |
||||
// * `display_name="myDisplayName"` |
||||
// * `regex(display_name, "^A") -> The display name starts with an A. |
||||
// * `labels.myKey="myValue"` |
||||
string filter = 2 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. The standard list page size. |
||||
int32 page_size = 3 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. The standard list page token. |
||||
// Typically obtained via |
||||
// [ListIndexEndpointsResponse.next_page_token][google.cloud.aiplatform.v1beta1.ListIndexEndpointsResponse.next_page_token] of the previous |
||||
// [IndexEndpointService.ListIndexEndpoints][google.cloud.aiplatform.v1beta1.IndexEndpointService.ListIndexEndpoints] call. |
||||
string page_token = 4 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. Mask specifying which fields to read. |
||||
google.protobuf.FieldMask read_mask = 5 [(google.api.field_behavior) = OPTIONAL]; |
||||
} |
||||
|
||||
// Response message for [IndexEndpointService.ListIndexEndpoints][google.cloud.aiplatform.v1beta1.IndexEndpointService.ListIndexEndpoints]. |
||||
message ListIndexEndpointsResponse { |
||||
// List of IndexEndpoints in the requested page. |
||||
repeated IndexEndpoint index_endpoints = 1; |
||||
|
||||
// A token to retrieve next page of results. |
||||
// Pass to [ListIndexEndpointsRequest.page_token][google.cloud.aiplatform.v1beta1.ListIndexEndpointsRequest.page_token] to obtain that page. |
||||
string next_page_token = 2; |
||||
} |
||||
|
||||
// Request message for [IndexEndpointService.UpdateIndexEndpoint][google.cloud.aiplatform.v1beta1.IndexEndpointService.UpdateIndexEndpoint]. |
||||
message UpdateIndexEndpointRequest { |
||||
// Required. The IndexEndpoint which replaces the resource on the server. |
||||
IndexEndpoint index_endpoint = 1 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Required. The update mask applies to the resource. |
||||
// See |
||||
// [FieldMask](https://tinyurl.com/protobufs/google.protobuf#fieldmask). |
||||
google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; |
||||
} |
||||
|
||||
// Request message for [IndexEndpointService.DeleteIndexEndpoint][google.cloud.aiplatform.v1beta1.IndexEndpointService.DeleteIndexEndpoint]. |
||||
message DeleteIndexEndpointRequest { |
||||
// Required. The name of the IndexEndpoint resource to be deleted. |
||||
// Format: |
||||
// `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}` |
||||
string name = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
type: "aiplatform.googleapis.com/IndexEndpoint" |
||||
} |
||||
]; |
||||
} |
||||
|
||||
// Request message for [IndexEndpointService.DeployIndex][google.cloud.aiplatform.v1beta1.IndexEndpointService.DeployIndex]. |
||||
message DeployIndexRequest { |
||||
// Required. The name of the IndexEndpoint resource into which to deploy an Index. |
||||
// Format: |
||||
// `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}` |
||||
string index_endpoint = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
type: "aiplatform.googleapis.com/IndexEndpoint" |
||||
} |
||||
]; |
||||
|
||||
// Required. The DeployedIndex to be created within the IndexEndpoint. |
||||
DeployedIndex deployed_index = 2 [(google.api.field_behavior) = REQUIRED]; |
||||
} |
||||
|
||||
// Response message for [IndexEndpointService.DeployIndex][google.cloud.aiplatform.v1beta1.IndexEndpointService.DeployIndex]. |
||||
message DeployIndexResponse { |
||||
// The DeployedIndex that had been deployed in the IndexEndpoint. |
||||
DeployedIndex deployed_index = 1; |
||||
} |
||||
|
||||
// Runtime operation information for [IndexEndpointService.DeployIndex][google.cloud.aiplatform.v1beta1.IndexEndpointService.DeployIndex]. |
||||
message DeployIndexOperationMetadata { |
||||
// The operation generic information. |
||||
GenericOperationMetadata generic_metadata = 1; |
||||
} |
||||
|
||||
// Request message for [IndexEndpointService.UndeployIndex][google.cloud.aiplatform.v1beta1.IndexEndpointService.UndeployIndex]. |
||||
message UndeployIndexRequest { |
||||
// Required. The name of the IndexEndpoint resource from which to undeploy an Index. |
||||
// Format: |
||||
// `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}` |
||||
string index_endpoint = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
type: "aiplatform.googleapis.com/IndexEndpoint" |
||||
} |
||||
]; |
||||
|
||||
// Required. The ID of the DeployedIndex to be undeployed from the IndexEndpoint. |
||||
string deployed_index_id = 2 [(google.api.field_behavior) = REQUIRED]; |
||||
} |
||||
|
||||
// Response message for [IndexEndpointService.UndeployIndex][google.cloud.aiplatform.v1beta1.IndexEndpointService.UndeployIndex]. |
||||
message UndeployIndexResponse { |
||||
|
||||
} |
||||
|
||||
// Runtime operation information for [IndexEndpointService.UndeployIndex][google.cloud.aiplatform.v1beta1.IndexEndpointService.UndeployIndex]. |
||||
message UndeployIndexOperationMetadata { |
||||
// The operation generic information. |
||||
GenericOperationMetadata generic_metadata = 1; |
||||
} |
@ -0,0 +1,272 @@ |
||||
// Copyright 2021 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/annotations.proto"; |
||||
import "google/api/client.proto"; |
||||
import "google/api/field_behavior.proto"; |
||||
import "google/api/resource.proto"; |
||||
import "google/cloud/aiplatform/v1beta1/index.proto"; |
||||
import "google/cloud/aiplatform/v1beta1/operation.proto"; |
||||
import "google/longrunning/operations.proto"; |
||||
import "google/protobuf/field_mask.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1;aiplatform"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "IndexServiceProto"; |
||||
option java_package = "com.google.cloud.aiplatform.v1beta1"; |
||||
|
||||
// A service for creating and managing AI Platform's Index resources. |
||||
service IndexService { |
||||
option (google.api.default_host) = "aiplatform.googleapis.com"; |
||||
option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; |
||||
|
||||
// Creates an Index. |
||||
rpc CreateIndex(CreateIndexRequest) returns (google.longrunning.Operation) { |
||||
option (google.api.http) = { |
||||
post: "/v1beta1/{parent=projects/*/locations/*}/indexes" |
||||
body: "index" |
||||
}; |
||||
option (google.api.method_signature) = "parent,index"; |
||||
option (google.longrunning.operation_info) = { |
||||
response_type: "Index" |
||||
metadata_type: "CreateIndexOperationMetadata" |
||||
}; |
||||
} |
||||
|
||||
// Gets an Index. |
||||
rpc GetIndex(GetIndexRequest) returns (Index) { |
||||
option (google.api.http) = { |
||||
get: "/v1beta1/{name=projects/*/locations/*/indexes/*}" |
||||
}; |
||||
option (google.api.method_signature) = "name"; |
||||
} |
||||
|
||||
// Lists Indexes in a Location. |
||||
rpc ListIndexes(ListIndexesRequest) returns (ListIndexesResponse) { |
||||
option (google.api.http) = { |
||||
get: "/v1beta1/{parent=projects/*/locations/*}/indexes" |
||||
}; |
||||
option (google.api.method_signature) = "parent"; |
||||
} |
||||
|
||||
// Updates an Index. |
||||
rpc UpdateIndex(UpdateIndexRequest) returns (google.longrunning.Operation) { |
||||
option (google.api.http) = { |
||||
patch: "/v1beta1/{index.name=projects/*/locations/*/indexes/*}" |
||||
body: "index" |
||||
}; |
||||
option (google.api.method_signature) = "index,update_mask"; |
||||
option (google.longrunning.operation_info) = { |
||||
response_type: "Index" |
||||
metadata_type: "UpdateIndexOperationMetadata" |
||||
}; |
||||
} |
||||
|
||||
// Deletes an Index. |
||||
// An Index can only be deleted when all its |
||||
// [DeployedIndexes][google.cloud.aiplatform.v1beta1.Index.deployed_indexes] had been undeployed. |
||||
rpc DeleteIndex(DeleteIndexRequest) returns (google.longrunning.Operation) { |
||||
option (google.api.http) = { |
||||
delete: "/v1beta1/{name=projects/*/locations/*/indexes/*}" |
||||
}; |
||||
option (google.api.method_signature) = "name"; |
||||
option (google.longrunning.operation_info) = { |
||||
response_type: "google.protobuf.Empty" |
||||
metadata_type: "DeleteOperationMetadata" |
||||
}; |
||||
} |
||||
} |
||||
|
||||
// Request message for [IndexService.CreateIndex][google.cloud.aiplatform.v1beta1.IndexService.CreateIndex]. |
||||
message CreateIndexRequest { |
||||
// Required. The resource name of the Location to create the Index in. |
||||
// Format: `projects/{project}/locations/{location}` |
||||
string parent = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
type: "locations.googleapis.com/Location" |
||||
} |
||||
]; |
||||
|
||||
// Required. The Index to create. |
||||
Index index = 2 [(google.api.field_behavior) = REQUIRED]; |
||||
} |
||||
|
||||
// Runtime operation information for [IndexService.CreateIndex][google.cloud.aiplatform.v1beta1.IndexService.CreateIndex]. |
||||
message CreateIndexOperationMetadata { |
||||
// The operation generic information. |
||||
GenericOperationMetadata generic_metadata = 1; |
||||
|
||||
// The operation metadata with regard to Matching Engine Index operation. |
||||
NearestNeighborSearchOperationMetadata nearest_neighbor_search_operation_metadata = 2; |
||||
} |
||||
|
||||
// Request message for [IndexService.GetIndex][google.cloud.aiplatform.v1beta1.IndexService.GetIndex] |
||||
message GetIndexRequest { |
||||
// Required. The name of the Index resource. |
||||
// Format: |
||||
// `projects/{project}/locations/{location}/indexes/{index}` |
||||
string name = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
type: "aiplatform.googleapis.com/Index" |
||||
} |
||||
]; |
||||
} |
||||
|
||||
// Request message for [IndexService.ListIndexes][google.cloud.aiplatform.v1beta1.IndexService.ListIndexes]. |
||||
message ListIndexesRequest { |
||||
// Required. The resource name of the Location from which to list the Indexes. |
||||
// Format: `projects/{project}/locations/{location}` |
||||
string parent = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
type: "locations.googleapis.com/Location" |
||||
} |
||||
]; |
||||
|
||||
// The standard list filter. |
||||
string filter = 2; |
||||
|
||||
// The standard list page size. |
||||
int32 page_size = 3; |
||||
|
||||
// The standard list page token. |
||||
// Typically obtained via |
||||
// [ListIndexesResponse.next_page_token][google.cloud.aiplatform.v1beta1.ListIndexesResponse.next_page_token] of the previous |
||||
// [IndexService.ListIndexes][google.cloud.aiplatform.v1beta1.IndexService.ListIndexes] call. |
||||
string page_token = 4; |
||||
|
||||
// Mask specifying which fields to read. |
||||
google.protobuf.FieldMask read_mask = 5; |
||||
} |
||||
|
||||
// Response message for [IndexService.ListIndexes][google.cloud.aiplatform.v1beta1.IndexService.ListIndexes]. |
||||
message ListIndexesResponse { |
||||
// List of indexes in the requested page. |
||||
repeated Index indexes = 1; |
||||
|
||||
// A token to retrieve next page of results. |
||||
// Pass to [ListIndexesRequest.page_token][google.cloud.aiplatform.v1beta1.ListIndexesRequest.page_token] to obtain that page. |
||||
string next_page_token = 2; |
||||
} |
||||
|
||||
// Request message for [IndexService.UpdateIndex][google.cloud.aiplatform.v1beta1.IndexService.UpdateIndex]. |
||||
message UpdateIndexRequest { |
||||
// Required. The Index which updates the resource on the server. |
||||
Index index = 1 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// The update mask applies to the resource. |
||||
// For the `FieldMask` definition, see |
||||
// [FieldMask](https://tinyurl.com/protobufs#google.protobuf.FieldMask). |
||||
google.protobuf.FieldMask update_mask = 2; |
||||
} |
||||
|
||||
// Runtime operation information for [IndexService.UpdateIndex][google.cloud.aiplatform.v1beta1.IndexService.UpdateIndex]. |
||||
message UpdateIndexOperationMetadata { |
||||
// The operation generic information. |
||||
GenericOperationMetadata generic_metadata = 1; |
||||
|
||||
// The operation metadata with regard to Matching Engine Index operation. |
||||
NearestNeighborSearchOperationMetadata nearest_neighbor_search_operation_metadata = 2; |
||||
} |
||||
|
||||
// Request message for [IndexService.DeleteIndex][google.cloud.aiplatform.v1beta1.IndexService.DeleteIndex]. |
||||
message DeleteIndexRequest { |
||||
// Required. The name of the Index resource to be deleted. |
||||
// Format: |
||||
// `projects/{project}/locations/{location}/indexes/{index}` |
||||
string name = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
type: "aiplatform.googleapis.com/Index" |
||||
} |
||||
]; |
||||
} |
||||
|
||||
// Runtime operation metadata with regard to Matching Engine Index. |
||||
message NearestNeighborSearchOperationMetadata { |
||||
message RecordError { |
||||
enum RecordErrorType { |
||||
// Default, shall not be used. |
||||
ERROR_TYPE_UNSPECIFIED = 0; |
||||
|
||||
// The record is empty. |
||||
EMPTY_LINE = 1; |
||||
|
||||
// Invalid json format. |
||||
INVALID_JSON_SYNTAX = 2; |
||||
|
||||
// Invalid csv format. |
||||
INVALID_CSV_SYNTAX = 3; |
||||
|
||||
// Invalid avro format. |
||||
INVALID_AVRO_SYNTAX = 4; |
||||
|
||||
// The embedding id is not valid. |
||||
INVALID_EMBEDDING_ID = 5; |
||||
|
||||
// The size of the embedding vectors does not match with the specified |
||||
// dimension. |
||||
EMBEDDING_SIZE_MISMATCH = 6; |
||||
|
||||
// The `namespace` field is missing. |
||||
NAMESPACE_MISSING = 7; |
||||
} |
||||
|
||||
// The error type of this record. |
||||
RecordErrorType error_type = 1; |
||||
|
||||
// A human-readable message that is shown to the user to help them fix the |
||||
// error. Note that this message may change from time to time, your code |
||||
// should check against error_type as the source of truth. |
||||
string error_message = 2; |
||||
|
||||
// GCS uri pointing to the original file in user's bucket. |
||||
string source_gcs_uri = 3; |
||||
|
||||
// Empty if the embedding id is failed to parse. |
||||
string embedding_id = 4; |
||||
|
||||
// The original content of this record. |
||||
string raw_record = 5; |
||||
} |
||||
|
||||
message ContentValidationStats { |
||||
// GCS uri pointing to the original file in user's bucket. |
||||
string source_gcs_uri = 1; |
||||
|
||||
// Number of records in this file that were successfully processed. |
||||
int64 valid_record_count = 2; |
||||
|
||||
// Number of records in this file we skipped due to validate errors. |
||||
int64 invalid_record_count = 3; |
||||
|
||||
// The detail information of the partial failures encountered for those |
||||
// invalid records that couldn't be parsed. |
||||
// Up to 50 partial errors will be reported. |
||||
repeated RecordError partial_errors = 4; |
||||
} |
||||
|
||||
// The validation stats of the content (per file) to be inserted or |
||||
// updated on the Matching Engine Index resource. Populated if |
||||
// contentsDeltaUri is provided as part of [Index.metadata][google.cloud.aiplatform.v1beta1.Index.metadata]. Please note |
||||
// that, currently for those files that are broken or has unsupported file |
||||
// format, we will not have the stats for those files. |
||||
repeated ContentValidationStats content_validation_stats = 1; |
||||
} |
@ -0,0 +1,45 @@ |
||||
// Copyright 2021 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/resource.proto"; |
||||
import "google/cloud/aiplatform/v1beta1/artifact.proto"; |
||||
import "google/cloud/aiplatform/v1beta1/event.proto"; |
||||
import "google/cloud/aiplatform/v1beta1/execution.proto"; |
||||
import "google/api/annotations.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1;aiplatform"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "LineageSubgraphProto"; |
||||
option java_package = "com.google.cloud.aiplatform.v1beta1"; |
||||
|
||||
// A subgraph of the overall lineage graph. Event edges connect Artifact and |
||||
// Execution nodes. |
||||
message LineageSubgraph { |
||||
// The Artifact nodes in the subgraph. |
||||
repeated Artifact artifacts = 1 [(google.api.resource_reference) = { |
||||
type: "aiplatform.googleapis.com/Artifact" |
||||
}]; |
||||
|
||||
// The Execution nodes in the subgraph. |
||||
repeated Execution executions = 2 [(google.api.resource_reference) = { |
||||
type: "aiplatform.googleapis.com/Execution" |
||||
}]; |
||||
|
||||
// The Event edges between Artifacts and Executions in the subgraph. |
||||
repeated Event events = 3; |
||||
} |
@ -0,0 +1,76 @@ |
||||
// Copyright 2021 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/protobuf/timestamp.proto"; |
||||
import "google/api/annotations.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1;aiplatform"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "MetadataSchemaProto"; |
||||
option java_package = "com.google.cloud.aiplatform.v1beta1"; |
||||
|
||||
// Instance of a general MetadataSchema. |
||||
message MetadataSchema { |
||||
option (google.api.resource) = { |
||||
type: "aiplatform.googleapis.com/MetadataSchema" |
||||
pattern: "projects/{project}/locations/{location}/metadataStores/{metadata_store}/metadataSchemas/{metadata_schema}" |
||||
}; |
||||
|
||||
// Describes the type of the MetadataSchema. |
||||
enum MetadataSchemaType { |
||||
// Unspecified type for the MetadataSchema. |
||||
METADATA_SCHEMA_TYPE_UNSPECIFIED = 0; |
||||
|
||||
// A type indicating that the MetadataSchema will be used by Artifacts. |
||||
ARTIFACT_TYPE = 1; |
||||
|
||||
// A typee indicating that the MetadataSchema will be used by Executions. |
||||
EXECUTION_TYPE = 2; |
||||
|
||||
// A state indicating that the MetadataSchema will be used by Contexts. |
||||
CONTEXT_TYPE = 3; |
||||
} |
||||
|
||||
// Output only. The resource name of the MetadataSchema. |
||||
string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// The version of the MetadataSchema. The version's format must match |
||||
// the following regular expression: `^[0-9]+[.][0-9]+[.][0-9]+$`, which would |
||||
// allow to order/compare different versions.Example: 1.0.0, 1.0.1, etc. |
||||
string schema_version = 2; |
||||
|
||||
// Required. The raw YAML string representation of the MetadataSchema. The combination |
||||
// of [MetadataSchema.version] and the schema name given by `title` in |
||||
// [MetadataSchema.schema] must be unique within a MetadataStore. |
||||
// |
||||
// The schema is defined as an OpenAPI 3.0.2 [MetadataSchema Object]( |
||||
// https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#schemaObject) |
||||
string schema = 3 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// The type of the MetadataSchema. This is a property that identifies which |
||||
// metadata types will use the MetadataSchema. |
||||
MetadataSchemaType schema_type = 4; |
||||
|
||||
// Output only. Timestamp when this MetadataSchema was created. |
||||
google.protobuf.Timestamp create_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Description of the Metadata Schema |
||||
string description = 6; |
||||
} |
@ -0,0 +1,982 @@ |
||||
// Copyright 2021 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/annotations.proto"; |
||||
import "google/api/client.proto"; |
||||
import "google/api/field_behavior.proto"; |
||||
import "google/api/resource.proto"; |
||||
import "google/cloud/aiplatform/v1beta1/artifact.proto"; |
||||
import "google/cloud/aiplatform/v1beta1/context.proto"; |
||||
import "google/cloud/aiplatform/v1beta1/event.proto"; |
||||
import "google/cloud/aiplatform/v1beta1/execution.proto"; |
||||
import "google/cloud/aiplatform/v1beta1/lineage_subgraph.proto"; |
||||
import "google/cloud/aiplatform/v1beta1/metadata_schema.proto"; |
||||
import "google/cloud/aiplatform/v1beta1/metadata_store.proto"; |
||||
import "google/cloud/aiplatform/v1beta1/operation.proto"; |
||||
import "google/longrunning/operations.proto"; |
||||
import "google/protobuf/field_mask.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1;aiplatform"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "MetadataServiceProto"; |
||||
option java_package = "com.google.cloud.aiplatform.v1beta1"; |
||||
|
||||
// Service for reading and writing metadata entries. |
||||
service MetadataService { |
||||
option (google.api.default_host) = "aiplatform.googleapis.com"; |
||||
option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; |
||||
|
||||
// Initializes a MetadataStore, including allocation of resources. |
||||
rpc CreateMetadataStore(CreateMetadataStoreRequest) returns (google.longrunning.Operation) { |
||||
option (google.api.http) = { |
||||
post: "/v1beta1/{parent=projects/*/locations/*}/metadataStores" |
||||
body: "metadata_store" |
||||
}; |
||||
option (google.api.method_signature) = "parent,metadata_store,metadata_store_id"; |
||||
option (google.longrunning.operation_info) = { |
||||
response_type: "MetadataStore" |
||||
metadata_type: "CreateMetadataStoreOperationMetadata" |
||||
}; |
||||
} |
||||
|
||||
// Retrieves a specific MetadataStore. |
||||
rpc GetMetadataStore(GetMetadataStoreRequest) returns (MetadataStore) { |
||||
option (google.api.http) = { |
||||
get: "/v1beta1/{name=projects/*/locations/*/metadataStores/*}" |
||||
}; |
||||
option (google.api.method_signature) = "name"; |
||||
} |
||||
|
||||
// Lists MetadataStores for a Location. |
||||
rpc ListMetadataStores(ListMetadataStoresRequest) returns (ListMetadataStoresResponse) { |
||||
option (google.api.http) = { |
||||
get: "/v1beta1/{parent=projects/*/locations/*}/metadataStores" |
||||
}; |
||||
option (google.api.method_signature) = "parent"; |
||||
} |
||||
|
||||
// Deletes a single MetadataStore. |
||||
rpc DeleteMetadataStore(DeleteMetadataStoreRequest) returns (google.longrunning.Operation) { |
||||
option (google.api.http) = { |
||||
delete: "/v1beta1/{name=projects/*/locations/*/metadataStores/*}" |
||||
}; |
||||
option (google.api.method_signature) = "name"; |
||||
option (google.longrunning.operation_info) = { |
||||
response_type: "google.protobuf.Empty" |
||||
metadata_type: "DeleteMetadataStoreOperationMetadata" |
||||
}; |
||||
} |
||||
|
||||
// Creates an Artifact associated with a MetadataStore. |
||||
rpc CreateArtifact(CreateArtifactRequest) returns (Artifact) { |
||||
option (google.api.http) = { |
||||
post: "/v1beta1/{parent=projects/*/locations/*/metadataStores/*}/artifacts" |
||||
body: "artifact" |
||||
}; |
||||
option (google.api.method_signature) = "parent,artifact,artifact_id"; |
||||
} |
||||
|
||||
// Retrieves a specific Artifact. |
||||
rpc GetArtifact(GetArtifactRequest) returns (Artifact) { |
||||
option (google.api.http) = { |
||||
get: "/v1beta1/{name=projects/*/locations/*/metadataStores/*/artifacts/*}" |
||||
}; |
||||
option (google.api.method_signature) = "name"; |
||||
} |
||||
|
||||
// Lists Artifacts in the MetadataStore. |
||||
rpc ListArtifacts(ListArtifactsRequest) returns (ListArtifactsResponse) { |
||||
option (google.api.http) = { |
||||
get: "/v1beta1/{parent=projects/*/locations/*/metadataStores/*}/artifacts" |
||||
}; |
||||
option (google.api.method_signature) = "parent"; |
||||
} |
||||
|
||||
// Updates a stored Artifact. |
||||
rpc UpdateArtifact(UpdateArtifactRequest) returns (Artifact) { |
||||
option (google.api.http) = { |
||||
patch: "/v1beta1/{artifact.name=projects/*/locations/*/metadataStores/*/artifacts/*}" |
||||
body: "artifact" |
||||
}; |
||||
option (google.api.method_signature) = "artifact,update_mask"; |
||||
} |
||||
|
||||
// Creates a Context associated with a MetadataStore. |
||||
rpc CreateContext(CreateContextRequest) returns (Context) { |
||||
option (google.api.http) = { |
||||
post: "/v1beta1/{parent=projects/*/locations/*/metadataStores/*}/contexts" |
||||
body: "context" |
||||
}; |
||||
option (google.api.method_signature) = "parent,context,context_id"; |
||||
} |
||||
|
||||
// Retrieves a specific Context. |
||||
rpc GetContext(GetContextRequest) returns (Context) { |
||||
option (google.api.http) = { |
||||
get: "/v1beta1/{name=projects/*/locations/*/metadataStores/*/contexts/*}" |
||||
}; |
||||
option (google.api.method_signature) = "name"; |
||||
} |
||||
|
||||
// Lists Contexts on the MetadataStore. |
||||
rpc ListContexts(ListContextsRequest) returns (ListContextsResponse) { |
||||
option (google.api.http) = { |
||||
get: "/v1beta1/{parent=projects/*/locations/*/metadataStores/*}/contexts" |
||||
}; |
||||
option (google.api.method_signature) = "parent"; |
||||
} |
||||
|
||||
// Updates a stored Context. |
||||
rpc UpdateContext(UpdateContextRequest) returns (Context) { |
||||
option (google.api.http) = { |
||||
patch: "/v1beta1/{context.name=projects/*/locations/*/metadataStores/*/contexts/*}" |
||||
body: "context" |
||||
}; |
||||
option (google.api.method_signature) = "context,update_mask"; |
||||
} |
||||
|
||||
// Deletes a stored Context. |
||||
rpc DeleteContext(DeleteContextRequest) returns (google.longrunning.Operation) { |
||||
option (google.api.http) = { |
||||
delete: "/v1beta1/{name=projects/*/locations/*/metadataStores/*/contexts/*}" |
||||
}; |
||||
option (google.api.method_signature) = "name"; |
||||
option (google.longrunning.operation_info) = { |
||||
response_type: "google.protobuf.Empty" |
||||
metadata_type: "DeleteOperationMetadata" |
||||
}; |
||||
} |
||||
|
||||
// Adds a set of Artifacts and Executions to a Context. If any of the |
||||
// Artifacts or Executions have already been added to a Context, they are |
||||
// simply skipped. |
||||
rpc AddContextArtifactsAndExecutions(AddContextArtifactsAndExecutionsRequest) returns (AddContextArtifactsAndExecutionsResponse) { |
||||
option (google.api.http) = { |
||||
post: "/v1beta1/{context=projects/*/locations/*/metadataStores/*/contexts/*}:addContextArtifactsAndExecutions" |
||||
body: "*" |
||||
}; |
||||
option (google.api.method_signature) = "context,artifacts,executions"; |
||||
} |
||||
|
||||
// Adds a set of Contexts as children to a parent Context. If any of the |
||||
// child Contexts have already been added to the parent Context, they are |
||||
// simply skipped. If this call would create a cycle or cause any Context to |
||||
// have more than 10 parents, the request will fail with INVALID_ARGUMENT |
||||
// error. |
||||
rpc AddContextChildren(AddContextChildrenRequest) returns (AddContextChildrenResponse) { |
||||
option (google.api.http) = { |
||||
post: "/v1beta1/{context=projects/*/locations/*/metadataStores/*/contexts/*}:addContextChildren" |
||||
body: "*" |
||||
}; |
||||
option (google.api.method_signature) = "context,child_contexts"; |
||||
} |
||||
|
||||
// Retrieves Artifacts and Executions within the specified Context, connected |
||||
// by Event edges and returned as a LineageSubgraph. |
||||
rpc QueryContextLineageSubgraph(QueryContextLineageSubgraphRequest) returns (LineageSubgraph) { |
||||
option (google.api.http) = { |
||||
get: "/v1beta1/{context=projects/*/locations/*/metadataStores/*/contexts/*}:queryContextLineageSubgraph" |
||||
}; |
||||
option (google.api.method_signature) = "context"; |
||||
} |
||||
|
||||
// Creates an Execution associated with a MetadataStore. |
||||
rpc CreateExecution(CreateExecutionRequest) returns (Execution) { |
||||
option (google.api.http) = { |
||||
post: "/v1beta1/{parent=projects/*/locations/*/metadataStores/*}/executions" |
||||
body: "execution" |
||||
}; |
||||
option (google.api.method_signature) = "parent,execution,execution_id"; |
||||
} |
||||
|
||||
// Retrieves a specific Execution. |
||||
rpc GetExecution(GetExecutionRequest) returns (Execution) { |
||||
option (google.api.http) = { |
||||
get: "/v1beta1/{name=projects/*/locations/*/metadataStores/*/executions/*}" |
||||
}; |
||||
option (google.api.method_signature) = "name"; |
||||
} |
||||
|
||||
// Lists Executions in the MetadataStore. |
||||
rpc ListExecutions(ListExecutionsRequest) returns (ListExecutionsResponse) { |
||||
option (google.api.http) = { |
||||
get: "/v1beta1/{parent=projects/*/locations/*/metadataStores/*}/executions" |
||||
}; |
||||
option (google.api.method_signature) = "parent"; |
||||
} |
||||
|
||||
// Updates a stored Execution. |
||||
rpc UpdateExecution(UpdateExecutionRequest) returns (Execution) { |
||||
option (google.api.http) = { |
||||
patch: "/v1beta1/{execution.name=projects/*/locations/*/metadataStores/*/executions/*}" |
||||
body: "execution" |
||||
}; |
||||
option (google.api.method_signature) = "execution,update_mask"; |
||||
} |
||||
|
||||
// Adds Events for denoting whether each Artifact was an input or output for a |
||||
// given Execution. If any Events already exist between the Execution and any |
||||
// of the specified Artifacts they are simply skipped. |
||||
rpc AddExecutionEvents(AddExecutionEventsRequest) returns (AddExecutionEventsResponse) { |
||||
option (google.api.http) = { |
||||
post: "/v1beta1/{execution=projects/*/locations/*/metadataStores/*/executions/*}:addExecutionEvents" |
||||
body: "*" |
||||
}; |
||||
option (google.api.method_signature) = "execution,events"; |
||||
} |
||||
|
||||
// Obtains the set of input and output Artifacts for this Execution, in the |
||||
// form of LineageSubgraph that also contains the Execution and connecting |
||||
// Events. |
||||
rpc QueryExecutionInputsAndOutputs(QueryExecutionInputsAndOutputsRequest) returns (LineageSubgraph) { |
||||
option (google.api.http) = { |
||||
get: "/v1beta1/{execution=projects/*/locations/*/metadataStores/*/executions/*}:queryExecutionInputsAndOutputs" |
||||
}; |
||||
option (google.api.method_signature) = "execution"; |
||||
} |
||||
|
||||
// Creates an MetadataSchema. |
||||
rpc CreateMetadataSchema(CreateMetadataSchemaRequest) returns (MetadataSchema) { |
||||
option (google.api.http) = { |
||||
post: "/v1beta1/{parent=projects/*/locations/*/metadataStores/*}/metadataSchemas" |
||||
body: "metadata_schema" |
||||
}; |
||||
option (google.api.method_signature) = "parent,metadata_schema,metadata_schema_id"; |
||||
} |
||||
|
||||
// Retrieves a specific MetadataSchema. |
||||
rpc GetMetadataSchema(GetMetadataSchemaRequest) returns (MetadataSchema) { |
||||
option (google.api.http) = { |
||||
get: "/v1beta1/{name=projects/*/locations/*/metadataStores/*/metadataSchemas/*}" |
||||
}; |
||||
option (google.api.method_signature) = "name"; |
||||
} |
||||
|
||||
// Lists MetadataSchemas. |
||||
rpc ListMetadataSchemas(ListMetadataSchemasRequest) returns (ListMetadataSchemasResponse) { |
||||
option (google.api.http) = { |
||||
get: "/v1beta1/{parent=projects/*/locations/*/metadataStores/*}/metadataSchemas" |
||||
}; |
||||
option (google.api.method_signature) = "parent"; |
||||
} |
||||
|
||||
// Retrieves lineage of an Artifact represented through Artifacts and |
||||
// Executions connected by Event edges and returned as a LineageSubgraph. |
||||
rpc QueryArtifactLineageSubgraph(QueryArtifactLineageSubgraphRequest) returns (LineageSubgraph) { |
||||
option (google.api.http) = { |
||||
get: "/v1beta1/{artifact=projects/*/locations/*/metadataStores/*/artifacts/*}:queryArtifactLineageSubgraph" |
||||
}; |
||||
option (google.api.method_signature) = "artifact"; |
||||
} |
||||
} |
||||
|
||||
// Request message for [MetadataService.CreateMetadataStore][google.cloud.aiplatform.v1beta1.MetadataService.CreateMetadataStore]. |
||||
message CreateMetadataStoreRequest { |
||||
// Required. The resource name of the Location where the MetadataStore should |
||||
// be created. |
||||
// Format: projects/{project}/locations/{location}/ |
||||
string parent = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
type: "locations.googleapis.com/Location" |
||||
} |
||||
]; |
||||
|
||||
// Required. The MetadataStore to create. |
||||
MetadataStore metadata_store = 2 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// The {metadatastore} portion of the resource name with the format: |
||||
// projects/{project}/locations/{location}/metadataStores/{metadatastore} |
||||
// If not provided, the MetadataStore's ID will be a UUID generated by the |
||||
// service. |
||||
// Must be 4-128 characters in length. Valid characters are /[a-z][0-9]-/. |
||||
// Must be unique across all MetadataStores in the parent Location. |
||||
// (Otherwise the request will fail with ALREADY_EXISTS, or PERMISSION_DENIED |
||||
// if the caller can't view the preexisting MetadataStore.) |
||||
string metadata_store_id = 3; |
||||
} |
||||
|
||||
// Details of operations that perform [MetadataService.CreateMetadataStore][google.cloud.aiplatform.v1beta1.MetadataService.CreateMetadataStore]. |
||||
message CreateMetadataStoreOperationMetadata { |
||||
// Operation metadata for creating a MetadataStore. |
||||
GenericOperationMetadata generic_metadata = 1; |
||||
} |
||||
|
||||
// Request message for [MetadataService.GetMetadataStore][google.cloud.aiplatform.v1beta1.MetadataService.GetMetadataStore]. |
||||
message GetMetadataStoreRequest { |
||||
// Required. The resource name of the MetadataStore to retrieve. |
||||
// Format: |
||||
// projects/{project}/locations/{location}/metadataStores/{metadatastore} |
||||
string name = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
type: "aiplatform.googleapis.com/MetadataStore" |
||||
} |
||||
]; |
||||
} |
||||
|
||||
// Request message for [MetadataService.ListMetadataStores][google.cloud.aiplatform.v1beta1.MetadataService.ListMetadataStores]. |
||||
message ListMetadataStoresRequest { |
||||
// Required. The Location whose MetadataStores should be listed. |
||||
// Format: |
||||
// projects/{project}/locations/{location} |
||||
string parent = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
type: "locations.googleapis.com/Location" |
||||
} |
||||
]; |
||||
|
||||
// The maximum number of Metadata Stores to return. The service may return |
||||
// fewer. |
||||
// Must be in range 1-1000, inclusive. Defaults to 100. |
||||
int32 page_size = 2; |
||||
|
||||
// A page token, received from a previous |
||||
// [MetadataService.ListMetadataStores][google.cloud.aiplatform.v1beta1.MetadataService.ListMetadataStores] call. Provide this to retrieve the |
||||
// subsequent page. |
||||
// |
||||
// When paginating, all other provided parameters must match the call that |
||||
// provided the page token. (Otherwise the request will fail with |
||||
// INVALID_ARGUMENT error.) |
||||
string page_token = 3; |
||||
} |
||||
|
||||
// Response message for [MetadataService.ListMetadataStores][google.cloud.aiplatform.v1beta1.MetadataService.ListMetadataStores]. |
||||
message ListMetadataStoresResponse { |
||||
// The MetadataStores found for the Location. |
||||
repeated MetadataStore metadata_stores = 1; |
||||
|
||||
// A token, which can be sent as |
||||
// [ListMetadataStoresRequest.page_token][google.cloud.aiplatform.v1beta1.ListMetadataStoresRequest.page_token] to retrieve the next |
||||
// page. If this field is not populated, there are no subsequent pages. |
||||
string next_page_token = 2; |
||||
} |
||||
|
||||
// Request message for [MetadataService.DeleteMetadataStore][google.cloud.aiplatform.v1beta1.MetadataService.DeleteMetadataStore]. |
||||
message DeleteMetadataStoreRequest { |
||||
// Required. The resource name of the MetadataStore to delete. |
||||
// Format: |
||||
// projects/{project}/locations/{location}/metadataStores/{metadatastore} |
||||
string name = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
type: "aiplatform.googleapis.com/MetadataStore" |
||||
} |
||||
]; |
||||
|
||||
// If set to true, any child resources of this MetadataStore will be deleted. |
||||
// (Otherwise, the request will fail with a FAILED_PRECONDITION error if the |
||||
// MetadataStore has any child resources.) |
||||
bool force = 2; |
||||
} |
||||
|
||||
// Details of operations that perform [MetadataService.DeleteMetadataStore][google.cloud.aiplatform.v1beta1.MetadataService.DeleteMetadataStore]. |
||||
message DeleteMetadataStoreOperationMetadata { |
||||
// Operation metadata for deleting a MetadataStore. |
||||
GenericOperationMetadata generic_metadata = 1; |
||||
} |
||||
|
||||
// Request message for [MetadataService.CreateArtifact][google.cloud.aiplatform.v1beta1.MetadataService.CreateArtifact]. |
||||
message CreateArtifactRequest { |
||||
// Required. The resource name of the MetadataStore where the Artifact should |
||||
// be created. |
||||
// Format: |
||||
// projects/{project}/locations/{location}/metadataStores/{metadatastore} |
||||
string parent = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
type: "aiplatform.googleapis.com/MetadataStore" |
||||
} |
||||
]; |
||||
|
||||
// Required. The Artifact to create. |
||||
Artifact artifact = 2 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// The {artifact} portion of the resource name with the format: |
||||
// projects/{project}/locations/{location}/metadataStores/{metadatastore}/artifacts/{artifact} |
||||
// If not provided, the Artifact's ID will be a UUID generated by the service. |
||||
// Must be 4-128 characters in length. Valid characters are /[a-z][0-9]-/. |
||||
// Must be unique across all Artifacts in the parent MetadataStore. (Otherwise |
||||
// the request will fail with ALREADY_EXISTS, or PERMISSION_DENIED if the |
||||
// caller can't view the preexisting Artifact.) |
||||
string artifact_id = 3; |
||||
} |
||||
|
||||
// Request message for [MetadataService.GetArtifact][google.cloud.aiplatform.v1beta1.MetadataService.GetArtifact]. |
||||
message GetArtifactRequest { |
||||
// Required. The resource name of the Artifact to retrieve. |
||||
// Format: |
||||
// projects/{project}/locations/{location}/metadataStores/{metadatastore}/artifacts/{artifact} |
||||
string name = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
type: "aiplatform.googleapis.com/Artifact" |
||||
} |
||||
]; |
||||
} |
||||
|
||||
// Request message for [MetadataService.ListArtifacts][google.cloud.aiplatform.v1beta1.MetadataService.ListArtifacts]. |
||||
message ListArtifactsRequest { |
||||
// Required. The MetadataStore whose Artifacts should be listed. |
||||
// Format: |
||||
// projects/{project}/locations/{location}/metadataStores/{metadatastore} |
||||
string parent = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
child_type: "aiplatform.googleapis.com/Artifact" |
||||
} |
||||
]; |
||||
|
||||
// The maximum number of Artifacts to return. The service may return fewer. |
||||
// Must be in range 1-1000, inclusive. Defaults to 100. |
||||
int32 page_size = 2; |
||||
|
||||
// A page token, received from a previous [MetadataService.ListArtifacts][google.cloud.aiplatform.v1beta1.MetadataService.ListArtifacts] |
||||
// call. Provide this to retrieve the subsequent page. |
||||
// |
||||
// When paginating, all other provided parameters must match the call that |
||||
// provided the page token. (Otherwise the request will fail with |
||||
// INVALID_ARGUMENT error.) |
||||
string page_token = 3; |
||||
|
||||
// Filter specifying the boolean condition for the Artifacts to satisfy in |
||||
// order to be part of the result set. |
||||
// The syntax to define filter query is based on https://google.aip.dev/160. |
||||
// The supported set of filters include the following: |
||||
// 1. Attributes filtering |
||||
// e.g. display_name = "test" |
||||
// |
||||
// Supported fields include: name, display_name, uri, state, |
||||
// schema_title, create_time and update_time. |
||||
// Time fields, i.e. create_time and update_time, require values to |
||||
// specified in RFC-3339 format. |
||||
// e.g. create_time = "2020-11-19T11:30:00-04:00" |
||||
// 2. Metadata field |
||||
// To filter on metadata fields use traversal operation as follows: |
||||
// metadata.<field_name>.<type_value> |
||||
// e.g. metadata.field_1.number_value = 10.0 |
||||
// 3. Context based filtering |
||||
// To filter Artifacts based on the contexts to which they belong use the |
||||
// function operator with the full resource name |
||||
// "in_context(<context-name>)" |
||||
// e.g. |
||||
// in_context("projects/<project_number>/locations/<location>/metadataStores/<metadatastore_name>/contexts/<context-id>") |
||||
// |
||||
// Each of the above supported filter types can be combined together using |
||||
// Logical operators (AND & OR). |
||||
// e.g. display_name = "test" AND metadata.field1.bool_value = true. |
||||
string filter = 4; |
||||
} |
||||
|
||||
// Response message for [MetadataService.ListArtifacts][google.cloud.aiplatform.v1beta1.MetadataService.ListArtifacts]. |
||||
message ListArtifactsResponse { |
||||
// The Artifacts retrieved from the MetadataStore. |
||||
repeated Artifact artifacts = 1; |
||||
|
||||
// A token, which can be sent as [ListArtifactsRequest.page_token][google.cloud.aiplatform.v1beta1.ListArtifactsRequest.page_token] |
||||
// to retrieve the next page. |
||||
// If this field is not populated, there are no subsequent pages. |
||||
string next_page_token = 2; |
||||
} |
||||
|
||||
// Request message for [MetadataService.UpdateArtifact][google.cloud.aiplatform.v1beta1.MetadataService.UpdateArtifact]. |
||||
message UpdateArtifactRequest { |
||||
// Required. The Artifact containing updates. |
||||
// The Artifact's [Artifact.name][google.cloud.aiplatform.v1beta1.Artifact.name] field is used to identify the Artifact to |
||||
// be updated. |
||||
// Format: |
||||
// projects/{project}/locations/{location}/metadataStores/{metadatastore}/artifacts/{artifact} |
||||
Artifact artifact = 1 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Required. A FieldMask indicating which fields should be updated. |
||||
google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// If set to true, and the [Artifact][google.cloud.aiplatform.v1beta1.Artifact] is not found, a new [Artifact][google.cloud.aiplatform.v1beta1.Artifact] will |
||||
// be created. In this situation, `update_mask` is ignored. |
||||
bool allow_missing = 3; |
||||
} |
||||
|
||||
// Request message for [MetadataService.CreateContext][google.cloud.aiplatform.v1beta1.MetadataService.CreateContext]. |
||||
message CreateContextRequest { |
||||
// Required. The resource name of the MetadataStore where the Context should be |
||||
// created. |
||||
// Format: |
||||
// projects/{project}/locations/{location}/metadataStores/{metadatastore} |
||||
string parent = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
type: "aiplatform.googleapis.com/MetadataStore" |
||||
} |
||||
]; |
||||
|
||||
// Required. The Context to create. |
||||
Context context = 2 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// The {context} portion of the resource name with the format: |
||||
// projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context} |
||||
// If not provided, the Context's ID will be a UUID generated by the service. |
||||
// Must be 4-128 characters in length. Valid characters are /[a-z][0-9]-/. |
||||
// Must be unique across all Contexts in the parent MetadataStore. (Otherwise |
||||
// the request will fail with ALREADY_EXISTS, or PERMISSION_DENIED if the |
||||
// caller can't view the preexisting Context.) |
||||
string context_id = 3; |
||||
} |
||||
|
||||
// Request message for [MetadataService.GetContext][google.cloud.aiplatform.v1beta1.MetadataService.GetContext]. |
||||
message GetContextRequest { |
||||
// Required. The resource name of the Context to retrieve. |
||||
// Format: |
||||
// projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context} |
||||
string name = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
type: "aiplatform.googleapis.com/Context" |
||||
} |
||||
]; |
||||
} |
||||
|
||||
// Request message for [MetadataService.ListContexts][google.cloud.aiplatform.v1beta1.MetadataService.ListContexts] |
||||
message ListContextsRequest { |
||||
// Required. The MetadataStore whose Contexts should be listed. |
||||
// Format: |
||||
// projects/{project}/locations/{location}/metadataStores/{metadatastore} |
||||
string parent = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
child_type: "aiplatform.googleapis.com/Context" |
||||
} |
||||
]; |
||||
|
||||
// The maximum number of Contexts to return. The service may return fewer. |
||||
// Must be in range 1-1000, inclusive. Defaults to 100. |
||||
int32 page_size = 2; |
||||
|
||||
// A page token, received from a previous [MetadataService.ListContexts][google.cloud.aiplatform.v1beta1.MetadataService.ListContexts] |
||||
// call. Provide this to retrieve the subsequent page. |
||||
// |
||||
// When paginating, all other provided parameters must match the call that |
||||
// provided the page token. (Otherwise the request will fail with |
||||
// INVALID_ARGUMENT error.) |
||||
string page_token = 3; |
||||
|
||||
string filter = 4; |
||||
} |
||||
|
||||
// Response message for [MetadataService.ListContexts][google.cloud.aiplatform.v1beta1.MetadataService.ListContexts]. |
||||
message ListContextsResponse { |
||||
// The Contexts retrieved from the MetadataStore. |
||||
repeated Context contexts = 1; |
||||
|
||||
// A token, which can be sent as [ListContextsRequest.page_token][google.cloud.aiplatform.v1beta1.ListContextsRequest.page_token] |
||||
// to retrieve the next page. |
||||
// If this field is not populated, there are no subsequent pages. |
||||
string next_page_token = 2; |
||||
} |
||||
|
||||
// Request message for [MetadataService.UpdateContext][google.cloud.aiplatform.v1beta1.MetadataService.UpdateContext]. |
||||
message UpdateContextRequest { |
||||
// Required. The Context containing updates. |
||||
// The Context's [Context.name][google.cloud.aiplatform.v1beta1.Context.name] field is used to identify the Context to be |
||||
// updated. |
||||
// Format: |
||||
// projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context} |
||||
Context context = 1 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Required. A FieldMask indicating which fields should be updated. |
||||
google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// If set to true, and the [Context][google.cloud.aiplatform.v1beta1.Context] is not found, a new [Context][google.cloud.aiplatform.v1beta1.Context] will be |
||||
// created. In this situation, `update_mask` is ignored. |
||||
bool allow_missing = 3; |
||||
} |
||||
|
||||
// Request message for [MetadataService.DeleteContext][google.cloud.aiplatform.v1beta1.MetadataService.DeleteContext]. |
||||
message DeleteContextRequest { |
||||
// Required. The resource name of the Context to retrieve. |
||||
// Format: |
||||
// projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context} |
||||
string name = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
type: "aiplatform.googleapis.com/Context" |
||||
} |
||||
]; |
||||
|
||||
// If set to true, any child resources of this Context will be deleted. |
||||
// (Otherwise, the request will fail with a FAILED_PRECONDITION error if the |
||||
// Context has any child resources, such as another Context, Artifact, or |
||||
// Execution). |
||||
bool force = 2; |
||||
} |
||||
|
||||
// Request message for [MetadataService.AddContextArtifactsAndExecutions][google.cloud.aiplatform.v1beta1.MetadataService.AddContextArtifactsAndExecutions]. |
||||
message AddContextArtifactsAndExecutionsRequest { |
||||
// Required. The resource name of the Context that the Artifacts and Executions |
||||
// belong to. |
||||
// Format: |
||||
// projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context} |
||||
string context = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
type: "aiplatform.googleapis.com/Context" |
||||
} |
||||
]; |
||||
|
||||
// The resource names of the Artifacts to attribute to the Context. |
||||
repeated string artifacts = 2 [(google.api.resource_reference) = { |
||||
type: "aiplatform.googleapis.com/Artifact" |
||||
}]; |
||||
|
||||
// The resource names of the Executions to associate with the |
||||
// Context. |
||||
repeated string executions = 3 [(google.api.resource_reference) = { |
||||
type: "aiplatform.googleapis.com/Execution" |
||||
}]; |
||||
} |
||||
|
||||
// Response message for [MetadataService.AddContextArtifactsAndExecutions][google.cloud.aiplatform.v1beta1.MetadataService.AddContextArtifactsAndExecutions]. |
||||
message AddContextArtifactsAndExecutionsResponse { |
||||
|
||||
} |
||||
|
||||
// Request message for [MetadataService.AddContextChildren][google.cloud.aiplatform.v1beta1.MetadataService.AddContextChildren]. |
||||
message AddContextChildrenRequest { |
||||
// Required. The resource name of the parent Context. |
||||
// Format: |
||||
// projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context} |
||||
string context = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
type: "aiplatform.googleapis.com/Context" |
||||
} |
||||
]; |
||||
|
||||
// The resource names of the child Contexts. |
||||
repeated string child_contexts = 2 [(google.api.resource_reference) = { |
||||
type: "aiplatform.googleapis.com/Context" |
||||
}]; |
||||
} |
||||
|
||||
// Response message for [MetadataService.AddContextChildren][google.cloud.aiplatform.v1beta1.MetadataService.AddContextChildren]. |
||||
message AddContextChildrenResponse { |
||||
|
||||
} |
||||
|
||||
// Request message for [MetadataService.QueryContextLineageSubgraph][google.cloud.aiplatform.v1beta1.MetadataService.QueryContextLineageSubgraph]. |
||||
message QueryContextLineageSubgraphRequest { |
||||
// Required. The resource name of the Context whose Artifacts and Executions |
||||
// should be retrieved as a LineageSubgraph. |
||||
// Format: |
||||
// projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context} |
||||
// |
||||
// The request may error with FAILED_PRECONDITION if the number of Artifacts, |
||||
// the number of Executions, or the number of Events that would be returned |
||||
// for the Context exceeds 1000. |
||||
string context = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
type: "aiplatform.googleapis.com/Context" |
||||
} |
||||
]; |
||||
} |
||||
|
||||
// Request message for [MetadataService.CreateExecution][google.cloud.aiplatform.v1beta1.MetadataService.CreateExecution]. |
||||
message CreateExecutionRequest { |
||||
// Required. The resource name of the MetadataStore where the Execution should |
||||
// be created. |
||||
// Format: |
||||
// projects/{project}/locations/{location}/metadataStores/{metadatastore} |
||||
string parent = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
type: "aiplatform.googleapis.com/MetadataStore" |
||||
} |
||||
]; |
||||
|
||||
// Required. The Execution to create. |
||||
Execution execution = 2 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// The {execution} portion of the resource name with the format: |
||||
// projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution} |
||||
// If not provided, the Execution's ID will be a UUID generated by the |
||||
// service. |
||||
// Must be 4-128 characters in length. Valid characters are /[a-z][0-9]-/. |
||||
// Must be unique across all Executions in the parent MetadataStore. |
||||
// (Otherwise the request will fail with ALREADY_EXISTS, or PERMISSION_DENIED |
||||
// if the caller can't view the preexisting Execution.) |
||||
string execution_id = 3; |
||||
} |
||||
|
||||
// Request message for [MetadataService.GetExecution][google.cloud.aiplatform.v1beta1.MetadataService.GetExecution]. |
||||
message GetExecutionRequest { |
||||
// Required. The resource name of the Execution to retrieve. |
||||
// Format: |
||||
// projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution} |
||||
string name = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
type: "aiplatform.googleapis.com/Execution" |
||||
} |
||||
]; |
||||
} |
||||
|
||||
// Request message for [MetadataService.ListExecutions][google.cloud.aiplatform.v1beta1.MetadataService.ListExecutions]. |
||||
message ListExecutionsRequest { |
||||
// Required. The MetadataStore whose Executions should be listed. |
||||
// Format: |
||||
// projects/{project}/locations/{location}/metadataStores/{metadatastore} |
||||
string parent = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
child_type: "aiplatform.googleapis.com/Execution" |
||||
} |
||||
]; |
||||
|
||||
// The maximum number of Executions to return. The service may return fewer. |
||||
// Must be in range 1-1000, inclusive. Defaults to 100. |
||||
int32 page_size = 2; |
||||
|
||||
// A page token, received from a previous [MetadataService.ListExecutions][google.cloud.aiplatform.v1beta1.MetadataService.ListExecutions] |
||||
// call. Provide this to retrieve the subsequent page. |
||||
// |
||||
// When paginating, all other provided parameters must match the call that |
||||
// provided the page token. (Otherwise the request will fail with |
||||
// INVALID_ARGUMENT error.) |
||||
string page_token = 3; |
||||
|
||||
// Filter specifying the boolean condition for the Executions to satisfy in |
||||
// order to be part of the result set. |
||||
// The syntax to define filter query is based on https://google.aip.dev/160. |
||||
// Following are the supported set of filters: |
||||
// 1. Attributes filtering |
||||
// e.g. display_name = "test" |
||||
// |
||||
// supported fields include: name, display_name, state, |
||||
// schema_title, create_time and update_time. |
||||
// Time fields, i.e. create_time and update_time, require values to |
||||
// specified in RFC-3339 format. |
||||
// e.g. create_time = "2020-11-19T11:30:00-04:00" |
||||
// 2. Metadata field |
||||
// To filter on metadata fields use traversal operation as follows: |
||||
// metadata.<field_name>.<type_value> |
||||
// e.g. metadata.field_1.number_value = 10.0 |
||||
// 3. Context based filtering |
||||
// To filter Executions based on the contexts to which they belong use |
||||
// the function operator with the full resource name |
||||
// "in_context(<context-name>)" |
||||
// e.g. |
||||
// in_context("projects/<project_number>/locations/<location>/metadataStores/<metadatastore_name>/contexts/<context-id>") |
||||
// |
||||
// Each of the above supported filters can be combined together using |
||||
// Logical operators (AND & OR). |
||||
// e.g. display_name = "test" AND metadata.field1.bool_value = true. |
||||
string filter = 4; |
||||
} |
||||
|
||||
// Response message for [MetadataService.ListExecutions][google.cloud.aiplatform.v1beta1.MetadataService.ListExecutions]. |
||||
message ListExecutionsResponse { |
||||
// The Executions retrieved from the MetadataStore. |
||||
repeated Execution executions = 1; |
||||
|
||||
// A token, which can be sent as [ListExecutionsRequest.page_token][google.cloud.aiplatform.v1beta1.ListExecutionsRequest.page_token] |
||||
// to retrieve the next page. |
||||
// If this field is not populated, there are no subsequent pages. |
||||
string next_page_token = 2; |
||||
} |
||||
|
||||
// Request message for [MetadataService.UpdateExecution][google.cloud.aiplatform.v1beta1.MetadataService.UpdateExecution]. |
||||
message UpdateExecutionRequest { |
||||
// Required. The Execution containing updates. |
||||
// The Execution's [Execution.name][google.cloud.aiplatform.v1beta1.Execution.name] field is used to identify the Execution |
||||
// to be updated. |
||||
// Format: |
||||
// projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution} |
||||
Execution execution = 1 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Required. A FieldMask indicating which fields should be updated. |
||||
google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// If set to true, and the [Execution][google.cloud.aiplatform.v1beta1.Execution] is not found, a new [Execution][google.cloud.aiplatform.v1beta1.Execution] |
||||
// will be created. In this situation, `update_mask` is ignored. |
||||
bool allow_missing = 3; |
||||
} |
||||
|
||||
// Request message for [MetadataService.AddExecutionEvents][google.cloud.aiplatform.v1beta1.MetadataService.AddExecutionEvents]. |
||||
message AddExecutionEventsRequest { |
||||
// Required. The resource name of the Execution that the Events connect |
||||
// Artifacts with. |
||||
// Format: |
||||
// projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution} |
||||
string execution = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
type: "aiplatform.googleapis.com/Execution" |
||||
} |
||||
]; |
||||
|
||||
// The Events to create and add. |
||||
repeated Event events = 2; |
||||
} |
||||
|
||||
// Response message for [MetadataService.AddExecutionEvents][google.cloud.aiplatform.v1beta1.MetadataService.AddExecutionEvents]. |
||||
message AddExecutionEventsResponse { |
||||
|
||||
} |
||||
|
||||
// Request message for [MetadataService.QueryExecutionInputsAndOutputs][google.cloud.aiplatform.v1beta1.MetadataService.QueryExecutionInputsAndOutputs]. |
||||
message QueryExecutionInputsAndOutputsRequest { |
||||
// Required. The resource name of the Execution whose input and output Artifacts should |
||||
// be retrieved as a LineageSubgraph. |
||||
// Format: |
||||
// projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution} |
||||
string execution = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
type: "aiplatform.googleapis.com/Execution" |
||||
} |
||||
]; |
||||
} |
||||
|
||||
// Request message for [MetadataService.CreateMetadataSchema][google.cloud.aiplatform.v1beta1.MetadataService.CreateMetadataSchema]. |
||||
message CreateMetadataSchemaRequest { |
||||
// Required. The resource name of the MetadataStore where the MetadataSchema should |
||||
// be created. |
||||
// Format: |
||||
// projects/{project}/locations/{location}/metadataStores/{metadatastore} |
||||
string parent = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
type: "aiplatform.googleapis.com/MetadataStore" |
||||
} |
||||
]; |
||||
|
||||
// Required. The MetadataSchema to create. |
||||
MetadataSchema metadata_schema = 2 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// The {metadata_schema} portion of the resource name with the format: |
||||
// projects/{project}/locations/{location}/metadataStores/{metadatastore}/metadataSchemas/{metadataschema} |
||||
// If not provided, the MetadataStore's ID will be a UUID generated by the |
||||
// service. |
||||
// Must be 4-128 characters in length. Valid characters are /[a-z][0-9]-/. |
||||
// Must be unique across all MetadataSchemas in the parent Location. |
||||
// (Otherwise the request will fail with ALREADY_EXISTS, or PERMISSION_DENIED |
||||
// if the caller can't view the preexisting MetadataSchema.) |
||||
string metadata_schema_id = 3; |
||||
} |
||||
|
||||
// Request message for [MetadataService.GetMetadataSchema][google.cloud.aiplatform.v1beta1.MetadataService.GetMetadataSchema]. |
||||
message GetMetadataSchemaRequest { |
||||
// Required. The resource name of the MetadataSchema to retrieve. |
||||
// Format: |
||||
// projects/{project}/locations/{location}/metadataStores/{metadatastore}/metadataSchemas/{metadataschema} |
||||
string name = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
type: "aiplatform.googleapis.com/MetadataSchema" |
||||
} |
||||
]; |
||||
} |
||||
|
||||
// Request message for [MetadataService.ListMetadataSchemas][google.cloud.aiplatform.v1beta1.MetadataService.ListMetadataSchemas]. |
||||
message ListMetadataSchemasRequest { |
||||
// Required. The MetadataStore whose MetadataSchemas should be listed. |
||||
// Format: |
||||
// projects/{project}/locations/{location}/metadataStores/{metadatastore} |
||||
string parent = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
child_type: "aiplatform.googleapis.com/MetadataSchema" |
||||
} |
||||
]; |
||||
|
||||
// The maximum number of MetadataSchemas to return. The service may return |
||||
// fewer. |
||||
// Must be in range 1-1000, inclusive. Defaults to 100. |
||||
int32 page_size = 2; |
||||
|
||||
// A page token, received from a previous |
||||
// [MetadataService.ListMetadataSchemas][google.cloud.aiplatform.v1beta1.MetadataService.ListMetadataSchemas] call. Provide this to retrieve the |
||||
// subsequent page. |
||||
// |
||||
// When paginating, all other provided parameters must match the call that |
||||
// provided the page token. (Otherwise the request will fail with |
||||
// INVALID_ARGUMENT error.) |
||||
string page_token = 3; |
||||
|
||||
// A query to filter available MetadataSchemas for matching results. |
||||
string filter = 4; |
||||
} |
||||
|
||||
// Response message for [MetadataService.ListMetadataSchemas][google.cloud.aiplatform.v1beta1.MetadataService.ListMetadataSchemas]. |
||||
message ListMetadataSchemasResponse { |
||||
// The MetadataSchemas found for the MetadataStore. |
||||
repeated MetadataSchema metadata_schemas = 1; |
||||
|
||||
// A token, which can be sent as |
||||
// [ListMetadataSchemasRequest.page_token][google.cloud.aiplatform.v1beta1.ListMetadataSchemasRequest.page_token] to retrieve the next |
||||
// page. If this field is not populated, there are no subsequent pages. |
||||
string next_page_token = 2; |
||||
} |
||||
|
||||
// Request message for [MetadataService.QueryArtifactLineageSubgraph][google.cloud.aiplatform.v1beta1.MetadataService.QueryArtifactLineageSubgraph]. |
||||
message QueryArtifactLineageSubgraphRequest { |
||||
// Required. The resource name of the Artifact whose Lineage needs to be retrieved as a |
||||
// LineageSubgraph. |
||||
// Format: |
||||
// projects/{project}/locations/{location}/metadataStores/{metadatastore}/artifacts/{artifact} |
||||
// |
||||
// The request may error with FAILED_PRECONDITION if the number of Artifacts, |
||||
// the number of Executions, or the number of Events that would be returned |
||||
// for the Context exceeds 1000. |
||||
string artifact = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
type: "aiplatform.googleapis.com/Artifact" |
||||
} |
||||
]; |
||||
|
||||
// Specifies the size of the lineage graph in terms of number of hops from the |
||||
// specified artifact. |
||||
// Negative Value: INVALID_ARGUMENT error is returned |
||||
// 0: Only input artifact is returned. |
||||
// No value: Transitive closure is performed to return the complete graph. |
||||
int32 max_hops = 2; |
||||
|
||||
// Filter specifying the boolean condition for the Artifacts to satisfy in |
||||
// order to be part of the Lineage Subgraph. |
||||
// The syntax to define filter query is based on https://google.aip.dev/160. |
||||
// The supported set of filters include the following: |
||||
// 1. Attributes filtering |
||||
// e.g. display_name = "test" |
||||
// |
||||
// supported fields include: name, display_name, uri, state, |
||||
// schema_title, create_time and update_time. |
||||
// Time fields, i.e. create_time and update_time, require values to |
||||
// specified in RFC-3339 format. |
||||
// e.g. create_time = "2020-11-19T11:30:00-04:00" |
||||
// 2. Metadata field |
||||
// To filter on metadata fields use traversal operation as follows: |
||||
// metadata.<field_name>.<type_value> |
||||
// e.g. metadata.field_1.number_value = 10.0 |
||||
// |
||||
// Each of the above supported filter types can be combined together using |
||||
// Logical operators (AND & OR). |
||||
// e.g. display_name = "test" AND metadata.field1.bool_value = true. |
||||
string filter = 3; |
||||
} |
@ -0,0 +1,63 @@ |
||||
// Copyright 2021 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/encryption_spec.proto"; |
||||
import "google/protobuf/timestamp.proto"; |
||||
import "google/api/annotations.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1;aiplatform"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "MetadataProto"; |
||||
option java_package = "com.google.cloud.aiplatform.v1beta1"; |
||||
|
||||
// Instance of a metadata store. Contains a set of metadata that can be |
||||
// queried. |
||||
message MetadataStore { |
||||
option (google.api.resource) = { |
||||
type: "aiplatform.googleapis.com/MetadataStore" |
||||
pattern: "projects/{project}/locations/{location}/metadataStores/{metadata_store}" |
||||
}; |
||||
|
||||
// Represent state information for a MetadataStore. |
||||
message MetadataStoreState { |
||||
// The disk utilization of the MetadataStore in bytes. |
||||
int64 disk_utilization_bytes = 1; |
||||
} |
||||
|
||||
// Output only. The resource name of the MetadataStore instance. |
||||
string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Output only. Timestamp when this MetadataStore was created. |
||||
google.protobuf.Timestamp create_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Output only. Timestamp when this MetadataStore was last updated. |
||||
google.protobuf.Timestamp update_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Customer-managed encryption key spec for an Metadata Store. If set, this |
||||
// Metadata Store and all sub-resources of this Metadata Store will be secured |
||||
// by this key. |
||||
EncryptionSpec encryption_spec = 5; |
||||
|
||||
// Description of the MetadataStore. |
||||
string description = 6; |
||||
|
||||
// Output only. State information of the MetadataStore. |
||||
MetadataStoreState state = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
} |
@ -0,0 +1,268 @@ |
||||
// Copyright 2021 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/io.proto"; |
||||
import "google/cloud/aiplatform/v1beta1/job_state.proto"; |
||||
import "google/cloud/aiplatform/v1beta1/model_monitoring.proto"; |
||||
import "google/protobuf/duration.proto"; |
||||
import "google/protobuf/struct.proto"; |
||||
import "google/protobuf/timestamp.proto"; |
||||
import "google/api/annotations.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1;aiplatform"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "ModelDeploymentMonitoringJobProto"; |
||||
option java_package = "com.google.cloud.aiplatform.v1beta1"; |
||||
|
||||
// The Model Monitoring Objective types. |
||||
enum ModelDeploymentMonitoringObjectiveType { |
||||
// Default value, should not be set. |
||||
MODEL_DEPLOYMENT_MONITORING_OBJECTIVE_TYPE_UNSPECIFIED = 0; |
||||
|
||||
// Raw feature values' stats to detect skew between Training-Prediction |
||||
// datasets. |
||||
RAW_FEATURE_SKEW = 1; |
||||
|
||||
// Raw feature values' stats to detect drift between Serving-Prediction |
||||
// datasets. |
||||
RAW_FEATURE_DRIFT = 2; |
||||
|
||||
// Feature attribution scores to detect skew between Training-Prediction |
||||
// datasets. |
||||
FEATURE_ATTRIBUTION_SKEW = 3; |
||||
|
||||
// Feature attribution scores to detect skew between Prediction datasets |
||||
// collected within different time windows. |
||||
FEATURE_ATTRIBUTION_DRIFT = 4; |
||||
} |
||||
|
||||
// Represents a job that runs periodically to monitor the deployed models in an |
||||
// endpoint. It will analyze the logged training & prediction data to detect any |
||||
// abnormal behaviors. |
||||
message ModelDeploymentMonitoringJob { |
||||
option (google.api.resource) = { |
||||
type: "aiplatform.googleapis.com/ModelDeploymentMonitoringJob" |
||||
pattern: "projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{model_deployment_monitoring_job}" |
||||
}; |
||||
|
||||
// The state to Specify the monitoring pipeline. |
||||
enum MonitoringScheduleState { |
||||
// Unspecified state. |
||||
MONITORING_SCHEDULE_STATE_UNSPECIFIED = 0; |
||||
|
||||
// The pipeline is picked up and wait to run. |
||||
PENDING = 1; |
||||
|
||||
// The pipeline is offline and will be scheduled for next run. |
||||
OFFLINE = 2; |
||||
|
||||
// The pipeline is running. |
||||
RUNNING = 3; |
||||
} |
||||
|
||||
// Output only. Resource name of a ModelDeploymentMonitoringJob. |
||||
string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Required. The user-defined name of the ModelDeploymentMonitoringJob. |
||||
// The name can be up to 128 characters long and can be consist of any UTF-8 |
||||
// characters. |
||||
// Display name of a ModelDeploymentMonitoringJob. |
||||
string display_name = 2 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Required. Endpoint resource name. |
||||
// Format: `projects/{project}/locations/{location}/endpoints/{endpoint}` |
||||
string endpoint = 3 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
type: "aiplatform.googleapis.com/Endpoint" |
||||
} |
||||
]; |
||||
|
||||
// Output only. The detailed state of the monitoring job. |
||||
// When the job is still creating, the state will be 'PENDING'. |
||||
// Once the job is successfully created, the state will be 'RUNNING'. |
||||
// Pause the job, the state will be 'PAUSED'. |
||||
// Resume the job, the state will return to 'RUNNING'. |
||||
JobState state = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Output only. Schedule state when the monitoring job is in Running state. |
||||
MonitoringScheduleState schedule_state = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Required. The config for monitoring objectives. This is a per DeployedModel config. |
||||
// Each DeployedModel needs to be configed separately. |
||||
repeated ModelDeploymentMonitoringObjectiveConfig model_deployment_monitoring_objective_configs = 6 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Required. Schedule config for running the monitoring job. |
||||
ModelDeploymentMonitoringScheduleConfig model_deployment_monitoring_schedule_config = 7 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Required. Sample Strategy for logging. |
||||
SamplingStrategy logging_sampling_strategy = 8 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Alert config for model monitoring. |
||||
ModelMonitoringAlertConfig model_monitoring_alert_config = 15; |
||||
|
||||
// YAML schema file uri describing the format of a single instance, |
||||
// which are given to format this Endpoint's prediction (and explanation). |
||||
// If not set, we will generate predict schema from collected predict |
||||
// requests. |
||||
string predict_instance_schema_uri = 9; |
||||
|
||||
// Sample Predict instance, same format as [PredictRequest.instances][google.cloud.aiplatform.v1beta1.PredictRequest.instances], |
||||
// this can be set as a replacement of |
||||
// [ModelDeploymentMonitoringJob.predict_instance_schema_uri][google.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob.predict_instance_schema_uri]. If not set, |
||||
// we will generate predict schema from collected predict requests. |
||||
google.protobuf.Value sample_predict_instance = 19; |
||||
|
||||
// YAML schema file uri describing the format of a single instance that you |
||||
// want Tensorflow Data Validation (TFDV) to analyze. |
||||
// |
||||
// If this field is empty, all the feature data types are inferred from |
||||
// [predict_instance_schema_uri][google.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob.predict_instance_schema_uri], |
||||
// meaning that TFDV will use the data in the exact format(data type) as |
||||
// prediction request/response. |
||||
// If there are any data type differences between predict instance and TFDV |
||||
// instance, this field can be used to override the schema. |
||||
// For models trained with AI Platform, this field must be set as all the |
||||
// fields in predict instance formatted as string. |
||||
string analysis_instance_schema_uri = 16; |
||||
|
||||
// Output only. The created bigquery tables for the job under customer project. Customer |
||||
// could do their own query & analysis. There could be 4 log tables in |
||||
// maximum: |
||||
// 1. Training data logging predict request/response |
||||
// 2. Serving data logging predict request/response |
||||
repeated ModelDeploymentMonitoringBigQueryTable bigquery_tables = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// The TTL of BigQuery tables in user projects which stores logs. |
||||
// A day is the basic unit of the TTL and we take the ceil of TTL/86400(a |
||||
// day). e.g. { second: 3600} indicates ttl = 1 day. |
||||
google.protobuf.Duration log_ttl = 17; |
||||
|
||||
// The labels with user-defined metadata to organize your |
||||
// ModelDeploymentMonitoringJob. |
||||
// |
||||
// 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 and examples of labels. |
||||
map<string, string> labels = 11; |
||||
|
||||
// Output only. Timestamp when this ModelDeploymentMonitoringJob was created. |
||||
google.protobuf.Timestamp create_time = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Output only. Timestamp when this ModelDeploymentMonitoringJob was updated most recently. |
||||
google.protobuf.Timestamp update_time = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Output only. Timestamp when this monitoring pipeline will be scheduled to run for the |
||||
// next round. |
||||
google.protobuf.Timestamp next_schedule_time = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Stats anomalies base folder path. |
||||
GcsDestination stats_anomalies_base_directory = 20; |
||||
} |
||||
|
||||
// ModelDeploymentMonitoringBigQueryTable specifies the BigQuery table name |
||||
// as well as some information of the logs stored in this table. |
||||
message ModelDeploymentMonitoringBigQueryTable { |
||||
// Indicates where does the log come from. |
||||
enum LogSource { |
||||
// Unspecified source. |
||||
LOG_SOURCE_UNSPECIFIED = 0; |
||||
|
||||
// Logs coming from Training dataset. |
||||
TRAINING = 1; |
||||
|
||||
// Logs coming from Serving traffic. |
||||
SERVING = 2; |
||||
} |
||||
|
||||
// Indicates what type of traffic does the log belong to. |
||||
enum LogType { |
||||
// Unspecified type. |
||||
LOG_TYPE_UNSPECIFIED = 0; |
||||
|
||||
// Predict logs. |
||||
PREDICT = 1; |
||||
|
||||
// Explain logs. |
||||
EXPLAIN = 2; |
||||
} |
||||
|
||||
// The source of log. |
||||
LogSource log_source = 1; |
||||
|
||||
// The type of log. |
||||
LogType log_type = 2; |
||||
|
||||
// The created BigQuery table to store logs. Customer could do their own query |
||||
// & analysis. Format: |
||||
// `bq://<project_id>.model_deployment_monitoring_<endpoint_id>.<tolower(log_source)>_<tolower(log_type)>` |
||||
string bigquery_table_path = 3; |
||||
} |
||||
|
||||
// ModelDeploymentMonitoringObjectiveConfig contains the pair of |
||||
// deployed_model_id to ModelMonitoringObjectiveConfig. |
||||
message ModelDeploymentMonitoringObjectiveConfig { |
||||
// The DeployedModel ID of the objective config. |
||||
string deployed_model_id = 1; |
||||
|
||||
// The objective config of for the modelmonitoring job of this deployed model. |
||||
ModelMonitoringObjectiveConfig objective_config = 2; |
||||
} |
||||
|
||||
// The config for scheduling monitoring job. |
||||
message ModelDeploymentMonitoringScheduleConfig { |
||||
// Required. The model monitoring job running interval. It will be rounded up to next |
||||
// full hour. |
||||
google.protobuf.Duration monitor_interval = 1 [(google.api.field_behavior) = REQUIRED]; |
||||
} |
||||
|
||||
// Statistics and anomalies generated by Model Monitoring. |
||||
message ModelMonitoringStatsAnomalies { |
||||
// Historical Stats (and Anomalies) for a specific Feature. |
||||
message FeatureHistoricStatsAnomalies { |
||||
// Display Name of the Feature. |
||||
string feature_display_name = 1; |
||||
|
||||
// Threshold for anomaly detection. |
||||
ThresholdConfig threshold = 3; |
||||
|
||||
// Stats calculated for the Training Dataset. |
||||
FeatureStatsAnomaly training_stats = 4; |
||||
|
||||
// A list of historical stats generated by different time window's |
||||
// Prediction Dataset. |
||||
repeated FeatureStatsAnomaly prediction_stats = 5; |
||||
} |
||||
|
||||
// Model Monitoring Objective those stats and anomalies belonging to. |
||||
ModelDeploymentMonitoringObjectiveType objective = 1; |
||||
|
||||
// Deployed Model ID. |
||||
string deployed_model_id = 2; |
||||
|
||||
// Number of anomalies within all stats. |
||||
int32 anomaly_count = 3; |
||||
|
||||
// A list of historical Stats and Anomalies generated for all Features. |
||||
repeated FeatureHistoricStatsAnomalies feature_stats = 4; |
||||
} |
@ -0,0 +1,140 @@ |
||||
// Copyright 2021 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/resource.proto"; |
||||
import "google/cloud/aiplatform/v1beta1/io.proto"; |
||||
import "google/api/annotations.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1;aiplatform"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "ModelMonitoringProto"; |
||||
option java_package = "com.google.cloud.aiplatform.v1beta1"; |
||||
|
||||
// Next ID: 6 |
||||
message ModelMonitoringObjectiveConfig { |
||||
// Training Dataset information. |
||||
message TrainingDataset { |
||||
oneof data_source { |
||||
// The resource name of the Dataset used to train this Model. |
||||
string dataset = 3 [(google.api.resource_reference) = { |
||||
type: "aiplatform.googleapis.com/Dataset" |
||||
}]; |
||||
|
||||
// The Google Cloud Storage uri of the unmanaged Dataset used to train |
||||
// this Model. |
||||
GcsSource gcs_source = 4; |
||||
|
||||
// The BigQuery table of the unmanaged Dataset used to train this |
||||
// Model. |
||||
BigQuerySource bigquery_source = 5; |
||||
} |
||||
|
||||
// Data format of the dataset, only applicable if the input is from |
||||
// Google Cloud Storage. |
||||
// The possible formats are: |
||||
// |
||||
// "tf-record" |
||||
// The source file is a TFRecord file. |
||||
// |
||||
// "csv" |
||||
// The source file is a CSV file. |
||||
string data_format = 2; |
||||
|
||||
// The target field name the model is to predict. |
||||
// This field will be excluded when doing Predict and (or) Explain for the |
||||
// training data. |
||||
string target_field = 6; |
||||
|
||||
// Strategy to sample data from Training Dataset. |
||||
// If not set, we process the whole dataset. |
||||
SamplingStrategy logging_sampling_strategy = 7; |
||||
} |
||||
|
||||
// The config for Training & Prediction data skew detection. It specifies the |
||||
// training dataset sources and the skew detection parameters. |
||||
message TrainingPredictionSkewDetectionConfig { |
||||
// Key is the feature name and value is the threshold. If a feature needs to |
||||
// be monitored for skew, a value threshold must be configed for that |
||||
// feature. The threshold here is against feature distribution distance |
||||
// between the training and prediction feature. |
||||
map<string, ThresholdConfig> skew_thresholds = 1; |
||||
} |
||||
|
||||
// The config for Prediction data drift detection. |
||||
message PredictionDriftDetectionConfig { |
||||
// Key is the feature name and value is the threshold. If a feature needs to |
||||
// be monitored for drift, a value threshold must be configed for that |
||||
// feature. The threshold here is against feature distribution distance |
||||
// between different time windws. |
||||
map<string, ThresholdConfig> drift_thresholds = 1; |
||||
} |
||||
|
||||
// Training dataset for models. This field has to be set only if |
||||
// TrainingPredictionSkewDetectionConfig is specified. |
||||
TrainingDataset training_dataset = 1; |
||||
|
||||
// The config for skew between training data and prediction data. |
||||
TrainingPredictionSkewDetectionConfig training_prediction_skew_detection_config = 2; |
||||
|
||||
// The config for drift of prediction data. |
||||
PredictionDriftDetectionConfig prediction_drift_detection_config = 3; |
||||
} |
||||
|
||||
// Next ID: 2 |
||||
message ModelMonitoringAlertConfig { |
||||
// The config for email alert. |
||||
message EmailAlertConfig { |
||||
// The email addresses to send the alert. |
||||
repeated string user_emails = 1; |
||||
} |
||||
|
||||
oneof alert { |
||||
// Email alert config. |
||||
EmailAlertConfig email_alert_config = 1; |
||||
} |
||||
} |
||||
|
||||
// The config for feature monitoring threshold. |
||||
// Next ID: 3 |
||||
message ThresholdConfig { |
||||
oneof threshold { |
||||
// Specify a threshold value that can trigger the alert. |
||||
// If this threshold config is for feature distribution distance: |
||||
// 1. For categorical feature, the distribution distance is calculated by |
||||
// L-inifinity norm. |
||||
// 2. For numerical feature, the distribution distance is calculated by |
||||
// Jensen–Shannon divergence. |
||||
// Each feature must have a non-zero threshold if they need to be monitored. |
||||
// Otherwise no alert will be triggered for that feature. |
||||
double value = 1; |
||||
} |
||||
} |
||||
|
||||
// Sampling Strategy for logging, can be for both training and prediction |
||||
// dataset. |
||||
// Next ID: 2 |
||||
message SamplingStrategy { |
||||
// Requests are randomly selected. |
||||
message RandomSampleConfig { |
||||
// Sample rate (0, 1] |
||||
double sample_rate = 1; |
||||
} |
||||
|
||||
// Random sample config. Will support more sampling strategies later. |
||||
RandomSampleConfig random_sample_config = 1; |
||||
} |
@ -0,0 +1,287 @@ |
||||
// Copyright 2021 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/artifact.proto"; |
||||
import "google/cloud/aiplatform/v1beta1/context.proto"; |
||||
import "google/cloud/aiplatform/v1beta1/encryption_spec.proto"; |
||||
import "google/cloud/aiplatform/v1beta1/execution.proto"; |
||||
import "google/cloud/aiplatform/v1beta1/pipeline_state.proto"; |
||||
import "google/cloud/aiplatform/v1beta1/value.proto"; |
||||
import "google/protobuf/struct.proto"; |
||||
import "google/protobuf/timestamp.proto"; |
||||
import "google/rpc/status.proto"; |
||||
import "google/api/annotations.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1;aiplatform"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "Pipeline"; |
||||
option java_package = "com.google.cloud.aiplatform.v1beta1"; |
||||
option (google.api.resource_definition) = { |
||||
type: "compute.googleapis.com/Network" |
||||
pattern: "projects/{project}/global/networks/{network}" |
||||
}; |
||||
|
||||
// An instance of a machine learning PipelineJob. |
||||
message PipelineJob { |
||||
option (google.api.resource) = { |
||||
type: "aiplatform.googleapis.com/PipelineJob" |
||||
pattern: "projects/{project}/locations/{location}/pipelineJobs/{pipeline_job}" |
||||
}; |
||||
|
||||
// The runtime config of a PipelineJob. |
||||
message RuntimeConfig { |
||||
// The runtime parameters of the PipelineJob. The parameters will be |
||||
// passed into [PipelineJob.pipeline_spec][google.cloud.aiplatform.v1beta1.PipelineJob.pipeline_spec] to replace the placeholders |
||||
// at runtime. |
||||
map<string, Value> parameters = 1; |
||||
|
||||
// Required. A path in a Cloud Storage bucket, which will be treated as the root |
||||
// output directory of the pipeline. It is used by the system to |
||||
// generate the paths of output artifacts. The artifact paths are generated |
||||
// with a sub-path pattern `{job_id}/{task_id}/{output_key}` under the |
||||
// specified output directory. The service account specified in this |
||||
// pipeline must have the `storage.objects.get` and `storage.objects.create` |
||||
// permissions for this bucket. |
||||
string gcs_output_directory = 2 [(google.api.field_behavior) = REQUIRED]; |
||||
} |
||||
|
||||
// Output only. The resource name of the PipelineJob. |
||||
string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// The display name of the Pipeline. |
||||
// The name can be up to 128 characters long and can be consist of any UTF-8 |
||||
// characters. |
||||
string display_name = 2; |
||||
|
||||
// Output only. Pipeline creation time. |
||||
google.protobuf.Timestamp create_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Output only. Pipeline start time. |
||||
google.protobuf.Timestamp start_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Output only. Pipeline end time. |
||||
google.protobuf.Timestamp end_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Output only. Timestamp when this PipelineJob was most recently updated. |
||||
google.protobuf.Timestamp update_time = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Required. The spec of the pipeline. |
||||
// The spec contains a `schema_version` field which indicates the Kubeflow |
||||
// Pipeline schema version to decode the struct. |
||||
google.protobuf.Struct pipeline_spec = 7 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Output only. The detailed state of the job. |
||||
PipelineState state = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Output only. The details of pipeline run. Not available in the list view. |
||||
PipelineJobDetail job_detail = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Output only. The error that occurred during pipeline execution. |
||||
// Only populated when the pipeline's state is FAILED or CANCELLED. |
||||
google.rpc.Status error = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// The labels with user-defined metadata to organize PipelineJob. |
||||
// |
||||
// 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 and examples of labels. |
||||
map<string, string> labels = 11; |
||||
|
||||
// Runtime config of the pipeline. |
||||
RuntimeConfig runtime_config = 12; |
||||
|
||||
// Customer-managed encryption key spec for a pipelineJob. If set, this |
||||
// PipelineJob and all of its sub-resources will be secured by this key. |
||||
EncryptionSpec encryption_spec = 16; |
||||
|
||||
// The service account that the pipeline workload runs as. |
||||
// If not specified, the Compute Engine default service account in the project |
||||
// will be used. |
||||
// See |
||||
// https://cloud.google.com/compute/docs/access/service-accounts#default_service_account |
||||
// |
||||
// Users starting the pipeline must have the `iam.serviceAccounts.actAs` |
||||
// permission on this service account. |
||||
string service_account = 17; |
||||
|
||||
// The full name of the Compute Engine |
||||
// [network](/compute/docs/networks-and-firewalls#networks) to which the |
||||
// Pipeline Job's workload should be peered. For example, |
||||
// `projects/12345/global/networks/myVPC`. |
||||
// [Format](/compute/docs/reference/rest/v1/networks/insert) |
||||
// is of the form `projects/{project}/global/networks/{network}`. |
||||
// Where {project} is a project number, as in `12345`, and {network} is a |
||||
// network name. |
||||
// |
||||
// Private services access must already be configured for the network. |
||||
// Pipeline job will apply the network configuration to the GCP resources |
||||
// being launched, if applied, such as Cloud AI Platform |
||||
// Training or Dataflow job. If left unspecified, the workload is not peered |
||||
// with any network. |
||||
string network = 18 [(google.api.resource_reference) = { |
||||
type: "compute.googleapis.com/Network" |
||||
}]; |
||||
} |
||||
|
||||
// The runtime detail of PipelineJob. |
||||
message PipelineJobDetail { |
||||
// Output only. The context of the pipeline. |
||||
Context pipeline_context = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Output only. The context of the current pipeline run. |
||||
Context pipeline_run_context = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Output only. The runtime details of the tasks under the pipeline. |
||||
repeated PipelineTaskDetail task_details = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
} |
||||
|
||||
// The runtime detail of a task execution. |
||||
message PipelineTaskDetail { |
||||
// A list of artifact metadata. |
||||
message ArtifactList { |
||||
// Output only. A list of artifact metadata. |
||||
repeated Artifact artifacts = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
} |
||||
|
||||
// Specifies state of TaskExecution |
||||
enum State { |
||||
// Unspecified. |
||||
STATE_UNSPECIFIED = 0; |
||||
|
||||
// Specifies pending state for the task. |
||||
PENDING = 1; |
||||
|
||||
// Specifies task is being executed. |
||||
RUNNING = 2; |
||||
|
||||
// Specifies task completed successfully. |
||||
SUCCEEDED = 3; |
||||
|
||||
// Specifies Task cancel is in pending state. |
||||
CANCEL_PENDING = 4; |
||||
|
||||
// Specifies task is being cancelled. |
||||
CANCELLING = 5; |
||||
|
||||
// Specifies task was cancelled. |
||||
CANCELLED = 6; |
||||
|
||||
// Specifies task failed. |
||||
FAILED = 7; |
||||
|
||||
// Specifies task was skipped due to cache hit. |
||||
SKIPPED = 8; |
||||
|
||||
// Specifies task was not triggered because the trigger policy of the task |
||||
// in the [PipelineJob.pipeline_spec.condition][] is not satisfied. |
||||
NOT_TRIGGERED = 9; |
||||
} |
||||
|
||||
// Output only. The system generated ID of the task. |
||||
int64 task_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Output only. The id of the parent task if the task is within a component scope. |
||||
// Empty if the task is at the root level. |
||||
int64 parent_task_id = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Output only. The user specified name of the task that is defined in |
||||
// [PipelineJob.spec][]. |
||||
string task_name = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Output only. Task create time. |
||||
google.protobuf.Timestamp create_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Output only. Task start time. |
||||
google.protobuf.Timestamp start_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Output only. Task end time. |
||||
google.protobuf.Timestamp end_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Output only. The detailed execution info. |
||||
PipelineTaskExecutorDetail executor_detail = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Output only. State of the task. |
||||
State state = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Output only. The execution metadata of the task. |
||||
Execution execution = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Output only. The error that occurred during task execution. |
||||
// Only populated when the task's state is FAILED or CANCELLED. |
||||
google.rpc.Status error = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Output only. The runtime input artifacts of the task. |
||||
map<string, ArtifactList> inputs = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Output only. The runtime output artifacts of the task. |
||||
map<string, ArtifactList> outputs = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
} |
||||
|
||||
// The runtime detail of a pipeline executor. |
||||
message PipelineTaskExecutorDetail { |
||||
// The detail of a container execution. It contains the job names of the |
||||
// lifecycle of a container execution. |
||||
message ContainerDetail { |
||||
// Output only. The name of the [CustomJob][google.cloud.aiplatform.v1beta1.CustomJob] for the main container execution. |
||||
string main_job = 1 [ |
||||
(google.api.field_behavior) = OUTPUT_ONLY, |
||||
(google.api.resource_reference) = { |
||||
type: "aiplatform.googleapis.com/CustomJob" |
||||
} |
||||
]; |
||||
|
||||
// Output only. The name of the [CustomJob][google.cloud.aiplatform.v1beta1.CustomJob] for the pre-caching-check container |
||||
// execution. This job will be available if the |
||||
// [PipelineJob.pipeline_spec][google.cloud.aiplatform.v1beta1.PipelineJob.pipeline_spec] specifies the `pre_caching_check` hook in |
||||
// the lifecycle events. |
||||
string pre_caching_check_job = 2 [ |
||||
(google.api.field_behavior) = OUTPUT_ONLY, |
||||
(google.api.resource_reference) = { |
||||
type: "aiplatform.googleapis.com/CustomJob" |
||||
} |
||||
]; |
||||
} |
||||
|
||||
// The detailed info for a custom job executor. |
||||
message CustomJobDetail { |
||||
option deprecated = true; |
||||
|
||||
// Output only. The name of the [CustomJob][google.cloud.aiplatform.v1beta1.CustomJob]. |
||||
string job = 1 [ |
||||
(google.api.field_behavior) = OUTPUT_ONLY, |
||||
(google.api.resource_reference) = { |
||||
type: "aiplatform.googleapis.com/CustomJob" |
||||
} |
||||
]; |
||||
} |
||||
|
||||
oneof details { |
||||
// Output only. The detailed info for a container executor. |
||||
ContainerDetail container_detail = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Output only. The detailed info for a custom job executor. |
||||
CustomJobDetail custom_job_detail = 2 [ |
||||
deprecated = true, |
||||
(google.api.field_behavior) = OUTPUT_ONLY |
||||
]; |
||||
} |
||||
} |
@ -0,0 +1,84 @@ |
||||
// Copyright 2021 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/encryption_spec.proto"; |
||||
import "google/protobuf/timestamp.proto"; |
||||
import "google/api/annotations.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1;aiplatform"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "TensorboardProto"; |
||||
option java_package = "com.google.cloud.aiplatform.v1beta1"; |
||||
|
||||
// Tensorboard is a physical database that stores users’ training metrics. |
||||
// A default Tensorboard is provided in each region of a GCP project. |
||||
// If needed users can also create extra Tensorboards in their projects. |
||||
message Tensorboard { |
||||
option (google.api.resource) = { |
||||
type: "aiplatform.googleapis.com/Tensorboard" |
||||
pattern: "projects/{project}/locations/{location}/tensorboards/{tensorboard}" |
||||
}; |
||||
|
||||
// Output only. Name of the Tensorboard. |
||||
// Format: |
||||
// `projects/{project}/locations/{location}/tensorboards/{tensorboard}` |
||||
string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Required. User provided name of this Tensorboard. |
||||
string display_name = 2 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Description of this Tensorboard. |
||||
string description = 3; |
||||
|
||||
// Customer-managed encryption key spec for a Tensorboard. If set, this |
||||
// Tensorboard and all sub-resources of this Tensorboard will be secured by |
||||
// this key. |
||||
EncryptionSpec encryption_spec = 11; |
||||
|
||||
// Output only. Consumer project Cloud Storage path prefix used to store blob data, which |
||||
// can either be a bucket or directory. Does not end with a '/'. |
||||
string blob_storage_path_prefix = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Output only. The number of Runs stored in this Tensorboard. |
||||
int32 run_count = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Output only. Timestamp when this Tensorboard was created. |
||||
google.protobuf.Timestamp create_time = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Output only. Timestamp when this Tensorboard was last updated. |
||||
google.protobuf.Timestamp update_time = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// The labels with user-defined metadata to organize your Tensorboards. |
||||
// |
||||
// 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. |
||||
// No more than 64 user labels can be associated with one Tensorboard |
||||
// (System labels are excluded). |
||||
// |
||||
// See https://goo.gl/xmQnxf for more information and examples of labels. |
||||
// System reserved label keys are prefixed with "aiplatform.googleapis.com/" |
||||
// and are immutable. |
||||
map<string, string> labels = 8; |
||||
|
||||
// Used to perform a consistent read-modify-write updates. If not set, a blind |
||||
// "overwrite" update happens. |
||||
string etag = 9; |
||||
} |
@ -0,0 +1,99 @@ |
||||
// Copyright 2021 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/cloud/aiplatform/v1beta1/tensorboard_time_series.proto"; |
||||
import "google/protobuf/timestamp.proto"; |
||||
import "google/api/annotations.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1;aiplatform"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "TensorboardDataProto"; |
||||
option java_package = "com.google.cloud.aiplatform.v1beta1"; |
||||
|
||||
// All the data stored in a TensorboardTimeSeries. |
||||
message TimeSeriesData { |
||||
// Required. The ID of the TensorboardTimeSeries, which will become the final component |
||||
// of the TensorboardTimeSeries' resource name |
||||
string tensorboard_time_series_id = 1 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Required. Immutable. The value type of this time series. All the values in this time series data |
||||
// must match this value type. |
||||
TensorboardTimeSeries.ValueType value_type = 2 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.field_behavior) = IMMUTABLE |
||||
]; |
||||
|
||||
// Required. Data points in this time series. |
||||
repeated TimeSeriesDataPoint values = 3 [(google.api.field_behavior) = REQUIRED]; |
||||
} |
||||
|
||||
// A TensorboardTimeSeries data point. |
||||
message TimeSeriesDataPoint { |
||||
// Value of this time series data point. |
||||
oneof value { |
||||
// A scalar value. |
||||
Scalar scalar = 3; |
||||
|
||||
// A tensor value. |
||||
TensorboardTensor tensor = 4; |
||||
|
||||
// A blob sequence value. |
||||
TensorboardBlobSequence blobs = 5; |
||||
} |
||||
|
||||
// Wall clock timestamp when this data point is generated by the end user. |
||||
google.protobuf.Timestamp wall_time = 1; |
||||
|
||||
// Step index of this data point within the run. |
||||
int64 step = 2; |
||||
} |
||||
|
||||
// One point viewable on a scalar metric plot. |
||||
message Scalar { |
||||
// Value of the point at this step / timestamp. |
||||
double value = 1; |
||||
} |
||||
|
||||
// One point viewable on a tensor metric plot. |
||||
message TensorboardTensor { |
||||
// Required. Serialized form of |
||||
// https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/framework/tensor.proto |
||||
bytes value = 1 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Optional. Version number of TensorProto used to serialize [value][google.cloud.aiplatform.v1beta1.TensorboardTensor.value]. |
||||
int32 version_number = 2 [(google.api.field_behavior) = OPTIONAL]; |
||||
} |
||||
|
||||
// One point viewable on a blob metric plot, but mostly just a wrapper message |
||||
// to work around repeated fields can't be used directly within `oneof` fields. |
||||
message TensorboardBlobSequence { |
||||
// List of blobs contained within the sequence. |
||||
repeated TensorboardBlob values = 1; |
||||
} |
||||
|
||||
// One blob (e.g, image, graph) viewable on a blob metric plot. |
||||
message TensorboardBlob { |
||||
// Output only. A URI safe key uniquely identifying a blob. Can be used to locate the blob |
||||
// stored in the Cloud Storage bucket of the consumer project. |
||||
string id = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Optional. The bytes of the blob is not present unless it's returned by the |
||||
// ReadTensorboardBlobData endpoint. |
||||
bytes data = 2 [(google.api.field_behavior) = OPTIONAL]; |
||||
} |
@ -0,0 +1,76 @@ |
||||
// Copyright 2021 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/protobuf/timestamp.proto"; |
||||
import "google/api/annotations.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1;aiplatform"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "TensorboardExperimentProto"; |
||||
option java_package = "com.google.cloud.aiplatform.v1beta1"; |
||||
|
||||
// A TensorboardExperiment is a group of TensorboardRuns, that are typically the |
||||
// results of a training job run, in a Tensorboard. |
||||
message TensorboardExperiment { |
||||
option (google.api.resource) = { |
||||
type: "aiplatform.googleapis.com/TensorboardExperiment" |
||||
pattern: "projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}" |
||||
}; |
||||
|
||||
// Output only. Name of the TensorboardExperiment. |
||||
// Format: |
||||
// `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}` |
||||
string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// User provided name of this TensorboardExperiment. |
||||
string display_name = 2; |
||||
|
||||
// Description of this TensorboardExperiment. |
||||
string description = 3; |
||||
|
||||
// Output only. Timestamp when this TensorboardExperiment was created. |
||||
google.protobuf.Timestamp create_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Output only. Timestamp when this TensorboardExperiment was last updated. |
||||
google.protobuf.Timestamp update_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// The labels with user-defined metadata to organize your Datasets. |
||||
// |
||||
// 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. |
||||
// No more than 64 user labels can be associated with one Dataset (System |
||||
// labels are excluded). |
||||
// |
||||
// See https://goo.gl/xmQnxf for more information and examples of labels. |
||||
// System reserved label keys are prefixed with "aiplatform.googleapis.com/" |
||||
// and are immutable. Following system labels exist for each Dataset: |
||||
// * "aiplatform.googleapis.com/dataset_metadata_schema": |
||||
// - output only, its value is the |
||||
// [metadata_schema's][metadata_schema_uri] title. |
||||
map<string, string> labels = 6; |
||||
|
||||
// Used to perform consistent read-modify-write updates. If not set, a blind |
||||
// "overwrite" update happens. |
||||
string etag = 7; |
||||
|
||||
// Immutable. Source of the TensorboardExperiment. Example: a custom training job. |
||||
string source = 8 [(google.api.field_behavior) = IMMUTABLE]; |
||||
} |
@ -0,0 +1,61 @@ |
||||
// Copyright 2021 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/protobuf/timestamp.proto"; |
||||
import "google/api/annotations.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1;aiplatform"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "TensorboardRunProto"; |
||||
option java_package = "com.google.cloud.aiplatform.v1beta1"; |
||||
|
||||
// TensorboardRun maps to a specific execution of a training job with a given |
||||
// set of hyperparameter values, model definition, dataset, etc |
||||
message TensorboardRun { |
||||
option (google.api.resource) = { |
||||
type: "aiplatform.googleapis.com/TensorboardRun" |
||||
pattern: "projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}" |
||||
}; |
||||
|
||||
// Output only. Name of the TensorboardRun. |
||||
// Format: |
||||
// `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}` |
||||
string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Required. User provided name of this TensorboardRun. |
||||
// This value must be unique among all TensorboardRuns |
||||
// belonging to the same parent TensorboardExperiment. |
||||
string display_name = 2 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Description of this TensorboardRun. |
||||
string description = 3; |
||||
|
||||
// Output only. Timestamp when this TensorboardRun was created. |
||||
google.protobuf.Timestamp create_time = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Output only. Timestamp when this TensorboardRun was last updated. |
||||
google.protobuf.Timestamp update_time = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
map<string, string> labels = 8; |
||||
|
||||
// Used to perform a consistent read-modify-write updates. If not set, a blind |
||||
// "overwrite" update happens. |
||||
string etag = 9; |
||||
} |
@ -0,0 +1,856 @@ |
||||
// Copyright 2021 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/annotations.proto"; |
||||
import "google/api/client.proto"; |
||||
import "google/api/field_behavior.proto"; |
||||
import "google/api/resource.proto"; |
||||
import "google/cloud/aiplatform/v1beta1/operation.proto"; |
||||
import "google/cloud/aiplatform/v1beta1/tensorboard.proto"; |
||||
import "google/cloud/aiplatform/v1beta1/tensorboard_data.proto"; |
||||
import "google/cloud/aiplatform/v1beta1/tensorboard_experiment.proto"; |
||||
import "google/cloud/aiplatform/v1beta1/tensorboard_run.proto"; |
||||
import "google/cloud/aiplatform/v1beta1/tensorboard_time_series.proto"; |
||||
import "google/longrunning/operations.proto"; |
||||
import "google/protobuf/field_mask.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1;aiplatform"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "TensorboardServiceProto"; |
||||
option java_package = "com.google.cloud.aiplatform.v1beta1"; |
||||
|
||||
// TensorboardService |
||||
service TensorboardService { |
||||
option (google.api.default_host) = "aiplatform.googleapis.com"; |
||||
option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; |
||||
|
||||
// Creates a Tensorboard. |
||||
rpc CreateTensorboard(CreateTensorboardRequest) returns (google.longrunning.Operation) { |
||||
option (google.api.http) = { |
||||
post: "/v1beta1/{parent=projects/*/locations/*}/tensorboards" |
||||
body: "tensorboard" |
||||
}; |
||||
option (google.api.method_signature) = "parent,tensorboard"; |
||||
option (google.longrunning.operation_info) = { |
||||
response_type: "Tensorboard" |
||||
metadata_type: "CreateTensorboardOperationMetadata" |
||||
}; |
||||
} |
||||
|
||||
// Gets a Tensorboard. |
||||
rpc GetTensorboard(GetTensorboardRequest) returns (Tensorboard) { |
||||
option (google.api.http) = { |
||||
get: "/v1beta1/{name=projects/*/locations/*/tensorboards/*}" |
||||
}; |
||||
option (google.api.method_signature) = "name"; |
||||
} |
||||
|
||||
// Updates a Tensorboard. |
||||
rpc UpdateTensorboard(UpdateTensorboardRequest) returns (google.longrunning.Operation) { |
||||
option (google.api.http) = { |
||||
patch: "/v1beta1/{tensorboard.name=projects/*/locations/*/tensorboards/*}" |
||||
body: "tensorboard" |
||||
}; |
||||
option (google.api.method_signature) = "tensorboard,update_mask"; |
||||
option (google.longrunning.operation_info) = { |
||||
response_type: "Tensorboard" |
||||
metadata_type: "UpdateTensorboardOperationMetadata" |
||||
}; |
||||
} |
||||
|
||||
// Lists Tensorboards in a Location. |
||||
rpc ListTensorboards(ListTensorboardsRequest) returns (ListTensorboardsResponse) { |
||||
option (google.api.http) = { |
||||
get: "/v1beta1/{parent=projects/*/locations/*}/tensorboards" |
||||
}; |
||||
option (google.api.method_signature) = "parent"; |
||||
} |
||||
|
||||
// Deletes a Tensorboard. |
||||
rpc DeleteTensorboard(DeleteTensorboardRequest) returns (google.longrunning.Operation) { |
||||
option (google.api.http) = { |
||||
delete: "/v1beta1/{name=projects/*/locations/*/tensorboards/*}" |
||||
}; |
||||
option (google.api.method_signature) = "name"; |
||||
option (google.longrunning.operation_info) = { |
||||
response_type: "google.protobuf.Empty" |
||||
metadata_type: "DeleteOperationMetadata" |
||||
}; |
||||
} |
||||
|
||||
// Creates a TensorboardExperiment. |
||||
rpc CreateTensorboardExperiment(CreateTensorboardExperimentRequest) returns (TensorboardExperiment) { |
||||
option (google.api.http) = { |
||||
post: "/v1beta1/{parent=projects/*/locations/*/tensorboards/*}/experiments" |
||||
body: "tensorboard_experiment" |
||||
}; |
||||
option (google.api.method_signature) = "parent,tensorboard_experiment,tensorboard_experiment_id"; |
||||
} |
||||
|
||||
// Gets a TensorboardExperiment. |
||||
rpc GetTensorboardExperiment(GetTensorboardExperimentRequest) returns (TensorboardExperiment) { |
||||
option (google.api.http) = { |
||||
get: "/v1beta1/{name=projects/*/locations/*/tensorboards/*/experiments/*}" |
||||
}; |
||||
option (google.api.method_signature) = "name"; |
||||
} |
||||
|
||||
// Updates a TensorboardExperiment. |
||||
rpc UpdateTensorboardExperiment(UpdateTensorboardExperimentRequest) returns (TensorboardExperiment) { |
||||
option (google.api.http) = { |
||||
patch: "/v1beta1/{tensorboard_experiment.name=projects/*/locations/*/tensorboards/*/experiments/*}" |
||||
body: "tensorboard_experiment" |
||||
}; |
||||
option (google.api.method_signature) = "tensorboard_experiment,update_mask"; |
||||
} |
||||
|
||||
// Lists TensorboardExperiments in a Location. |
||||
rpc ListTensorboardExperiments(ListTensorboardExperimentsRequest) returns (ListTensorboardExperimentsResponse) { |
||||
option (google.api.http) = { |
||||
get: "/v1beta1/{parent=projects/*/locations/*/tensorboards/*}/experiments" |
||||
}; |
||||
option (google.api.method_signature) = "parent"; |
||||
} |
||||
|
||||
// Deletes a TensorboardExperiment. |
||||
rpc DeleteTensorboardExperiment(DeleteTensorboardExperimentRequest) returns (google.longrunning.Operation) { |
||||
option (google.api.http) = { |
||||
delete: "/v1beta1/{name=projects/*/locations/*/tensorboards/*/experiments/*}" |
||||
}; |
||||
option (google.api.method_signature) = "name"; |
||||
option (google.longrunning.operation_info) = { |
||||
response_type: "google.protobuf.Empty" |
||||
metadata_type: "DeleteOperationMetadata" |
||||
}; |
||||
} |
||||
|
||||
// Creates a TensorboardRun. |
||||
rpc CreateTensorboardRun(CreateTensorboardRunRequest) returns (TensorboardRun) { |
||||
option (google.api.http) = { |
||||
post: "/v1beta1/{parent=projects/*/locations/*/tensorboards/*/experiments/*}/runs" |
||||
body: "tensorboard_run" |
||||
}; |
||||
option (google.api.method_signature) = "parent,tensorboard_run,tensorboard_run_id"; |
||||
} |
||||
|
||||
// Gets a TensorboardRun. |
||||
rpc GetTensorboardRun(GetTensorboardRunRequest) returns (TensorboardRun) { |
||||
option (google.api.http) = { |
||||
get: "/v1beta1/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*}" |
||||
}; |
||||
option (google.api.method_signature) = "name"; |
||||
} |
||||
|
||||
// Updates a TensorboardRun. |
||||
rpc UpdateTensorboardRun(UpdateTensorboardRunRequest) returns (TensorboardRun) { |
||||
option (google.api.http) = { |
||||
patch: "/v1beta1/{tensorboard_run.name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*}" |
||||
body: "tensorboard_run" |
||||
}; |
||||
option (google.api.method_signature) = "tensorboard_run,update_mask"; |
||||
} |
||||
|
||||
// Lists TensorboardRuns in a Location. |
||||
rpc ListTensorboardRuns(ListTensorboardRunsRequest) returns (ListTensorboardRunsResponse) { |
||||
option (google.api.http) = { |
||||
get: "/v1beta1/{parent=projects/*/locations/*/tensorboards/*/experiments/*}/runs" |
||||
}; |
||||
option (google.api.method_signature) = "parent"; |
||||
} |
||||
|
||||
// Deletes a TensorboardRun. |
||||
rpc DeleteTensorboardRun(DeleteTensorboardRunRequest) returns (google.longrunning.Operation) { |
||||
option (google.api.http) = { |
||||
delete: "/v1beta1/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*}" |
||||
}; |
||||
option (google.api.method_signature) = "name"; |
||||
option (google.longrunning.operation_info) = { |
||||
response_type: "google.protobuf.Empty" |
||||
metadata_type: "DeleteOperationMetadata" |
||||
}; |
||||
} |
||||
|
||||
// Creates a TensorboardTimeSeries. |
||||
rpc CreateTensorboardTimeSeries(CreateTensorboardTimeSeriesRequest) returns (TensorboardTimeSeries) { |
||||
option (google.api.http) = { |
||||
post: "/v1beta1/{parent=projects/*/locations/*/tensorboards/*/experiments/*/runs/*}/timeSeries" |
||||
body: "tensorboard_time_series" |
||||
}; |
||||
option (google.api.method_signature) = "parent,tensorboard_time_series"; |
||||
} |
||||
|
||||
// Gets a TensorboardTimeSeries. |
||||
rpc GetTensorboardTimeSeries(GetTensorboardTimeSeriesRequest) returns (TensorboardTimeSeries) { |
||||
option (google.api.http) = { |
||||
get: "/v1beta1/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*}" |
||||
}; |
||||
option (google.api.method_signature) = "name"; |
||||
} |
||||
|
||||
// Updates a TensorboardTimeSeries. |
||||
rpc UpdateTensorboardTimeSeries(UpdateTensorboardTimeSeriesRequest) returns (TensorboardTimeSeries) { |
||||
option (google.api.http) = { |
||||
patch: "/v1beta1/{tensorboard_time_series.name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*}" |
||||
body: "tensorboard_time_series" |
||||
}; |
||||
option (google.api.method_signature) = "tensorboard_time_series,update_mask"; |
||||
} |
||||
|
||||
// Lists TensorboardTimeSeries in a Location. |
||||
rpc ListTensorboardTimeSeries(ListTensorboardTimeSeriesRequest) returns (ListTensorboardTimeSeriesResponse) { |
||||
option (google.api.http) = { |
||||
get: "/v1beta1/{parent=projects/*/locations/*/tensorboards/*/experiments/*/runs/*}/timeSeries" |
||||
}; |
||||
option (google.api.method_signature) = "parent"; |
||||
} |
||||
|
||||
// Deletes a TensorboardTimeSeries. |
||||
rpc DeleteTensorboardTimeSeries(DeleteTensorboardTimeSeriesRequest) returns (google.longrunning.Operation) { |
||||
option (google.api.http) = { |
||||
delete: "/v1beta1/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*}" |
||||
}; |
||||
option (google.api.method_signature) = "name"; |
||||
option (google.longrunning.operation_info) = { |
||||
response_type: "google.protobuf.Empty" |
||||
metadata_type: "DeleteOperationMetadata" |
||||
}; |
||||
} |
||||
|
||||
// Reads a TensorboardTimeSeries' data. Data is returned in paginated |
||||
// responses. By default, if the number of data points stored is less than |
||||
// 1000, all data will be returned. Otherwise, 1000 data points will be |
||||
// randomly selected from this time series and returned. This value can be |
||||
// changed by changing max_data_points. |
||||
rpc ReadTensorboardTimeSeriesData(ReadTensorboardTimeSeriesDataRequest) returns (ReadTensorboardTimeSeriesDataResponse) { |
||||
option (google.api.http) = { |
||||
get: "/v1beta1/{tensorboard_time_series=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*}:read" |
||||
}; |
||||
option (google.api.method_signature) = "tensorboard_time_series"; |
||||
} |
||||
|
||||
// Gets bytes of TensorboardBlobs. |
||||
// This is to allow reading blob data stored in consumer project's Cloud |
||||
// Storage bucket without users having to obtain Cloud Storage access |
||||
// permission. |
||||
rpc ReadTensorboardBlobData(ReadTensorboardBlobDataRequest) returns (stream ReadTensorboardBlobDataResponse) { |
||||
option (google.api.http) = { |
||||
get: "/v1beta1/{time_series=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*}:readBlobData" |
||||
}; |
||||
option (google.api.method_signature) = "time_series"; |
||||
} |
||||
|
||||
// Write time series data points into multiple TensorboardTimeSeries under |
||||
// a TensorboardRun. If any data fail to be ingested, an error will be |
||||
// returned. |
||||
rpc WriteTensorboardRunData(WriteTensorboardRunDataRequest) returns (WriteTensorboardRunDataResponse) { |
||||
option (google.api.http) = { |
||||
post: "/v1beta1/{tensorboard_run=projects/*/locations/*/tensorboards/*/experiments/*/runs/*}:write" |
||||
body: "*" |
||||
}; |
||||
option (google.api.method_signature) = "tensorboard_run,time_series_data"; |
||||
} |
||||
|
||||
// Exports a TensorboardTimeSeries' data. Data is returned in paginated |
||||
// responses. |
||||
rpc ExportTensorboardTimeSeriesData(ExportTensorboardTimeSeriesDataRequest) returns (ExportTensorboardTimeSeriesDataResponse) { |
||||
option (google.api.http) = { |
||||
post: "/v1beta1/{tensorboard_time_series=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*}:exportTensorboardTimeSeries" |
||||
body: "*" |
||||
}; |
||||
option (google.api.method_signature) = "tensorboard_time_series"; |
||||
} |
||||
} |
||||
|
||||
// Request message for [TensorboardService.CreateTensorboard][google.cloud.aiplatform.v1beta1.TensorboardService.CreateTensorboard]. |
||||
message CreateTensorboardRequest { |
||||
// Required. The resource name of the Location to create the Tensorboard in. |
||||
// Format: `projects/{project}/locations/{location}` |
||||
string parent = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
type: "aiplatform.googleapis.com/Tensorboard" |
||||
} |
||||
]; |
||||
|
||||
// Required. The Tensorboard to create. |
||||
Tensorboard tensorboard = 2 [(google.api.field_behavior) = REQUIRED]; |
||||
} |
||||
|
||||
// Request message for [TensorboardService.GetTensorboard][google.cloud.aiplatform.v1beta1.TensorboardService.GetTensorboard]. |
||||
message GetTensorboardRequest { |
||||
// Required. The name of the Tensorboard resource. |
||||
// Format: |
||||
// `projects/{project}/locations/{location}/tensorboards/{tensorboard}` |
||||
string name = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
type: "aiplatform.googleapis.com/Tensorboard" |
||||
} |
||||
]; |
||||
} |
||||
|
||||
// Request message for [TensorboardService.ListTensorboards][google.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboards]. |
||||
message ListTensorboardsRequest { |
||||
// Required. The resource name of the Location to list Tensorboards. |
||||
// Format: |
||||
// 'projects/{project}/locations/{location}' |
||||
string parent = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
child_type: "aiplatform.googleapis.com/Tensorboard" |
||||
} |
||||
]; |
||||
|
||||
// Lists the Tensorboards that match the filter expression. |
||||
string filter = 2; |
||||
|
||||
// The maximum number of Tensorboards to return. The service may return |
||||
// fewer than this value. If unspecified, at most 100 Tensorboards will be |
||||
// returned. The maximum value is 100; values above 100 will be coerced to |
||||
// 100. |
||||
int32 page_size = 3; |
||||
|
||||
// A page token, received from a previous |
||||
// [TensorboardService.ListTensorboards][google.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboards] call. |
||||
// Provide this to retrieve the subsequent page. |
||||
// |
||||
// When paginating, all other parameters provided to |
||||
// [TensorboardService.ListTensorboards][google.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboards] must |
||||
// match the call that provided the page token. |
||||
string page_token = 4; |
||||
|
||||
// Field to use to sort the list. |
||||
string order_by = 5; |
||||
|
||||
// Mask specifying which fields to read. |
||||
google.protobuf.FieldMask read_mask = 6; |
||||
} |
||||
|
||||
// Response message for [TensorboardService.ListTensorboards][google.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboards]. |
||||
message ListTensorboardsResponse { |
||||
// The Tensorboards mathching the request. |
||||
repeated Tensorboard tensorboards = 1; |
||||
|
||||
// A token, which can be sent as [ListTensorboardsRequest.page_token][google.cloud.aiplatform.v1beta1.ListTensorboardsRequest.page_token] |
||||
// to retrieve the next page. If this field is omitted, there are no |
||||
// subsequent pages. |
||||
string next_page_token = 2; |
||||
} |
||||
|
||||
// Request message for [TensorboardService.UpdateTensorboard][google.cloud.aiplatform.v1beta1.TensorboardService.UpdateTensorboard]. |
||||
message UpdateTensorboardRequest { |
||||
// Required. Field mask is used to specify the fields to be overwritten in the |
||||
// Tensorboard resource by the update. |
||||
// The fields specified in the update_mask are relative to the resource, not |
||||
// the full request. A field will be overwritten if it is in the mask. If the |
||||
// user does not provide a mask then all fields will be overwritten if new |
||||
// values are specified. |
||||
google.protobuf.FieldMask update_mask = 1 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Required. The Tensorboard's `name` field is used to identify the |
||||
// Tensorboard to be updated. Format: |
||||
// `projects/{project}/locations/{location}/tensorboards/{tensorboard}` |
||||
Tensorboard tensorboard = 2 [(google.api.field_behavior) = REQUIRED]; |
||||
} |
||||
|
||||
// Request message for [TensorboardService.DeleteTensorboard][google.cloud.aiplatform.v1beta1.TensorboardService.DeleteTensorboard]. |
||||
message DeleteTensorboardRequest { |
||||
// Required. The name of the Tensorboard to be deleted. |
||||
// Format: |
||||
// `projects/{project}/locations/{location}/tensorboards/{tensorboard}` |
||||
string name = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
type: "aiplatform.googleapis.com/Tensorboard" |
||||
} |
||||
]; |
||||
} |
||||
|
||||
// Request message for [TensorboardService.CreateTensorboardExperiment][google.cloud.aiplatform.v1beta1.TensorboardService.CreateTensorboardExperiment]. |
||||
message CreateTensorboardExperimentRequest { |
||||
// Required. The resource name of the Tensorboard to create the TensorboardExperiment |
||||
// in. Format: |
||||
// `projects/{project}/locations/{location}/tensorboards/{tensorboard}` |
||||
string parent = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
type: "aiplatform.googleapis.com/TensorboardExperiment" |
||||
} |
||||
]; |
||||
|
||||
// The TensorboardExperiment to create. |
||||
TensorboardExperiment tensorboard_experiment = 2; |
||||
|
||||
// Required. The ID to use for the Tensorboard experiment, which will become the final |
||||
// component of the Tensorboard experiment's resource name. |
||||
// |
||||
// This value should be 1-128 characters, and valid characters |
||||
// are /[a-z][0-9]-/. |
||||
string tensorboard_experiment_id = 3 [(google.api.field_behavior) = REQUIRED]; |
||||
} |
||||
|
||||
// Request message for [TensorboardService.GetTensorboardExperiment][google.cloud.aiplatform.v1beta1.TensorboardService.GetTensorboardExperiment]. |
||||
message GetTensorboardExperimentRequest { |
||||
// Required. The name of the TensorboardExperiment resource. |
||||
// Format: |
||||
// `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}` |
||||
string name = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
type: "aiplatform.googleapis.com/TensorboardExperiment" |
||||
} |
||||
]; |
||||
} |
||||
|
||||
// Request message for [TensorboardService.ListTensorboardExperiments][google.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboardExperiments]. |
||||
message ListTensorboardExperimentsRequest { |
||||
// Required. The resource name of the Tensorboard to list TensorboardExperiments. |
||||
// Format: |
||||
// 'projects/{project}/locations/{location}/tensorboards/{tensorboard}' |
||||
string parent = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
child_type: "aiplatform.googleapis.com/TensorboardExperiment" |
||||
} |
||||
]; |
||||
|
||||
// Lists the TensorboardExperiments that match the filter expression. |
||||
string filter = 2; |
||||
|
||||
// The maximum number of TensorboardExperiments to return. The service may |
||||
// return fewer than this value. If unspecified, at most 50 |
||||
// TensorboardExperiments will be returned. The maximum value is 1000; values |
||||
// above 1000 will be coerced to 1000. |
||||
int32 page_size = 3; |
||||
|
||||
// A page token, received from a previous |
||||
// [TensorboardService.ListTensorboardExperiments][google.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboardExperiments] call. |
||||
// Provide this to retrieve the subsequent page. |
||||
// |
||||
// When paginating, all other parameters provided to |
||||
// [TensorboardService.ListTensorboardExperiments][google.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboardExperiments] must |
||||
// match the call that provided the page token. |
||||
string page_token = 4; |
||||
|
||||
// Field to use to sort the list. |
||||
string order_by = 5; |
||||
|
||||
// Mask specifying which fields to read. |
||||
google.protobuf.FieldMask read_mask = 6; |
||||
} |
||||
|
||||
// Response message for [TensorboardService.ListTensorboardExperiments][google.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboardExperiments]. |
||||
message ListTensorboardExperimentsResponse { |
||||
// The TensorboardExperiments mathching the request. |
||||
repeated TensorboardExperiment tensorboard_experiments = 1; |
||||
|
||||
// A token, which can be sent as |
||||
// [ListTensorboardExperimentsRequest.page_token][google.cloud.aiplatform.v1beta1.ListTensorboardExperimentsRequest.page_token] to retrieve the next page. |
||||
// If this field is omitted, there are no subsequent pages. |
||||
string next_page_token = 2; |
||||
} |
||||
|
||||
// Request message for [TensorboardService.UpdateTensorboardExperiment][google.cloud.aiplatform.v1beta1.TensorboardService.UpdateTensorboardExperiment]. |
||||
message UpdateTensorboardExperimentRequest { |
||||
// Required. Field mask is used to specify the fields to be overwritten in the |
||||
// TensorboardExperiment resource by the update. |
||||
// The fields specified in the update_mask are relative to the resource, not |
||||
// the full request. A field will be overwritten if it is in the mask. If the |
||||
// user does not provide a mask then all fields will be overwritten if new |
||||
// values are specified. |
||||
google.protobuf.FieldMask update_mask = 1 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Required. The TensorboardExperiment's `name` field is used to identify the |
||||
// TensorboardExperiment to be updated. Format: |
||||
// `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}` |
||||
TensorboardExperiment tensorboard_experiment = 2 [(google.api.field_behavior) = REQUIRED]; |
||||
} |
||||
|
||||
// Request message for [TensorboardService.DeleteTensorboardExperiment][google.cloud.aiplatform.v1beta1.TensorboardService.DeleteTensorboardExperiment]. |
||||
message DeleteTensorboardExperimentRequest { |
||||
// Required. The name of the TensorboardExperiment to be deleted. |
||||
// Format: |
||||
// `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}` |
||||
string name = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
type: "aiplatform.googleapis.com/TensorboardExperiment" |
||||
} |
||||
]; |
||||
} |
||||
|
||||
// Request message for [TensorboardService.CreateTensorboardRun][google.cloud.aiplatform.v1beta1.TensorboardService.CreateTensorboardRun]. |
||||
message CreateTensorboardRunRequest { |
||||
// Required. The resource name of the Tensorboard to create the TensorboardRun in. |
||||
// Format: |
||||
// `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}` |
||||
string parent = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
type: "aiplatform.googleapis.com/TensorboardRun" |
||||
} |
||||
]; |
||||
|
||||
// Required. The TensorboardRun to create. |
||||
TensorboardRun tensorboard_run = 2 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Required. The ID to use for the Tensorboard run, which will become the final |
||||
// component of the Tensorboard run's resource name. |
||||
// |
||||
// This value should be 1-128 characters, and valid characters |
||||
// are /[a-z][0-9]-/. |
||||
string tensorboard_run_id = 3 [(google.api.field_behavior) = REQUIRED]; |
||||
} |
||||
|
||||
// Request message for [TensorboardService.GetTensorboardRun][google.cloud.aiplatform.v1beta1.TensorboardService.GetTensorboardRun]. |
||||
message GetTensorboardRunRequest { |
||||
// Required. The name of the TensorboardRun resource. |
||||
// Format: |
||||
// `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}` |
||||
string name = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
type: "aiplatform.googleapis.com/TensorboardRun" |
||||
} |
||||
]; |
||||
} |
||||
|
||||
// Request message for [TensorboardService.ReadTensorboardBlobData][google.cloud.aiplatform.v1beta1.TensorboardService.ReadTensorboardBlobData]. |
||||
message ReadTensorboardBlobDataRequest { |
||||
// Required. The resource name of the TensorboardTimeSeries to list Blobs. |
||||
// Format: |
||||
// 'projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}' |
||||
string time_series = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
type: "aiplatform.googleapis.com/TensorboardTimeSeries" |
||||
} |
||||
]; |
||||
|
||||
// IDs of the blobs to read. |
||||
repeated string blob_ids = 2; |
||||
} |
||||
|
||||
// Response message for [TensorboardService.ReadTensorboardBlobData][google.cloud.aiplatform.v1beta1.TensorboardService.ReadTensorboardBlobData]. |
||||
message ReadTensorboardBlobDataResponse { |
||||
// Blob messages containing blob bytes. |
||||
repeated TensorboardBlob blobs = 1; |
||||
} |
||||
|
||||
// Request message for [TensorboardService.ListTensorboardRuns][google.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboardRuns]. |
||||
message ListTensorboardRunsRequest { |
||||
// Required. The resource name of the Tensorboard to list TensorboardRuns. |
||||
// Format: |
||||
// 'projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}' |
||||
string parent = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
child_type: "aiplatform.googleapis.com/TensorboardRun" |
||||
} |
||||
]; |
||||
|
||||
// Lists the TensorboardRuns that match the filter expression. |
||||
string filter = 2; |
||||
|
||||
// The maximum number of TensorboardRuns to return. The service may return |
||||
// fewer than this value. If unspecified, at most 50 TensorboardRuns will be |
||||
// returned. The maximum value is 1000; values above 1000 will be coerced to |
||||
// 1000. |
||||
int32 page_size = 3; |
||||
|
||||
// A page token, received from a previous |
||||
// [TensorboardService.ListTensorboardRuns][google.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboardRuns] call. |
||||
// Provide this to retrieve the subsequent page. |
||||
// |
||||
// When paginating, all other parameters provided to |
||||
// [TensorboardService.ListTensorboardRuns][google.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboardRuns] must |
||||
// match the call that provided the page token. |
||||
string page_token = 4; |
||||
|
||||
// Field to use to sort the list. |
||||
string order_by = 5; |
||||
|
||||
// Mask specifying which fields to read. |
||||
google.protobuf.FieldMask read_mask = 6; |
||||
} |
||||
|
||||
// Response message for [TensorboardService.ListTensorboardRuns][google.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboardRuns]. |
||||
message ListTensorboardRunsResponse { |
||||
// The TensorboardRuns mathching the request. |
||||
repeated TensorboardRun tensorboard_runs = 1; |
||||
|
||||
// A token, which can be sent as [ListTensorboardRunsRequest.page_token][google.cloud.aiplatform.v1beta1.ListTensorboardRunsRequest.page_token] to |
||||
// retrieve the next page. |
||||
// If this field is omitted, there are no subsequent pages. |
||||
string next_page_token = 2; |
||||
} |
||||
|
||||
// Request message for [TensorboardService.UpdateTensorboardRun][google.cloud.aiplatform.v1beta1.TensorboardService.UpdateTensorboardRun]. |
||||
message UpdateTensorboardRunRequest { |
||||
// Required. Field mask is used to specify the fields to be overwritten in the |
||||
// TensorboardRun resource by the update. |
||||
// The fields specified in the update_mask are relative to the resource, not |
||||
// the full request. A field will be overwritten if it is in the mask. If the |
||||
// user does not provide a mask then all fields will be overwritten if new |
||||
// values are specified. |
||||
google.protobuf.FieldMask update_mask = 1 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Required. The TensorboardRun's `name` field is used to identify the TensorboardRun to |
||||
// be updated. Format: |
||||
// `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}` |
||||
TensorboardRun tensorboard_run = 2 [(google.api.field_behavior) = REQUIRED]; |
||||
} |
||||
|
||||
// Request message for [TensorboardService.DeleteTensorboardRun][google.cloud.aiplatform.v1beta1.TensorboardService.DeleteTensorboardRun]. |
||||
message DeleteTensorboardRunRequest { |
||||
// Required. The name of the TensorboardRun to be deleted. |
||||
// Format: |
||||
// `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}` |
||||
string name = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
type: "aiplatform.googleapis.com/TensorboardRun" |
||||
} |
||||
]; |
||||
} |
||||
|
||||
// Request message for [TensorboardService.CreateTensorboardTimeSeries][google.cloud.aiplatform.v1beta1.TensorboardService.CreateTensorboardTimeSeries]. |
||||
message CreateTensorboardTimeSeriesRequest { |
||||
// Required. The resource name of the TensorboardRun to create the |
||||
// TensorboardTimeSeries in. |
||||
// Format: |
||||
// `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}` |
||||
string parent = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
type: "aiplatform.googleapis.com/TensorboardTimeSeries" |
||||
} |
||||
]; |
||||
|
||||
// Optional. The user specified unique ID to use for the TensorboardTimeSeries, which |
||||
// will become the final component of the TensorboardTimeSeries's resource |
||||
// name. Ref: go/ucaip-user-specified-id |
||||
// |
||||
// This value should match "[a-z0-9][a-z0-9-]{0, 127}" |
||||
string tensorboard_time_series_id = 3 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Required. The TensorboardTimeSeries to create. |
||||
TensorboardTimeSeries tensorboard_time_series = 2 [(google.api.field_behavior) = REQUIRED]; |
||||
} |
||||
|
||||
// Request message for [TensorboardService.GetTensorboardTimeSeries][google.cloud.aiplatform.v1beta1.TensorboardService.GetTensorboardTimeSeries]. |
||||
message GetTensorboardTimeSeriesRequest { |
||||
// Required. The name of the TensorboardTimeSeries resource. |
||||
// Format: |
||||
// `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}` |
||||
string name = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
type: "aiplatform.googleapis.com/TensorboardTimeSeries" |
||||
} |
||||
]; |
||||
} |
||||
|
||||
// Request message for [TensorboardService.ListTensorboardTimeSeries][google.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboardTimeSeries]. |
||||
message ListTensorboardTimeSeriesRequest { |
||||
// Required. The resource name of the TensorboardRun to list TensorboardTimeSeries. |
||||
// Format: |
||||
// 'projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}' |
||||
string parent = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
child_type: "aiplatform.googleapis.com/TensorboardTimeSeries" |
||||
} |
||||
]; |
||||
|
||||
// Lists the TensorboardTimeSeries that match the filter expression. |
||||
string filter = 2; |
||||
|
||||
// The maximum number of TensorboardTimeSeries to return. The service may |
||||
// return fewer than this value. If unspecified, at most 50 |
||||
// TensorboardTimeSeries will be returned. The maximum value is 1000; values |
||||
// above 1000 will be coerced to 1000. |
||||
int32 page_size = 3; |
||||
|
||||
// A page token, received from a previous |
||||
// [TensorboardService.ListTensorboardTimeSeries][google.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboardTimeSeries] call. |
||||
// Provide this to retrieve the subsequent page. |
||||
// |
||||
// When paginating, all other parameters provided to |
||||
// [TensorboardService.ListTensorboardTimeSeries][google.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboardTimeSeries] must |
||||
// match the call that provided the page token. |
||||
string page_token = 4; |
||||
|
||||
// Field to use to sort the list. |
||||
string order_by = 5; |
||||
|
||||
// Mask specifying which fields to read. |
||||
google.protobuf.FieldMask read_mask = 6; |
||||
} |
||||
|
||||
// Response message for [TensorboardService.ListTensorboardTimeSeries][google.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboardTimeSeries]. |
||||
message ListTensorboardTimeSeriesResponse { |
||||
// The TensorboardTimeSeries mathching the request. |
||||
repeated TensorboardTimeSeries tensorboard_time_series = 1; |
||||
|
||||
// A token, which can be sent as |
||||
// [ListTensorboardTimeSeriesRequest.page_token][google.cloud.aiplatform.v1beta1.ListTensorboardTimeSeriesRequest.page_token] to retrieve the next page. |
||||
// If this field is omitted, there are no subsequent pages. |
||||
string next_page_token = 2; |
||||
} |
||||
|
||||
// Request message for [TensorboardService.UpdateTensorboardTimeSeries][google.cloud.aiplatform.v1beta1.TensorboardService.UpdateTensorboardTimeSeries]. |
||||
message UpdateTensorboardTimeSeriesRequest { |
||||
// Required. Field mask is used to specify the fields to be overwritten in the |
||||
// TensorboardTimeSeries resource by the update. |
||||
// The fields specified in the update_mask are relative to the resource, not |
||||
// the full request. A field will be overwritten if it is in the mask. If the |
||||
// user does not provide a mask then all fields will be overwritten if new |
||||
// values are specified. |
||||
google.protobuf.FieldMask update_mask = 1 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Required. The TensorboardTimeSeries' `name` field is used to identify the |
||||
// TensorboardTimeSeries to be updated. |
||||
// Format: |
||||
// `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}` |
||||
TensorboardTimeSeries tensorboard_time_series = 2 [(google.api.field_behavior) = REQUIRED]; |
||||
} |
||||
|
||||
// Request message for [TensorboardService.DeleteTensorboardTimeSeries][google.cloud.aiplatform.v1beta1.TensorboardService.DeleteTensorboardTimeSeries]. |
||||
message DeleteTensorboardTimeSeriesRequest { |
||||
// Required. The name of the TensorboardTimeSeries to be deleted. |
||||
// Format: |
||||
// `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}` |
||||
string name = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
type: "aiplatform.googleapis.com/TensorboardTimeSeries" |
||||
} |
||||
]; |
||||
} |
||||
|
||||
// Request message for [TensorboardService.ReadTensorboardTimeSeriesData][google.cloud.aiplatform.v1beta1.TensorboardService.ReadTensorboardTimeSeriesData]. |
||||
message ReadTensorboardTimeSeriesDataRequest { |
||||
// Required. The resource name of the TensorboardTimeSeries to read data from. |
||||
// Format: |
||||
// `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}` |
||||
string tensorboard_time_series = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
type: "aiplatform.googleapis.com/TensorboardTimeSeries" |
||||
} |
||||
]; |
||||
|
||||
// The maximum number of TensorboardTimeSeries' data to return. |
||||
// |
||||
// This value should be a positive integer. |
||||
// This value can be set to -1 to return all data. |
||||
int32 max_data_points = 2; |
||||
|
||||
// Reads the TensorboardTimeSeries' data that match the filter expression. |
||||
string filter = 3; |
||||
} |
||||
|
||||
// Response message for [TensorboardService.ReadTensorboardTimeSeriesData][google.cloud.aiplatform.v1beta1.TensorboardService.ReadTensorboardTimeSeriesData]. |
||||
message ReadTensorboardTimeSeriesDataResponse { |
||||
// The returned time series data. |
||||
TimeSeriesData time_series_data = 1; |
||||
} |
||||
|
||||
// Request message for [TensorboardService.WriteTensorboardRunData][google.cloud.aiplatform.v1beta1.TensorboardService.WriteTensorboardRunData]. |
||||
message WriteTensorboardRunDataRequest { |
||||
// Required. The resource name of the TensorboardRun to write data to. |
||||
// Format: |
||||
// `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}` |
||||
string tensorboard_run = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
type: "aiplatform.googleapis.com/TensorboardRun" |
||||
} |
||||
]; |
||||
|
||||
// Required. The TensorboardTimeSeries data to write. |
||||
// Values with in a time series are indexed by their step value. |
||||
// Repeated writes to the same step will overwrite the existing value for that |
||||
// step. |
||||
// The upper limit of data points per write request is 5000. |
||||
repeated TimeSeriesData time_series_data = 2 [(google.api.field_behavior) = REQUIRED]; |
||||
} |
||||
|
||||
// Response message for [TensorboardService.WriteTensorboardRunData][google.cloud.aiplatform.v1beta1.TensorboardService.WriteTensorboardRunData]. |
||||
message WriteTensorboardRunDataResponse { |
||||
|
||||
} |
||||
|
||||
// Request message for [TensorboardService.ExportTensorboardTimeSeriesData][google.cloud.aiplatform.v1beta1.TensorboardService.ExportTensorboardTimeSeriesData]. |
||||
message ExportTensorboardTimeSeriesDataRequest { |
||||
// Required. The resource name of the TensorboardTimeSeries to export data from. |
||||
// Format: |
||||
// `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}` |
||||
string tensorboard_time_series = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
type: "aiplatform.googleapis.com/TensorboardTimeSeries" |
||||
} |
||||
]; |
||||
|
||||
// Exports the TensorboardTimeSeries' data that match the filter expression. |
||||
string filter = 2; |
||||
|
||||
// The maximum number of data points to return per page. |
||||
// The default page_size will be 1000. Values must be between 1 and 10000. |
||||
// Values above 10000 will be coerced to 10000. |
||||
int32 page_size = 3; |
||||
|
||||
// A page token, received from a previous |
||||
// [TensorboardService.ExportTensorboardTimeSeries][] call. |
||||
// Provide this to retrieve the subsequent page. |
||||
// |
||||
// When paginating, all other parameters provided to |
||||
// [TensorboardService.ExportTensorboardTimeSeries][] must |
||||
// match the call that provided the page token. |
||||
string page_token = 4; |
||||
|
||||
// Field to use to sort the TensorboardTimeSeries' data. |
||||
// By default, TensorboardTimeSeries' data will be returned in a pseudo random |
||||
// order. |
||||
string order_by = 5; |
||||
} |
||||
|
||||
// Response message for [TensorboardService.ExportTensorboardTimeSeriesData][google.cloud.aiplatform.v1beta1.TensorboardService.ExportTensorboardTimeSeriesData]. |
||||
message ExportTensorboardTimeSeriesDataResponse { |
||||
// The returned time series data points. |
||||
repeated TimeSeriesDataPoint time_series_data_points = 1; |
||||
|
||||
// A token, which can be sent as |
||||
// [ExportTensorboardTimeSeriesRequest.page_token][] to retrieve the next |
||||
// page. If this field is omitted, there are no subsequent pages. |
||||
string next_page_token = 2; |
||||
} |
||||
|
||||
// Details of operations that perform create Tensorboard. |
||||
message CreateTensorboardOperationMetadata { |
||||
// Operation metadata for Tensorboard. |
||||
GenericOperationMetadata generic_metadata = 1; |
||||
} |
||||
|
||||
// Details of operations that perform update Tensorboard. |
||||
message UpdateTensorboardOperationMetadata { |
||||
// Operation metadata for Tensorboard. |
||||
GenericOperationMetadata generic_metadata = 1; |
||||
} |
@ -0,0 +1,104 @@ |
||||
// Copyright 2021 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/protobuf/timestamp.proto"; |
||||
import "google/api/annotations.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1;aiplatform"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "TensorboardTimeSeriesProto"; |
||||
option java_package = "com.google.cloud.aiplatform.v1beta1"; |
||||
|
||||
// TensorboardTimeSeries maps to times series produced in training runs |
||||
message TensorboardTimeSeries { |
||||
option (google.api.resource) = { |
||||
type: "aiplatform.googleapis.com/TensorboardTimeSeries" |
||||
pattern: "projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}" |
||||
}; |
||||
|
||||
// Describes metadata for a TensorboardTimeSeries. |
||||
message Metadata { |
||||
// Output only. Max step index of all data points within a TensorboardTimeSeries. |
||||
int64 max_step = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Output only. Max wall clock timestamp of all data points within a |
||||
// TensorboardTimeSeries. |
||||
google.protobuf.Timestamp max_wall_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Output only. The largest blob sequence length (number of blobs) of all data points in |
||||
// this time series, if its ValueType is BLOB_SEQUENCE. |
||||
int64 max_blob_sequence_length = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
} |
||||
|
||||
// An enum representing the value type of a TensorboardTimeSeries. |
||||
enum ValueType { |
||||
// The value type is unspecified. |
||||
VALUE_TYPE_UNSPECIFIED = 0; |
||||
|
||||
// Used for TensorboardTimeSeries that is a list of scalars. |
||||
// E.g. accuracy of a model over epochs/time. |
||||
SCALAR = 1; |
||||
|
||||
// Used for TensorboardTimeSeries that is a list of tensors. |
||||
// E.g. histograms of weights of layer in a model over epoch/time. |
||||
TENSOR = 2; |
||||
|
||||
// Used for TensorboardTimeSeries that is a list of blob sequences. |
||||
// E.g. set of sample images with labels over epochs/time. |
||||
BLOB_SEQUENCE = 3; |
||||
} |
||||
|
||||
// Output only. Name of the TensorboardTimeSeries. |
||||
string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Required. User provided name of this TensorboardTimeSeries. |
||||
// This value should be unique among all TensorboardTimeSeries resources |
||||
// belonging to the same TensorboardRun resource (parent resource). |
||||
string display_name = 2 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Description of this TensorboardTimeSeries. |
||||
string description = 3; |
||||
|
||||
// Required. Immutable. Type of TensorboardTimeSeries value. |
||||
ValueType value_type = 4 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.field_behavior) = IMMUTABLE |
||||
]; |
||||
|
||||
// Output only. Timestamp when this TensorboardTimeSeries was created. |
||||
google.protobuf.Timestamp create_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Output only. Timestamp when this TensorboardTimeSeries was last updated. |
||||
google.protobuf.Timestamp update_time = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Used to perform a consistent read-modify-write updates. If not set, a blind |
||||
// "overwrite" update happens. |
||||
string etag = 7; |
||||
|
||||
// Immutable. Name of the plugin this time series pertain to. Such as Scalar, Tensor, |
||||
// Blob |
||||
string plugin_name = 8 [(google.api.field_behavior) = IMMUTABLE]; |
||||
|
||||
// Data of the current plugin, with the size limited to 65KB. |
||||
bytes plugin_data = 9; |
||||
|
||||
// Output only. Scalar, Tensor, or Blob metadata for this TensorboardTimeSeries. |
||||
Metadata metadata = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
} |
@ -0,0 +1,48 @@ |
||||
// Copyright 2021 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/annotations.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1;aiplatform"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "TypesProto"; |
||||
option java_package = "com.google.cloud.aiplatform.v1beta1"; |
||||
|
||||
// A list of boolean values. |
||||
message BoolArray { |
||||
// A list of bool values. |
||||
repeated bool values = 1; |
||||
} |
||||
|
||||
// A list of double values. |
||||
message DoubleArray { |
||||
// A list of bool values. |
||||
repeated double values = 1; |
||||
} |
||||
|
||||
// A list of int64 values. |
||||
message Int64Array { |
||||
// A list of int64 values. |
||||
repeated int64 values = 1; |
||||
} |
||||
|
||||
// A list of string values. |
||||
message StringArray { |
||||
// A list of string values. |
||||
repeated string values = 1; |
||||
} |
@ -0,0 +1,38 @@ |
||||
// Copyright 2021 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/annotations.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1;aiplatform"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "ValueProto"; |
||||
option java_package = "com.google.cloud.aiplatform.v1beta1"; |
||||
|
||||
// Value is the value of the field. |
||||
message Value { |
||||
oneof value { |
||||
// An integer value. |
||||
int64 int_value = 1; |
||||
|
||||
// A double value. |
||||
double double_value = 2; |
||||
|
||||
// A string value. |
||||
string string_value = 3; |
||||
} |
||||
} |
Loading…
Reference in new issue