docs: remove experimental declarations from RPC service definitions

feat: add support for contribution analysis ML models
feat: add support for IAM conditions to datasets
feat: relax field requirements in BigLakeConfiguration

PiperOrigin-RevId: 691474996
This commit is contained in:
Google APIs 2024-10-30 10:42:09 -07:00 committed by Copybara-Service
parent 805ed1289b
commit c379ff496e
8 changed files with 116 additions and 34 deletions

View file

@ -74,6 +74,7 @@ proto_library(
"//google/api:client_proto",
"//google/api:field_behavior_proto",
"//google/api:resource_proto",
"//google/type:expr_proto",
"@com_google_protobuf//:duration_proto",
"@com_google_protobuf//:empty_proto",
"@com_google_protobuf//:field_mask_proto",
@ -126,6 +127,7 @@ go_proto_library(
protos = [":bigquery_proto"],
deps = [
"//google/api:annotations_go_proto",
"//google/type:expr_go_proto",
],
)

View file

@ -43,20 +43,20 @@ message BigLakeConfiguration {
ICEBERG = 1;
}
// Required. The connection specifying the credentials to be used to read and
// Optional. The connection specifying the credentials to be used to read and
// write to external storage, such as Cloud Storage. The connection_id can
// have the form `{project}.{location}.{connection_id}` or
// `projects/{project}/locations/{location}/connections/{connection_id}".
string connection_id = 1 [(google.api.field_behavior) = REQUIRED];
string connection_id = 1 [(google.api.field_behavior) = OPTIONAL];
// Required. The fully qualified location prefix of the external folder where
// Optional. The fully qualified location prefix of the external folder where
// table data is stored. The '*' wildcard character is not allowed. The URI
// should be in the format `gs://bucket/path_to_table/`
string storage_uri = 2 [(google.api.field_behavior) = REQUIRED];
string storage_uri = 2 [(google.api.field_behavior) = OPTIONAL];
// Required. The file format the table data is stored in.
FileFormat file_format = 3 [(google.api.field_behavior) = REQUIRED];
// Optional. The file format the table data is stored in.
FileFormat file_format = 3 [(google.api.field_behavior) = OPTIONAL];
// Required. The table format the metadata only snapshots are stored in.
TableFormat table_format = 4 [(google.api.field_behavior) = REQUIRED];
// Optional. The table format the metadata only snapshots are stored in.
TableFormat table_format = 4 [(google.api.field_behavior) = OPTIONAL];
}

View file

@ -30,15 +30,13 @@ import "google/cloud/bigquery/v2/table_schema.proto";
import "google/protobuf/empty.proto";
import "google/protobuf/timestamp.proto";
import "google/protobuf/wrappers.proto";
import "google/type/expr.proto";
option go_package = "cloud.google.com/go/bigquery/apiv2/bigquerypb;bigquerypb";
option java_outer_classname = "DatasetProto";
option java_package = "com.google.cloud.bigquery.v2";
// This is an experimental RPC service definition for the BigQuery
// Dataset Service.
//
// It should not be relied on for production use cases at this time.
// DatasetService provides methods for managing BigQuery datasets.
service DatasetService {
option (google.api.default_host) = "bigquery.googleapis.com";
option (google.api.oauth_scopes) =
@ -205,6 +203,10 @@ message Access {
// is deleted and re-created, its access needs to be granted again via an
// update operation.
DatasetAccessEntry dataset = 9;
// Optional. condition for the binding. If CEL expression in this field is
// true, this access binding will be considered
google.type.Expr condition = 10 [(google.api.field_behavior) = OPTIONAL];
}
// Represents a BigQuery dataset.
@ -492,6 +494,34 @@ message GetDatasetRequest {
// Optional. Specifies the view that determines which dataset information is
// returned. By default, metadata and ACL information are returned.
DatasetView dataset_view = 3 [(google.api.field_behavior) = OPTIONAL];
// Optional. The version of the access policy schema to fetch.
// Valid values are 0, 1, and 3. Requests specifying an invalid value will be
// rejected.
//
// Requests for conditional access policy binding in datasets must specify
// version 3. Dataset with no conditional role bindings in access policy may
// specify any valid value or leave the field unset.
//
// This field will be maped to [IAM Policy version]
// (https://cloud.google.com/iam/docs/policies#versions) and will be used to
// fetch policy from IAM.
//
// If unset or if 0 or 1 value is used for dataset with conditional bindings,
// access entry with condition will have role string appended by
// 'withcond' string followed by a hash value. For example :
// {
// "access": [
// {
// "role":
// "roles/bigquery.dataViewer_with_conditionalbinding_7a34awqsda",
// "userByEmail": "user@example.com",
// }
// ]
// }
// Please refer https://cloud.google.com/iam/docs/troubleshooting-withcond for
// more details.
int32 access_policy_version = 4 [(google.api.field_behavior) = OPTIONAL];
}
// Request format for inserting a dataset.
@ -501,6 +531,27 @@ message InsertDatasetRequest {
// Required. Datasets resource to use for the new dataset
Dataset dataset = 2 [(google.api.field_behavior) = REQUIRED];
// Optional. The version of the provided access policy schema.
// Valid values are 0, 1, and 3. Requests specifying an invalid value will be
// rejected.
//
// This version refers to the schema version of the access policy and not the
// version of access policy. This field's value can be equal or more
// than the access policy schema provided in the request.
// For example,
// * Requests with conditional access policy binding in datasets must
// specify
// version 3.
// * But dataset with no conditional role bindings in access policy
// may specify any valid value or leave the field unset.
// If unset or if 0 or 1 value is used for dataset with conditional
// bindings, request will be rejected.
//
// This field will be maped to IAM Policy version
// (https://cloud.google.com/iam/docs/policies#versions) and will be used to
// set policy in IAM.
int32 access_policy_version = 4 [(google.api.field_behavior) = OPTIONAL];
}
// Message for updating or patching a dataset.
@ -514,6 +565,30 @@ message UpdateOrPatchDatasetRequest {
// Required. Datasets resource which will replace or patch the specified
// dataset.
Dataset dataset = 3 [(google.api.field_behavior) = REQUIRED];
// Optional. The version of the provided access policy schema.
// Valid values are 0, 1, and 3. Requests specifying an invalid value will be
// rejected.
//
// This version refers to the schema version of the access policy and not the
// version of access policy. This field's value can be equal or more
// than the access policy schema provided in the request.
// For example,
// * Operations updating conditional access policy binding in datasets must
// specify
// version 3. Some of the operations are :
// - Adding a new access policy entry with condition.
// - Removing an access policy entry with condition.
// - Updating an access policy entry with condition.
// * But dataset with no conditional role bindings in access policy
// may specify any valid value or leave the field unset.
// If unset or if 0 or 1 value is used for dataset with conditional
// bindings, request will be rejected.
//
// This field will be maped to IAM Policy version
// (https://cloud.google.com/iam/docs/policies#versions) and will be used to
// set policy in IAM.
int32 access_policy_version = 5 [(google.api.field_behavior) = OPTIONAL];
}
// Request format for deleting a dataset.

View file

@ -39,10 +39,6 @@ option go_package = "cloud.google.com/go/bigquery/apiv2/bigquerypb;bigquerypb";
option java_outer_classname = "JobProto";
option java_package = "com.google.cloud.bigquery.v2";
// This is an experimental RPC service definition for the BigQuery
// Job Service.
//
// It should not be relied on for production use cases at this time.
service JobService {
option (google.api.default_host) = "bigquery.googleapis.com";
option (google.api.oauth_scopes) =

View file

@ -31,10 +31,7 @@ option go_package = "cloud.google.com/go/bigquery/apiv2/bigquerypb;bigquerypb";
option java_outer_classname = "ModelProto";
option java_package = "com.google.cloud.bigquery.v2";
// This is an experimental RPC service definition for the BigQuery
// Model Service.
//
// It should not be relied on for production use cases at this time.
// Model Service for BigQuery ML
service ModelService {
option (google.api.default_host) = "bigquery.googleapis.com";
option (google.api.oauth_scopes) =
@ -227,6 +224,9 @@ message Model {
// Model to capture the columns and logic in the TRANSFORM clause along with
// statistics useful for ML analytic functions.
TRANSFORM_ONLY = 29;
// The contribution analysis model.
CONTRIBUTION_ANALYSIS = 37;
}
// Loss metric to evaluate model training performance.
@ -1486,6 +1486,24 @@ message Model {
// The version aliases to apply in Vertex AI model registry. Always
// overwrite if the version aliases exists in a existing model.
repeated string vertex_ai_model_version_aliases = 97;
// Optional. Names of the columns to slice on. Applies to contribution
// analysis models.
repeated string dimension_id_columns = 104
[(google.api.field_behavior) = OPTIONAL];
// The contribution metric. Applies to contribution analysis models.
// Allowed formats supported are for summable and summable ratio
// contribution metrics. These include expressions such as `SUM(x)` or
// `SUM(x)/SUM(y)`, where x and y are column names from the base table.
optional string contribution_metric = 105;
// Name of the column used to determine the rows corresponding to control
// and test. Applies to contribution analysis models.
optional string is_test_column = 106;
// The apriori support minimum. Applies to contribution analysis models.
optional double min_apriori_support = 107;
}
// Information about a single iteration of the training run.

View file

@ -24,10 +24,7 @@ option go_package = "cloud.google.com/go/bigquery/apiv2/bigquerypb;bigquerypb";
option java_outer_classname = "ProjectProto";
option java_package = "com.google.cloud.bigquery.v2";
// This is an experimental RPC service definition for the BigQuery
// Project Service.
//
// It should not be relied on for production use cases at this time.
// This service provides access to BigQuery functionality related to projects.
service ProjectService {
option (google.api.default_host) = "bigquery.googleapis.com";
option (google.api.oauth_scopes) =

View file

@ -29,10 +29,7 @@ option go_package = "cloud.google.com/go/bigquery/apiv2/bigquerypb;bigquerypb";
option java_outer_classname = "RoutineProto";
option java_package = "com.google.cloud.bigquery.v2";
// This is an experimental RPC service definition for the BigQuery
// Routine Service.
//
// It should not be relied on for production use cases at this time.
// RoutineService provides management access to BigQuery routines.
service RoutineService {
option (google.api.default_host) = "bigquery.googleapis.com";
option (google.api.oauth_scopes) =
@ -137,7 +134,6 @@ message Routine {
FIXED_TYPE = 1;
// The argument is any type, including struct or array, but not a table.
// To be added: FIXED_TABLE, ANY_TABLE
ANY_TYPE = 2;
}
@ -167,7 +163,7 @@ message Routine {
// Can be set for procedures only.
Mode mode = 3;
// Required unless argument_kind = ANY_TYPE.
// Set if argument_kind == FIXED_TYPE.
StandardSqlDataType data_type = 4;
// Optional. Whether the argument is an aggregate function parameter.

View file

@ -42,10 +42,8 @@ option go_package = "cloud.google.com/go/bigquery/apiv2/bigquerypb;bigquerypb";
option java_outer_classname = "TableProto";
option java_package = "com.google.cloud.bigquery.v2";
// This is an experimental RPC service definition for the BigQuery
// Table Service.
//
// It should not be relied on for production use cases at this time.
// TableService provides methods for managing BigQuery tables and table-like
// entities such as views and snapshots.
service TableService {
option (google.api.default_host) = "bigquery.googleapis.com";
option (google.api.oauth_scopes) =