diff --git a/googleapis/analytics/data/v1alpha/analytics_data_api.pb.go b/googleapis/analytics/data/v1alpha/analytics_data_api.pb.go index fa87d03b1..12e0c670b 100644 --- a/googleapis/analytics/data/v1alpha/analytics_data_api.pb.go +++ b/googleapis/analytics/data/v1alpha/analytics_data_api.pb.go @@ -53,7 +53,7 @@ type Metadata struct { // Resource name of this metadata. Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` - // The dimensions descriptions. + // The dimension descriptions. Dimensions []*DimensionMetadata `protobuf:"bytes,1,rep,name=dimensions,proto3" json:"dimensions,omitempty"` // The metric descriptions. Metrics []*MetricMetadata `protobuf:"bytes,2,rep,name=metrics,proto3" json:"metrics,omitempty"` @@ -1090,6 +1090,255 @@ func (x *GetMetadataRequest) GetName() string { return "" } +// The request to generate a realtime report. +type RunRealtimeReportRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A Google Analytics GA4 property identifier whose events are tracked. + // Specified in the URL path and not the body. To learn more, see [where to + // find your Property + // ID](https://developers.google.com/analytics/trusted-testing/analytics-data/property-id). + // + // Example: properties/1234 + Property string `protobuf:"bytes,1,opt,name=property,proto3" json:"property,omitempty"` + // The dimensions requested and displayed. + Dimensions []*Dimension `protobuf:"bytes,2,rep,name=dimensions,proto3" json:"dimensions,omitempty"` + // The metrics requested and displayed. + Metrics []*Metric `protobuf:"bytes,3,rep,name=metrics,proto3" json:"metrics,omitempty"` + // The number of rows to return. If unspecified, 10 rows are returned. If + // -1, all rows are returned. + Limit int64 `protobuf:"varint,4,opt,name=limit,proto3" json:"limit,omitempty"` + // The filter clause of dimensions. Dimensions must be requested to be used in + // this filter. Metrics cannot be used in this filter. + DimensionFilter *FilterExpression `protobuf:"bytes,5,opt,name=dimension_filter,json=dimensionFilter,proto3" json:"dimension_filter,omitempty"` + // The filter clause of metrics. Applied at post aggregation phase, similar to + // SQL having-clause. Metrics must be requested to be used in this filter. + // Dimensions cannot be used in this filter. + MetricFilter *FilterExpression `protobuf:"bytes,6,opt,name=metric_filter,json=metricFilter,proto3" json:"metric_filter,omitempty"` + // Aggregation of metrics. Aggregated metric values will be shown in rows + // where the dimension_values are set to "RESERVED_(MetricAggregation)". + MetricAggregations []MetricAggregation `protobuf:"varint,7,rep,packed,name=metric_aggregations,json=metricAggregations,proto3,enum=google.analytics.data.v1alpha.MetricAggregation" json:"metric_aggregations,omitempty"` + // Specifies how rows are ordered in the response. + OrderBys []*OrderBy `protobuf:"bytes,8,rep,name=order_bys,json=orderBys,proto3" json:"order_bys,omitempty"` + // Toggles whether to return the current state of this Analytics Property's + // Realtime quota. Quota is returned in [PropertyQuota](#PropertyQuota). + ReturnPropertyQuota bool `protobuf:"varint,9,opt,name=return_property_quota,json=returnPropertyQuota,proto3" json:"return_property_quota,omitempty"` +} + +func (x *RunRealtimeReportRequest) Reset() { + *x = RunRealtimeReportRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_analytics_data_v1alpha_analytics_data_api_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RunRealtimeReportRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RunRealtimeReportRequest) ProtoMessage() {} + +func (x *RunRealtimeReportRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_analytics_data_v1alpha_analytics_data_api_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RunRealtimeReportRequest.ProtoReflect.Descriptor instead. +func (*RunRealtimeReportRequest) Descriptor() ([]byte, []int) { + return file_google_analytics_data_v1alpha_analytics_data_api_proto_rawDescGZIP(), []int{12} +} + +func (x *RunRealtimeReportRequest) GetProperty() string { + if x != nil { + return x.Property + } + return "" +} + +func (x *RunRealtimeReportRequest) GetDimensions() []*Dimension { + if x != nil { + return x.Dimensions + } + return nil +} + +func (x *RunRealtimeReportRequest) GetMetrics() []*Metric { + if x != nil { + return x.Metrics + } + return nil +} + +func (x *RunRealtimeReportRequest) GetLimit() int64 { + if x != nil { + return x.Limit + } + return 0 +} + +func (x *RunRealtimeReportRequest) GetDimensionFilter() *FilterExpression { + if x != nil { + return x.DimensionFilter + } + return nil +} + +func (x *RunRealtimeReportRequest) GetMetricFilter() *FilterExpression { + if x != nil { + return x.MetricFilter + } + return nil +} + +func (x *RunRealtimeReportRequest) GetMetricAggregations() []MetricAggregation { + if x != nil { + return x.MetricAggregations + } + return nil +} + +func (x *RunRealtimeReportRequest) GetOrderBys() []*OrderBy { + if x != nil { + return x.OrderBys + } + return nil +} + +func (x *RunRealtimeReportRequest) GetReturnPropertyQuota() bool { + if x != nil { + return x.ReturnPropertyQuota + } + return false +} + +// The response realtime report table corresponding to a request. +type RunRealtimeReportResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Describes dimension columns. The number of DimensionHeaders and ordering of + // DimensionHeaders matches the dimensions present in rows. + DimensionHeaders []*DimensionHeader `protobuf:"bytes,1,rep,name=dimension_headers,json=dimensionHeaders,proto3" json:"dimension_headers,omitempty"` + // Describes metric columns. The number of MetricHeaders and ordering of + // MetricHeaders matches the metrics present in rows. + MetricHeaders []*MetricHeader `protobuf:"bytes,2,rep,name=metric_headers,json=metricHeaders,proto3" json:"metric_headers,omitempty"` + // Rows of dimension value combinations and metric values in the report. + Rows []*Row `protobuf:"bytes,3,rep,name=rows,proto3" json:"rows,omitempty"` + // If requested, the totaled values of metrics. + Totals []*Row `protobuf:"bytes,4,rep,name=totals,proto3" json:"totals,omitempty"` + // If requested, the maximum values of metrics. + Maximums []*Row `protobuf:"bytes,5,rep,name=maximums,proto3" json:"maximums,omitempty"` + // If requested, the minimum values of metrics. + Minimums []*Row `protobuf:"bytes,6,rep,name=minimums,proto3" json:"minimums,omitempty"` + // The total number of rows in the query result, regardless of the number of + // rows returned in the response. For example if a query returns 175 rows and + // includes limit = 50 in the API request, the response will contain row_count + // = 175 but only 50 rows. + RowCount int32 `protobuf:"varint,7,opt,name=row_count,json=rowCount,proto3" json:"row_count,omitempty"` + // This Analytics Property's Realtime quota state including this request. + PropertyQuota *PropertyQuota `protobuf:"bytes,8,opt,name=property_quota,json=propertyQuota,proto3" json:"property_quota,omitempty"` +} + +func (x *RunRealtimeReportResponse) Reset() { + *x = RunRealtimeReportResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_analytics_data_v1alpha_analytics_data_api_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RunRealtimeReportResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RunRealtimeReportResponse) ProtoMessage() {} + +func (x *RunRealtimeReportResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_analytics_data_v1alpha_analytics_data_api_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RunRealtimeReportResponse.ProtoReflect.Descriptor instead. +func (*RunRealtimeReportResponse) Descriptor() ([]byte, []int) { + return file_google_analytics_data_v1alpha_analytics_data_api_proto_rawDescGZIP(), []int{13} +} + +func (x *RunRealtimeReportResponse) GetDimensionHeaders() []*DimensionHeader { + if x != nil { + return x.DimensionHeaders + } + return nil +} + +func (x *RunRealtimeReportResponse) GetMetricHeaders() []*MetricHeader { + if x != nil { + return x.MetricHeaders + } + return nil +} + +func (x *RunRealtimeReportResponse) GetRows() []*Row { + if x != nil { + return x.Rows + } + return nil +} + +func (x *RunRealtimeReportResponse) GetTotals() []*Row { + if x != nil { + return x.Totals + } + return nil +} + +func (x *RunRealtimeReportResponse) GetMaximums() []*Row { + if x != nil { + return x.Maximums + } + return nil +} + +func (x *RunRealtimeReportResponse) GetMinimums() []*Row { + if x != nil { + return x.Minimums + } + return nil +} + +func (x *RunRealtimeReportResponse) GetRowCount() int32 { + if x != nil { + return x.RowCount + } + return 0 +} + +func (x *RunRealtimeReportResponse) GetPropertyQuota() *PropertyQuota { + if x != nil { + return x.PropertyQuota + } + return nil +} + var File_google_analytics_data_v1alpha_analytics_data_api_proto protoreflect.FileDescriptor var file_google_analytics_data_v1alpha_analytics_data_api_proto_rawDesc = []byte{ @@ -1357,87 +1606,173 @@ var file_google_analytics_data_v1alpha_analytics_data_api_proto_rawDesc = []byte 0xfa, 0x41, 0x27, 0x0a, 0x25, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x32, 0xf9, 0x08, 0x0a, 0x12, 0x41, 0x6c, 0x70, 0x68, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, - 0x69, 0x63, 0x73, 0x44, 0x61, 0x74, 0x61, 0x12, 0x8d, 0x01, 0x0a, 0x09, 0x52, 0x75, 0x6e, 0x52, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, + 0x22, 0xe5, 0x04, 0x0a, 0x18, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, + 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x48, 0x0a, 0x0a, 0x64, 0x69, 0x6d, + 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, + 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x69, + 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x3f, 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, + 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x07, 0x6d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x5a, 0x0a, 0x10, 0x64, 0x69, + 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, + 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, + 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x54, 0x0a, 0x0d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, + 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, + 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x46, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0c, + 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x61, 0x0a, 0x13, + 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, + 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, + 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x6d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x43, 0x0a, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x73, 0x18, 0x08, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, + 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x52, 0x08, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x42, 0x79, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x13, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x72, 0x6f, 0x70, 0x65, + 0x72, 0x74, 0x79, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x22, 0xb2, 0x04, 0x0a, 0x19, 0x52, 0x75, 0x6e, + 0x52, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x11, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, + 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x2e, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x52, 0x10, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x73, 0x12, 0x52, 0x0a, 0x0e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x68, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, + 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, + 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x36, 0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, - 0x22, 0x12, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x3a, 0x72, 0x75, 0x6e, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x3a, 0x01, 0x2a, 0x12, 0xa1, 0x01, 0x0a, 0x0e, 0x52, 0x75, 0x6e, 0x50, - 0x69, 0x76, 0x6f, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, - 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x75, 0x6e, 0x50, 0x69, - 0x76, 0x6f, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, - 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x2e, 0x52, 0x75, 0x6e, 0x50, 0x69, 0x76, 0x6f, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x22, - 0x17, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x3a, 0x72, 0x75, 0x6e, 0x50, 0x69, 0x76, - 0x6f, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x3a, 0x01, 0x2a, 0x12, 0xa5, 0x01, 0x0a, 0x0f, - 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, - 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x6f, 0x77, 0x52, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x12, + 0x3a, 0x0a, 0x06, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, - 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x52, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x23, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x22, 0x18, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, - 0x3a, 0x01, 0x2a, 0x12, 0xb9, 0x01, 0x0a, 0x14, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, - 0x50, 0x69, 0x76, 0x6f, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x3a, 0x2e, 0x67, + 0x52, 0x6f, 0x77, 0x52, 0x06, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x73, 0x12, 0x3e, 0x0a, 0x08, 0x6d, + 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, + 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x6f, + 0x77, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x73, 0x12, 0x3e, 0x0a, 0x08, 0x6d, + 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, + 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x6f, + 0x77, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x72, + 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x72, 0x6f, 0x77, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x53, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x79, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, + 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x52, 0x0d, + 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x32, 0xc1, 0x0a, + 0x0a, 0x12, 0x41, 0x6c, 0x70, 0x68, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, + 0x44, 0x61, 0x74, 0x61, 0x12, 0x8d, 0x01, 0x0a, 0x09, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, + 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x2e, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, + 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x2e, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x22, 0x12, 0x2f, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x3a, 0x72, 0x75, 0x6e, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x3a, 0x01, 0x2a, 0x12, 0xa1, 0x01, 0x0a, 0x0e, 0x52, 0x75, 0x6e, 0x50, 0x69, 0x76, 0x6f, + 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x75, 0x6e, 0x50, 0x69, 0x76, 0x6f, 0x74, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, + 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x75, + 0x6e, 0x50, 0x69, 0x76, 0x6f, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x22, 0x17, 0x2f, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x3a, 0x72, 0x75, 0x6e, 0x50, 0x69, 0x76, 0x6f, 0x74, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x3a, 0x01, 0x2a, 0x12, 0xa5, 0x01, 0x0a, 0x0f, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x42, 0x61, 0x74, - 0x63, 0x68, 0x52, 0x75, 0x6e, 0x50, 0x69, 0x76, 0x6f, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, - 0x6e, 0x50, 0x69, 0x76, 0x6f, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x22, 0x1d, 0x2f, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, - 0x50, 0x69, 0x76, 0x6f, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x3a, 0x01, 0x2a, 0x12, - 0xa8, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x55, 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, 0x61, 0x6c, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x6e, 0x69, 0x76, - 0x65, 0x72, 0x73, 0x61, 0x6c, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, - 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x55, 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, 0x61, 0x6c, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x12, 0x1a, - 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x75, 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, - 0x61, 0x6c, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x9f, 0x01, 0x0a, 0x0b, 0x47, - 0x65, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, - 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, - 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x34, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x12, 0x25, - 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, - 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x7e, 0xca, 0x41, - 0x1c, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x5c, - 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, - 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, - 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, - 0x69, 0x63, 0x73, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x6f, 0x6e, 0x6c, 0x79, 0x42, 0x7f, 0x0a, 0x21, - 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x63, 0x68, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, + 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x23, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x1d, 0x22, 0x18, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x3a, 0x62, 0x61, + 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x3a, 0x01, 0x2a, + 0x12, 0xb9, 0x01, 0x0a, 0x14, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x50, 0x69, 0x76, + 0x6f, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, + 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, + 0x75, 0x6e, 0x50, 0x69, 0x76, 0x6f, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, + 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x50, 0x69, + 0x76, 0x6f, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x22, 0x1d, 0x2f, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x50, 0x69, 0x76, + 0x6f, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x3a, 0x01, 0x2a, 0x12, 0xa8, 0x01, 0x0a, + 0x14, 0x47, 0x65, 0x74, 0x55, 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, 0x61, 0x6c, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, + 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, + 0x61, 0x6c, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x42, 0x15, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x44, 0x61, 0x74, 0x61, - 0x41, 0x70, 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x41, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, - 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, - 0x73, 0x2f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2f, 0x64, 0x61, 0x74, 0x61, - 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x3b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x61, 0x2e, 0x55, 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, 0x61, 0x6c, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x12, 0x1a, 0x2f, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x75, 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, 0x61, 0x6c, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x9f, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, + 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x22, 0x34, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x12, 0x25, 0x2f, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xc5, 0x01, 0x0a, 0x11, 0x52, 0x75, + 0x6e, 0x52, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, + 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, + 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, + 0x52, 0x75, 0x6e, 0x52, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x61, 0x6c, + 0x74, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x22, 0x32, 0x2f, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3d, 0x70, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x75, 0x6e, + 0x52, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x3a, 0x01, + 0x2a, 0x1a, 0x7e, 0xca, 0x41, 0x1c, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x64, + 0x61, 0x74, 0x61, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0xd2, 0x41, 0x5c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x61, 0x75, 0x74, 0x68, 0x2f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2c, 0x68, + 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x61, + 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x6f, 0x6e, 0x6c, + 0x79, 0x42, 0x7f, 0x0a, 0x21, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x15, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, + 0x73, 0x44, 0x61, 0x74, 0x61, 0x41, 0x70, 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, + 0x41, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, + 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, + 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x3b, 0x64, 0x61, + 0x74, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1452,7 +1787,7 @@ func file_google_analytics_data_v1alpha_analytics_data_api_proto_rawDescGZIP() [ return file_google_analytics_data_v1alpha_analytics_data_api_proto_rawDescData } -var file_google_analytics_data_v1alpha_analytics_data_api_proto_msgTypes = make([]protoimpl.MessageInfo, 12) +var file_google_analytics_data_v1alpha_analytics_data_api_proto_msgTypes = make([]protoimpl.MessageInfo, 14) var file_google_analytics_data_v1alpha_analytics_data_api_proto_goTypes = []interface{}{ (*Metadata)(nil), // 0: google.analytics.data.v1alpha.Metadata (*RunReportRequest)(nil), // 1: google.analytics.data.v1alpha.RunReportRequest @@ -1466,84 +1801,101 @@ var file_google_analytics_data_v1alpha_analytics_data_api_proto_goTypes = []inte (*GetUniversalMetadataRequest)(nil), // 9: google.analytics.data.v1alpha.GetUniversalMetadataRequest (*UniversalMetadata)(nil), // 10: google.analytics.data.v1alpha.UniversalMetadata (*GetMetadataRequest)(nil), // 11: google.analytics.data.v1alpha.GetMetadataRequest - (*DimensionMetadata)(nil), // 12: google.analytics.data.v1alpha.DimensionMetadata - (*MetricMetadata)(nil), // 13: google.analytics.data.v1alpha.MetricMetadata - (*Entity)(nil), // 14: google.analytics.data.v1alpha.Entity - (*Dimension)(nil), // 15: google.analytics.data.v1alpha.Dimension - (*Metric)(nil), // 16: google.analytics.data.v1alpha.Metric - (*DateRange)(nil), // 17: google.analytics.data.v1alpha.DateRange - (MetricAggregation)(0), // 18: google.analytics.data.v1alpha.MetricAggregation - (*FilterExpression)(nil), // 19: google.analytics.data.v1alpha.FilterExpression - (*OrderBy)(nil), // 20: google.analytics.data.v1alpha.OrderBy - (*CohortSpec)(nil), // 21: google.analytics.data.v1alpha.CohortSpec - (*DimensionHeader)(nil), // 22: google.analytics.data.v1alpha.DimensionHeader - (*MetricHeader)(nil), // 23: google.analytics.data.v1alpha.MetricHeader - (*Row)(nil), // 24: google.analytics.data.v1alpha.Row - (*ResponseMetaData)(nil), // 25: google.analytics.data.v1alpha.ResponseMetaData - (*PropertyQuota)(nil), // 26: google.analytics.data.v1alpha.PropertyQuota - (*Pivot)(nil), // 27: google.analytics.data.v1alpha.Pivot - (*PivotHeader)(nil), // 28: google.analytics.data.v1alpha.PivotHeader + (*RunRealtimeReportRequest)(nil), // 12: google.analytics.data.v1alpha.RunRealtimeReportRequest + (*RunRealtimeReportResponse)(nil), // 13: google.analytics.data.v1alpha.RunRealtimeReportResponse + (*DimensionMetadata)(nil), // 14: google.analytics.data.v1alpha.DimensionMetadata + (*MetricMetadata)(nil), // 15: google.analytics.data.v1alpha.MetricMetadata + (*Entity)(nil), // 16: google.analytics.data.v1alpha.Entity + (*Dimension)(nil), // 17: google.analytics.data.v1alpha.Dimension + (*Metric)(nil), // 18: google.analytics.data.v1alpha.Metric + (*DateRange)(nil), // 19: google.analytics.data.v1alpha.DateRange + (MetricAggregation)(0), // 20: google.analytics.data.v1alpha.MetricAggregation + (*FilterExpression)(nil), // 21: google.analytics.data.v1alpha.FilterExpression + (*OrderBy)(nil), // 22: google.analytics.data.v1alpha.OrderBy + (*CohortSpec)(nil), // 23: google.analytics.data.v1alpha.CohortSpec + (*DimensionHeader)(nil), // 24: google.analytics.data.v1alpha.DimensionHeader + (*MetricHeader)(nil), // 25: google.analytics.data.v1alpha.MetricHeader + (*Row)(nil), // 26: google.analytics.data.v1alpha.Row + (*ResponseMetaData)(nil), // 27: google.analytics.data.v1alpha.ResponseMetaData + (*PropertyQuota)(nil), // 28: google.analytics.data.v1alpha.PropertyQuota + (*Pivot)(nil), // 29: google.analytics.data.v1alpha.Pivot + (*PivotHeader)(nil), // 30: google.analytics.data.v1alpha.PivotHeader } var file_google_analytics_data_v1alpha_analytics_data_api_proto_depIdxs = []int32{ - 12, // 0: google.analytics.data.v1alpha.Metadata.dimensions:type_name -> google.analytics.data.v1alpha.DimensionMetadata - 13, // 1: google.analytics.data.v1alpha.Metadata.metrics:type_name -> google.analytics.data.v1alpha.MetricMetadata - 14, // 2: google.analytics.data.v1alpha.RunReportRequest.entity:type_name -> google.analytics.data.v1alpha.Entity - 15, // 3: google.analytics.data.v1alpha.RunReportRequest.dimensions:type_name -> google.analytics.data.v1alpha.Dimension - 16, // 4: google.analytics.data.v1alpha.RunReportRequest.metrics:type_name -> google.analytics.data.v1alpha.Metric - 17, // 5: google.analytics.data.v1alpha.RunReportRequest.date_ranges:type_name -> google.analytics.data.v1alpha.DateRange - 18, // 6: google.analytics.data.v1alpha.RunReportRequest.metric_aggregations:type_name -> google.analytics.data.v1alpha.MetricAggregation - 19, // 7: google.analytics.data.v1alpha.RunReportRequest.dimension_filter:type_name -> google.analytics.data.v1alpha.FilterExpression - 19, // 8: google.analytics.data.v1alpha.RunReportRequest.metric_filter:type_name -> google.analytics.data.v1alpha.FilterExpression - 20, // 9: google.analytics.data.v1alpha.RunReportRequest.order_bys:type_name -> google.analytics.data.v1alpha.OrderBy - 21, // 10: google.analytics.data.v1alpha.RunReportRequest.cohort_spec:type_name -> google.analytics.data.v1alpha.CohortSpec - 22, // 11: google.analytics.data.v1alpha.RunReportResponse.dimension_headers:type_name -> google.analytics.data.v1alpha.DimensionHeader - 23, // 12: google.analytics.data.v1alpha.RunReportResponse.metric_headers:type_name -> google.analytics.data.v1alpha.MetricHeader - 24, // 13: google.analytics.data.v1alpha.RunReportResponse.rows:type_name -> google.analytics.data.v1alpha.Row - 24, // 14: google.analytics.data.v1alpha.RunReportResponse.totals:type_name -> google.analytics.data.v1alpha.Row - 24, // 15: google.analytics.data.v1alpha.RunReportResponse.maximums:type_name -> google.analytics.data.v1alpha.Row - 24, // 16: google.analytics.data.v1alpha.RunReportResponse.minimums:type_name -> google.analytics.data.v1alpha.Row - 25, // 17: google.analytics.data.v1alpha.RunReportResponse.metadata:type_name -> google.analytics.data.v1alpha.ResponseMetaData - 26, // 18: google.analytics.data.v1alpha.RunReportResponse.property_quota:type_name -> google.analytics.data.v1alpha.PropertyQuota - 14, // 19: google.analytics.data.v1alpha.RunPivotReportRequest.entity:type_name -> google.analytics.data.v1alpha.Entity - 15, // 20: google.analytics.data.v1alpha.RunPivotReportRequest.dimensions:type_name -> google.analytics.data.v1alpha.Dimension - 16, // 21: google.analytics.data.v1alpha.RunPivotReportRequest.metrics:type_name -> google.analytics.data.v1alpha.Metric - 19, // 22: google.analytics.data.v1alpha.RunPivotReportRequest.dimension_filter:type_name -> google.analytics.data.v1alpha.FilterExpression - 19, // 23: google.analytics.data.v1alpha.RunPivotReportRequest.metric_filter:type_name -> google.analytics.data.v1alpha.FilterExpression - 27, // 24: google.analytics.data.v1alpha.RunPivotReportRequest.pivots:type_name -> google.analytics.data.v1alpha.Pivot - 17, // 25: google.analytics.data.v1alpha.RunPivotReportRequest.date_ranges:type_name -> google.analytics.data.v1alpha.DateRange - 21, // 26: google.analytics.data.v1alpha.RunPivotReportRequest.cohort_spec:type_name -> google.analytics.data.v1alpha.CohortSpec - 28, // 27: google.analytics.data.v1alpha.RunPivotReportResponse.pivot_headers:type_name -> google.analytics.data.v1alpha.PivotHeader - 22, // 28: google.analytics.data.v1alpha.RunPivotReportResponse.dimension_headers:type_name -> google.analytics.data.v1alpha.DimensionHeader - 23, // 29: google.analytics.data.v1alpha.RunPivotReportResponse.metric_headers:type_name -> google.analytics.data.v1alpha.MetricHeader - 24, // 30: google.analytics.data.v1alpha.RunPivotReportResponse.rows:type_name -> google.analytics.data.v1alpha.Row - 24, // 31: google.analytics.data.v1alpha.RunPivotReportResponse.aggregates:type_name -> google.analytics.data.v1alpha.Row - 25, // 32: google.analytics.data.v1alpha.RunPivotReportResponse.metadata:type_name -> google.analytics.data.v1alpha.ResponseMetaData - 26, // 33: google.analytics.data.v1alpha.RunPivotReportResponse.property_quota:type_name -> google.analytics.data.v1alpha.PropertyQuota - 14, // 34: google.analytics.data.v1alpha.BatchRunReportsRequest.entity:type_name -> google.analytics.data.v1alpha.Entity + 14, // 0: google.analytics.data.v1alpha.Metadata.dimensions:type_name -> google.analytics.data.v1alpha.DimensionMetadata + 15, // 1: google.analytics.data.v1alpha.Metadata.metrics:type_name -> google.analytics.data.v1alpha.MetricMetadata + 16, // 2: google.analytics.data.v1alpha.RunReportRequest.entity:type_name -> google.analytics.data.v1alpha.Entity + 17, // 3: google.analytics.data.v1alpha.RunReportRequest.dimensions:type_name -> google.analytics.data.v1alpha.Dimension + 18, // 4: google.analytics.data.v1alpha.RunReportRequest.metrics:type_name -> google.analytics.data.v1alpha.Metric + 19, // 5: google.analytics.data.v1alpha.RunReportRequest.date_ranges:type_name -> google.analytics.data.v1alpha.DateRange + 20, // 6: google.analytics.data.v1alpha.RunReportRequest.metric_aggregations:type_name -> google.analytics.data.v1alpha.MetricAggregation + 21, // 7: google.analytics.data.v1alpha.RunReportRequest.dimension_filter:type_name -> google.analytics.data.v1alpha.FilterExpression + 21, // 8: google.analytics.data.v1alpha.RunReportRequest.metric_filter:type_name -> google.analytics.data.v1alpha.FilterExpression + 22, // 9: google.analytics.data.v1alpha.RunReportRequest.order_bys:type_name -> google.analytics.data.v1alpha.OrderBy + 23, // 10: google.analytics.data.v1alpha.RunReportRequest.cohort_spec:type_name -> google.analytics.data.v1alpha.CohortSpec + 24, // 11: google.analytics.data.v1alpha.RunReportResponse.dimension_headers:type_name -> google.analytics.data.v1alpha.DimensionHeader + 25, // 12: google.analytics.data.v1alpha.RunReportResponse.metric_headers:type_name -> google.analytics.data.v1alpha.MetricHeader + 26, // 13: google.analytics.data.v1alpha.RunReportResponse.rows:type_name -> google.analytics.data.v1alpha.Row + 26, // 14: google.analytics.data.v1alpha.RunReportResponse.totals:type_name -> google.analytics.data.v1alpha.Row + 26, // 15: google.analytics.data.v1alpha.RunReportResponse.maximums:type_name -> google.analytics.data.v1alpha.Row + 26, // 16: google.analytics.data.v1alpha.RunReportResponse.minimums:type_name -> google.analytics.data.v1alpha.Row + 27, // 17: google.analytics.data.v1alpha.RunReportResponse.metadata:type_name -> google.analytics.data.v1alpha.ResponseMetaData + 28, // 18: google.analytics.data.v1alpha.RunReportResponse.property_quota:type_name -> google.analytics.data.v1alpha.PropertyQuota + 16, // 19: google.analytics.data.v1alpha.RunPivotReportRequest.entity:type_name -> google.analytics.data.v1alpha.Entity + 17, // 20: google.analytics.data.v1alpha.RunPivotReportRequest.dimensions:type_name -> google.analytics.data.v1alpha.Dimension + 18, // 21: google.analytics.data.v1alpha.RunPivotReportRequest.metrics:type_name -> google.analytics.data.v1alpha.Metric + 21, // 22: google.analytics.data.v1alpha.RunPivotReportRequest.dimension_filter:type_name -> google.analytics.data.v1alpha.FilterExpression + 21, // 23: google.analytics.data.v1alpha.RunPivotReportRequest.metric_filter:type_name -> google.analytics.data.v1alpha.FilterExpression + 29, // 24: google.analytics.data.v1alpha.RunPivotReportRequest.pivots:type_name -> google.analytics.data.v1alpha.Pivot + 19, // 25: google.analytics.data.v1alpha.RunPivotReportRequest.date_ranges:type_name -> google.analytics.data.v1alpha.DateRange + 23, // 26: google.analytics.data.v1alpha.RunPivotReportRequest.cohort_spec:type_name -> google.analytics.data.v1alpha.CohortSpec + 30, // 27: google.analytics.data.v1alpha.RunPivotReportResponse.pivot_headers:type_name -> google.analytics.data.v1alpha.PivotHeader + 24, // 28: google.analytics.data.v1alpha.RunPivotReportResponse.dimension_headers:type_name -> google.analytics.data.v1alpha.DimensionHeader + 25, // 29: google.analytics.data.v1alpha.RunPivotReportResponse.metric_headers:type_name -> google.analytics.data.v1alpha.MetricHeader + 26, // 30: google.analytics.data.v1alpha.RunPivotReportResponse.rows:type_name -> google.analytics.data.v1alpha.Row + 26, // 31: google.analytics.data.v1alpha.RunPivotReportResponse.aggregates:type_name -> google.analytics.data.v1alpha.Row + 27, // 32: google.analytics.data.v1alpha.RunPivotReportResponse.metadata:type_name -> google.analytics.data.v1alpha.ResponseMetaData + 28, // 33: google.analytics.data.v1alpha.RunPivotReportResponse.property_quota:type_name -> google.analytics.data.v1alpha.PropertyQuota + 16, // 34: google.analytics.data.v1alpha.BatchRunReportsRequest.entity:type_name -> google.analytics.data.v1alpha.Entity 1, // 35: google.analytics.data.v1alpha.BatchRunReportsRequest.requests:type_name -> google.analytics.data.v1alpha.RunReportRequest 2, // 36: google.analytics.data.v1alpha.BatchRunReportsResponse.reports:type_name -> google.analytics.data.v1alpha.RunReportResponse - 14, // 37: google.analytics.data.v1alpha.BatchRunPivotReportsRequest.entity:type_name -> google.analytics.data.v1alpha.Entity + 16, // 37: google.analytics.data.v1alpha.BatchRunPivotReportsRequest.entity:type_name -> google.analytics.data.v1alpha.Entity 3, // 38: google.analytics.data.v1alpha.BatchRunPivotReportsRequest.requests:type_name -> google.analytics.data.v1alpha.RunPivotReportRequest 4, // 39: google.analytics.data.v1alpha.BatchRunPivotReportsResponse.pivot_reports:type_name -> google.analytics.data.v1alpha.RunPivotReportResponse - 12, // 40: google.analytics.data.v1alpha.UniversalMetadata.dimensions:type_name -> google.analytics.data.v1alpha.DimensionMetadata - 13, // 41: google.analytics.data.v1alpha.UniversalMetadata.metrics:type_name -> google.analytics.data.v1alpha.MetricMetadata - 1, // 42: google.analytics.data.v1alpha.AlphaAnalyticsData.RunReport:input_type -> google.analytics.data.v1alpha.RunReportRequest - 3, // 43: google.analytics.data.v1alpha.AlphaAnalyticsData.RunPivotReport:input_type -> google.analytics.data.v1alpha.RunPivotReportRequest - 5, // 44: google.analytics.data.v1alpha.AlphaAnalyticsData.BatchRunReports:input_type -> google.analytics.data.v1alpha.BatchRunReportsRequest - 7, // 45: google.analytics.data.v1alpha.AlphaAnalyticsData.BatchRunPivotReports:input_type -> google.analytics.data.v1alpha.BatchRunPivotReportsRequest - 9, // 46: google.analytics.data.v1alpha.AlphaAnalyticsData.GetUniversalMetadata:input_type -> google.analytics.data.v1alpha.GetUniversalMetadataRequest - 11, // 47: google.analytics.data.v1alpha.AlphaAnalyticsData.GetMetadata:input_type -> google.analytics.data.v1alpha.GetMetadataRequest - 2, // 48: google.analytics.data.v1alpha.AlphaAnalyticsData.RunReport:output_type -> google.analytics.data.v1alpha.RunReportResponse - 4, // 49: google.analytics.data.v1alpha.AlphaAnalyticsData.RunPivotReport:output_type -> google.analytics.data.v1alpha.RunPivotReportResponse - 6, // 50: google.analytics.data.v1alpha.AlphaAnalyticsData.BatchRunReports:output_type -> google.analytics.data.v1alpha.BatchRunReportsResponse - 8, // 51: google.analytics.data.v1alpha.AlphaAnalyticsData.BatchRunPivotReports:output_type -> google.analytics.data.v1alpha.BatchRunPivotReportsResponse - 10, // 52: google.analytics.data.v1alpha.AlphaAnalyticsData.GetUniversalMetadata:output_type -> google.analytics.data.v1alpha.UniversalMetadata - 0, // 53: google.analytics.data.v1alpha.AlphaAnalyticsData.GetMetadata:output_type -> google.analytics.data.v1alpha.Metadata - 48, // [48:54] is the sub-list for method output_type - 42, // [42:48] is the sub-list for method input_type - 42, // [42:42] is the sub-list for extension type_name - 42, // [42:42] is the sub-list for extension extendee - 0, // [0:42] is the sub-list for field type_name + 14, // 40: google.analytics.data.v1alpha.UniversalMetadata.dimensions:type_name -> google.analytics.data.v1alpha.DimensionMetadata + 15, // 41: google.analytics.data.v1alpha.UniversalMetadata.metrics:type_name -> google.analytics.data.v1alpha.MetricMetadata + 17, // 42: google.analytics.data.v1alpha.RunRealtimeReportRequest.dimensions:type_name -> google.analytics.data.v1alpha.Dimension + 18, // 43: google.analytics.data.v1alpha.RunRealtimeReportRequest.metrics:type_name -> google.analytics.data.v1alpha.Metric + 21, // 44: google.analytics.data.v1alpha.RunRealtimeReportRequest.dimension_filter:type_name -> google.analytics.data.v1alpha.FilterExpression + 21, // 45: google.analytics.data.v1alpha.RunRealtimeReportRequest.metric_filter:type_name -> google.analytics.data.v1alpha.FilterExpression + 20, // 46: google.analytics.data.v1alpha.RunRealtimeReportRequest.metric_aggregations:type_name -> google.analytics.data.v1alpha.MetricAggregation + 22, // 47: google.analytics.data.v1alpha.RunRealtimeReportRequest.order_bys:type_name -> google.analytics.data.v1alpha.OrderBy + 24, // 48: google.analytics.data.v1alpha.RunRealtimeReportResponse.dimension_headers:type_name -> google.analytics.data.v1alpha.DimensionHeader + 25, // 49: google.analytics.data.v1alpha.RunRealtimeReportResponse.metric_headers:type_name -> google.analytics.data.v1alpha.MetricHeader + 26, // 50: google.analytics.data.v1alpha.RunRealtimeReportResponse.rows:type_name -> google.analytics.data.v1alpha.Row + 26, // 51: google.analytics.data.v1alpha.RunRealtimeReportResponse.totals:type_name -> google.analytics.data.v1alpha.Row + 26, // 52: google.analytics.data.v1alpha.RunRealtimeReportResponse.maximums:type_name -> google.analytics.data.v1alpha.Row + 26, // 53: google.analytics.data.v1alpha.RunRealtimeReportResponse.minimums:type_name -> google.analytics.data.v1alpha.Row + 28, // 54: google.analytics.data.v1alpha.RunRealtimeReportResponse.property_quota:type_name -> google.analytics.data.v1alpha.PropertyQuota + 1, // 55: google.analytics.data.v1alpha.AlphaAnalyticsData.RunReport:input_type -> google.analytics.data.v1alpha.RunReportRequest + 3, // 56: google.analytics.data.v1alpha.AlphaAnalyticsData.RunPivotReport:input_type -> google.analytics.data.v1alpha.RunPivotReportRequest + 5, // 57: google.analytics.data.v1alpha.AlphaAnalyticsData.BatchRunReports:input_type -> google.analytics.data.v1alpha.BatchRunReportsRequest + 7, // 58: google.analytics.data.v1alpha.AlphaAnalyticsData.BatchRunPivotReports:input_type -> google.analytics.data.v1alpha.BatchRunPivotReportsRequest + 9, // 59: google.analytics.data.v1alpha.AlphaAnalyticsData.GetUniversalMetadata:input_type -> google.analytics.data.v1alpha.GetUniversalMetadataRequest + 11, // 60: google.analytics.data.v1alpha.AlphaAnalyticsData.GetMetadata:input_type -> google.analytics.data.v1alpha.GetMetadataRequest + 12, // 61: google.analytics.data.v1alpha.AlphaAnalyticsData.RunRealtimeReport:input_type -> google.analytics.data.v1alpha.RunRealtimeReportRequest + 2, // 62: google.analytics.data.v1alpha.AlphaAnalyticsData.RunReport:output_type -> google.analytics.data.v1alpha.RunReportResponse + 4, // 63: google.analytics.data.v1alpha.AlphaAnalyticsData.RunPivotReport:output_type -> google.analytics.data.v1alpha.RunPivotReportResponse + 6, // 64: google.analytics.data.v1alpha.AlphaAnalyticsData.BatchRunReports:output_type -> google.analytics.data.v1alpha.BatchRunReportsResponse + 8, // 65: google.analytics.data.v1alpha.AlphaAnalyticsData.BatchRunPivotReports:output_type -> google.analytics.data.v1alpha.BatchRunPivotReportsResponse + 10, // 66: google.analytics.data.v1alpha.AlphaAnalyticsData.GetUniversalMetadata:output_type -> google.analytics.data.v1alpha.UniversalMetadata + 0, // 67: google.analytics.data.v1alpha.AlphaAnalyticsData.GetMetadata:output_type -> google.analytics.data.v1alpha.Metadata + 13, // 68: google.analytics.data.v1alpha.AlphaAnalyticsData.RunRealtimeReport:output_type -> google.analytics.data.v1alpha.RunRealtimeReportResponse + 62, // [62:69] is the sub-list for method output_type + 55, // [55:62] is the sub-list for method input_type + 55, // [55:55] is the sub-list for extension type_name + 55, // [55:55] is the sub-list for extension extendee + 0, // [0:55] is the sub-list for field type_name } func init() { file_google_analytics_data_v1alpha_analytics_data_api_proto_init() } @@ -1697,6 +2049,30 @@ func file_google_analytics_data_v1alpha_analytics_data_api_proto_init() { return nil } } + file_google_analytics_data_v1alpha_analytics_data_api_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RunRealtimeReportRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_analytics_data_v1alpha_analytics_data_api_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RunRealtimeReportResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -1704,7 +2080,7 @@ func file_google_analytics_data_v1alpha_analytics_data_api_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_google_analytics_data_v1alpha_analytics_data_api_proto_rawDesc, NumEnums: 0, - NumMessages: 12, + NumMessages: 14, NumExtensions: 0, NumServices: 1, }, @@ -1768,6 +2144,10 @@ type AlphaAnalyticsDataClient interface { // `customEvent:levels_unlocked`. Universal metadata are dimensions and // metrics applicable to any property such as `country` and `totalUsers`. GetMetadata(ctx context.Context, in *GetMetadataRequest, opts ...grpc.CallOption) (*Metadata, error) + // The Google Analytics Realtime API returns a customized report of realtime + // event data for your property. These reports show events and usage from the + // last 30 minutes. + RunRealtimeReport(ctx context.Context, in *RunRealtimeReportRequest, opts ...grpc.CallOption) (*RunRealtimeReportResponse, error) } type alphaAnalyticsDataClient struct { @@ -1832,6 +2212,15 @@ func (c *alphaAnalyticsDataClient) GetMetadata(ctx context.Context, in *GetMetad return out, nil } +func (c *alphaAnalyticsDataClient) RunRealtimeReport(ctx context.Context, in *RunRealtimeReportRequest, opts ...grpc.CallOption) (*RunRealtimeReportResponse, error) { + out := new(RunRealtimeReportResponse) + err := c.cc.Invoke(ctx, "/google.analytics.data.v1alpha.AlphaAnalyticsData/RunRealtimeReport", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // AlphaAnalyticsDataServer is the server API for AlphaAnalyticsData service. type AlphaAnalyticsDataServer interface { // Returns a customized report of your Google Analytics event data. Reports @@ -1872,6 +2261,10 @@ type AlphaAnalyticsDataServer interface { // `customEvent:levels_unlocked`. Universal metadata are dimensions and // metrics applicable to any property such as `country` and `totalUsers`. GetMetadata(context.Context, *GetMetadataRequest) (*Metadata, error) + // The Google Analytics Realtime API returns a customized report of realtime + // event data for your property. These reports show events and usage from the + // last 30 minutes. + RunRealtimeReport(context.Context, *RunRealtimeReportRequest) (*RunRealtimeReportResponse, error) } // UnimplementedAlphaAnalyticsDataServer can be embedded to have forward compatible implementations. @@ -1896,6 +2289,9 @@ func (*UnimplementedAlphaAnalyticsDataServer) GetUniversalMetadata(context.Conte func (*UnimplementedAlphaAnalyticsDataServer) GetMetadata(context.Context, *GetMetadataRequest) (*Metadata, error) { return nil, status.Errorf(codes.Unimplemented, "method GetMetadata not implemented") } +func (*UnimplementedAlphaAnalyticsDataServer) RunRealtimeReport(context.Context, *RunRealtimeReportRequest) (*RunRealtimeReportResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RunRealtimeReport not implemented") +} func RegisterAlphaAnalyticsDataServer(s *grpc.Server, srv AlphaAnalyticsDataServer) { s.RegisterService(&_AlphaAnalyticsData_serviceDesc, srv) @@ -2009,6 +2405,24 @@ func _AlphaAnalyticsData_GetMetadata_Handler(srv interface{}, ctx context.Contex return interceptor(ctx, in, info, handler) } +func _AlphaAnalyticsData_RunRealtimeReport_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RunRealtimeReportRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AlphaAnalyticsDataServer).RunRealtimeReport(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.analytics.data.v1alpha.AlphaAnalyticsData/RunRealtimeReport", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AlphaAnalyticsDataServer).RunRealtimeReport(ctx, req.(*RunRealtimeReportRequest)) + } + return interceptor(ctx, in, info, handler) +} + var _AlphaAnalyticsData_serviceDesc = grpc.ServiceDesc{ ServiceName: "google.analytics.data.v1alpha.AlphaAnalyticsData", HandlerType: (*AlphaAnalyticsDataServer)(nil), @@ -2037,6 +2451,10 @@ var _AlphaAnalyticsData_serviceDesc = grpc.ServiceDesc{ MethodName: "GetMetadata", Handler: _AlphaAnalyticsData_GetMetadata_Handler, }, + { + MethodName: "RunRealtimeReport", + Handler: _AlphaAnalyticsData_RunRealtimeReport_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "google/analytics/data/v1alpha/analytics_data_api.proto", diff --git a/googleapis/analytics/data/v1alpha/data.pb.go b/googleapis/analytics/data/v1alpha/data.pb.go index 416dd2321..9ba3e5e4e 100644 --- a/googleapis/analytics/data/v1alpha/data.pb.go +++ b/googleapis/analytics/data/v1alpha/data.pb.go @@ -531,7 +531,9 @@ type Entity struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A Google Analytics 4 (GA4) property id. + // A Google Analytics GA4 property id. To learn more, see [where to find your + // Property + // ID](https://developers.google.com/analytics/trusted-testing/analytics-data/property-id). PropertyId string `protobuf:"bytes,1,opt,name=property_id,json=propertyId,proto3" json:"property_id,omitempty"` } @@ -574,15 +576,25 @@ func (x *Entity) GetPropertyId() string { return "" } -// Dimensions are attributes of your data. For example, the dimension City -// indicates the city, for example, "Paris" or "New York", from which an event -// originates. Requests are allowed up to 8 dimensions. +// Dimensions are attributes of your data. For example, the dimension city +// indicates the city from which an event originates. Dimension values in report +// responses are strings; for example, city could be "Paris" or "New York". +// Requests are allowed up to 8 dimensions. type Dimension struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The name of the dimension. + // The name of the dimension. See the [API + // Dimensions](https://developers.google.com/analytics/trusted-testing/analytics-data/api-schema#dimensions) + // for the list of dimension names. + // + // If `dimensionExpression` is specified, `name` can be any string that you + // would like. For example if a `dimensionExpression` concatenates `country` + // and `city`, you could call that dimension `countryAndCity`. + // + // Dimensions are referenced by `name` in `dimensionFilter`, `orderBys`, + // `dimensionExpression`, and `pivots`. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // One dimension can be the result of an expression of multiple dimensions. // For example, dimension "country, city": concatenate(country, ", ", city). @@ -739,21 +751,31 @@ func (*DimensionExpression_UpperCase) isDimensionExpression_OneExpression() {} func (*DimensionExpression_Concatenate) isDimensionExpression_OneExpression() {} -// The quantitative measurements of a report. For example, the metric eventCount -// is the total number of events. Requests are allowed up to 10 metrics. +// The quantitative measurements of a report. For example, the metric +// `eventCount` is the total number of events. Requests are allowed up to 10 +// metrics. type Metric struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The name of the metric. + // The name of the metric. See the [API + // Metrics](https://developers.google.com/analytics/trusted-testing/analytics-data/api-schema#metrics) + // for the list of metric names. + // + // If `expression` is specified, `name` can be any string that you would like. + // For example if `expression` is `screenPageViews/sessions`, you could call + // that metric's name = `viewsPerSession`. + // + // Metrics are referenced by `name` in `metricFilter`, `orderBys`, and metric + // `expression`. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // A mathematical expression for derived metrics. For example, the metric - // Event count per user is eventCount/totalUsers. + // Event count per user is `eventCount/totalUsers`. Expression string `protobuf:"bytes,2,opt,name=expression,proto3" json:"expression,omitempty"` - // Indicates if a metric is invisible. - // If a metric is invisible, the metric is not in the response, but can be - // used in filters, order_bys or being referred to in a metric expression. + // Indicates if a metric is invisible in the report response. If a metric is + // invisible, the metric will not produce a column in the response, but can be + // used in `metricFilter`, `orderBys`, or a metric `expression`. Invisible bool `protobuf:"varint,3,opt,name=invisible,proto3" json:"invisible,omitempty"` } @@ -1084,7 +1106,10 @@ type isFilter_OneFilter interface { } type Filter_NullFilter struct { - // A filter for null values. + // A filter for null values. If True, a null dimension value is matched by + // this filter. Null filter is commonly used inside a NOT filter + // expression. For example, a NOT expression of a null filter removes rows + // when a dimension is null. NullFilter bool `protobuf:"varint,2,opt,name=null_filter,json=nullFilter,proto3,oneof"` } @@ -1868,28 +1893,38 @@ func (x *PivotDimensionHeader) GetDimensionValues() []*DimensionValue { // For example if RunReportRequest contains: // // ```none -// dimensions { -// name: "eventName" -// } -// dimensions { -// name: "countryId" -// } -// metrics { -// name: "eventCount" -// } +// "dimensions": [ +// { +// "name": "eventName" +// }, +// { +// "name": "countryId" +// } +// ], +// "metrics": [ +// { +// "name": "eventCount" +// } +// ] // ``` // -// One row with 'in_app_purchase' as the eventName, 'us' as the countryId, and +// One row with 'in_app_purchase' as the eventName, 'JP' as the countryId, and // 15 as the eventCount, would be: // // ```none -// dimension_values { -// name: 'in_app_purchase' -// name: 'us' -// } -// metric_values { -// int64_value: 15 -// } +// "dimensionValues": [ +// { +// "value": "in_app_purchase" +// }, +// { +// "value": "JP" +// } +// ], +// "metricValues": [ +// { +// "value": "15" +// } +// ] // ``` type Row struct { state protoimpl.MessageState @@ -2182,17 +2217,21 @@ type PropertyQuota struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Analytics Properties can use up to 25,000 tokens per day. Most requests + // Standard Analytics Properties can use up to 25,000 tokens per day; + // Analytics 360 Properties can use 250,000 tokens per day. Most requests // consume fewer than 10 tokens. TokensPerDay *QuotaStatus `protobuf:"bytes,1,opt,name=tokens_per_day,json=tokensPerDay,proto3" json:"tokens_per_day,omitempty"` - // Analytics Properties can use up to 5,000 tokens per day. An API request - // consumes a single number of tokens, and that number is deducted from both - // the hourly and daily quotas. + // Standard Analytics Properties can use up to 5,000 tokens per day; Analytics + // 360 Properties can use 50,000 tokens per day. An API request consumes a + // single number of tokens, and that number is deducted from both the hourly + // and daily quotas. TokensPerHour *QuotaStatus `protobuf:"bytes,2,opt,name=tokens_per_hour,json=tokensPerHour,proto3" json:"tokens_per_hour,omitempty"` - // Analytics Properties can send up to 10 concurrent requests. + // Standard Analytics Properties can send up to 10 concurrent requests; + // Analytics 360 Properties can use up to 50 concurrent requests. ConcurrentRequests *QuotaStatus `protobuf:"bytes,3,opt,name=concurrent_requests,json=concurrentRequests,proto3" json:"concurrent_requests,omitempty"` - // Analytics Properties and cloud project pairs can have up to 10 - // server errors per hour. + // Standard Analytics Properties and cloud project pairs can have up to 10 + // server errors per hour; Analytics 360 Properties and cloud project pairs + // can have up to 50 server errors per hour. ServerErrorsPerProjectPerHour *QuotaStatus `protobuf:"bytes,4,opt,name=server_errors_per_project_per_hour,json=serverErrorsPerProjectPerHour,proto3" json:"server_errors_per_project_per_hour,omitempty"` } diff --git a/googleapis/cloud/aiplatform/v1beta1/batch_prediction_job.pb.go b/googleapis/cloud/aiplatform/v1beta1/batch_prediction_job.pb.go index 3c070007e..a6809e0a8 100644 --- a/googleapis/cloud/aiplatform/v1beta1/batch_prediction_job.pb.go +++ b/googleapis/cloud/aiplatform/v1beta1/batch_prediction_job.pb.go @@ -94,27 +94,27 @@ type BatchPredictionJob struct { ManualBatchTuningParameters *ManualBatchTuningParameters `protobuf:"bytes,8,opt,name=manual_batch_tuning_parameters,json=manualBatchTuningParameters,proto3" json:"manual_batch_tuning_parameters,omitempty"` // Generate explanation along with the batch prediction results. // - // This can only be set to true for AutoML tabular Models, and only when the - // output destination is BigQuery. When it's true, the batch prediction - // output will include a column named `feature_attributions`. - // - // For AutoML tabular Models, the value of the `feature_attributions` column - // is a struct that maps from string to number. The keys in the map are the - // names of the features. The values in the map are the how much the features - // contribute to the predicted result. Features are defined as follows: - // - // * A scalar column defines a feature of the same name as the column. - // - // * A struct column defines multiple features, one feature per leaf field. - // The feature name is the fully qualified path for the leaf field, - // separated by ".". For example a column `key1` in the format of - // {"value1": {"prop1": number}, "value2": number} defines two features: - // `key1.value1.prop1` and `key1.value2` - // - // Attributions of each feature is represented as an extra column in the - // batch prediction output BigQuery table. + // When it's true, the batch prediction output will change based on the + // [output format][BatchPredictionJob.output_config.predictions_format]: // + // * `bigquery`: output will include a column named `explanation`. The value + // is a struct that conforms to the [Explanation][google.cloud.aiplatform.v1beta1.Explanation] object. + // * `jsonl`: The JSON objects on each line will include an additional entry + // keyed `explanation`. The value of the entry is a JSON object that + // conforms to the [Explanation][google.cloud.aiplatform.v1beta1.Explanation] object. + // * `csv`: Generating explanations for CSV format is not supported. GenerateExplanation bool `protobuf:"varint,23,opt,name=generate_explanation,json=generateExplanation,proto3" json:"generate_explanation,omitempty"` + // Explanation configuration for this BatchPredictionJob. Can only be + // specified if [generate_explanation][google.cloud.aiplatform.v1beta1.BatchPredictionJob.generate_explanation] is set to `true`. It's invalid to + // specified it with generate_explanation set to false or unset. + // + // This value overrides the value of [Model.explanation_spec][google.cloud.aiplatform.v1beta1.Model.explanation_spec]. All fields of + // [explanation_spec][google.cloud.aiplatform.v1beta1.BatchPredictionJob.explanation_spec] are optional in the request. If a field of + // [explanation_spec][google.cloud.aiplatform.v1beta1.BatchPredictionJob.explanation_spec] is not populated, the value of the same field of + // [Model.explanation_spec][google.cloud.aiplatform.v1beta1.Model.explanation_spec] is inherited. The corresponding + // [Model.explanation_spec][google.cloud.aiplatform.v1beta1.Model.explanation_spec] must be populated, otherwise explanation for + // this Model is not allowed. + ExplanationSpec *ExplanationSpec `protobuf:"bytes,25,opt,name=explanation_spec,json=explanationSpec,proto3" json:"explanation_spec,omitempty"` // Output only. Information further describing the output of this job. OutputInfo *BatchPredictionJob_OutputInfo `protobuf:"bytes,9,opt,name=output_info,json=outputInfo,proto3" json:"output_info,omitempty"` // Output only. The detailed state of the job. @@ -251,6 +251,13 @@ func (x *BatchPredictionJob) GetGenerateExplanation() bool { return false } +func (x *BatchPredictionJob) GetExplanationSpec() *ExplanationSpec { + if x != nil { + return x.ExplanationSpec + } + return nil +} + func (x *BatchPredictionJob) GetOutputInfo() *BatchPredictionJob_OutputInfo { if x != nil { return x.OutputInfo @@ -675,73 +682,82 @@ var file_google_cloud_aiplatform_v1beta1_batch_prediction_job_proto_rawDesc = [] 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x1a, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x6f, 0x1a, 0x31, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2f, 0x69, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6a, 0x6f, 0x62, - 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x37, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6d, 0x61, - 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x44, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x5f, 0x62, 0x61, - 0x74, 0x63, 0x68, 0x5f, 0x74, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, - 0x65, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x22, 0x81, 0x13, 0x0a, 0x12, 0x42, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69, - 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3d, 0x0a, 0x05, 0x6d, 0x6f, 0x64, - 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x21, - 0x0a, 0x1f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, 0x64, 0x65, - 0x6c, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x67, 0x0a, 0x0c, 0x69, 0x6e, 0x70, 0x75, - 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, + 0x61, 0x31, 0x2f, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x69, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x6a, 0x6f, 0x62, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x37, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x44, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c, + 0x5f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, + 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xde, 0x13, 0x0a, 0x12, 0x42, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, + 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x12, 0x17, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3d, 0x0a, 0x05, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, + 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, + 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x67, 0x0a, 0x0c, 0x69, + 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x41, 0x0a, 0x10, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x70, 0x61, + 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x6a, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, + 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x4a, 0x6f, 0x62, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x12, 0x41, 0x0a, 0x10, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, - 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, - 0x74, 0x65, 0x72, 0x73, 0x12, 0x6a, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, - 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, - 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x12, 0x69, 0x0a, 0x13, 0x64, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x12, 0x64, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, - 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x86, 0x01, 0x0a, 0x1e, - 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x5f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x75, 0x6e, - 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x4a, 0x6f, 0x62, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x69, 0x0a, 0x13, 0x64, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, + 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x12, 0x64, 0x65, 0x64, 0x69, + 0x63, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x86, + 0x01, 0x0a, 0x1e, 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x5f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, + 0x74, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, + 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, + 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x65, 0x74, 0x65, 0x72, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x1b, 0x6d, 0x61, 0x6e, 0x75, + 0x61, 0x6c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x31, 0x0a, 0x14, 0x67, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x17, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x45, + 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5b, 0x0a, 0x10, 0x65, 0x78, + 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x19, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x42, 0x61, 0x74, - 0x63, 0x68, 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, - 0x72, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x1b, 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x42, - 0x61, 0x74, 0x63, 0x68, 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, - 0x74, 0x65, 0x72, 0x73, 0x12, 0x31, 0x0a, 0x14, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, - 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x17, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x13, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x45, 0x78, 0x70, 0x6c, - 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x64, 0x0a, 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x52, 0x0f, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x64, 0x0a, 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, @@ -882,15 +898,16 @@ var file_google_cloud_aiplatform_v1beta1_batch_prediction_job_proto_goTypes = [] (*structpb.Value)(nil), // 5: google.protobuf.Value (*BatchDedicatedResources)(nil), // 6: google.cloud.aiplatform.v1beta1.BatchDedicatedResources (*ManualBatchTuningParameters)(nil), // 7: google.cloud.aiplatform.v1beta1.ManualBatchTuningParameters - (JobState)(0), // 8: google.cloud.aiplatform.v1beta1.JobState - (*status.Status)(nil), // 9: google.rpc.Status - (*ResourcesConsumed)(nil), // 10: google.cloud.aiplatform.v1beta1.ResourcesConsumed - (*CompletionStats)(nil), // 11: google.cloud.aiplatform.v1beta1.CompletionStats - (*timestamppb.Timestamp)(nil), // 12: google.protobuf.Timestamp - (*GcsSource)(nil), // 13: google.cloud.aiplatform.v1beta1.GcsSource - (*BigQuerySource)(nil), // 14: google.cloud.aiplatform.v1beta1.BigQuerySource - (*GcsDestination)(nil), // 15: google.cloud.aiplatform.v1beta1.GcsDestination - (*BigQueryDestination)(nil), // 16: google.cloud.aiplatform.v1beta1.BigQueryDestination + (*ExplanationSpec)(nil), // 8: google.cloud.aiplatform.v1beta1.ExplanationSpec + (JobState)(0), // 9: google.cloud.aiplatform.v1beta1.JobState + (*status.Status)(nil), // 10: google.rpc.Status + (*ResourcesConsumed)(nil), // 11: google.cloud.aiplatform.v1beta1.ResourcesConsumed + (*CompletionStats)(nil), // 12: google.cloud.aiplatform.v1beta1.CompletionStats + (*timestamppb.Timestamp)(nil), // 13: google.protobuf.Timestamp + (*GcsSource)(nil), // 14: google.cloud.aiplatform.v1beta1.GcsSource + (*BigQuerySource)(nil), // 15: google.cloud.aiplatform.v1beta1.BigQuerySource + (*GcsDestination)(nil), // 16: google.cloud.aiplatform.v1beta1.GcsDestination + (*BigQueryDestination)(nil), // 17: google.cloud.aiplatform.v1beta1.BigQueryDestination } var file_google_cloud_aiplatform_v1beta1_batch_prediction_job_proto_depIdxs = []int32{ 1, // 0: google.cloud.aiplatform.v1beta1.BatchPredictionJob.input_config:type_name -> google.cloud.aiplatform.v1beta1.BatchPredictionJob.InputConfig @@ -898,26 +915,27 @@ var file_google_cloud_aiplatform_v1beta1_batch_prediction_job_proto_depIdxs = [] 2, // 2: google.cloud.aiplatform.v1beta1.BatchPredictionJob.output_config:type_name -> google.cloud.aiplatform.v1beta1.BatchPredictionJob.OutputConfig 6, // 3: google.cloud.aiplatform.v1beta1.BatchPredictionJob.dedicated_resources:type_name -> google.cloud.aiplatform.v1beta1.BatchDedicatedResources 7, // 4: google.cloud.aiplatform.v1beta1.BatchPredictionJob.manual_batch_tuning_parameters:type_name -> google.cloud.aiplatform.v1beta1.ManualBatchTuningParameters - 3, // 5: google.cloud.aiplatform.v1beta1.BatchPredictionJob.output_info:type_name -> google.cloud.aiplatform.v1beta1.BatchPredictionJob.OutputInfo - 8, // 6: google.cloud.aiplatform.v1beta1.BatchPredictionJob.state:type_name -> google.cloud.aiplatform.v1beta1.JobState - 9, // 7: google.cloud.aiplatform.v1beta1.BatchPredictionJob.error:type_name -> google.rpc.Status - 9, // 8: google.cloud.aiplatform.v1beta1.BatchPredictionJob.partial_failures:type_name -> google.rpc.Status - 10, // 9: google.cloud.aiplatform.v1beta1.BatchPredictionJob.resources_consumed:type_name -> google.cloud.aiplatform.v1beta1.ResourcesConsumed - 11, // 10: google.cloud.aiplatform.v1beta1.BatchPredictionJob.completion_stats:type_name -> google.cloud.aiplatform.v1beta1.CompletionStats - 12, // 11: google.cloud.aiplatform.v1beta1.BatchPredictionJob.create_time:type_name -> google.protobuf.Timestamp - 12, // 12: google.cloud.aiplatform.v1beta1.BatchPredictionJob.start_time:type_name -> google.protobuf.Timestamp - 12, // 13: google.cloud.aiplatform.v1beta1.BatchPredictionJob.end_time:type_name -> google.protobuf.Timestamp - 12, // 14: google.cloud.aiplatform.v1beta1.BatchPredictionJob.update_time:type_name -> google.protobuf.Timestamp - 4, // 15: google.cloud.aiplatform.v1beta1.BatchPredictionJob.labels:type_name -> google.cloud.aiplatform.v1beta1.BatchPredictionJob.LabelsEntry - 13, // 16: google.cloud.aiplatform.v1beta1.BatchPredictionJob.InputConfig.gcs_source:type_name -> google.cloud.aiplatform.v1beta1.GcsSource - 14, // 17: google.cloud.aiplatform.v1beta1.BatchPredictionJob.InputConfig.bigquery_source:type_name -> google.cloud.aiplatform.v1beta1.BigQuerySource - 15, // 18: google.cloud.aiplatform.v1beta1.BatchPredictionJob.OutputConfig.gcs_destination:type_name -> google.cloud.aiplatform.v1beta1.GcsDestination - 16, // 19: google.cloud.aiplatform.v1beta1.BatchPredictionJob.OutputConfig.bigquery_destination:type_name -> google.cloud.aiplatform.v1beta1.BigQueryDestination - 20, // [20:20] is the sub-list for method output_type - 20, // [20:20] is the sub-list for method input_type - 20, // [20:20] is the sub-list for extension type_name - 20, // [20:20] is the sub-list for extension extendee - 0, // [0:20] is the sub-list for field type_name + 8, // 5: google.cloud.aiplatform.v1beta1.BatchPredictionJob.explanation_spec:type_name -> google.cloud.aiplatform.v1beta1.ExplanationSpec + 3, // 6: google.cloud.aiplatform.v1beta1.BatchPredictionJob.output_info:type_name -> google.cloud.aiplatform.v1beta1.BatchPredictionJob.OutputInfo + 9, // 7: google.cloud.aiplatform.v1beta1.BatchPredictionJob.state:type_name -> google.cloud.aiplatform.v1beta1.JobState + 10, // 8: google.cloud.aiplatform.v1beta1.BatchPredictionJob.error:type_name -> google.rpc.Status + 10, // 9: google.cloud.aiplatform.v1beta1.BatchPredictionJob.partial_failures:type_name -> google.rpc.Status + 11, // 10: google.cloud.aiplatform.v1beta1.BatchPredictionJob.resources_consumed:type_name -> google.cloud.aiplatform.v1beta1.ResourcesConsumed + 12, // 11: google.cloud.aiplatform.v1beta1.BatchPredictionJob.completion_stats:type_name -> google.cloud.aiplatform.v1beta1.CompletionStats + 13, // 12: google.cloud.aiplatform.v1beta1.BatchPredictionJob.create_time:type_name -> google.protobuf.Timestamp + 13, // 13: google.cloud.aiplatform.v1beta1.BatchPredictionJob.start_time:type_name -> google.protobuf.Timestamp + 13, // 14: google.cloud.aiplatform.v1beta1.BatchPredictionJob.end_time:type_name -> google.protobuf.Timestamp + 13, // 15: google.cloud.aiplatform.v1beta1.BatchPredictionJob.update_time:type_name -> google.protobuf.Timestamp + 4, // 16: google.cloud.aiplatform.v1beta1.BatchPredictionJob.labels:type_name -> google.cloud.aiplatform.v1beta1.BatchPredictionJob.LabelsEntry + 14, // 17: google.cloud.aiplatform.v1beta1.BatchPredictionJob.InputConfig.gcs_source:type_name -> google.cloud.aiplatform.v1beta1.GcsSource + 15, // 18: google.cloud.aiplatform.v1beta1.BatchPredictionJob.InputConfig.bigquery_source:type_name -> google.cloud.aiplatform.v1beta1.BigQuerySource + 16, // 19: google.cloud.aiplatform.v1beta1.BatchPredictionJob.OutputConfig.gcs_destination:type_name -> google.cloud.aiplatform.v1beta1.GcsDestination + 17, // 20: google.cloud.aiplatform.v1beta1.BatchPredictionJob.OutputConfig.bigquery_destination:type_name -> google.cloud.aiplatform.v1beta1.BigQueryDestination + 21, // [21:21] is the sub-list for method output_type + 21, // [21:21] is the sub-list for method input_type + 21, // [21:21] is the sub-list for extension type_name + 21, // [21:21] is the sub-list for extension extendee + 0, // [0:21] is the sub-list for field type_name } func init() { file_google_cloud_aiplatform_v1beta1_batch_prediction_job_proto_init() } @@ -926,6 +944,7 @@ func file_google_cloud_aiplatform_v1beta1_batch_prediction_job_proto_init() { return } file_google_cloud_aiplatform_v1beta1_completion_stats_proto_init() + file_google_cloud_aiplatform_v1beta1_explanation_proto_init() file_google_cloud_aiplatform_v1beta1_io_proto_init() file_google_cloud_aiplatform_v1beta1_job_state_proto_init() file_google_cloud_aiplatform_v1beta1_machine_resources_proto_init() diff --git a/googleapis/cloud/aiplatform/v1beta1/custom_job.pb.go b/googleapis/cloud/aiplatform/v1beta1/custom_job.pb.go index aa4286a74..d0ad2ef84 100644 --- a/googleapis/cloud/aiplatform/v1beta1/custom_job.pb.go +++ b/googleapis/cloud/aiplatform/v1beta1/custom_job.pb.go @@ -198,6 +198,22 @@ type CustomJobSpec struct { WorkerPoolSpecs []*WorkerPoolSpec `protobuf:"bytes,1,rep,name=worker_pool_specs,json=workerPoolSpecs,proto3" json:"worker_pool_specs,omitempty"` // Scheduling options for a CustomJob. Scheduling *Scheduling `protobuf:"bytes,3,opt,name=scheduling,proto3" json:"scheduling,omitempty"` + // Specifies the service account for workload run-as account. + // Users submitting jobs must have act-as permission on this run-as account. + ServiceAccount string `protobuf:"bytes,4,opt,name=service_account,json=serviceAccount,proto3" json:"service_account,omitempty"` + // The full name of the Compute Engine + // [network](/compute/docs/networks-and-firewalls#networks) to which the Job + // should be peered. For example, projects/12345/global/networks/myVPC. + // + // [Format](https: + // //cloud.google.com/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 + // network name. + // + // Private services access must already be configured for the network. If left + // unspecified, the job is not peered with any network. + Network string `protobuf:"bytes,5,opt,name=network,proto3" json:"network,omitempty"` // The Google Cloud Storage location to store the output of this CustomJob or // HyperparameterTuningJob. For HyperparameterTuningJob, // [base_output_directory][CustomJob.job_spec.base_output_directory] of @@ -267,6 +283,20 @@ func (x *CustomJobSpec) GetScheduling() *Scheduling { return nil } +func (x *CustomJobSpec) GetServiceAccount() string { + if x != nil { + return x.ServiceAccount + } + return "" +} + +func (x *CustomJobSpec) GetNetwork() string { + if x != nil { + return x.Network + } + return "" +} + func (x *CustomJobSpec) GetBaseOutputDirectory() *GcsDestination { if x != nil { return x.BaseOutputDirectory @@ -290,6 +320,8 @@ type WorkerPoolSpec struct { MachineSpec *MachineSpec `protobuf:"bytes,1,opt,name=machine_spec,json=machineSpec,proto3" json:"machine_spec,omitempty"` // Required. The number of worker replicas to use for this worker pool. ReplicaCount int64 `protobuf:"varint,2,opt,name=replica_count,json=replicaCount,proto3" json:"replica_count,omitempty"` + // Disk spec. + DiskSpec *DiskSpec `protobuf:"bytes,5,opt,name=disk_spec,json=diskSpec,proto3" json:"disk_spec,omitempty"` } func (x *WorkerPoolSpec) Reset() { @@ -359,6 +391,13 @@ func (x *WorkerPoolSpec) GetReplicaCount() int64 { return 0 } +func (x *WorkerPoolSpec) GetDiskSpec() *DiskSpec { + if x != nil { + return x.DiskSpec + } + return nil +} + type isWorkerPoolSpec_Task interface { isWorkerPoolSpec_Task() } @@ -667,7 +706,7 @@ var file_google_cloud_aiplatform_v1beta1_custom_job_proto_rawDesc = []byte{ 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4a, 0x6f, 0x62, 0x73, 0x2f, 0x7b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, - 0x6a, 0x6f, 0x62, 0x7d, 0x22, 0xa3, 0x02, 0x0a, 0x0d, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4a, + 0x6a, 0x6f, 0x62, 0x7d, 0x22, 0xe6, 0x02, 0x0a, 0x0d, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4a, 0x6f, 0x62, 0x53, 0x70, 0x65, 0x63, 0x12, 0x60, 0x0a, 0x11, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, @@ -679,69 +718,78 @@ var file_google_cloud_aiplatform_v1beta1_custom_job_proto_rawDesc = []byte{ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, - 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x63, 0x0a, 0x15, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x6f, 0x75, - 0x74, 0x70, 0x75, 0x74, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x62, 0x61, 0x73, 0x65, 0x4f, 0x75, 0x74, 0x70, 0x75, - 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x22, 0xda, 0x02, 0x0a, 0x0e, 0x57, - 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x70, 0x65, 0x63, 0x12, 0x57, 0x0a, - 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x18, + 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x63, 0x0a, 0x15, 0x62, 0x61, 0x73, 0x65, + 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x63, 0x73, 0x44, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x62, 0x61, 0x73, 0x65, 0x4f, 0x75, + 0x74, 0x70, 0x75, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x22, 0xa2, 0x03, + 0x0a, 0x0e, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x70, 0x65, 0x63, + 0x12, 0x57, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x73, 0x70, + 0x65, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x12, 0x64, 0x0a, 0x13, 0x70, 0x79, 0x74, + 0x68, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x50, + 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x53, 0x70, 0x65, 0x63, 0x48, 0x00, 0x52, 0x11, 0x70, 0x79, + 0x74, 0x68, 0x6f, 0x6e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, + 0x57, 0x0a, 0x0c, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x53, + 0x70, 0x65, 0x63, 0x42, 0x06, 0xe0, 0x41, 0x02, 0xe0, 0x41, 0x05, 0x52, 0x0b, 0x6d, 0x61, 0x63, + 0x68, 0x69, 0x6e, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x28, 0x0a, 0x0d, 0x72, 0x65, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x46, 0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, - 0x72, 0x53, 0x70, 0x65, 0x63, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, - 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x12, 0x64, 0x0a, 0x13, 0x70, 0x79, 0x74, 0x68, 0x6f, 0x6e, - 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x50, 0x61, 0x63, 0x6b, - 0x61, 0x67, 0x65, 0x53, 0x70, 0x65, 0x63, 0x48, 0x00, 0x52, 0x11, 0x70, 0x79, 0x74, 0x68, 0x6f, - 0x6e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x57, 0x0a, 0x0c, - 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x53, 0x70, 0x65, 0x63, - 0x42, 0x06, 0xe0, 0x41, 0x02, 0xe0, 0x41, 0x05, 0x52, 0x0b, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, - 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x28, 0x0a, 0x0d, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x42, - 0x06, 0x0a, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x22, 0x5f, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x74, 0x61, - 0x69, 0x6e, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x12, 0x20, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, - 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x69, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x22, 0xac, 0x01, 0x0a, 0x11, 0x50, 0x79, 0x74, - 0x68, 0x6f, 0x6e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x31, - 0x0a, 0x12, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, - 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x10, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, - 0x69, 0x12, 0x26, 0x0a, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, 0x69, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x70, 0x61, - 0x63, 0x6b, 0x61, 0x67, 0x65, 0x55, 0x72, 0x69, 0x73, 0x12, 0x28, 0x0a, 0x0d, 0x70, 0x79, 0x74, - 0x68, 0x6f, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x70, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, - 0x75, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x22, 0x83, 0x01, 0x0a, 0x0a, 0x53, 0x63, 0x68, 0x65, - 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x40, 0x0a, 0x1d, 0x72, - 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x6f, 0x6e, 0x5f, 0x77, 0x6f, - 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x19, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x4f, 0x6e, - 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x42, 0x82, 0x01, - 0x0a, 0x23, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4a, 0x6f, 0x62, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x49, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, + 0x52, 0x08, 0x64, 0x69, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x61, + 0x73, 0x6b, 0x22, 0x5f, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x53, + 0x70, 0x65, 0x63, 0x12, 0x20, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, 0x69, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6d, 0x61, + 0x67, 0x65, 0x55, 0x72, 0x69, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, + 0x12, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x61, + 0x72, 0x67, 0x73, 0x22, 0xac, 0x01, 0x0a, 0x11, 0x50, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x50, 0x61, + 0x63, 0x6b, 0x61, 0x67, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x31, 0x0a, 0x12, 0x65, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x65, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x6f, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x69, 0x12, 0x26, 0x0a, 0x0c, + 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, + 0x55, 0x72, 0x69, 0x73, 0x12, 0x28, 0x0a, 0x0d, 0x70, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x5f, 0x6d, + 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x0c, 0x70, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x12, + 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, + 0x67, 0x73, 0x22, 0x83, 0x01, 0x0a, 0x0a, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, + 0x67, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x74, + 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x40, 0x0a, 0x1d, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x6f, 0x6e, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, + 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x72, + 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x4f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x65, + 0x72, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x42, 0x82, 0x01, 0x0a, 0x23, 0x63, 0x6f, 0x6d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x42, 0x0e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4a, 0x6f, 0x62, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x50, 0x01, 0x5a, 0x49, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, + 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -770,7 +818,8 @@ var file_google_cloud_aiplatform_v1beta1_custom_job_proto_goTypes = []interface{ (*status.Status)(nil), // 9: google.rpc.Status (*GcsDestination)(nil), // 10: google.cloud.aiplatform.v1beta1.GcsDestination (*MachineSpec)(nil), // 11: google.cloud.aiplatform.v1beta1.MachineSpec - (*durationpb.Duration)(nil), // 12: google.protobuf.Duration + (*DiskSpec)(nil), // 12: google.cloud.aiplatform.v1beta1.DiskSpec + (*durationpb.Duration)(nil), // 13: google.protobuf.Duration } var file_google_cloud_aiplatform_v1beta1_custom_job_proto_depIdxs = []int32{ 1, // 0: google.cloud.aiplatform.v1beta1.CustomJob.job_spec:type_name -> google.cloud.aiplatform.v1beta1.CustomJobSpec @@ -787,12 +836,13 @@ var file_google_cloud_aiplatform_v1beta1_custom_job_proto_depIdxs = []int32{ 3, // 11: google.cloud.aiplatform.v1beta1.WorkerPoolSpec.container_spec:type_name -> google.cloud.aiplatform.v1beta1.ContainerSpec 4, // 12: google.cloud.aiplatform.v1beta1.WorkerPoolSpec.python_package_spec:type_name -> google.cloud.aiplatform.v1beta1.PythonPackageSpec 11, // 13: google.cloud.aiplatform.v1beta1.WorkerPoolSpec.machine_spec:type_name -> google.cloud.aiplatform.v1beta1.MachineSpec - 12, // 14: google.cloud.aiplatform.v1beta1.Scheduling.timeout:type_name -> google.protobuf.Duration - 15, // [15:15] is the sub-list for method output_type - 15, // [15:15] is the sub-list for method input_type - 15, // [15:15] is the sub-list for extension type_name - 15, // [15:15] is the sub-list for extension extendee - 0, // [0:15] is the sub-list for field type_name + 12, // 14: google.cloud.aiplatform.v1beta1.WorkerPoolSpec.disk_spec:type_name -> google.cloud.aiplatform.v1beta1.DiskSpec + 13, // 15: google.cloud.aiplatform.v1beta1.Scheduling.timeout:type_name -> google.protobuf.Duration + 16, // [16:16] is the sub-list for method output_type + 16, // [16:16] is the sub-list for method input_type + 16, // [16:16] is the sub-list for extension type_name + 16, // [16:16] is the sub-list for extension extendee + 0, // [0:16] is the sub-list for field type_name } func init() { file_google_cloud_aiplatform_v1beta1_custom_job_proto_init() } diff --git a/googleapis/cloud/aiplatform/v1beta1/data_labeling_job.pb.go b/googleapis/cloud/aiplatform/v1beta1/data_labeling_job.pb.go index 826494853..c70eb7df0 100644 --- a/googleapis/cloud/aiplatform/v1beta1/data_labeling_job.pb.go +++ b/googleapis/cloud/aiplatform/v1beta1/data_labeling_job.pb.go @@ -26,6 +26,7 @@ import ( proto "github.com/golang/protobuf/proto" _ "google.golang.org/genproto/googleapis/api/annotations" + status "google.golang.org/genproto/googleapis/rpc/status" money "google.golang.org/genproto/googleapis/type/money" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" @@ -148,6 +149,9 @@ type DataLabelingJob struct { CreateTime *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` // Output only. Timestamp when this DataLabelingJob was updated most recently. UpdateTime *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Output only. DataLabelingJob errors. It is only populated when job's state is + // `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`. + Error *status.Status `protobuf:"bytes,22,opt,name=error,proto3" json:"error,omitempty"` // The labels with user-defined metadata to organize your DataLabelingJobs. // // Label keys and values can be no longer than 64 characters @@ -292,6 +296,13 @@ func (x *DataLabelingJob) GetUpdateTime() *timestamppb.Timestamp { return nil } +func (x *DataLabelingJob) GetError() *status.Status { + if x != nil { + return x.Error + } + return nil +} + func (x *DataLabelingJob) GetLabels() map[string]string { if x != nil { return x.Labels @@ -614,150 +625,154 @@ var file_google_cloud_aiplatform_v1beta1_data_labeling_job_proto_rawDesc = []byt 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x74, 0x79, - 0x70, 0x65, 0x2f, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf2, 0x09, 0x0a, - 0x0f, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, - 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, - 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x45, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x61, 0x69, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, - 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x08, - 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x12, 0x73, 0x0a, 0x11, 0x61, 0x6e, 0x6e, 0x6f, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x0c, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, + 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x6f, 0x6e, 0x65, + 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa1, 0x0a, 0x0a, 0x0f, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x61, + 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, + 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x45, 0x0a, 0x08, 0x64, 0x61, + 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, + 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, + 0x73, 0x12, 0x73, 0x0a, 0x11, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, + 0x61, 0x74, 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x2e, 0x41, + 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x28, 0x0a, 0x0d, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x65, + 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x0c, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x2c, 0x0a, 0x0f, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x75, 0x72, 0x69, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, + 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x72, 0x69, 0x12, 0x2f, + 0x0a, 0x11, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, + 0x75, 0x72, 0x69, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, + 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x55, 0x72, 0x69, 0x12, + 0x33, 0x0a, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x69, 0x6e, + 0x70, 0x75, 0x74, 0x73, 0x12, 0x44, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, - 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x61, 0x6e, 0x6e, - 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x28, 0x0a, - 0x0d, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x6c, 0x61, 0x62, 0x65, 0x6c, - 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x0f, 0x69, 0x6e, 0x73, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x55, 0x72, 0x69, 0x12, 0x2f, 0x0a, 0x11, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x5f, - 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x53, 0x63, 0x68, - 0x65, 0x6d, 0x61, 0x55, 0x72, 0x69, 0x12, 0x33, 0x0a, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x12, 0x44, 0x0a, 0x05, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, - 0x65, 0x12, 0x30, 0x0a, 0x11, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x72, - 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, - 0x03, 0x52, 0x10, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, - 0x65, 0x73, 0x73, 0x12, 0x3c, 0x0a, 0x0d, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x73, - 0x70, 0x65, 0x6e, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x42, 0x03, - 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x6e, - 0x64, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, - 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x54, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, - 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x61, 0x62, 0x65, - 0x6c, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x73, - 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x18, - 0x10, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x69, 0x73, - 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x12, 0x6b, 0x0a, 0x16, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x6c, 0x65, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4c, - 0x65, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x14, 0x61, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x1a, 0x43, 0x0a, 0x15, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, - 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, - 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, - 0x02, 0x38, 0x01, 0x3a, 0x7c, 0xea, 0x41, 0x79, 0x0a, 0x29, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, - 0x4a, 0x6f, 0x62, 0x12, 0x4c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x64, 0x61, 0x74, - 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x73, 0x2f, 0x7b, 0x64, - 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x6a, 0x6f, 0x62, - 0x7d, 0x22, 0xc9, 0x02, 0x0a, 0x14, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x65, 0x61, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2f, 0x0a, 0x13, 0x6d, 0x61, - 0x78, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x10, 0x6d, 0x61, 0x78, 0x44, 0x61, - 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x39, 0x0a, 0x18, 0x6d, - 0x61, 0x78, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x70, 0x65, 0x72, - 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, - 0x15, 0x6d, 0x61, 0x78, 0x44, 0x61, 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x65, 0x72, 0x63, - 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x12, 0x52, 0x0a, 0x0d, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, - 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x30, 0x0a, 0x11, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, + 0x0d, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, 0x6c, 0x61, 0x62, 0x65, + 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x3c, 0x0a, 0x0d, + 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x18, 0x0e, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, + 0x65, 0x2e, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x63, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x6e, 0x64, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, + 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2d, + 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x54, 0x0a, + 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x73, 0x61, - 0x6d, 0x70, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x58, 0x0a, 0x0f, 0x74, 0x72, - 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0e, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x42, 0x17, 0x0a, 0x15, 0x68, 0x75, 0x6d, 0x61, 0x6e, 0x5f, 0x6c, 0x61, - 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x22, 0x8b, 0x03, - 0x0a, 0x0c, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x47, - 0x0a, 0x1f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, - 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x1c, 0x69, 0x6e, 0x69, 0x74, 0x69, - 0x61, 0x6c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x50, 0x65, 0x72, - 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x12, 0x4b, 0x0a, 0x21, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, - 0x77, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, - 0x65, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x48, 0x01, 0x52, 0x1e, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x67, 0x42, - 0x61, 0x74, 0x63, 0x68, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, - 0x74, 0x61, 0x67, 0x65, 0x12, 0x65, 0x0a, 0x0f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x73, - 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3c, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x53, 0x61, 0x6d, - 0x70, 0x6c, 0x65, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x0e, 0x73, 0x61, 0x6d, - 0x70, 0x6c, 0x65, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x22, 0x42, 0x0a, 0x0e, 0x53, - 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x1f, 0x0a, - 0x1b, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, - 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, - 0x0a, 0x0b, 0x55, 0x4e, 0x43, 0x45, 0x52, 0x54, 0x41, 0x49, 0x4e, 0x54, 0x59, 0x10, 0x01, 0x42, - 0x1b, 0x0a, 0x19, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x62, 0x61, 0x74, 0x63, 0x68, - 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x42, 0x1d, 0x0a, 0x1b, - 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, - 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x51, 0x0a, 0x0e, 0x54, - 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3f, 0x0a, - 0x1c, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, - 0x67, 0x5f, 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x5f, 0x68, 0x6f, 0x75, 0x72, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x19, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x69, - 0x6e, 0x69, 0x6e, 0x67, 0x4d, 0x69, 0x6c, 0x6c, 0x69, 0x48, 0x6f, 0x75, 0x72, 0x73, 0x42, 0x88, - 0x01, 0x0a, 0x23, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x14, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x61, 0x62, 0x65, - 0x6c, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x49, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, - 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x61, - 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x44, 0x61, 0x74, 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x2e, + 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x69, 0x73, + 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x18, 0x10, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x73, + 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x12, 0x6b, + 0x0a, 0x16, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6c, 0x65, 0x61, 0x72, 0x6e, 0x69, 0x6e, + 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x14, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x65, 0x61, + 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x43, 0x0a, 0x15, 0x41, + 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x7c, 0xea, 0x41, 0x79, + 0x0a, 0x29, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, + 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x12, 0x4c, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, + 0x67, 0x4a, 0x6f, 0x62, 0x73, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x61, 0x62, 0x65, + 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x6a, 0x6f, 0x62, 0x7d, 0x22, 0xc9, 0x02, 0x0a, 0x14, 0x41, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x2f, 0x0a, 0x13, 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, + 0x74, 0x65, 0x6d, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, + 0x00, 0x52, 0x10, 0x6d, 0x61, 0x78, 0x44, 0x61, 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x39, 0x0a, 0x18, 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, + 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x15, 0x6d, 0x61, 0x78, 0x44, 0x61, 0x74, 0x61, + 0x49, 0x74, 0x65, 0x6d, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x12, 0x52, + 0x0a, 0x0d, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x58, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, + 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0e, 0x74, 0x72, + 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x17, 0x0a, 0x15, + 0x68, 0x75, 0x6d, 0x61, 0x6e, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x62, + 0x75, 0x64, 0x67, 0x65, 0x74, 0x22, 0x8b, 0x03, 0x0a, 0x0c, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x47, 0x0a, 0x1f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, + 0x6c, 0x5f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x70, + 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, + 0x00, 0x52, 0x1c, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x53, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x12, + 0x4b, 0x0a, 0x21, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x61, 0x74, + 0x63, 0x68, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, + 0x74, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x1e, 0x66, 0x6f, + 0x6c, 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x67, 0x42, 0x61, 0x74, 0x63, 0x68, 0x53, 0x61, 0x6d, 0x70, + 0x6c, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x12, 0x65, 0x0a, 0x0f, + 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x53, 0x74, 0x72, 0x61, 0x74, + 0x65, 0x67, 0x79, 0x52, 0x0e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x53, 0x74, 0x72, 0x61, 0x74, + 0x65, 0x67, 0x79, 0x22, 0x42, 0x0a, 0x0e, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x53, 0x74, 0x72, + 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x1f, 0x0a, 0x1b, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x5f, + 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x43, 0x45, 0x52, 0x54, + 0x41, 0x49, 0x4e, 0x54, 0x59, 0x10, 0x01, 0x42, 0x1b, 0x0a, 0x19, 0x69, 0x6e, 0x69, 0x74, 0x69, + 0x61, 0x6c, 0x5f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, + 0x73, 0x69, 0x7a, 0x65, 0x42, 0x1d, 0x0a, 0x1b, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x69, 0x6e, + 0x67, 0x5f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x73, + 0x69, 0x7a, 0x65, 0x22, 0x51, 0x0a, 0x0e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3f, 0x0a, 0x1c, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, + 0x5f, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x5f, + 0x68, 0x6f, 0x75, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x19, 0x74, 0x69, 0x6d, + 0x65, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x4d, 0x69, 0x6c, 0x6c, + 0x69, 0x48, 0x6f, 0x75, 0x72, 0x73, 0x42, 0x88, 0x01, 0x0a, 0x23, 0x63, 0x6f, 0x6d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x14, + 0x44, 0x61, 0x74, 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x49, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, + 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -786,6 +801,7 @@ var file_google_cloud_aiplatform_v1beta1_data_labeling_job_proto_goTypes = []int (JobState)(0), // 8: google.cloud.aiplatform.v1beta1.JobState (*money.Money)(nil), // 9: google.type.Money (*timestamppb.Timestamp)(nil), // 10: google.protobuf.Timestamp + (*status.Status)(nil), // 11: google.rpc.Status } var file_google_cloud_aiplatform_v1beta1_data_labeling_job_proto_depIdxs = []int32{ 5, // 0: google.cloud.aiplatform.v1beta1.DataLabelingJob.annotation_labels:type_name -> google.cloud.aiplatform.v1beta1.DataLabelingJob.AnnotationLabelsEntry @@ -794,16 +810,17 @@ var file_google_cloud_aiplatform_v1beta1_data_labeling_job_proto_depIdxs = []int 9, // 3: google.cloud.aiplatform.v1beta1.DataLabelingJob.current_spend:type_name -> google.type.Money 10, // 4: google.cloud.aiplatform.v1beta1.DataLabelingJob.create_time:type_name -> google.protobuf.Timestamp 10, // 5: google.cloud.aiplatform.v1beta1.DataLabelingJob.update_time:type_name -> google.protobuf.Timestamp - 6, // 6: google.cloud.aiplatform.v1beta1.DataLabelingJob.labels:type_name -> google.cloud.aiplatform.v1beta1.DataLabelingJob.LabelsEntry - 2, // 7: google.cloud.aiplatform.v1beta1.DataLabelingJob.active_learning_config:type_name -> google.cloud.aiplatform.v1beta1.ActiveLearningConfig - 3, // 8: google.cloud.aiplatform.v1beta1.ActiveLearningConfig.sample_config:type_name -> google.cloud.aiplatform.v1beta1.SampleConfig - 4, // 9: google.cloud.aiplatform.v1beta1.ActiveLearningConfig.training_config:type_name -> google.cloud.aiplatform.v1beta1.TrainingConfig - 0, // 10: google.cloud.aiplatform.v1beta1.SampleConfig.sample_strategy:type_name -> google.cloud.aiplatform.v1beta1.SampleConfig.SampleStrategy - 11, // [11:11] is the sub-list for method output_type - 11, // [11:11] is the sub-list for method input_type - 11, // [11:11] is the sub-list for extension type_name - 11, // [11:11] is the sub-list for extension extendee - 0, // [0:11] is the sub-list for field type_name + 11, // 6: google.cloud.aiplatform.v1beta1.DataLabelingJob.error:type_name -> google.rpc.Status + 6, // 7: google.cloud.aiplatform.v1beta1.DataLabelingJob.labels:type_name -> google.cloud.aiplatform.v1beta1.DataLabelingJob.LabelsEntry + 2, // 8: google.cloud.aiplatform.v1beta1.DataLabelingJob.active_learning_config:type_name -> google.cloud.aiplatform.v1beta1.ActiveLearningConfig + 3, // 9: google.cloud.aiplatform.v1beta1.ActiveLearningConfig.sample_config:type_name -> google.cloud.aiplatform.v1beta1.SampleConfig + 4, // 10: google.cloud.aiplatform.v1beta1.ActiveLearningConfig.training_config:type_name -> google.cloud.aiplatform.v1beta1.TrainingConfig + 0, // 11: google.cloud.aiplatform.v1beta1.SampleConfig.sample_strategy:type_name -> google.cloud.aiplatform.v1beta1.SampleConfig.SampleStrategy + 12, // [12:12] is the sub-list for method output_type + 12, // [12:12] is the sub-list for method input_type + 12, // [12:12] is the sub-list for extension type_name + 12, // [12:12] is the sub-list for extension extendee + 0, // [0:12] is the sub-list for field type_name } func init() { file_google_cloud_aiplatform_v1beta1_data_labeling_job_proto_init() } diff --git a/googleapis/cloud/aiplatform/v1beta1/dataset.pb.go b/googleapis/cloud/aiplatform/v1beta1/dataset.pb.go index c8060d6bc..ca342730a 100644 --- a/googleapis/cloud/aiplatform/v1beta1/dataset.pb.go +++ b/googleapis/cloud/aiplatform/v1beta1/dataset.pb.go @@ -356,7 +356,7 @@ type ExportDataConfig_GcsDestination struct { // The Google Cloud Storage location where the output is to be written to. // In the given directory a new directory will be created with name: // `export-data--` where - // timestamp is in YYYYMMDDHHMMSS format. All export + // timestamp is in YYYY-MM-DDThh:mm:ss.sssZ ISO-8601 format. All export // output will be written into that directory. Inside that directory, // annotations with the same schema will be grouped into sub directories // which are named with the corresponding annotations' schema title. Inside diff --git a/googleapis/cloud/aiplatform/v1beta1/endpoint.pb.go b/googleapis/cloud/aiplatform/v1beta1/endpoint.pb.go index ae9f68049..7da1fbec1 100644 --- a/googleapis/cloud/aiplatform/v1beta1/endpoint.pb.go +++ b/googleapis/cloud/aiplatform/v1beta1/endpoint.pb.go @@ -217,9 +217,15 @@ type DeployedModel struct { // [Model.explanation_spec][google.cloud.aiplatform.v1beta1.Model.explanation_spec] is inherited. The corresponding // [Model.explanation_spec][google.cloud.aiplatform.v1beta1.Model.explanation_spec] must be populated, otherwise explanation for // this Model is not allowed. - // - // Currently, only AutoML tabular Models support explanation_spec. ExplanationSpec *ExplanationSpec `protobuf:"bytes,9,opt,name=explanation_spec,json=explanationSpec,proto3" json:"explanation_spec,omitempty"` + // The service account that the DeployedModel's container runs as. Specify the + // email address of the service account. If this service account is not + // specified, the container runs as a service account that doesn't have access + // to the resource project. + // + // Users deploying the Model must have the `iam.serviceAccounts.actAs` + // permission on this service account. + ServiceAccount string `protobuf:"bytes,11,opt,name=service_account,json=serviceAccount,proto3" json:"service_account,omitempty"` // If true, the container of the DeployedModel instances will send `stderr` // and `stdout` streams to Stackdriver Logging. // @@ -322,6 +328,13 @@ func (x *DeployedModel) GetExplanationSpec() *ExplanationSpec { return nil } +func (x *DeployedModel) GetServiceAccount() string { + if x != nil { + return x.ServiceAccount + } + return "" +} + func (x *DeployedModel) GetEnableContainerLogging() bool { if x != nil { return x.EnableContainerLogging @@ -426,7 +439,7 @@ var file_google_cloud_aiplatform_v1beta1_endpoint_proto_rawDesc = []byte{ 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x7d, 0x22, 0xfb, 0x04, 0x0a, 0x0d, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x4d, + 0x74, 0x7d, 0x22, 0xa4, 0x05, 0x0a, 0x0d, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x66, 0x0a, 0x13, 0x64, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, @@ -457,24 +470,27 @@ var file_google_cloud_aiplatform_v1beta1_endpoint_proto_rawDesc = []byte{ 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x52, 0x0f, 0x65, 0x78, 0x70, 0x6c, 0x61, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x38, 0x0a, 0x18, 0x65, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x6c, - 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x65, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x4c, 0x6f, 0x67, - 0x67, 0x69, 0x6e, 0x67, 0x12, 0x32, 0x0a, 0x15, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x0d, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x13, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x42, 0x16, 0x0a, 0x14, 0x70, 0x72, 0x65, 0x64, - 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, - 0x42, 0x81, 0x01, 0x0a, 0x23, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0d, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x49, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, - 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x18, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x32, 0x0a, + 0x15, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, + 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x65, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, + 0x67, 0x42, 0x16, 0x0a, 0x14, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x42, 0x81, 0x01, 0x0a, 0x23, 0x63, 0x6f, + 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x42, 0x0d, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x50, 0x01, 0x5a, 0x49, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, + 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/googleapis/cloud/aiplatform/v1beta1/explanation.pb.go b/googleapis/cloud/aiplatform/v1beta1/explanation.pb.go index d0510c7b2..ac5c1386b 100644 --- a/googleapis/cloud/aiplatform/v1beta1/explanation.pb.go +++ b/googleapis/cloud/aiplatform/v1beta1/explanation.pb.go @@ -42,10 +42,8 @@ const ( // of the legacy proto package is being used. const _ = proto.ProtoPackageIsVersion4 -// Explanation of a [prediction][ExplainResponse.predictions] produced by the -// Model on a given [instance][google.cloud.aiplatform.v1beta1.ExplainRequest.instances]. -// -// Currently, only AutoML tabular Models support explanation. +// Explanation of a prediction (provided in [PredictResponse.predictions][google.cloud.aiplatform.v1beta1.PredictResponse.predictions]) +// produced by the Model on a given [instance][google.cloud.aiplatform.v1beta1.ExplainRequest.instances]. type Explanation struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -60,6 +58,11 @@ type Explanation struct { // specific item. [Attribution.output_index][google.cloud.aiplatform.v1beta1.Attribution.output_index] can be used to identify which // output this attribution is explaining. // + // If users set [ExplanationParameters.top_k][google.cloud.aiplatform.v1beta1.ExplanationParameters.top_k], the attributions are sorted + // by [instance_output_value][Attributions.instance_output_value] in + // descending order. If [ExplanationParameters.output_indices][google.cloud.aiplatform.v1beta1.ExplanationParameters.output_indices] is specified, + // the attributions are stored by [Attribution.output_index][google.cloud.aiplatform.v1beta1.Attribution.output_index] in the same + // order as they appear in the output_indices. Attributions []*Attribution `protobuf:"bytes,1,rep,name=attributions,proto3" json:"attributions,omitempty"` } @@ -103,8 +106,6 @@ func (x *Explanation) GetAttributions() []*Attribution { } // Aggregated explanation metrics for a Model over a set of instances. -// -// Currently, only AutoML tabular Models support aggregated explanation. type ModelExplanation struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -181,8 +182,8 @@ type Attribution struct { // The field name of the output is determined by the key in // [ExplanationMetadata.outputs][google.cloud.aiplatform.v1beta1.ExplanationMetadata.outputs]. // - // If the Model predicted output is a tensor value (for example, an ndarray), - // this is the value in the output located by [output_index][google.cloud.aiplatform.v1beta1.Attribution.output_index]. + // If the Model's predicted output has multiple dimensions (rank > 1), this is + // the value in the output located by [output_index][google.cloud.aiplatform.v1beta1.Attribution.output_index]. // // If there are multiple baselines, their output values are averaged. BaselineOutputValue float64 `protobuf:"fixed64,1,opt,name=baseline_output_value,json=baselineOutputValue,proto3" json:"baseline_output_value,omitempty"` @@ -190,12 +191,12 @@ type Attribution struct { // instance][ExplainRequest.instances]. The field name of the output is // determined by the key in [ExplanationMetadata.outputs][google.cloud.aiplatform.v1beta1.ExplanationMetadata.outputs]. // - // If the Model predicted output is a tensor value (for example, an ndarray), - // this is the value in the output located by [output_index][google.cloud.aiplatform.v1beta1.Attribution.output_index]. + // If the Model predicted output has multiple dimensions, this is the value in + // the output located by [output_index][google.cloud.aiplatform.v1beta1.Attribution.output_index]. InstanceOutputValue float64 `protobuf:"fixed64,2,opt,name=instance_output_value,json=instanceOutputValue,proto3" json:"instance_output_value,omitempty"` // Output only. Attributions of each explained feature. Features are extracted from // the [prediction instances][google.cloud.aiplatform.v1beta1.ExplainRequest.instances] according to - // [explanation input metadata][google.cloud.aiplatform.v1beta1.ExplanationMetadata.inputs]. + // [explanation metadata for inputs][google.cloud.aiplatform.v1beta1.ExplanationMetadata.inputs]. // // The value is a struct, whose keys are the name of the feature. The values // are how much the feature in the [instance][google.cloud.aiplatform.v1beta1.ExplainRequest.instances] @@ -223,10 +224,10 @@ type Attribution struct { // Output only. The index that locates the explained prediction output. // // If the prediction output is a scalar value, output_index is not populated. - // If the prediction output is a tensor value (for example, an ndarray), - // the length of output_index is the same as the number of dimensions of the - // output. The i-th element in output_index is the element index of the i-th - // dimension of the output vector. Indexes start from 0. + // If the prediction output has multiple dimensions, the length of the + // output_index list is the same as the number of dimensions of the output. + // The i-th element in output_index is the element index of the i-th dimension + // of the output vector. Indices start from 0. OutputIndex []int32 `protobuf:"varint,4,rep,packed,name=output_index,json=outputIndex,proto3" json:"output_index,omitempty"` // Output only. The display name of the output identified by [output_index][google.cloud.aiplatform.v1beta1.Attribution.output_index], e.g. the // predicted class name by a multi-classification Model. @@ -239,12 +240,26 @@ type Attribution struct { // Output only. Error of [feature_attributions][google.cloud.aiplatform.v1beta1.Attribution.feature_attributions] caused by approximation used in the // explanation method. Lower value means more precise attributions. // - // For Sampled Shapley - // [attribution][google.cloud.aiplatform.v1beta1.ExplanationParameters.sampled_shapley_attribution], - // increasing [path_count][google.cloud.aiplatform.v1beta1.SampledShapleyAttribution.path_count] might reduce - // the error. + // * For [Sampled Shapley + // attribution][ExplanationParameters.sampled_shapley_attribution], increasing + // [path_count][google.cloud.aiplatform.v1beta1.SampledShapleyAttribution.path_count] may reduce the error. + // * For [Integrated Gradients + // attribution][ExplanationParameters.integrated_gradients_attribution], + // increasing [step_count][google.cloud.aiplatform.v1beta1.IntegratedGradientsAttribution.step_count] may + // reduce the error. + // * For [XRAI + // attribution][ExplanationParameters.xrai_attribution], increasing + // [step_count][google.cloud.aiplatform.v1beta1.XraiAttribution.step_count] may reduce the error. + // + // Refer to AI Explanations Whitepaper for more details: // + // https: + // //storage.googleapis.com/cloud-ai-whitep + // // apers/AI%20Explainability%20Whitepaper.pdf ApproximationError float64 `protobuf:"fixed64,6,opt,name=approximation_error,json=approximationError,proto3" json:"approximation_error,omitempty"` + // Output only. Name of the explain output. Specified as the key in + // [ExplanationMetadata.outputs][google.cloud.aiplatform.v1beta1.ExplanationMetadata.outputs]. + OutputName string `protobuf:"bytes,7,opt,name=output_name,json=outputName,proto3" json:"output_name,omitempty"` } func (x *Attribution) Reset() { @@ -321,9 +336,14 @@ func (x *Attribution) GetApproximationError() float64 { return 0 } +func (x *Attribution) GetOutputName() string { + if x != nil { + return x.OutputName + } + return "" +} + // Specification of Model explanation. -// -// Currently, only AutoML tabular Models support explanation. type ExplanationSpec struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -387,10 +407,28 @@ type ExplanationParameters struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // An attribution method that approximates Shapley values for features that - // contribute to the label being predicted. A sampling strategy is used to - // approximate the value rather than considering all subsets of features. - SampledShapleyAttribution *SampledShapleyAttribution `protobuf:"bytes,1,opt,name=sampled_shapley_attribution,json=sampledShapleyAttribution,proto3" json:"sampled_shapley_attribution,omitempty"` + // Types that are assignable to Method: + // *ExplanationParameters_SampledShapleyAttribution + // *ExplanationParameters_IntegratedGradientsAttribution + // *ExplanationParameters_XraiAttribution + Method isExplanationParameters_Method `protobuf_oneof:"method"` + // If populated, returns attributions for top K indices of outputs + // (defaults to 1). Only applies to Models that predicts more than one outputs + // (e,g, multi-class Models). When set to -1, returns explanations for all + // outputs. + TopK int32 `protobuf:"varint,4,opt,name=top_k,json=topK,proto3" json:"top_k,omitempty"` + // If populated, only returns attributions that have + // [output_index][Attributions.output_index] contained in output_indices. It + // must be an ndarray of integers, with the same shape of the output it's + // explaining. + // + // If not populated, returns attributions for [top_k][google.cloud.aiplatform.v1beta1.ExplanationParameters.top_k] indices of outputs. + // If neither top_k nor output_indeices is populated, returns the argmax + // index of the outputs. + // + // Only applicable to Models that predict multiple outputs (e,g, multi-class + // Models that predict multiple classes). + OutputIndices *structpb.ListValue `protobuf:"bytes,5,opt,name=output_indices,json=outputIndices,proto3" json:"output_indices,omitempty"` } func (x *ExplanationParameters) Reset() { @@ -425,13 +463,86 @@ func (*ExplanationParameters) Descriptor() ([]byte, []int) { return file_google_cloud_aiplatform_v1beta1_explanation_proto_rawDescGZIP(), []int{4} } +func (m *ExplanationParameters) GetMethod() isExplanationParameters_Method { + if m != nil { + return m.Method + } + return nil +} + func (x *ExplanationParameters) GetSampledShapleyAttribution() *SampledShapleyAttribution { - if x != nil { + if x, ok := x.GetMethod().(*ExplanationParameters_SampledShapleyAttribution); ok { return x.SampledShapleyAttribution } return nil } +func (x *ExplanationParameters) GetIntegratedGradientsAttribution() *IntegratedGradientsAttribution { + if x, ok := x.GetMethod().(*ExplanationParameters_IntegratedGradientsAttribution); ok { + return x.IntegratedGradientsAttribution + } + return nil +} + +func (x *ExplanationParameters) GetXraiAttribution() *XraiAttribution { + if x, ok := x.GetMethod().(*ExplanationParameters_XraiAttribution); ok { + return x.XraiAttribution + } + return nil +} + +func (x *ExplanationParameters) GetTopK() int32 { + if x != nil { + return x.TopK + } + return 0 +} + +func (x *ExplanationParameters) GetOutputIndices() *structpb.ListValue { + if x != nil { + return x.OutputIndices + } + return nil +} + +type isExplanationParameters_Method interface { + isExplanationParameters_Method() +} + +type ExplanationParameters_SampledShapleyAttribution struct { + // An attribution method that approximates Shapley values for features that + // contribute to the label being predicted. A sampling strategy is used to + // approximate the value rather than considering all subsets of features. + // Refer to this paper for model details: https://arxiv.org/abs/1306.4265. + SampledShapleyAttribution *SampledShapleyAttribution `protobuf:"bytes,1,opt,name=sampled_shapley_attribution,json=sampledShapleyAttribution,proto3,oneof"` +} + +type ExplanationParameters_IntegratedGradientsAttribution struct { + // An attribution method that computes Aumann-Shapley values taking + // advantage of the model's fully differentiable structure. Refer to this + // paper for more details: https://arxiv.org/abs/1703.01365 + IntegratedGradientsAttribution *IntegratedGradientsAttribution `protobuf:"bytes,2,opt,name=integrated_gradients_attribution,json=integratedGradientsAttribution,proto3,oneof"` +} + +type ExplanationParameters_XraiAttribution struct { + // An attribution method that redistributes Integrated Gradients + // attribution to segmented regions, taking advantage of the model's fully + // differentiable structure. Refer to this paper for + // more details: https://arxiv.org/abs/1906.02825 + // + // XRAI currently performs better on natural images, like a picture of a + // house or an animal. If the images are taken in artificial environments, + // like a lab or manufacturing line, or from diagnostic equipment, like + // x-rays or quality-control cameras, use Integrated Gradients instead. + XraiAttribution *XraiAttribution `protobuf:"bytes,3,opt,name=xrai_attribution,json=xraiAttribution,proto3,oneof"` +} + +func (*ExplanationParameters_SampledShapleyAttribution) isExplanationParameters_Method() {} + +func (*ExplanationParameters_IntegratedGradientsAttribution) isExplanationParameters_Method() {} + +func (*ExplanationParameters_XraiAttribution) isExplanationParameters_Method() {} + // An attribution method that approximates Shapley values for features that // contribute to the label being predicted. A sampling strategy is used to // approximate the value rather than considering all subsets of features. @@ -486,6 +597,386 @@ func (x *SampledShapleyAttribution) GetPathCount() int32 { return 0 } +// An attribution method that computes the Aumann-Shapley value taking advantage +// of the model's fully differentiable structure. Refer to this paper for +// more details: https://arxiv.org/abs/1703.01365 +type IntegratedGradientsAttribution struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The number of steps for approximating the path integral. + // A good value to start is 50 and gradually increase until the + // sum to diff property is within the desired error range. + // + // Valid range of its value is [1, 100], inclusively. + StepCount int32 `protobuf:"varint,1,opt,name=step_count,json=stepCount,proto3" json:"step_count,omitempty"` + // Config for SmoothGrad approximation of gradients. + // + // When enabled, the gradients are approximated by averaging the gradients + // from noisy samples in the vicinity of the inputs. Adding + // noise can help improve the computed gradients. Refer to this paper for more + // details: https://arxiv.org/pdf/1706.03825.pdf + SmoothGradConfig *SmoothGradConfig `protobuf:"bytes,2,opt,name=smooth_grad_config,json=smoothGradConfig,proto3" json:"smooth_grad_config,omitempty"` +} + +func (x *IntegratedGradientsAttribution) Reset() { + *x = IntegratedGradientsAttribution{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IntegratedGradientsAttribution) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IntegratedGradientsAttribution) ProtoMessage() {} + +func (x *IntegratedGradientsAttribution) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use IntegratedGradientsAttribution.ProtoReflect.Descriptor instead. +func (*IntegratedGradientsAttribution) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_explanation_proto_rawDescGZIP(), []int{6} +} + +func (x *IntegratedGradientsAttribution) GetStepCount() int32 { + if x != nil { + return x.StepCount + } + return 0 +} + +func (x *IntegratedGradientsAttribution) GetSmoothGradConfig() *SmoothGradConfig { + if x != nil { + return x.SmoothGradConfig + } + return nil +} + +// An explanation method that redistributes Integrated Gradients +// attributions to segmented regions, taking advantage of the model's fully +// differentiable structure. Refer to this paper for more details: +// https://arxiv.org/abs/1906.02825 +// +// Only supports image Models ([modality][InputMetadata.modality] is IMAGE). +type XraiAttribution struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The number of steps for approximating the path integral. + // A good value to start is 50 and gradually increase until the + // sum to diff property is met within the desired error range. + // + // Valid range of its value is [1, 100], inclusively. + StepCount int32 `protobuf:"varint,1,opt,name=step_count,json=stepCount,proto3" json:"step_count,omitempty"` + // Config for SmoothGrad approximation of gradients. + // + // When enabled, the gradients are approximated by averaging the gradients + // from noisy samples in the vicinity of the inputs. Adding + // noise can help improve the computed gradients. Refer to this paper for more + // details: https://arxiv.org/pdf/1706.03825.pdf + SmoothGradConfig *SmoothGradConfig `protobuf:"bytes,2,opt,name=smooth_grad_config,json=smoothGradConfig,proto3" json:"smooth_grad_config,omitempty"` +} + +func (x *XraiAttribution) Reset() { + *x = XraiAttribution{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *XraiAttribution) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*XraiAttribution) ProtoMessage() {} + +func (x *XraiAttribution) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use XraiAttribution.ProtoReflect.Descriptor instead. +func (*XraiAttribution) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_explanation_proto_rawDescGZIP(), []int{7} +} + +func (x *XraiAttribution) GetStepCount() int32 { + if x != nil { + return x.StepCount + } + return 0 +} + +func (x *XraiAttribution) GetSmoothGradConfig() *SmoothGradConfig { + if x != nil { + return x.SmoothGradConfig + } + return nil +} + +// Config for SmoothGrad approximation of gradients. +// +// When enabled, the gradients are approximated by averaging the gradients from +// noisy samples in the vicinity of the inputs. Adding noise can help improve +// the computed gradients. Refer to this paper for more details: +// https://arxiv.org/pdf/1706.03825.pdf +type SmoothGradConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Represents the standard deviation of the gaussian kernel + // that will be used to add noise to the interpolated inputs + // prior to computing gradients. + // + // Types that are assignable to GradientNoiseSigma: + // *SmoothGradConfig_NoiseSigma + // *SmoothGradConfig_FeatureNoiseSigma + GradientNoiseSigma isSmoothGradConfig_GradientNoiseSigma `protobuf_oneof:"GradientNoiseSigma"` + // The number of gradient samples to use for + // approximation. The higher this number, the more accurate the gradient + // is, but the runtime complexity increases by this factor as well. + // Valid range of its value is [1, 50]. Defaults to 3. + NoisySampleCount int32 `protobuf:"varint,3,opt,name=noisy_sample_count,json=noisySampleCount,proto3" json:"noisy_sample_count,omitempty"` +} + +func (x *SmoothGradConfig) Reset() { + *x = SmoothGradConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SmoothGradConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SmoothGradConfig) ProtoMessage() {} + +func (x *SmoothGradConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SmoothGradConfig.ProtoReflect.Descriptor instead. +func (*SmoothGradConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_explanation_proto_rawDescGZIP(), []int{8} +} + +func (m *SmoothGradConfig) GetGradientNoiseSigma() isSmoothGradConfig_GradientNoiseSigma { + if m != nil { + return m.GradientNoiseSigma + } + return nil +} + +func (x *SmoothGradConfig) GetNoiseSigma() float32 { + if x, ok := x.GetGradientNoiseSigma().(*SmoothGradConfig_NoiseSigma); ok { + return x.NoiseSigma + } + return 0 +} + +func (x *SmoothGradConfig) GetFeatureNoiseSigma() *FeatureNoiseSigma { + if x, ok := x.GetGradientNoiseSigma().(*SmoothGradConfig_FeatureNoiseSigma); ok { + return x.FeatureNoiseSigma + } + return nil +} + +func (x *SmoothGradConfig) GetNoisySampleCount() int32 { + if x != nil { + return x.NoisySampleCount + } + return 0 +} + +type isSmoothGradConfig_GradientNoiseSigma interface { + isSmoothGradConfig_GradientNoiseSigma() +} + +type SmoothGradConfig_NoiseSigma struct { + // This is a single float value and will be used to add noise to all the + // features. Use this field when all features are normalized to have the + // same distribution: scale to range [0, 1], [-1, 1] or z-scoring, where + // features are normalized to have 0-mean and 1-variance. Refer to + // this doc for more details about normalization: + // + // https: + // //developers.google.com/machine-learning + // // /data-prep/transform/normalization. + // + // For best results the recommended value is about 10% - 20% of the standard + // deviation of the input feature. Refer to section 3.2 of the SmoothGrad + // paper: https://arxiv.org/pdf/1706.03825.pdf. Defaults to 0.1. + // + // If the distribution is different per feature, set + // [feature_noise_sigma][google.cloud.aiplatform.v1beta1.SmoothGradConfig.feature_noise_sigma] instead + // for each feature. + NoiseSigma float32 `protobuf:"fixed32,1,opt,name=noise_sigma,json=noiseSigma,proto3,oneof"` +} + +type SmoothGradConfig_FeatureNoiseSigma struct { + // This is similar to [noise_sigma][google.cloud.aiplatform.v1beta1.SmoothGradConfig.noise_sigma], but + // provides additional flexibility. A separate noise sigma can be provided + // for each feature, which is useful if their distributions are different. + // No noise is added to features that are not set. If this field is unset, + // [noise_sigma][google.cloud.aiplatform.v1beta1.SmoothGradConfig.noise_sigma] will be used for all + // features. + FeatureNoiseSigma *FeatureNoiseSigma `protobuf:"bytes,2,opt,name=feature_noise_sigma,json=featureNoiseSigma,proto3,oneof"` +} + +func (*SmoothGradConfig_NoiseSigma) isSmoothGradConfig_GradientNoiseSigma() {} + +func (*SmoothGradConfig_FeatureNoiseSigma) isSmoothGradConfig_GradientNoiseSigma() {} + +// Noise sigma by features. Noise sigma represents the standard deviation of the +// gaussian kernel that will be used to add noise to interpolated inputs prior +// to computing gradients. +type FeatureNoiseSigma struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Noise sigma per feature. No noise is added to features that are not set. + NoiseSigma []*FeatureNoiseSigma_NoiseSigmaForFeature `protobuf:"bytes,1,rep,name=noise_sigma,json=noiseSigma,proto3" json:"noise_sigma,omitempty"` +} + +func (x *FeatureNoiseSigma) Reset() { + *x = FeatureNoiseSigma{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FeatureNoiseSigma) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FeatureNoiseSigma) ProtoMessage() {} + +func (x *FeatureNoiseSigma) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FeatureNoiseSigma.ProtoReflect.Descriptor instead. +func (*FeatureNoiseSigma) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_explanation_proto_rawDescGZIP(), []int{9} +} + +func (x *FeatureNoiseSigma) GetNoiseSigma() []*FeatureNoiseSigma_NoiseSigmaForFeature { + if x != nil { + return x.NoiseSigma + } + return nil +} + +// Noise sigma for a single feature. +type FeatureNoiseSigma_NoiseSigmaForFeature struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The name of the input feature for which noise sigma is provided. The + // features are defined in + // [explanation metadata inputs][google.cloud.aiplatform.v1beta1.ExplanationMetadata.inputs]. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // This represents the standard deviation of the Gaussian kernel that will + // be used to add noise to the feature prior to computing gradients. Similar + // to [noise_sigma][google.cloud.aiplatform.v1beta1.SmoothGradConfig.noise_sigma] but represents the + // noise added to the current feature. Defaults to 0.1. + Sigma float32 `protobuf:"fixed32,2,opt,name=sigma,proto3" json:"sigma,omitempty"` +} + +func (x *FeatureNoiseSigma_NoiseSigmaForFeature) Reset() { + *x = FeatureNoiseSigma_NoiseSigmaForFeature{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FeatureNoiseSigma_NoiseSigmaForFeature) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FeatureNoiseSigma_NoiseSigmaForFeature) ProtoMessage() {} + +func (x *FeatureNoiseSigma_NoiseSigmaForFeature) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FeatureNoiseSigma_NoiseSigmaForFeature.ProtoReflect.Descriptor instead. +func (*FeatureNoiseSigma_NoiseSigmaForFeature) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_explanation_proto_rawDescGZIP(), []int{9, 0} +} + +func (x *FeatureNoiseSigma_NoiseSigmaForFeature) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *FeatureNoiseSigma_NoiseSigmaForFeature) GetSigma() float32 { + if x != nil { + return x.Sigma + } + return 0 +} + var File_google_cloud_aiplatform_v1beta1_explanation_proto protoreflect.FileDescriptor var file_google_cloud_aiplatform_v1beta1_explanation_proto_rawDesc = []byte{ @@ -517,7 +1008,7 @@ var file_google_cloud_aiplatform_v1beta1_explanation_proto_rawDesc = []byte{ 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, 0x6d, 0x65, 0x61, 0x6e, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xe2, 0x02, 0x0a, 0x0b, 0x41, 0x74, 0x74, 0x72, + 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x88, 0x03, 0x0a, 0x0b, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x15, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x13, 0x62, 0x61, 0x73, @@ -539,42 +1030,112 @@ var file_google_cloud_aiplatform_v1beta1_explanation_proto_rawDesc = []byte{ 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x34, 0x0a, 0x13, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x12, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x78, - 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xc5, 0x01, 0x0a, - 0x0f, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, - 0x12, 0x5b, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x55, 0x0a, - 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, - 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x22, 0x93, 0x01, 0x0a, 0x15, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x7a, - 0x0a, 0x1b, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x64, 0x5f, 0x73, 0x68, 0x61, 0x70, 0x6c, 0x65, - 0x79, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x64, 0x53, 0x68, 0x61, - 0x70, 0x6c, 0x65, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x19, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x64, 0x53, 0x68, 0x61, 0x70, 0x6c, 0x65, 0x79, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3f, 0x0a, 0x19, 0x53, 0x61, - 0x6d, 0x70, 0x6c, 0x65, 0x64, 0x53, 0x68, 0x61, 0x70, 0x6c, 0x65, 0x79, 0x41, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x74, 0x68, 0x5f, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x09, 0x70, 0x61, 0x74, 0x68, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x84, 0x01, 0x0a, 0x23, - 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x42, 0x10, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x49, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x24, 0x0a, 0x0b, + 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x4e, 0x61, + 0x6d, 0x65, 0x22, 0xc5, 0x01, 0x0a, 0x0f, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x5b, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, + 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, + 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, + 0x72, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, + 0x65, 0x72, 0x73, 0x12, 0x55, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xe4, 0x03, 0x0a, 0x15, 0x45, + 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, + 0x74, 0x65, 0x72, 0x73, 0x12, 0x7c, 0x0a, 0x1b, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x64, 0x5f, + 0x73, 0x68, 0x61, 0x70, 0x6c, 0x65, 0x79, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x61, 0x6d, 0x70, + 0x6c, 0x65, 0x64, 0x53, 0x68, 0x61, 0x70, 0x6c, 0x65, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x19, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x64, + 0x53, 0x68, 0x61, 0x70, 0x6c, 0x65, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x8b, 0x01, 0x0a, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x67, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x61, 0x74, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x64, 0x69, 0x65, + 0x6e, 0x74, 0x73, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, + 0x52, 0x1e, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x64, + 0x69, 0x65, 0x6e, 0x74, 0x73, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x5d, 0x0a, 0x10, 0x78, 0x72, 0x61, 0x69, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x58, 0x72, 0x61, + 0x69, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0f, + 0x78, 0x72, 0x61, 0x69, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x13, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x5f, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, + 0x74, 0x6f, 0x70, 0x4b, 0x12, 0x41, 0x0a, 0x0e, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x69, + 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, + 0x49, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, 0x42, 0x08, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, + 0x64, 0x22, 0x3f, 0x0a, 0x19, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x64, 0x53, 0x68, 0x61, 0x70, + 0x6c, 0x65, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, + 0x0a, 0x0a, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x70, 0x61, 0x74, 0x68, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x22, 0xa5, 0x01, 0x0a, 0x1e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x65, + 0x64, 0x47, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0a, 0x73, 0x74, 0x65, 0x70, 0x5f, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, + 0x73, 0x74, 0x65, 0x70, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x5f, 0x0a, 0x12, 0x73, 0x6d, 0x6f, + 0x6f, 0x74, 0x68, 0x5f, 0x67, 0x72, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x6d, 0x6f, 0x6f, 0x74, 0x68, 0x47, 0x72, + 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x10, 0x73, 0x6d, 0x6f, 0x6f, 0x74, 0x68, + 0x47, 0x72, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x96, 0x01, 0x0a, 0x0f, 0x58, + 0x72, 0x61, 0x69, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, + 0x0a, 0x0a, 0x73, 0x74, 0x65, 0x70, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x73, 0x74, 0x65, 0x70, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x5f, 0x0a, 0x12, 0x73, 0x6d, 0x6f, 0x6f, 0x74, 0x68, 0x5f, 0x67, 0x72, 0x61, + 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x53, 0x6d, 0x6f, 0x6f, 0x74, 0x68, 0x47, 0x72, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x52, 0x10, 0x73, 0x6d, 0x6f, 0x6f, 0x74, 0x68, 0x47, 0x72, 0x61, 0x64, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x22, 0xdf, 0x01, 0x0a, 0x10, 0x53, 0x6d, 0x6f, 0x6f, 0x74, 0x68, 0x47, 0x72, + 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x21, 0x0a, 0x0b, 0x6e, 0x6f, 0x69, 0x73, + 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6d, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, + 0x0a, 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x53, 0x69, 0x67, 0x6d, 0x61, 0x12, 0x64, 0x0a, 0x13, 0x66, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x5f, 0x73, 0x69, 0x67, + 0x6d, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x4e, 0x6f, 0x69, 0x73, 0x65, 0x53, 0x69, 0x67, 0x6d, 0x61, 0x48, 0x00, 0x52, 0x11, + 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4e, 0x6f, 0x69, 0x73, 0x65, 0x53, 0x69, 0x67, 0x6d, + 0x61, 0x12, 0x2c, 0x0a, 0x12, 0x6e, 0x6f, 0x69, 0x73, 0x79, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, + 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x6e, + 0x6f, 0x69, 0x73, 0x79, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x42, + 0x14, 0x0a, 0x12, 0x47, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x69, 0x73, 0x65, + 0x53, 0x69, 0x67, 0x6d, 0x61, 0x22, 0xbf, 0x01, 0x0a, 0x11, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x4e, 0x6f, 0x69, 0x73, 0x65, 0x53, 0x69, 0x67, 0x6d, 0x61, 0x12, 0x68, 0x0a, 0x0b, 0x6e, + 0x6f, 0x69, 0x73, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6d, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4e, 0x6f, 0x69, 0x73, 0x65, 0x53, + 0x69, 0x67, 0x6d, 0x61, 0x2e, 0x4e, 0x6f, 0x69, 0x73, 0x65, 0x53, 0x69, 0x67, 0x6d, 0x61, 0x46, + 0x6f, 0x72, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0a, 0x6e, 0x6f, 0x69, 0x73, 0x65, + 0x53, 0x69, 0x67, 0x6d, 0x61, 0x1a, 0x40, 0x0a, 0x14, 0x4e, 0x6f, 0x69, 0x73, 0x65, 0x53, 0x69, + 0x67, 0x6d, 0x61, 0x46, 0x6f, 0x72, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x69, 0x67, 0x6d, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x05, 0x73, 0x69, 0x67, 0x6d, 0x61, 0x42, 0x84, 0x01, 0x0a, 0x23, 0x63, 0x6f, 0x6d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, + 0x10, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x50, 0x01, 0x5a, 0x49, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, + 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -589,29 +1150,42 @@ func file_google_cloud_aiplatform_v1beta1_explanation_proto_rawDescGZIP() []byte return file_google_cloud_aiplatform_v1beta1_explanation_proto_rawDescData } -var file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes = make([]protoimpl.MessageInfo, 6) +var file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes = make([]protoimpl.MessageInfo, 11) var file_google_cloud_aiplatform_v1beta1_explanation_proto_goTypes = []interface{}{ - (*Explanation)(nil), // 0: google.cloud.aiplatform.v1beta1.Explanation - (*ModelExplanation)(nil), // 1: google.cloud.aiplatform.v1beta1.ModelExplanation - (*Attribution)(nil), // 2: google.cloud.aiplatform.v1beta1.Attribution - (*ExplanationSpec)(nil), // 3: google.cloud.aiplatform.v1beta1.ExplanationSpec - (*ExplanationParameters)(nil), // 4: google.cloud.aiplatform.v1beta1.ExplanationParameters - (*SampledShapleyAttribution)(nil), // 5: google.cloud.aiplatform.v1beta1.SampledShapleyAttribution - (*structpb.Value)(nil), // 6: google.protobuf.Value - (*ExplanationMetadata)(nil), // 7: google.cloud.aiplatform.v1beta1.ExplanationMetadata + (*Explanation)(nil), // 0: google.cloud.aiplatform.v1beta1.Explanation + (*ModelExplanation)(nil), // 1: google.cloud.aiplatform.v1beta1.ModelExplanation + (*Attribution)(nil), // 2: google.cloud.aiplatform.v1beta1.Attribution + (*ExplanationSpec)(nil), // 3: google.cloud.aiplatform.v1beta1.ExplanationSpec + (*ExplanationParameters)(nil), // 4: google.cloud.aiplatform.v1beta1.ExplanationParameters + (*SampledShapleyAttribution)(nil), // 5: google.cloud.aiplatform.v1beta1.SampledShapleyAttribution + (*IntegratedGradientsAttribution)(nil), // 6: google.cloud.aiplatform.v1beta1.IntegratedGradientsAttribution + (*XraiAttribution)(nil), // 7: google.cloud.aiplatform.v1beta1.XraiAttribution + (*SmoothGradConfig)(nil), // 8: google.cloud.aiplatform.v1beta1.SmoothGradConfig + (*FeatureNoiseSigma)(nil), // 9: google.cloud.aiplatform.v1beta1.FeatureNoiseSigma + (*FeatureNoiseSigma_NoiseSigmaForFeature)(nil), // 10: google.cloud.aiplatform.v1beta1.FeatureNoiseSigma.NoiseSigmaForFeature + (*structpb.Value)(nil), // 11: google.protobuf.Value + (*ExplanationMetadata)(nil), // 12: google.cloud.aiplatform.v1beta1.ExplanationMetadata + (*structpb.ListValue)(nil), // 13: google.protobuf.ListValue } var file_google_cloud_aiplatform_v1beta1_explanation_proto_depIdxs = []int32{ - 2, // 0: google.cloud.aiplatform.v1beta1.Explanation.attributions:type_name -> google.cloud.aiplatform.v1beta1.Attribution - 2, // 1: google.cloud.aiplatform.v1beta1.ModelExplanation.mean_attributions:type_name -> google.cloud.aiplatform.v1beta1.Attribution - 6, // 2: google.cloud.aiplatform.v1beta1.Attribution.feature_attributions:type_name -> google.protobuf.Value - 4, // 3: google.cloud.aiplatform.v1beta1.ExplanationSpec.parameters:type_name -> google.cloud.aiplatform.v1beta1.ExplanationParameters - 7, // 4: google.cloud.aiplatform.v1beta1.ExplanationSpec.metadata:type_name -> google.cloud.aiplatform.v1beta1.ExplanationMetadata - 5, // 5: google.cloud.aiplatform.v1beta1.ExplanationParameters.sampled_shapley_attribution:type_name -> google.cloud.aiplatform.v1beta1.SampledShapleyAttribution - 6, // [6:6] is the sub-list for method output_type - 6, // [6:6] is the sub-list for method input_type - 6, // [6:6] is the sub-list for extension type_name - 6, // [6:6] is the sub-list for extension extendee - 0, // [0:6] is the sub-list for field type_name + 2, // 0: google.cloud.aiplatform.v1beta1.Explanation.attributions:type_name -> google.cloud.aiplatform.v1beta1.Attribution + 2, // 1: google.cloud.aiplatform.v1beta1.ModelExplanation.mean_attributions:type_name -> google.cloud.aiplatform.v1beta1.Attribution + 11, // 2: google.cloud.aiplatform.v1beta1.Attribution.feature_attributions:type_name -> google.protobuf.Value + 4, // 3: google.cloud.aiplatform.v1beta1.ExplanationSpec.parameters:type_name -> google.cloud.aiplatform.v1beta1.ExplanationParameters + 12, // 4: google.cloud.aiplatform.v1beta1.ExplanationSpec.metadata:type_name -> google.cloud.aiplatform.v1beta1.ExplanationMetadata + 5, // 5: google.cloud.aiplatform.v1beta1.ExplanationParameters.sampled_shapley_attribution:type_name -> google.cloud.aiplatform.v1beta1.SampledShapleyAttribution + 6, // 6: google.cloud.aiplatform.v1beta1.ExplanationParameters.integrated_gradients_attribution:type_name -> google.cloud.aiplatform.v1beta1.IntegratedGradientsAttribution + 7, // 7: google.cloud.aiplatform.v1beta1.ExplanationParameters.xrai_attribution:type_name -> google.cloud.aiplatform.v1beta1.XraiAttribution + 13, // 8: google.cloud.aiplatform.v1beta1.ExplanationParameters.output_indices:type_name -> google.protobuf.ListValue + 8, // 9: google.cloud.aiplatform.v1beta1.IntegratedGradientsAttribution.smooth_grad_config:type_name -> google.cloud.aiplatform.v1beta1.SmoothGradConfig + 8, // 10: google.cloud.aiplatform.v1beta1.XraiAttribution.smooth_grad_config:type_name -> google.cloud.aiplatform.v1beta1.SmoothGradConfig + 9, // 11: google.cloud.aiplatform.v1beta1.SmoothGradConfig.feature_noise_sigma:type_name -> google.cloud.aiplatform.v1beta1.FeatureNoiseSigma + 10, // 12: google.cloud.aiplatform.v1beta1.FeatureNoiseSigma.noise_sigma:type_name -> google.cloud.aiplatform.v1beta1.FeatureNoiseSigma.NoiseSigmaForFeature + 13, // [13:13] is the sub-list for method output_type + 13, // [13:13] is the sub-list for method input_type + 13, // [13:13] is the sub-list for extension type_name + 13, // [13:13] is the sub-list for extension extendee + 0, // [0:13] is the sub-list for field type_name } func init() { file_google_cloud_aiplatform_v1beta1_explanation_proto_init() } @@ -693,6 +1267,75 @@ func file_google_cloud_aiplatform_v1beta1_explanation_proto_init() { return nil } } + file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*IntegratedGradientsAttribution); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*XraiAttribution); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SmoothGradConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FeatureNoiseSigma); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FeatureNoiseSigma_NoiseSigmaForFeature); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[4].OneofWrappers = []interface{}{ + (*ExplanationParameters_SampledShapleyAttribution)(nil), + (*ExplanationParameters_IntegratedGradientsAttribution)(nil), + (*ExplanationParameters_XraiAttribution)(nil), + } + file_google_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[8].OneofWrappers = []interface{}{ + (*SmoothGradConfig_NoiseSigma)(nil), + (*SmoothGradConfig_FeatureNoiseSigma)(nil), } type x struct{} out := protoimpl.TypeBuilder{ @@ -700,7 +1343,7 @@ func file_google_cloud_aiplatform_v1beta1_explanation_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_google_cloud_aiplatform_v1beta1_explanation_proto_rawDesc, NumEnums: 0, - NumMessages: 6, + NumMessages: 11, NumExtensions: 0, NumServices: 0, }, diff --git a/googleapis/cloud/aiplatform/v1beta1/explanation_metadata.pb.go b/googleapis/cloud/aiplatform/v1beta1/explanation_metadata.pb.go index 6877f54fa..fde8643b2 100644 --- a/googleapis/cloud/aiplatform/v1beta1/explanation_metadata.pb.go +++ b/googleapis/cloud/aiplatform/v1beta1/explanation_metadata.pb.go @@ -42,6 +42,363 @@ const ( // of the legacy proto package is being used. const _ = proto.ProtoPackageIsVersion4 +// Defines how the feature is encoded to [encoded_tensor][]. Defaults to +// IDENTITY. +type ExplanationMetadata_InputMetadata_Encoding int32 + +const ( + // Default value. This is the same as IDENTITY. + ExplanationMetadata_InputMetadata_ENCODING_UNSPECIFIED ExplanationMetadata_InputMetadata_Encoding = 0 + // The tensor represents one feature. + ExplanationMetadata_InputMetadata_IDENTITY ExplanationMetadata_InputMetadata_Encoding = 1 + // The tensor represents a bag of features where each index maps to + // a feature. [InputMetadata.index_feature_mapping][google.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.index_feature_mapping] must be provided for + // this encoding. For example: + // ``` + // input = [27, 6.0, 150] + // index_feature_mapping = ["age", "height", "weight"] + // ``` + ExplanationMetadata_InputMetadata_BAG_OF_FEATURES ExplanationMetadata_InputMetadata_Encoding = 2 + // The tensor represents a bag of features where each index maps to a + // feature. Zero values in the tensor indicates feature being + // non-existent. [InputMetadata.index_feature_mapping][google.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.index_feature_mapping] must be provided + // for this encoding. For example: + // ``` + // input = [2, 0, 5, 0, 1] + // index_feature_mapping = ["a", "b", "c", "d", "e"] + // ``` + ExplanationMetadata_InputMetadata_BAG_OF_FEATURES_SPARSE ExplanationMetadata_InputMetadata_Encoding = 3 + // The tensor is a list of binaries representing whether a feature exists + // or not (1 indicates existence). [InputMetadata.index_feature_mapping][google.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.index_feature_mapping] + // must be provided for this encoding. For example: + // ``` + // input = [1, 0, 1, 0, 1] + // index_feature_mapping = ["a", "b", "c", "d", "e"] + // ``` + ExplanationMetadata_InputMetadata_INDICATOR ExplanationMetadata_InputMetadata_Encoding = 4 + // The tensor is encoded into a 1-dimensional array represented by an + // encoded tensor. [InputMetadata.encoded_tensor_name][google.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.encoded_tensor_name] must be provided + // for this encoding. For example: + // ``` + // input = ["This", "is", "a", "test", "."] + // encoded = [0.1, 0.2, 0.3, 0.4, 0.5] + // ``` + ExplanationMetadata_InputMetadata_COMBINED_EMBEDDING ExplanationMetadata_InputMetadata_Encoding = 5 + // Select this encoding when the input tensor is encoded into a + // 2-dimensional array represented by an encoded tensor. + // [InputMetadata.encoded_tensor_name][google.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.encoded_tensor_name] must be provided for this + // encoding. The first dimension of the encoded tensor's shape is the same + // as the input tensor's shape. For example: + // ``` + // input = ["This", "is", "a", "test", "."] + // encoded = [[0.1, 0.2, 0.3, 0.4, 0.5], + // [0.2, 0.1, 0.4, 0.3, 0.5], + // [0.5, 0.1, 0.3, 0.5, 0.4], + // [0.5, 0.3, 0.1, 0.2, 0.4], + // [0.4, 0.3, 0.2, 0.5, 0.1]] + // ``` + ExplanationMetadata_InputMetadata_CONCAT_EMBEDDING ExplanationMetadata_InputMetadata_Encoding = 6 +) + +// Enum value maps for ExplanationMetadata_InputMetadata_Encoding. +var ( + ExplanationMetadata_InputMetadata_Encoding_name = map[int32]string{ + 0: "ENCODING_UNSPECIFIED", + 1: "IDENTITY", + 2: "BAG_OF_FEATURES", + 3: "BAG_OF_FEATURES_SPARSE", + 4: "INDICATOR", + 5: "COMBINED_EMBEDDING", + 6: "CONCAT_EMBEDDING", + } + ExplanationMetadata_InputMetadata_Encoding_value = map[string]int32{ + "ENCODING_UNSPECIFIED": 0, + "IDENTITY": 1, + "BAG_OF_FEATURES": 2, + "BAG_OF_FEATURES_SPARSE": 3, + "INDICATOR": 4, + "COMBINED_EMBEDDING": 5, + "CONCAT_EMBEDDING": 6, + } +) + +func (x ExplanationMetadata_InputMetadata_Encoding) Enum() *ExplanationMetadata_InputMetadata_Encoding { + p := new(ExplanationMetadata_InputMetadata_Encoding) + *p = x + return p +} + +func (x ExplanationMetadata_InputMetadata_Encoding) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ExplanationMetadata_InputMetadata_Encoding) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_aiplatform_v1beta1_explanation_metadata_proto_enumTypes[0].Descriptor() +} + +func (ExplanationMetadata_InputMetadata_Encoding) Type() protoreflect.EnumType { + return &file_google_cloud_aiplatform_v1beta1_explanation_metadata_proto_enumTypes[0] +} + +func (x ExplanationMetadata_InputMetadata_Encoding) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ExplanationMetadata_InputMetadata_Encoding.Descriptor instead. +func (ExplanationMetadata_InputMetadata_Encoding) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_explanation_metadata_proto_rawDescGZIP(), []int{0, 0, 0} +} + +// Type of the image visualization. Only applicable to [Integrated +// Gradients attribution] +// [ExplanationParameters.integrated_gradients_attribution]. +type ExplanationMetadata_InputMetadata_Visualization_Type int32 + +const ( + // Should not be used. + ExplanationMetadata_InputMetadata_Visualization_TYPE_UNSPECIFIED ExplanationMetadata_InputMetadata_Visualization_Type = 0 + // Shows which pixel contributed to the image prediction. + ExplanationMetadata_InputMetadata_Visualization_PIXELS ExplanationMetadata_InputMetadata_Visualization_Type = 1 + // Shows which region contributed to the image prediction by outlining + // the region. + ExplanationMetadata_InputMetadata_Visualization_OUTLINES ExplanationMetadata_InputMetadata_Visualization_Type = 2 +) + +// Enum value maps for ExplanationMetadata_InputMetadata_Visualization_Type. +var ( + ExplanationMetadata_InputMetadata_Visualization_Type_name = map[int32]string{ + 0: "TYPE_UNSPECIFIED", + 1: "PIXELS", + 2: "OUTLINES", + } + ExplanationMetadata_InputMetadata_Visualization_Type_value = map[string]int32{ + "TYPE_UNSPECIFIED": 0, + "PIXELS": 1, + "OUTLINES": 2, + } +) + +func (x ExplanationMetadata_InputMetadata_Visualization_Type) Enum() *ExplanationMetadata_InputMetadata_Visualization_Type { + p := new(ExplanationMetadata_InputMetadata_Visualization_Type) + *p = x + return p +} + +func (x ExplanationMetadata_InputMetadata_Visualization_Type) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ExplanationMetadata_InputMetadata_Visualization_Type) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_aiplatform_v1beta1_explanation_metadata_proto_enumTypes[1].Descriptor() +} + +func (ExplanationMetadata_InputMetadata_Visualization_Type) Type() protoreflect.EnumType { + return &file_google_cloud_aiplatform_v1beta1_explanation_metadata_proto_enumTypes[1] +} + +func (x ExplanationMetadata_InputMetadata_Visualization_Type) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ExplanationMetadata_InputMetadata_Visualization_Type.Descriptor instead. +func (ExplanationMetadata_InputMetadata_Visualization_Type) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_explanation_metadata_proto_rawDescGZIP(), []int{0, 0, 1, 0} +} + +// Whether to only highlight pixels with positive contributions, negative +// or both. Defaults to POSITIVE. +type ExplanationMetadata_InputMetadata_Visualization_Polarity int32 + +const ( + // Default value. This is the same as POSITIVE. + ExplanationMetadata_InputMetadata_Visualization_POLARITY_UNSPECIFIED ExplanationMetadata_InputMetadata_Visualization_Polarity = 0 + // Highlights the pixels/outlines that were most influential to the + // model's prediction. + ExplanationMetadata_InputMetadata_Visualization_POSITIVE ExplanationMetadata_InputMetadata_Visualization_Polarity = 1 + // Setting polarity to negative highlights areas that does not lead to + // the models's current prediction. + ExplanationMetadata_InputMetadata_Visualization_NEGATIVE ExplanationMetadata_InputMetadata_Visualization_Polarity = 2 + // Shows both positive and negative attributions. + ExplanationMetadata_InputMetadata_Visualization_BOTH ExplanationMetadata_InputMetadata_Visualization_Polarity = 3 +) + +// Enum value maps for ExplanationMetadata_InputMetadata_Visualization_Polarity. +var ( + ExplanationMetadata_InputMetadata_Visualization_Polarity_name = map[int32]string{ + 0: "POLARITY_UNSPECIFIED", + 1: "POSITIVE", + 2: "NEGATIVE", + 3: "BOTH", + } + ExplanationMetadata_InputMetadata_Visualization_Polarity_value = map[string]int32{ + "POLARITY_UNSPECIFIED": 0, + "POSITIVE": 1, + "NEGATIVE": 2, + "BOTH": 3, + } +) + +func (x ExplanationMetadata_InputMetadata_Visualization_Polarity) Enum() *ExplanationMetadata_InputMetadata_Visualization_Polarity { + p := new(ExplanationMetadata_InputMetadata_Visualization_Polarity) + *p = x + return p +} + +func (x ExplanationMetadata_InputMetadata_Visualization_Polarity) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ExplanationMetadata_InputMetadata_Visualization_Polarity) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_aiplatform_v1beta1_explanation_metadata_proto_enumTypes[2].Descriptor() +} + +func (ExplanationMetadata_InputMetadata_Visualization_Polarity) Type() protoreflect.EnumType { + return &file_google_cloud_aiplatform_v1beta1_explanation_metadata_proto_enumTypes[2] +} + +func (x ExplanationMetadata_InputMetadata_Visualization_Polarity) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ExplanationMetadata_InputMetadata_Visualization_Polarity.Descriptor instead. +func (ExplanationMetadata_InputMetadata_Visualization_Polarity) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_explanation_metadata_proto_rawDescGZIP(), []int{0, 0, 1, 1} +} + +// The color scheme used for highlighting areas. +type ExplanationMetadata_InputMetadata_Visualization_ColorMap int32 + +const ( + // Should not be used. + ExplanationMetadata_InputMetadata_Visualization_COLOR_MAP_UNSPECIFIED ExplanationMetadata_InputMetadata_Visualization_ColorMap = 0 + // Positive: green. Negative: pink. + ExplanationMetadata_InputMetadata_Visualization_PINK_GREEN ExplanationMetadata_InputMetadata_Visualization_ColorMap = 1 + // Viridis color map: A perceptually uniform color mapping which is + // easier to see by those with colorblindness and progresses from yellow + // to green to blue. Positive: yellow. Negative: blue. + ExplanationMetadata_InputMetadata_Visualization_VIRIDIS ExplanationMetadata_InputMetadata_Visualization_ColorMap = 2 + // Positive: red. Negative: red. + ExplanationMetadata_InputMetadata_Visualization_RED ExplanationMetadata_InputMetadata_Visualization_ColorMap = 3 + // Positive: green. Negative: green. + ExplanationMetadata_InputMetadata_Visualization_GREEN ExplanationMetadata_InputMetadata_Visualization_ColorMap = 4 + // Positive: green. Negative: red. + ExplanationMetadata_InputMetadata_Visualization_RED_GREEN ExplanationMetadata_InputMetadata_Visualization_ColorMap = 6 + // PiYG palette. + ExplanationMetadata_InputMetadata_Visualization_PINK_WHITE_GREEN ExplanationMetadata_InputMetadata_Visualization_ColorMap = 5 +) + +// Enum value maps for ExplanationMetadata_InputMetadata_Visualization_ColorMap. +var ( + ExplanationMetadata_InputMetadata_Visualization_ColorMap_name = map[int32]string{ + 0: "COLOR_MAP_UNSPECIFIED", + 1: "PINK_GREEN", + 2: "VIRIDIS", + 3: "RED", + 4: "GREEN", + 6: "RED_GREEN", + 5: "PINK_WHITE_GREEN", + } + ExplanationMetadata_InputMetadata_Visualization_ColorMap_value = map[string]int32{ + "COLOR_MAP_UNSPECIFIED": 0, + "PINK_GREEN": 1, + "VIRIDIS": 2, + "RED": 3, + "GREEN": 4, + "RED_GREEN": 6, + "PINK_WHITE_GREEN": 5, + } +) + +func (x ExplanationMetadata_InputMetadata_Visualization_ColorMap) Enum() *ExplanationMetadata_InputMetadata_Visualization_ColorMap { + p := new(ExplanationMetadata_InputMetadata_Visualization_ColorMap) + *p = x + return p +} + +func (x ExplanationMetadata_InputMetadata_Visualization_ColorMap) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ExplanationMetadata_InputMetadata_Visualization_ColorMap) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_aiplatform_v1beta1_explanation_metadata_proto_enumTypes[3].Descriptor() +} + +func (ExplanationMetadata_InputMetadata_Visualization_ColorMap) Type() protoreflect.EnumType { + return &file_google_cloud_aiplatform_v1beta1_explanation_metadata_proto_enumTypes[3] +} + +func (x ExplanationMetadata_InputMetadata_Visualization_ColorMap) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ExplanationMetadata_InputMetadata_Visualization_ColorMap.Descriptor instead. +func (ExplanationMetadata_InputMetadata_Visualization_ColorMap) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_explanation_metadata_proto_rawDescGZIP(), []int{0, 0, 1, 2} +} + +// How the original image is displayed in the visualization. +type ExplanationMetadata_InputMetadata_Visualization_OverlayType int32 + +const ( + // Default value. This is the same as NONE. + ExplanationMetadata_InputMetadata_Visualization_OVERLAY_TYPE_UNSPECIFIED ExplanationMetadata_InputMetadata_Visualization_OverlayType = 0 + // No overlay. + ExplanationMetadata_InputMetadata_Visualization_NONE ExplanationMetadata_InputMetadata_Visualization_OverlayType = 1 + // The attributions are shown on top of the original image. + ExplanationMetadata_InputMetadata_Visualization_ORIGINAL ExplanationMetadata_InputMetadata_Visualization_OverlayType = 2 + // The attributions are shown on top of grayscaled version of the + // original image. + ExplanationMetadata_InputMetadata_Visualization_GRAYSCALE ExplanationMetadata_InputMetadata_Visualization_OverlayType = 3 + // The attributions are used as a mask to reveal predictive parts of + // the image and hide the un-predictive parts. + ExplanationMetadata_InputMetadata_Visualization_MASK_BLACK ExplanationMetadata_InputMetadata_Visualization_OverlayType = 4 +) + +// Enum value maps for ExplanationMetadata_InputMetadata_Visualization_OverlayType. +var ( + ExplanationMetadata_InputMetadata_Visualization_OverlayType_name = map[int32]string{ + 0: "OVERLAY_TYPE_UNSPECIFIED", + 1: "NONE", + 2: "ORIGINAL", + 3: "GRAYSCALE", + 4: "MASK_BLACK", + } + ExplanationMetadata_InputMetadata_Visualization_OverlayType_value = map[string]int32{ + "OVERLAY_TYPE_UNSPECIFIED": 0, + "NONE": 1, + "ORIGINAL": 2, + "GRAYSCALE": 3, + "MASK_BLACK": 4, + } +) + +func (x ExplanationMetadata_InputMetadata_Visualization_OverlayType) Enum() *ExplanationMetadata_InputMetadata_Visualization_OverlayType { + p := new(ExplanationMetadata_InputMetadata_Visualization_OverlayType) + *p = x + return p +} + +func (x ExplanationMetadata_InputMetadata_Visualization_OverlayType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ExplanationMetadata_InputMetadata_Visualization_OverlayType) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_aiplatform_v1beta1_explanation_metadata_proto_enumTypes[4].Descriptor() +} + +func (ExplanationMetadata_InputMetadata_Visualization_OverlayType) Type() protoreflect.EnumType { + return &file_google_cloud_aiplatform_v1beta1_explanation_metadata_proto_enumTypes[4] +} + +func (x ExplanationMetadata_InputMetadata_Visualization_OverlayType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ExplanationMetadata_InputMetadata_Visualization_OverlayType.Descriptor instead. +func (ExplanationMetadata_InputMetadata_Visualization_OverlayType) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_explanation_metadata_proto_rawDescGZIP(), []int{0, 0, 1, 3} +} + // Metadata describing the Model's input and output for explanation. type ExplanationMetadata struct { state protoimpl.MessageState @@ -55,12 +412,23 @@ type ExplanationMetadata struct { // name specified as the key in [ExplanationMetadata.inputs][google.cloud.aiplatform.v1beta1.ExplanationMetadata.inputs]. The baseline // of the empty feature is chosen by AI Platform. // + // For AI Platform provided Tensorflow images, the key can be any friendly + // name of the feature . Once specified, [ + // featureAttributions][Attribution.feature_attributions] will be keyed by + // this key (if not grouped with another feature). + // + // For custom images, the key must match with the key in + // [instance][google.cloud.aiplatform.v1beta1.ExplainRequest.instances]. Inputs map[string]*ExplanationMetadata_InputMetadata `protobuf:"bytes,1,rep,name=inputs,proto3" json:"inputs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Required. Map from output names to output metadata. // - // Keys are the name of the output field in the prediction to be explained. - // Currently only one key is allowed. + // For AI Platform provided Tensorflow images, keys can be any string user + // defines. + // + // For custom images, keys are the name of the output field in the prediction + // to be explained. // + // Currently only one key is allowed. Outputs map[string]*ExplanationMetadata_OutputMetadata `protobuf:"bytes,2,rep,name=outputs,proto3" json:"outputs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Points to a YAML file stored on Google Cloud Storage describing the format // of the [feature attributions][google.cloud.aiplatform.v1beta1.Attribution.feature_attributions]. @@ -127,6 +495,9 @@ func (x *ExplanationMetadata) GetFeatureAttributionsSchemaUri() string { } // Metadata of the input of a feature. +// +// Fields other than [InputMetadata.input_baselines][google.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.input_baselines] are applicable only +// for Models that are using AI Platform-provided images for Tensorflow. type ExplanationMetadata_InputMetadata struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -139,13 +510,67 @@ type ExplanationMetadata_InputMetadata struct { // average attributions across them in // [Attributions.baseline_attribution][]. // - // The element of the baselines must be in the same format as the feature's - // input in the [instance][google.cloud.aiplatform.v1beta1.ExplainRequest.instances][]. The schema of any - // single instance may be specified via Endpoint's DeployedModels' + // For AI Platform provided Tensorflow images (both 1.x and 2.x), the shape + // of each baseline must match the shape of the input tensor. If a scalar is + // provided, we broadcast to the same shape as the input tensor. + // + // For custom images, the element of the baselines must be in the same + // format as the feature's input in the + // [instance][google.cloud.aiplatform.v1beta1.ExplainRequest.instances][]. The schema of any single instance + // may be specified via Endpoint's DeployedModels' // [Model's][google.cloud.aiplatform.v1beta1.DeployedModel.model] // [PredictSchemata's][google.cloud.aiplatform.v1beta1.Model.predict_schemata] // [instance_schema_uri][google.cloud.aiplatform.v1beta1.PredictSchemata.instance_schema_uri]. InputBaselines []*structpb.Value `protobuf:"bytes,1,rep,name=input_baselines,json=inputBaselines,proto3" json:"input_baselines,omitempty"` + // Name of the input tensor for this feature. Required and is only + // applicable to AI Platform provided images for Tensorflow. + InputTensorName string `protobuf:"bytes,2,opt,name=input_tensor_name,json=inputTensorName,proto3" json:"input_tensor_name,omitempty"` + // Defines how the feature is encoded into the input tensor. Defaults to + // IDENTITY. + Encoding ExplanationMetadata_InputMetadata_Encoding `protobuf:"varint,3,opt,name=encoding,proto3,enum=google.cloud.aiplatform.v1beta1.ExplanationMetadata_InputMetadata_Encoding" json:"encoding,omitempty"` + // Modality of the feature. Valid values are: numeric, image. Defaults to + // numeric. + Modality string `protobuf:"bytes,4,opt,name=modality,proto3" json:"modality,omitempty"` + // The domain details of the input feature value. Like min/max, original + // mean or standard deviation if normalized. + FeatureValueDomain *ExplanationMetadata_InputMetadata_FeatureValueDomain `protobuf:"bytes,5,opt,name=feature_value_domain,json=featureValueDomain,proto3" json:"feature_value_domain,omitempty"` + // Specifies the index of the values of the input tensor. + // Required when the input tensor is a sparse representation. Refer to + // Tensorflow documentation for more details: + // https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. + IndicesTensorName string `protobuf:"bytes,6,opt,name=indices_tensor_name,json=indicesTensorName,proto3" json:"indices_tensor_name,omitempty"` + // Specifies the shape of the values of the input if the input is a sparse + // representation. Refer to Tensorflow documentation for more details: + // https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. + DenseShapeTensorName string `protobuf:"bytes,7,opt,name=dense_shape_tensor_name,json=denseShapeTensorName,proto3" json:"dense_shape_tensor_name,omitempty"` + // A list of feature names for each index in the input tensor. + // Required when the input [InputMetadata.encoding][google.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.encoding] is BAG_OF_FEATURES, + // BAG_OF_FEATURES_SPARSE, INDICATOR. + IndexFeatureMapping []string `protobuf:"bytes,8,rep,name=index_feature_mapping,json=indexFeatureMapping,proto3" json:"index_feature_mapping,omitempty"` + // Encoded tensor is a transformation of the input tensor. Must be provided + // if choosing [Integrated Gradients + // attribution][ExplanationParameters.integrated_gradients_attribution] or + // [XRAI attribution][google.cloud.aiplatform.v1beta1.ExplanationParameters.xrai_attribution] + // and the input tensor is not differentiable. + // + // An encoded tensor is generated if the input tensor is encoded by a lookup + // table. + EncodedTensorName string `protobuf:"bytes,9,opt,name=encoded_tensor_name,json=encodedTensorName,proto3" json:"encoded_tensor_name,omitempty"` + // A list of baselines for the encoded tensor. + // + // The shape of each baseline should match the shape of the encoded tensor. + // If a scalar is provided, AI Platform broadcast to the same shape as the + // encoded tensor. + EncodedBaselines []*structpb.Value `protobuf:"bytes,10,rep,name=encoded_baselines,json=encodedBaselines,proto3" json:"encoded_baselines,omitempty"` + // Visualization configurations for image explanation. + Visualization *ExplanationMetadata_InputMetadata_Visualization `protobuf:"bytes,11,opt,name=visualization,proto3" json:"visualization,omitempty"` + // Name of the group that the input belongs to. Features with the same group + // name will be treated as one feature when computing attributions. Features + // grouped together can have different shapes in value. If provided, there + // will be one single attribution generated in [ + // featureAttributions][Attribution.feature_attributions], keyed by the + // group name. + GroupName string `protobuf:"bytes,12,opt,name=group_name,json=groupName,proto3" json:"group_name,omitempty"` } func (x *ExplanationMetadata_InputMetadata) Reset() { @@ -187,6 +612,83 @@ func (x *ExplanationMetadata_InputMetadata) GetInputBaselines() []*structpb.Valu return nil } +func (x *ExplanationMetadata_InputMetadata) GetInputTensorName() string { + if x != nil { + return x.InputTensorName + } + return "" +} + +func (x *ExplanationMetadata_InputMetadata) GetEncoding() ExplanationMetadata_InputMetadata_Encoding { + if x != nil { + return x.Encoding + } + return ExplanationMetadata_InputMetadata_ENCODING_UNSPECIFIED +} + +func (x *ExplanationMetadata_InputMetadata) GetModality() string { + if x != nil { + return x.Modality + } + return "" +} + +func (x *ExplanationMetadata_InputMetadata) GetFeatureValueDomain() *ExplanationMetadata_InputMetadata_FeatureValueDomain { + if x != nil { + return x.FeatureValueDomain + } + return nil +} + +func (x *ExplanationMetadata_InputMetadata) GetIndicesTensorName() string { + if x != nil { + return x.IndicesTensorName + } + return "" +} + +func (x *ExplanationMetadata_InputMetadata) GetDenseShapeTensorName() string { + if x != nil { + return x.DenseShapeTensorName + } + return "" +} + +func (x *ExplanationMetadata_InputMetadata) GetIndexFeatureMapping() []string { + if x != nil { + return x.IndexFeatureMapping + } + return nil +} + +func (x *ExplanationMetadata_InputMetadata) GetEncodedTensorName() string { + if x != nil { + return x.EncodedTensorName + } + return "" +} + +func (x *ExplanationMetadata_InputMetadata) GetEncodedBaselines() []*structpb.Value { + if x != nil { + return x.EncodedBaselines + } + return nil +} + +func (x *ExplanationMetadata_InputMetadata) GetVisualization() *ExplanationMetadata_InputMetadata_Visualization { + if x != nil { + return x.Visualization + } + return nil +} + +func (x *ExplanationMetadata_InputMetadata) GetGroupName() string { + if x != nil { + return x.GroupName + } + return "" +} + // Metadata of the prediction output to be explained. type ExplanationMetadata_OutputMetadata struct { state protoimpl.MessageState @@ -203,6 +705,9 @@ type ExplanationMetadata_OutputMetadata struct { // *ExplanationMetadata_OutputMetadata_IndexDisplayNameMapping // *ExplanationMetadata_OutputMetadata_DisplayNameMappingKey DisplayNameMapping isExplanationMetadata_OutputMetadata_DisplayNameMapping `protobuf_oneof:"display_name_mapping"` + // Name of the output tensor. Required and is only applicable to AI + // Platform provided images for Tensorflow. + OutputTensorName string `protobuf:"bytes,3,opt,name=output_tensor_name,json=outputTensorName,proto3" json:"output_tensor_name,omitempty"` } func (x *ExplanationMetadata_OutputMetadata) Reset() { @@ -258,6 +763,13 @@ func (x *ExplanationMetadata_OutputMetadata) GetDisplayNameMappingKey() string { return "" } +func (x *ExplanationMetadata_OutputMetadata) GetOutputTensorName() string { + if x != nil { + return x.OutputTensorName + } + return "" +} + type isExplanationMetadata_OutputMetadata_DisplayNameMapping interface { isExplanationMetadata_OutputMetadata_DisplayNameMapping() } @@ -275,7 +787,6 @@ type ExplanationMetadata_OutputMetadata_IndexDisplayNameMapping struct { // number of dimentions must match that of the outputs to be explained. // The [Attribution.output_display_name][google.cloud.aiplatform.v1beta1.Attribution.output_display_name] is populated by locating in the // mapping with [Attribution.output_index][google.cloud.aiplatform.v1beta1.Attribution.output_index]. - // IndexDisplayNameMapping *structpb.Value `protobuf:"bytes,1,opt,name=index_display_name_mapping,json=indexDisplayNameMapping,proto3,oneof"` } @@ -296,6 +807,208 @@ func (*ExplanationMetadata_OutputMetadata_IndexDisplayNameMapping) isExplanation func (*ExplanationMetadata_OutputMetadata_DisplayNameMappingKey) isExplanationMetadata_OutputMetadata_DisplayNameMapping() { } +// Domain details of the input feature value. Provides numeric information +// about the feature, such as its range (min, max). If the feature has been +// pre-processed, for example with z-scoring, then it provides information +// about how to recover the original feature. For example, if the input +// feature is an image and it has been pre-processed to obtain 0-mean and +// stddev = 1 values, then original_mean, and original_stddev refer to the +// mean and stddev of the original feature (e.g. image tensor) from which +// input feature (with mean = 0 and stddev = 1) was obtained. +type ExplanationMetadata_InputMetadata_FeatureValueDomain struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The minimum permissible value for this feature. + MinValue float32 `protobuf:"fixed32,1,opt,name=min_value,json=minValue,proto3" json:"min_value,omitempty"` + // The maximum permissible value for this feature. + MaxValue float32 `protobuf:"fixed32,2,opt,name=max_value,json=maxValue,proto3" json:"max_value,omitempty"` + // If this input feature has been normalized to a mean value of 0, + // the original_mean specifies the mean value of the domain prior to + // normalization. + OriginalMean float32 `protobuf:"fixed32,3,opt,name=original_mean,json=originalMean,proto3" json:"original_mean,omitempty"` + // If this input feature has been normalized to a standard deviation of + // 1.0, the original_stddev specifies the standard deviation of the domain + // prior to normalization. + OriginalStddev float32 `protobuf:"fixed32,4,opt,name=original_stddev,json=originalStddev,proto3" json:"original_stddev,omitempty"` +} + +func (x *ExplanationMetadata_InputMetadata_FeatureValueDomain) Reset() { + *x = ExplanationMetadata_InputMetadata_FeatureValueDomain{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_explanation_metadata_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExplanationMetadata_InputMetadata_FeatureValueDomain) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExplanationMetadata_InputMetadata_FeatureValueDomain) ProtoMessage() {} + +func (x *ExplanationMetadata_InputMetadata_FeatureValueDomain) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_explanation_metadata_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExplanationMetadata_InputMetadata_FeatureValueDomain.ProtoReflect.Descriptor instead. +func (*ExplanationMetadata_InputMetadata_FeatureValueDomain) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_explanation_metadata_proto_rawDescGZIP(), []int{0, 0, 0} +} + +func (x *ExplanationMetadata_InputMetadata_FeatureValueDomain) GetMinValue() float32 { + if x != nil { + return x.MinValue + } + return 0 +} + +func (x *ExplanationMetadata_InputMetadata_FeatureValueDomain) GetMaxValue() float32 { + if x != nil { + return x.MaxValue + } + return 0 +} + +func (x *ExplanationMetadata_InputMetadata_FeatureValueDomain) GetOriginalMean() float32 { + if x != nil { + return x.OriginalMean + } + return 0 +} + +func (x *ExplanationMetadata_InputMetadata_FeatureValueDomain) GetOriginalStddev() float32 { + if x != nil { + return x.OriginalStddev + } + return 0 +} + +// Visualization configurations for image explanation. +type ExplanationMetadata_InputMetadata_Visualization struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Type of the image visualization. Only applicable to [Integrated + // Gradients attribution] + // [ExplanationParameters.integrated_gradients_attribution]. OUTLINES + // shows regions of attribution, while PIXELS shows per-pixel attribution. + // Defaults to OUTLINES. + Type ExplanationMetadata_InputMetadata_Visualization_Type `protobuf:"varint,1,opt,name=type,proto3,enum=google.cloud.aiplatform.v1beta1.ExplanationMetadata_InputMetadata_Visualization_Type" json:"type,omitempty"` + // Whether to only highlight pixels with positive contributions, negative + // or both. Defaults to POSITIVE. + Polarity ExplanationMetadata_InputMetadata_Visualization_Polarity `protobuf:"varint,2,opt,name=polarity,proto3,enum=google.cloud.aiplatform.v1beta1.ExplanationMetadata_InputMetadata_Visualization_Polarity" json:"polarity,omitempty"` + // The color scheme used for the highlighted areas. + // + // Defaults to PINK_GREEN for [Integrated Gradients + // attribution][ExplanationParameters.integrated_gradients_attribution], + // which shows positive attributions in green and negative in pink. + // + // Defaults to VIRIDIS for + // [XRAI attribution][google.cloud.aiplatform.v1beta1.ExplanationParameters.xrai_attribution], which + // highlights the most influential regions in yellow and the least + // influential in blue. + ColorMap ExplanationMetadata_InputMetadata_Visualization_ColorMap `protobuf:"varint,3,opt,name=color_map,json=colorMap,proto3,enum=google.cloud.aiplatform.v1beta1.ExplanationMetadata_InputMetadata_Visualization_ColorMap" json:"color_map,omitempty"` + // Excludes attributions above the specified percentile from the + // highlighted areas. Using the clip_percent_upperbound and + // clip_percent_lowerbound together can be useful for filtering out noise + // and making it easier to see areas of strong attribution. Defaults to + // 99.9. + ClipPercentUpperbound float32 `protobuf:"fixed32,4,opt,name=clip_percent_upperbound,json=clipPercentUpperbound,proto3" json:"clip_percent_upperbound,omitempty"` + // Excludes attributions below the specified percentile, from the + // highlighted areas. Defaults to 35. + ClipPercentLowerbound float32 `protobuf:"fixed32,5,opt,name=clip_percent_lowerbound,json=clipPercentLowerbound,proto3" json:"clip_percent_lowerbound,omitempty"` + // How the original image is displayed in the visualization. + // Adjusting the overlay can help increase visual clarity if the original + // image makes it difficult to view the visualization. Defaults to NONE. + OverlayType ExplanationMetadata_InputMetadata_Visualization_OverlayType `protobuf:"varint,6,opt,name=overlay_type,json=overlayType,proto3,enum=google.cloud.aiplatform.v1beta1.ExplanationMetadata_InputMetadata_Visualization_OverlayType" json:"overlay_type,omitempty"` +} + +func (x *ExplanationMetadata_InputMetadata_Visualization) Reset() { + *x = ExplanationMetadata_InputMetadata_Visualization{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_explanation_metadata_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExplanationMetadata_InputMetadata_Visualization) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExplanationMetadata_InputMetadata_Visualization) ProtoMessage() {} + +func (x *ExplanationMetadata_InputMetadata_Visualization) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_explanation_metadata_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExplanationMetadata_InputMetadata_Visualization.ProtoReflect.Descriptor instead. +func (*ExplanationMetadata_InputMetadata_Visualization) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_explanation_metadata_proto_rawDescGZIP(), []int{0, 0, 1} +} + +func (x *ExplanationMetadata_InputMetadata_Visualization) GetType() ExplanationMetadata_InputMetadata_Visualization_Type { + if x != nil { + return x.Type + } + return ExplanationMetadata_InputMetadata_Visualization_TYPE_UNSPECIFIED +} + +func (x *ExplanationMetadata_InputMetadata_Visualization) GetPolarity() ExplanationMetadata_InputMetadata_Visualization_Polarity { + if x != nil { + return x.Polarity + } + return ExplanationMetadata_InputMetadata_Visualization_POLARITY_UNSPECIFIED +} + +func (x *ExplanationMetadata_InputMetadata_Visualization) GetColorMap() ExplanationMetadata_InputMetadata_Visualization_ColorMap { + if x != nil { + return x.ColorMap + } + return ExplanationMetadata_InputMetadata_Visualization_COLOR_MAP_UNSPECIFIED +} + +func (x *ExplanationMetadata_InputMetadata_Visualization) GetClipPercentUpperbound() float32 { + if x != nil { + return x.ClipPercentUpperbound + } + return 0 +} + +func (x *ExplanationMetadata_InputMetadata_Visualization) GetClipPercentLowerbound() float32 { + if x != nil { + return x.ClipPercentLowerbound + } + return 0 +} + +func (x *ExplanationMetadata_InputMetadata_Visualization) GetOverlayType() ExplanationMetadata_InputMetadata_Visualization_OverlayType { + if x != nil { + return x.OverlayType + } + return ExplanationMetadata_InputMetadata_Visualization_OVERLAY_TYPE_UNSPECIFIED +} + var File_google_cloud_aiplatform_v1beta1_explanation_metadata_proto protoreflect.FileDescriptor var file_google_cloud_aiplatform_v1beta1_explanation_metadata_proto_rawDesc = []byte{ @@ -310,7 +1023,7 @@ var file_google_cloud_aiplatform_v1beta1_explanation_metadata_proto_rawDesc = [] 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xac, 0x06, 0x0a, 0x13, 0x45, + 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc1, 0x16, 0x0a, 0x13, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x5d, 0x0a, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, @@ -328,49 +1041,179 @@ var file_google_cloud_aiplatform_v1beta1_explanation_metadata_proto_rawDesc = [] 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x55, 0x72, 0x69, 0x1a, 0x50, 0x0a, 0x0d, 0x49, 0x6e, - 0x70, 0x75, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3f, 0x0a, 0x0f, 0x69, - 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x69, 0x6e, - 0x70, 0x75, 0x74, 0x42, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x1a, 0xba, 0x01, 0x0a, - 0x0e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, - 0x55, 0x0a, 0x1a, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x17, 0x69, - 0x6e, 0x64, 0x65, 0x78, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x4d, - 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x39, 0x0a, 0x18, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, - 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x6b, - 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x15, 0x64, 0x69, 0x73, 0x70, - 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4b, 0x65, - 0x79, 0x42, 0x16, 0x0a, 0x14, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x1a, 0x7d, 0x0a, 0x0b, 0x49, 0x6e, 0x70, - 0x75, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x58, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, - 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, - 0x49, 0x6e, 0x70, 0x75, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x7f, 0x0a, 0x0c, 0x4f, 0x75, 0x74, 0x70, - 0x75, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x59, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, - 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, - 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x8c, 0x01, 0x0a, 0x23, 0x63, 0x6f, - 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x73, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x55, 0x72, 0x69, 0x1a, 0xb6, 0x10, 0x0a, 0x0d, 0x49, + 0x6e, 0x70, 0x75, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3f, 0x0a, 0x0f, + 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x69, + 0x6e, 0x70, 0x75, 0x74, 0x42, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x2a, 0x0a, + 0x11, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x54, + 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x67, 0x0a, 0x08, 0x65, 0x6e, 0x63, + 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x4b, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, + 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, + 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, + 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x6f, 0x64, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x6f, 0x64, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x87, + 0x01, 0x0a, 0x14, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x55, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x44, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x12, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x69, 0x6e, 0x64, 0x69, + 0x63, 0x65, 0x73, 0x5f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, 0x54, 0x65, + 0x6e, 0x73, 0x6f, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x17, 0x64, 0x65, 0x6e, 0x73, + 0x65, 0x5f, 0x73, 0x68, 0x61, 0x70, 0x65, 0x5f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x64, 0x65, 0x6e, 0x73, 0x65, + 0x53, 0x68, 0x61, 0x70, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x32, 0x0a, 0x15, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x70, 0x70, + 0x69, 0x6e, 0x67, 0x12, 0x2e, 0x0a, 0x13, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x64, 0x5f, 0x74, + 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x11, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x64, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x43, 0x0a, 0x11, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x64, 0x5f, 0x62, + 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x64, 0x42, + 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x76, 0x0a, 0x0d, 0x76, 0x69, 0x73, 0x75, + 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x50, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x42, 0x18, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x49, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, - 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x61, 0x69, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x2e, 0x56, 0x69, 0x73, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x0d, 0x76, 0x69, 0x73, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x1a, + 0x9c, 0x01, 0x0a, 0x12, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x5f, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x12, 0x23, 0x0a, 0x0d, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x6d, 0x65, 0x61, + 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, + 0x6c, 0x4d, 0x65, 0x61, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, + 0x6c, 0x5f, 0x73, 0x74, 0x64, 0x64, 0x65, 0x76, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, + 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x53, 0x74, 0x64, 0x64, 0x65, 0x76, 0x1a, 0xbf, + 0x07, 0x0a, 0x0d, 0x56, 0x69, 0x73, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x69, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x55, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x2e, 0x56, 0x69, 0x73, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x75, 0x0a, 0x08, 0x70, + 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x59, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x2e, 0x56, 0x69, 0x73, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x50, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x52, 0x08, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, + 0x74, 0x79, 0x12, 0x76, 0x0a, 0x09, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x6d, 0x61, 0x70, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x59, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x49, 0x6e, 0x70, 0x75, + 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x69, 0x73, 0x75, 0x61, 0x6c, + 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x4d, 0x61, 0x70, + 0x52, 0x08, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x4d, 0x61, 0x70, 0x12, 0x36, 0x0a, 0x17, 0x63, 0x6c, + 0x69, 0x70, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x75, 0x70, 0x70, 0x65, 0x72, + 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x15, 0x63, 0x6c, 0x69, + 0x70, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x55, 0x70, 0x70, 0x65, 0x72, 0x62, 0x6f, 0x75, + 0x6e, 0x64, 0x12, 0x36, 0x0a, 0x17, 0x63, 0x6c, 0x69, 0x70, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, + 0x6e, 0x74, 0x5f, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x15, 0x63, 0x6c, 0x69, 0x70, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, + 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x7f, 0x0a, 0x0c, 0x6f, 0x76, + 0x65, 0x72, 0x6c, 0x61, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x5c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x69, 0x73, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, + 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x22, 0x36, 0x0a, 0x04, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x49, 0x58, + 0x45, 0x4c, 0x53, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x4f, 0x55, 0x54, 0x4c, 0x49, 0x4e, 0x45, + 0x53, 0x10, 0x02, 0x22, 0x4a, 0x0a, 0x08, 0x50, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x12, + 0x18, 0x0a, 0x14, 0x50, 0x4f, 0x4c, 0x41, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x4f, 0x53, + 0x49, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x4e, 0x45, 0x47, 0x41, 0x54, + 0x49, 0x56, 0x45, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x42, 0x4f, 0x54, 0x48, 0x10, 0x03, 0x22, + 0x7b, 0x0a, 0x08, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x4d, 0x61, 0x70, 0x12, 0x19, 0x0a, 0x15, 0x43, + 0x4f, 0x4c, 0x4f, 0x52, 0x5f, 0x4d, 0x41, 0x50, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x49, 0x4e, 0x4b, 0x5f, 0x47, + 0x52, 0x45, 0x45, 0x4e, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x56, 0x49, 0x52, 0x49, 0x44, 0x49, + 0x53, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x52, 0x45, 0x44, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, + 0x47, 0x52, 0x45, 0x45, 0x4e, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x52, 0x45, 0x44, 0x5f, 0x47, + 0x52, 0x45, 0x45, 0x4e, 0x10, 0x06, 0x12, 0x14, 0x0a, 0x10, 0x50, 0x49, 0x4e, 0x4b, 0x5f, 0x57, + 0x48, 0x49, 0x54, 0x45, 0x5f, 0x47, 0x52, 0x45, 0x45, 0x4e, 0x10, 0x05, 0x22, 0x62, 0x0a, 0x0b, + 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x4f, + 0x56, 0x45, 0x52, 0x4c, 0x41, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, + 0x45, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x4f, 0x52, 0x49, 0x47, 0x49, 0x4e, 0x41, 0x4c, 0x10, + 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x47, 0x52, 0x41, 0x59, 0x53, 0x43, 0x41, 0x4c, 0x45, 0x10, 0x03, + 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x41, 0x53, 0x4b, 0x5f, 0x42, 0x4c, 0x41, 0x43, 0x4b, 0x10, 0x04, + 0x22, 0xa0, 0x01, 0x0a, 0x08, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x18, 0x0a, + 0x14, 0x45, 0x4e, 0x43, 0x4f, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x44, 0x45, 0x4e, 0x54, + 0x49, 0x54, 0x59, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x42, 0x41, 0x47, 0x5f, 0x4f, 0x46, 0x5f, + 0x46, 0x45, 0x41, 0x54, 0x55, 0x52, 0x45, 0x53, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x42, 0x41, + 0x47, 0x5f, 0x4f, 0x46, 0x5f, 0x46, 0x45, 0x41, 0x54, 0x55, 0x52, 0x45, 0x53, 0x5f, 0x53, 0x50, + 0x41, 0x52, 0x53, 0x45, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x49, 0x4e, 0x44, 0x49, 0x43, 0x41, + 0x54, 0x4f, 0x52, 0x10, 0x04, 0x12, 0x16, 0x0a, 0x12, 0x43, 0x4f, 0x4d, 0x42, 0x49, 0x4e, 0x45, + 0x44, 0x5f, 0x45, 0x4d, 0x42, 0x45, 0x44, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12, 0x14, 0x0a, + 0x10, 0x43, 0x4f, 0x4e, 0x43, 0x41, 0x54, 0x5f, 0x45, 0x4d, 0x42, 0x45, 0x44, 0x44, 0x49, 0x4e, + 0x47, 0x10, 0x06, 0x1a, 0xe8, 0x01, 0x0a, 0x0e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x55, 0x0a, 0x1a, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, + 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x61, 0x70, + 0x70, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x48, 0x00, 0x52, 0x17, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x44, 0x69, 0x73, 0x70, 0x6c, + 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x39, 0x0a, + 0x18, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x61, + 0x70, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x15, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, + 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4b, 0x65, 0x79, 0x12, 0x2c, 0x0a, 0x12, 0x6f, 0x75, 0x74, 0x70, + 0x75, 0x74, 0x5f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x54, 0x65, 0x6e, 0x73, + 0x6f, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x42, 0x16, 0x0a, 0x14, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x1a, 0x7d, + 0x0a, 0x0b, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x58, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x7f, 0x0a, + 0x0c, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x59, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x8c, + 0x01, 0x0a, 0x23, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x18, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x50, 0x01, 0x5a, 0x49, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, + 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -385,27 +1228,43 @@ func file_google_cloud_aiplatform_v1beta1_explanation_metadata_proto_rawDescGZIP return file_google_cloud_aiplatform_v1beta1_explanation_metadata_proto_rawDescData } -var file_google_cloud_aiplatform_v1beta1_explanation_metadata_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_google_cloud_aiplatform_v1beta1_explanation_metadata_proto_enumTypes = make([]protoimpl.EnumInfo, 5) +var file_google_cloud_aiplatform_v1beta1_explanation_metadata_proto_msgTypes = make([]protoimpl.MessageInfo, 7) var file_google_cloud_aiplatform_v1beta1_explanation_metadata_proto_goTypes = []interface{}{ - (*ExplanationMetadata)(nil), // 0: google.cloud.aiplatform.v1beta1.ExplanationMetadata - (*ExplanationMetadata_InputMetadata)(nil), // 1: google.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata - (*ExplanationMetadata_OutputMetadata)(nil), // 2: google.cloud.aiplatform.v1beta1.ExplanationMetadata.OutputMetadata - nil, // 3: google.cloud.aiplatform.v1beta1.ExplanationMetadata.InputsEntry - nil, // 4: google.cloud.aiplatform.v1beta1.ExplanationMetadata.OutputsEntry - (*structpb.Value)(nil), // 5: google.protobuf.Value + (ExplanationMetadata_InputMetadata_Encoding)(0), // 0: google.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.Encoding + (ExplanationMetadata_InputMetadata_Visualization_Type)(0), // 1: google.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.Visualization.Type + (ExplanationMetadata_InputMetadata_Visualization_Polarity)(0), // 2: google.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.Visualization.Polarity + (ExplanationMetadata_InputMetadata_Visualization_ColorMap)(0), // 3: google.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.Visualization.ColorMap + (ExplanationMetadata_InputMetadata_Visualization_OverlayType)(0), // 4: google.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.Visualization.OverlayType + (*ExplanationMetadata)(nil), // 5: google.cloud.aiplatform.v1beta1.ExplanationMetadata + (*ExplanationMetadata_InputMetadata)(nil), // 6: google.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata + (*ExplanationMetadata_OutputMetadata)(nil), // 7: google.cloud.aiplatform.v1beta1.ExplanationMetadata.OutputMetadata + nil, // 8: google.cloud.aiplatform.v1beta1.ExplanationMetadata.InputsEntry + nil, // 9: google.cloud.aiplatform.v1beta1.ExplanationMetadata.OutputsEntry + (*ExplanationMetadata_InputMetadata_FeatureValueDomain)(nil), // 10: google.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.FeatureValueDomain + (*ExplanationMetadata_InputMetadata_Visualization)(nil), // 11: google.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.Visualization + (*structpb.Value)(nil), // 12: google.protobuf.Value } var file_google_cloud_aiplatform_v1beta1_explanation_metadata_proto_depIdxs = []int32{ - 3, // 0: google.cloud.aiplatform.v1beta1.ExplanationMetadata.inputs:type_name -> google.cloud.aiplatform.v1beta1.ExplanationMetadata.InputsEntry - 4, // 1: google.cloud.aiplatform.v1beta1.ExplanationMetadata.outputs:type_name -> google.cloud.aiplatform.v1beta1.ExplanationMetadata.OutputsEntry - 5, // 2: google.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.input_baselines:type_name -> google.protobuf.Value - 5, // 3: google.cloud.aiplatform.v1beta1.ExplanationMetadata.OutputMetadata.index_display_name_mapping:type_name -> google.protobuf.Value - 1, // 4: google.cloud.aiplatform.v1beta1.ExplanationMetadata.InputsEntry.value:type_name -> google.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata - 2, // 5: google.cloud.aiplatform.v1beta1.ExplanationMetadata.OutputsEntry.value:type_name -> google.cloud.aiplatform.v1beta1.ExplanationMetadata.OutputMetadata - 6, // [6:6] is the sub-list for method output_type - 6, // [6:6] is the sub-list for method input_type - 6, // [6:6] is the sub-list for extension type_name - 6, // [6:6] is the sub-list for extension extendee - 0, // [0:6] is the sub-list for field type_name + 8, // 0: google.cloud.aiplatform.v1beta1.ExplanationMetadata.inputs:type_name -> google.cloud.aiplatform.v1beta1.ExplanationMetadata.InputsEntry + 9, // 1: google.cloud.aiplatform.v1beta1.ExplanationMetadata.outputs:type_name -> google.cloud.aiplatform.v1beta1.ExplanationMetadata.OutputsEntry + 12, // 2: google.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.input_baselines:type_name -> google.protobuf.Value + 0, // 3: google.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.encoding:type_name -> google.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.Encoding + 10, // 4: google.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.feature_value_domain:type_name -> google.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.FeatureValueDomain + 12, // 5: google.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.encoded_baselines:type_name -> google.protobuf.Value + 11, // 6: google.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.visualization:type_name -> google.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.Visualization + 12, // 7: google.cloud.aiplatform.v1beta1.ExplanationMetadata.OutputMetadata.index_display_name_mapping:type_name -> google.protobuf.Value + 6, // 8: google.cloud.aiplatform.v1beta1.ExplanationMetadata.InputsEntry.value:type_name -> google.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata + 7, // 9: google.cloud.aiplatform.v1beta1.ExplanationMetadata.OutputsEntry.value:type_name -> google.cloud.aiplatform.v1beta1.ExplanationMetadata.OutputMetadata + 1, // 10: google.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.Visualization.type:type_name -> google.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.Visualization.Type + 2, // 11: google.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.Visualization.polarity:type_name -> google.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.Visualization.Polarity + 3, // 12: google.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.Visualization.color_map:type_name -> google.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.Visualization.ColorMap + 4, // 13: google.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.Visualization.overlay_type:type_name -> google.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.Visualization.OverlayType + 14, // [14:14] is the sub-list for method output_type + 14, // [14:14] is the sub-list for method input_type + 14, // [14:14] is the sub-list for extension type_name + 14, // [14:14] is the sub-list for extension extendee + 0, // [0:14] is the sub-list for field type_name } func init() { file_google_cloud_aiplatform_v1beta1_explanation_metadata_proto_init() } @@ -450,6 +1309,30 @@ func file_google_cloud_aiplatform_v1beta1_explanation_metadata_proto_init() { return nil } } + file_google_cloud_aiplatform_v1beta1_explanation_metadata_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExplanationMetadata_InputMetadata_FeatureValueDomain); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1beta1_explanation_metadata_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExplanationMetadata_InputMetadata_Visualization); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } file_google_cloud_aiplatform_v1beta1_explanation_metadata_proto_msgTypes[2].OneofWrappers = []interface{}{ (*ExplanationMetadata_OutputMetadata_IndexDisplayNameMapping)(nil), @@ -460,13 +1343,14 @@ func file_google_cloud_aiplatform_v1beta1_explanation_metadata_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_google_cloud_aiplatform_v1beta1_explanation_metadata_proto_rawDesc, - NumEnums: 0, - NumMessages: 5, + NumEnums: 5, + NumMessages: 7, NumExtensions: 0, NumServices: 0, }, GoTypes: file_google_cloud_aiplatform_v1beta1_explanation_metadata_proto_goTypes, DependencyIndexes: file_google_cloud_aiplatform_v1beta1_explanation_metadata_proto_depIdxs, + EnumInfos: file_google_cloud_aiplatform_v1beta1_explanation_metadata_proto_enumTypes, MessageInfos: file_google_cloud_aiplatform_v1beta1_explanation_metadata_proto_msgTypes, }.Build() File_google_cloud_aiplatform_v1beta1_explanation_metadata_proto = out.File diff --git a/googleapis/cloud/aiplatform/v1beta1/machine_resources.pb.go b/googleapis/cloud/aiplatform/v1beta1/machine_resources.pb.go index a54921a94..22a1f8d27 100644 --- a/googleapis/cloud/aiplatform/v1beta1/machine_resources.pb.go +++ b/googleapis/cloud/aiplatform/v1beta1/machine_resources.pb.go @@ -419,6 +419,66 @@ func (x *ResourcesConsumed) GetReplicaHours() float64 { return 0 } +// Represents the spec of disk options. +type DiskSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Type of the boot disk (default is "pd-standard"). + // Valid values: "pd-ssd" (Persistent Disk Solid State Drive) or + // "pd-standard" (Persistent Disk Hard Disk Drive). + BootDiskType string `protobuf:"bytes,1,opt,name=boot_disk_type,json=bootDiskType,proto3" json:"boot_disk_type,omitempty"` + // Size in GB of the boot disk (default is 100GB). + BootDiskSizeGb int32 `protobuf:"varint,2,opt,name=boot_disk_size_gb,json=bootDiskSizeGb,proto3" json:"boot_disk_size_gb,omitempty"` +} + +func (x *DiskSpec) Reset() { + *x = DiskSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DiskSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DiskSpec) ProtoMessage() {} + +func (x *DiskSpec) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DiskSpec.ProtoReflect.Descriptor instead. +func (*DiskSpec) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_machine_resources_proto_rawDescGZIP(), []int{5} +} + +func (x *DiskSpec) GetBootDiskType() string { + if x != nil { + return x.BootDiskType + } + return "" +} + +func (x *DiskSpec) GetBootDiskSizeGb() int32 { + if x != nil { + return x.BootDiskSizeGb + } + return 0 +} + var File_google_cloud_aiplatform_v1beta1_machine_resources_proto protoreflect.FileDescriptor var file_google_cloud_aiplatform_v1beta1_machine_resources_proto_rawDesc = []byte{ @@ -486,16 +546,22 @@ var file_google_cloud_aiplatform_v1beta1_machine_resources_proto_rawDesc = []byt 0x63, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x0d, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x68, 0x6f, 0x75, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x48, 0x6f, 0x75, 0x72, 0x73, 0x42, 0x89, 0x01, 0x0a, 0x23, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x15, 0x4d, - 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x50, - 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x49, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, - 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x48, 0x6f, 0x75, 0x72, 0x73, 0x22, 0x5b, 0x0a, 0x08, 0x44, 0x69, 0x73, 0x6b, 0x53, 0x70, 0x65, + 0x63, 0x12, 0x24, 0x0a, 0x0e, 0x62, 0x6f, 0x6f, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x62, 0x6f, 0x6f, 0x74, 0x44, + 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x29, 0x0a, 0x11, 0x62, 0x6f, 0x6f, 0x74, 0x5f, + 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x67, 0x62, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0e, 0x62, 0x6f, 0x6f, 0x74, 0x44, 0x69, 0x73, 0x6b, 0x53, 0x69, 0x7a, 0x65, + 0x47, 0x62, 0x42, 0x89, 0x01, 0x0a, 0x23, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x15, 0x4d, 0x61, 0x63, 0x68, + 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x50, 0x01, 0x5a, 0x49, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, + 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -510,17 +576,18 @@ func file_google_cloud_aiplatform_v1beta1_machine_resources_proto_rawDescGZIP() return file_google_cloud_aiplatform_v1beta1_machine_resources_proto_rawDescData } -var file_google_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_google_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes = make([]protoimpl.MessageInfo, 6) var file_google_cloud_aiplatform_v1beta1_machine_resources_proto_goTypes = []interface{}{ (*MachineSpec)(nil), // 0: google.cloud.aiplatform.v1beta1.MachineSpec (*DedicatedResources)(nil), // 1: google.cloud.aiplatform.v1beta1.DedicatedResources (*AutomaticResources)(nil), // 2: google.cloud.aiplatform.v1beta1.AutomaticResources (*BatchDedicatedResources)(nil), // 3: google.cloud.aiplatform.v1beta1.BatchDedicatedResources (*ResourcesConsumed)(nil), // 4: google.cloud.aiplatform.v1beta1.ResourcesConsumed - (AcceleratorType)(0), // 5: google.cloud.aiplatform.v1beta1.AcceleratorType + (*DiskSpec)(nil), // 5: google.cloud.aiplatform.v1beta1.DiskSpec + (AcceleratorType)(0), // 6: google.cloud.aiplatform.v1beta1.AcceleratorType } var file_google_cloud_aiplatform_v1beta1_machine_resources_proto_depIdxs = []int32{ - 5, // 0: google.cloud.aiplatform.v1beta1.MachineSpec.accelerator_type:type_name -> google.cloud.aiplatform.v1beta1.AcceleratorType + 6, // 0: google.cloud.aiplatform.v1beta1.MachineSpec.accelerator_type:type_name -> google.cloud.aiplatform.v1beta1.AcceleratorType 0, // 1: google.cloud.aiplatform.v1beta1.DedicatedResources.machine_spec:type_name -> google.cloud.aiplatform.v1beta1.MachineSpec 0, // 2: google.cloud.aiplatform.v1beta1.BatchDedicatedResources.machine_spec:type_name -> google.cloud.aiplatform.v1beta1.MachineSpec 3, // [3:3] is the sub-list for method output_type @@ -597,6 +664,18 @@ func file_google_cloud_aiplatform_v1beta1_machine_resources_proto_init() { return nil } } + file_google_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DiskSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -604,7 +683,7 @@ func file_google_cloud_aiplatform_v1beta1_machine_resources_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_google_cloud_aiplatform_v1beta1_machine_resources_proto_rawDesc, NumEnums: 0, - NumMessages: 5, + NumMessages: 6, NumExtensions: 0, NumServices: 0, }, diff --git a/googleapis/cloud/aiplatform/v1beta1/migratable_resource.pb.go b/googleapis/cloud/aiplatform/v1beta1/migratable_resource.pb.go new file mode 100644 index 000000000..4ea55eb14 --- /dev/null +++ b/googleapis/cloud/aiplatform/v1beta1/migratable_resource.pb.go @@ -0,0 +1,789 @@ +// Copyright 2020 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. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.25.0 +// protoc v3.13.0 +// source: google/cloud/aiplatform/v1beta1/migratable_resource.proto + +package aiplatform + +import ( + reflect "reflect" + sync "sync" + + proto "github.com/golang/protobuf/proto" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// This is a compile-time assertion that a sufficiently up-to-date version +// of the legacy proto package is being used. +const _ = proto.ProtoPackageIsVersion4 + +// Represents one resource that exists in automl.googleapis.com, +// datalabeling.googleapis.com or ml.googleapis.com. +type MigratableResource struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Resource: + // *MigratableResource_MlEngineModelVersion_ + // *MigratableResource_AutomlModel_ + // *MigratableResource_AutomlDataset_ + // *MigratableResource_DataLabelingDataset_ + Resource isMigratableResource_Resource `protobuf_oneof:"resource"` + // Output only. Timestamp when last migrate attempt on this MigratableResource started. + // Will not be set if there's no migrate attempt on this MigratableResource. + LastMigrateTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=last_migrate_time,json=lastMigrateTime,proto3" json:"last_migrate_time,omitempty"` + // Output only. Timestamp when this MigratableResource was last updated. + LastUpdateTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=last_update_time,json=lastUpdateTime,proto3" json:"last_update_time,omitempty"` +} + +func (x *MigratableResource) Reset() { + *x = MigratableResource{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_migratable_resource_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MigratableResource) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MigratableResource) ProtoMessage() {} + +func (x *MigratableResource) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_migratable_resource_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MigratableResource.ProtoReflect.Descriptor instead. +func (*MigratableResource) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_migratable_resource_proto_rawDescGZIP(), []int{0} +} + +func (m *MigratableResource) GetResource() isMigratableResource_Resource { + if m != nil { + return m.Resource + } + return nil +} + +func (x *MigratableResource) GetMlEngineModelVersion() *MigratableResource_MlEngineModelVersion { + if x, ok := x.GetResource().(*MigratableResource_MlEngineModelVersion_); ok { + return x.MlEngineModelVersion + } + return nil +} + +func (x *MigratableResource) GetAutomlModel() *MigratableResource_AutomlModel { + if x, ok := x.GetResource().(*MigratableResource_AutomlModel_); ok { + return x.AutomlModel + } + return nil +} + +func (x *MigratableResource) GetAutomlDataset() *MigratableResource_AutomlDataset { + if x, ok := x.GetResource().(*MigratableResource_AutomlDataset_); ok { + return x.AutomlDataset + } + return nil +} + +func (x *MigratableResource) GetDataLabelingDataset() *MigratableResource_DataLabelingDataset { + if x, ok := x.GetResource().(*MigratableResource_DataLabelingDataset_); ok { + return x.DataLabelingDataset + } + return nil +} + +func (x *MigratableResource) GetLastMigrateTime() *timestamppb.Timestamp { + if x != nil { + return x.LastMigrateTime + } + return nil +} + +func (x *MigratableResource) GetLastUpdateTime() *timestamppb.Timestamp { + if x != nil { + return x.LastUpdateTime + } + return nil +} + +type isMigratableResource_Resource interface { + isMigratableResource_Resource() +} + +type MigratableResource_MlEngineModelVersion_ struct { + // Output only. Represents one Version in ml.googleapis.com. + MlEngineModelVersion *MigratableResource_MlEngineModelVersion `protobuf:"bytes,1,opt,name=ml_engine_model_version,json=mlEngineModelVersion,proto3,oneof"` +} + +type MigratableResource_AutomlModel_ struct { + // Output only. Represents one Model in automl.googleapis.com. + AutomlModel *MigratableResource_AutomlModel `protobuf:"bytes,2,opt,name=automl_model,json=automlModel,proto3,oneof"` +} + +type MigratableResource_AutomlDataset_ struct { + // Output only. Represents one Dataset in automl.googleapis.com. + AutomlDataset *MigratableResource_AutomlDataset `protobuf:"bytes,3,opt,name=automl_dataset,json=automlDataset,proto3,oneof"` +} + +type MigratableResource_DataLabelingDataset_ struct { + // Output only. Represents one Dataset in datalabeling.googleapis.com. + DataLabelingDataset *MigratableResource_DataLabelingDataset `protobuf:"bytes,4,opt,name=data_labeling_dataset,json=dataLabelingDataset,proto3,oneof"` +} + +func (*MigratableResource_MlEngineModelVersion_) isMigratableResource_Resource() {} + +func (*MigratableResource_AutomlModel_) isMigratableResource_Resource() {} + +func (*MigratableResource_AutomlDataset_) isMigratableResource_Resource() {} + +func (*MigratableResource_DataLabelingDataset_) isMigratableResource_Resource() {} + +// Represents one model Version in ml.googleapis.com. +type MigratableResource_MlEngineModelVersion struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The ml.googleapis.com endpoint that this model Version currently lives + // in. + // Example values: + // * ml.googleapis.com + // * us-centrall-ml.googleapis.com + // * europe-west4-ml.googleapis.com + // * asia-east1-ml.googleapis.com + Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` + // Full resource name of ml engine model Version. + // Format: `projects/{project}/models/{model}/versions/{version}`. + Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` +} + +func (x *MigratableResource_MlEngineModelVersion) Reset() { + *x = MigratableResource_MlEngineModelVersion{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_migratable_resource_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MigratableResource_MlEngineModelVersion) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MigratableResource_MlEngineModelVersion) ProtoMessage() {} + +func (x *MigratableResource_MlEngineModelVersion) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_migratable_resource_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MigratableResource_MlEngineModelVersion.ProtoReflect.Descriptor instead. +func (*MigratableResource_MlEngineModelVersion) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_migratable_resource_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *MigratableResource_MlEngineModelVersion) GetEndpoint() string { + if x != nil { + return x.Endpoint + } + return "" +} + +func (x *MigratableResource_MlEngineModelVersion) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +// Represents one Model in automl.googleapis.com. +type MigratableResource_AutomlModel struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Full resource name of automl Model. + // Format: + // `projects/{project}/locations/{location}/models/{model}`. + Model string `protobuf:"bytes,1,opt,name=model,proto3" json:"model,omitempty"` + // The Model's display name in automl.googleapis.com. + ModelDisplayName string `protobuf:"bytes,3,opt,name=model_display_name,json=modelDisplayName,proto3" json:"model_display_name,omitempty"` +} + +func (x *MigratableResource_AutomlModel) Reset() { + *x = MigratableResource_AutomlModel{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_migratable_resource_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MigratableResource_AutomlModel) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MigratableResource_AutomlModel) ProtoMessage() {} + +func (x *MigratableResource_AutomlModel) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_migratable_resource_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MigratableResource_AutomlModel.ProtoReflect.Descriptor instead. +func (*MigratableResource_AutomlModel) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_migratable_resource_proto_rawDescGZIP(), []int{0, 1} +} + +func (x *MigratableResource_AutomlModel) GetModel() string { + if x != nil { + return x.Model + } + return "" +} + +func (x *MigratableResource_AutomlModel) GetModelDisplayName() string { + if x != nil { + return x.ModelDisplayName + } + return "" +} + +// Represents one Dataset in automl.googleapis.com. +type MigratableResource_AutomlDataset struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Full resource name of automl Dataset. + // Format: + // `projects/{project}/locations/{location}/datasets/{dataset}`. + Dataset string `protobuf:"bytes,1,opt,name=dataset,proto3" json:"dataset,omitempty"` + // The Dataset's display name in automl.googleapis.com. + DatasetDisplayName string `protobuf:"bytes,4,opt,name=dataset_display_name,json=datasetDisplayName,proto3" json:"dataset_display_name,omitempty"` +} + +func (x *MigratableResource_AutomlDataset) Reset() { + *x = MigratableResource_AutomlDataset{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_migratable_resource_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MigratableResource_AutomlDataset) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MigratableResource_AutomlDataset) ProtoMessage() {} + +func (x *MigratableResource_AutomlDataset) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_migratable_resource_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MigratableResource_AutomlDataset.ProtoReflect.Descriptor instead. +func (*MigratableResource_AutomlDataset) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_migratable_resource_proto_rawDescGZIP(), []int{0, 2} +} + +func (x *MigratableResource_AutomlDataset) GetDataset() string { + if x != nil { + return x.Dataset + } + return "" +} + +func (x *MigratableResource_AutomlDataset) GetDatasetDisplayName() string { + if x != nil { + return x.DatasetDisplayName + } + return "" +} + +// Represents one Dataset in datalabeling.googleapis.com. +type MigratableResource_DataLabelingDataset struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Full resource name of data labeling Dataset. + // Format: + // `projects/{project}/datasets/{dataset}`. + Dataset string `protobuf:"bytes,1,opt,name=dataset,proto3" json:"dataset,omitempty"` + // The Dataset's display name in datalabeling.googleapis.com. + DatasetDisplayName string `protobuf:"bytes,4,opt,name=dataset_display_name,json=datasetDisplayName,proto3" json:"dataset_display_name,omitempty"` + // The migratable AnnotatedDataset in datalabeling.googleapis.com belongs to + // the data labeling Dataset. + DataLabelingAnnotatedDatasets []*MigratableResource_DataLabelingDataset_DataLabelingAnnotatedDataset `protobuf:"bytes,3,rep,name=data_labeling_annotated_datasets,json=dataLabelingAnnotatedDatasets,proto3" json:"data_labeling_annotated_datasets,omitempty"` +} + +func (x *MigratableResource_DataLabelingDataset) Reset() { + *x = MigratableResource_DataLabelingDataset{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_migratable_resource_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MigratableResource_DataLabelingDataset) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MigratableResource_DataLabelingDataset) ProtoMessage() {} + +func (x *MigratableResource_DataLabelingDataset) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_migratable_resource_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MigratableResource_DataLabelingDataset.ProtoReflect.Descriptor instead. +func (*MigratableResource_DataLabelingDataset) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_migratable_resource_proto_rawDescGZIP(), []int{0, 3} +} + +func (x *MigratableResource_DataLabelingDataset) GetDataset() string { + if x != nil { + return x.Dataset + } + return "" +} + +func (x *MigratableResource_DataLabelingDataset) GetDatasetDisplayName() string { + if x != nil { + return x.DatasetDisplayName + } + return "" +} + +func (x *MigratableResource_DataLabelingDataset) GetDataLabelingAnnotatedDatasets() []*MigratableResource_DataLabelingDataset_DataLabelingAnnotatedDataset { + if x != nil { + return x.DataLabelingAnnotatedDatasets + } + return nil +} + +// Represents one AnnotatedDataset in datalabeling.googleapis.com. +type MigratableResource_DataLabelingDataset_DataLabelingAnnotatedDataset struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Full resource name of data labeling AnnotatedDataset. + // Format: + // + // `projects/{project}/datasets/{dataset}/annotatedDatasets/{annotated_dataset}`. + AnnotatedDataset string `protobuf:"bytes,1,opt,name=annotated_dataset,json=annotatedDataset,proto3" json:"annotated_dataset,omitempty"` + // The AnnotatedDataset's display name in datalabeling.googleapis.com. + AnnotatedDatasetDisplayName string `protobuf:"bytes,3,opt,name=annotated_dataset_display_name,json=annotatedDatasetDisplayName,proto3" json:"annotated_dataset_display_name,omitempty"` +} + +func (x *MigratableResource_DataLabelingDataset_DataLabelingAnnotatedDataset) Reset() { + *x = MigratableResource_DataLabelingDataset_DataLabelingAnnotatedDataset{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_migratable_resource_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MigratableResource_DataLabelingDataset_DataLabelingAnnotatedDataset) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MigratableResource_DataLabelingDataset_DataLabelingAnnotatedDataset) ProtoMessage() {} + +func (x *MigratableResource_DataLabelingDataset_DataLabelingAnnotatedDataset) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_migratable_resource_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MigratableResource_DataLabelingDataset_DataLabelingAnnotatedDataset.ProtoReflect.Descriptor instead. +func (*MigratableResource_DataLabelingDataset_DataLabelingAnnotatedDataset) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_migratable_resource_proto_rawDescGZIP(), []int{0, 3, 0} +} + +func (x *MigratableResource_DataLabelingDataset_DataLabelingAnnotatedDataset) GetAnnotatedDataset() string { + if x != nil { + return x.AnnotatedDataset + } + return "" +} + +func (x *MigratableResource_DataLabelingDataset_DataLabelingAnnotatedDataset) GetAnnotatedDatasetDisplayName() string { + if x != nil { + return x.AnnotatedDatasetDisplayName + } + return "" +} + +var File_google_cloud_aiplatform_v1beta1_migratable_resource_proto protoreflect.FileDescriptor + +var file_google_cloud_aiplatform_v1beta1_migratable_resource_proto_rawDesc = []byte{ + 0x0a, 0x39, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1f, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x1f, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, + 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8a, 0x0c, 0x0a, 0x12, 0x4d, 0x69, 0x67, 0x72, + 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x86, + 0x01, 0x0a, 0x17, 0x6d, 0x6c, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6d, 0x6f, 0x64, + 0x65, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x48, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x4d, 0x6c, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4d, 0x6f, + 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, + 0x00, 0x52, 0x14, 0x6d, 0x6c, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x69, 0x0a, 0x0c, 0x61, 0x75, 0x74, 0x6f, 0x6d, + 0x6c, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x6c, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x0b, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x6c, 0x4d, 0x6f, 0x64, + 0x65, 0x6c, 0x12, 0x6f, 0x0a, 0x0e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x6c, 0x5f, 0x64, 0x61, 0x74, + 0x61, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x69, 0x67, + 0x72, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, + 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x48, 0x00, 0x52, 0x0d, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x6c, 0x44, 0x61, 0x74, 0x61, + 0x73, 0x65, 0x74, 0x12, 0x82, 0x01, 0x0a, 0x15, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x61, 0x62, + 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x48, 0x00, 0x52, 0x13, 0x64, 0x61, 0x74, 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, + 0x67, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0x4b, 0x0a, 0x11, 0x6c, 0x61, 0x73, 0x74, + 0x5f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, + 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x49, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, + 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, + 0x1a, 0x6c, 0x0a, 0x14, 0x4d, 0x6c, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4d, 0x6f, 0x64, 0x65, + 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1e, 0xfa, 0x41, 0x1b, 0x0a, 0x19, 0x6d, 0x6c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x73, + 0x0a, 0x0b, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x6c, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x36, 0x0a, + 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x20, 0xfa, 0x41, + 0x1d, 0x0a, 0x1b, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x05, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x2c, 0x0a, 0x12, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x64, + 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x10, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, + 0x61, 0x6d, 0x65, 0x1a, 0x7f, 0x0a, 0x0d, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x6c, 0x44, 0x61, 0x74, + 0x61, 0x73, 0x65, 0x74, 0x12, 0x3c, 0x0a, 0x07, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x22, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x61, 0x75, 0x74, 0x6f, + 0x6d, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x07, 0x64, 0x61, 0x74, 0x61, 0x73, + 0x65, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x5f, 0x64, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x12, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, + 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x81, 0x04, 0x0a, 0x13, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x61, 0x62, + 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0x42, 0x0a, 0x07, + 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x28, 0xfa, + 0x41, 0x25, 0x0a, 0x23, 0x64, 0x61, 0x74, 0x61, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x07, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, + 0x12, 0x30, 0x0a, 0x14, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x70, + 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, + 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0xad, 0x01, 0x0a, 0x20, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x61, 0x62, 0x65, + 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, + 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x64, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x44, + 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, + 0x69, 0x6e, 0x67, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, + 0x73, 0x65, 0x74, 0x52, 0x1d, 0x64, 0x61, 0x74, 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, + 0x67, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, + 0x74, 0x73, 0x1a, 0xc3, 0x01, 0x0a, 0x1c, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, + 0x69, 0x6e, 0x67, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, + 0x73, 0x65, 0x74, 0x12, 0x5e, 0x0a, 0x11, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, + 0xfa, 0x41, 0x2e, 0x0a, 0x2c, 0x64, 0x61, 0x74, 0x61, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, + 0x67, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, + 0x74, 0x52, 0x10, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, + 0x73, 0x65, 0x74, 0x12, 0x43, 0x0a, 0x1e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1b, 0x61, 0x6e, 0x6e, + 0x6f, 0x74, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x44, 0x69, 0x73, + 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x42, 0xe2, 0x04, 0x0a, 0x23, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x17, 0x4d, 0x69, + 0x67, 0x72, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x49, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0xea, 0x41, 0x51, 0x0a, 0x19, 0x6d, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x12, 0x34, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, + 0x65, 0x6c, 0x7d, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x7d, 0xea, 0x41, 0x55, 0x0a, 0x1b, 0x61, 0x75, 0x74, 0x6f, 0x6d, + 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x36, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x7d, 0xea, 0x41, + 0x5b, 0x0a, 0x1d, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, + 0x12, 0x3a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, + 0x74, 0x73, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x7d, 0xea, 0x41, 0x4c, 0x0a, + 0x23, 0x64, 0x61, 0x74, 0x61, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, + 0x61, 0x73, 0x65, 0x74, 0x12, 0x25, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, + 0x73, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x7d, 0xea, 0x41, 0x7b, 0x0a, 0x2c, + 0x64, 0x61, 0x74, 0x61, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x6e, 0x6e, 0x6f, + 0x74, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0x4b, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, + 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x73, + 0x65, 0x74, 0x7d, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, + 0x61, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x7d, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, +} + +var ( + file_google_cloud_aiplatform_v1beta1_migratable_resource_proto_rawDescOnce sync.Once + file_google_cloud_aiplatform_v1beta1_migratable_resource_proto_rawDescData = file_google_cloud_aiplatform_v1beta1_migratable_resource_proto_rawDesc +) + +func file_google_cloud_aiplatform_v1beta1_migratable_resource_proto_rawDescGZIP() []byte { + file_google_cloud_aiplatform_v1beta1_migratable_resource_proto_rawDescOnce.Do(func() { + file_google_cloud_aiplatform_v1beta1_migratable_resource_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_aiplatform_v1beta1_migratable_resource_proto_rawDescData) + }) + return file_google_cloud_aiplatform_v1beta1_migratable_resource_proto_rawDescData +} + +var file_google_cloud_aiplatform_v1beta1_migratable_resource_proto_msgTypes = make([]protoimpl.MessageInfo, 6) +var file_google_cloud_aiplatform_v1beta1_migratable_resource_proto_goTypes = []interface{}{ + (*MigratableResource)(nil), // 0: google.cloud.aiplatform.v1beta1.MigratableResource + (*MigratableResource_MlEngineModelVersion)(nil), // 1: google.cloud.aiplatform.v1beta1.MigratableResource.MlEngineModelVersion + (*MigratableResource_AutomlModel)(nil), // 2: google.cloud.aiplatform.v1beta1.MigratableResource.AutomlModel + (*MigratableResource_AutomlDataset)(nil), // 3: google.cloud.aiplatform.v1beta1.MigratableResource.AutomlDataset + (*MigratableResource_DataLabelingDataset)(nil), // 4: google.cloud.aiplatform.v1beta1.MigratableResource.DataLabelingDataset + (*MigratableResource_DataLabelingDataset_DataLabelingAnnotatedDataset)(nil), // 5: google.cloud.aiplatform.v1beta1.MigratableResource.DataLabelingDataset.DataLabelingAnnotatedDataset + (*timestamppb.Timestamp)(nil), // 6: google.protobuf.Timestamp +} +var file_google_cloud_aiplatform_v1beta1_migratable_resource_proto_depIdxs = []int32{ + 1, // 0: google.cloud.aiplatform.v1beta1.MigratableResource.ml_engine_model_version:type_name -> google.cloud.aiplatform.v1beta1.MigratableResource.MlEngineModelVersion + 2, // 1: google.cloud.aiplatform.v1beta1.MigratableResource.automl_model:type_name -> google.cloud.aiplatform.v1beta1.MigratableResource.AutomlModel + 3, // 2: google.cloud.aiplatform.v1beta1.MigratableResource.automl_dataset:type_name -> google.cloud.aiplatform.v1beta1.MigratableResource.AutomlDataset + 4, // 3: google.cloud.aiplatform.v1beta1.MigratableResource.data_labeling_dataset:type_name -> google.cloud.aiplatform.v1beta1.MigratableResource.DataLabelingDataset + 6, // 4: google.cloud.aiplatform.v1beta1.MigratableResource.last_migrate_time:type_name -> google.protobuf.Timestamp + 6, // 5: google.cloud.aiplatform.v1beta1.MigratableResource.last_update_time:type_name -> google.protobuf.Timestamp + 5, // 6: google.cloud.aiplatform.v1beta1.MigratableResource.DataLabelingDataset.data_labeling_annotated_datasets:type_name -> google.cloud.aiplatform.v1beta1.MigratableResource.DataLabelingDataset.DataLabelingAnnotatedDataset + 7, // [7:7] is the sub-list for method output_type + 7, // [7:7] is the sub-list for method input_type + 7, // [7:7] is the sub-list for extension type_name + 7, // [7:7] is the sub-list for extension extendee + 0, // [0:7] is the sub-list for field type_name +} + +func init() { file_google_cloud_aiplatform_v1beta1_migratable_resource_proto_init() } +func file_google_cloud_aiplatform_v1beta1_migratable_resource_proto_init() { + if File_google_cloud_aiplatform_v1beta1_migratable_resource_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_google_cloud_aiplatform_v1beta1_migratable_resource_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MigratableResource); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1beta1_migratable_resource_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MigratableResource_MlEngineModelVersion); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1beta1_migratable_resource_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MigratableResource_AutomlModel); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1beta1_migratable_resource_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MigratableResource_AutomlDataset); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1beta1_migratable_resource_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MigratableResource_DataLabelingDataset); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1beta1_migratable_resource_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MigratableResource_DataLabelingDataset_DataLabelingAnnotatedDataset); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_google_cloud_aiplatform_v1beta1_migratable_resource_proto_msgTypes[0].OneofWrappers = []interface{}{ + (*MigratableResource_MlEngineModelVersion_)(nil), + (*MigratableResource_AutomlModel_)(nil), + (*MigratableResource_AutomlDataset_)(nil), + (*MigratableResource_DataLabelingDataset_)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_aiplatform_v1beta1_migratable_resource_proto_rawDesc, + NumEnums: 0, + NumMessages: 6, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_aiplatform_v1beta1_migratable_resource_proto_goTypes, + DependencyIndexes: file_google_cloud_aiplatform_v1beta1_migratable_resource_proto_depIdxs, + MessageInfos: file_google_cloud_aiplatform_v1beta1_migratable_resource_proto_msgTypes, + }.Build() + File_google_cloud_aiplatform_v1beta1_migratable_resource_proto = out.File + file_google_cloud_aiplatform_v1beta1_migratable_resource_proto_rawDesc = nil + file_google_cloud_aiplatform_v1beta1_migratable_resource_proto_goTypes = nil + file_google_cloud_aiplatform_v1beta1_migratable_resource_proto_depIdxs = nil +} diff --git a/googleapis/cloud/aiplatform/v1beta1/migration_service.pb.go b/googleapis/cloud/aiplatform/v1beta1/migration_service.pb.go new file mode 100644 index 000000000..98b4dba81 --- /dev/null +++ b/googleapis/cloud/aiplatform/v1beta1/migration_service.pb.go @@ -0,0 +1,1508 @@ +// Copyright 2020 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. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.25.0 +// protoc v3.13.0 +// source: google/cloud/aiplatform/v1beta1/migration_service.proto + +package aiplatform + +import ( + context "context" + reflect "reflect" + sync "sync" + + proto "github.com/golang/protobuf/proto" + _ "google.golang.org/genproto/googleapis/api/annotations" + longrunning "google.golang.org/genproto/googleapis/longrunning" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// This is a compile-time assertion that a sufficiently up-to-date version +// of the legacy proto package is being used. +const _ = proto.ProtoPackageIsVersion4 + +// Request message for [MigrationService.SearchMigratableResources][google.cloud.aiplatform.v1beta1.MigrationService.SearchMigratableResources]. +type SearchMigratableResourcesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The location that the migratable resources should be searched from. + // It's the AI Platform location that the resources can be migrated to, not + // the resources' original location. + // Format: + // `projects/{project}/locations/{location}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // The standard page size. + // The default and maximum value is 100. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // The standard page token. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` +} + +func (x *SearchMigratableResourcesRequest) Reset() { + *x = SearchMigratableResourcesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SearchMigratableResourcesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SearchMigratableResourcesRequest) ProtoMessage() {} + +func (x *SearchMigratableResourcesRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SearchMigratableResourcesRequest.ProtoReflect.Descriptor instead. +func (*SearchMigratableResourcesRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_migration_service_proto_rawDescGZIP(), []int{0} +} + +func (x *SearchMigratableResourcesRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *SearchMigratableResourcesRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *SearchMigratableResourcesRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +// Response message for [MigrationService.SearchMigratableResources][google.cloud.aiplatform.v1beta1.MigrationService.SearchMigratableResources]. +type SearchMigratableResourcesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // All migratable resources that can be migrated to the + // location specified in the request. + MigratableResources []*MigratableResource `protobuf:"bytes,1,rep,name=migratable_resources,json=migratableResources,proto3" json:"migratable_resources,omitempty"` + // The standard next-page token. + // The migratable_resources may not fill page_size in + // SearchMigratableResourcesRequest even when there are subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *SearchMigratableResourcesResponse) Reset() { + *x = SearchMigratableResourcesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SearchMigratableResourcesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SearchMigratableResourcesResponse) ProtoMessage() {} + +func (x *SearchMigratableResourcesResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SearchMigratableResourcesResponse.ProtoReflect.Descriptor instead. +func (*SearchMigratableResourcesResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_migration_service_proto_rawDescGZIP(), []int{1} +} + +func (x *SearchMigratableResourcesResponse) GetMigratableResources() []*MigratableResource { + if x != nil { + return x.MigratableResources + } + return nil +} + +func (x *SearchMigratableResourcesResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for [MigrationService.BatchMigrateResources][google.cloud.aiplatform.v1beta1.MigrationService.BatchMigrateResources]. +type BatchMigrateResourcesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The location of the migrated resource will live in. + // Format: `projects/{project}/locations/{location}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The request messages specifying the resources to migrate. + // They must be in the same location as the destination. + // Up to 50 resources can be migrated in one batch. + MigrateResourceRequests []*MigrateResourceRequest `protobuf:"bytes,2,rep,name=migrate_resource_requests,json=migrateResourceRequests,proto3" json:"migrate_resource_requests,omitempty"` +} + +func (x *BatchMigrateResourcesRequest) Reset() { + *x = BatchMigrateResourcesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BatchMigrateResourcesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchMigrateResourcesRequest) ProtoMessage() {} + +func (x *BatchMigrateResourcesRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BatchMigrateResourcesRequest.ProtoReflect.Descriptor instead. +func (*BatchMigrateResourcesRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_migration_service_proto_rawDescGZIP(), []int{2} +} + +func (x *BatchMigrateResourcesRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *BatchMigrateResourcesRequest) GetMigrateResourceRequests() []*MigrateResourceRequest { + if x != nil { + return x.MigrateResourceRequests + } + return nil +} + +// Config of migrating one resource from automl.googleapis.com, +// datalabeling.googleapis.com and ml.googleapis.com to AI Platform. +type MigrateResourceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Request: + // *MigrateResourceRequest_MigrateMlEngineModelVersionConfig_ + // *MigrateResourceRequest_MigrateAutomlModelConfig_ + // *MigrateResourceRequest_MigrateAutomlDatasetConfig_ + // *MigrateResourceRequest_MigrateDataLabelingDatasetConfig_ + Request isMigrateResourceRequest_Request `protobuf_oneof:"request"` +} + +func (x *MigrateResourceRequest) Reset() { + *x = MigrateResourceRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MigrateResourceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MigrateResourceRequest) ProtoMessage() {} + +func (x *MigrateResourceRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MigrateResourceRequest.ProtoReflect.Descriptor instead. +func (*MigrateResourceRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_migration_service_proto_rawDescGZIP(), []int{3} +} + +func (m *MigrateResourceRequest) GetRequest() isMigrateResourceRequest_Request { + if m != nil { + return m.Request + } + return nil +} + +func (x *MigrateResourceRequest) GetMigrateMlEngineModelVersionConfig() *MigrateResourceRequest_MigrateMlEngineModelVersionConfig { + if x, ok := x.GetRequest().(*MigrateResourceRequest_MigrateMlEngineModelVersionConfig_); ok { + return x.MigrateMlEngineModelVersionConfig + } + return nil +} + +func (x *MigrateResourceRequest) GetMigrateAutomlModelConfig() *MigrateResourceRequest_MigrateAutomlModelConfig { + if x, ok := x.GetRequest().(*MigrateResourceRequest_MigrateAutomlModelConfig_); ok { + return x.MigrateAutomlModelConfig + } + return nil +} + +func (x *MigrateResourceRequest) GetMigrateAutomlDatasetConfig() *MigrateResourceRequest_MigrateAutomlDatasetConfig { + if x, ok := x.GetRequest().(*MigrateResourceRequest_MigrateAutomlDatasetConfig_); ok { + return x.MigrateAutomlDatasetConfig + } + return nil +} + +func (x *MigrateResourceRequest) GetMigrateDataLabelingDatasetConfig() *MigrateResourceRequest_MigrateDataLabelingDatasetConfig { + if x, ok := x.GetRequest().(*MigrateResourceRequest_MigrateDataLabelingDatasetConfig_); ok { + return x.MigrateDataLabelingDatasetConfig + } + return nil +} + +type isMigrateResourceRequest_Request interface { + isMigrateResourceRequest_Request() +} + +type MigrateResourceRequest_MigrateMlEngineModelVersionConfig_ struct { + // Config for migrating Version in ml.googleapis.com to AI Platform's Model. + MigrateMlEngineModelVersionConfig *MigrateResourceRequest_MigrateMlEngineModelVersionConfig `protobuf:"bytes,1,opt,name=migrate_ml_engine_model_version_config,json=migrateMlEngineModelVersionConfig,proto3,oneof"` +} + +type MigrateResourceRequest_MigrateAutomlModelConfig_ struct { + // Config for migrating Model in automl.googleapis.com to AI Platform's + // Model. + MigrateAutomlModelConfig *MigrateResourceRequest_MigrateAutomlModelConfig `protobuf:"bytes,2,opt,name=migrate_automl_model_config,json=migrateAutomlModelConfig,proto3,oneof"` +} + +type MigrateResourceRequest_MigrateAutomlDatasetConfig_ struct { + // Config for migrating Dataset in automl.googleapis.com to AI Platform's + // Dataset. + MigrateAutomlDatasetConfig *MigrateResourceRequest_MigrateAutomlDatasetConfig `protobuf:"bytes,3,opt,name=migrate_automl_dataset_config,json=migrateAutomlDatasetConfig,proto3,oneof"` +} + +type MigrateResourceRequest_MigrateDataLabelingDatasetConfig_ struct { + // Config for migrating Dataset in datalabeling.googleapis.com to + // AI Platform's Dataset. + MigrateDataLabelingDatasetConfig *MigrateResourceRequest_MigrateDataLabelingDatasetConfig `protobuf:"bytes,4,opt,name=migrate_data_labeling_dataset_config,json=migrateDataLabelingDatasetConfig,proto3,oneof"` +} + +func (*MigrateResourceRequest_MigrateMlEngineModelVersionConfig_) isMigrateResourceRequest_Request() { +} + +func (*MigrateResourceRequest_MigrateAutomlModelConfig_) isMigrateResourceRequest_Request() {} + +func (*MigrateResourceRequest_MigrateAutomlDatasetConfig_) isMigrateResourceRequest_Request() {} + +func (*MigrateResourceRequest_MigrateDataLabelingDatasetConfig_) isMigrateResourceRequest_Request() {} + +// Response message for [MigrationService.BatchMigrateResources][google.cloud.aiplatform.v1beta1.MigrationService.BatchMigrateResources]. +type BatchMigrateResourcesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Successfully migrated resources. + MigrateResourceResponses []*MigrateResourceResponse `protobuf:"bytes,1,rep,name=migrate_resource_responses,json=migrateResourceResponses,proto3" json:"migrate_resource_responses,omitempty"` +} + +func (x *BatchMigrateResourcesResponse) Reset() { + *x = BatchMigrateResourcesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BatchMigrateResourcesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchMigrateResourcesResponse) ProtoMessage() {} + +func (x *BatchMigrateResourcesResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BatchMigrateResourcesResponse.ProtoReflect.Descriptor instead. +func (*BatchMigrateResourcesResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_migration_service_proto_rawDescGZIP(), []int{4} +} + +func (x *BatchMigrateResourcesResponse) GetMigrateResourceResponses() []*MigrateResourceResponse { + if x != nil { + return x.MigrateResourceResponses + } + return nil +} + +// Describes a successfully migrated resource. +type MigrateResourceResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // After migration, the resource name in AI Platform. + // + // Types that are assignable to MigratedResource: + // *MigrateResourceResponse_Dataset + // *MigrateResourceResponse_Model + MigratedResource isMigrateResourceResponse_MigratedResource `protobuf_oneof:"migrated_resource"` + // Before migration, the identifier in ml.googleapis.com, + // automl.googleapis.com or datalabeling.googleapis.com. + MigratableResource *MigratableResource `protobuf:"bytes,3,opt,name=migratable_resource,json=migratableResource,proto3" json:"migratable_resource,omitempty"` +} + +func (x *MigrateResourceResponse) Reset() { + *x = MigrateResourceResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MigrateResourceResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MigrateResourceResponse) ProtoMessage() {} + +func (x *MigrateResourceResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MigrateResourceResponse.ProtoReflect.Descriptor instead. +func (*MigrateResourceResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_migration_service_proto_rawDescGZIP(), []int{5} +} + +func (m *MigrateResourceResponse) GetMigratedResource() isMigrateResourceResponse_MigratedResource { + if m != nil { + return m.MigratedResource + } + return nil +} + +func (x *MigrateResourceResponse) GetDataset() string { + if x, ok := x.GetMigratedResource().(*MigrateResourceResponse_Dataset); ok { + return x.Dataset + } + return "" +} + +func (x *MigrateResourceResponse) GetModel() string { + if x, ok := x.GetMigratedResource().(*MigrateResourceResponse_Model); ok { + return x.Model + } + return "" +} + +func (x *MigrateResourceResponse) GetMigratableResource() *MigratableResource { + if x != nil { + return x.MigratableResource + } + return nil +} + +type isMigrateResourceResponse_MigratedResource interface { + isMigrateResourceResponse_MigratedResource() +} + +type MigrateResourceResponse_Dataset struct { + // Migrated Dataset's resource name. + Dataset string `protobuf:"bytes,1,opt,name=dataset,proto3,oneof"` +} + +type MigrateResourceResponse_Model struct { + // Migrated Model's resource name. + Model string `protobuf:"bytes,2,opt,name=model,proto3,oneof"` +} + +func (*MigrateResourceResponse_Dataset) isMigrateResourceResponse_MigratedResource() {} + +func (*MigrateResourceResponse_Model) isMigrateResourceResponse_MigratedResource() {} + +// Runtime operation information for [MigrationService.BatchMigrateResources][google.cloud.aiplatform.v1beta1.MigrationService.BatchMigrateResources]. +type BatchMigrateResourcesOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The common part of the operation metadata. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` +} + +func (x *BatchMigrateResourcesOperationMetadata) Reset() { + *x = BatchMigrateResourcesOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BatchMigrateResourcesOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchMigrateResourcesOperationMetadata) ProtoMessage() {} + +func (x *BatchMigrateResourcesOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BatchMigrateResourcesOperationMetadata.ProtoReflect.Descriptor instead. +func (*BatchMigrateResourcesOperationMetadata) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_migration_service_proto_rawDescGZIP(), []int{6} +} + +func (x *BatchMigrateResourcesOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +// Config for migrating version in ml.googleapis.com to AI Platform's Model. +type MigrateResourceRequest_MigrateMlEngineModelVersionConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The ml.googleapis.com endpoint that this model version should be migrated + // from. + // Example values: + // + // * ml.googleapis.com + // + // * us-centrall-ml.googleapis.com + // + // * europe-west4-ml.googleapis.com + // + // * asia-east1-ml.googleapis.com + Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` + // Required. Full resource name of ml engine model version. + // Format: `projects/{project}/models/{model}/versions/{version}`. + ModelVersion string `protobuf:"bytes,2,opt,name=model_version,json=modelVersion,proto3" json:"model_version,omitempty"` + // Required. Display name of the model in AI Platform. + // System will pick a display name if unspecified. + ModelDisplayName string `protobuf:"bytes,3,opt,name=model_display_name,json=modelDisplayName,proto3" json:"model_display_name,omitempty"` +} + +func (x *MigrateResourceRequest_MigrateMlEngineModelVersionConfig) Reset() { + *x = MigrateResourceRequest_MigrateMlEngineModelVersionConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MigrateResourceRequest_MigrateMlEngineModelVersionConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MigrateResourceRequest_MigrateMlEngineModelVersionConfig) ProtoMessage() {} + +func (x *MigrateResourceRequest_MigrateMlEngineModelVersionConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MigrateResourceRequest_MigrateMlEngineModelVersionConfig.ProtoReflect.Descriptor instead. +func (*MigrateResourceRequest_MigrateMlEngineModelVersionConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_migration_service_proto_rawDescGZIP(), []int{3, 0} +} + +func (x *MigrateResourceRequest_MigrateMlEngineModelVersionConfig) GetEndpoint() string { + if x != nil { + return x.Endpoint + } + return "" +} + +func (x *MigrateResourceRequest_MigrateMlEngineModelVersionConfig) GetModelVersion() string { + if x != nil { + return x.ModelVersion + } + return "" +} + +func (x *MigrateResourceRequest_MigrateMlEngineModelVersionConfig) GetModelDisplayName() string { + if x != nil { + return x.ModelDisplayName + } + return "" +} + +// Config for migrating Model in automl.googleapis.com to AI Platform's Model. +type MigrateResourceRequest_MigrateAutomlModelConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Full resource name of automl Model. + // Format: + // `projects/{project}/locations/{location}/models/{model}`. + Model string `protobuf:"bytes,1,opt,name=model,proto3" json:"model,omitempty"` + // Optional. Display name of the model in AI Platform. + // System will pick a display name if unspecified. + ModelDisplayName string `protobuf:"bytes,2,opt,name=model_display_name,json=modelDisplayName,proto3" json:"model_display_name,omitempty"` +} + +func (x *MigrateResourceRequest_MigrateAutomlModelConfig) Reset() { + *x = MigrateResourceRequest_MigrateAutomlModelConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MigrateResourceRequest_MigrateAutomlModelConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MigrateResourceRequest_MigrateAutomlModelConfig) ProtoMessage() {} + +func (x *MigrateResourceRequest_MigrateAutomlModelConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MigrateResourceRequest_MigrateAutomlModelConfig.ProtoReflect.Descriptor instead. +func (*MigrateResourceRequest_MigrateAutomlModelConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_migration_service_proto_rawDescGZIP(), []int{3, 1} +} + +func (x *MigrateResourceRequest_MigrateAutomlModelConfig) GetModel() string { + if x != nil { + return x.Model + } + return "" +} + +func (x *MigrateResourceRequest_MigrateAutomlModelConfig) GetModelDisplayName() string { + if x != nil { + return x.ModelDisplayName + } + return "" +} + +// Config for migrating Dataset in automl.googleapis.com to AI Platform's +// Dataset. +type MigrateResourceRequest_MigrateAutomlDatasetConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Full resource name of automl Dataset. + // Format: + // `projects/{project}/locations/{location}/datasets/{dataset}`. + Dataset string `protobuf:"bytes,1,opt,name=dataset,proto3" json:"dataset,omitempty"` + // Required. Display name of the Dataset in AI Platform. + // System will pick a display name if unspecified. + DatasetDisplayName string `protobuf:"bytes,2,opt,name=dataset_display_name,json=datasetDisplayName,proto3" json:"dataset_display_name,omitempty"` +} + +func (x *MigrateResourceRequest_MigrateAutomlDatasetConfig) Reset() { + *x = MigrateResourceRequest_MigrateAutomlDatasetConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MigrateResourceRequest_MigrateAutomlDatasetConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MigrateResourceRequest_MigrateAutomlDatasetConfig) ProtoMessage() {} + +func (x *MigrateResourceRequest_MigrateAutomlDatasetConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MigrateResourceRequest_MigrateAutomlDatasetConfig.ProtoReflect.Descriptor instead. +func (*MigrateResourceRequest_MigrateAutomlDatasetConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_migration_service_proto_rawDescGZIP(), []int{3, 2} +} + +func (x *MigrateResourceRequest_MigrateAutomlDatasetConfig) GetDataset() string { + if x != nil { + return x.Dataset + } + return "" +} + +func (x *MigrateResourceRequest_MigrateAutomlDatasetConfig) GetDatasetDisplayName() string { + if x != nil { + return x.DatasetDisplayName + } + return "" +} + +// Config for migrating Dataset in datalabeling.googleapis.com to AI +// Platform's Dataset. +type MigrateResourceRequest_MigrateDataLabelingDatasetConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Full resource name of data labeling Dataset. + // Format: + // `projects/{project}/datasets/{dataset}`. + Dataset string `protobuf:"bytes,1,opt,name=dataset,proto3" json:"dataset,omitempty"` + // Optional. Display name of the Dataset in AI Platform. + // System will pick a display name if unspecified. + DatasetDisplayName string `protobuf:"bytes,2,opt,name=dataset_display_name,json=datasetDisplayName,proto3" json:"dataset_display_name,omitempty"` + // Optional. Configs for migrating AnnotatedDataset in datalabeling.googleapis.com to + // AI Platform's SavedQuery. The specified AnnotatedDatasets have to belong + // to the datalabeling Dataset. + MigrateDataLabelingAnnotatedDatasetConfigs []*MigrateResourceRequest_MigrateDataLabelingDatasetConfig_MigrateDataLabelingAnnotatedDatasetConfig `protobuf:"bytes,3,rep,name=migrate_data_labeling_annotated_dataset_configs,json=migrateDataLabelingAnnotatedDatasetConfigs,proto3" json:"migrate_data_labeling_annotated_dataset_configs,omitempty"` +} + +func (x *MigrateResourceRequest_MigrateDataLabelingDatasetConfig) Reset() { + *x = MigrateResourceRequest_MigrateDataLabelingDatasetConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MigrateResourceRequest_MigrateDataLabelingDatasetConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MigrateResourceRequest_MigrateDataLabelingDatasetConfig) ProtoMessage() {} + +func (x *MigrateResourceRequest_MigrateDataLabelingDatasetConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MigrateResourceRequest_MigrateDataLabelingDatasetConfig.ProtoReflect.Descriptor instead. +func (*MigrateResourceRequest_MigrateDataLabelingDatasetConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_migration_service_proto_rawDescGZIP(), []int{3, 3} +} + +func (x *MigrateResourceRequest_MigrateDataLabelingDatasetConfig) GetDataset() string { + if x != nil { + return x.Dataset + } + return "" +} + +func (x *MigrateResourceRequest_MigrateDataLabelingDatasetConfig) GetDatasetDisplayName() string { + if x != nil { + return x.DatasetDisplayName + } + return "" +} + +func (x *MigrateResourceRequest_MigrateDataLabelingDatasetConfig) GetMigrateDataLabelingAnnotatedDatasetConfigs() []*MigrateResourceRequest_MigrateDataLabelingDatasetConfig_MigrateDataLabelingAnnotatedDatasetConfig { + if x != nil { + return x.MigrateDataLabelingAnnotatedDatasetConfigs + } + return nil +} + +// Config for migrating AnnotatedDataset in datalabeling.googleapis.com to +// AI Platform's SavedQuery. +type MigrateResourceRequest_MigrateDataLabelingDatasetConfig_MigrateDataLabelingAnnotatedDatasetConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Full resource name of data labeling AnnotatedDataset. + // Format: + // + // `projects/{project}/datasets/{dataset}/annotatedDatasets/{annotated_dataset}`. + AnnotatedDataset string `protobuf:"bytes,1,opt,name=annotated_dataset,json=annotatedDataset,proto3" json:"annotated_dataset,omitempty"` +} + +func (x *MigrateResourceRequest_MigrateDataLabelingDatasetConfig_MigrateDataLabelingAnnotatedDatasetConfig) Reset() { + *x = MigrateResourceRequest_MigrateDataLabelingDatasetConfig_MigrateDataLabelingAnnotatedDatasetConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MigrateResourceRequest_MigrateDataLabelingDatasetConfig_MigrateDataLabelingAnnotatedDatasetConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MigrateResourceRequest_MigrateDataLabelingDatasetConfig_MigrateDataLabelingAnnotatedDatasetConfig) ProtoMessage() { +} + +func (x *MigrateResourceRequest_MigrateDataLabelingDatasetConfig_MigrateDataLabelingAnnotatedDatasetConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MigrateResourceRequest_MigrateDataLabelingDatasetConfig_MigrateDataLabelingAnnotatedDatasetConfig.ProtoReflect.Descriptor instead. +func (*MigrateResourceRequest_MigrateDataLabelingDatasetConfig_MigrateDataLabelingAnnotatedDatasetConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_migration_service_proto_rawDescGZIP(), []int{3, 3, 0} +} + +func (x *MigrateResourceRequest_MigrateDataLabelingDatasetConfig_MigrateDataLabelingAnnotatedDatasetConfig) GetAnnotatedDataset() string { + if x != nil { + return x.AnnotatedDataset + } + return "" +} + +var File_google_cloud_aiplatform_v1beta1_migration_service_proto protoreflect.FileDescriptor + +var file_google_cloud_aiplatform_v1beta1_migration_service_proto_rawDesc = []byte{ + 0x0a, 0x37, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x2d, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x64, 0x61, 0x74, 0x61, + 0x73, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, + 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x39, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6c, 0x6f, + 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa1, 0x01, 0x0a, 0x20, 0x53, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, + 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xb3, + 0x01, 0x0a, 0x21, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x61, + 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x14, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x61, 0x62, + 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x13, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x61, + 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, + 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xdb, 0x01, 0x0a, 0x1c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x69, + 0x67, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x78, 0x0a, 0x19, 0x6d, 0x69, 0x67, 0x72, + 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x69, + 0x67, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x17, 0x6d, 0x69, 0x67, 0x72, 0x61, + 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x73, 0x22, 0xb7, 0x0d, 0x0a, 0x16, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0xae, 0x01, + 0x0a, 0x26, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x6c, 0x5f, 0x65, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x59, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x4d, + 0x6c, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x21, 0x6d, 0x69, 0x67, + 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6c, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4d, 0x6f, 0x64, 0x65, + 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x91, + 0x01, 0x0a, 0x1b, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x6d, + 0x6c, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x50, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x69, + 0x67, 0x72, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x6c, 0x4d, 0x6f, 0x64, 0x65, 0x6c, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x18, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, + 0x65, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x6c, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x97, 0x01, 0x0a, 0x1d, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x61, + 0x75, 0x74, 0x6f, 0x6d, 0x6c, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x52, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x69, 0x67, + 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x6d, + 0x6c, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, + 0x52, 0x1a, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x6c, 0x44, + 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0xaa, 0x01, 0x0a, + 0x24, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x5f, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x58, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x69, + 0x67, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, + 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x20, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, + 0x44, 0x61, 0x74, 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, + 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xbf, 0x01, 0x0a, 0x21, 0x4d, 0x69, + 0x67, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6c, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4d, 0x6f, 0x64, + 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x1f, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x12, 0x46, 0x0a, 0x0d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x21, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1b, 0x0a, + 0x19, 0x6d, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x12, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x6d, 0x6f, 0x64, 0x65, 0x6c, + 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x88, 0x01, 0x0a, 0x18, + 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x6c, 0x4d, 0x6f, 0x64, + 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x39, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1d, 0x0a, + 0x1b, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x05, 0x6d, 0x6f, + 0x64, 0x65, 0x6c, 0x12, 0x31, 0x0a, 0x12, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x64, 0x69, 0x73, + 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x69, 0x73, 0x70, 0x6c, + 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x94, 0x01, 0x0a, 0x1a, 0x4d, 0x69, 0x67, 0x72, 0x61, + 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3f, 0x0a, 0x07, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, + 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x07, 0x64, + 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0x35, 0x0a, 0x14, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, + 0x74, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x64, 0x61, 0x74, 0x61, 0x73, + 0x65, 0x74, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0xa1, 0x04, + 0x0a, 0x20, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x61, 0x62, + 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x45, 0x0a, 0x07, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x2b, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x25, 0x0a, 0x23, 0x64, 0x61, 0x74, + 0x61, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, + 0x52, 0x07, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0x35, 0x0a, 0x14, 0x64, 0x61, 0x74, + 0x61, 0x73, 0x65, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x12, 0x64, 0x61, + 0x74, 0x61, 0x73, 0x65, 0x74, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0xed, 0x01, 0x0a, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x61, 0x74, + 0x61, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x82, 0x01, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x69, + 0x67, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, + 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, + 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, + 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x2a, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, + 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, + 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, + 0x1a, 0x8e, 0x01, 0x0a, 0x29, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, + 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, + 0x64, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x61, + 0x0a, 0x11, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, + 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x34, 0xe0, 0x41, 0x02, 0xfa, 0x41, + 0x2e, 0x0a, 0x2c, 0x64, 0x61, 0x74, 0x61, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, + 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, + 0x10, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, + 0x74, 0x42, 0x09, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x97, 0x01, 0x0a, + 0x1d, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x76, + 0x0a, 0x1a, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x18, 0x6d, 0x69, + 0x67, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x22, 0x96, 0x02, 0x0a, 0x17, 0x4d, 0x69, 0x67, 0x72, 0x61, + 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x42, 0x0a, 0x07, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x26, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x48, 0x00, 0x52, 0x07, 0x64, + 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0x3c, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x24, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x48, 0x00, 0x52, 0x05, 0x6d, + 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x64, 0x0a, 0x13, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x61, 0x62, + 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x12, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x61, 0x62, + 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x13, 0x0a, 0x11, 0x6d, 0x69, + 0x67, 0x72, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, + 0x8e, 0x01, 0x0a, 0x26, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x64, 0x0a, 0x10, 0x67, 0x65, + 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, + 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x32, 0x9b, 0x05, 0x0a, 0x10, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xfb, 0x01, 0x0a, 0x19, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x73, 0x12, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x69, 0x67, 0x72, + 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, + 0x69, 0x67, 0x72, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x57, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x48, 0x22, 0x43, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6d, 0x69, 0x67, + 0x72, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, + 0x3a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x12, 0xb9, 0x02, 0x0a, 0x15, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x69, 0x67, + 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x3d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, + 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc1, 0x01, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x4e, 0x22, 0x49, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6d, + 0x69, 0x67, 0x72, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x3a, + 0x01, 0x2a, 0xda, 0x41, 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x6d, 0x69, 0x67, 0x72, + 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x73, 0xca, 0x41, 0x47, 0x0a, 0x1d, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, + 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x69, + 0x67, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, + 0x4d, 0xca, 0x41, 0x19, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x2e, + 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x89, + 0x01, 0x0a, 0x23, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x15, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, + 0x49, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, + 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, +} + +var ( + file_google_cloud_aiplatform_v1beta1_migration_service_proto_rawDescOnce sync.Once + file_google_cloud_aiplatform_v1beta1_migration_service_proto_rawDescData = file_google_cloud_aiplatform_v1beta1_migration_service_proto_rawDesc +) + +func file_google_cloud_aiplatform_v1beta1_migration_service_proto_rawDescGZIP() []byte { + file_google_cloud_aiplatform_v1beta1_migration_service_proto_rawDescOnce.Do(func() { + file_google_cloud_aiplatform_v1beta1_migration_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_aiplatform_v1beta1_migration_service_proto_rawDescData) + }) + return file_google_cloud_aiplatform_v1beta1_migration_service_proto_rawDescData +} + +var file_google_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes = make([]protoimpl.MessageInfo, 12) +var file_google_cloud_aiplatform_v1beta1_migration_service_proto_goTypes = []interface{}{ + (*SearchMigratableResourcesRequest)(nil), // 0: google.cloud.aiplatform.v1beta1.SearchMigratableResourcesRequest + (*SearchMigratableResourcesResponse)(nil), // 1: google.cloud.aiplatform.v1beta1.SearchMigratableResourcesResponse + (*BatchMigrateResourcesRequest)(nil), // 2: google.cloud.aiplatform.v1beta1.BatchMigrateResourcesRequest + (*MigrateResourceRequest)(nil), // 3: google.cloud.aiplatform.v1beta1.MigrateResourceRequest + (*BatchMigrateResourcesResponse)(nil), // 4: google.cloud.aiplatform.v1beta1.BatchMigrateResourcesResponse + (*MigrateResourceResponse)(nil), // 5: google.cloud.aiplatform.v1beta1.MigrateResourceResponse + (*BatchMigrateResourcesOperationMetadata)(nil), // 6: google.cloud.aiplatform.v1beta1.BatchMigrateResourcesOperationMetadata + (*MigrateResourceRequest_MigrateMlEngineModelVersionConfig)(nil), // 7: google.cloud.aiplatform.v1beta1.MigrateResourceRequest.MigrateMlEngineModelVersionConfig + (*MigrateResourceRequest_MigrateAutomlModelConfig)(nil), // 8: google.cloud.aiplatform.v1beta1.MigrateResourceRequest.MigrateAutomlModelConfig + (*MigrateResourceRequest_MigrateAutomlDatasetConfig)(nil), // 9: google.cloud.aiplatform.v1beta1.MigrateResourceRequest.MigrateAutomlDatasetConfig + (*MigrateResourceRequest_MigrateDataLabelingDatasetConfig)(nil), // 10: google.cloud.aiplatform.v1beta1.MigrateResourceRequest.MigrateDataLabelingDatasetConfig + (*MigrateResourceRequest_MigrateDataLabelingDatasetConfig_MigrateDataLabelingAnnotatedDatasetConfig)(nil), // 11: google.cloud.aiplatform.v1beta1.MigrateResourceRequest.MigrateDataLabelingDatasetConfig.MigrateDataLabelingAnnotatedDatasetConfig + (*MigratableResource)(nil), // 12: google.cloud.aiplatform.v1beta1.MigratableResource + (*GenericOperationMetadata)(nil), // 13: google.cloud.aiplatform.v1beta1.GenericOperationMetadata + (*longrunning.Operation)(nil), // 14: google.longrunning.Operation +} +var file_google_cloud_aiplatform_v1beta1_migration_service_proto_depIdxs = []int32{ + 12, // 0: google.cloud.aiplatform.v1beta1.SearchMigratableResourcesResponse.migratable_resources:type_name -> google.cloud.aiplatform.v1beta1.MigratableResource + 3, // 1: google.cloud.aiplatform.v1beta1.BatchMigrateResourcesRequest.migrate_resource_requests:type_name -> google.cloud.aiplatform.v1beta1.MigrateResourceRequest + 7, // 2: google.cloud.aiplatform.v1beta1.MigrateResourceRequest.migrate_ml_engine_model_version_config:type_name -> google.cloud.aiplatform.v1beta1.MigrateResourceRequest.MigrateMlEngineModelVersionConfig + 8, // 3: google.cloud.aiplatform.v1beta1.MigrateResourceRequest.migrate_automl_model_config:type_name -> google.cloud.aiplatform.v1beta1.MigrateResourceRequest.MigrateAutomlModelConfig + 9, // 4: google.cloud.aiplatform.v1beta1.MigrateResourceRequest.migrate_automl_dataset_config:type_name -> google.cloud.aiplatform.v1beta1.MigrateResourceRequest.MigrateAutomlDatasetConfig + 10, // 5: google.cloud.aiplatform.v1beta1.MigrateResourceRequest.migrate_data_labeling_dataset_config:type_name -> google.cloud.aiplatform.v1beta1.MigrateResourceRequest.MigrateDataLabelingDatasetConfig + 5, // 6: google.cloud.aiplatform.v1beta1.BatchMigrateResourcesResponse.migrate_resource_responses:type_name -> google.cloud.aiplatform.v1beta1.MigrateResourceResponse + 12, // 7: google.cloud.aiplatform.v1beta1.MigrateResourceResponse.migratable_resource:type_name -> google.cloud.aiplatform.v1beta1.MigratableResource + 13, // 8: google.cloud.aiplatform.v1beta1.BatchMigrateResourcesOperationMetadata.generic_metadata:type_name -> google.cloud.aiplatform.v1beta1.GenericOperationMetadata + 11, // 9: google.cloud.aiplatform.v1beta1.MigrateResourceRequest.MigrateDataLabelingDatasetConfig.migrate_data_labeling_annotated_dataset_configs:type_name -> google.cloud.aiplatform.v1beta1.MigrateResourceRequest.MigrateDataLabelingDatasetConfig.MigrateDataLabelingAnnotatedDatasetConfig + 0, // 10: google.cloud.aiplatform.v1beta1.MigrationService.SearchMigratableResources:input_type -> google.cloud.aiplatform.v1beta1.SearchMigratableResourcesRequest + 2, // 11: google.cloud.aiplatform.v1beta1.MigrationService.BatchMigrateResources:input_type -> google.cloud.aiplatform.v1beta1.BatchMigrateResourcesRequest + 1, // 12: google.cloud.aiplatform.v1beta1.MigrationService.SearchMigratableResources:output_type -> google.cloud.aiplatform.v1beta1.SearchMigratableResourcesResponse + 14, // 13: google.cloud.aiplatform.v1beta1.MigrationService.BatchMigrateResources:output_type -> google.longrunning.Operation + 12, // [12:14] is the sub-list for method output_type + 10, // [10:12] is the sub-list for method input_type + 10, // [10:10] is the sub-list for extension type_name + 10, // [10:10] is the sub-list for extension extendee + 0, // [0:10] is the sub-list for field type_name +} + +func init() { file_google_cloud_aiplatform_v1beta1_migration_service_proto_init() } +func file_google_cloud_aiplatform_v1beta1_migration_service_proto_init() { + if File_google_cloud_aiplatform_v1beta1_migration_service_proto != nil { + return + } + file_google_cloud_aiplatform_v1beta1_dataset_proto_init() + file_google_cloud_aiplatform_v1beta1_model_proto_init() + file_google_cloud_aiplatform_v1beta1_migratable_resource_proto_init() + file_google_cloud_aiplatform_v1beta1_operation_proto_init() + if !protoimpl.UnsafeEnabled { + file_google_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SearchMigratableResourcesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SearchMigratableResourcesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BatchMigrateResourcesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MigrateResourceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BatchMigrateResourcesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MigrateResourceResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BatchMigrateResourcesOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MigrateResourceRequest_MigrateMlEngineModelVersionConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MigrateResourceRequest_MigrateAutomlModelConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MigrateResourceRequest_MigrateAutomlDatasetConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MigrateResourceRequest_MigrateDataLabelingDatasetConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MigrateResourceRequest_MigrateDataLabelingDatasetConfig_MigrateDataLabelingAnnotatedDatasetConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_google_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[3].OneofWrappers = []interface{}{ + (*MigrateResourceRequest_MigrateMlEngineModelVersionConfig_)(nil), + (*MigrateResourceRequest_MigrateAutomlModelConfig_)(nil), + (*MigrateResourceRequest_MigrateAutomlDatasetConfig_)(nil), + (*MigrateResourceRequest_MigrateDataLabelingDatasetConfig_)(nil), + } + file_google_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[5].OneofWrappers = []interface{}{ + (*MigrateResourceResponse_Dataset)(nil), + (*MigrateResourceResponse_Model)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_aiplatform_v1beta1_migration_service_proto_rawDesc, + NumEnums: 0, + NumMessages: 12, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_google_cloud_aiplatform_v1beta1_migration_service_proto_goTypes, + DependencyIndexes: file_google_cloud_aiplatform_v1beta1_migration_service_proto_depIdxs, + MessageInfos: file_google_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes, + }.Build() + File_google_cloud_aiplatform_v1beta1_migration_service_proto = out.File + file_google_cloud_aiplatform_v1beta1_migration_service_proto_rawDesc = nil + file_google_cloud_aiplatform_v1beta1_migration_service_proto_goTypes = nil + file_google_cloud_aiplatform_v1beta1_migration_service_proto_depIdxs = nil +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConnInterface + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion6 + +// MigrationServiceClient is the client API for MigrationService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type MigrationServiceClient interface { + // Searches all of the resources in automl.googleapis.com, + // datalabeling.googleapis.com and ml.googleapis.com that can be migrated to + // AI Platform's given location. + SearchMigratableResources(ctx context.Context, in *SearchMigratableResourcesRequest, opts ...grpc.CallOption) (*SearchMigratableResourcesResponse, error) + // Batch migrates resources from ml.googleapis.com, automl.googleapis.com, + // and datalabeling.googleapis.com to AI Platform (Unified). + BatchMigrateResources(ctx context.Context, in *BatchMigrateResourcesRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) +} + +type migrationServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewMigrationServiceClient(cc grpc.ClientConnInterface) MigrationServiceClient { + return &migrationServiceClient{cc} +} + +func (c *migrationServiceClient) SearchMigratableResources(ctx context.Context, in *SearchMigratableResourcesRequest, opts ...grpc.CallOption) (*SearchMigratableResourcesResponse, error) { + out := new(SearchMigratableResourcesResponse) + err := c.cc.Invoke(ctx, "/google.cloud.aiplatform.v1beta1.MigrationService/SearchMigratableResources", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *migrationServiceClient) BatchMigrateResources(ctx context.Context, in *BatchMigrateResourcesRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { + out := new(longrunning.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.aiplatform.v1beta1.MigrationService/BatchMigrateResources", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// MigrationServiceServer is the server API for MigrationService service. +type MigrationServiceServer interface { + // Searches all of the resources in automl.googleapis.com, + // datalabeling.googleapis.com and ml.googleapis.com that can be migrated to + // AI Platform's given location. + SearchMigratableResources(context.Context, *SearchMigratableResourcesRequest) (*SearchMigratableResourcesResponse, error) + // Batch migrates resources from ml.googleapis.com, automl.googleapis.com, + // and datalabeling.googleapis.com to AI Platform (Unified). + BatchMigrateResources(context.Context, *BatchMigrateResourcesRequest) (*longrunning.Operation, error) +} + +// UnimplementedMigrationServiceServer can be embedded to have forward compatible implementations. +type UnimplementedMigrationServiceServer struct { +} + +func (*UnimplementedMigrationServiceServer) SearchMigratableResources(context.Context, *SearchMigratableResourcesRequest) (*SearchMigratableResourcesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SearchMigratableResources not implemented") +} +func (*UnimplementedMigrationServiceServer) BatchMigrateResources(context.Context, *BatchMigrateResourcesRequest) (*longrunning.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method BatchMigrateResources not implemented") +} + +func RegisterMigrationServiceServer(s *grpc.Server, srv MigrationServiceServer) { + s.RegisterService(&_MigrationService_serviceDesc, srv) +} + +func _MigrationService_SearchMigratableResources_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SearchMigratableResourcesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MigrationServiceServer).SearchMigratableResources(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.aiplatform.v1beta1.MigrationService/SearchMigratableResources", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MigrationServiceServer).SearchMigratableResources(ctx, req.(*SearchMigratableResourcesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _MigrationService_BatchMigrateResources_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(BatchMigrateResourcesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MigrationServiceServer).BatchMigrateResources(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.aiplatform.v1beta1.MigrationService/BatchMigrateResources", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MigrationServiceServer).BatchMigrateResources(ctx, req.(*BatchMigrateResourcesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _MigrationService_serviceDesc = grpc.ServiceDesc{ + ServiceName: "google.cloud.aiplatform.v1beta1.MigrationService", + HandlerType: (*MigrationServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "SearchMigratableResources", + Handler: _MigrationService_SearchMigratableResources_Handler, + }, + { + MethodName: "BatchMigrateResources", + Handler: _MigrationService_BatchMigrateResources_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "google/cloud/aiplatform/v1beta1/migration_service.proto", +} diff --git a/googleapis/cloud/aiplatform/v1beta1/model.pb.go b/googleapis/cloud/aiplatform/v1beta1/model.pb.go index 502eb5972..fe3fbf04b 100644 --- a/googleapis/cloud/aiplatform/v1beta1/model.pb.go +++ b/googleapis/cloud/aiplatform/v1beta1/model.pb.go @@ -105,11 +105,12 @@ const ( // Should not be used. Model_ExportFormat_EXPORTABLE_CONTENT_UNSPECIFIED Model_ExportFormat_ExportableContent = 0 // Model artifact and any of its supported files. Will be exported to the - // specified [ExportModelRequest.output_config.artifact_destination] + // location specified by the `artifactDestination` field of the + // [ExportModelRequest.output_config][google.cloud.aiplatform.v1beta1.ExportModelRequest.output_config] object. Model_ExportFormat_ARTIFACT Model_ExportFormat_ExportableContent = 1 // The container image that is to be used when deploying this Model. Will - // be exported to the specified - // [ExportModelRequest.output_config.image_destination] + // be exported to the location specified by the `imageDestination` field + // of the [ExportModelRequest.output_config][google.cloud.aiplatform.v1beta1.ExportModelRequest.output_config] object. Model_ExportFormat_IMAGE Model_ExportFormat_ExportableContent = 2 ) @@ -188,7 +189,7 @@ type Model struct { // Unset if the Model does not have any additional information. Metadata *structpb.Value `protobuf:"bytes,6,opt,name=metadata,proto3" json:"metadata,omitempty"` // Output only. The formats in which this Model may be exported. If empty, this Model is - // not avaiable for export. + // not available for export. SupportedExportFormats []*Model_ExportFormat `protobuf:"bytes,20,rep,name=supported_export_formats,json=supportedExportFormats,proto3" json:"supported_export_formats,omitempty"` // Output only. The resource name of the TrainingPipeline that uploaded this Model, if any. TrainingPipeline string `protobuf:"bytes,7,opt,name=training_pipeline,json=trainingPipeline,proto3" json:"training_pipeline,omitempty"` @@ -576,52 +577,204 @@ func (x *PredictSchemata) GetPredictionSchemaUri() string { return "" } -// Specification of the container to be deployed for this Model. -// The ModelContainerSpec is based on the Kubernetes Container -// [specification](https://tinyurl.com/k8s-io-api/v1.10/#container-v1-core). +// Specification of a container for serving predictions. This message is a +// subset of the Kubernetes Container v1 core +// [specification](https://tinyurl.com/k8s-io-api/v1.18/#container-v1-core). type ModelContainerSpec struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. Immutable. The URI of the Model serving container file in the Container Registry. The - // container image is ingested upon [ModelService.UploadModel][google.cloud.aiplatform.v1beta1.ModelService.UploadModel], stored + // Required. Immutable. URI of the Docker image to be used as the custom container for serving + // predictions. This URI must identify an image in Artifact Registry or + // Container Registry. Learn more about the container publishing + // requirements, including permissions requirements for the AI Platform + // Service Agent, + // [here](https://tinyurl.com/cust-cont-reqs#publishing). + // + // The container image is ingested upon [ModelService.UploadModel][google.cloud.aiplatform.v1beta1.ModelService.UploadModel], stored // internally, and this original path is afterwards not used. + // + // To learn about the requirements for the Docker image itself, see + // [Custom container requirements](https://tinyurl.com/cust-cont-reqs). ImageUri string `protobuf:"bytes,1,opt,name=image_uri,json=imageUri,proto3" json:"image_uri,omitempty"` - // Immutable. The command with which the container is run. Not executed within a shell. - // The Docker image's ENTRYPOINT is used if this is not provided. - // Variable references $(VAR_NAME) are expanded using the container's - // environment. If a variable cannot be resolved, the reference in the input - // string will be unchanged. The $(VAR_NAME) syntax can be escaped with a - // double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, - // regardless of whether the variable exists or not. - // More info: https://tinyurl.com/y42hmlxe + // Immutable. Specifies the command that runs when the container starts. This overrides + // the container's + // [ENTRYPOINT](https://docs.docker.com/engine/reference/builder/#entrypoint). + // Specify this field as an array of executable and arguments, similar to a + // Docker `ENTRYPOINT`'s "exec" form, not its "shell" form. + // + // If you do not specify this field, then the container's `ENTRYPOINT` runs, + // in conjunction with the [args][google.cloud.aiplatform.v1beta1.ModelContainerSpec.args] field or the + // container's [`CMD`](https://docs.docker.com/engine/reference/builder/#cmd), + // if either exists. If this field is not specified and the container does not + // have an `ENTRYPOINT`, then refer to the Docker documentation about how + // `CMD` and `ENTRYPOINT` + // [interact](https://tinyurl.com/h3kdcgs). + // + // If you specify this field, then you can also specify the `args` field to + // provide additional arguments for this command. However, if you specify this + // field, then the container's `CMD` is ignored. See the + // [Kubernetes documentation](https://tinyurl.com/y8bvllf4) about how the + // `command` and `args` fields interact with a container's `ENTRYPOINT` and + // `CMD`. + // + // In this field, you can reference environment variables + // [set by AI Platform](https://tinyurl.com/cust-cont-reqs#aip-variables) + // and environment variables set in the [env][google.cloud.aiplatform.v1beta1.ModelContainerSpec.env] field. + // You cannot reference environment variables set in the Docker image. In + // order for environment variables to be expanded, reference them by using the + // following syntax: + // $(VARIABLE_NAME) + // Note that this differs from Bash variable expansion, which does not use + // parentheses. If a variable cannot be resolved, the reference in the input + // string is used unchanged. To avoid variable expansion, you can escape this + // syntax with `$$`; for example: + // $$(VARIABLE_NAME) + // This field corresponds to the `command` field of the Kubernetes Containers + // [v1 core API](https://tinyurl.com/k8s-io-api/v1.18/#container-v1-core). Command []string `protobuf:"bytes,2,rep,name=command,proto3" json:"command,omitempty"` - // Immutable. The arguments to the command. - // The Docker image's CMD is used if this is not provided. - // Variable references $(VAR_NAME) are expanded using the container's - // environment. If a variable cannot be resolved, the reference in the input - // string will be unchanged. The $(VAR_NAME) syntax can be escaped with a - // double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, - // regardless of whether the variable exists or not. - // More info: https://tinyurl.com/y42hmlxe + // Immutable. Specifies arguments for the command that runs when the container starts. + // This overrides the container's + // [`CMD`](https://docs.docker.com/engine/reference/builder/#cmd). Specify + // this field as an array of executable and arguments, similar to a Docker + // `CMD`'s "default parameters" form. + // + // If you don't specify this field but do specify the + // [command][google.cloud.aiplatform.v1beta1.ModelContainerSpec.command] field, then the command from the + // `command` field runs without any additional arguments. See the + // [Kubernetes documentation](https://tinyurl.com/y8bvllf4) about how the + // `command` and `args` fields interact with a container's `ENTRYPOINT` and + // `CMD`. + // + // If you don't specify this field and don't specify the `command` field, + // then the container's + // [`ENTRYPOINT`](https://docs.docker.com/engine/reference/builder/#cmd) and + // `CMD` determine what runs based on their default behavior. See the Docker + // documentation about how `CMD` and `ENTRYPOINT` + // [interact](https://tinyurl.com/h3kdcgs). + // + // In this field, you can reference environment variables + // [set by AI Platform](https://tinyurl.com/cust-cont-reqs#aip-variables) + // and environment variables set in the [env][google.cloud.aiplatform.v1beta1.ModelContainerSpec.env] field. + // You cannot reference environment variables set in the Docker image. In + // order for environment variables to be expanded, reference them by using the + // following syntax: + // $(VARIABLE_NAME) + // Note that this differs from Bash variable expansion, which does not use + // parentheses. If a variable cannot be resolved, the reference in the input + // string is used unchanged. To avoid variable expansion, you can escape this + // syntax with `$$`; for example: + // $$(VARIABLE_NAME) + // This field corresponds to the `args` field of the Kubernetes Containers + // [v1 core API](https://tinyurl.com/k8s-io-api/v1.18/#container-v1-core). Args []string `protobuf:"bytes,3,rep,name=args,proto3" json:"args,omitempty"` - // Immutable. The environment variables that are to be present in the container. + // Immutable. List of environment variables to set in the container. After the container + // starts running, code running in the container can read these environment + // variables. + // + // Additionally, the [command][google.cloud.aiplatform.v1beta1.ModelContainerSpec.command] and + // [args][google.cloud.aiplatform.v1beta1.ModelContainerSpec.args] fields can reference these variables. Later + // entries in this list can also reference earlier entries. For example, the + // following example sets the variable `VAR_2` to have the value `foo bar`: + // + // ```json + // [ + // { + // "name": "VAR_1", + // "value": "foo" + // }, + // { + // "name": "VAR_2", + // "value": "$(VAR_1) bar" + // } + // ] + // ``` + // + // If you switch the order of the variables in the example, then the expansion + // does not occur. + // + // This field corresponds to the `env` field of the Kubernetes Containers + // [v1 core API](https://tinyurl.com/k8s-io-api/v1.18/#container-v1-core). Env []*EnvVar `protobuf:"bytes,4,rep,name=env,proto3" json:"env,omitempty"` - // Immutable. Declaration of ports that are exposed by the container. This field is - // primarily informational, it gives AI Platform information about the - // network connections the container uses. Listing or not a port - // here has no impact on whether the port is actually exposed, any port - // listening on the default "0.0.0.0" address inside a container will be - // accessible from the network. + // Immutable. List of ports to expose from the container. AI Platform sends any + // prediction requests that it receives to the first port on this list. AI + // Platform also sends + // [liveness and health checks](https://tinyurl.com/cust-cont-reqs#health) + // to this port. + // + // If you do not specify this field, it defaults to following value: + // + // ```json + // [ + // { + // "containerPort": 8080 + // } + // ] + // ``` + // + // AI Platform does not use ports other than the first one listed. This field + // corresponds to the `ports` field of the Kubernetes Containers + // [v1 core API](https://tinyurl.com/k8s-io-api/v1.18/#container-v1-core). Ports []*Port `protobuf:"bytes,5,rep,name=ports,proto3" json:"ports,omitempty"` - // Immutable. An HTTP path to send prediction requests to the container, and which - // must be supported by it. If not specified a default HTTP path will be - // used by AI Platform. + // Immutable. HTTP path on the container to send prediction requests to. AI Platform + // forwards requests sent using + // [projects.locations.endpoints.predict][google.cloud.aiplatform.v1beta1.PredictionService.Predict] to this + // path on the container's IP address and port. AI Platform then returns the + // container's response in the API response. + // + // For example, if you set this field to `/foo`, then when AI Platform + // receives a prediction request, it forwards the request body in a POST + // request to the following URL on the container: + // localhost:PORT/foo + // PORT refers to the first value of this `ModelContainerSpec`'s + // [ports][google.cloud.aiplatform.v1beta1.ModelContainerSpec.ports] field. + // + // If you don't specify this field, it defaults to the following value when + // you [deploy this Model to an Endpoint][google.cloud.aiplatform.v1beta1.EndpointService.DeployModel]: + // /v1/endpoints/ENDPOINT/deployedModels/DEPLOYED_MODEL:predict + // The placeholders in this value are replaced as follows: + // + // * ENDPOINT: The last segment (following `endpoints/`)of the + // Endpoint.name][] field of the Endpoint where this Model has been + // deployed. (AI Platform makes this value available to your container code + // as the + // [`AIP_ENDPOINT_ID`](https://tinyurl.com/cust-cont-reqs#aip-variables) + // environment variable.) + // + // * DEPLOYED_MODEL: [DeployedModel.id][google.cloud.aiplatform.v1beta1.DeployedModel.id] of the `DeployedModel`. + // (AI Platform makes this value available to your container code + // as the [`AIP_DEPLOYED_MODEL_ID` environment + // variable](https://tinyurl.com/cust-cont-reqs#aip-variables).) PredictRoute string `protobuf:"bytes,6,opt,name=predict_route,json=predictRoute,proto3" json:"predict_route,omitempty"` - // Immutable. An HTTP path to send health check requests to the container, and which - // must be supported by it. If not specified a standard HTTP path will be - // used by AI Platform. + // Immutable. HTTP path on the container to send health checkss to. AI Platform + // intermittently sends GET requests to this path on the container's IP + // address and port to check that the container is healthy. Read more about + // [health + // checks](https://tinyurl.com/cust-cont-reqs#checks). + // + // For example, if you set this field to `/bar`, then AI Platform + // intermittently sends a GET request to the following URL on the container: + // localhost:PORT/bar + // PORT refers to the first value of this `ModelContainerSpec`'s + // [ports][google.cloud.aiplatform.v1beta1.ModelContainerSpec.ports] field. + // + // If you don't specify this field, it defaults to the following value when + // you [deploy this Model to an Endpoint][google.cloud.aiplatform.v1beta1.EndpointService.DeployModel]: + // /v1/endpoints/ENDPOINT/deployedModels/DEPLOYED_MODEL:predict + // The placeholders in this value are replaced as follows: + // + // * ENDPOINT: The last segment (following `endpoints/`)of the + // Endpoint.name][] field of the Endpoint where this Model has been + // deployed. (AI Platform makes this value available to your container code + // as the + // [`AIP_ENDPOINT_ID`](https://tinyurl.com/cust-cont-reqs#aip-variables) + // environment variable.) + // + // * DEPLOYED_MODEL: [DeployedModel.id][google.cloud.aiplatform.v1beta1.DeployedModel.id] of the `DeployedModel`. + // (AI Platform makes this value available to your container code as the + // [`AIP_DEPLOYED_MODEL_ID`](https://tinyurl.com/cust-cont-reqs#aip-variables) + // environment variable.) HealthRoute string `protobuf:"bytes,7,opt,name=health_route,json=healthRoute,proto3" json:"health_route,omitempty"` } diff --git a/googleapis/cloud/aiplatform/v1beta1/operation.pb.go b/googleapis/cloud/aiplatform/v1beta1/operation.pb.go index e50c52f81..af3f50e44 100644 --- a/googleapis/cloud/aiplatform/v1beta1/operation.pb.go +++ b/googleapis/cloud/aiplatform/v1beta1/operation.pb.go @@ -57,6 +57,8 @@ type GenericOperationMetadata struct { // Output only. Time when the operation was created. CreateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` // Output only. Time when the operation was updated for the last time. + // If the operation has finished (successfully or not), this is the finish + // time. UpdateTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` } diff --git a/googleapis/cloud/aiplatform/v1beta1/prediction_service.pb.go b/googleapis/cloud/aiplatform/v1beta1/prediction_service.pb.go index 3cb548857..8340bae0b 100644 --- a/googleapis/cloud/aiplatform/v1beta1/prediction_service.pb.go +++ b/googleapis/cloud/aiplatform/v1beta1/prediction_service.pb.go @@ -284,14 +284,16 @@ type ExplainResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The explanations of the [Model's - // predictions][PredictionResponse.predictions][]. + // The explanations of the Model's [PredictResponse.predictions][google.cloud.aiplatform.v1beta1.PredictResponse.predictions]. // // It has the same number of elements as [instances][google.cloud.aiplatform.v1beta1.ExplainRequest.instances] // to be explained. Explanations []*Explanation `protobuf:"bytes,1,rep,name=explanations,proto3" json:"explanations,omitempty"` // ID of the Endpoint's DeployedModel that served this explanation. DeployedModelId string `protobuf:"bytes,2,opt,name=deployed_model_id,json=deployedModelId,proto3" json:"deployed_model_id,omitempty"` + // The predictions that are the output of the predictions call. + // Same as [PredictResponse.predictions][google.cloud.aiplatform.v1beta1.PredictResponse.predictions]. + Predictions []*structpb.Value `protobuf:"bytes,3,rep,name=predictions,proto3" json:"predictions,omitempty"` } func (x *ExplainResponse) Reset() { @@ -340,6 +342,13 @@ func (x *ExplainResponse) GetDeployedModelId() string { return "" } +func (x *ExplainResponse) GetPredictions() []*structpb.Value { + if x != nil { + return x.Predictions + } + return nil +} + var File_google_cloud_aiplatform_v1beta1_prediction_service_proto protoreflect.FileDescriptor var file_google_cloud_aiplatform_v1beta1_prediction_service_proto_rawDesc = []byte{ @@ -397,7 +406,7 @@ var file_google_cloud_aiplatform_v1beta1_prediction_service_proto_rawDesc = []by 0x74, 0x65, 0x72, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x64, - 0x22, 0x8f, 0x01, 0x0a, 0x0f, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x22, 0xc9, 0x01, 0x0a, 0x0f, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x0c, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, @@ -406,51 +415,54 @@ var file_google_cloud_aiplatform_v1beta1_prediction_service_proto_rawDesc = []by 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, - 0x49, 0x64, 0x32, 0xa8, 0x04, 0x0a, 0x11, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xd7, 0x01, 0x0a, 0x07, 0x50, 0x72, 0x65, - 0x64, 0x69, 0x63, 0x74, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x69, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x22, - 0x3e, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x3a, - 0x01, 0x2a, 0xda, 0x41, 0x1d, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2c, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2c, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, - 0x72, 0x73, 0x12, 0xe9, 0x01, 0x0a, 0x07, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x12, 0x2f, + 0x49, 0x64, 0x12, 0x38, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x0b, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x32, 0xa8, 0x04, 0x0a, + 0x11, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x12, 0xd7, 0x01, 0x0a, 0x07, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x7b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x22, 0x3e, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x31, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x69, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x22, 0x3e, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, - 0x7d, 0x3a, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x2f, 0x65, + 0x7d, 0x3a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x1d, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x73, 0x2c, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x2c, 0x64, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x1a, 0x4d, - 0xca, 0x41, 0x19, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x2e, 0x68, - 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x8a, 0x01, - 0x0a, 0x23, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x16, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, - 0x49, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, - 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, - 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x73, 0x2c, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0xe9, 0x01, 0x0a, + 0x07, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, + 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, + 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7b, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x43, 0x22, 0x3e, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x65, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x65, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x65, 0x78, 0x70, 0x6c, + 0x61, 0x69, 0x6e, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2c, 0x70, 0x61, 0x72, 0x61, + 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x2c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x5f, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x1a, 0x4d, 0xca, 0x41, 0x19, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, + 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x8a, 0x01, 0x0a, 0x23, 0x63, 0x6f, 0x6d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, + 0x16, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x49, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -481,15 +493,16 @@ var file_google_cloud_aiplatform_v1beta1_prediction_service_proto_depIdxs = []in 4, // 3: google.cloud.aiplatform.v1beta1.ExplainRequest.instances:type_name -> google.protobuf.Value 4, // 4: google.cloud.aiplatform.v1beta1.ExplainRequest.parameters:type_name -> google.protobuf.Value 5, // 5: google.cloud.aiplatform.v1beta1.ExplainResponse.explanations:type_name -> google.cloud.aiplatform.v1beta1.Explanation - 0, // 6: google.cloud.aiplatform.v1beta1.PredictionService.Predict:input_type -> google.cloud.aiplatform.v1beta1.PredictRequest - 2, // 7: google.cloud.aiplatform.v1beta1.PredictionService.Explain:input_type -> google.cloud.aiplatform.v1beta1.ExplainRequest - 1, // 8: google.cloud.aiplatform.v1beta1.PredictionService.Predict:output_type -> google.cloud.aiplatform.v1beta1.PredictResponse - 3, // 9: google.cloud.aiplatform.v1beta1.PredictionService.Explain:output_type -> google.cloud.aiplatform.v1beta1.ExplainResponse - 8, // [8:10] is the sub-list for method output_type - 6, // [6:8] is the sub-list for method input_type - 6, // [6:6] is the sub-list for extension type_name - 6, // [6:6] is the sub-list for extension extendee - 0, // [0:6] is the sub-list for field type_name + 4, // 6: google.cloud.aiplatform.v1beta1.ExplainResponse.predictions:type_name -> google.protobuf.Value + 0, // 7: google.cloud.aiplatform.v1beta1.PredictionService.Predict:input_type -> google.cloud.aiplatform.v1beta1.PredictRequest + 2, // 8: google.cloud.aiplatform.v1beta1.PredictionService.Explain:input_type -> google.cloud.aiplatform.v1beta1.ExplainRequest + 1, // 9: google.cloud.aiplatform.v1beta1.PredictionService.Predict:output_type -> google.cloud.aiplatform.v1beta1.PredictResponse + 3, // 10: google.cloud.aiplatform.v1beta1.PredictionService.Explain:output_type -> google.cloud.aiplatform.v1beta1.ExplainResponse + 9, // [9:11] is the sub-list for method output_type + 7, // [7:9] is the sub-list for method input_type + 7, // [7:7] is the sub-list for extension type_name + 7, // [7:7] is the sub-list for extension extendee + 0, // [0:7] is the sub-list for field type_name } func init() { file_google_cloud_aiplatform_v1beta1_prediction_service_proto_init() } @@ -584,10 +597,12 @@ type PredictionServiceClient interface { Predict(ctx context.Context, in *PredictRequest, opts ...grpc.CallOption) (*PredictResponse, error) // Perform an online explanation. // - // If [ExplainRequest.deployed_model_id] is specified, the corresponding - // DeployModel must have [explanation_spec][google.cloud.aiplatform.v1beta1.DeployedModel.explanation_spec] - // populated. If [ExplainRequest.deployed_model_id] is not specified, all - // DeployedModels must have [explanation_spec][google.cloud.aiplatform.v1beta1.DeployedModel.explanation_spec] + // If [deployed_model_id][google.cloud.aiplatform.v1beta1.ExplainRequest.deployed_model_id] is specified, + // the corresponding DeployModel must have + // [explanation_spec][google.cloud.aiplatform.v1beta1.DeployedModel.explanation_spec] + // populated. If [deployed_model_id][google.cloud.aiplatform.v1beta1.ExplainRequest.deployed_model_id] + // is not specified, all DeployedModels must have + // [explanation_spec][google.cloud.aiplatform.v1beta1.DeployedModel.explanation_spec] // populated. Only deployed AutoML tabular Models have // explanation_spec. Explain(ctx context.Context, in *ExplainRequest, opts ...grpc.CallOption) (*ExplainResponse, error) @@ -625,10 +640,12 @@ type PredictionServiceServer interface { Predict(context.Context, *PredictRequest) (*PredictResponse, error) // Perform an online explanation. // - // If [ExplainRequest.deployed_model_id] is specified, the corresponding - // DeployModel must have [explanation_spec][google.cloud.aiplatform.v1beta1.DeployedModel.explanation_spec] - // populated. If [ExplainRequest.deployed_model_id] is not specified, all - // DeployedModels must have [explanation_spec][google.cloud.aiplatform.v1beta1.DeployedModel.explanation_spec] + // If [deployed_model_id][google.cloud.aiplatform.v1beta1.ExplainRequest.deployed_model_id] is specified, + // the corresponding DeployModel must have + // [explanation_spec][google.cloud.aiplatform.v1beta1.DeployedModel.explanation_spec] + // populated. If [deployed_model_id][google.cloud.aiplatform.v1beta1.ExplainRequest.deployed_model_id] + // is not specified, all DeployedModels must have + // [explanation_spec][google.cloud.aiplatform.v1beta1.DeployedModel.explanation_spec] // populated. Only deployed AutoML tabular Models have // explanation_spec. Explain(context.Context, *ExplainRequest) (*ExplainResponse, error) diff --git a/googleapis/cloud/aiplatform/v1beta1/study.pb.go b/googleapis/cloud/aiplatform/v1beta1/study.pb.go index d688f10e6..85975cb1d 100644 --- a/googleapis/cloud/aiplatform/v1beta1/study.pb.go +++ b/googleapis/cloud/aiplatform/v1beta1/study.pb.go @@ -655,6 +655,12 @@ type StudySpec_ParameterSpec struct { // How the parameter should be scaled. // Leave unset for `CATEGORICAL` parameters. ScaleType StudySpec_ParameterSpec_ScaleType `protobuf:"varint,6,opt,name=scale_type,json=scaleType,proto3,enum=google.cloud.aiplatform.v1beta1.StudySpec_ParameterSpec_ScaleType" json:"scale_type,omitempty"` + // A conditional parameter node is active if the parameter's value matches + // the conditional node's parent_value_condition. + // + // If two items in conditional_parameter_specs have the same name, they + // must have disjoint parent_value_condition. + ConditionalParameterSpecs []*StudySpec_ParameterSpec_ConditionalParameterSpec `protobuf:"bytes,10,rep,name=conditional_parameter_specs,json=conditionalParameterSpecs,proto3" json:"conditional_parameter_specs,omitempty"` } func (x *StudySpec_ParameterSpec) Reset() { @@ -738,6 +744,13 @@ func (x *StudySpec_ParameterSpec) GetScaleType() StudySpec_ParameterSpec_ScaleTy return StudySpec_ParameterSpec_SCALE_TYPE_UNSPECIFIED } +func (x *StudySpec_ParameterSpec) GetConditionalParameterSpecs() []*StudySpec_ParameterSpec_ConditionalParameterSpec { + if x != nil { + return x.ConditionalParameterSpecs + } + return nil +} + type isStudySpec_ParameterSpec_ParameterValueSpec interface { isStudySpec_ParameterSpec_ParameterValueSpec() } @@ -988,6 +1001,275 @@ func (x *StudySpec_ParameterSpec_DiscreteValueSpec) GetValues() []float64 { return nil } +// Represents a parameter spec with condition from its parent parameter. +type StudySpec_ParameterSpec_ConditionalParameterSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A set of parameter values from the parent ParameterSpec's feasible + // space. + // + // Types that are assignable to ParentValueCondition: + // *StudySpec_ParameterSpec_ConditionalParameterSpec_ParentDiscreteValues + // *StudySpec_ParameterSpec_ConditionalParameterSpec_ParentIntValues + // *StudySpec_ParameterSpec_ConditionalParameterSpec_ParentCategoricalValues + ParentValueCondition isStudySpec_ParameterSpec_ConditionalParameterSpec_ParentValueCondition `protobuf_oneof:"parent_value_condition"` + // Required. The spec for a conditional parameter. + ParameterSpec *StudySpec_ParameterSpec `protobuf:"bytes,1,opt,name=parameter_spec,json=parameterSpec,proto3" json:"parameter_spec,omitempty"` +} + +func (x *StudySpec_ParameterSpec_ConditionalParameterSpec) Reset() { + *x = StudySpec_ParameterSpec_ConditionalParameterSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_study_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StudySpec_ParameterSpec_ConditionalParameterSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StudySpec_ParameterSpec_ConditionalParameterSpec) ProtoMessage() {} + +func (x *StudySpec_ParameterSpec_ConditionalParameterSpec) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_study_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StudySpec_ParameterSpec_ConditionalParameterSpec.ProtoReflect.Descriptor instead. +func (*StudySpec_ParameterSpec_ConditionalParameterSpec) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_study_proto_rawDescGZIP(), []int{1, 1, 4} +} + +func (m *StudySpec_ParameterSpec_ConditionalParameterSpec) GetParentValueCondition() isStudySpec_ParameterSpec_ConditionalParameterSpec_ParentValueCondition { + if m != nil { + return m.ParentValueCondition + } + return nil +} + +func (x *StudySpec_ParameterSpec_ConditionalParameterSpec) GetParentDiscreteValues() *StudySpec_ParameterSpec_ConditionalParameterSpec_DiscreteValueCondition { + if x, ok := x.GetParentValueCondition().(*StudySpec_ParameterSpec_ConditionalParameterSpec_ParentDiscreteValues); ok { + return x.ParentDiscreteValues + } + return nil +} + +func (x *StudySpec_ParameterSpec_ConditionalParameterSpec) GetParentIntValues() *StudySpec_ParameterSpec_ConditionalParameterSpec_IntValueCondition { + if x, ok := x.GetParentValueCondition().(*StudySpec_ParameterSpec_ConditionalParameterSpec_ParentIntValues); ok { + return x.ParentIntValues + } + return nil +} + +func (x *StudySpec_ParameterSpec_ConditionalParameterSpec) GetParentCategoricalValues() *StudySpec_ParameterSpec_ConditionalParameterSpec_CategoricalValueCondition { + if x, ok := x.GetParentValueCondition().(*StudySpec_ParameterSpec_ConditionalParameterSpec_ParentCategoricalValues); ok { + return x.ParentCategoricalValues + } + return nil +} + +func (x *StudySpec_ParameterSpec_ConditionalParameterSpec) GetParameterSpec() *StudySpec_ParameterSpec { + if x != nil { + return x.ParameterSpec + } + return nil +} + +type isStudySpec_ParameterSpec_ConditionalParameterSpec_ParentValueCondition interface { + isStudySpec_ParameterSpec_ConditionalParameterSpec_ParentValueCondition() +} + +type StudySpec_ParameterSpec_ConditionalParameterSpec_ParentDiscreteValues struct { + // The spec for matching values from a parent parameter of + // `DISCRETE` type. + ParentDiscreteValues *StudySpec_ParameterSpec_ConditionalParameterSpec_DiscreteValueCondition `protobuf:"bytes,2,opt,name=parent_discrete_values,json=parentDiscreteValues,proto3,oneof"` +} + +type StudySpec_ParameterSpec_ConditionalParameterSpec_ParentIntValues struct { + // The spec for matching values from a parent parameter of `INTEGER` + // type. + ParentIntValues *StudySpec_ParameterSpec_ConditionalParameterSpec_IntValueCondition `protobuf:"bytes,3,opt,name=parent_int_values,json=parentIntValues,proto3,oneof"` +} + +type StudySpec_ParameterSpec_ConditionalParameterSpec_ParentCategoricalValues struct { + // The spec for matching values from a parent parameter of + // `CATEGORICAL` type. + ParentCategoricalValues *StudySpec_ParameterSpec_ConditionalParameterSpec_CategoricalValueCondition `protobuf:"bytes,4,opt,name=parent_categorical_values,json=parentCategoricalValues,proto3,oneof"` +} + +func (*StudySpec_ParameterSpec_ConditionalParameterSpec_ParentDiscreteValues) isStudySpec_ParameterSpec_ConditionalParameterSpec_ParentValueCondition() { +} + +func (*StudySpec_ParameterSpec_ConditionalParameterSpec_ParentIntValues) isStudySpec_ParameterSpec_ConditionalParameterSpec_ParentValueCondition() { +} + +func (*StudySpec_ParameterSpec_ConditionalParameterSpec_ParentCategoricalValues) isStudySpec_ParameterSpec_ConditionalParameterSpec_ParentValueCondition() { +} + +// Represents the spec to match discrete values from parent parameter. +type StudySpec_ParameterSpec_ConditionalParameterSpec_DiscreteValueCondition struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Matches values of the parent parameter of 'DISCRETE' type. + // All values must exist in `discrete_value_spec` of parent parameter. + // + // The Epsilon of the value matching is 1e-10. + Values []float64 `protobuf:"fixed64,1,rep,packed,name=values,proto3" json:"values,omitempty"` +} + +func (x *StudySpec_ParameterSpec_ConditionalParameterSpec_DiscreteValueCondition) Reset() { + *x = StudySpec_ParameterSpec_ConditionalParameterSpec_DiscreteValueCondition{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_study_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StudySpec_ParameterSpec_ConditionalParameterSpec_DiscreteValueCondition) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StudySpec_ParameterSpec_ConditionalParameterSpec_DiscreteValueCondition) ProtoMessage() {} + +func (x *StudySpec_ParameterSpec_ConditionalParameterSpec_DiscreteValueCondition) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_study_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StudySpec_ParameterSpec_ConditionalParameterSpec_DiscreteValueCondition.ProtoReflect.Descriptor instead. +func (*StudySpec_ParameterSpec_ConditionalParameterSpec_DiscreteValueCondition) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_study_proto_rawDescGZIP(), []int{1, 1, 4, 0} +} + +func (x *StudySpec_ParameterSpec_ConditionalParameterSpec_DiscreteValueCondition) GetValues() []float64 { + if x != nil { + return x.Values + } + return nil +} + +// Represents the spec to match integer values from parent parameter. +type StudySpec_ParameterSpec_ConditionalParameterSpec_IntValueCondition struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Matches values of the parent parameter of 'INTEGER' type. + // All values must lie in `integer_value_spec` of parent parameter. + Values []int64 `protobuf:"varint,1,rep,packed,name=values,proto3" json:"values,omitempty"` +} + +func (x *StudySpec_ParameterSpec_ConditionalParameterSpec_IntValueCondition) Reset() { + *x = StudySpec_ParameterSpec_ConditionalParameterSpec_IntValueCondition{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_study_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StudySpec_ParameterSpec_ConditionalParameterSpec_IntValueCondition) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StudySpec_ParameterSpec_ConditionalParameterSpec_IntValueCondition) ProtoMessage() {} + +func (x *StudySpec_ParameterSpec_ConditionalParameterSpec_IntValueCondition) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_study_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StudySpec_ParameterSpec_ConditionalParameterSpec_IntValueCondition.ProtoReflect.Descriptor instead. +func (*StudySpec_ParameterSpec_ConditionalParameterSpec_IntValueCondition) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_study_proto_rawDescGZIP(), []int{1, 1, 4, 1} +} + +func (x *StudySpec_ParameterSpec_ConditionalParameterSpec_IntValueCondition) GetValues() []int64 { + if x != nil { + return x.Values + } + return nil +} + +// Represents the spec to match categorical values from parent parameter. +type StudySpec_ParameterSpec_ConditionalParameterSpec_CategoricalValueCondition struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Matches values of the parent parameter of 'CATEGORICAL' type. + // All values must exist in `categorical_value_spec` of parent + // parameter. + Values []string `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"` +} + +func (x *StudySpec_ParameterSpec_ConditionalParameterSpec_CategoricalValueCondition) Reset() { + *x = StudySpec_ParameterSpec_ConditionalParameterSpec_CategoricalValueCondition{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_study_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StudySpec_ParameterSpec_ConditionalParameterSpec_CategoricalValueCondition) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StudySpec_ParameterSpec_ConditionalParameterSpec_CategoricalValueCondition) ProtoMessage() {} + +func (x *StudySpec_ParameterSpec_ConditionalParameterSpec_CategoricalValueCondition) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_study_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StudySpec_ParameterSpec_ConditionalParameterSpec_CategoricalValueCondition.ProtoReflect.Descriptor instead. +func (*StudySpec_ParameterSpec_ConditionalParameterSpec_CategoricalValueCondition) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_study_proto_rawDescGZIP(), []int{1, 1, 4, 2} +} + +func (x *StudySpec_ParameterSpec_ConditionalParameterSpec_CategoricalValueCondition) GetValues() []string { + if x != nil { + return x.Values + } + return nil +} + // A message representing a metric in the measurement. type Measurement_Metric struct { state protoimpl.MessageState @@ -1004,7 +1286,7 @@ type Measurement_Metric struct { func (x *Measurement_Metric) Reset() { *x = Measurement_Metric{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_study_proto_msgTypes[10] + mi := &file_google_cloud_aiplatform_v1beta1_study_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1017,7 +1299,7 @@ func (x *Measurement_Metric) String() string { func (*Measurement_Metric) ProtoMessage() {} func (x *Measurement_Metric) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_study_proto_msgTypes[10] + mi := &file_google_cloud_aiplatform_v1beta1_study_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1109,8 +1391,8 @@ var file_google_cloud_aiplatform_v1beta1_study_proto_rawDesc = []byte{ 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x54, 0x4f, 0x50, 0x50, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x55, 0x43, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0x04, 0x12, 0x0e, - 0x0a, 0x0a, 0x49, 0x4e, 0x46, 0x45, 0x41, 0x53, 0x49, 0x42, 0x4c, 0x45, 0x10, 0x05, 0x22, 0xe1, - 0x0c, 0x0a, 0x09, 0x53, 0x74, 0x75, 0x64, 0x79, 0x53, 0x70, 0x65, 0x63, 0x12, 0x54, 0x0a, 0x07, + 0x0a, 0x0a, 0x49, 0x4e, 0x46, 0x45, 0x41, 0x53, 0x49, 0x42, 0x4c, 0x45, 0x10, 0x05, 0x22, 0x98, + 0x14, 0x0a, 0x09, 0x53, 0x74, 0x75, 0x64, 0x79, 0x53, 0x70, 0x65, 0x63, 0x12, 0x54, 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, @@ -1140,7 +1422,7 @@ var file_google_cloud_aiplatform_v1beta1_study_proto_rawDesc = []byte{ 0x4f, 0x41, 0x4c, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x4d, 0x41, 0x58, 0x49, 0x4d, 0x49, 0x5a, 0x45, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x4d, 0x49, 0x4e, 0x49, 0x4d, 0x49, 0x5a, 0x45, - 0x10, 0x02, 0x1a, 0xb1, 0x08, 0x0a, 0x0d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, + 0x10, 0x02, 0x1a, 0xe8, 0x0f, 0x0a, 0x0d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x12, 0x76, 0x0a, 0x11, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, @@ -1181,59 +1463,118 @@ var file_google_cloud_aiplatform_v1beta1_study_proto_rawDesc = []byte{ 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x75, 0x64, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x73, - 0x63, 0x61, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x1a, 0x55, 0x0a, 0x0f, 0x44, 0x6f, 0x75, 0x62, - 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x20, 0x0a, 0x09, 0x6d, - 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x20, 0x0a, - 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, - 0x56, 0x0a, 0x10, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, - 0x70, 0x65, 0x63, 0x12, 0x20, 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, 0x69, 0x6e, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x20, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, - 0x61, 0x78, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x33, 0x0a, 0x14, 0x43, 0x61, 0x74, 0x65, 0x67, - 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, - 0x1b, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x1a, 0x30, 0x0a, 0x11, - 0x44, 0x69, 0x73, 0x63, 0x72, 0x65, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x70, 0x65, - 0x63, 0x12, 0x1b, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x01, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x6e, - 0x0a, 0x09, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x53, - 0x43, 0x41, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, - 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x55, 0x4e, 0x49, 0x54, 0x5f, - 0x4c, 0x49, 0x4e, 0x45, 0x41, 0x52, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x12, - 0x0a, 0x0e, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x4c, 0x4f, 0x47, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x45, - 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x56, 0x45, 0x52, - 0x53, 0x45, 0x5f, 0x4c, 0x4f, 0x47, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x45, 0x10, 0x03, 0x42, 0x16, - 0x0a, 0x14, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x22, 0x4a, 0x0a, 0x09, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, - 0x74, 0x68, 0x6d, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x4c, 0x47, 0x4f, 0x52, 0x49, 0x54, 0x48, 0x4d, - 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, - 0x0a, 0x0b, 0x47, 0x52, 0x49, 0x44, 0x5f, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x10, 0x02, 0x12, - 0x11, 0x0a, 0x0d, 0x52, 0x41, 0x4e, 0x44, 0x4f, 0x4d, 0x5f, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, - 0x10, 0x03, 0x22, 0xcc, 0x01, 0x0a, 0x0b, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x73, 0x74, 0x65, 0x70, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x73, 0x74, 0x65, - 0x70, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x52, 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, - 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x42, 0x03, 0xe0, 0x41, - 0x03, 0x52, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x1a, 0x45, 0x0a, 0x06, 0x4d, 0x65, - 0x74, 0x72, 0x69, 0x63, 0x12, 0x20, 0x0a, 0x09, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x08, 0x6d, 0x65, - 0x74, 0x72, 0x69, 0x63, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x01, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x42, 0x7e, 0x0a, 0x23, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0a, 0x53, 0x74, 0x75, 0x64, 0x79, 0x50, - 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x49, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, - 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x63, 0x61, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x91, 0x01, 0x0a, 0x1b, 0x63, 0x6f, 0x6e, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, + 0x65, 0x72, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x51, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x53, 0x74, 0x75, 0x64, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x65, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, + 0x63, 0x52, 0x19, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x73, 0x1a, 0x55, 0x0a, 0x0f, + 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, + 0x20, 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x01, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x12, 0x20, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x01, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x1a, 0x56, 0x0a, 0x10, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x20, 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x5f, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x08, 0x6d, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x20, 0x0a, 0x09, 0x6d, 0x61, 0x78, + 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x33, 0x0a, 0x14, 0x43, + 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, + 0x70, 0x65, 0x63, 0x12, 0x1b, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, + 0x1a, 0x30, 0x0a, 0x11, 0x44, 0x69, 0x73, 0x63, 0x72, 0x65, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x1b, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x01, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x73, 0x1a, 0xa0, 0x06, 0x0a, 0x18, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x12, + 0xa0, 0x01, 0x0a, 0x16, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x72, + 0x65, 0x74, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x68, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x53, 0x74, 0x75, 0x64, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, + 0x70, 0x65, 0x63, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x72, 0x65, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x14, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x63, 0x72, 0x65, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x73, 0x12, 0x91, 0x01, 0x0a, 0x11, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, + 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x63, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x53, 0x74, 0x75, 0x64, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x65, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, + 0x63, 0x2e, 0x49, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x74, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0xa9, 0x01, 0x0a, 0x19, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x6b, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x75, + 0x64, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, + 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x61, + 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x43, 0x6f, + 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x17, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x73, 0x12, 0x64, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, + 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x75, + 0x64, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, + 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x61, 0x6d, + 0x65, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x1a, 0x35, 0x0a, 0x16, 0x44, 0x69, 0x73, 0x63, + 0x72, 0x65, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x01, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x1a, + 0x30, 0x0a, 0x11, 0x49, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x73, 0x1a, 0x38, 0x0a, 0x19, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, + 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x42, 0x18, 0x0a, 0x16, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x64, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6e, 0x0a, 0x09, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x43, 0x41, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, + 0x0a, 0x11, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x4c, 0x49, 0x4e, 0x45, 0x41, 0x52, 0x5f, 0x53, 0x43, + 0x41, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x4c, 0x4f, + 0x47, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x45, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x55, 0x4e, 0x49, + 0x54, 0x5f, 0x52, 0x45, 0x56, 0x45, 0x52, 0x53, 0x45, 0x5f, 0x4c, 0x4f, 0x47, 0x5f, 0x53, 0x43, + 0x41, 0x4c, 0x45, 0x10, 0x03, 0x42, 0x16, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, + 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x22, 0x4a, 0x0a, + 0x09, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x4c, + 0x47, 0x4f, 0x52, 0x49, 0x54, 0x48, 0x4d, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x47, 0x52, 0x49, 0x44, 0x5f, 0x53, 0x45, + 0x41, 0x52, 0x43, 0x48, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x41, 0x4e, 0x44, 0x4f, 0x4d, + 0x5f, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x10, 0x03, 0x22, 0xcc, 0x01, 0x0a, 0x0b, 0x4d, 0x65, + 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x73, 0x74, 0x65, + 0x70, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x09, 0x73, 0x74, 0x65, 0x70, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x52, 0x0a, + 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, + 0x73, 0x1a, 0x45, 0x0a, 0x06, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x20, 0x0a, 0x09, 0x6d, + 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x64, 0x12, 0x19, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x7e, 0x0a, 0x23, 0x63, 0x6f, 0x6d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, + 0x0a, 0x53, 0x74, 0x75, 0x64, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x49, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, + 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1249,48 +1590,57 @@ func file_google_cloud_aiplatform_v1beta1_study_proto_rawDescGZIP() []byte { } var file_google_cloud_aiplatform_v1beta1_study_proto_enumTypes = make([]protoimpl.EnumInfo, 4) -var file_google_cloud_aiplatform_v1beta1_study_proto_msgTypes = make([]protoimpl.MessageInfo, 11) +var file_google_cloud_aiplatform_v1beta1_study_proto_msgTypes = make([]protoimpl.MessageInfo, 15) var file_google_cloud_aiplatform_v1beta1_study_proto_goTypes = []interface{}{ - (Trial_State)(0), // 0: google.cloud.aiplatform.v1beta1.Trial.State - (StudySpec_Algorithm)(0), // 1: google.cloud.aiplatform.v1beta1.StudySpec.Algorithm - (StudySpec_MetricSpec_GoalType)(0), // 2: google.cloud.aiplatform.v1beta1.StudySpec.MetricSpec.GoalType - (StudySpec_ParameterSpec_ScaleType)(0), // 3: google.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.ScaleType - (*Trial)(nil), // 4: google.cloud.aiplatform.v1beta1.Trial - (*StudySpec)(nil), // 5: google.cloud.aiplatform.v1beta1.StudySpec - (*Measurement)(nil), // 6: google.cloud.aiplatform.v1beta1.Measurement - (*Trial_Parameter)(nil), // 7: google.cloud.aiplatform.v1beta1.Trial.Parameter - (*StudySpec_MetricSpec)(nil), // 8: google.cloud.aiplatform.v1beta1.StudySpec.MetricSpec - (*StudySpec_ParameterSpec)(nil), // 9: google.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec - (*StudySpec_ParameterSpec_DoubleValueSpec)(nil), // 10: google.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.DoubleValueSpec - (*StudySpec_ParameterSpec_IntegerValueSpec)(nil), // 11: google.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.IntegerValueSpec - (*StudySpec_ParameterSpec_CategoricalValueSpec)(nil), // 12: google.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.CategoricalValueSpec - (*StudySpec_ParameterSpec_DiscreteValueSpec)(nil), // 13: google.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.DiscreteValueSpec - (*Measurement_Metric)(nil), // 14: google.cloud.aiplatform.v1beta1.Measurement.Metric - (*timestamppb.Timestamp)(nil), // 15: google.protobuf.Timestamp - (*structpb.Value)(nil), // 16: google.protobuf.Value + (Trial_State)(0), // 0: google.cloud.aiplatform.v1beta1.Trial.State + (StudySpec_Algorithm)(0), // 1: google.cloud.aiplatform.v1beta1.StudySpec.Algorithm + (StudySpec_MetricSpec_GoalType)(0), // 2: google.cloud.aiplatform.v1beta1.StudySpec.MetricSpec.GoalType + (StudySpec_ParameterSpec_ScaleType)(0), // 3: google.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.ScaleType + (*Trial)(nil), // 4: google.cloud.aiplatform.v1beta1.Trial + (*StudySpec)(nil), // 5: google.cloud.aiplatform.v1beta1.StudySpec + (*Measurement)(nil), // 6: google.cloud.aiplatform.v1beta1.Measurement + (*Trial_Parameter)(nil), // 7: google.cloud.aiplatform.v1beta1.Trial.Parameter + (*StudySpec_MetricSpec)(nil), // 8: google.cloud.aiplatform.v1beta1.StudySpec.MetricSpec + (*StudySpec_ParameterSpec)(nil), // 9: google.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec + (*StudySpec_ParameterSpec_DoubleValueSpec)(nil), // 10: google.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.DoubleValueSpec + (*StudySpec_ParameterSpec_IntegerValueSpec)(nil), // 11: google.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.IntegerValueSpec + (*StudySpec_ParameterSpec_CategoricalValueSpec)(nil), // 12: google.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.CategoricalValueSpec + (*StudySpec_ParameterSpec_DiscreteValueSpec)(nil), // 13: google.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.DiscreteValueSpec + (*StudySpec_ParameterSpec_ConditionalParameterSpec)(nil), // 14: google.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.ConditionalParameterSpec + (*StudySpec_ParameterSpec_ConditionalParameterSpec_DiscreteValueCondition)(nil), // 15: google.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.ConditionalParameterSpec.DiscreteValueCondition + (*StudySpec_ParameterSpec_ConditionalParameterSpec_IntValueCondition)(nil), // 16: google.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.ConditionalParameterSpec.IntValueCondition + (*StudySpec_ParameterSpec_ConditionalParameterSpec_CategoricalValueCondition)(nil), // 17: google.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.ConditionalParameterSpec.CategoricalValueCondition + (*Measurement_Metric)(nil), // 18: google.cloud.aiplatform.v1beta1.Measurement.Metric + (*timestamppb.Timestamp)(nil), // 19: google.protobuf.Timestamp + (*structpb.Value)(nil), // 20: google.protobuf.Value } var file_google_cloud_aiplatform_v1beta1_study_proto_depIdxs = []int32{ 0, // 0: google.cloud.aiplatform.v1beta1.Trial.state:type_name -> google.cloud.aiplatform.v1beta1.Trial.State 7, // 1: google.cloud.aiplatform.v1beta1.Trial.parameters:type_name -> google.cloud.aiplatform.v1beta1.Trial.Parameter 6, // 2: google.cloud.aiplatform.v1beta1.Trial.final_measurement:type_name -> google.cloud.aiplatform.v1beta1.Measurement - 15, // 3: google.cloud.aiplatform.v1beta1.Trial.start_time:type_name -> google.protobuf.Timestamp - 15, // 4: google.cloud.aiplatform.v1beta1.Trial.end_time:type_name -> google.protobuf.Timestamp + 19, // 3: google.cloud.aiplatform.v1beta1.Trial.start_time:type_name -> google.protobuf.Timestamp + 19, // 4: google.cloud.aiplatform.v1beta1.Trial.end_time:type_name -> google.protobuf.Timestamp 8, // 5: google.cloud.aiplatform.v1beta1.StudySpec.metrics:type_name -> google.cloud.aiplatform.v1beta1.StudySpec.MetricSpec 9, // 6: google.cloud.aiplatform.v1beta1.StudySpec.parameters:type_name -> google.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec 1, // 7: google.cloud.aiplatform.v1beta1.StudySpec.algorithm:type_name -> google.cloud.aiplatform.v1beta1.StudySpec.Algorithm - 14, // 8: google.cloud.aiplatform.v1beta1.Measurement.metrics:type_name -> google.cloud.aiplatform.v1beta1.Measurement.Metric - 16, // 9: google.cloud.aiplatform.v1beta1.Trial.Parameter.value:type_name -> google.protobuf.Value + 18, // 8: google.cloud.aiplatform.v1beta1.Measurement.metrics:type_name -> google.cloud.aiplatform.v1beta1.Measurement.Metric + 20, // 9: google.cloud.aiplatform.v1beta1.Trial.Parameter.value:type_name -> google.protobuf.Value 2, // 10: google.cloud.aiplatform.v1beta1.StudySpec.MetricSpec.goal:type_name -> google.cloud.aiplatform.v1beta1.StudySpec.MetricSpec.GoalType 10, // 11: google.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.double_value_spec:type_name -> google.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.DoubleValueSpec 11, // 12: google.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.integer_value_spec:type_name -> google.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.IntegerValueSpec 12, // 13: google.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.categorical_value_spec:type_name -> google.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.CategoricalValueSpec 13, // 14: google.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.discrete_value_spec:type_name -> google.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.DiscreteValueSpec 3, // 15: google.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.scale_type:type_name -> google.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.ScaleType - 16, // [16:16] is the sub-list for method output_type - 16, // [16:16] is the sub-list for method input_type - 16, // [16:16] is the sub-list for extension type_name - 16, // [16:16] is the sub-list for extension extendee - 0, // [0:16] is the sub-list for field type_name + 14, // 16: google.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.conditional_parameter_specs:type_name -> google.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.ConditionalParameterSpec + 15, // 17: google.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.ConditionalParameterSpec.parent_discrete_values:type_name -> google.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.ConditionalParameterSpec.DiscreteValueCondition + 16, // 18: google.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.ConditionalParameterSpec.parent_int_values:type_name -> google.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.ConditionalParameterSpec.IntValueCondition + 17, // 19: google.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.ConditionalParameterSpec.parent_categorical_values:type_name -> google.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.ConditionalParameterSpec.CategoricalValueCondition + 9, // 20: google.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.ConditionalParameterSpec.parameter_spec:type_name -> google.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec + 21, // [21:21] is the sub-list for method output_type + 21, // [21:21] is the sub-list for method input_type + 21, // [21:21] is the sub-list for extension type_name + 21, // [21:21] is the sub-list for extension extendee + 0, // [0:21] is the sub-list for field type_name } func init() { file_google_cloud_aiplatform_v1beta1_study_proto_init() } @@ -1420,6 +1770,54 @@ func file_google_cloud_aiplatform_v1beta1_study_proto_init() { } } file_google_cloud_aiplatform_v1beta1_study_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StudySpec_ParameterSpec_ConditionalParameterSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1beta1_study_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StudySpec_ParameterSpec_ConditionalParameterSpec_DiscreteValueCondition); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1beta1_study_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StudySpec_ParameterSpec_ConditionalParameterSpec_IntValueCondition); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1beta1_study_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StudySpec_ParameterSpec_ConditionalParameterSpec_CategoricalValueCondition); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1beta1_study_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Measurement_Metric); i { case 0: return &v.state @@ -1438,13 +1836,18 @@ func file_google_cloud_aiplatform_v1beta1_study_proto_init() { (*StudySpec_ParameterSpec_CategoricalValueSpec_)(nil), (*StudySpec_ParameterSpec_DiscreteValueSpec_)(nil), } + file_google_cloud_aiplatform_v1beta1_study_proto_msgTypes[10].OneofWrappers = []interface{}{ + (*StudySpec_ParameterSpec_ConditionalParameterSpec_ParentDiscreteValues)(nil), + (*StudySpec_ParameterSpec_ConditionalParameterSpec_ParentIntValues)(nil), + (*StudySpec_ParameterSpec_ConditionalParameterSpec_ParentCategoricalValues)(nil), + } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_google_cloud_aiplatform_v1beta1_study_proto_rawDesc, NumEnums: 4, - NumMessages: 11, + NumMessages: 15, NumExtensions: 0, NumServices: 0, }, diff --git a/googleapis/cloud/aiplatform/v1beta1/training_pipeline.pb.go b/googleapis/cloud/aiplatform/v1beta1/training_pipeline.pb.go index ca320b494..ed8e60a8d 100644 --- a/googleapis/cloud/aiplatform/v1beta1/training_pipeline.pb.go +++ b/googleapis/cloud/aiplatform/v1beta1/training_pipeline.pb.go @@ -273,18 +273,23 @@ type InputDataConfig struct { Split isInputDataConfig_Split `protobuf_oneof:"split"` // Only applicable to Custom and Hyperparameter Tuning TrainingPipelines. // - // The destination of the input data to be written to. + // The destination of the training data to be written to. + // + // Supported destination file formats: + // * For non-tabular data: "jsonl". + // * For tabular data: "csv" and "bigquery". // // Following AI Platform environment variables will be passed to containers // or python modules of the training task when this field is set: // - // * AIP_DATA_FORMAT : Exported data format. Supported formats: "jsonl". + // * AIP_DATA_FORMAT : Exported data format. // * AIP_TRAINING_DATA_URI : Sharded exported training data uris. // * AIP_VALIDATION_DATA_URI : Sharded exported validation data uris. // * AIP_TEST_DATA_URI : Sharded exported test data uris. // // Types that are assignable to Destination: // *InputDataConfig_GcsDestination + // *InputDataConfig_BigqueryDestination Destination isInputDataConfig_Destination `protobuf_oneof:"destination"` // Required. The ID of the Dataset in the same Project and Location which data will be // used to train the Model. The Dataset must use schema compatible with @@ -410,6 +415,13 @@ func (x *InputDataConfig) GetGcsDestination() *GcsDestination { return nil } +func (x *InputDataConfig) GetBigqueryDestination() *BigQueryDestination { + if x, ok := x.GetDestination().(*InputDataConfig_BigqueryDestination); ok { + return x.BigqueryDestination + } + return nil +} + func (x *InputDataConfig) GetDatasetId() string { if x != nil { return x.DatasetId @@ -472,21 +484,54 @@ type isInputDataConfig_Destination interface { } type InputDataConfig_GcsDestination struct { - // The Google Cloud Storage location. + // The Google Cloud Storage location where the training data is to be + // written to. In the given directory a new directory will be created with + // name: + // `dataset---` + // where timestamp is in YYYY-MM-DDThh:mm:ss.sssZ ISO-8601 format. + // All training input data will be written into that directory. // // The AI Platform environment variables representing Google Cloud Storage // data URIs will always be represented in the Google Cloud Storage wildcard - // format to support sharded data. e.g.: "gs://.../training-* + // format to support sharded data. e.g.: "gs://.../training-*.jsonl" + // + // * AIP_DATA_FORMAT = "jsonl" for non-tabular data, "csv" for tabular data + // * AIP_TRAINING_DATA_URI = + // + // "gcs_destination/dataset---