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

Commit 863748a

Browse files
feat: add reserved_ip_ranges to CustomJobSpec in aiplatform v1 custom_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: https://github.com/googleapis/googleapis-gen/commit/54ad5302681697d4e45be69069322d9328b58580 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiNTRhZDUzMDI2ODE2OTdkNGU0NWJlNjkwNjkzMjJkOTMyOGI1ODU4MCJ9
1 parent 9538239 commit 863748a

File tree

107 files changed

+91438
-84157
lines changed

Some content is hidden

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

107 files changed

+91438
-84157
lines changed

protos/google/cloud/aiplatform/v1/custom_job.proto

+13
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,16 @@ message CustomJobSpec {
140140
type: "compute.googleapis.com/Network"
141141
}];
142142

143+
// Optional. A list of names for the reserved ip ranges under the VPC network
144+
// that can be used for this job.
145+
//
146+
// If set, we will deploy the job within the provided ip ranges. Otherwise,
147+
// the job will be deployed to any ip ranges under the provided VPC
148+
// network.
149+
//
150+
// Example: ['vertex-ai-ip-range'].
151+
repeated string reserved_ip_ranges = 13 [(google.api.field_behavior) = OPTIONAL];
152+
143153
// The Cloud Storage location to store the output of this CustomJob or
144154
// HyperparameterTuningJob. For HyperparameterTuningJob,
145155
// the baseOutputDirectory of
@@ -204,6 +214,9 @@ message WorkerPoolSpec {
204214
// Optional. The number of worker replicas to use for this worker pool.
205215
int64 replica_count = 2 [(google.api.field_behavior) = OPTIONAL];
206216

217+
// Optional. List of NFS mount spec.
218+
repeated NfsMount nfs_mounts = 4 [(google.api.field_behavior) = OPTIONAL];
219+
207220
// Disk spec.
208221
DiskSpec disk_spec = 5;
209222
}

protos/google/cloud/aiplatform/v1/endpoint.proto

+2-2
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ message Endpoint {
109109
type: "compute.googleapis.com/Network"
110110
}];
111111

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

245245
// BigQuery table for logging.
246-
// If only given project, a new dataset will be created with name
246+
// If only given a project, a new dataset will be created with name
247247
// `logging_<endpoint-display-name>_<endpoint-id>` where
248248
// <endpoint-display-name> will be made BigQuery-dataset-name compatible (e.g.
249249
// most special characters will become underscores). If no table name is

protos/google/cloud/aiplatform/v1/entity_type.proto

+4-6
Original file line numberDiff line numberDiff line change
@@ -74,15 +74,13 @@ message EntityType {
7474
// "overwrite" update happens.
7575
string etag = 7 [(google.api.field_behavior) = OPTIONAL];
7676

77-
// Optional. The default monitoring configuration for all Features with value
78-
// type
79-
// ([Feature.ValueType][google.cloud.aiplatform.v1.Feature.ValueType]) BOOL,
80-
// STRING, DOUBLE or INT64 under this EntityType.
77+
// Optional. The default monitoring configuration for all Features with value type
78+
// ([Feature.ValueType][google.cloud.aiplatform.v1.Feature.ValueType]) BOOL, STRING, DOUBLE or INT64 under this
79+
// EntityType.
8180
//
8281
// If this is populated with
8382
// [FeaturestoreMonitoringConfig.monitoring_interval] specified, snapshot
8483
// analysis monitoring is enabled. Otherwise, snapshot analysis monitoring is
8584
// disabled.
86-
FeaturestoreMonitoringConfig monitoring_config = 8
87-
[(google.api.field_behavior) = OPTIONAL];
85+
FeaturestoreMonitoringConfig monitoring_config = 8 [(google.api.field_behavior) = OPTIONAL];
8886
}

protos/google/cloud/aiplatform/v1/feature.proto

+8-13
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,7 @@ message Feature {
4141
// A list of historical [Snapshot
4242
// Analysis][FeaturestoreMonitoringConfig.SnapshotAnalysis] or [Import Feature
4343
// Analysis] [FeaturestoreMonitoringConfig.ImportFeatureAnalysis] stats
44-
// requested by user, sorted by
45-
// [FeatureStatsAnomaly.start_time][google.cloud.aiplatform.v1.FeatureStatsAnomaly.start_time]
46-
// descending.
44+
// requested by user, sorted by [FeatureStatsAnomaly.start_time][google.cloud.aiplatform.v1.FeatureStatsAnomaly.start_time] descending.
4745
message MonitoringStatsAnomaly {
4846
// If the objective in the request is both
4947
// Import Feature Analysis and Snapshot Analysis, this objective could be
@@ -64,8 +62,7 @@ message Feature {
6462
Objective objective = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
6563

6664
// Output only. The stats and anomalies generated at specific timestamp.
67-
FeatureStatsAnomaly feature_stats_anomaly = 2
68-
[(google.api.field_behavior) = OUTPUT_ONLY];
65+
FeatureStatsAnomaly feature_stats_anomaly = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
6966
}
7067

7168
// An enum representing the value type of a feature.
@@ -143,17 +140,15 @@ message Feature {
143140
// "overwrite" update happens.
144141
string etag = 7;
145142

146-
// Optional. If not set, use the monitoring_config defined for the EntityType
147-
// this Feature belongs to. Only Features with type
148-
// ([Feature.ValueType][google.cloud.aiplatform.v1.Feature.ValueType]) BOOL,
149-
// STRING, DOUBLE or INT64 can enable monitoring.
143+
// Optional. If not set, use the monitoring_config defined for the EntityType this
144+
// Feature belongs to.
145+
// Only Features with type ([Feature.ValueType][google.cloud.aiplatform.v1.Feature.ValueType]) BOOL, STRING, DOUBLE or
146+
// INT64 can enable monitoring.
150147
//
151148
// If set to true, all types of data monitoring are disabled despite the
152149
// config on EntityType.
153150
bool disable_monitoring = 12 [(google.api.field_behavior) = OPTIONAL];
154151

155-
// Output only. The list of historical stats and anomalies with specified
156-
// objectives.
157-
repeated MonitoringStatsAnomaly monitoring_stats_anomalies = 11
158-
[(google.api.field_behavior) = OUTPUT_ONLY];
152+
// Output only. The list of historical stats and anomalies with specified objectives.
153+
repeated MonitoringStatsAnomaly monitoring_stats_anomalies = 11 [(google.api.field_behavior) = OUTPUT_ONLY];
159154
}

protos/google/cloud/aiplatform/v1/featurestore.proto

+21-19
Original file line numberDiff line numberDiff line change
@@ -41,32 +41,33 @@ message Featurestore {
4141
// OnlineServingConfig specifies the details for provisioning online serving
4242
// resources.
4343
message OnlineServingConfig {
44-
// The number of nodes for each cluster. The number of nodes will not
45-
// scale automatically but can be scaled manually by providing different
46-
// values when updating.
47-
// Only one of `fixed_node_count` and `scaling` can be set. Setting one will
48-
// reset the other.
44+
// The number of nodes for the online store. The number of nodes doesn't
45+
// scale automatically, but you can manually update the number of
46+
// nodes. If set to 0, the featurestore will not have an
47+
// online store and cannot be used for online serving.
4948
int32 fixed_node_count = 2;
5049
}
5150

52-
// Possible states a Featurestore can have.
51+
// Possible states a featurestore can have.
5352
enum State {
5453
// Default value. This value is unused.
5554
STATE_UNSPECIFIED = 0;
5655

57-
// State when the Featurestore configuration is not being updated and the
58-
// fields reflect the current configuration of the Featurestore. The
59-
// Featurestore is usable in this state.
56+
// State when the featurestore configuration is not being updated and the
57+
// fields reflect the current configuration of the featurestore. The
58+
// featurestore is usable in this state.
6059
STABLE = 1;
6160

62-
// State when the Featurestore configuration is being updated and the fields
63-
// reflect the updated configuration of the Featurestore, not the current
64-
// one. For example, `online_serving_config.fixed_node_count` can take
65-
// minutes to update. While the update is in progress, the Featurestore
66-
// will be in the UPDATING state and the value of `fixed_node_count` will be
67-
// the updated value. Until the update completes, the actual number of nodes
68-
// can still be the original value of `fixed_node_count`. The Featurestore
69-
// is still usable in this state.
61+
// The state of the featurestore configuration when it is being updated.
62+
// During an update, the fields reflect either the original configuration
63+
// or the updated configuration of the featurestore. For example,
64+
// `online_serving_config.fixed_node_count` can take minutes to update.
65+
// While the update is in progress, the featurestore is in the UPDATING
66+
// state, and the value of `fixed_node_count` can be the original value or
67+
// the updated value, depending on the progress of the operation. Until the
68+
// update completes, the actual number of nodes can still be the original
69+
// value of `fixed_node_count`. The featurestore is still usable in this
70+
// state.
7071
UPDATING = 2;
7172
}
7273

@@ -97,8 +98,9 @@ message Featurestore {
9798
// and are immutable.
9899
map<string, string> labels = 6 [(google.api.field_behavior) = OPTIONAL];
99100

100-
// Required. Config for online serving resources.
101-
OnlineServingConfig online_serving_config = 7 [(google.api.field_behavior) = REQUIRED];
101+
// Optional. Config for online storage resources. If unset, the featurestore will
102+
// not have an online store and cannot be used for online serving.
103+
OnlineServingConfig online_serving_config = 7 [(google.api.field_behavior) = OPTIONAL];
102104

103105
// Output only. State of the featurestore.
104106
State state = 8 [(google.api.field_behavior) = OUTPUT_ONLY];

protos/google/cloud/aiplatform/v1/featurestore_monitoring.proto

+2-6
Original file line numberDiff line numberDiff line change
@@ -139,15 +139,11 @@ message FeaturestoreMonitoringConfig {
139139

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

147145
// Threshold for categorical features of anomaly detection.
148146
// This is shared by all types of Featurestore Monitoring for categorical
149-
// features (i.e. Features with type
150-
// ([Feature.ValueType][google.cloud.aiplatform.v1.Feature.ValueType]) BOOL or
151-
// STRING).
147+
// features (i.e. Features with type ([Feature.ValueType][google.cloud.aiplatform.v1.Feature.ValueType]) BOOL or STRING).
152148
ThresholdConfig categorical_threshold_config = 4;
153149
}

protos/google/cloud/aiplatform/v1/index_endpoint.proto

+8-5
Original file line numberDiff line numberDiff line change
@@ -80,22 +80,25 @@ message IndexEndpoint {
8080
// Private services access must already be configured for the network. If left
8181
// unspecified, the Endpoint is not peered with any network.
8282
//
83-
// Only one of the fields, [network][google.cloud.aiplatform.v1.IndexEndpoint.network] or
84-
// [enable_private_service_connect][google.cloud.aiplatform.v1.IndexEndpoint.enable_private_service_connect],
85-
// can be set.
83+
// [network][google.cloud.aiplatform.v1.IndexEndpoint.network] and
84+
// [private_service_connect_config][google.cloud.aiplatform.v1.IndexEndpoint.private_service_connect_config]
85+
// are mutually exclusive.
8686
//
8787
// [Format](https://cloud.google.com/compute/docs/reference/rest/v1/networks/insert):
8888
// projects/{project}/global/networks/{network}.
8989
// Where {project} is a project number, as in '12345', and {network} is
9090
// network name.
9191
string network = 9 [(google.api.field_behavior) = OPTIONAL];
9292

93-
// Optional. If true, expose the IndexEndpoint via private service connect.
93+
// Optional. Deprecated: If true, expose the IndexEndpoint via private service connect.
9494
//
9595
// Only one of the fields, [network][google.cloud.aiplatform.v1.IndexEndpoint.network] or
9696
// [enable_private_service_connect][google.cloud.aiplatform.v1.IndexEndpoint.enable_private_service_connect],
9797
// can be set.
98-
bool enable_private_service_connect = 10 [(google.api.field_behavior) = OPTIONAL];
98+
bool enable_private_service_connect = 10 [
99+
deprecated = true,
100+
(google.api.field_behavior) = OPTIONAL
101+
];
99102
}
100103

101104
// A deployment of an Index. IndexEndpoints contain one or more DeployedIndexes.

protos/google/cloud/aiplatform/v1/job_state.proto

+7
Original file line numberDiff line numberDiff line change
@@ -56,4 +56,11 @@ enum JobState {
5656

5757
// The job has expired.
5858
JOB_STATE_EXPIRED = 9;
59+
60+
// The job is being updated. The job is only able to be updated at RUNNING
61+
// state; if the update operation succeeds, job goes back to RUNNING state; if
62+
// the update operation fails, the job goes back to RUNNING state with error
63+
// messages written to [ModelDeploymentMonitoringJob.partial_errors][] field
64+
// if it is a ModelDeploymentMonitoringJob.
65+
JOB_STATE_UPDATING = 10;
5966
}

protos/google/cloud/aiplatform/v1/machine_resources.proto

+20
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,11 @@ message DedicatedResources {
7878
// replicas at maximum may handle, a portion of the traffic will be dropped.
7979
// If this value is not provided, will use [min_replica_count][google.cloud.aiplatform.v1.DedicatedResources.min_replica_count] as the
8080
// default value.
81+
//
82+
// The value of this field impacts the charge against Vertex CPU and GPU
83+
// quotas. Specifically, you will be charged for (max_replica_count *
84+
// number of cores in the selected machine type) and (max_replica_count *
85+
// number of GPUs per replica in the selected machine type).
8186
int32 max_replica_count = 3 [(google.api.field_behavior) = IMMUTABLE];
8287

8388
// Immutable. The metric specifications that overrides a resource
@@ -164,6 +169,21 @@ message DiskSpec {
164169
int32 boot_disk_size_gb = 2;
165170
}
166171

172+
// Represents a mount configuration for Network File System (NFS) to mount.
173+
message NfsMount {
174+
// Required. IP address of the NFS server.
175+
string server = 1 [(google.api.field_behavior) = REQUIRED];
176+
177+
// Required. Source path exported from NFS server.
178+
// Has to start with '/', and combined with the ip address, it indicates
179+
// the source mount path in the form of `server:path`
180+
string path = 2 [(google.api.field_behavior) = REQUIRED];
181+
182+
// Required. Destination mount path. The NFS will be mounted for the user under
183+
// /mnt/nfs/<mount_point>
184+
string mount_point = 3 [(google.api.field_behavior) = REQUIRED];
185+
}
186+
167187
// The metric specification that defines the target resource utilization
168188
// (CPU utilization, accelerator's duty cycle, and so on) for calculating the
169189
// desired replica count.

protos/google/cloud/aiplatform/v1/metadata_service.proto

+6-6
Original file line numberDiff line numberDiff line change
@@ -571,9 +571,9 @@ message UpdateArtifactRequest {
571571
// `projects/{project}/locations/{location}/metadataStores/{metadatastore}/artifacts/{artifact}`
572572
Artifact artifact = 1 [(google.api.field_behavior) = REQUIRED];
573573

574-
// Required. A FieldMask indicating which fields should be updated.
574+
// Optional. A FieldMask indicating which fields should be updated.
575575
// Functionality of this field is not yet supported.
576-
google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED];
576+
google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = OPTIONAL];
577577

578578
// If set to true, and the [Artifact][google.cloud.aiplatform.v1.Artifact] is not found, a new [Artifact][google.cloud.aiplatform.v1.Artifact] is
579579
// created.
@@ -757,9 +757,9 @@ message UpdateContextRequest {
757757
// `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}`
758758
Context context = 1 [(google.api.field_behavior) = REQUIRED];
759759

760-
// Required. A FieldMask indicating which fields should be updated.
760+
// Optional. A FieldMask indicating which fields should be updated.
761761
// Functionality of this field is not yet supported.
762-
google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED];
762+
google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = OPTIONAL];
763763

764764
// If set to true, and the [Context][google.cloud.aiplatform.v1.Context] is not found, a new [Context][google.cloud.aiplatform.v1.Context] is
765765
// created.
@@ -1021,9 +1021,9 @@ message UpdateExecutionRequest {
10211021
// `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}`
10221022
Execution execution = 1 [(google.api.field_behavior) = REQUIRED];
10231023

1024-
// Required. A FieldMask indicating which fields should be updated.
1024+
// Optional. A FieldMask indicating which fields should be updated.
10251025
// Functionality of this field is not yet supported.
1026-
google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED];
1026+
google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = OPTIONAL];
10271027

10281028
// If set to true, and the [Execution][google.cloud.aiplatform.v1.Execution] is not found, a new [Execution][google.cloud.aiplatform.v1.Execution]
10291029
// is created.

protos/google/cloud/aiplatform/v1/model_deployment_monitoring_job.proto

+13
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,16 @@ message ModelDeploymentMonitoringJob {
6767
pattern: "projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{model_deployment_monitoring_job}"
6868
};
6969

70+
// All metadata of most recent monitoring pipelines.
71+
message LatestMonitoringPipelineMetadata {
72+
// The time that most recent monitoring pipelines that is related to this
73+
// run.
74+
google.protobuf.Timestamp run_time = 1;
75+
76+
// The status of the most recent monitoring pipeline.
77+
google.rpc.Status status = 2;
78+
}
79+
7080
// The state to Specify the monitoring pipeline.
7181
enum MonitoringScheduleState {
7282
// Unspecified state.
@@ -110,6 +120,9 @@ message ModelDeploymentMonitoringJob {
110120
// Output only. Schedule state when the monitoring job is in Running state.
111121
MonitoringScheduleState schedule_state = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
112122

123+
// Output only. Latest triggered monitoring pipeline metadata.
124+
LatestMonitoringPipelineMetadata latest_monitoring_pipeline_metadata = 25 [(google.api.field_behavior) = OUTPUT_ONLY];
125+
113126
// Required. The config for monitoring objectives. This is a per DeployedModel config.
114127
// Each DeployedModel needs to be configured separately.
115128
repeated ModelDeploymentMonitoringObjectiveConfig model_deployment_monitoring_objective_configs = 6 [(google.api.field_behavior) = REQUIRED];

protos/google/cloud/aiplatform/v1/model_monitoring.proto

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ option java_package = "com.google.cloud.aiplatform.v1";
2727
option php_namespace = "Google\\Cloud\\AIPlatform\\V1";
2828
option ruby_package = "Google::Cloud::AIPlatform::V1";
2929

30-
// Next ID: 7
30+
// Next ID: 8
3131
message ModelMonitoringObjectiveConfig {
3232
// Training Dataset information.
3333
message TrainingDataset {

protos/google/cloud/aiplatform/v1/model_service.proto

+17
Original file line numberDiff line numberDiff line change
@@ -258,6 +258,23 @@ message ListModelsResponse {
258258
// Request message for [ModelService.UpdateModel][google.cloud.aiplatform.v1.ModelService.UpdateModel].
259259
message UpdateModelRequest {
260260
// Required. The Model which replaces the resource on the server.
261+
// When Model Versioning is enabled, the model.name will be used to determine
262+
// whether to update the model or model version.
263+
// 1. model.name with the @ value, e.g. models/123@1, refers to a version
264+
// specific update.
265+
// 2. model.name without the @ value, e.g. models/123, refers to a model
266+
// update.
267+
// 3. model.name with @-, e.g. models/123@-, refers to a model update.
268+
// 4. Supported model fields: display_name, description; supported
269+
// version-specific fields: version_description. Labels are supported in both
270+
// scenarios. Both the model labels and the version labels are merged when a
271+
// model is returned. When updating labels, if the request is for
272+
// model-specific update, model label gets updated. Otherwise, version labels
273+
// get updated.
274+
// 5. A model name or model version name fields update mismatch will cause a
275+
// precondition error.
276+
// 6. One request cannot update both the model and the version fields. You
277+
// must update them separately.
261278
Model model = 1 [(google.api.field_behavior) = REQUIRED];
262279

263280
// Required. The update mask applies to the resource.

protos/google/cloud/aiplatform/v1/pipeline_job.proto

+2-2
Original file line numberDiff line numberDiff line change
@@ -94,8 +94,8 @@ message PipelineJob {
9494
// Output only. Timestamp when this PipelineJob was most recently updated.
9595
google.protobuf.Timestamp update_time = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
9696

97-
// Required. The spec of the pipeline.
98-
google.protobuf.Struct pipeline_spec = 7 [(google.api.field_behavior) = REQUIRED];
97+
// The spec of the pipeline.
98+
google.protobuf.Struct pipeline_spec = 7;
9999

100100
// Output only. The detailed state of the job.
101101
PipelineState state = 8 [(google.api.field_behavior) = OUTPUT_ONLY];

protos/google/cloud/aiplatform/v1/pipeline_service.proto

+3
Original file line numberDiff line numberDiff line change
@@ -322,6 +322,9 @@ message ListPipelineJobsRequest {
322322
// * `end_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons.
323323
// Values must be in RFC 3339 format.
324324
// * `labels`: Supports key-value equality and key presence.
325+
// * `template_uri`: Supports `=`, `!=` comparisons, and `:` wildcard.
326+
// * `template_metadata.version_name`: Supports `=`, `!=` comparisons, and `:`
327+
// wildcard.
325328
//
326329
// Filter expressions can be combined together using logical operators
327330
// (`AND` & `OR`).

0 commit comments

Comments
 (0)