google-cloud-service_usage-v1 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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