1*d5c09012SAndroid Build Coastguard Worker// Copyright 2023 Google LLC 2*d5c09012SAndroid Build Coastguard Worker// 3*d5c09012SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License"); 4*d5c09012SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License. 5*d5c09012SAndroid Build Coastguard Worker// You may obtain a copy of the License at 6*d5c09012SAndroid Build Coastguard Worker// 7*d5c09012SAndroid Build Coastguard Worker// http://www.apache.org/licenses/LICENSE-2.0 8*d5c09012SAndroid Build Coastguard Worker// 9*d5c09012SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 10*d5c09012SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 11*d5c09012SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*d5c09012SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 13*d5c09012SAndroid Build Coastguard Worker// limitations under the License. 14*d5c09012SAndroid Build Coastguard Worker 15*d5c09012SAndroid Build Coastguard Workersyntax = "proto3"; 16*d5c09012SAndroid Build Coastguard Worker 17*d5c09012SAndroid Build Coastguard Workerpackage google.cloud.notebooks.v1beta1; 18*d5c09012SAndroid Build Coastguard Worker 19*d5c09012SAndroid Build Coastguard Workerimport "google/api/field_behavior.proto"; 20*d5c09012SAndroid Build Coastguard Workerimport "google/api/resource.proto"; 21*d5c09012SAndroid Build Coastguard Workerimport "google/cloud/notebooks/v1beta1/environment.proto"; 22*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/timestamp.proto"; 23*d5c09012SAndroid Build Coastguard Worker 24*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.Notebooks.V1Beta1"; 25*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/notebooks/apiv1beta1/notebookspb;notebookspb"; 26*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true; 27*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "InstanceProto"; 28*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.cloud.notebooks.v1beta1"; 29*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Cloud\\Notebooks\\V1beta1"; 30*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Cloud::Notebooks::V1beta1"; 31*d5c09012SAndroid Build Coastguard Worker 32*d5c09012SAndroid Build Coastguard Worker// Reservation Affinity for consuming Zonal reservation. 33*d5c09012SAndroid Build Coastguard Workermessage ReservationAffinity { 34*d5c09012SAndroid Build Coastguard Worker // Indicates whether to consume capacity from an reservation or not. 35*d5c09012SAndroid Build Coastguard Worker enum Type { 36*d5c09012SAndroid Build Coastguard Worker // Default type. 37*d5c09012SAndroid Build Coastguard Worker TYPE_UNSPECIFIED = 0; 38*d5c09012SAndroid Build Coastguard Worker 39*d5c09012SAndroid Build Coastguard Worker // Do not consume from any allocated capacity. 40*d5c09012SAndroid Build Coastguard Worker NO_RESERVATION = 1; 41*d5c09012SAndroid Build Coastguard Worker 42*d5c09012SAndroid Build Coastguard Worker // Consume any reservation available. 43*d5c09012SAndroid Build Coastguard Worker ANY_RESERVATION = 2; 44*d5c09012SAndroid Build Coastguard Worker 45*d5c09012SAndroid Build Coastguard Worker // Must consume from a specific reservation. Must specify key value fields 46*d5c09012SAndroid Build Coastguard Worker // for specifying the reservations. 47*d5c09012SAndroid Build Coastguard Worker SPECIFIC_RESERVATION = 3; 48*d5c09012SAndroid Build Coastguard Worker } 49*d5c09012SAndroid Build Coastguard Worker 50*d5c09012SAndroid Build Coastguard Worker // Optional. Type of reservation to consume 51*d5c09012SAndroid Build Coastguard Worker Type consume_reservation_type = 1 [(google.api.field_behavior) = OPTIONAL]; 52*d5c09012SAndroid Build Coastguard Worker 53*d5c09012SAndroid Build Coastguard Worker // Optional. Corresponds to the label key of reservation resource. 54*d5c09012SAndroid Build Coastguard Worker string key = 2 [(google.api.field_behavior) = OPTIONAL]; 55*d5c09012SAndroid Build Coastguard Worker 56*d5c09012SAndroid Build Coastguard Worker // Optional. Corresponds to the label values of reservation resource. 57*d5c09012SAndroid Build Coastguard Worker repeated string values = 3 [(google.api.field_behavior) = OPTIONAL]; 58*d5c09012SAndroid Build Coastguard Worker} 59*d5c09012SAndroid Build Coastguard Worker 60*d5c09012SAndroid Build Coastguard Worker// The definition of a notebook instance. 61*d5c09012SAndroid Build Coastguard Workermessage Instance { 62*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 63*d5c09012SAndroid Build Coastguard Worker type: "notebooks.googleapis.com/Instance" 64*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/instances/{instance}" 65*d5c09012SAndroid Build Coastguard Worker }; 66*d5c09012SAndroid Build Coastguard Worker 67*d5c09012SAndroid Build Coastguard Worker // Definition of the types of hardware accelerators that can be used on this 68*d5c09012SAndroid Build Coastguard Worker // instance. 69*d5c09012SAndroid Build Coastguard Worker enum AcceleratorType { 70*d5c09012SAndroid Build Coastguard Worker // Accelerator type is not specified. 71*d5c09012SAndroid Build Coastguard Worker ACCELERATOR_TYPE_UNSPECIFIED = 0; 72*d5c09012SAndroid Build Coastguard Worker 73*d5c09012SAndroid Build Coastguard Worker // Accelerator type is Nvidia Tesla K80. 74*d5c09012SAndroid Build Coastguard Worker NVIDIA_TESLA_K80 = 1; 75*d5c09012SAndroid Build Coastguard Worker 76*d5c09012SAndroid Build Coastguard Worker // Accelerator type is Nvidia Tesla P100. 77*d5c09012SAndroid Build Coastguard Worker NVIDIA_TESLA_P100 = 2; 78*d5c09012SAndroid Build Coastguard Worker 79*d5c09012SAndroid Build Coastguard Worker // Accelerator type is Nvidia Tesla V100. 80*d5c09012SAndroid Build Coastguard Worker NVIDIA_TESLA_V100 = 3; 81*d5c09012SAndroid Build Coastguard Worker 82*d5c09012SAndroid Build Coastguard Worker // Accelerator type is Nvidia Tesla P4. 83*d5c09012SAndroid Build Coastguard Worker NVIDIA_TESLA_P4 = 4; 84*d5c09012SAndroid Build Coastguard Worker 85*d5c09012SAndroid Build Coastguard Worker // Accelerator type is Nvidia Tesla T4. 86*d5c09012SAndroid Build Coastguard Worker NVIDIA_TESLA_T4 = 5; 87*d5c09012SAndroid Build Coastguard Worker 88*d5c09012SAndroid Build Coastguard Worker // Accelerator type is NVIDIA Tesla T4 Virtual Workstations. 89*d5c09012SAndroid Build Coastguard Worker NVIDIA_TESLA_T4_VWS = 8; 90*d5c09012SAndroid Build Coastguard Worker 91*d5c09012SAndroid Build Coastguard Worker // Accelerator type is NVIDIA Tesla P100 Virtual Workstations. 92*d5c09012SAndroid Build Coastguard Worker NVIDIA_TESLA_P100_VWS = 9; 93*d5c09012SAndroid Build Coastguard Worker 94*d5c09012SAndroid Build Coastguard Worker // Accelerator type is NVIDIA Tesla P4 Virtual Workstations. 95*d5c09012SAndroid Build Coastguard Worker NVIDIA_TESLA_P4_VWS = 10; 96*d5c09012SAndroid Build Coastguard Worker 97*d5c09012SAndroid Build Coastguard Worker // (Coming soon) Accelerator type is TPU V2. 98*d5c09012SAndroid Build Coastguard Worker TPU_V2 = 6; 99*d5c09012SAndroid Build Coastguard Worker 100*d5c09012SAndroid Build Coastguard Worker // (Coming soon) Accelerator type is TPU V3. 101*d5c09012SAndroid Build Coastguard Worker TPU_V3 = 7; 102*d5c09012SAndroid Build Coastguard Worker } 103*d5c09012SAndroid Build Coastguard Worker 104*d5c09012SAndroid Build Coastguard Worker // Definition of a hardware accelerator. Note that not all combinations 105*d5c09012SAndroid Build Coastguard Worker // of `type` and `core_count` are valid. Check [GPUs on Compute 106*d5c09012SAndroid Build Coastguard Worker // Engine](https://cloud.google.com/compute/docs/gpus/#gpus-list) to find a 107*d5c09012SAndroid Build Coastguard Worker // valid combination. TPUs are not supported. 108*d5c09012SAndroid Build Coastguard Worker message AcceleratorConfig { 109*d5c09012SAndroid Build Coastguard Worker // Type of this accelerator. 110*d5c09012SAndroid Build Coastguard Worker AcceleratorType type = 1; 111*d5c09012SAndroid Build Coastguard Worker 112*d5c09012SAndroid Build Coastguard Worker // Count of cores of this accelerator. 113*d5c09012SAndroid Build Coastguard Worker int64 core_count = 2; 114*d5c09012SAndroid Build Coastguard Worker } 115*d5c09012SAndroid Build Coastguard Worker 116*d5c09012SAndroid Build Coastguard Worker // The definition of the states of this instance. 117*d5c09012SAndroid Build Coastguard Worker enum State { 118*d5c09012SAndroid Build Coastguard Worker // State is not specified. 119*d5c09012SAndroid Build Coastguard Worker STATE_UNSPECIFIED = 0; 120*d5c09012SAndroid Build Coastguard Worker 121*d5c09012SAndroid Build Coastguard Worker // The control logic is starting the instance. 122*d5c09012SAndroid Build Coastguard Worker STARTING = 1; 123*d5c09012SAndroid Build Coastguard Worker 124*d5c09012SAndroid Build Coastguard Worker // The control logic is installing required frameworks and registering the 125*d5c09012SAndroid Build Coastguard Worker // instance with notebook proxy 126*d5c09012SAndroid Build Coastguard Worker PROVISIONING = 2; 127*d5c09012SAndroid Build Coastguard Worker 128*d5c09012SAndroid Build Coastguard Worker // The instance is running. 129*d5c09012SAndroid Build Coastguard Worker ACTIVE = 3; 130*d5c09012SAndroid Build Coastguard Worker 131*d5c09012SAndroid Build Coastguard Worker // The control logic is stopping the instance. 132*d5c09012SAndroid Build Coastguard Worker STOPPING = 4; 133*d5c09012SAndroid Build Coastguard Worker 134*d5c09012SAndroid Build Coastguard Worker // The instance is stopped. 135*d5c09012SAndroid Build Coastguard Worker STOPPED = 5; 136*d5c09012SAndroid Build Coastguard Worker 137*d5c09012SAndroid Build Coastguard Worker // The instance is deleted. 138*d5c09012SAndroid Build Coastguard Worker DELETED = 6; 139*d5c09012SAndroid Build Coastguard Worker 140*d5c09012SAndroid Build Coastguard Worker // The instance is upgrading. 141*d5c09012SAndroid Build Coastguard Worker UPGRADING = 7; 142*d5c09012SAndroid Build Coastguard Worker 143*d5c09012SAndroid Build Coastguard Worker // The instance is being created. 144*d5c09012SAndroid Build Coastguard Worker INITIALIZING = 8; 145*d5c09012SAndroid Build Coastguard Worker 146*d5c09012SAndroid Build Coastguard Worker // The instance is getting registered. 147*d5c09012SAndroid Build Coastguard Worker REGISTERING = 9; 148*d5c09012SAndroid Build Coastguard Worker 149*d5c09012SAndroid Build Coastguard Worker // The instance is suspending. 150*d5c09012SAndroid Build Coastguard Worker SUSPENDING = 10; 151*d5c09012SAndroid Build Coastguard Worker 152*d5c09012SAndroid Build Coastguard Worker // The instance is suspended. 153*d5c09012SAndroid Build Coastguard Worker SUSPENDED = 11; 154*d5c09012SAndroid Build Coastguard Worker } 155*d5c09012SAndroid Build Coastguard Worker 156*d5c09012SAndroid Build Coastguard Worker // Possible disk types for notebook instances. 157*d5c09012SAndroid Build Coastguard Worker enum DiskType { 158*d5c09012SAndroid Build Coastguard Worker // Disk type not set. 159*d5c09012SAndroid Build Coastguard Worker DISK_TYPE_UNSPECIFIED = 0; 160*d5c09012SAndroid Build Coastguard Worker 161*d5c09012SAndroid Build Coastguard Worker // Standard persistent disk type. 162*d5c09012SAndroid Build Coastguard Worker PD_STANDARD = 1; 163*d5c09012SAndroid Build Coastguard Worker 164*d5c09012SAndroid Build Coastguard Worker // SSD persistent disk type. 165*d5c09012SAndroid Build Coastguard Worker PD_SSD = 2; 166*d5c09012SAndroid Build Coastguard Worker 167*d5c09012SAndroid Build Coastguard Worker // Balanced persistent disk type. 168*d5c09012SAndroid Build Coastguard Worker PD_BALANCED = 3; 169*d5c09012SAndroid Build Coastguard Worker } 170*d5c09012SAndroid Build Coastguard Worker 171*d5c09012SAndroid Build Coastguard Worker // Definition of the disk encryption options. 172*d5c09012SAndroid Build Coastguard Worker enum DiskEncryption { 173*d5c09012SAndroid Build Coastguard Worker // Disk encryption is not specified. 174*d5c09012SAndroid Build Coastguard Worker DISK_ENCRYPTION_UNSPECIFIED = 0; 175*d5c09012SAndroid Build Coastguard Worker 176*d5c09012SAndroid Build Coastguard Worker // Use Google managed encryption keys to encrypt the boot disk. 177*d5c09012SAndroid Build Coastguard Worker GMEK = 1; 178*d5c09012SAndroid Build Coastguard Worker 179*d5c09012SAndroid Build Coastguard Worker // Use customer managed encryption keys to encrypt the boot disk. 180*d5c09012SAndroid Build Coastguard Worker CMEK = 2; 181*d5c09012SAndroid Build Coastguard Worker } 182*d5c09012SAndroid Build Coastguard Worker 183*d5c09012SAndroid Build Coastguard Worker // The type of vNIC driver. 184*d5c09012SAndroid Build Coastguard Worker enum NicType { 185*d5c09012SAndroid Build Coastguard Worker // No type specified. Default should be UNSPECIFIED_NIC_TYPE. 186*d5c09012SAndroid Build Coastguard Worker UNSPECIFIED_NIC_TYPE = 0; 187*d5c09012SAndroid Build Coastguard Worker 188*d5c09012SAndroid Build Coastguard Worker // VIRTIO. Default in Notebooks DLVM. 189*d5c09012SAndroid Build Coastguard Worker VIRTIO_NET = 1; 190*d5c09012SAndroid Build Coastguard Worker 191*d5c09012SAndroid Build Coastguard Worker // GVNIC. Alternative to VIRTIO. 192*d5c09012SAndroid Build Coastguard Worker // https://github.com/GoogleCloudPlatform/compute-virtual-ethernet-linux 193*d5c09012SAndroid Build Coastguard Worker GVNIC = 2; 194*d5c09012SAndroid Build Coastguard Worker } 195*d5c09012SAndroid Build Coastguard Worker 196*d5c09012SAndroid Build Coastguard Worker // Output only. The name of this notebook instance. Format: 197*d5c09012SAndroid Build Coastguard Worker // `projects/{project_id}/locations/{location}/instances/{instance_id}` 198*d5c09012SAndroid Build Coastguard Worker string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 199*d5c09012SAndroid Build Coastguard Worker 200*d5c09012SAndroid Build Coastguard Worker // Type of the environment; can be one of VM image, or container image. 201*d5c09012SAndroid Build Coastguard Worker oneof environment { 202*d5c09012SAndroid Build Coastguard Worker // Use a Compute Engine VM image to start the notebook instance. 203*d5c09012SAndroid Build Coastguard Worker VmImage vm_image = 2; 204*d5c09012SAndroid Build Coastguard Worker 205*d5c09012SAndroid Build Coastguard Worker // Use a container image to start the notebook instance. 206*d5c09012SAndroid Build Coastguard Worker ContainerImage container_image = 3; 207*d5c09012SAndroid Build Coastguard Worker } 208*d5c09012SAndroid Build Coastguard Worker 209*d5c09012SAndroid Build Coastguard Worker // Path to a Bash script that automatically runs after a notebook instance 210*d5c09012SAndroid Build Coastguard Worker // fully boots up. The path must be a URL or 211*d5c09012SAndroid Build Coastguard Worker // Cloud Storage path (`gs://path-to-file/file-name`). 212*d5c09012SAndroid Build Coastguard Worker string post_startup_script = 4; 213*d5c09012SAndroid Build Coastguard Worker 214*d5c09012SAndroid Build Coastguard Worker // Output only. The proxy endpoint that is used to access the Jupyter notebook. 215*d5c09012SAndroid Build Coastguard Worker string proxy_uri = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; 216*d5c09012SAndroid Build Coastguard Worker 217*d5c09012SAndroid Build Coastguard Worker // Input only. The owner of this instance after creation. Format: `[email protected]` 218*d5c09012SAndroid Build Coastguard Worker // 219*d5c09012SAndroid Build Coastguard Worker // Currently supports one owner only. If not specified, all of the service 220*d5c09012SAndroid Build Coastguard Worker // account users of your VM instance's service account can use 221*d5c09012SAndroid Build Coastguard Worker // the instance. 222*d5c09012SAndroid Build Coastguard Worker repeated string instance_owners = 6 [(google.api.field_behavior) = INPUT_ONLY]; 223*d5c09012SAndroid Build Coastguard Worker 224*d5c09012SAndroid Build Coastguard Worker // The service account on this instance, giving access to other Google 225*d5c09012SAndroid Build Coastguard Worker // Cloud services. 226*d5c09012SAndroid Build Coastguard Worker // You can use any service account within the same project, but you 227*d5c09012SAndroid Build Coastguard Worker // must have the service account user permission to use the instance. 228*d5c09012SAndroid Build Coastguard Worker // 229*d5c09012SAndroid Build Coastguard Worker // If not specified, the [Compute Engine default service 230*d5c09012SAndroid Build Coastguard Worker // account](https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) 231*d5c09012SAndroid Build Coastguard Worker // is used. 232*d5c09012SAndroid Build Coastguard Worker string service_account = 7; 233*d5c09012SAndroid Build Coastguard Worker 234*d5c09012SAndroid Build Coastguard Worker // Required. The [Compute Engine machine 235*d5c09012SAndroid Build Coastguard Worker // type](https://cloud.google.com/compute/docs/machine-types) of this 236*d5c09012SAndroid Build Coastguard Worker // instance. 237*d5c09012SAndroid Build Coastguard Worker string machine_type = 8 [(google.api.field_behavior) = REQUIRED]; 238*d5c09012SAndroid Build Coastguard Worker 239*d5c09012SAndroid Build Coastguard Worker // The hardware accelerator used on this instance. If you use 240*d5c09012SAndroid Build Coastguard Worker // accelerators, make sure that your configuration has 241*d5c09012SAndroid Build Coastguard Worker // [enough vCPUs and memory to support the `machine_type` you have 242*d5c09012SAndroid Build Coastguard Worker // selected](https://cloud.google.com/compute/docs/gpus/#gpus-list). 243*d5c09012SAndroid Build Coastguard Worker AcceleratorConfig accelerator_config = 9; 244*d5c09012SAndroid Build Coastguard Worker 245*d5c09012SAndroid Build Coastguard Worker // Output only. The state of this instance. 246*d5c09012SAndroid Build Coastguard Worker State state = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; 247*d5c09012SAndroid Build Coastguard Worker 248*d5c09012SAndroid Build Coastguard Worker // Whether the end user authorizes Google Cloud to install GPU driver 249*d5c09012SAndroid Build Coastguard Worker // on this instance. 250*d5c09012SAndroid Build Coastguard Worker // If this field is empty or set to false, the GPU driver won't be installed. 251*d5c09012SAndroid Build Coastguard Worker // Only applicable to instances with GPUs. 252*d5c09012SAndroid Build Coastguard Worker bool install_gpu_driver = 11; 253*d5c09012SAndroid Build Coastguard Worker 254*d5c09012SAndroid Build Coastguard Worker // Specify a custom Cloud Storage path where the GPU driver is stored. 255*d5c09012SAndroid Build Coastguard Worker // If not specified, we'll automatically choose from official GPU drivers. 256*d5c09012SAndroid Build Coastguard Worker string custom_gpu_driver_path = 12; 257*d5c09012SAndroid Build Coastguard Worker 258*d5c09012SAndroid Build Coastguard Worker // Input only. The type of the boot disk attached to this instance, defaults to 259*d5c09012SAndroid Build Coastguard Worker // standard persistent disk (`PD_STANDARD`). 260*d5c09012SAndroid Build Coastguard Worker DiskType boot_disk_type = 13 [(google.api.field_behavior) = INPUT_ONLY]; 261*d5c09012SAndroid Build Coastguard Worker 262*d5c09012SAndroid Build Coastguard Worker // Input only. The size of the boot disk in GB attached to this instance, up to a maximum 263*d5c09012SAndroid Build Coastguard Worker // of 64000 GB (64 TB). The minimum recommended value is 100 GB. If not 264*d5c09012SAndroid Build Coastguard Worker // specified, this defaults to 100. 265*d5c09012SAndroid Build Coastguard Worker int64 boot_disk_size_gb = 14 [(google.api.field_behavior) = INPUT_ONLY]; 266*d5c09012SAndroid Build Coastguard Worker 267*d5c09012SAndroid Build Coastguard Worker // Input only. The type of the data disk attached to this instance, defaults to 268*d5c09012SAndroid Build Coastguard Worker // standard persistent disk (`PD_STANDARD`). 269*d5c09012SAndroid Build Coastguard Worker DiskType data_disk_type = 25 [(google.api.field_behavior) = INPUT_ONLY]; 270*d5c09012SAndroid Build Coastguard Worker 271*d5c09012SAndroid Build Coastguard Worker // Input only. The size of the data disk in GB attached to this instance, up to a maximum 272*d5c09012SAndroid Build Coastguard Worker // of 64000 GB (64 TB). You can choose the size of the data disk based on how 273*d5c09012SAndroid Build Coastguard Worker // big your notebooks and data are. If not specified, this defaults to 100. 274*d5c09012SAndroid Build Coastguard Worker int64 data_disk_size_gb = 26 [(google.api.field_behavior) = INPUT_ONLY]; 275*d5c09012SAndroid Build Coastguard Worker 276*d5c09012SAndroid Build Coastguard Worker // Input only. If true, the data disk will not be auto deleted when deleting the instance. 277*d5c09012SAndroid Build Coastguard Worker bool no_remove_data_disk = 27 [(google.api.field_behavior) = INPUT_ONLY]; 278*d5c09012SAndroid Build Coastguard Worker 279*d5c09012SAndroid Build Coastguard Worker // Input only. Disk encryption method used on the boot and data disks, defaults to GMEK. 280*d5c09012SAndroid Build Coastguard Worker DiskEncryption disk_encryption = 15 [(google.api.field_behavior) = INPUT_ONLY]; 281*d5c09012SAndroid Build Coastguard Worker 282*d5c09012SAndroid Build Coastguard Worker // Input only. The KMS key used to encrypt the disks, only applicable if disk_encryption 283*d5c09012SAndroid Build Coastguard Worker // is CMEK. 284*d5c09012SAndroid Build Coastguard Worker // Format: 285*d5c09012SAndroid Build Coastguard Worker // `projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id}` 286*d5c09012SAndroid Build Coastguard Worker // 287*d5c09012SAndroid Build Coastguard Worker // Learn more about [using your own encryption 288*d5c09012SAndroid Build Coastguard Worker // keys](https://cloud.google.com/kms/docs/quickstart). 289*d5c09012SAndroid Build Coastguard Worker string kms_key = 16 [(google.api.field_behavior) = INPUT_ONLY]; 290*d5c09012SAndroid Build Coastguard Worker 291*d5c09012SAndroid Build Coastguard Worker // If true, no public IP will be assigned to this instance. 292*d5c09012SAndroid Build Coastguard Worker bool no_public_ip = 17; 293*d5c09012SAndroid Build Coastguard Worker 294*d5c09012SAndroid Build Coastguard Worker // If true, the notebook instance will not register with the proxy. 295*d5c09012SAndroid Build Coastguard Worker bool no_proxy_access = 18; 296*d5c09012SAndroid Build Coastguard Worker 297*d5c09012SAndroid Build Coastguard Worker // The name of the VPC that this instance is in. 298*d5c09012SAndroid Build Coastguard Worker // Format: 299*d5c09012SAndroid Build Coastguard Worker // `projects/{project_id}/global/networks/{network_id}` 300*d5c09012SAndroid Build Coastguard Worker string network = 19; 301*d5c09012SAndroid Build Coastguard Worker 302*d5c09012SAndroid Build Coastguard Worker // The name of the subnet that this instance is in. 303*d5c09012SAndroid Build Coastguard Worker // Format: 304*d5c09012SAndroid Build Coastguard Worker // `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}` 305*d5c09012SAndroid Build Coastguard Worker string subnet = 20; 306*d5c09012SAndroid Build Coastguard Worker 307*d5c09012SAndroid Build Coastguard Worker // Labels to apply to this instance. 308*d5c09012SAndroid Build Coastguard Worker // These can be later modified by the setLabels method. 309*d5c09012SAndroid Build Coastguard Worker map<string, string> labels = 21; 310*d5c09012SAndroid Build Coastguard Worker 311*d5c09012SAndroid Build Coastguard Worker // Custom metadata to apply to this instance. 312*d5c09012SAndroid Build Coastguard Worker map<string, string> metadata = 22; 313*d5c09012SAndroid Build Coastguard Worker 314*d5c09012SAndroid Build Coastguard Worker // Optional. The type of vNIC to be used on this interface. This may be gVNIC or 315*d5c09012SAndroid Build Coastguard Worker // VirtioNet. 316*d5c09012SAndroid Build Coastguard Worker NicType nic_type = 28 [(google.api.field_behavior) = OPTIONAL]; 317*d5c09012SAndroid Build Coastguard Worker 318*d5c09012SAndroid Build Coastguard Worker // Optional. The optional reservation affinity. Setting this field will apply 319*d5c09012SAndroid Build Coastguard Worker // the specified [Zonal Compute 320*d5c09012SAndroid Build Coastguard Worker // Reservation](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources) 321*d5c09012SAndroid Build Coastguard Worker // to this notebook instance. 322*d5c09012SAndroid Build Coastguard Worker ReservationAffinity reservation_affinity = 29 [(google.api.field_behavior) = OPTIONAL]; 323*d5c09012SAndroid Build Coastguard Worker 324*d5c09012SAndroid Build Coastguard Worker // Optional. Flag to enable ip forwarding or not, default false/off. 325*d5c09012SAndroid Build Coastguard Worker // https://cloud.google.com/vpc/docs/using-routes#canipforward 326*d5c09012SAndroid Build Coastguard Worker bool can_ip_forward = 31 [(google.api.field_behavior) = OPTIONAL]; 327*d5c09012SAndroid Build Coastguard Worker 328*d5c09012SAndroid Build Coastguard Worker // Output only. Instance creation time. 329*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp create_time = 23 [(google.api.field_behavior) = OUTPUT_ONLY]; 330*d5c09012SAndroid Build Coastguard Worker 331*d5c09012SAndroid Build Coastguard Worker // Output only. Instance update time. 332*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp update_time = 24 [(google.api.field_behavior) = OUTPUT_ONLY]; 333*d5c09012SAndroid Build Coastguard Worker} 334