google-cloud-service_management-v1 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +169 -0
  4. data/LICENSE.md +203 -0
  5. data/README.md +75 -0
  6. data/lib/google-cloud-service_management-v1.rb +21 -0
  7. data/lib/google/api/servicemanagement/v1/resources_pb.rb +123 -0
  8. data/lib/google/api/servicemanagement/v1/servicemanager_pb.rb +146 -0
  9. data/lib/google/api/servicemanagement/v1/servicemanager_services_pb.rb +148 -0
  10. data/lib/google/cloud/service_management/v1.rb +35 -0
  11. data/lib/google/cloud/service_management/v1/service_manager.rb +49 -0
  12. data/lib/google/cloud/service_management/v1/service_manager/client.rb +1563 -0
  13. data/lib/google/cloud/service_management/v1/service_manager/credentials.rb +54 -0
  14. data/lib/google/cloud/service_management/v1/service_manager/operations.rb +570 -0
  15. data/lib/google/cloud/service_management/v1/version.rb +28 -0
  16. data/proto_docs/README.md +4 -0
  17. data/proto_docs/google/api/auth.rb +192 -0
  18. data/proto_docs/google/api/backend.rb +55 -0
  19. data/proto_docs/google/api/billing.rb +69 -0
  20. data/proto_docs/google/api/config_change.rb +89 -0
  21. data/proto_docs/google/api/context.rb +67 -0
  22. data/proto_docs/google/api/control.rb +34 -0
  23. data/proto_docs/google/api/documentation.rb +164 -0
  24. data/proto_docs/google/api/endpoint.rb +70 -0
  25. data/proto_docs/google/api/field_behavior.rb +59 -0
  26. data/proto_docs/google/api/label.rb +49 -0
  27. data/proto_docs/google/api/log.rb +54 -0
  28. data/proto_docs/google/api/logging.rb +85 -0
  29. data/proto_docs/google/api/metric.rb +203 -0
  30. data/proto_docs/google/api/monitored_resource.rb +137 -0
  31. data/proto_docs/google/api/monitoring.rb +91 -0
  32. data/proto_docs/google/api/quota.rb +281 -0
  33. data/proto_docs/google/api/resource.rb +283 -0
  34. data/proto_docs/google/api/service.rb +151 -0
  35. data/proto_docs/google/api/servicemanagement/v1/resources.rb +326 -0
  36. data/proto_docs/google/api/servicemanagement/v1/servicemanager.rb +370 -0
  37. data/proto_docs/google/api/source_info.rb +31 -0
  38. data/proto_docs/google/api/system_parameter.rb +103 -0
  39. data/proto_docs/google/api/usage.rb +94 -0
  40. data/proto_docs/google/longrunning/operations.rb +150 -0
  41. data/proto_docs/google/protobuf/any.rb +138 -0
  42. data/proto_docs/google/protobuf/api.rb +194 -0
  43. data/proto_docs/google/protobuf/empty.rb +36 -0
  44. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  45. data/proto_docs/google/protobuf/source_context.rb +33 -0
  46. data/proto_docs/google/protobuf/struct.rb +96 -0
  47. data/proto_docs/google/protobuf/timestamp.rb +120 -0
  48. data/proto_docs/google/protobuf/type.rb +223 -0
  49. data/proto_docs/google/protobuf/wrappers.rb +121 -0
  50. data/proto_docs/google/rpc/status.rb +46 -0
  51. metadata +232 -0
@@ -0,0 +1,94 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 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
+ # @!attribute [rw] rules
29
+ # @return [::Array<::Google::Api::UsageRule>]
30
+ # A list of usage rules that apply to individual API methods.
31
+ #
32
+ # **NOTE:** All service configuration rules follow "last one wins" order.
33
+ # @!attribute [rw] producer_notification_channel
34
+ # @return [::String]
35
+ # The full resource name of a channel used for sending notifications to the
36
+ # service producer.
37
+ #
38
+ # Google Service Management currently only supports
39
+ # [Google Cloud Pub/Sub](https://cloud.google.com/pubsub) as a notification
40
+ # channel. To use Google Cloud Pub/Sub as the channel, this must be the name
41
+ # of a Cloud Pub/Sub topic that uses the Cloud Pub/Sub topic name format
42
+ # documented in https://cloud.google.com/pubsub/docs/overview.
43
+ class Usage
44
+ include ::Google::Protobuf::MessageExts
45
+ extend ::Google::Protobuf::MessageExts::ClassMethods
46
+ end
47
+
48
+ # Usage configuration rules for the service.
49
+ #
50
+ # NOTE: Under development.
51
+ #
52
+ #
53
+ # Use this rule to configure unregistered calls for the service. Unregistered
54
+ # calls are calls that do not contain consumer project identity.
55
+ # (Example: calls that do not contain an API key).
56
+ # By default, API methods do not allow unregistered calls, and each method call
57
+ # must be identified by a consumer project identity. Use this rule to
58
+ # allow/disallow unregistered calls.
59
+ #
60
+ # Example of an API that wants to allow unregistered calls for entire service.
61
+ #
62
+ # usage:
63
+ # rules:
64
+ # - selector: "*"
65
+ # allow_unregistered_calls: true
66
+ #
67
+ # Example of a method that wants to allow unregistered calls.
68
+ #
69
+ # usage:
70
+ # rules:
71
+ # - selector: "google.example.library.v1.LibraryService.CreateBook"
72
+ # allow_unregistered_calls: true
73
+ # @!attribute [rw] selector
74
+ # @return [::String]
75
+ # Selects the methods to which this rule applies. Use '*' to indicate all
76
+ # methods in all APIs.
77
+ #
78
+ # Refer to {::Google::Api::DocumentationRule#selector selector} for syntax details.
79
+ # @!attribute [rw] allow_unregistered_calls
80
+ # @return [::Boolean]
81
+ # If true, the selected method allows unregistered calls, e.g. calls
82
+ # that don't identify any user or application.
83
+ # @!attribute [rw] skip_service_control
84
+ # @return [::Boolean]
85
+ # If true, the selected method should skip service control and the control
86
+ # plane features, such as quota and billing, will not be available.
87
+ # This flag is used by Google Cloud Endpoints to bypass checks for internal
88
+ # methods, such as service health check methods.
89
+ class UsageRule
90
+ include ::Google::Protobuf::MessageExts
91
+ extend ::Google::Protobuf::MessageExts::ClassMethods
92
+ end
93
+ end
94
+ end
@@ -0,0 +1,150 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 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 have the format of `operations/some/unique/name`.
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 collection.
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
+ # A message representing the message types used by a long-running operation.
116
+ #
117
+ # Example:
118
+ #
119
+ # rpc LongRunningRecognize(LongRunningRecognizeRequest)
120
+ # returns (google.longrunning.Operation) {
121
+ # option (google.longrunning.operation_info) = {
122
+ # response_type: "LongRunningRecognizeResponse"
123
+ # metadata_type: "LongRunningRecognizeMetadata"
124
+ # };
125
+ # }
126
+ # @!attribute [rw] response_type
127
+ # @return [::String]
128
+ # Required. The message name of the primary return type for this
129
+ # long-running operation.
130
+ # This type will be used to deserialize the LRO's response.
131
+ #
132
+ # If the response is in a different package from the rpc, a fully-qualified
133
+ # message name must be used (e.g. `google.protobuf.Struct`).
134
+ #
135
+ # Note: Altering this value constitutes a breaking change.
136
+ # @!attribute [rw] metadata_type
137
+ # @return [::String]
138
+ # Required. The message name of the metadata type for this long-running
139
+ # operation.
140
+ #
141
+ # If the response is in a different package from the rpc, a fully-qualified
142
+ # message name must be used (e.g. `google.protobuf.Struct`).
143
+ #
144
+ # Note: Altering this value constitutes a breaking change.
145
+ class OperationInfo
146
+ include ::Google::Protobuf::MessageExts
147
+ extend ::Google::Protobuf::MessageExts::ClassMethods
148
+ end
149
+ end
150
+ end
@@ -0,0 +1,138 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 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 := ptypes.MarshalAny(foo)
61
+ # ...
62
+ # foo := &pb.Foo{}
63
+ # if err := ptypes.UnmarshalAny(any, foo); err != nil {
64
+ # ...
65
+ # }
66
+ #
67
+ # The pack methods provided by protobuf library will by default use
68
+ # 'type.googleapis.com/full.type.name' as the type URL and the unpack
69
+ # methods only use the fully qualified type name after the last '/'
70
+ # in the type URL, for example "foo.bar.com/x/y.z" will yield type
71
+ # name "y.z".
72
+ #
73
+ #
74
+ # JSON
75
+ # ====
76
+ # The JSON representation of an `Any` value uses the regular
77
+ # representation of the deserialized, embedded message, with an
78
+ # additional field `@type` which contains the type URL. Example:
79
+ #
80
+ # package google.profile;
81
+ # message Person {
82
+ # string first_name = 1;
83
+ # string last_name = 2;
84
+ # }
85
+ #
86
+ # {
87
+ # "@type": "type.googleapis.com/google.profile.Person",
88
+ # "firstName": <string>,
89
+ # "lastName": <string>
90
+ # }
91
+ #
92
+ # If the embedded message type is well-known and has a custom JSON
93
+ # representation, that representation will be embedded adding a field
94
+ # `value` which holds the custom JSON in addition to the `@type`
95
+ # field. Example (for message [google.protobuf.Duration][]):
96
+ #
97
+ # {
98
+ # "@type": "type.googleapis.com/google.protobuf.Duration",
99
+ # "value": "1.212s"
100
+ # }
101
+ # @!attribute [rw] type_url
102
+ # @return [::String]
103
+ # A URL/resource name that uniquely identifies the type of the serialized
104
+ # protocol buffer message. This string must contain at least
105
+ # one "/" character. The last segment of the URL's path must represent
106
+ # the fully qualified name of the type (as in
107
+ # `path/google.protobuf.Duration`). The name should be in a canonical form
108
+ # (e.g., leading "." is not accepted).
109
+ #
110
+ # In practice, teams usually precompile into the binary all types that they
111
+ # expect it to use in the context of Any. However, for URLs which use the
112
+ # scheme `http`, `https`, or no scheme, one can optionally set up a type
113
+ # server that maps type URLs to message definitions as follows:
114
+ #
115
+ # * If no scheme is provided, `https` is assumed.
116
+ # * An HTTP GET on the URL must yield a [google.protobuf.Type][]
117
+ # value in binary format, or produce an error.
118
+ # * Applications are allowed to cache lookup results based on the
119
+ # URL, or have them precompiled into a binary to avoid any
120
+ # lookup. Therefore, binary compatibility needs to be preserved
121
+ # on changes to types. (Use versioned type names to manage
122
+ # breaking changes.)
123
+ #
124
+ # Note: this functionality is not currently available in the official
125
+ # protobuf release, and it is not used for type URLs beginning with
126
+ # type.googleapis.com.
127
+ #
128
+ # Schemes other than `http`, `https` (or the empty scheme) might be
129
+ # used with implementation specific semantics.
130
+ # @!attribute [rw] value
131
+ # @return [::String]
132
+ # Must be a valid serialized protocol buffer of the above specified type.
133
+ class Any
134
+ include ::Google::Protobuf::MessageExts
135
+ extend ::Google::Protobuf::MessageExts::ClassMethods
136
+ end
137
+ end
138
+ end
@@ -0,0 +1,194 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 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 inherting
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