google-cloud-notebooks-v1beta1 0.5.0 → 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/AUTHENTICATION.md +1 -1
- data/README.md +1 -1
- data/lib/google/cloud/notebooks/v1beta1/environment_pb.rb +0 -1
- data/lib/google/cloud/notebooks/v1beta1/instance_pb.rb +24 -1
- data/lib/google/cloud/notebooks/v1beta1/notebook_service/client.rb +45 -8
- data/lib/google/cloud/notebooks/v1beta1/notebook_service.rb +1 -1
- data/lib/google/cloud/notebooks/v1beta1/service_pb.rb +2 -1
- data/lib/google/cloud/notebooks/v1beta1/service_services_pb.rb +3 -0
- data/lib/google/cloud/notebooks/v1beta1/version.rb +1 -1
- data/lib/google/cloud/notebooks/v1beta1.rb +2 -2
- data/proto_docs/google/api/client.rb +318 -0
- data/proto_docs/google/api/launch_stage.rb +71 -0
- data/proto_docs/google/cloud/notebooks/v1beta1/instance.rb +90 -30
- data/proto_docs/google/cloud/notebooks/v1beta1/service.rb +15 -11
- data/proto_docs/google/protobuf/empty.rb +0 -2
- data/proto_docs/google/protobuf/field_mask.rb +229 -0
- data/proto_docs/google/rpc/status.rb +4 -2
- data/proto_docs/google/type/expr.rb +75 -0
- metadata +48 -4
@@ -0,0 +1,71 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Copyright 2022 Google LLC
|
4
|
+
#
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
# you may not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
# See the License for the specific language governing permissions and
|
15
|
+
# limitations under the License.
|
16
|
+
|
17
|
+
# Auto-generated by gapic-generator-ruby. DO NOT EDIT!
|
18
|
+
|
19
|
+
|
20
|
+
module Google
|
21
|
+
module Api
|
22
|
+
# The launch stage as defined by [Google Cloud Platform
|
23
|
+
# Launch Stages](https://cloud.google.com/terms/launch-stages).
|
24
|
+
module LaunchStage
|
25
|
+
# Do not use this default value.
|
26
|
+
LAUNCH_STAGE_UNSPECIFIED = 0
|
27
|
+
|
28
|
+
# The feature is not yet implemented. Users can not use it.
|
29
|
+
UNIMPLEMENTED = 6
|
30
|
+
|
31
|
+
# Prelaunch features are hidden from users and are only visible internally.
|
32
|
+
PRELAUNCH = 7
|
33
|
+
|
34
|
+
# Early Access features are limited to a closed group of testers. To use
|
35
|
+
# these features, you must sign up in advance and sign a Trusted Tester
|
36
|
+
# agreement (which includes confidentiality provisions). These features may
|
37
|
+
# be unstable, changed in backward-incompatible ways, and are not
|
38
|
+
# guaranteed to be released.
|
39
|
+
EARLY_ACCESS = 1
|
40
|
+
|
41
|
+
# Alpha is a limited availability test for releases before they are cleared
|
42
|
+
# for widespread use. By Alpha, all significant design issues are resolved
|
43
|
+
# and we are in the process of verifying functionality. Alpha customers
|
44
|
+
# need to apply for access, agree to applicable terms, and have their
|
45
|
+
# projects allowlisted. Alpha releases don't have to be feature complete,
|
46
|
+
# no SLAs are provided, and there are no technical support obligations, but
|
47
|
+
# they will be far enough along that customers can actually use them in
|
48
|
+
# test environments or for limited-use tests -- just like they would in
|
49
|
+
# normal production cases.
|
50
|
+
ALPHA = 2
|
51
|
+
|
52
|
+
# Beta is the point at which we are ready to open a release for any
|
53
|
+
# customer to use. There are no SLA or technical support obligations in a
|
54
|
+
# Beta release. Products will be complete from a feature perspective, but
|
55
|
+
# may have some open outstanding issues. Beta releases are suitable for
|
56
|
+
# limited production use cases.
|
57
|
+
BETA = 3
|
58
|
+
|
59
|
+
# GA features are open to all developers and are considered stable and
|
60
|
+
# fully qualified for production use.
|
61
|
+
GA = 4
|
62
|
+
|
63
|
+
# Deprecated features are scheduled to be shut down and removed. For more
|
64
|
+
# information, see the "Deprecation Policy" section of our [Terms of
|
65
|
+
# Service](https://cloud.google.com/terms/)
|
66
|
+
# and the [Google Cloud Platform Subject to the Deprecation
|
67
|
+
# Policy](https://cloud.google.com/terms/deprecation) documentation.
|
68
|
+
DEPRECATED = 5
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
@@ -21,6 +21,37 @@ module Google
|
|
21
21
|
module Cloud
|
22
22
|
module Notebooks
|
23
23
|
module V1beta1
|
24
|
+
# Reservation Affinity for consuming Zonal reservation.
|
25
|
+
# @!attribute [rw] consume_reservation_type
|
26
|
+
# @return [::Google::Cloud::Notebooks::V1beta1::ReservationAffinity::Type]
|
27
|
+
# Optional. Type of reservation to consume
|
28
|
+
# @!attribute [rw] key
|
29
|
+
# @return [::String]
|
30
|
+
# Optional. Corresponds to the label key of reservation resource.
|
31
|
+
# @!attribute [rw] values
|
32
|
+
# @return [::Array<::String>]
|
33
|
+
# Optional. Corresponds to the label values of reservation resource.
|
34
|
+
class ReservationAffinity
|
35
|
+
include ::Google::Protobuf::MessageExts
|
36
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
37
|
+
|
38
|
+
# Indicates whether to consume capacity from an reservation or not.
|
39
|
+
module Type
|
40
|
+
# Default type.
|
41
|
+
TYPE_UNSPECIFIED = 0
|
42
|
+
|
43
|
+
# Do not consume from any allocated capacity.
|
44
|
+
NO_RESERVATION = 1
|
45
|
+
|
46
|
+
# Consume any reservation available.
|
47
|
+
ANY_RESERVATION = 2
|
48
|
+
|
49
|
+
# Must consume from a specific reservation. Must specify key value fields
|
50
|
+
# for specifying the reservations.
|
51
|
+
SPECIFIC_RESERVATION = 3
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
24
55
|
# The definition of a notebook instance.
|
25
56
|
# @!attribute [r] name
|
26
57
|
# @return [::String]
|
@@ -39,12 +70,10 @@ module Google
|
|
39
70
|
# Cloud Storage path (`gs://path-to-file/file-name`).
|
40
71
|
# @!attribute [r] proxy_uri
|
41
72
|
# @return [::String]
|
42
|
-
# Output only. The proxy endpoint that is used to access the Jupyter
|
43
|
-
# notebook.
|
73
|
+
# Output only. The proxy endpoint that is used to access the Jupyter notebook.
|
44
74
|
# @!attribute [rw] instance_owners
|
45
75
|
# @return [::Array<::String>]
|
46
|
-
# Input only. The owner of this instance after creation. Format:
|
47
|
-
# `alias@example.com`
|
76
|
+
# Input only. The owner of this instance after creation. Format: `alias@example.com`
|
48
77
|
#
|
49
78
|
# Currently supports one owner only. If not specified, all of the service
|
50
79
|
# account users of your VM instance's service account can use
|
@@ -68,8 +97,8 @@ module Google
|
|
68
97
|
# @return [::Google::Cloud::Notebooks::V1beta1::Instance::AcceleratorConfig]
|
69
98
|
# The hardware accelerator used on this instance. If you use
|
70
99
|
# accelerators, make sure that your configuration has
|
71
|
-
# [enough vCPUs and memory to support the `machine_type` you
|
72
|
-
#
|
100
|
+
# [enough vCPUs and memory to support the `machine_type` you have
|
101
|
+
# selected](https://cloud.google.com/compute/docs/gpus/#gpus-list).
|
73
102
|
# @!attribute [r] state
|
74
103
|
# @return [::Google::Cloud::Notebooks::V1beta1::Instance::State]
|
75
104
|
# Output only. The state of this instance.
|
@@ -85,39 +114,37 @@ module Google
|
|
85
114
|
# If not specified, we'll automatically choose from official GPU drivers.
|
86
115
|
# @!attribute [rw] boot_disk_type
|
87
116
|
# @return [::Google::Cloud::Notebooks::V1beta1::Instance::DiskType]
|
88
|
-
# Input only. The type of the boot disk attached to this instance, defaults
|
89
|
-
#
|
117
|
+
# Input only. The type of the boot disk attached to this instance, defaults to
|
118
|
+
# standard persistent disk (`PD_STANDARD`).
|
90
119
|
# @!attribute [rw] boot_disk_size_gb
|
91
120
|
# @return [::Integer]
|
92
|
-
# Input only. The size of the boot disk in GB attached to this instance, up
|
93
|
-
#
|
94
|
-
#
|
121
|
+
# Input only. The size of the boot disk in GB attached to this instance, up to a maximum
|
122
|
+
# of 64000 GB (64 TB). The minimum recommended value is 100 GB. If not
|
123
|
+
# specified, this defaults to 100.
|
95
124
|
# @!attribute [rw] data_disk_type
|
96
125
|
# @return [::Google::Cloud::Notebooks::V1beta1::Instance::DiskType]
|
97
|
-
# Input only. The type of the data disk attached to this instance, defaults
|
98
|
-
#
|
126
|
+
# Input only. The type of the data disk attached to this instance, defaults to
|
127
|
+
# standard persistent disk (`PD_STANDARD`).
|
99
128
|
# @!attribute [rw] data_disk_size_gb
|
100
129
|
# @return [::Integer]
|
101
|
-
# Input only. The size of the data disk in GB attached to this instance, up
|
102
|
-
#
|
103
|
-
#
|
104
|
-
# this defaults to 100.
|
130
|
+
# Input only. The size of the data disk in GB attached to this instance, up to a maximum
|
131
|
+
# of 64000 GB (64 TB). You can choose the size of the data disk based on how
|
132
|
+
# big your notebooks and data are. If not specified, this defaults to 100.
|
105
133
|
# @!attribute [rw] no_remove_data_disk
|
106
134
|
# @return [::Boolean]
|
107
|
-
# Input only. If true, the data disk will not be auto deleted when deleting
|
108
|
-
# the instance.
|
135
|
+
# Input only. If true, the data disk will not be auto deleted when deleting the instance.
|
109
136
|
# @!attribute [rw] disk_encryption
|
110
137
|
# @return [::Google::Cloud::Notebooks::V1beta1::Instance::DiskEncryption]
|
111
|
-
# Input only. Disk encryption method used on the boot and data disks,
|
112
|
-
# defaults to GMEK.
|
138
|
+
# Input only. Disk encryption method used on the boot and data disks, defaults to GMEK.
|
113
139
|
# @!attribute [rw] kms_key
|
114
140
|
# @return [::String]
|
115
|
-
# Input only. The KMS key used to encrypt the disks, only applicable if
|
116
|
-
#
|
141
|
+
# Input only. The KMS key used to encrypt the disks, only applicable if disk_encryption
|
142
|
+
# is CMEK.
|
143
|
+
# Format:
|
117
144
|
# `projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id}`
|
118
145
|
#
|
119
|
-
# Learn more about [using your own encryption
|
120
|
-
# https://cloud.google.com/kms/docs/quickstart).
|
146
|
+
# Learn more about [using your own encryption
|
147
|
+
# keys](https://cloud.google.com/kms/docs/quickstart).
|
121
148
|
# @!attribute [rw] no_public_ip
|
122
149
|
# @return [::Boolean]
|
123
150
|
# If true, no public IP will be assigned to this instance.
|
@@ -141,6 +168,20 @@ module Google
|
|
141
168
|
# @!attribute [rw] metadata
|
142
169
|
# @return [::Google::Protobuf::Map{::String => ::String}]
|
143
170
|
# Custom metadata to apply to this instance.
|
171
|
+
# @!attribute [rw] nic_type
|
172
|
+
# @return [::Google::Cloud::Notebooks::V1beta1::Instance::NicType]
|
173
|
+
# Optional. The type of vNIC to be used on this interface. This may be gVNIC or
|
174
|
+
# VirtioNet.
|
175
|
+
# @!attribute [rw] reservation_affinity
|
176
|
+
# @return [::Google::Cloud::Notebooks::V1beta1::ReservationAffinity]
|
177
|
+
# Optional. The optional reservation affinity. Setting this field will apply
|
178
|
+
# the specified [Zonal Compute
|
179
|
+
# Reservation](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources)
|
180
|
+
# to this notebook instance.
|
181
|
+
# @!attribute [rw] can_ip_forward
|
182
|
+
# @return [::Boolean]
|
183
|
+
# Optional. Flag to enable ip forwarding or not, default false/off.
|
184
|
+
# https://cloud.google.com/vpc/docs/using-routes#canipforward
|
144
185
|
# @!attribute [r] create_time
|
145
186
|
# @return [::Google::Protobuf::Timestamp]
|
146
187
|
# Output only. Instance creation time.
|
@@ -152,9 +193,9 @@ module Google
|
|
152
193
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
153
194
|
|
154
195
|
# Definition of a hardware accelerator. Note that not all combinations
|
155
|
-
# of `type` and `core_count` are valid. Check [GPUs on
|
156
|
-
#
|
157
|
-
# combination. TPUs are not supported.
|
196
|
+
# of `type` and `core_count` are valid. Check [GPUs on Compute
|
197
|
+
# Engine](https://cloud.google.com/compute/docs/gpus/#gpus-list) to find a
|
198
|
+
# valid combination. TPUs are not supported.
|
158
199
|
# @!attribute [rw] type
|
159
200
|
# @return [::Google::Cloud::Notebooks::V1beta1::Instance::AcceleratorType]
|
160
201
|
# Type of this accelerator.
|
@@ -199,7 +240,7 @@ module Google
|
|
199
240
|
# Accelerator type is Nvidia Tesla V100.
|
200
241
|
NVIDIA_TESLA_V100 = 3
|
201
242
|
|
202
|
-
# Accelerator type is Nvidia Tesla
|
243
|
+
# Accelerator type is Nvidia Tesla P4.
|
203
244
|
NVIDIA_TESLA_P4 = 4
|
204
245
|
|
205
246
|
# Accelerator type is Nvidia Tesla T4.
|
@@ -211,7 +252,7 @@ module Google
|
|
211
252
|
# Accelerator type is NVIDIA Tesla P100 Virtual Workstations.
|
212
253
|
NVIDIA_TESLA_P100_VWS = 9
|
213
254
|
|
214
|
-
# Accelerator type is NVIDIA Tesla
|
255
|
+
# Accelerator type is NVIDIA Tesla P4 Virtual Workstations.
|
215
256
|
NVIDIA_TESLA_P4_VWS = 10
|
216
257
|
|
217
258
|
# (Coming soon) Accelerator type is TPU V2.
|
@@ -253,6 +294,12 @@ module Google
|
|
253
294
|
|
254
295
|
# The instance is getting registered.
|
255
296
|
REGISTERING = 9
|
297
|
+
|
298
|
+
# The instance is suspending.
|
299
|
+
SUSPENDING = 10
|
300
|
+
|
301
|
+
# The instance is suspended.
|
302
|
+
SUSPENDED = 11
|
256
303
|
end
|
257
304
|
|
258
305
|
# Possible disk types for notebook instances.
|
@@ -281,6 +328,19 @@ module Google
|
|
281
328
|
# Use customer managed encryption keys to encrypt the boot disk.
|
282
329
|
CMEK = 2
|
283
330
|
end
|
331
|
+
|
332
|
+
# The type of vNIC driver.
|
333
|
+
module NicType
|
334
|
+
# No type specified. Default should be UNSPECIFIED_NIC_TYPE.
|
335
|
+
UNSPECIFIED_NIC_TYPE = 0
|
336
|
+
|
337
|
+
# VIRTIO. Default in Notebooks DLVM.
|
338
|
+
VIRTIO_NET = 1
|
339
|
+
|
340
|
+
# GVNIC. Alternative to VIRTIO.
|
341
|
+
# https://github.com/GoogleCloudPlatform/compute-virtual-ethernet-linux
|
342
|
+
GVNIC = 2
|
343
|
+
end
|
284
344
|
end
|
285
345
|
end
|
286
346
|
end
|
@@ -42,8 +42,7 @@ module Google
|
|
42
42
|
# Identifies whether the user has requested cancellation
|
43
43
|
# of the operation. Operations that have successfully been cancelled
|
44
44
|
# have [Operation.error][] value with a
|
45
|
-
# {::Google::Rpc::Status#code google.rpc.Status.code} of 1, corresponding to
|
46
|
-
# `Code.CANCELLED`.
|
45
|
+
# {::Google::Rpc::Status#code google.rpc.Status.code} of 1, corresponding to `Code.CANCELLED`.
|
47
46
|
# @!attribute [rw] api_version
|
48
47
|
# @return [::String]
|
49
48
|
# API version used to start the operation.
|
@@ -83,7 +82,7 @@ module Google
|
|
83
82
|
# @!attribute [rw] unreachable
|
84
83
|
# @return [::Array<::String>]
|
85
84
|
# Locations that could not be reached. For example,
|
86
|
-
# ['us-west1-a', 'us-central1-b']
|
85
|
+
# `['us-west1-a', 'us-central1-b']`.
|
87
86
|
# A ListInstancesResponse will only contain either instances or unreachables,
|
88
87
|
class ListInstancesResponse
|
89
88
|
include ::Google::Protobuf::MessageExts
|
@@ -142,10 +141,10 @@ module Google
|
|
142
141
|
# Required. Type of this accelerator.
|
143
142
|
# @!attribute [rw] core_count
|
144
143
|
# @return [::Integer]
|
145
|
-
# Required. Count of cores of this accelerator. Note that not all
|
146
|
-
#
|
147
|
-
# Engine](https://cloud.google.com/compute/docs/gpus/#gpus-list) to
|
148
|
-
# valid combination. TPUs are not supported.
|
144
|
+
# Required. Count of cores of this accelerator. Note that not all combinations
|
145
|
+
# of `type` and `core_count` are valid. Check [GPUs on
|
146
|
+
# Compute Engine](https://cloud.google.com/compute/docs/gpus/#gpus-list) to
|
147
|
+
# find a valid combination. TPUs are not supported.
|
149
148
|
class SetInstanceAcceleratorRequest
|
150
149
|
include ::Google::Protobuf::MessageExts
|
151
150
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -276,6 +275,11 @@ module Google
|
|
276
275
|
# @!attribute [rw] upgrade_info
|
277
276
|
# @return [::String]
|
278
277
|
# Additional information about upgrade.
|
278
|
+
# @!attribute [rw] upgrade_image
|
279
|
+
# @return [::String]
|
280
|
+
# The new image self link this instance will be upgraded to if calling the
|
281
|
+
# upgrade endpoint. This field will only be populated if field upgradeable
|
282
|
+
# is true.
|
279
283
|
class IsInstanceUpgradeableResponse
|
280
284
|
include ::Google::Protobuf::MessageExts
|
281
285
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -353,10 +357,10 @@ module Google
|
|
353
357
|
# Required. Format: `projects/{project_id}/locations/{location}`
|
354
358
|
# @!attribute [rw] environment_id
|
355
359
|
# @return [::String]
|
356
|
-
# Required. User-defined unique ID of this environment. The `environment_id`
|
357
|
-
#
|
358
|
-
# characters, and dashes. The first character must be a lowercase
|
359
|
-
# the last character cannot be a dash.
|
360
|
+
# Required. User-defined unique ID of this environment. The `environment_id` must
|
361
|
+
# be 1 to 63 characters long and contain only lowercase letters,
|
362
|
+
# numeric characters, and dashes. The first character must be a lowercase
|
363
|
+
# letter and the last character cannot be a dash.
|
360
364
|
# @!attribute [rw] environment
|
361
365
|
# @return [::Google::Cloud::Notebooks::V1beta1::Environment]
|
362
366
|
# Required. The environment to be created.
|
@@ -26,8 +26,6 @@ module Google
|
|
26
26
|
# service Foo {
|
27
27
|
# rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
|
28
28
|
# }
|
29
|
-
#
|
30
|
-
# The JSON representation for `Empty` is empty JSON object `{}`.
|
31
29
|
class Empty
|
32
30
|
include ::Google::Protobuf::MessageExts
|
33
31
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -0,0 +1,229 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Copyright 2022 Google LLC
|
4
|
+
#
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
# you may not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
# See the License for the specific language governing permissions and
|
15
|
+
# limitations under the License.
|
16
|
+
|
17
|
+
# Auto-generated by gapic-generator-ruby. DO NOT EDIT!
|
18
|
+
|
19
|
+
|
20
|
+
module Google
|
21
|
+
module Protobuf
|
22
|
+
# `FieldMask` represents a set of symbolic field paths, for example:
|
23
|
+
#
|
24
|
+
# paths: "f.a"
|
25
|
+
# paths: "f.b.d"
|
26
|
+
#
|
27
|
+
# Here `f` represents a field in some root message, `a` and `b`
|
28
|
+
# fields in the message found in `f`, and `d` a field found in the
|
29
|
+
# message in `f.b`.
|
30
|
+
#
|
31
|
+
# Field masks are used to specify a subset of fields that should be
|
32
|
+
# returned by a get operation or modified by an update operation.
|
33
|
+
# Field masks also have a custom JSON encoding (see below).
|
34
|
+
#
|
35
|
+
# # Field Masks in Projections
|
36
|
+
#
|
37
|
+
# When used in the context of a projection, a response message or
|
38
|
+
# sub-message is filtered by the API to only contain those fields as
|
39
|
+
# specified in the mask. For example, if the mask in the previous
|
40
|
+
# example is applied to a response message as follows:
|
41
|
+
#
|
42
|
+
# f {
|
43
|
+
# a : 22
|
44
|
+
# b {
|
45
|
+
# d : 1
|
46
|
+
# x : 2
|
47
|
+
# }
|
48
|
+
# y : 13
|
49
|
+
# }
|
50
|
+
# z: 8
|
51
|
+
#
|
52
|
+
# The result will not contain specific values for fields x,y and z
|
53
|
+
# (their value will be set to the default, and omitted in proto text
|
54
|
+
# output):
|
55
|
+
#
|
56
|
+
#
|
57
|
+
# f {
|
58
|
+
# a : 22
|
59
|
+
# b {
|
60
|
+
# d : 1
|
61
|
+
# }
|
62
|
+
# }
|
63
|
+
#
|
64
|
+
# A repeated field is not allowed except at the last position of a
|
65
|
+
# paths string.
|
66
|
+
#
|
67
|
+
# If a FieldMask object is not present in a get operation, the
|
68
|
+
# operation applies to all fields (as if a FieldMask of all fields
|
69
|
+
# had been specified).
|
70
|
+
#
|
71
|
+
# Note that a field mask does not necessarily apply to the
|
72
|
+
# top-level response message. In case of a REST get operation, the
|
73
|
+
# field mask applies directly to the response, but in case of a REST
|
74
|
+
# list operation, the mask instead applies to each individual message
|
75
|
+
# in the returned resource list. In case of a REST custom method,
|
76
|
+
# other definitions may be used. Where the mask applies will be
|
77
|
+
# clearly documented together with its declaration in the API. In
|
78
|
+
# any case, the effect on the returned resource/resources is required
|
79
|
+
# behavior for APIs.
|
80
|
+
#
|
81
|
+
# # Field Masks in Update Operations
|
82
|
+
#
|
83
|
+
# A field mask in update operations specifies which fields of the
|
84
|
+
# targeted resource are going to be updated. The API is required
|
85
|
+
# to only change the values of the fields as specified in the mask
|
86
|
+
# and leave the others untouched. If a resource is passed in to
|
87
|
+
# describe the updated values, the API ignores the values of all
|
88
|
+
# fields not covered by the mask.
|
89
|
+
#
|
90
|
+
# If a repeated field is specified for an update operation, new values will
|
91
|
+
# be appended to the existing repeated field in the target resource. Note that
|
92
|
+
# a repeated field is only allowed in the last position of a `paths` string.
|
93
|
+
#
|
94
|
+
# If a sub-message is specified in the last position of the field mask for an
|
95
|
+
# update operation, then new value will be merged into the existing sub-message
|
96
|
+
# in the target resource.
|
97
|
+
#
|
98
|
+
# For example, given the target message:
|
99
|
+
#
|
100
|
+
# f {
|
101
|
+
# b {
|
102
|
+
# d: 1
|
103
|
+
# x: 2
|
104
|
+
# }
|
105
|
+
# c: [1]
|
106
|
+
# }
|
107
|
+
#
|
108
|
+
# And an update message:
|
109
|
+
#
|
110
|
+
# f {
|
111
|
+
# b {
|
112
|
+
# d: 10
|
113
|
+
# }
|
114
|
+
# c: [2]
|
115
|
+
# }
|
116
|
+
#
|
117
|
+
# then if the field mask is:
|
118
|
+
#
|
119
|
+
# paths: ["f.b", "f.c"]
|
120
|
+
#
|
121
|
+
# then the result will be:
|
122
|
+
#
|
123
|
+
# f {
|
124
|
+
# b {
|
125
|
+
# d: 10
|
126
|
+
# x: 2
|
127
|
+
# }
|
128
|
+
# c: [1, 2]
|
129
|
+
# }
|
130
|
+
#
|
131
|
+
# An implementation may provide options to override this default behavior for
|
132
|
+
# repeated and message fields.
|
133
|
+
#
|
134
|
+
# In order to reset a field's value to the default, the field must
|
135
|
+
# be in the mask and set to the default value in the provided resource.
|
136
|
+
# Hence, in order to reset all fields of a resource, provide a default
|
137
|
+
# instance of the resource and set all fields in the mask, or do
|
138
|
+
# not provide a mask as described below.
|
139
|
+
#
|
140
|
+
# If a field mask is not present on update, the operation applies to
|
141
|
+
# all fields (as if a field mask of all fields has been specified).
|
142
|
+
# Note that in the presence of schema evolution, this may mean that
|
143
|
+
# fields the client does not know and has therefore not filled into
|
144
|
+
# the request will be reset to their default. If this is unwanted
|
145
|
+
# behavior, a specific service may require a client to always specify
|
146
|
+
# a field mask, producing an error if not.
|
147
|
+
#
|
148
|
+
# As with get operations, the location of the resource which
|
149
|
+
# describes the updated values in the request message depends on the
|
150
|
+
# operation kind. In any case, the effect of the field mask is
|
151
|
+
# required to be honored by the API.
|
152
|
+
#
|
153
|
+
# ## Considerations for HTTP REST
|
154
|
+
#
|
155
|
+
# The HTTP kind of an update operation which uses a field mask must
|
156
|
+
# be set to PATCH instead of PUT in order to satisfy HTTP semantics
|
157
|
+
# (PUT must only be used for full updates).
|
158
|
+
#
|
159
|
+
# # JSON Encoding of Field Masks
|
160
|
+
#
|
161
|
+
# In JSON, a field mask is encoded as a single string where paths are
|
162
|
+
# separated by a comma. Fields name in each path are converted
|
163
|
+
# to/from lower-camel naming conventions.
|
164
|
+
#
|
165
|
+
# As an example, consider the following message declarations:
|
166
|
+
#
|
167
|
+
# message Profile {
|
168
|
+
# User user = 1;
|
169
|
+
# Photo photo = 2;
|
170
|
+
# }
|
171
|
+
# message User {
|
172
|
+
# string display_name = 1;
|
173
|
+
# string address = 2;
|
174
|
+
# }
|
175
|
+
#
|
176
|
+
# In proto a field mask for `Profile` may look as such:
|
177
|
+
#
|
178
|
+
# mask {
|
179
|
+
# paths: "user.display_name"
|
180
|
+
# paths: "photo"
|
181
|
+
# }
|
182
|
+
#
|
183
|
+
# In JSON, the same mask is represented as below:
|
184
|
+
#
|
185
|
+
# {
|
186
|
+
# mask: "user.displayName,photo"
|
187
|
+
# }
|
188
|
+
#
|
189
|
+
# # Field Masks and Oneof Fields
|
190
|
+
#
|
191
|
+
# Field masks treat fields in oneofs just as regular fields. Consider the
|
192
|
+
# following message:
|
193
|
+
#
|
194
|
+
# message SampleMessage {
|
195
|
+
# oneof test_oneof {
|
196
|
+
# string name = 4;
|
197
|
+
# SubMessage sub_message = 9;
|
198
|
+
# }
|
199
|
+
# }
|
200
|
+
#
|
201
|
+
# The field mask can be:
|
202
|
+
#
|
203
|
+
# mask {
|
204
|
+
# paths: "name"
|
205
|
+
# }
|
206
|
+
#
|
207
|
+
# Or:
|
208
|
+
#
|
209
|
+
# mask {
|
210
|
+
# paths: "sub_message"
|
211
|
+
# }
|
212
|
+
#
|
213
|
+
# Note that oneof type names ("test_oneof" in this case) cannot be used in
|
214
|
+
# paths.
|
215
|
+
#
|
216
|
+
# ## Field Mask Verification
|
217
|
+
#
|
218
|
+
# The implementation of any API method which has a FieldMask type field in the
|
219
|
+
# request should verify the included field paths, and return an
|
220
|
+
# `INVALID_ARGUMENT` error if any path is unmappable.
|
221
|
+
# @!attribute [rw] paths
|
222
|
+
# @return [::Array<::String>]
|
223
|
+
# The set of field mask paths.
|
224
|
+
class FieldMask
|
225
|
+
include ::Google::Protobuf::MessageExts
|
226
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
227
|
+
end
|
228
|
+
end
|
229
|
+
end
|
@@ -28,12 +28,14 @@ module Google
|
|
28
28
|
# [API Design Guide](https://cloud.google.com/apis/design/errors).
|
29
29
|
# @!attribute [rw] code
|
30
30
|
# @return [::Integer]
|
31
|
-
# The status code, which should be an enum value of
|
31
|
+
# The status code, which should be an enum value of
|
32
|
+
# [google.rpc.Code][google.rpc.Code].
|
32
33
|
# @!attribute [rw] message
|
33
34
|
# @return [::String]
|
34
35
|
# A developer-facing error message, which should be in English. Any
|
35
36
|
# user-facing error message should be localized and sent in the
|
36
|
-
# {::Google::Rpc::Status#details google.rpc.Status.details} field, or localized
|
37
|
+
# {::Google::Rpc::Status#details google.rpc.Status.details} field, or localized
|
38
|
+
# by the client.
|
37
39
|
# @!attribute [rw] details
|
38
40
|
# @return [::Array<::Google::Protobuf::Any>]
|
39
41
|
# A list of messages that carry the error details. There is a common set of
|
@@ -0,0 +1,75 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Copyright 2022 Google LLC
|
4
|
+
#
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
# you may not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
# See the License for the specific language governing permissions and
|
15
|
+
# limitations under the License.
|
16
|
+
|
17
|
+
# Auto-generated by gapic-generator-ruby. DO NOT EDIT!
|
18
|
+
|
19
|
+
|
20
|
+
module Google
|
21
|
+
module Type
|
22
|
+
# Represents a textual expression in the Common Expression Language (CEL)
|
23
|
+
# syntax. CEL is a C-like expression language. The syntax and semantics of CEL
|
24
|
+
# are documented at https://github.com/google/cel-spec.
|
25
|
+
#
|
26
|
+
# Example (Comparison):
|
27
|
+
#
|
28
|
+
# title: "Summary size limit"
|
29
|
+
# description: "Determines if a summary is less than 100 chars"
|
30
|
+
# expression: "document.summary.size() < 100"
|
31
|
+
#
|
32
|
+
# Example (Equality):
|
33
|
+
#
|
34
|
+
# title: "Requestor is owner"
|
35
|
+
# description: "Determines if requestor is the document owner"
|
36
|
+
# expression: "document.owner == request.auth.claims.email"
|
37
|
+
#
|
38
|
+
# Example (Logic):
|
39
|
+
#
|
40
|
+
# title: "Public documents"
|
41
|
+
# description: "Determine whether the document should be publicly visible"
|
42
|
+
# expression: "document.type != 'private' && document.type != 'internal'"
|
43
|
+
#
|
44
|
+
# Example (Data Manipulation):
|
45
|
+
#
|
46
|
+
# title: "Notification string"
|
47
|
+
# description: "Create a notification string with a timestamp."
|
48
|
+
# expression: "'New message received at ' + string(document.create_time)"
|
49
|
+
#
|
50
|
+
# The exact variables and functions that may be referenced within an expression
|
51
|
+
# are determined by the service that evaluates it. See the service
|
52
|
+
# documentation for additional information.
|
53
|
+
# @!attribute [rw] expression
|
54
|
+
# @return [::String]
|
55
|
+
# Textual representation of an expression in Common Expression Language
|
56
|
+
# syntax.
|
57
|
+
# @!attribute [rw] title
|
58
|
+
# @return [::String]
|
59
|
+
# Optional. Title for the expression, i.e. a short string describing
|
60
|
+
# its purpose. This can be used e.g. in UIs which allow to enter the
|
61
|
+
# expression.
|
62
|
+
# @!attribute [rw] description
|
63
|
+
# @return [::String]
|
64
|
+
# Optional. Description of the expression. This is a longer text which
|
65
|
+
# describes the expression, e.g. when hovered over it in a UI.
|
66
|
+
# @!attribute [rw] location
|
67
|
+
# @return [::String]
|
68
|
+
# Optional. String indicating the location of the expression for error
|
69
|
+
# reporting, e.g. a file name and a position in the file.
|
70
|
+
class Expr
|
71
|
+
include ::Google::Protobuf::MessageExts
|
72
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|