google-cloud-beyond_corp-client_connector_services-v1 0.4.1 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (29) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -143
  3. data/lib/google/cloud/beyond_corp/client_connector_services/v1/version.rb +3 -8
  4. metadata +15 -226
  5. data/.yardopts +0 -12
  6. data/AUTHENTICATION.md +0 -122
  7. data/lib/google/cloud/beyond_corp/client_connector_services/v1/client_connector_services_service/client.rb +0 -954
  8. data/lib/google/cloud/beyond_corp/client_connector_services/v1/client_connector_services_service/credentials.rb +0 -49
  9. data/lib/google/cloud/beyond_corp/client_connector_services/v1/client_connector_services_service/operations.rb +0 -803
  10. data/lib/google/cloud/beyond_corp/client_connector_services/v1/client_connector_services_service/paths.rb +0 -71
  11. data/lib/google/cloud/beyond_corp/client_connector_services/v1/client_connector_services_service.rb +0 -62
  12. data/lib/google/cloud/beyond_corp/client_connector_services/v1.rb +0 -42
  13. data/lib/google/cloud/beyondcorp/clientconnectorservices/v1/client_connector_services_service_pb.rb +0 -68
  14. data/lib/google/cloud/beyondcorp/clientconnectorservices/v1/client_connector_services_service_services_pb.rb +0 -65
  15. data/lib/google-cloud-beyond_corp-client_connector_services-v1.rb +0 -21
  16. data/proto_docs/README.md +0 -4
  17. data/proto_docs/google/api/client.rb +0 -395
  18. data/proto_docs/google/api/field_behavior.rb +0 -85
  19. data/proto_docs/google/api/launch_stage.rb +0 -71
  20. data/proto_docs/google/api/resource.rb +0 -222
  21. data/proto_docs/google/cloud/beyondcorp/clientconnectorservices/v1/client_connector_services_service.rb +0 -336
  22. data/proto_docs/google/longrunning/operations.rb +0 -164
  23. data/proto_docs/google/protobuf/any.rb +0 -144
  24. data/proto_docs/google/protobuf/duration.rb +0 -98
  25. data/proto_docs/google/protobuf/empty.rb +0 -34
  26. data/proto_docs/google/protobuf/field_mask.rb +0 -229
  27. data/proto_docs/google/protobuf/timestamp.rb +0 -127
  28. data/proto_docs/google/rpc/status.rb +0 -48
  29. data/proto_docs/google/type/expr.rb +0 -75
@@ -1,164 +0,0 @@
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 Longrunning
22
- # This resource represents a long-running operation that is the result of a
23
- # network API call.
24
- # @!attribute [rw] name
25
- # @return [::String]
26
- # The server-assigned name, which is only unique within the same service that
27
- # originally returns it. If you use the default HTTP mapping, the
28
- # `name` should be a resource name ending with `operations/{unique_id}`.
29
- # @!attribute [rw] metadata
30
- # @return [::Google::Protobuf::Any]
31
- # Service-specific metadata associated with the operation. It typically
32
- # contains progress information and common metadata such as create time.
33
- # Some services might not provide such metadata. Any method that returns a
34
- # long-running operation should document the metadata type, if any.
35
- # @!attribute [rw] done
36
- # @return [::Boolean]
37
- # If the value is `false`, it means the operation is still in progress.
38
- # If `true`, the operation is completed, and either `error` or `response` is
39
- # available.
40
- # @!attribute [rw] error
41
- # @return [::Google::Rpc::Status]
42
- # The error result of the operation in case of failure or cancellation.
43
- # @!attribute [rw] response
44
- # @return [::Google::Protobuf::Any]
45
- # The normal response of the operation in case of success. If the original
46
- # method returns no data on success, such as `Delete`, the response is
47
- # `google.protobuf.Empty`. If the original method is standard
48
- # `Get`/`Create`/`Update`, the response should be the resource. For other
49
- # methods, the response should have the type `XxxResponse`, where `Xxx`
50
- # is the original method name. For example, if the original method name
51
- # is `TakeSnapshot()`, the inferred response type is
52
- # `TakeSnapshotResponse`.
53
- class Operation
54
- include ::Google::Protobuf::MessageExts
55
- extend ::Google::Protobuf::MessageExts::ClassMethods
56
- end
57
-
58
- # The request message for Operations.GetOperation.
59
- # @!attribute [rw] name
60
- # @return [::String]
61
- # The name of the operation resource.
62
- class GetOperationRequest
63
- include ::Google::Protobuf::MessageExts
64
- extend ::Google::Protobuf::MessageExts::ClassMethods
65
- end
66
-
67
- # The request message for Operations.ListOperations.
68
- # @!attribute [rw] name
69
- # @return [::String]
70
- # The name of the operation's parent resource.
71
- # @!attribute [rw] filter
72
- # @return [::String]
73
- # The standard list filter.
74
- # @!attribute [rw] page_size
75
- # @return [::Integer]
76
- # The standard list page size.
77
- # @!attribute [rw] page_token
78
- # @return [::String]
79
- # The standard list page token.
80
- class ListOperationsRequest
81
- include ::Google::Protobuf::MessageExts
82
- extend ::Google::Protobuf::MessageExts::ClassMethods
83
- end
84
-
85
- # The response message for Operations.ListOperations.
86
- # @!attribute [rw] operations
87
- # @return [::Array<::Google::Longrunning::Operation>]
88
- # A list of operations that matches the specified filter in the request.
89
- # @!attribute [rw] next_page_token
90
- # @return [::String]
91
- # The standard List next-page token.
92
- class ListOperationsResponse
93
- include ::Google::Protobuf::MessageExts
94
- extend ::Google::Protobuf::MessageExts::ClassMethods
95
- end
96
-
97
- # The request message for Operations.CancelOperation.
98
- # @!attribute [rw] name
99
- # @return [::String]
100
- # The name of the operation resource to be cancelled.
101
- class CancelOperationRequest
102
- include ::Google::Protobuf::MessageExts
103
- extend ::Google::Protobuf::MessageExts::ClassMethods
104
- end
105
-
106
- # The request message for Operations.DeleteOperation.
107
- # @!attribute [rw] name
108
- # @return [::String]
109
- # The name of the operation resource to be deleted.
110
- class DeleteOperationRequest
111
- include ::Google::Protobuf::MessageExts
112
- extend ::Google::Protobuf::MessageExts::ClassMethods
113
- end
114
-
115
- # The request message for Operations.WaitOperation.
116
- # @!attribute [rw] name
117
- # @return [::String]
118
- # The name of the operation resource to wait on.
119
- # @!attribute [rw] timeout
120
- # @return [::Google::Protobuf::Duration]
121
- # The maximum duration to wait before timing out. If left blank, the wait
122
- # will be at most the time permitted by the underlying HTTP/RPC protocol.
123
- # If RPC context deadline is also specified, the shorter one will be used.
124
- class WaitOperationRequest
125
- include ::Google::Protobuf::MessageExts
126
- extend ::Google::Protobuf::MessageExts::ClassMethods
127
- end
128
-
129
- # A message representing the message types used by a long-running operation.
130
- #
131
- # Example:
132
- #
133
- # rpc LongRunningRecognize(LongRunningRecognizeRequest)
134
- # returns (google.longrunning.Operation) {
135
- # option (google.longrunning.operation_info) = {
136
- # response_type: "LongRunningRecognizeResponse"
137
- # metadata_type: "LongRunningRecognizeMetadata"
138
- # };
139
- # }
140
- # @!attribute [rw] response_type
141
- # @return [::String]
142
- # Required. The message name of the primary return type for this
143
- # long-running operation.
144
- # This type will be used to deserialize the LRO's response.
145
- #
146
- # If the response is in a different package from the rpc, a fully-qualified
147
- # message name must be used (e.g. `google.protobuf.Struct`).
148
- #
149
- # Note: Altering this value constitutes a breaking change.
150
- # @!attribute [rw] metadata_type
151
- # @return [::String]
152
- # Required. The message name of the metadata type for this long-running
153
- # operation.
154
- #
155
- # If the response is in a different package from the rpc, a fully-qualified
156
- # message name must be used (e.g. `google.protobuf.Struct`).
157
- #
158
- # Note: Altering this value constitutes a breaking change.
159
- class OperationInfo
160
- include ::Google::Protobuf::MessageExts
161
- extend ::Google::Protobuf::MessageExts::ClassMethods
162
- end
163
- end
164
- end
@@ -1,144 +0,0 @@
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
- # `Any` contains an arbitrary serialized protocol buffer message along with a
23
- # URL that describes the type of the serialized message.
24
- #
25
- # Protobuf library provides support to pack/unpack Any values in the form
26
- # of utility functions or additional generated methods of the Any type.
27
- #
28
- # Example 1: Pack and unpack a message in C++.
29
- #
30
- # Foo foo = ...;
31
- # Any any;
32
- # any.PackFrom(foo);
33
- # ...
34
- # if (any.UnpackTo(&foo)) {
35
- # ...
36
- # }
37
- #
38
- # Example 2: Pack and unpack a message in Java.
39
- #
40
- # Foo foo = ...;
41
- # Any any = Any.pack(foo);
42
- # ...
43
- # if (any.is(Foo.class)) {
44
- # foo = any.unpack(Foo.class);
45
- # }
46
- # // or ...
47
- # if (any.isSameTypeAs(Foo.getDefaultInstance())) {
48
- # foo = any.unpack(Foo.getDefaultInstance());
49
- # }
50
- #
51
- # Example 3: Pack and unpack a message in Python.
52
- #
53
- # foo = Foo(...)
54
- # any = Any()
55
- # any.Pack(foo)
56
- # ...
57
- # if any.Is(Foo.DESCRIPTOR):
58
- # any.Unpack(foo)
59
- # ...
60
- #
61
- # Example 4: Pack and unpack a message in Go
62
- #
63
- # foo := &pb.Foo{...}
64
- # any, err := anypb.New(foo)
65
- # if err != nil {
66
- # ...
67
- # }
68
- # ...
69
- # foo := &pb.Foo{}
70
- # if err := any.UnmarshalTo(foo); err != nil {
71
- # ...
72
- # }
73
- #
74
- # The pack methods provided by protobuf library will by default use
75
- # 'type.googleapis.com/full.type.name' as the type URL and the unpack
76
- # methods only use the fully qualified type name after the last '/'
77
- # in the type URL, for example "foo.bar.com/x/y.z" will yield type
78
- # name "y.z".
79
- #
80
- # JSON
81
- # ====
82
- # The JSON representation of an `Any` value uses the regular
83
- # representation of the deserialized, embedded message, with an
84
- # additional field `@type` which contains the type URL. Example:
85
- #
86
- # package google.profile;
87
- # message Person {
88
- # string first_name = 1;
89
- # string last_name = 2;
90
- # }
91
- #
92
- # {
93
- # "@type": "type.googleapis.com/google.profile.Person",
94
- # "firstName": <string>,
95
- # "lastName": <string>
96
- # }
97
- #
98
- # If the embedded message type is well-known and has a custom JSON
99
- # representation, that representation will be embedded adding a field
100
- # `value` which holds the custom JSON in addition to the `@type`
101
- # field. Example (for message [google.protobuf.Duration][]):
102
- #
103
- # {
104
- # "@type": "type.googleapis.com/google.protobuf.Duration",
105
- # "value": "1.212s"
106
- # }
107
- # @!attribute [rw] type_url
108
- # @return [::String]
109
- # A URL/resource name that uniquely identifies the type of the serialized
110
- # protocol buffer message. This string must contain at least
111
- # one "/" character. The last segment of the URL's path must represent
112
- # the fully qualified name of the type (as in
113
- # `path/google.protobuf.Duration`). The name should be in a canonical form
114
- # (e.g., leading "." is not accepted).
115
- #
116
- # In practice, teams usually precompile into the binary all types that they
117
- # expect it to use in the context of Any. However, for URLs which use the
118
- # scheme `http`, `https`, or no scheme, one can optionally set up a type
119
- # server that maps type URLs to message definitions as follows:
120
- #
121
- # * If no scheme is provided, `https` is assumed.
122
- # * An HTTP GET on the URL must yield a [google.protobuf.Type][]
123
- # value in binary format, or produce an error.
124
- # * Applications are allowed to cache lookup results based on the
125
- # URL, or have them precompiled into a binary to avoid any
126
- # lookup. Therefore, binary compatibility needs to be preserved
127
- # on changes to types. (Use versioned type names to manage
128
- # breaking changes.)
129
- #
130
- # Note: this functionality is not currently available in the official
131
- # protobuf release, and it is not used for type URLs beginning with
132
- # type.googleapis.com.
133
- #
134
- # Schemes other than `http`, `https` (or the empty scheme) might be
135
- # used with implementation specific semantics.
136
- # @!attribute [rw] value
137
- # @return [::String]
138
- # Must be a valid serialized protocol buffer of the above specified type.
139
- class Any
140
- include ::Google::Protobuf::MessageExts
141
- extend ::Google::Protobuf::MessageExts::ClassMethods
142
- end
143
- end
144
- end
@@ -1,98 +0,0 @@
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
- # A Duration represents a signed, fixed-length span of time represented
23
- # as a count of seconds and fractions of seconds at nanosecond
24
- # resolution. It is independent of any calendar and concepts like "day"
25
- # or "month". It is related to Timestamp in that the difference between
26
- # two Timestamp values is a Duration and it can be added or subtracted
27
- # from a Timestamp. Range is approximately +-10,000 years.
28
- #
29
- # # Examples
30
- #
31
- # Example 1: Compute Duration from two Timestamps in pseudo code.
32
- #
33
- # Timestamp start = ...;
34
- # Timestamp end = ...;
35
- # Duration duration = ...;
36
- #
37
- # duration.seconds = end.seconds - start.seconds;
38
- # duration.nanos = end.nanos - start.nanos;
39
- #
40
- # if (duration.seconds < 0 && duration.nanos > 0) {
41
- # duration.seconds += 1;
42
- # duration.nanos -= 1000000000;
43
- # } else if (duration.seconds > 0 && duration.nanos < 0) {
44
- # duration.seconds -= 1;
45
- # duration.nanos += 1000000000;
46
- # }
47
- #
48
- # Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.
49
- #
50
- # Timestamp start = ...;
51
- # Duration duration = ...;
52
- # Timestamp end = ...;
53
- #
54
- # end.seconds = start.seconds + duration.seconds;
55
- # end.nanos = start.nanos + duration.nanos;
56
- #
57
- # if (end.nanos < 0) {
58
- # end.seconds -= 1;
59
- # end.nanos += 1000000000;
60
- # } else if (end.nanos >= 1000000000) {
61
- # end.seconds += 1;
62
- # end.nanos -= 1000000000;
63
- # }
64
- #
65
- # Example 3: Compute Duration from datetime.timedelta in Python.
66
- #
67
- # td = datetime.timedelta(days=3, minutes=10)
68
- # duration = Duration()
69
- # duration.FromTimedelta(td)
70
- #
71
- # # JSON Mapping
72
- #
73
- # In JSON format, the Duration type is encoded as a string rather than an
74
- # object, where the string ends in the suffix "s" (indicating seconds) and
75
- # is preceded by the number of seconds, with nanoseconds expressed as
76
- # fractional seconds. For example, 3 seconds with 0 nanoseconds should be
77
- # encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should
78
- # be expressed in JSON format as "3.000000001s", and 3 seconds and 1
79
- # microsecond should be expressed in JSON format as "3.000001s".
80
- # @!attribute [rw] seconds
81
- # @return [::Integer]
82
- # Signed seconds of the span of time. Must be from -315,576,000,000
83
- # to +315,576,000,000 inclusive. Note: these bounds are computed from:
84
- # 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
85
- # @!attribute [rw] nanos
86
- # @return [::Integer]
87
- # Signed fractions of a second at nanosecond resolution of the span
88
- # of time. Durations less than one second are represented with a 0
89
- # `seconds` field and a positive or negative `nanos` field. For durations
90
- # of one second or more, a non-zero value for the `nanos` field must be
91
- # of the same sign as the `seconds` field. Must be from -999,999,999
92
- # to +999,999,999 inclusive.
93
- class Duration
94
- include ::Google::Protobuf::MessageExts
95
- extend ::Google::Protobuf::MessageExts::ClassMethods
96
- end
97
- end
98
- end
@@ -1,34 +0,0 @@
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
- # A generic empty message that you can re-use to avoid defining duplicated
23
- # empty messages in your APIs. A typical example is to use it as the request
24
- # or the response type of an API method. For instance:
25
- #
26
- # service Foo {
27
- # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
28
- # }
29
- class Empty
30
- include ::Google::Protobuf::MessageExts
31
- extend ::Google::Protobuf::MessageExts::ClassMethods
32
- end
33
- end
34
- end
@@ -1,229 +0,0 @@
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