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.
- checksums.yaml +7 -0
- data/.yardopts +12 -0
- data/AUTHENTICATION.md +169 -0
- data/LICENSE.md +201 -0
- data/README.md +139 -0
- data/lib/google-cloud-service_usage-v1.rb +21 -0
- data/lib/google/api/serviceusage/v1/resources_pb.rb +57 -0
- data/lib/google/api/serviceusage/v1/serviceusage_pb.rb +86 -0
- data/lib/google/api/serviceusage/v1/serviceusage_services_pb.rb +80 -0
- data/lib/google/cloud/service_usage/v1.rb +38 -0
- data/lib/google/cloud/service_usage/v1/service_usage.rb +53 -0
- data/lib/google/cloud/service_usage/v1/service_usage/client.rb +850 -0
- data/lib/google/cloud/service_usage/v1/service_usage/credentials.rb +53 -0
- data/lib/google/cloud/service_usage/v1/service_usage/operations.rb +655 -0
- data/lib/google/cloud/service_usage/v1/version.rb +28 -0
- data/proto_docs/README.md +4 -0
- data/proto_docs/google/api/auth.rb +247 -0
- data/proto_docs/google/api/documentation.rb +170 -0
- data/proto_docs/google/api/endpoint.rb +70 -0
- data/proto_docs/google/api/label.rb +49 -0
- data/proto_docs/google/api/launch_stage.rb +71 -0
- data/proto_docs/google/api/monitored_resource.rb +138 -0
- data/proto_docs/google/api/monitoring.rb +110 -0
- data/proto_docs/google/api/quota.rb +207 -0
- data/proto_docs/google/api/resource.rb +283 -0
- data/proto_docs/google/api/serviceusage/v1/resources.rb +122 -0
- data/proto_docs/google/api/serviceusage/v1/serviceusage.rb +242 -0
- data/proto_docs/google/api/usage.rb +100 -0
- data/proto_docs/google/longrunning/operations.rb +164 -0
- data/proto_docs/google/protobuf/any.rb +141 -0
- data/proto_docs/google/protobuf/api.rb +194 -0
- data/proto_docs/google/protobuf/duration.rb +98 -0
- data/proto_docs/google/protobuf/empty.rb +36 -0
- data/proto_docs/google/protobuf/source_context.rb +33 -0
- data/proto_docs/google/protobuf/struct.rb +96 -0
- data/proto_docs/google/protobuf/type.rb +223 -0
- data/proto_docs/google/rpc/status.rb +46 -0
- 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
|