Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BigQuery: Add 'Model.encryption_config' (via synth). #9214

Merged
merged 2 commits into from
Sep 13, 2019
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 33 additions & 0 deletions bigquery/google/cloud/bigquery_v2/proto/encryption_config.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
// Copyright 2019 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.
//

syntax = "proto3";

package google.cloud.bigquery.v2;

import "google/api/field_behavior.proto";
import "google/protobuf/wrappers.proto";
import "google/api/annotations.proto";

option go_package = "google.golang.org/genproto/googleapis/cloud/bigquery/v2;bigquery";
option java_outer_classname = "EncryptionConfigProto";
option java_package = "com.google.cloud.bigquery.v2";

message EncryptionConfiguration {
// Optional. Describes the Cloud KMS encryption key that will be used to
// protect destination BigQuery table. The BigQuery Service Account associated
// with your project requires access to this encryption key.
google.protobuf.StringValue kms_key_name = 1 [(google.api.field_behavior) = OPTIONAL];
}
106 changes: 106 additions & 0 deletions bigquery/google/cloud/bigquery_v2/proto/encryption_config_pb2.py

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
import grpc
108 changes: 58 additions & 50 deletions bigquery/google/cloud/bigquery_v2/proto/model.proto
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,15 @@ syntax = "proto3";

package google.cloud.bigquery.v2;

import "google/api/client.proto";
import "google/api/field_behavior.proto";
import "google/cloud/bigquery/v2/encryption_config.proto";
import "google/cloud/bigquery/v2/model_reference.proto";
import "google/cloud/bigquery/v2/standard_sql.proto";
import "google/protobuf/empty.proto";
import "google/protobuf/timestamp.proto";
import "google/protobuf/wrappers.proto";
import "google/api/annotations.proto";
import "google/api/client.proto";

option go_package = "google.golang.org/genproto/googleapis/cloud/bigquery/v2;bigquery";
option java_outer_classname = "ModelProto";
Expand All @@ -39,19 +41,23 @@ service ModelService {

// Gets the specified model resource by model ID.
rpc GetModel(GetModelRequest) returns (Model) {
option (google.api.method_signature) = "project_id,dataset_id,model_id";
}

// Lists all models in the specified dataset. Requires the READER dataset
// role.
rpc ListModels(ListModelsRequest) returns (ListModelsResponse) {
option (google.api.method_signature) = "project_id,dataset_id,max_results";
}

// Patch specific fields in the specified model.
rpc PatchModel(PatchModelRequest) returns (Model) {
option (google.api.method_signature) = "project_id,dataset_id,model_id,model";
}

// Deletes the model specified by modelId from the dataset.
rpc DeleteModel(DeleteModelRequest) returns (google.protobuf.Empty) {
option (google.api.method_signature) = "project_id,dataset_id,model_id";
}
}

Expand Down Expand Up @@ -236,7 +242,7 @@ message Model {

// Counts of all categories for the categorical feature. If there are
// more than ten categories, we return top ten (by count) and return
// one more CategoryCount with category _OTHER_ and count as
// one more CategoryCount with category "_OTHER_" and count as
// aggregate counts of remaining categories.
repeated CategoryCount category_counts = 1;
}
Expand Down Expand Up @@ -514,103 +520,105 @@ message Model {
}

// Output only. A hash of this resource.
string etag = 1;
string etag = 1 [(google.api.field_behavior) = OUTPUT_ONLY];

// Required. Unique identifier for this model.
ModelReference model_reference = 2;
ModelReference model_reference = 2 [(google.api.field_behavior) = REQUIRED];

// Output only. The time when this model was created, in millisecs since the
// epoch.
int64 creation_time = 5;
// Output only. The time when this model was created, in millisecs since the epoch.
int64 creation_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY];

// Output only. The time when this model was last modified, in millisecs
// since the epoch.
int64 last_modified_time = 6;
// Output only. The time when this model was last modified, in millisecs since the epoch.
int64 last_modified_time = 6 [(google.api.field_behavior) = OUTPUT_ONLY];

// [Optional] A user-friendly description of this model.
string description = 12;
// Optional. A user-friendly description of this model.
string description = 12 [(google.api.field_behavior) = OPTIONAL];

// [Optional] A descriptive name for this model.
string friendly_name = 14;
// Optional. A descriptive name for this model.
string friendly_name = 14 [(google.api.field_behavior) = OPTIONAL];

// [Optional] The labels associated with this model. You can use these to
// organize and group your models. Label keys and values can be no longer
// The labels associated with this model. You can use these to organize
// and group your models. Label keys and values can be no longer
// than 63 characters, can only contain lowercase letters, numeric
// characters, underscores and dashes. International characters are allowed.
// Label values are optional. Label keys must start with a letter and each
// label in the list must have a different key.
map<string, string> labels = 15;
busunkim96 marked this conversation as resolved.
Show resolved Hide resolved

// [Optional] The time when this model expires, in milliseconds since the
// epoch. If not present, the model will persist indefinitely. Expired models
// Optional. The time when this model expires, in milliseconds since the epoch.
// If not present, the model will persist indefinitely. Expired models
// will be deleted and their storage reclaimed. The defaultTableExpirationMs
// property of the encapsulating dataset can be used to set a default
// expirationTime on newly created models.
int64 expiration_time = 16;
int64 expiration_time = 16 [(google.api.field_behavior) = OPTIONAL];

// Output only. The geographic location where the model resides. This value
// is inherited from the dataset.
string location = 13;
string location = 13 [(google.api.field_behavior) = OUTPUT_ONLY];

// Custom encryption configuration (e.g., Cloud KMS keys). This shows the
// encryption configuration of the model data while stored in BigQuery
// storage.
google.cloud.bigquery.v2.EncryptionConfiguration encryption_configuration = 17;

// Output only. Type of the model resource.
ModelType model_type = 7;
ModelType model_type = 7 [(google.api.field_behavior) = OUTPUT_ONLY];

// Output only. Information for all training runs in increasing order of
// start_time.
repeated TrainingRun training_runs = 9;
// Output only. Information for all training runs in increasing order of start_time.
repeated TrainingRun training_runs = 9 [(google.api.field_behavior) = OUTPUT_ONLY];

// Output only. Input feature columns that were used to train this model.
repeated StandardSqlField feature_columns = 10;
repeated StandardSqlField feature_columns = 10 [(google.api.field_behavior) = OUTPUT_ONLY];

// Output only. Label columns that were used to train this model.
// The output of the model will have a "predicted_" prefix to these columns.
repeated StandardSqlField label_columns = 11;
repeated StandardSqlField label_columns = 11 [(google.api.field_behavior) = OUTPUT_ONLY];
}

message GetModelRequest {
// Project ID of the requested model.
string project_id = 1;
// Required. Project ID of the requested model.
string project_id = 1 [(google.api.field_behavior) = REQUIRED];

// Dataset ID of the requested model.
string dataset_id = 2;
// Required. Dataset ID of the requested model.
string dataset_id = 2 [(google.api.field_behavior) = REQUIRED];

// Model ID of the requested model.
string model_id = 3;
// Required. Model ID of the requested model.
string model_id = 3 [(google.api.field_behavior) = REQUIRED];
}

message PatchModelRequest {
// Project ID of the model to patch.
string project_id = 1;
// Required. Project ID of the model to patch.
string project_id = 1 [(google.api.field_behavior) = REQUIRED];

// Dataset ID of the model to patch.
string dataset_id = 2;
// Required. Dataset ID of the model to patch.
string dataset_id = 2 [(google.api.field_behavior) = REQUIRED];

// Model ID of the model to patch.
string model_id = 3;
// Required. Model ID of the model to patch.
string model_id = 3 [(google.api.field_behavior) = REQUIRED];

// Patched model.
// Required. Patched model.
// Follows RFC5789 patch semantics. Missing fields are not updated.
// To clear a field, explicitly set to default value.
Model model = 4;
Model model = 4 [(google.api.field_behavior) = REQUIRED];
}

message DeleteModelRequest {
// Project ID of the model to delete.
string project_id = 1;
// Required. Project ID of the model to delete.
string project_id = 1 [(google.api.field_behavior) = REQUIRED];

// Dataset ID of the model to delete.
string dataset_id = 2;
// Required. Dataset ID of the model to delete.
string dataset_id = 2 [(google.api.field_behavior) = REQUIRED];

// Model ID of the model to delete.
string model_id = 3;
// Required. Model ID of the model to delete.
string model_id = 3 [(google.api.field_behavior) = REQUIRED];
}

message ListModelsRequest {
// Project ID of the models to list.
string project_id = 1;
// Required. Project ID of the models to list.
string project_id = 1 [(google.api.field_behavior) = REQUIRED];

// Dataset ID of the models to list.
string dataset_id = 2;
// Required. Dataset ID of the models to list.
string dataset_id = 2 [(google.api.field_behavior) = REQUIRED];

// The maximum number of results to return in a single response page.
// Leverage the page tokens to iterate through the entire collection.
Expand Down
Loading