Skip to content

Commit 8f97c0b

Browse files
feat: add featurestore, index, metadata, monitoring, pipeline, and tensorboard services to aiplatform v1beta1. (#118)
PiperOrigin-RevId: 371996826 Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com> Co-authored-by: Jeff Ching <[email protected]>
1 parent 28ae046 commit 8f97c0b

File tree

109 files changed

+260887
-72320
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

109 files changed

+260887
-72320
lines changed

packages/google-cloud-aiplatform/linkinator.config.json

+1-4
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,7 @@
33
"skip": [
44
"https://codecov.io/gh/googleapis/",
55
"www.googleapis.com",
6-
"img.shields.io",
7-
"https://github.com/googleapis/nodejs-ai-platform/blob/master/samples/create-batch-prediction-job-text-classification.js",
8-
"https://github.com/googleapis/nodejs-ai-platform/blob/master/samples/create-batch-prediction-job-text-entity-extraction.js",
9-
"https://github.com/googleapis/nodejs-ai-platform/blob/master/samples/create-batch-prediction-job-text-sentiment-analysis.js"
6+
"img.shields.io"
107
],
118
"silent": true,
129
"concurrency": 10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
// Copyright 2021 Google LLC
2+
//
3+
// Licensed under the Apache License, Version 2.0 (the "License");
4+
// you may not use this file except in compliance with the License.
5+
// You may obtain a copy of the License at
6+
//
7+
// http://www.apache.org/licenses/LICENSE-2.0
8+
//
9+
// Unless required by applicable law or agreed to in writing, software
10+
// distributed under the License is distributed on an "AS IS" BASIS,
11+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
// See the License for the specific language governing permissions and
13+
// limitations under the License.
14+
15+
syntax = "proto3";
16+
17+
package google.cloud.aiplatform.v1beta1;
18+
19+
import "google/api/field_behavior.proto";
20+
import "google/api/resource.proto";
21+
import "google/cloud/aiplatform/v1beta1/value.proto";
22+
import "google/protobuf/struct.proto";
23+
import "google/protobuf/timestamp.proto";
24+
import "google/api/annotations.proto";
25+
26+
option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1;aiplatform";
27+
option java_multiple_files = true;
28+
option java_outer_classname = "ArtifactProto";
29+
option java_package = "com.google.cloud.aiplatform.v1beta1";
30+
31+
// Instance of a general artifact.
32+
message Artifact {
33+
option (google.api.resource) = {
34+
type: "aiplatform.googleapis.com/Artifact"
35+
pattern: "projects/{project}/locations/{location}/metadataStores/{metadata_store}/artifacts/{artifact}"
36+
};
37+
38+
// Describes the state of the Artifact.
39+
enum State {
40+
// Unspecified state for the Artifact.
41+
STATE_UNSPECIFIED = 0;
42+
43+
// A state used by systems like Managed Pipelines to indicate that the
44+
// underlying data item represented by this Artifact is being created.
45+
PENDING = 1;
46+
47+
// A state indicating that the Artifact should exist, unless something
48+
// external to the system deletes it.
49+
LIVE = 2;
50+
}
51+
52+
// Output only. The resource name of the Artifact.
53+
string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
54+
55+
// User provided display name of the Artifact.
56+
// May be up to 128 Unicode characters.
57+
string display_name = 2;
58+
59+
// The uniform resource identifier of the artifact file.
60+
// May be empty if there is no actual artifact file.
61+
string uri = 6;
62+
63+
// An eTag used to perform consistent read-modify-write updates. If not set, a
64+
// blind "overwrite" update happens.
65+
string etag = 9;
66+
67+
// The labels with user-defined metadata to organize your Artifacts.
68+
//
69+
// Label keys and values can be no longer than 64 characters
70+
// (Unicode codepoints), can only contain lowercase letters, numeric
71+
// characters, underscores and dashes. International characters are allowed.
72+
// No more than 64 user labels can be associated with one Artifact (System
73+
// labels are excluded).
74+
map<string, string> labels = 10;
75+
76+
// Output only. Timestamp when this Artifact was created.
77+
google.protobuf.Timestamp create_time = 11 [(google.api.field_behavior) = OUTPUT_ONLY];
78+
79+
// Output only. Timestamp when this Artifact was last updated.
80+
google.protobuf.Timestamp update_time = 12 [(google.api.field_behavior) = OUTPUT_ONLY];
81+
82+
// The state of this Artifact. This is a property of the Artifact, and does
83+
// not imply or capture any ongoing process. This property is managed by
84+
// clients (such as AI Platform Pipelines), and the system does not prescribe
85+
// or check the validity of state transitions.
86+
State state = 13;
87+
88+
// The title of the schema describing the metadata.
89+
//
90+
// Schema title and version is expected to be registered in earlier Create
91+
// Schema calls. And both are used together as unique identifiers to identify
92+
// schemas within the local metadata store.
93+
string schema_title = 14;
94+
95+
// The version of the schema in schema_name to use.
96+
//
97+
// Schema title and version is expected to be registered in earlier Create
98+
// Schema calls. And both are used together as unique identifiers to identify
99+
// schemas within the local metadata store.
100+
string schema_version = 15;
101+
102+
// Properties of the Artifact.
103+
google.protobuf.Struct metadata = 16;
104+
105+
// Description of the Artifact
106+
string description = 17;
107+
}

packages/google-cloud-aiplatform/protos/google/cloud/aiplatform/v1beta1/batch_prediction_job.proto

+3-2
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import "google/cloud/aiplatform/v1beta1/io.proto";
2525
import "google/cloud/aiplatform/v1beta1/job_state.proto";
2626
import "google/cloud/aiplatform/v1beta1/machine_resources.proto";
2727
import "google/cloud/aiplatform/v1beta1/manual_batch_tuning_parameters.proto";
28+
import "google/cloud/aiplatform/v1beta1/model_monitoring.proto";
2829
import "google/protobuf/struct.proto";
2930
import "google/protobuf/timestamp.proto";
3031
import "google/rpc/status.proto";
@@ -97,8 +98,8 @@ message BatchPredictionJob {
9798
// containing only `code` and `message` fields.
9899
GcsDestination gcs_destination = 2;
99100

100-
// The BigQuery project location where the output is to be written to.
101-
// In the given project a new dataset is created with name
101+
// The BigQuery project or dataset location where the output is to be
102+
// written to. If project is provided, a new dataset is created with name
102103
// `prediction_<model-display-name>_<job-create-time>`
103104
// where <model-display-name> is made
104105
// BigQuery-dataset-name compatible (for example, most special characters
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
// Copyright 2021 Google LLC
2+
//
3+
// Licensed under the Apache License, Version 2.0 (the "License");
4+
// you may not use this file except in compliance with the License.
5+
// You may obtain a copy of the License at
6+
//
7+
// http://www.apache.org/licenses/LICENSE-2.0
8+
//
9+
// Unless required by applicable law or agreed to in writing, software
10+
// distributed under the License is distributed on an "AS IS" BASIS,
11+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
// See the License for the specific language governing permissions and
13+
// limitations under the License.
14+
15+
syntax = "proto3";
16+
17+
package google.cloud.aiplatform.v1beta1;
18+
19+
import "google/api/field_behavior.proto";
20+
import "google/api/resource.proto";
21+
import "google/cloud/aiplatform/v1beta1/value.proto";
22+
import "google/protobuf/struct.proto";
23+
import "google/protobuf/timestamp.proto";
24+
import "google/api/annotations.proto";
25+
26+
option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1;aiplatform";
27+
option java_multiple_files = true;
28+
option java_outer_classname = "ContextProto";
29+
option java_package = "com.google.cloud.aiplatform.v1beta1";
30+
31+
// Instance of a general context.
32+
message Context {
33+
option (google.api.resource) = {
34+
type: "aiplatform.googleapis.com/Context"
35+
pattern: "projects/{project}/locations/{location}/metadataStores/{metadata_store}/contexts/{context}"
36+
};
37+
38+
// Output only. The resource name of the Context.
39+
string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
40+
41+
// User provided display name of the Context.
42+
// May be up to 128 Unicode characters.
43+
string display_name = 2;
44+
45+
// An eTag used to perform consistent read-modify-write updates. If not set, a
46+
// blind "overwrite" update happens.
47+
string etag = 8;
48+
49+
// The labels with user-defined metadata to organize your Contexts.
50+
//
51+
// Label keys and values can be no longer than 64 characters
52+
// (Unicode codepoints), can only contain lowercase letters, numeric
53+
// characters, underscores and dashes. International characters are allowed.
54+
// No more than 64 user labels can be associated with one Context (System
55+
// labels are excluded).
56+
map<string, string> labels = 9;
57+
58+
// Output only. Timestamp when this Context was created.
59+
google.protobuf.Timestamp create_time = 10 [(google.api.field_behavior) = OUTPUT_ONLY];
60+
61+
// Output only. Timestamp when this Context was last updated.
62+
google.protobuf.Timestamp update_time = 11 [(google.api.field_behavior) = OUTPUT_ONLY];
63+
64+
// Output only. A list of resource names of Contexts that are parents of this Context.
65+
// A Context may have at most 10 parent_contexts.
66+
repeated string parent_contexts = 12 [
67+
(google.api.field_behavior) = OUTPUT_ONLY,
68+
(google.api.resource_reference) = {
69+
type: "aiplatform.googleapis.com/Context"
70+
}
71+
];
72+
73+
// The title of the schema describing the metadata.
74+
//
75+
// Schema title and version is expected to be registered in earlier Create
76+
// Schema calls. And both are used together as unique identifiers to identify
77+
// schemas within the local metadata store.
78+
string schema_title = 13;
79+
80+
// The version of the schema in schema_name to use.
81+
//
82+
// Schema title and version is expected to be registered in earlier Create
83+
// Schema calls. And both are used together as unique identifiers to identify
84+
// schemas within the local metadata store.
85+
string schema_version = 14;
86+
87+
// Properties of the Context.
88+
google.protobuf.Struct metadata = 15;
89+
90+
// Description of the Context
91+
string description = 16;
92+
}

packages/google-cloud-aiplatform/protos/google/cloud/aiplatform/v1beta1/custom_job.proto

+14-1
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,9 @@ message CustomJobSpec {
116116
//
117117
// Private services access must already be configured for the network. If left
118118
// unspecified, the job is not peered with any network.
119-
string network = 5;
119+
string network = 5 [(google.api.resource_reference) = {
120+
type: "compute.googleapis.com/Network"
121+
}];
120122

121123
// The Cloud Storage location to store the output of this CustomJob or
122124
// HyperparameterTuningJob. For HyperparameterTuningJob,
@@ -140,6 +142,17 @@ message CustomJobSpec {
140142
// * AIP_CHECKPOINT_DIR = `<base_output_directory>/<trial_id>/checkpoints/`
141143
// * AIP_TENSORBOARD_LOG_DIR = `<base_output_directory>/<trial_id>/logs/`
142144
GcsDestination base_output_directory = 6;
145+
146+
// Optional. The name of an AI Platform [Tensorboard][google.cloud.aiplatform.v1beta1.Tensorboard] resource to which this CustomJob
147+
// will upload Tensorboard logs.
148+
// Format:
149+
// `projects/{project}/locations/{location}/tensorboards/{tensorboard}`
150+
string tensorboard = 7 [
151+
(google.api.field_behavior) = OPTIONAL,
152+
(google.api.resource_reference) = {
153+
type: "aiplatform.googleapis.com/Tensorboard"
154+
}
155+
];
143156
}
144157

145158
// Represents the spec of a worker pool in a job.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
// Copyright 2021 Google LLC
2+
//
3+
// Licensed under the Apache License, Version 2.0 (the "License");
4+
// you may not use this file except in compliance with the License.
5+
// You may obtain a copy of the License at
6+
//
7+
// http://www.apache.org/licenses/LICENSE-2.0
8+
//
9+
// Unless required by applicable law or agreed to in writing, software
10+
// distributed under the License is distributed on an "AS IS" BASIS,
11+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
// See the License for the specific language governing permissions and
13+
// limitations under the License.
14+
15+
syntax = "proto3";
16+
17+
package google.cloud.aiplatform.v1beta1;
18+
19+
import "google/api/field_behavior.proto";
20+
import "google/api/resource.proto";
21+
import "google/api/annotations.proto";
22+
23+
option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1;aiplatform";
24+
option java_multiple_files = true;
25+
option java_outer_classname = "DeployedIndexRefProto";
26+
option java_package = "com.google.cloud.aiplatform.v1beta1";
27+
28+
// Points to a DeployedIndex.
29+
message DeployedIndexRef {
30+
// Immutable. A resource name of the IndexEndpoint.
31+
string index_endpoint = 1 [
32+
(google.api.field_behavior) = IMMUTABLE,
33+
(google.api.resource_reference) = {
34+
type: "aiplatform.googleapis.com/IndexEndpoint"
35+
}
36+
];
37+
38+
// Immutable. The ID of the DeployedIndex in the above IndexEndpoint.
39+
string deployed_index_id = 2 [(google.api.field_behavior) = IMMUTABLE];
40+
}

packages/google-cloud-aiplatform/protos/google/cloud/aiplatform/v1beta1/endpoint.proto

+1
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import "google/api/resource.proto";
2121
import "google/cloud/aiplatform/v1beta1/encryption_spec.proto";
2222
import "google/cloud/aiplatform/v1beta1/explanation.proto";
2323
import "google/cloud/aiplatform/v1beta1/machine_resources.proto";
24+
import "google/cloud/aiplatform/v1beta1/model_deployment_monitoring_job.proto";
2425
import "google/protobuf/timestamp.proto";
2526
import "google/api/annotations.proto";
2627

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
// Copyright 2021 Google LLC
2+
//
3+
// Licensed under the Apache License, Version 2.0 (the "License");
4+
// you may not use this file except in compliance with the License.
5+
// You may obtain a copy of the License at
6+
//
7+
// http://www.apache.org/licenses/LICENSE-2.0
8+
//
9+
// Unless required by applicable law or agreed to in writing, software
10+
// distributed under the License is distributed on an "AS IS" BASIS,
11+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
// See the License for the specific language governing permissions and
13+
// limitations under the License.
14+
15+
syntax = "proto3";
16+
17+
package google.cloud.aiplatform.v1beta1;
18+
19+
import "google/api/field_behavior.proto";
20+
import "google/api/resource.proto";
21+
import "google/cloud/aiplatform/v1beta1/feature.proto";
22+
import "google/cloud/aiplatform/v1beta1/featurestore_monitoring.proto";
23+
import "google/protobuf/timestamp.proto";
24+
import "google/api/annotations.proto";
25+
26+
option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1;aiplatform";
27+
option java_multiple_files = true;
28+
option java_outer_classname = "EntityTypeProto";
29+
option java_package = "com.google.cloud.aiplatform.v1beta1";
30+
31+
// An entity type is a type of object in a system that needs to be modeled and
32+
// have stored information about. For example, driver is an entity type, and
33+
// driver0 is an instance of an entity type driver.
34+
message EntityType {
35+
option (google.api.resource) = {
36+
type: "aiplatform.googleapis.com/EntityType"
37+
pattern: "projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}"
38+
};
39+
40+
// Immutable. Name of the EntityType.
41+
// Format:
42+
// `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}`
43+
//
44+
// The last part entity_type is assigned by the client. The entity_type can be
45+
// up to 64 characters long and can consist only of ASCII Latin letters A-Z
46+
// and a-z and underscore(_), and ASCII digits 0-9 starting with a letter. The
47+
// value will be unique given a featurestore.
48+
string name = 1 [(google.api.field_behavior) = IMMUTABLE];
49+
50+
// Optional. Description of the EntityType.
51+
string description = 2 [(google.api.field_behavior) = OPTIONAL];
52+
53+
// Output only. Timestamp when this EntityType was created.
54+
google.protobuf.Timestamp create_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
55+
56+
// Output only. Timestamp when this EntityType was most recently updated.
57+
google.protobuf.Timestamp update_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
58+
59+
// Optional. The labels with user-defined metadata to organize your EntityTypes.
60+
//
61+
// Label keys and values can be no longer than 64 characters
62+
// (Unicode codepoints), can only contain lowercase letters, numeric
63+
// characters, underscores and dashes. International characters are allowed.
64+
//
65+
// See https://goo.gl/xmQnxf for more information on and examples of labels.
66+
// No more than 64 user labels can be associated with one EntityType (System
67+
// labels are excluded)."
68+
// System reserved label keys are prefixed with "aiplatform.googleapis.com/"
69+
// and are immutable.
70+
map<string, string> labels = 6 [(google.api.field_behavior) = OPTIONAL];
71+
72+
// Optional. Used to perform a consistent read-modify-write updates. If not set, a blind
73+
// "overwrite" update happens.
74+
string etag = 7 [(google.api.field_behavior) = OPTIONAL];
75+
76+
// Optional. The default monitoring configuration for all Features under this
77+
// EntityType.
78+
//
79+
// If this is populated with
80+
// [FeaturestoreMonitoringConfig.monitoring_interval] specified, snapshot
81+
// analysis monitoring is enabled. Otherwise, snapshot analysis monitoring is
82+
// disabled.
83+
FeaturestoreMonitoringConfig monitoring_config = 8 [(google.api.field_behavior) = OPTIONAL];
84+
}

0 commit comments

Comments
 (0)