Skip to content
This repository has been archived by the owner on Jul 20, 2023. It is now read-only.

Commit

Permalink
feat: add reserved_ip_ranges to CustomJobSpec in aiplatform v1 custom…
Browse files Browse the repository at this point in the history
…_job.proto (#286)

feat: rename Similarity to Examples, and similarity to examples in ExplanationParameters in aiplatform v1beta1 explanation.proto
feat: add reserved_ip_ranges to CustomJobSpec in aiplatform v1beta1 custom_job.proto
feat: add nfs_mounts to WorkPoolSpec in aiplatform v1beta1 custom_job.proto
feat: add PredictRequestResponseLoggingConfig to aiplatform v1beta1 endpoint.proto
feat: add model_version_id to DeployedModel in aiplatform v1beta1 endpoint.proto
feat: add JOB_STATE_UPDATING to JobState in aiplatform v1beta1 job_state.proto
feat: add MfsMount in aiplatform v1beta1 machine_resources.proto
feat: add version_id to Model in aiplatform v1beta1 model.proto
feat: add LatestMonitoringPipelineMetadata to ModelDeploymentMonitoringJob in aiplatform v1beta1 model_deployment_monitoring_job.proto
feat: add ListModelVersion, DeleteModelVersion, and MergeVersionAliases rpcs to aiplatform v1beta1 model_service.proto
feat: add model_version_id to UploadModelRequest and UploadModelResponse in aiplatform v1beta1 model_service.proto
feat: add model_version_id to PredictResponse in aiplatform v1beta1 prediction_service.proto
feat: add ConvexAutomatedStoppingSpec to StudySpec in aiplatform v1beta1 study.proto
feat: add model_id and parent_model to TrainingPipeline in aiplatform v1beta1 training_pipeline.proto
PiperOrigin-RevId: 441615103
Source-Link: googleapis/googleapis@2ce1c56
Source-Link: googleapis/googleapis-gen@54ad530
Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiNTRhZDUzMDI2ODE2OTdkNGU0NWJlNjkwNjkzMjJkOTMyOGI1ODU4MCJ9
  • Loading branch information
gcf-owl-bot[bot] committed Apr 14, 2022
1 parent 9538239 commit 863748a
Show file tree
Hide file tree
Showing 107 changed files with 91,438 additions and 84,157 deletions.
13 changes: 13 additions & 0 deletions protos/google/cloud/aiplatform/v1/custom_job.proto
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,16 @@ message CustomJobSpec {
type: "compute.googleapis.com/Network"
}];

// Optional. A list of names for the reserved ip ranges under the VPC network
// that can be used for this job.
//
// If set, we will deploy the job within the provided ip ranges. Otherwise,
// the job will be deployed to any ip ranges under the provided VPC
// network.
//
// Example: ['vertex-ai-ip-range'].
repeated string reserved_ip_ranges = 13 [(google.api.field_behavior) = OPTIONAL];

// The Cloud Storage location to store the output of this CustomJob or
// HyperparameterTuningJob. For HyperparameterTuningJob,
// the baseOutputDirectory of
Expand Down Expand Up @@ -204,6 +214,9 @@ message WorkerPoolSpec {
// Optional. The number of worker replicas to use for this worker pool.
int64 replica_count = 2 [(google.api.field_behavior) = OPTIONAL];

// Optional. List of NFS mount spec.
repeated NfsMount nfs_mounts = 4 [(google.api.field_behavior) = OPTIONAL];

// Disk spec.
DiskSpec disk_spec = 5;
}
Expand Down
4 changes: 2 additions & 2 deletions protos/google/cloud/aiplatform/v1/endpoint.proto
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ message Endpoint {
type: "compute.googleapis.com/Network"
}];

// If true, expose the Endpoint via private service connect.
// Deprecated: If true, expose the Endpoint via private service connect.
//
// Only one of the fields, [network][google.cloud.aiplatform.v1.Endpoint.network] or
// [enable_private_service_connect][google.cloud.aiplatform.v1.Endpoint.enable_private_service_connect],
Expand Down Expand Up @@ -243,7 +243,7 @@ message PredictRequestResponseLoggingConfig {
double sampling_rate = 2;

// BigQuery table for logging.
// If only given project, a new dataset will be created with name
// If only given a project, a new dataset will be created with name
// `logging_<endpoint-display-name>_<endpoint-id>` where
// <endpoint-display-name> will be made BigQuery-dataset-name compatible (e.g.
// most special characters will become underscores). If no table name is
Expand Down
10 changes: 4 additions & 6 deletions protos/google/cloud/aiplatform/v1/entity_type.proto
Original file line number Diff line number Diff line change
Expand Up @@ -74,15 +74,13 @@ message EntityType {
// "overwrite" update happens.
string etag = 7 [(google.api.field_behavior) = OPTIONAL];

// Optional. The default monitoring configuration for all Features with value
// type
// ([Feature.ValueType][google.cloud.aiplatform.v1.Feature.ValueType]) BOOL,
// STRING, DOUBLE or INT64 under this EntityType.
// Optional. The default monitoring configuration for all Features with value type
// ([Feature.ValueType][google.cloud.aiplatform.v1.Feature.ValueType]) BOOL, STRING, DOUBLE or INT64 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];
FeaturestoreMonitoringConfig monitoring_config = 8 [(google.api.field_behavior) = OPTIONAL];
}
21 changes: 8 additions & 13 deletions protos/google/cloud/aiplatform/v1/feature.proto
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,7 @@ message Feature {
// A list of historical [Snapshot
// Analysis][FeaturestoreMonitoringConfig.SnapshotAnalysis] or [Import Feature
// Analysis] [FeaturestoreMonitoringConfig.ImportFeatureAnalysis] stats
// requested by user, sorted by
// [FeatureStatsAnomaly.start_time][google.cloud.aiplatform.v1.FeatureStatsAnomaly.start_time]
// descending.
// requested by user, sorted by [FeatureStatsAnomaly.start_time][google.cloud.aiplatform.v1.FeatureStatsAnomaly.start_time] descending.
message MonitoringStatsAnomaly {
// If the objective in the request is both
// Import Feature Analysis and Snapshot Analysis, this objective could be
Expand All @@ -64,8 +62,7 @@ message Feature {
Objective objective = 1 [(google.api.field_behavior) = OUTPUT_ONLY];

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

// An enum representing the value type of a feature.
Expand Down Expand Up @@ -143,17 +140,15 @@ 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
// ([Feature.ValueType][google.cloud.aiplatform.v1.Feature.ValueType]) BOOL,
// STRING, DOUBLE or INT64 can enable monitoring.
// Optional. If not set, use the monitoring_config defined for the EntityType this
// Feature belongs to.
// Only Features with type ([Feature.ValueType][google.cloud.aiplatform.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.
repeated MonitoringStatsAnomaly monitoring_stats_anomalies = 11
[(google.api.field_behavior) = OUTPUT_ONLY];
// Output only. The list of historical stats and anomalies with specified objectives.
repeated MonitoringStatsAnomaly monitoring_stats_anomalies = 11 [(google.api.field_behavior) = OUTPUT_ONLY];
}
40 changes: 21 additions & 19 deletions protos/google/cloud/aiplatform/v1/featurestore.proto
Original file line number Diff line number Diff line change
Expand Up @@ -41,32 +41,33 @@ message Featurestore {
// OnlineServingConfig specifies the details for provisioning online serving
// resources.
message OnlineServingConfig {
// 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.
// Only one of `fixed_node_count` and `scaling` can be set. Setting one will
// reset the other.
// The number of nodes for the online store. The number of nodes doesn't
// scale automatically, but you can manually update the number of
// nodes. If set to 0, the featurestore will not have an
// online store and cannot be used for online serving.
int32 fixed_node_count = 2;
}

// Possible states a Featurestore can have.
// 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.
// 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.
// The state of the featurestore configuration when it is being updated.
// During an update, the fields reflect either the original configuration
// or the updated configuration of the featurestore. For example,
// `online_serving_config.fixed_node_count` can take minutes to update.
// While the update is in progress, the featurestore is in the UPDATING
// state, and the value of `fixed_node_count` can be the original value or
// the updated value, depending on the progress of the operation. 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;
}

Expand Down Expand Up @@ -97,8 +98,9 @@ message Featurestore {
// 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];
// Optional. Config for online storage resources. If unset, the featurestore will
// not have an online store and cannot be used for online serving.
OnlineServingConfig online_serving_config = 7 [(google.api.field_behavior) = OPTIONAL];

// Output only. State of the featurestore.
State state = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -139,15 +139,11 @@ message FeaturestoreMonitoringConfig {

// Threshold for numerical features of anomaly detection.
// This is shared by all objectives of Featurestore Monitoring for numerical
// features (i.e. Features with type
// ([Feature.ValueType][google.cloud.aiplatform.v1.Feature.ValueType]) DOUBLE
// or INT64).
// features (i.e. Features with type ([Feature.ValueType][google.cloud.aiplatform.v1.Feature.ValueType]) DOUBLE or INT64).
ThresholdConfig numerical_threshold_config = 3;

// Threshold for categorical features of anomaly detection.
// This is shared by all types of Featurestore Monitoring for categorical
// features (i.e. Features with type
// ([Feature.ValueType][google.cloud.aiplatform.v1.Feature.ValueType]) BOOL or
// STRING).
// features (i.e. Features with type ([Feature.ValueType][google.cloud.aiplatform.v1.Feature.ValueType]) BOOL or STRING).
ThresholdConfig categorical_threshold_config = 4;
}
13 changes: 8 additions & 5 deletions protos/google/cloud/aiplatform/v1/index_endpoint.proto
Original file line number Diff line number Diff line change
Expand Up @@ -80,22 +80,25 @@ message IndexEndpoint {
// Private services access must already be configured for the network. If left
// unspecified, the Endpoint is not peered with any network.
//
// Only one of the fields, [network][google.cloud.aiplatform.v1.IndexEndpoint.network] or
// [enable_private_service_connect][google.cloud.aiplatform.v1.IndexEndpoint.enable_private_service_connect],
// can be set.
// [network][google.cloud.aiplatform.v1.IndexEndpoint.network] and
// [private_service_connect_config][google.cloud.aiplatform.v1.IndexEndpoint.private_service_connect_config]
// are mutually exclusive.
//
// [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) = OPTIONAL];

// Optional. If true, expose the IndexEndpoint via private service connect.
// Optional. Deprecated: If true, expose the IndexEndpoint via private service connect.
//
// Only one of the fields, [network][google.cloud.aiplatform.v1.IndexEndpoint.network] or
// [enable_private_service_connect][google.cloud.aiplatform.v1.IndexEndpoint.enable_private_service_connect],
// can be set.
bool enable_private_service_connect = 10 [(google.api.field_behavior) = OPTIONAL];
bool enable_private_service_connect = 10 [
deprecated = true,
(google.api.field_behavior) = OPTIONAL
];
}

// A deployment of an Index. IndexEndpoints contain one or more DeployedIndexes.
Expand Down
7 changes: 7 additions & 0 deletions protos/google/cloud/aiplatform/v1/job_state.proto
Original file line number Diff line number Diff line change
Expand Up @@ -56,4 +56,11 @@ enum JobState {

// The job has expired.
JOB_STATE_EXPIRED = 9;

// The job is being updated. The job is only able to be updated at RUNNING
// state; if the update operation succeeds, job goes back to RUNNING state; if
// the update operation fails, the job goes back to RUNNING state with error
// messages written to [ModelDeploymentMonitoringJob.partial_errors][] field
// if it is a ModelDeploymentMonitoringJob.
JOB_STATE_UPDATING = 10;
}
20 changes: 20 additions & 0 deletions protos/google/cloud/aiplatform/v1/machine_resources.proto
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,11 @@ message DedicatedResources {
// replicas at maximum may handle, a portion of the traffic will be dropped.
// If this value is not provided, will use [min_replica_count][google.cloud.aiplatform.v1.DedicatedResources.min_replica_count] as the
// default value.
//
// The value of this field impacts the charge against Vertex CPU and GPU
// quotas. Specifically, you will be charged for (max_replica_count *
// number of cores in the selected machine type) and (max_replica_count *
// number of GPUs per replica in the selected machine type).
int32 max_replica_count = 3 [(google.api.field_behavior) = IMMUTABLE];

// Immutable. The metric specifications that overrides a resource
Expand Down Expand Up @@ -164,6 +169,21 @@ message DiskSpec {
int32 boot_disk_size_gb = 2;
}

// Represents a mount configuration for Network File System (NFS) to mount.
message NfsMount {
// Required. IP address of the NFS server.
string server = 1 [(google.api.field_behavior) = REQUIRED];

// Required. Source path exported from NFS server.
// Has to start with '/', and combined with the ip address, it indicates
// the source mount path in the form of `server:path`
string path = 2 [(google.api.field_behavior) = REQUIRED];

// Required. Destination mount path. The NFS will be mounted for the user under
// /mnt/nfs/<mount_point>
string mount_point = 3 [(google.api.field_behavior) = REQUIRED];
}

// The metric specification that defines the target resource utilization
// (CPU utilization, accelerator's duty cycle, and so on) for calculating the
// desired replica count.
Expand Down
12 changes: 6 additions & 6 deletions protos/google/cloud/aiplatform/v1/metadata_service.proto
Original file line number Diff line number Diff line change
Expand Up @@ -571,9 +571,9 @@ message UpdateArtifactRequest {
// `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.
// Optional. A FieldMask indicating which fields should be updated.
// Functionality of this field is not yet supported.
google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED];
google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = OPTIONAL];

// If set to true, and the [Artifact][google.cloud.aiplatform.v1.Artifact] is not found, a new [Artifact][google.cloud.aiplatform.v1.Artifact] is
// created.
Expand Down Expand Up @@ -757,9 +757,9 @@ message UpdateContextRequest {
// `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.
// Optional. A FieldMask indicating which fields should be updated.
// Functionality of this field is not yet supported.
google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED];
google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = OPTIONAL];

// If set to true, and the [Context][google.cloud.aiplatform.v1.Context] is not found, a new [Context][google.cloud.aiplatform.v1.Context] is
// created.
Expand Down Expand Up @@ -1021,9 +1021,9 @@ message UpdateExecutionRequest {
// `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.
// Optional. A FieldMask indicating which fields should be updated.
// Functionality of this field is not yet supported.
google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED];
google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = OPTIONAL];

// If set to true, and the [Execution][google.cloud.aiplatform.v1.Execution] is not found, a new [Execution][google.cloud.aiplatform.v1.Execution]
// is created.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,16 @@ message ModelDeploymentMonitoringJob {
pattern: "projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{model_deployment_monitoring_job}"
};

// All metadata of most recent monitoring pipelines.
message LatestMonitoringPipelineMetadata {
// The time that most recent monitoring pipelines that is related to this
// run.
google.protobuf.Timestamp run_time = 1;

// The status of the most recent monitoring pipeline.
google.rpc.Status status = 2;
}

// The state to Specify the monitoring pipeline.
enum MonitoringScheduleState {
// Unspecified state.
Expand Down Expand Up @@ -110,6 +120,9 @@ message ModelDeploymentMonitoringJob {
// Output only. Schedule state when the monitoring job is in Running state.
MonitoringScheduleState schedule_state = 5 [(google.api.field_behavior) = OUTPUT_ONLY];

// Output only. Latest triggered monitoring pipeline metadata.
LatestMonitoringPipelineMetadata latest_monitoring_pipeline_metadata = 25 [(google.api.field_behavior) = OUTPUT_ONLY];

// Required. The config for monitoring objectives. This is a per DeployedModel config.
// Each DeployedModel needs to be configured separately.
repeated ModelDeploymentMonitoringObjectiveConfig model_deployment_monitoring_objective_configs = 6 [(google.api.field_behavior) = REQUIRED];
Expand Down
2 changes: 1 addition & 1 deletion protos/google/cloud/aiplatform/v1/model_monitoring.proto
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ option java_package = "com.google.cloud.aiplatform.v1";
option php_namespace = "Google\\Cloud\\AIPlatform\\V1";
option ruby_package = "Google::Cloud::AIPlatform::V1";

// Next ID: 7
// Next ID: 8
message ModelMonitoringObjectiveConfig {
// Training Dataset information.
message TrainingDataset {
Expand Down
17 changes: 17 additions & 0 deletions protos/google/cloud/aiplatform/v1/model_service.proto
Original file line number Diff line number Diff line change
Expand Up @@ -258,6 +258,23 @@ message ListModelsResponse {
// Request message for [ModelService.UpdateModel][google.cloud.aiplatform.v1.ModelService.UpdateModel].
message UpdateModelRequest {
// Required. The Model which replaces the resource on the server.
// When Model Versioning is enabled, the model.name will be used to determine
// whether to update the model or model version.
// 1. model.name with the @ value, e.g. models/123@1, refers to a version
// specific update.
// 2. model.name without the @ value, e.g. models/123, refers to a model
// update.
// 3. model.name with @-, e.g. models/123@-, refers to a model update.
// 4. Supported model fields: display_name, description; supported
// version-specific fields: version_description. Labels are supported in both
// scenarios. Both the model labels and the version labels are merged when a
// model is returned. When updating labels, if the request is for
// model-specific update, model label gets updated. Otherwise, version labels
// get updated.
// 5. A model name or model version name fields update mismatch will cause a
// precondition error.
// 6. One request cannot update both the model and the version fields. You
// must update them separately.
Model model = 1 [(google.api.field_behavior) = REQUIRED];

// Required. The update mask applies to the resource.
Expand Down
4 changes: 2 additions & 2 deletions protos/google/cloud/aiplatform/v1/pipeline_job.proto
Original file line number Diff line number Diff line change
Expand Up @@ -94,8 +94,8 @@ message PipelineJob {
// 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.
google.protobuf.Struct pipeline_spec = 7 [(google.api.field_behavior) = REQUIRED];
// The spec of the pipeline.
google.protobuf.Struct pipeline_spec = 7;

// Output only. The detailed state of the job.
PipelineState state = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
Expand Down
3 changes: 3 additions & 0 deletions protos/google/cloud/aiplatform/v1/pipeline_service.proto
Original file line number Diff line number Diff line change
Expand Up @@ -322,6 +322,9 @@ message ListPipelineJobsRequest {
// * `end_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons.
// Values must be in RFC 3339 format.
// * `labels`: Supports key-value equality and key presence.
// * `template_uri`: Supports `=`, `!=` comparisons, and `:` wildcard.
// * `template_metadata.version_name`: Supports `=`, `!=` comparisons, and `:`
// wildcard.
//
// Filter expressions can be combined together using logical operators
// (`AND` & `OR`).
Expand Down
Loading

0 comments on commit 863748a

Please sign in to comment.