google-cloud-service_usage-v1 0.1.0

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.
Files changed (38) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +169 -0
  4. data/LICENSE.md +201 -0
  5. data/README.md +139 -0
  6. data/lib/google-cloud-service_usage-v1.rb +21 -0
  7. data/lib/google/api/serviceusage/v1/resources_pb.rb +57 -0
  8. data/lib/google/api/serviceusage/v1/serviceusage_pb.rb +86 -0
  9. data/lib/google/api/serviceusage/v1/serviceusage_services_pb.rb +80 -0
  10. data/lib/google/cloud/service_usage/v1.rb +38 -0
  11. data/lib/google/cloud/service_usage/v1/service_usage.rb +53 -0
  12. data/lib/google/cloud/service_usage/v1/service_usage/client.rb +850 -0
  13. data/lib/google/cloud/service_usage/v1/service_usage/credentials.rb +53 -0
  14. data/lib/google/cloud/service_usage/v1/service_usage/operations.rb +655 -0
  15. data/lib/google/cloud/service_usage/v1/version.rb +28 -0
  16. data/proto_docs/README.md +4 -0
  17. data/proto_docs/google/api/auth.rb +247 -0
  18. data/proto_docs/google/api/documentation.rb +170 -0
  19. data/proto_docs/google/api/endpoint.rb +70 -0
  20. data/proto_docs/google/api/label.rb +49 -0
  21. data/proto_docs/google/api/launch_stage.rb +71 -0
  22. data/proto_docs/google/api/monitored_resource.rb +138 -0
  23. data/proto_docs/google/api/monitoring.rb +110 -0
  24. data/proto_docs/google/api/quota.rb +207 -0
  25. data/proto_docs/google/api/resource.rb +283 -0
  26. data/proto_docs/google/api/serviceusage/v1/resources.rb +122 -0
  27. data/proto_docs/google/api/serviceusage/v1/serviceusage.rb +242 -0
  28. data/proto_docs/google/api/usage.rb +100 -0
  29. data/proto_docs/google/longrunning/operations.rb +164 -0
  30. data/proto_docs/google/protobuf/any.rb +141 -0
  31. data/proto_docs/google/protobuf/api.rb +194 -0
  32. data/proto_docs/google/protobuf/duration.rb +98 -0
  33. data/proto_docs/google/protobuf/empty.rb +36 -0
  34. data/proto_docs/google/protobuf/source_context.rb +33 -0
  35. data/proto_docs/google/protobuf/struct.rb +96 -0
  36. data/proto_docs/google/protobuf/type.rb +223 -0
  37. data/proto_docs/google/rpc/status.rb +46 -0
  38. metadata +229 -0
@@ -0,0 +1,100 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2021 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
+ # Configuration controlling usage of a service.
23
+ # @!attribute [rw] requirements
24
+ # @return [::Array<::String>]
25
+ # Requirements that must be satisfied before a consumer project can use the
26
+ # service. Each requirement is of the form <service.name>/<requirement-id>;
27
+ # for example 'serviceusage.googleapis.com/billing-enabled'.
28
+ #
29
+ # For Google APIs, a Terms of Service requirement must be included here.
30
+ # Google Cloud APIs must include "serviceusage.googleapis.com/tos/cloud".
31
+ # Other Google APIs should include
32
+ # "serviceusage.googleapis.com/tos/universal". Additional ToS can be
33
+ # included based on the business needs.
34
+ # @!attribute [rw] rules
35
+ # @return [::Array<::Google::Api::UsageRule>]
36
+ # A list of usage rules that apply to individual API methods.
37
+ #
38
+ # **NOTE:** All service configuration rules follow "last one wins" order.
39
+ # @!attribute [rw] producer_notification_channel
40
+ # @return [::String]
41
+ # The full resource name of a channel used for sending notifications to the
42
+ # service producer.
43
+ #
44
+ # Google Service Management currently only supports
45
+ # [Google Cloud Pub/Sub](https://cloud.google.com/pubsub) as a notification
46
+ # channel. To use Google Cloud Pub/Sub as the channel, this must be the name
47
+ # of a Cloud Pub/Sub topic that uses the Cloud Pub/Sub topic name format
48
+ # documented in https://cloud.google.com/pubsub/docs/overview.
49
+ class Usage
50
+ include ::Google::Protobuf::MessageExts
51
+ extend ::Google::Protobuf::MessageExts::ClassMethods
52
+ end
53
+
54
+ # Usage configuration rules for the service.
55
+ #
56
+ # NOTE: Under development.
57
+ #
58
+ #
59
+ # Use this rule to configure unregistered calls for the service. Unregistered
60
+ # calls are calls that do not contain consumer project identity.
61
+ # (Example: calls that do not contain an API key).
62
+ # By default, API methods do not allow unregistered calls, and each method call
63
+ # must be identified by a consumer project identity. Use this rule to
64
+ # allow/disallow unregistered calls.
65
+ #
66
+ # Example of an API that wants to allow unregistered calls for entire service.
67
+ #
68
+ # usage:
69
+ # rules:
70
+ # - selector: "*"
71
+ # allow_unregistered_calls: true
72
+ #
73
+ # Example of a method that wants to allow unregistered calls.
74
+ #
75
+ # usage:
76
+ # rules:
77
+ # - selector: "google.example.library.v1.LibraryService.CreateBook"
78
+ # allow_unregistered_calls: true
79
+ # @!attribute [rw] selector
80
+ # @return [::String]
81
+ # Selects the methods to which this rule applies. Use '*' to indicate all
82
+ # methods in all APIs.
83
+ #
84
+ # Refer to {::Google::Api::DocumentationRule#selector selector} for syntax details.
85
+ # @!attribute [rw] allow_unregistered_calls
86
+ # @return [::Boolean]
87
+ # If true, the selected method allows unregistered calls, e.g. calls
88
+ # that don't identify any user or application.
89
+ # @!attribute [rw] skip_service_control
90
+ # @return [::Boolean]
91
+ # If true, the selected method should skip service control and the control
92
+ # plane features, such as quota and billing, will not be available.
93
+ # This flag is used by Google Cloud Endpoints to bypass checks for internal
94
+ # methods, such as service health check methods.
95
+ class UsageRule
96
+ include ::Google::Protobuf::MessageExts
97
+ extend ::Google::Protobuf::MessageExts::ClassMethods
98
+ end
99
+ end
100
+ end
@@ -0,0 +1,164 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2021 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
@@ -0,0 +1,141 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2021 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
+ #
47
+ # Example 3: Pack and unpack a message in Python.
48
+ #
49
+ # foo = Foo(...)
50
+ # any = Any()
51
+ # any.Pack(foo)
52
+ # ...
53
+ # if any.Is(Foo.DESCRIPTOR):
54
+ # any.Unpack(foo)
55
+ # ...
56
+ #
57
+ # Example 4: Pack and unpack a message in Go
58
+ #
59
+ # foo := &pb.Foo{...}
60
+ # any, err := anypb.New(foo)
61
+ # if err != nil {
62
+ # ...
63
+ # }
64
+ # ...
65
+ # foo := &pb.Foo{}
66
+ # if err := any.UnmarshalTo(foo); err != nil {
67
+ # ...
68
+ # }
69
+ #
70
+ # The pack methods provided by protobuf library will by default use
71
+ # 'type.googleapis.com/full.type.name' as the type URL and the unpack
72
+ # methods only use the fully qualified type name after the last '/'
73
+ # in the type URL, for example "foo.bar.com/x/y.z" will yield type
74
+ # name "y.z".
75
+ #
76
+ #
77
+ # JSON
78
+ # ====
79
+ # The JSON representation of an `Any` value uses the regular
80
+ # representation of the deserialized, embedded message, with an
81
+ # additional field `@type` which contains the type URL. Example:
82
+ #
83
+ # package google.profile;
84
+ # message Person {
85
+ # string first_name = 1;
86
+ # string last_name = 2;
87
+ # }
88
+ #
89
+ # {
90
+ # "@type": "type.googleapis.com/google.profile.Person",
91
+ # "firstName": <string>,
92
+ # "lastName": <string>
93
+ # }
94
+ #
95
+ # If the embedded message type is well-known and has a custom JSON
96
+ # representation, that representation will be embedded adding a field
97
+ # `value` which holds the custom JSON in addition to the `@type`
98
+ # field. Example (for message [google.protobuf.Duration][]):
99
+ #
100
+ # {
101
+ # "@type": "type.googleapis.com/google.protobuf.Duration",
102
+ # "value": "1.212s"
103
+ # }
104
+ # @!attribute [rw] type_url
105
+ # @return [::String]
106
+ # A URL/resource name that uniquely identifies the type of the serialized
107
+ # protocol buffer message. This string must contain at least
108
+ # one "/" character. The last segment of the URL's path must represent
109
+ # the fully qualified name of the type (as in
110
+ # `path/google.protobuf.Duration`). The name should be in a canonical form
111
+ # (e.g., leading "." is not accepted).
112
+ #
113
+ # In practice, teams usually precompile into the binary all types that they
114
+ # expect it to use in the context of Any. However, for URLs which use the
115
+ # scheme `http`, `https`, or no scheme, one can optionally set up a type
116
+ # server that maps type URLs to message definitions as follows:
117
+ #
118
+ # * If no scheme is provided, `https` is assumed.
119
+ # * An HTTP GET on the URL must yield a [google.protobuf.Type][]
120
+ # value in binary format, or produce an error.
121
+ # * Applications are allowed to cache lookup results based on the
122
+ # URL, or have them precompiled into a binary to avoid any
123
+ # lookup. Therefore, binary compatibility needs to be preserved
124
+ # on changes to types. (Use versioned type names to manage
125
+ # breaking changes.)
126
+ #
127
+ # Note: this functionality is not currently available in the official
128
+ # protobuf release, and it is not used for type URLs beginning with
129
+ # type.googleapis.com.
130
+ #
131
+ # Schemes other than `http`, `https` (or the empty scheme) might be
132
+ # used with implementation specific semantics.
133
+ # @!attribute [rw] value
134
+ # @return [::String]
135
+ # Must be a valid serialized protocol buffer of the above specified type.
136
+ class Any
137
+ include ::Google::Protobuf::MessageExts
138
+ extend ::Google::Protobuf::MessageExts::ClassMethods
139
+ end
140
+ end
141
+ end
@@ -0,0 +1,194 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2021 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
+ # Api is a light-weight descriptor for an API Interface.
23
+ #
24
+ # Interfaces are also described as "protocol buffer services" in some contexts,
25
+ # such as by the "service" keyword in a .proto file, but they are different
26
+ # from API Services, which represent a concrete implementation of an interface
27
+ # as opposed to simply a description of methods and bindings. They are also
28
+ # sometimes simply referred to as "APIs" in other contexts, such as the name of
29
+ # this message itself. See https://cloud.google.com/apis/design/glossary for
30
+ # detailed terminology.
31
+ # @!attribute [rw] name
32
+ # @return [::String]
33
+ # The fully qualified name of this interface, including package name
34
+ # followed by the interface's simple name.
35
+ # @!attribute [rw] methods
36
+ # @return [::Array<::Google::Protobuf::Method>]
37
+ # The methods of this interface, in unspecified order.
38
+ # @!attribute [rw] options
39
+ # @return [::Array<::Google::Protobuf::Option>]
40
+ # Any metadata attached to the interface.
41
+ # @!attribute [rw] version
42
+ # @return [::String]
43
+ # A version string for this interface. If specified, must have the form
44
+ # `major-version.minor-version`, as in `1.10`. If the minor version is
45
+ # omitted, it defaults to zero. If the entire version field is empty, the
46
+ # major version is derived from the package name, as outlined below. If the
47
+ # field is not empty, the version in the package name will be verified to be
48
+ # consistent with what is provided here.
49
+ #
50
+ # The versioning schema uses [semantic
51
+ # versioning](http://semver.org) where the major version number
52
+ # indicates a breaking change and the minor version an additive,
53
+ # non-breaking change. Both version numbers are signals to users
54
+ # what to expect from different versions, and should be carefully
55
+ # chosen based on the product plan.
56
+ #
57
+ # The major version is also reflected in the package name of the
58
+ # interface, which must end in `v<major-version>`, as in
59
+ # `google.feature.v1`. For major versions 0 and 1, the suffix can
60
+ # be omitted. Zero major versions must only be used for
61
+ # experimental, non-GA interfaces.
62
+ # @!attribute [rw] source_context
63
+ # @return [::Google::Protobuf::SourceContext]
64
+ # Source context for the protocol buffer service represented by this
65
+ # message.
66
+ # @!attribute [rw] mixins
67
+ # @return [::Array<::Google::Protobuf::Mixin>]
68
+ # Included interfaces. See [Mixin][].
69
+ # @!attribute [rw] syntax
70
+ # @return [::Google::Protobuf::Syntax]
71
+ # The source syntax of the service.
72
+ class Api
73
+ include ::Google::Protobuf::MessageExts
74
+ extend ::Google::Protobuf::MessageExts::ClassMethods
75
+ end
76
+
77
+ # Method represents a method of an API interface.
78
+ # @!attribute [rw] name
79
+ # @return [::String]
80
+ # The simple name of this method.
81
+ # @!attribute [rw] request_type_url
82
+ # @return [::String]
83
+ # A URL of the input message type.
84
+ # @!attribute [rw] request_streaming
85
+ # @return [::Boolean]
86
+ # If true, the request is streamed.
87
+ # @!attribute [rw] response_type_url
88
+ # @return [::String]
89
+ # The URL of the output message type.
90
+ # @!attribute [rw] response_streaming
91
+ # @return [::Boolean]
92
+ # If true, the response is streamed.
93
+ # @!attribute [rw] options
94
+ # @return [::Array<::Google::Protobuf::Option>]
95
+ # Any metadata attached to the method.
96
+ # @!attribute [rw] syntax
97
+ # @return [::Google::Protobuf::Syntax]
98
+ # The source syntax of this method.
99
+ class Method
100
+ include ::Google::Protobuf::MessageExts
101
+ extend ::Google::Protobuf::MessageExts::ClassMethods
102
+ end
103
+
104
+ # Declares an API Interface to be included in this interface. The including
105
+ # interface must redeclare all the methods from the included interface, but
106
+ # documentation and options are inherited as follows:
107
+ #
108
+ # - If after comment and whitespace stripping, the documentation
109
+ # string of the redeclared method is empty, it will be inherited
110
+ # from the original method.
111
+ #
112
+ # - Each annotation belonging to the service config (http,
113
+ # visibility) which is not set in the redeclared method will be
114
+ # inherited.
115
+ #
116
+ # - If an http annotation is inherited, the path pattern will be
117
+ # modified as follows. Any version prefix will be replaced by the
118
+ # version of the including interface plus the [root][] path if
119
+ # specified.
120
+ #
121
+ # Example of a simple mixin:
122
+ #
123
+ # package google.acl.v1;
124
+ # service AccessControl {
125
+ # // Get the underlying ACL object.
126
+ # rpc GetAcl(GetAclRequest) returns (Acl) {
127
+ # option (google.api.http).get = "/v1/{resource=**}:getAcl";
128
+ # }
129
+ # }
130
+ #
131
+ # package google.storage.v2;
132
+ # service Storage {
133
+ # rpc GetAcl(GetAclRequest) returns (Acl);
134
+ #
135
+ # // Get a data record.
136
+ # rpc GetData(GetDataRequest) returns (Data) {
137
+ # option (google.api.http).get = "/v2/{resource=**}";
138
+ # }
139
+ # }
140
+ #
141
+ # Example of a mixin configuration:
142
+ #
143
+ # apis:
144
+ # - name: google.storage.v2.Storage
145
+ # mixins:
146
+ # - name: google.acl.v1.AccessControl
147
+ #
148
+ # The mixin construct implies that all methods in `AccessControl` are
149
+ # also declared with same name and request/response types in
150
+ # `Storage`. A documentation generator or annotation processor will
151
+ # see the effective `Storage.GetAcl` method after inheriting
152
+ # documentation and annotations as follows:
153
+ #
154
+ # service Storage {
155
+ # // Get the underlying ACL object.
156
+ # rpc GetAcl(GetAclRequest) returns (Acl) {
157
+ # option (google.api.http).get = "/v2/{resource=**}:getAcl";
158
+ # }
159
+ # ...
160
+ # }
161
+ #
162
+ # Note how the version in the path pattern changed from `v1` to `v2`.
163
+ #
164
+ # If the `root` field in the mixin is specified, it should be a
165
+ # relative path under which inherited HTTP paths are placed. Example:
166
+ #
167
+ # apis:
168
+ # - name: google.storage.v2.Storage
169
+ # mixins:
170
+ # - name: google.acl.v1.AccessControl
171
+ # root: acls
172
+ #
173
+ # This implies the following inherited HTTP annotation:
174
+ #
175
+ # service Storage {
176
+ # // Get the underlying ACL object.
177
+ # rpc GetAcl(GetAclRequest) returns (Acl) {
178
+ # option (google.api.http).get = "/v2/acls/{resource=**}:getAcl";
179
+ # }
180
+ # ...
181
+ # }
182
+ # @!attribute [rw] name
183
+ # @return [::String]
184
+ # The fully qualified name of the interface which is included.
185
+ # @!attribute [rw] root
186
+ # @return [::String]
187
+ # If non-empty specifies a path under which inherited HTTP paths
188
+ # are rooted.
189
+ class Mixin
190
+ include ::Google::Protobuf::MessageExts
191
+ extend ::Google::Protobuf::MessageExts::ClassMethods
192
+ end
193
+ end
194
+ end