google-cloud-notebooks-v1beta1 0.5.0 → 0.6.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
- # have selected](https://cloud.google.com/compute/docs/gpus/#gpus-list).
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
- # to standard persistent disk (`PD_STANDARD`).
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
- # to a maximum of 64000&nbsp;GB (64&nbsp;TB). The minimum recommended value
94
- # is 100&nbsp;GB. If not specified, this defaults to 100.
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
- # to standard persistent disk (`PD_STANDARD`).
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
- # to a maximum of 64000&nbsp;GB (64&nbsp;TB). You can choose the size of the
103
- # data disk based on how big your notebooks and data are. If not specified,
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
- # disk_encryption is CMEK. Format:
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 keys](
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
- # Compute Engine](/compute/docs/gpus/#gpus-list) to find a valid
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 P_4.
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 P_4 Virtual Workstations.
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
- # combinations of `type` and `core_count` are valid. Check [GPUs on Compute
147
- # Engine](https://cloud.google.com/compute/docs/gpus/#gpus-list) to find a
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
- # must be 1 to 63 characters long and contain only lowercase letters, numeric
358
- # characters, and dashes. The first character must be a lowercase letter and
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 [google.rpc.Code][google.rpc.Code].
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 by the client.
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