Skip to content

Commit

Permalink
feat: add protected_artifact_location_id to CustomJob
Browse files Browse the repository at this point in the history
feat: add value_type, version_column_name to Feature
feat: add FeatureGroup, FeatureOnlineStore, FeatureOnlineStoreAdminService, FeatureOnlineStoreService, FeatureRegistryService, FeatureView, FeatureViewSync
feat: add NumericRestriction to Index
feat: add tpu_topology to MachineSpec
chore: change DeleteOperationMetadata to DeleteModelVersionOperationMetadata in ModelService
feat: add CountTokensRequest to PredictionService
feat: add StudyTimeConstraint to Study

PiperOrigin-RevId: 581306827
  • Loading branch information
Google APIs authored and Copybara-Service committed Nov 10, 2023
1 parent 97f85e1 commit 01af66a
Show file tree
Hide file tree
Showing 17 changed files with 1,764 additions and 25 deletions.
7 changes: 7 additions & 0 deletions google/cloud/aiplatform/v1/BUILD.bazel
Expand Up @@ -54,8 +54,15 @@ proto_library(
"explanation.proto",
"explanation_metadata.proto",
"feature.proto",
"feature_group.proto",
"feature_monitoring_stats.proto",
"feature_online_store.proto",
"feature_online_store_admin_service.proto",
"feature_online_store_service.proto",
"feature_registry_service.proto",
"feature_selector.proto",
"feature_view.proto",
"feature_view_sync.proto",
"featurestore.proto",
"featurestore_monitoring.proto",
"featurestore_online_service.proto",
Expand Down
65 changes: 65 additions & 0 deletions google/cloud/aiplatform/v1/aiplatform_v1.yaml
Expand Up @@ -6,6 +6,9 @@ title: Vertex AI API
apis:
- name: google.cloud.aiplatform.v1.DatasetService
- name: google.cloud.aiplatform.v1.EndpointService
- name: google.cloud.aiplatform.v1.FeatureOnlineStoreAdminService
- name: google.cloud.aiplatform.v1.FeatureOnlineStoreService
- name: google.cloud.aiplatform.v1.FeatureRegistryService
- name: google.cloud.aiplatform.v1.FeaturestoreOnlineServingService
- name: google.cloud.aiplatform.v1.FeaturestoreService
- name: google.cloud.aiplatform.v1.IndexEndpointService
Expand Down Expand Up @@ -41,11 +44,15 @@ types:
- name: google.cloud.aiplatform.v1.CreateDatasetVersionOperationMetadata
- name: google.cloud.aiplatform.v1.CreateEndpointOperationMetadata
- name: google.cloud.aiplatform.v1.CreateEntityTypeOperationMetadata
- name: google.cloud.aiplatform.v1.CreateFeatureGroupOperationMetadata
- name: google.cloud.aiplatform.v1.CreateFeatureOnlineStoreOperationMetadata
- name: google.cloud.aiplatform.v1.CreateFeatureOperationMetadata
- name: google.cloud.aiplatform.v1.CreateFeatureViewOperationMetadata
- name: google.cloud.aiplatform.v1.CreateFeaturestoreOperationMetadata
- name: google.cloud.aiplatform.v1.CreateIndexEndpointOperationMetadata
- name: google.cloud.aiplatform.v1.CreateIndexOperationMetadata
- name: google.cloud.aiplatform.v1.CreateMetadataStoreOperationMetadata
- name: google.cloud.aiplatform.v1.CreateRegistryFeatureOperationMetadata
- name: google.cloud.aiplatform.v1.CreateSpecialistPoolOperationMetadata
- name: google.cloud.aiplatform.v1.CreateTensorboardOperationMetadata
- name: google.cloud.aiplatform.v1.DeleteFeatureValuesOperationMetadata
Expand Down Expand Up @@ -86,6 +93,10 @@ types:
- name: google.cloud.aiplatform.v1.UndeployModelResponse
- name: google.cloud.aiplatform.v1.UpdateExplanationDatasetOperationMetadata
- name: google.cloud.aiplatform.v1.UpdateExplanationDatasetResponse
- name: google.cloud.aiplatform.v1.UpdateFeatureGroupOperationMetadata
- name: google.cloud.aiplatform.v1.UpdateFeatureOnlineStoreOperationMetadata
- name: google.cloud.aiplatform.v1.UpdateFeatureOperationMetadata
- name: google.cloud.aiplatform.v1.UpdateFeatureViewOperationMetadata
- name: google.cloud.aiplatform.v1.UpdateFeaturestoreOperationMetadata
- name: google.cloud.aiplatform.v1.UpdateIndexOperationMetadata
- name: google.cloud.aiplatform.v1.UpdateModelDeploymentMonitoringJobOperationMetadata
Expand Down Expand Up @@ -199,6 +210,8 @@ http:
- post: '/ui/{name=projects/*/locations/*/deploymentResourcePools/*/operations/*}:cancel'
- post: '/ui/{name=projects/*/locations/*/edgeDevices/*/operations/*}:cancel'
- post: '/ui/{name=projects/*/locations/*/endpoints/*/operations/*}:cancel'
- post: '/ui/{name=projects/*/locations/*/extensionControllers/*/operations/*}:cancel'
- post: '/ui/{name=projects/*/locations/*/extensions/*/operations/*}:cancel'
- post: '/ui/{name=projects/*/locations/*/featurestores/*/operations/*}:cancel'
- post: '/ui/{name=projects/*/locations/*/featurestores/*/entityTypes/*/operations/*}:cancel'
- post: '/ui/{name=projects/*/locations/*/featurestores/*/entityTypes/*/features/*/operations/*}:cancel'
Expand Down Expand Up @@ -263,6 +276,8 @@ http:
- delete: '/ui/{name=projects/*/locations/*/deploymentResourcePools/*/operations/*}'
- delete: '/ui/{name=projects/*/locations/*/edgeDevices/*/operations/*}'
- delete: '/ui/{name=projects/*/locations/*/endpoints/*/operations/*}'
- delete: '/ui/{name=projects/*/locations/*/extensionControllers/*}/operations'
- delete: '/ui/{name=projects/*/locations/*/extensions/*}/operations'
- delete: '/ui/{name=projects/*/locations/*/featurestores/*/operations/*}'
- delete: '/ui/{name=projects/*/locations/*/featurestores/*/entityTypes/*/operations/*}'
- delete: '/ui/{name=projects/*/locations/*/featurestores/*/entityTypes/*/features/*/operations/*}'
Expand All @@ -286,6 +301,10 @@ http:
- delete: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*/operations/*}'
- delete: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/operations/*}'
- delete: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*/operations/*}'
- delete: '/ui/{name=projects/*/locations/*/featureOnlineStores/*/operations/*}'
- delete: '/ui/{name=projects/*/locations/*/featureGroups/*/operations/*}'
- delete: '/ui/{name=projects/*/locations/*/featureGroups/*/features/*/operations/*}'
- delete: '/ui/{name=projects/*/locations/*/featureOnlineStores/*/featureViews/*/operations/*}'
- delete: '/v1/{name=projects/*/locations/*/operations/*}'
- delete: '/v1/{name=projects/*/locations/*/datasets/*/operations/*}'
- delete: '/v1/{name=projects/*/locations/*/datasets/*/dataItems/*/operations/*}'
Expand Down Expand Up @@ -316,6 +335,10 @@ http:
- delete: '/v1/{name=projects/*/locations/*/tensorboards/*/experiments/*/operations/*}'
- delete: '/v1/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/operations/*}'
- delete: '/v1/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*/operations/*}'
- delete: '/v1/{name=projects/*/locations/*/featureOnlineStores/*/operations/*}'
- delete: '/v1/{name=projects/*/locations/*/featureGroups/*/operations/*}'
- delete: '/v1/{name=projects/*/locations/*/featureGroups/*/features/*/operations/*}'
- delete: '/v1/{name=projects/*/locations/*/featureOnlineStores/*/featureViews/*/operations/*}'
- selector: google.longrunning.Operations.GetOperation
get: '/ui/{name=projects/*/locations/*/operations/*}'
additional_bindings:
Expand All @@ -328,6 +351,8 @@ http:
- get: '/ui/{name=projects/*/locations/*/edgeDeploymentJobs/*/operations/*}'
- get: '/ui/{name=projects/*/locations/*/edgeDevices/*/operations/*}'
- get: '/ui/{name=projects/*/locations/*/endpoints/*/operations/*}'
- get: '/ui/{name=projects/*/locations/*/extensionControllers/*/operations/*}'
- get: '/ui/{name=projects/*/locations/*/extensions/*/operations/*}'
- get: '/ui/{name=projects/*/locations/*/featurestores/*/operations/*}'
- get: '/ui/{name=projects/*/locations/*/featurestores/*/entityTypes/*/operations/*}'
- get: '/ui/{name=projects/*/locations/*/featurestores/*/entityTypes/*/features/*/operations/*}'
Expand All @@ -351,6 +376,10 @@ http:
- get: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*/operations/*}'
- get: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/operations/*}'
- get: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*/operations/*}'
- get: '/ui/{name=projects/*/locations/*/featureOnlineStores/*/operations/*}'
- get: '/ui/{name=projects/*/locations/*/featureOnlineStores/*/featureViews/*/operations/*}'
- get: '/ui/{name=projects/*/locations/*/featureGroups/*/operations/*}'
- get: '/ui/{name=projects/*/locations/*/featureGroups/*/features/*/operations/*}'
- get: '/v1/{name=projects/*/locations/*/operations/*}'
- get: '/v1/{name=projects/*/locations/*/datasets/*/operations/*}'
- get: '/v1/{name=projects/*/locations/*/datasets/*/dataItems/*/operations/*}'
Expand Down Expand Up @@ -381,6 +410,10 @@ http:
- get: '/v1/{name=projects/*/locations/*/tensorboards/*/experiments/*/operations/*}'
- get: '/v1/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/operations/*}'
- get: '/v1/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*/operations/*}'
- get: '/v1/{name=projects/*/locations/*/featureOnlineStores/*/operations/*}'
- get: '/v1/{name=projects/*/locations/*/featureOnlineStores/*/featureViews/*/operations/*}'
- get: '/v1/{name=projects/*/locations/*/featureGroups/*/operations/*}'
- get: '/v1/{name=projects/*/locations/*/featureGroups/*/features/*/operations/*}'
- selector: google.longrunning.Operations.ListOperations
get: '/ui/{name=projects/*/locations/*}/operations'
additional_bindings:
Expand All @@ -392,6 +425,8 @@ http:
- get: '/ui/{name=projects/*/locations/*/deploymentResourcePools/*}/operations'
- get: '/ui/{name=projects/*/locations/*/edgeDevices/*}/operations'
- get: '/ui/{name=projects/*/locations/*/endpoints/*}/operations'
- get: '/ui/{name=projects/*/locations/*/extensionControllers/*}/operations'
- get: '/ui/{name=projects/*/locations/*/extensions/*}/operations'
- get: '/ui/{name=projects/*/locations/*/featurestores/*}/operations'
- get: '/ui/{name=projects/*/locations/*/featurestores/*/entityTypes/*}/operations'
- get: '/ui/{name=projects/*/locations/*/featurestores/*/entityTypes/*/features/*}/operations'
Expand All @@ -415,6 +450,10 @@ http:
- get: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*}/operations'
- get: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*}/operations'
- get: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*}/operations'
- get: '/ui/{name=projects/*/locations/*/featureOnlineStores/*/operations/*}:wait'
- get: '/ui/{name=projects/*/locations/*/featureOnlineStores/*/featureViews/*/operations/*}:wait'
- get: '/ui/{name=projects/*/locations/*/featureGroups/*/operations/*}:wait'
- get: '/ui/{name=projects/*/locations/*/featureGroups/*/features/*/operations/*}:wait'
- get: '/v1/{name=projects/*/locations/*}/operations'
- get: '/v1/{name=projects/*/locations/*/datasets/*}/operations'
- get: '/v1/{name=projects/*/locations/*/datasets/*/dataItems/*}/operations'
Expand Down Expand Up @@ -445,6 +484,10 @@ http:
- get: '/v1/{name=projects/*/locations/*/tensorboards/*/experiments/*}/operations'
- get: '/v1/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*}/operations'
- get: '/v1/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*}/operations'
- get: '/v1/{name=projects/*/locations/*/featureOnlineStores/*/operations/*}:wait'
- get: '/v1/{name=projects/*/locations/*/featureOnlineStores/*/featureViews/*/operations/*}:wait'
- get: '/v1/{name=projects/*/locations/*/featureGroups/*/operations/*}:wait'
- get: '/v1/{name=projects/*/locations/*/featureGroups/*/features/*/operations/*}:wait'
- selector: google.longrunning.Operations.WaitOperation
post: '/ui/{name=projects/*/locations/*/operations/*}:wait'
additional_bindings:
Expand All @@ -456,6 +499,8 @@ http:
- post: '/ui/{name=projects/*/locations/*/deploymentResourcePools/*/operations/*}:wait'
- post: '/ui/{name=projects/*/locations/*/edgeDevices/*/operations/*}:wait'
- post: '/ui/{name=projects/*/locations/*/endpoints/*/operations/*}:wait'
- post: '/ui/{name=projects/*/locations/*/extensionControllers/*/operations/*}:wait'
- post: '/ui/{name=projects/*/locations/*/extensions/*/operations/*}:wait'
- post: '/ui/{name=projects/*/locations/*/featurestores/*/operations/*}:wait'
- post: '/ui/{name=projects/*/locations/*/featurestores/*/entityTypes/*/operations/*}:wait'
- post: '/ui/{name=projects/*/locations/*/featurestores/*/entityTypes/*/features/*/operations/*}:wait'
Expand All @@ -479,6 +524,10 @@ http:
- post: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*/operations/*}:wait'
- post: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/operations/*}:wait'
- post: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*/operations/*}:wait'
- post: '/ui/{name=projects/*/locations/*/featureOnlineStores/*/operations/*}:wait'
- post: '/ui/{name=projects/*/locations/*/featureOnlineStores/*/featureViews/*/operations/*}:wait'
- post: '/ui/{name=projects/*/locations/*/featureGroups/*/operations/*}:wait'
- post: '/ui/{name=projects/*/locations/*/featureGroups/*/features/*/operations/*}:wait'
- post: '/v1/{name=projects/*/locations/*/operations/*}:wait'
- post: '/v1/{name=projects/*/locations/*/datasets/*/operations/*}:wait'
- post: '/v1/{name=projects/*/locations/*/datasets/*/dataItems/*/operations/*}:wait'
Expand Down Expand Up @@ -509,6 +558,10 @@ http:
- post: '/v1/{name=projects/*/locations/*/tensorboards/*/experiments/*/operations/*}:wait'
- post: '/v1/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/operations/*}:wait'
- post: '/v1/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*/operations/*}:wait'
- post: '/v1/{name=projects/*/locations/*/featureOnlineStores/*/operations/*}:wait'
- post: '/v1/{name=projects/*/locations/*/featureOnlineStores/*/featureViews/*/operations/*}:wait'
- post: '/v1/{name=projects/*/locations/*/featureGroups/*/operations/*}:wait'
- post: '/v1/{name=projects/*/locations/*/featureGroups/*/features/*/operations/*}:wait'

authentication:
rules:
Expand All @@ -520,6 +573,18 @@ authentication:
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/cloud-platform
- selector: 'google.cloud.aiplatform.v1.FeatureOnlineStoreAdminService.*'
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/cloud-platform
- selector: google.cloud.aiplatform.v1.FeatureOnlineStoreService.FetchFeatureValues
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/cloud-platform
- selector: 'google.cloud.aiplatform.v1.FeatureRegistryService.*'
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/cloud-platform
- selector: 'google.cloud.aiplatform.v1.FeaturestoreOnlineServingService.*'
oauth:
canonical_scopes: |-
Expand Down
6 changes: 6 additions & 0 deletions google/cloud/aiplatform/v1/custom_job.proto
Expand Up @@ -181,6 +181,12 @@ message CustomJobSpec {
// * AIP_TENSORBOARD_LOG_DIR = `<base_output_directory>/<trial_id>/logs/`
GcsDestination base_output_directory = 6;

// The ID of the location to store protected artifacts. e.g. us-central1.
// Populate only when the location is different than CustomJob location.
// List of supported locations:
// https://cloud.google.com/vertex-ai/docs/general/locations
string protected_artifact_location_id = 19;

// Optional. The name of a Vertex AI
// [Tensorboard][google.cloud.aiplatform.v1.Tensorboard] resource to which
// this CustomJob will upload Tensorboard logs. Format:
Expand Down
39 changes: 25 additions & 14 deletions google/cloud/aiplatform/v1/feature.proto
Expand Up @@ -29,13 +29,15 @@ option java_package = "com.google.cloud.aiplatform.v1";
option php_namespace = "Google\\Cloud\\AIPlatform\\V1";
option ruby_package = "Google::Cloud::AIPlatform::V1";

// 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.
// Feature Metadata information.
// For example, color is a feature that describes an apple.
message Feature {
option (google.api.resource) = {
type: "aiplatform.googleapis.com/Feature"
pattern: "projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}/features/{feature}"
pattern: "projects/{project}/locations/{location}/featureGroups/{feature_group}/features/{feature}"
plural: "features"
singular: "feature"
};

// A list of historical
Expand Down Expand Up @@ -69,6 +71,7 @@ message Feature {
[(google.api.field_behavior) = OUTPUT_ONLY];
}

// Only applicable for Vertex AI Legacy Feature Store.
// An enum representing the value type of a feature.
enum ValueType {
// The value type is unspecified.
Expand Down Expand Up @@ -105,6 +108,7 @@ message Feature {
// Immutable. Name of the Feature.
// Format:
// `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}/features/{feature}`
// `projects/{project}/locations/{location}/featureGroups/{feature_group}/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,
Expand All @@ -115,17 +119,17 @@ message Feature {
// 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
];
// Immutable. Only applicable for Vertex AI Feature Store (Legacy).
// Type of Feature value.
ValueType value_type = 3 [(google.api.field_behavior) = IMMUTABLE];

// Output only. Timestamp when this EntityType was created.
// Output only. Only applicable for Vertex AI Feature Store (Legacy).
// 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.
// Output only. Only applicable for Vertex AI Feature Store (Legacy).
// Timestamp when this EntityType was most recently updated.
google.protobuf.Timestamp update_time = 5
[(google.api.field_behavior) = OUTPUT_ONLY];

Expand All @@ -146,17 +150,24 @@ message Feature {
// "overwrite" update happens.
string etag = 7;

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

// Output only. The list of historical stats and anomalies with specified
// objectives.
// Output only. Only applicable for Vertex AI Feature Store (Legacy).
// The list of historical stats and anomalies with specified objectives.
repeated MonitoringStatsAnomaly monitoring_stats_anomalies = 11
[(google.api.field_behavior) = OUTPUT_ONLY];

// Only applicable for Vertex AI Feature Store.
// The name of the BigQuery Table/View columnn hosting data for this version.
// If no value is provided, will use feature_id.
string version_column_name = 106;
}

0 comments on commit 01af66a

Please sign in to comment.