Skip to content

Commit

Permalink
chore: Enable requesting numeric enums in "transport=rest" responses …
Browse files Browse the repository at this point in the history
…for services supporting this (Java, Go, Python, PHP, TypeScript, C#, and Ruby), even if they do not yet turn on REST transport (#3659)

* feat: added UpdateRuntime, UpgradeRuntime, DiagnoseRuntime, DiagnoseInstance to v1 API
feat: add Instance.reservation_affinity, nic_type, can_ip_forward to v1beta1 API
feat: add IsInstanceUpgradeableResponse.upgrade_image to v1beta1 API
feat: added Location and IAM methods
fix: deprecate AcceleratorType.NVIDIA_TESLA_K80

PiperOrigin-RevId: 489032946

Source-Link: googleapis/googleapis@1d21a86

Source-Link: googleapis/googleapis-gen@6da6c08
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLW5vdGVib29rcy8uT3dsQm90LnlhbWwiLCJoIjoiNmRhNmMwODUwYjAyYjJmMGQ2YWI5YzU4NjJkMDIxYzRkMTZkYWRjOSJ9

* docs: fix minor docstring formatting

PiperOrigin-RevId: 491386965

Source-Link: googleapis/googleapis@b706495

Source-Link: googleapis/googleapis-gen@889a92f
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLW5vdGVib29rcy8uT3dsQm90LnlhbWwiLCJoIjoiODg5YTkyZjc2MzFhYmVhZjdjZDI0MzY4YWU2MzJkM2U0YmUyMjc3ZiJ9

* 🦉 Updates from OwlBot post-processor

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

* chore: Enable requesting numeric enums in "transport=rest" responses for services supporting this (Java, Go, Python, PHP, TypeScript, C#, and Ruby), even if they do not yet turn on REST transport

chore: disallow "transport=rest" for services where numeric enums are not confirmed to be supported (except in PHP and Java)
PiperOrigin-RevId: 493113566

Source-Link: googleapis/googleapis@758f0d1

Source-Link: googleapis/googleapis-gen@78bd8f0
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLW5vdGVib29rcy8uT3dsQm90LnlhbWwiLCJoIjoiNzhiZDhmMDVlMTI3NjM2M2ViMTRlYWU3MGU5MWZlNGJjMjA3MDNhYiJ9

* 🦉 Updates from OwlBot post-processor

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

* revert change to containeranalysis

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
Co-authored-by: sofisl <[email protected]>
Co-authored-by: Sofia Leon <[email protected]>
  • Loading branch information
4 people authored Dec 9, 2022
1 parent 363067c commit 6237ae9
Show file tree
Hide file tree
Showing 31 changed files with 10,098 additions and 487 deletions.
4 changes: 4 additions & 0 deletions packages/google-cloud-notebooks/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,7 @@ Samples are in the [`samples/`](https://github.com/googleapis/google-cloud-node/
| --------------------------- | --------------------------------- | ------ |
| Managed_notebook_service.create_runtime | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-notebooks/samples/generated/v1/managed_notebook_service.create_runtime.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-notebooks/samples/generated/v1/managed_notebook_service.create_runtime.js,samples/README.md) |
| Managed_notebook_service.delete_runtime | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-notebooks/samples/generated/v1/managed_notebook_service.delete_runtime.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-notebooks/samples/generated/v1/managed_notebook_service.delete_runtime.js,samples/README.md) |
| Managed_notebook_service.diagnose_runtime | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-notebooks/samples/generated/v1/managed_notebook_service.diagnose_runtime.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-notebooks/samples/generated/v1/managed_notebook_service.diagnose_runtime.js,samples/README.md) |
| Managed_notebook_service.get_runtime | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-notebooks/samples/generated/v1/managed_notebook_service.get_runtime.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-notebooks/samples/generated/v1/managed_notebook_service.get_runtime.js,samples/README.md) |
| Managed_notebook_service.list_runtimes | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-notebooks/samples/generated/v1/managed_notebook_service.list_runtimes.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-notebooks/samples/generated/v1/managed_notebook_service.list_runtimes.js,samples/README.md) |
| Managed_notebook_service.refresh_runtime_token_internal | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-notebooks/samples/generated/v1/managed_notebook_service.refresh_runtime_token_internal.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-notebooks/samples/generated/v1/managed_notebook_service.refresh_runtime_token_internal.js,samples/README.md) |
Expand All @@ -96,6 +97,8 @@ Samples are in the [`samples/`](https://github.com/googleapis/google-cloud-node/
| Managed_notebook_service.start_runtime | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-notebooks/samples/generated/v1/managed_notebook_service.start_runtime.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-notebooks/samples/generated/v1/managed_notebook_service.start_runtime.js,samples/README.md) |
| Managed_notebook_service.stop_runtime | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-notebooks/samples/generated/v1/managed_notebook_service.stop_runtime.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-notebooks/samples/generated/v1/managed_notebook_service.stop_runtime.js,samples/README.md) |
| Managed_notebook_service.switch_runtime | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-notebooks/samples/generated/v1/managed_notebook_service.switch_runtime.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-notebooks/samples/generated/v1/managed_notebook_service.switch_runtime.js,samples/README.md) |
| Managed_notebook_service.update_runtime | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-notebooks/samples/generated/v1/managed_notebook_service.update_runtime.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-notebooks/samples/generated/v1/managed_notebook_service.update_runtime.js,samples/README.md) |
| Managed_notebook_service.upgrade_runtime | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-notebooks/samples/generated/v1/managed_notebook_service.upgrade_runtime.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-notebooks/samples/generated/v1/managed_notebook_service.upgrade_runtime.js,samples/README.md) |
| Notebook_service.create_environment | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-notebooks/samples/generated/v1/notebook_service.create_environment.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-notebooks/samples/generated/v1/notebook_service.create_environment.js,samples/README.md) |
| Notebook_service.create_execution | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-notebooks/samples/generated/v1/notebook_service.create_execution.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-notebooks/samples/generated/v1/notebook_service.create_execution.js,samples/README.md) |
| Notebook_service.create_instance | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-notebooks/samples/generated/v1/notebook_service.create_instance.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-notebooks/samples/generated/v1/notebook_service.create_instance.js,samples/README.md) |
Expand All @@ -104,6 +107,7 @@ Samples are in the [`samples/`](https://github.com/googleapis/google-cloud-node/
| Notebook_service.delete_execution | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-notebooks/samples/generated/v1/notebook_service.delete_execution.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-notebooks/samples/generated/v1/notebook_service.delete_execution.js,samples/README.md) |
| Notebook_service.delete_instance | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-notebooks/samples/generated/v1/notebook_service.delete_instance.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-notebooks/samples/generated/v1/notebook_service.delete_instance.js,samples/README.md) |
| Notebook_service.delete_schedule | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-notebooks/samples/generated/v1/notebook_service.delete_schedule.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-notebooks/samples/generated/v1/notebook_service.delete_schedule.js,samples/README.md) |
| Notebook_service.diagnose_instance | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-notebooks/samples/generated/v1/notebook_service.diagnose_instance.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-notebooks/samples/generated/v1/notebook_service.diagnose_instance.js,samples/README.md) |
| Notebook_service.get_environment | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-notebooks/samples/generated/v1/notebook_service.get_environment.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-notebooks/samples/generated/v1/notebook_service.get_environment.js,samples/README.md) |
| Notebook_service.get_execution | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-notebooks/samples/generated/v1/notebook_service.get_execution.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-notebooks/samples/generated/v1/notebook_service.get_execution.js,samples/README.md) |
| Notebook_service.get_instance | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-notebooks/samples/generated/v1/notebook_service.get_instance.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-notebooks/samples/generated/v1/notebook_service.get_instance.js,samples/README.md) |
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
// Copyright 2022 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.notebooks.v1;

import "google/api/field_behavior.proto";

option go_package = "google.golang.org/genproto/googleapis/cloud/notebooks/v1;notebooks";
option java_multiple_files = true;
option java_outer_classname = "DiagnosticConfigProto";
option java_package = "com.google.cloud.notebooks.v1";

// Defines flags that are used to run the diagnostic tool
message DiagnosticConfig {
// Required. User Cloud Storage bucket location (REQUIRED).
// Must be formatted with path prefix (`gs://$GCS_BUCKET`).
//
// Permissions:
// User Managed Notebooks:
// - storage.buckets.writer: Must be given to the project's service account
// attached to VM.
// Google Managed Notebooks:
// - storage.buckets.writer: Must be given to the project's service account or
// user credentials attached to VM depending on authentication mode.
//
// Cloud Storage bucket Log file will be written to
// `gs://$GCS_BUCKET/$RELATIVE_PATH/$VM_DATE_$TIME.tar.gz`
string gcs_bucket = 1 [(google.api.field_behavior) = REQUIRED];

// Optional. Defines the relative storage path in the Cloud Storage bucket
// where the diagnostic logs will be written: Default path will be the root
// directory of the Cloud Storage bucket
// (`gs://$GCS_BUCKET/$DATE_$TIME.tar.gz`)
// Example of full path where Log file will be written:
// `gs://$GCS_BUCKET/$RELATIVE_PATH/`
string relative_path = 2 [(google.api.field_behavior) = OPTIONAL];

// Optional. Enables flag to repair service for instance
bool repair_flag_enabled = 3 [(google.api.field_behavior) = OPTIONAL];

// Optional. Enables flag to capture packets from the instance for 30 seconds
bool packet_capture_flag_enabled = 4 [(google.api.field_behavior) = OPTIONAL];

// Optional. Enables flag to copy all `/home/jupyter` folder contents
bool copy_home_files_flag_enabled = 5
[(google.api.field_behavior) = OPTIONAL];
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,11 @@ import "google/api/annotations.proto";
import "google/api/client.proto";
import "google/api/field_behavior.proto";
import "google/api/resource.proto";
import "google/cloud/notebooks/v1/diagnostic_config.proto";
import "google/cloud/notebooks/v1/event.proto";
import "google/cloud/notebooks/v1/runtime.proto";
import "google/longrunning/operations.proto";
import "google/protobuf/field_mask.proto";
import "google/protobuf/timestamp.proto";

option csharp_namespace = "Google.Cloud.Notebooks.V1";
Expand Down Expand Up @@ -68,6 +70,19 @@ service ManagedNotebookService {
};
}

// Update Notebook Runtime configuration.
rpc UpdateRuntime(UpdateRuntimeRequest) returns (google.longrunning.Operation) {
option (google.api.http) = {
patch: "/v1/{runtime.name=projects/*/locations/*/runtimes/*}"
body: "runtime"
};
option (google.api.method_signature) = "runtime,update_mask";
option (google.longrunning.operation_info) = {
response_type: "Runtime"
metadata_type: "OperationMetadata"
};
}

// Deletes a single Runtime.
rpc DeleteRuntime(DeleteRuntimeRequest) returns (google.longrunning.Operation) {
option (google.api.http) = {
Expand Down Expand Up @@ -140,6 +155,19 @@ service ManagedNotebookService {
};
}

// Upgrades a Managed Notebook Runtime to the latest version.
rpc UpgradeRuntime(UpgradeRuntimeRequest) returns (google.longrunning.Operation) {
option (google.api.http) = {
post: "/v1/{name=projects/*/locations/*/runtimes/*}:upgrade"
body: "*"
};
option (google.api.method_signature) = "name";
option (google.longrunning.operation_info) = {
response_type: "Runtime"
metadata_type: "OperationMetadata"
};
}

// Report and process a runtime event.
rpc ReportRuntimeEvent(ReportRuntimeEventRequest) returns (google.longrunning.Operation) {
option (google.api.http) = {
Expand All @@ -162,6 +190,19 @@ service ManagedNotebookService {
};
option (google.api.method_signature) = "name,vm_id";
}

// Creates a Diagnostic File and runs Diagnostic Tool given a Runtime.
rpc DiagnoseRuntime(DiagnoseRuntimeRequest) returns (google.longrunning.Operation) {
option (google.api.http) = {
post: "/v1/{name=projects/*/locations/*/runtimes/*}:diagnose"
body: "*"
};
option (google.api.method_signature) = "name,diagnostic_config";
option (google.longrunning.operation_info) = {
response_type: "Runtime"
metadata_type: "OperationMetadata"
};
}
}

// Request for listing Managed Notebook Runtimes.
Expand Down Expand Up @@ -292,6 +333,18 @@ message ResetRuntimeRequest {
string request_id = 2;
}

// Request for upgrading a Managed Notebook Runtime to the latest version.
// option (google.api.message_visibility).restriction =
// "TRUSTED_TESTER,SPECIAL_TESTER";
message UpgradeRuntimeRequest {
// Required. Format:
// `projects/{project_id}/locations/{location}/runtimes/{runtime_id}`
string name = 1 [(google.api.field_behavior) = REQUIRED];

// Idempotent request UUID.
string request_id = 2;
}

// Request for reporting a Managed Notebook Event.
message ReportRuntimeEventRequest {
// Required. Format:
Expand All @@ -311,6 +364,40 @@ message ReportRuntimeEventRequest {
Event event = 3 [(google.api.field_behavior) = REQUIRED];
}

// Request for updating a Managed Notebook configuration.
message UpdateRuntimeRequest {
// Required. The Runtime to be updated.
Runtime runtime = 1 [(google.api.field_behavior) = REQUIRED];

// Required. Specifies the path, relative to `Runtime`, of
// the field to update. For example, to change the software configuration
// kernels, the `update_mask` parameter would be
// specified as `software_config.kernels`,
// and the `PATCH` request body would specify the new value, as follows:
//
// {
// "software_config":{
// "kernels": [{
// 'repository':
// 'gcr.io/deeplearning-platform-release/pytorch-gpu', 'tag':
// 'latest' }],
// }
// }
//
//
// Currently, only the following fields can be updated:
// - software_config.kernels
// - software_config.post_startup_script
// - software_config.custom_gpu_driver_path
// - software_config.idle_shutdown
// - software_config.idle_shutdown_timeout
// - software_config.disable_terminal
google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED];

// Idempotent request UUID.
string request_id = 3;
}

// Request for getting a new access token.
message RefreshRuntimeTokenInternalRequest {
// Required. Format:
Expand All @@ -335,3 +422,18 @@ message RefreshRuntimeTokenInternalResponse {
// Output only. Token expiration time.
google.protobuf.Timestamp expire_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
}

// Request for creating a notebook instance diagnostic file.
message DiagnoseRuntimeRequest {
// Required. Format:
// `projects/{project_id}/locations/{location}/runtimes/{runtimes_id}`
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "notebooks.googleapis.com/Runtime"
}
];

// Required. Defines flags that are used to run the diagnostic tool
DiagnosticConfig diagnostic_config = 2 [(google.api.field_behavior) = REQUIRED];
}
Loading

0 comments on commit 6237ae9

Please sign in to comment.