google-cloud-service_control-v1 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) 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_control-v1.rb +21 -0
  7. data/lib/google/api/servicecontrol/v1/check_error_pb.rb +50 -0
  8. data/lib/google/api/servicecontrol/v1/distribution_pb.rb +48 -0
  9. data/lib/google/api/servicecontrol/v1/http_request_pb.rb +37 -0
  10. data/lib/google/api/servicecontrol/v1/log_entry_pb.rb +53 -0
  11. data/lib/google/api/servicecontrol/v1/metric_value_pb.rb +38 -0
  12. data/lib/google/api/servicecontrol/v1/operation_pb.rb +40 -0
  13. data/lib/google/api/servicecontrol/v1/quota_controller_pb.rb +67 -0
  14. data/lib/google/api/servicecontrol/v1/quota_controller_services_pb.rb +58 -0
  15. data/lib/google/api/servicecontrol/v1/service_controller_pb.rb +74 -0
  16. data/lib/google/api/servicecontrol/v1/service_controller_services_pb.rb +79 -0
  17. data/lib/google/cloud/service_control/v1.rb +36 -0
  18. data/lib/google/cloud/service_control/v1/quota_controller.rb +51 -0
  19. data/lib/google/cloud/service_control/v1/quota_controller/client.rb +389 -0
  20. data/lib/google/cloud/service_control/v1/quota_controller/credentials.rb +52 -0
  21. data/lib/google/cloud/service_control/v1/service_controller.rb +51 -0
  22. data/lib/google/cloud/service_control/v1/service_controller/client.rb +507 -0
  23. data/lib/google/cloud/service_control/v1/service_controller/credentials.rb +52 -0
  24. data/lib/google/cloud/service_control/v1/version.rb +28 -0
  25. data/proto_docs/README.md +4 -0
  26. data/proto_docs/google/api/resource.rb +283 -0
  27. data/proto_docs/google/api/servicecontrol/v1/check_error.rb +125 -0
  28. data/proto_docs/google/api/servicecontrol/v1/distribution.rb +148 -0
  29. data/proto_docs/google/api/servicecontrol/v1/http_request.rb +95 -0
  30. data/proto_docs/google/api/servicecontrol/v1/log_entry.rb +136 -0
  31. data/proto_docs/google/api/servicecontrol/v1/metric_value.rb +86 -0
  32. data/proto_docs/google/api/servicecontrol/v1/operation.rb +128 -0
  33. data/proto_docs/google/api/servicecontrol/v1/quota_controller.rb +227 -0
  34. data/proto_docs/google/api/servicecontrol/v1/service_controller.rb +206 -0
  35. data/proto_docs/google/logging/type/log_severity.rb +69 -0
  36. data/proto_docs/google/protobuf/any.rb +138 -0
  37. data/proto_docs/google/protobuf/duration.rb +98 -0
  38. data/proto_docs/google/protobuf/struct.rb +96 -0
  39. data/proto_docs/google/protobuf/timestamp.rb +120 -0
  40. data/proto_docs/google/rpc/status.rb +46 -0
  41. metadata +222 -0
@@ -0,0 +1,128 @@
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 Cloud
22
+ module ServiceControl
23
+ module V1
24
+ # Represents information regarding an operation.
25
+ # @!attribute [rw] operation_id
26
+ # @return [::String]
27
+ # Identity of the operation. This must be unique within the scope of the
28
+ # service that generated the operation. If the service calls
29
+ # Check() and Report() on the same operation, the two calls should carry
30
+ # the same id.
31
+ #
32
+ # UUID version 4 is recommended, though not required.
33
+ # In scenarios where an operation is computed from existing information
34
+ # and an idempotent id is desirable for deduplication purpose, UUID version 5
35
+ # is recommended. See RFC 4122 for details.
36
+ # @!attribute [rw] operation_name
37
+ # @return [::String]
38
+ # Fully qualified name of the operation. Reserved for future use.
39
+ # @!attribute [rw] consumer_id
40
+ # @return [::String]
41
+ # Identity of the consumer who is using the service.
42
+ # This field should be filled in for the operations initiated by a
43
+ # consumer, but not for service-initiated operations that are
44
+ # not related to a specific consumer.
45
+ #
46
+ # - This can be in one of the following formats:
47
+ # - project:PROJECT_ID,
48
+ # - project`_`number:PROJECT_NUMBER,
49
+ # - projects/PROJECT_ID or PROJECT_NUMBER,
50
+ # - folders/FOLDER_NUMBER,
51
+ # - organizations/ORGANIZATION_NUMBER,
52
+ # - api`_`key:API_KEY.
53
+ # @!attribute [rw] start_time
54
+ # @return [::Google::Protobuf::Timestamp]
55
+ # Required. Start time of the operation.
56
+ # @!attribute [rw] end_time
57
+ # @return [::Google::Protobuf::Timestamp]
58
+ # End time of the operation.
59
+ # Required when the operation is used in {::Google::Cloud::ServiceControl::V1::ServiceController::Client#report ServiceController.Report},
60
+ # but optional when the operation is used in {::Google::Cloud::ServiceControl::V1::ServiceController::Client#check ServiceController.Check}.
61
+ # @!attribute [rw] labels
62
+ # @return [::Google::Protobuf::Map{::String => ::String}]
63
+ # Labels describing the operation. Only the following labels are allowed:
64
+ #
65
+ # - Labels describing monitored resources as defined in
66
+ # the service configuration.
67
+ # - Default labels of metric values. When specified, labels defined in the
68
+ # metric value override these default.
69
+ # - The following labels defined by Google Cloud Platform:
70
+ # - `cloud.googleapis.com/location` describing the location where the
71
+ # operation happened,
72
+ # - `servicecontrol.googleapis.com/user_agent` describing the user agent
73
+ # of the API request,
74
+ # - `servicecontrol.googleapis.com/service_agent` describing the service
75
+ # used to handle the API request (e.g. ESP),
76
+ # - `servicecontrol.googleapis.com/platform` describing the platform
77
+ # where the API is served, such as App Engine, Compute Engine, or
78
+ # Kubernetes Engine.
79
+ # @!attribute [rw] metric_value_sets
80
+ # @return [::Array<::Google::Cloud::ServiceControl::V1::MetricValueSet>]
81
+ # Represents information about this operation. Each MetricValueSet
82
+ # corresponds to a metric defined in the service configuration.
83
+ # The data type used in the MetricValueSet must agree with
84
+ # the data type specified in the metric definition.
85
+ #
86
+ # Within a single operation, it is not allowed to have more than one
87
+ # MetricValue instances that have the same metric names and identical
88
+ # label value combinations. If a request has such duplicated MetricValue
89
+ # instances, the entire request is rejected with
90
+ # an invalid argument error.
91
+ # @!attribute [rw] log_entries
92
+ # @return [::Array<::Google::Cloud::ServiceControl::V1::LogEntry>]
93
+ # Represents information to be logged.
94
+ # @!attribute [rw] importance
95
+ # @return [::Google::Cloud::ServiceControl::V1::Operation::Importance]
96
+ # DO NOT USE. This is an experimental field.
97
+ # @!attribute [rw] extensions
98
+ # @return [::Array<::Google::Protobuf::Any>]
99
+ # Unimplemented.
100
+ class Operation
101
+ include ::Google::Protobuf::MessageExts
102
+ extend ::Google::Protobuf::MessageExts::ClassMethods
103
+
104
+ # @!attribute [rw] key
105
+ # @return [::String]
106
+ # @!attribute [rw] value
107
+ # @return [::String]
108
+ class LabelsEntry
109
+ include ::Google::Protobuf::MessageExts
110
+ extend ::Google::Protobuf::MessageExts::ClassMethods
111
+ end
112
+
113
+ # Defines the importance of the data contained in the operation.
114
+ module Importance
115
+ # The API implementation may cache and aggregate the data.
116
+ # The data may be lost when rare and unexpected system failures occur.
117
+ LOW = 0
118
+
119
+ # The API implementation doesn't cache and aggregate the data.
120
+ # If the method returns successfully, it's guaranteed that the data has
121
+ # been persisted in durable storage.
122
+ HIGH = 1
123
+ end
124
+ end
125
+ end
126
+ end
127
+ end
128
+ end
@@ -0,0 +1,227 @@
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 Cloud
22
+ module ServiceControl
23
+ module V1
24
+ # Request message for the AllocateQuota method.
25
+ # @!attribute [rw] service_name
26
+ # @return [::String]
27
+ # Name of the service as specified in the service configuration. For example,
28
+ # `"pubsub.googleapis.com"`.
29
+ #
30
+ # See [google.api.Service][google.api.Service] for the definition of a service name.
31
+ # @!attribute [rw] allocate_operation
32
+ # @return [::Google::Cloud::ServiceControl::V1::QuotaOperation]
33
+ # Operation that describes the quota allocation.
34
+ # @!attribute [rw] service_config_id
35
+ # @return [::String]
36
+ # Specifies which version of service configuration should be used to process
37
+ # the request. If unspecified or no matching version can be found, the latest
38
+ # one will be used.
39
+ class AllocateQuotaRequest
40
+ include ::Google::Protobuf::MessageExts
41
+ extend ::Google::Protobuf::MessageExts::ClassMethods
42
+ end
43
+
44
+ # Represents information regarding a quota operation.
45
+ # @!attribute [rw] operation_id
46
+ # @return [::String]
47
+ # Identity of the operation. This is expected to be unique within the scope
48
+ # of the service that generated the operation, and guarantees idempotency in
49
+ # case of retries.
50
+ #
51
+ # In order to ensure best performance and latency in the Quota backends,
52
+ # operation_ids are optimally associated with time, so that related
53
+ # operations can be accessed fast in storage. For this reason, the
54
+ # recommended token for services that intend to operate at a high QPS is
55
+ # Unix time in nanos + UUID
56
+ # @!attribute [rw] method_name
57
+ # @return [::String]
58
+ # Fully qualified name of the API method for which this quota operation is
59
+ # requested. This name is used for matching quota rules or metric rules and
60
+ # billing status rules defined in service configuration.
61
+ #
62
+ # This field should not be set if any of the following is true:
63
+ # (1) the quota operation is performed on non-API resources.
64
+ # (2) quota_metrics is set because the caller is doing quota override.
65
+ #
66
+ # Example of an RPC method name:
67
+ # google.example.library.v1.LibraryService.CreateShelf
68
+ # @!attribute [rw] consumer_id
69
+ # @return [::String]
70
+ # Identity of the consumer for whom this quota operation is being performed.
71
+ #
72
+ # This can be in one of the following formats:
73
+ # project:<project_id>,
74
+ # project_number:<project_number>,
75
+ # api_key:<api_key>.
76
+ # @!attribute [rw] labels
77
+ # @return [::Google::Protobuf::Map{::String => ::String}]
78
+ # Labels describing the operation.
79
+ # @!attribute [rw] quota_metrics
80
+ # @return [::Array<::Google::Cloud::ServiceControl::V1::MetricValueSet>]
81
+ # Represents information about this operation. Each MetricValueSet
82
+ # corresponds to a metric defined in the service configuration.
83
+ # The data type used in the MetricValueSet must agree with
84
+ # the data type specified in the metric definition.
85
+ #
86
+ # Within a single operation, it is not allowed to have more than one
87
+ # MetricValue instances that have the same metric names and identical
88
+ # label value combinations. If a request has such duplicated MetricValue
89
+ # instances, the entire request is rejected with
90
+ # an invalid argument error.
91
+ #
92
+ # This field is mutually exclusive with method_name.
93
+ # @!attribute [rw] quota_mode
94
+ # @return [::Google::Cloud::ServiceControl::V1::QuotaOperation::QuotaMode]
95
+ # Quota mode for this operation.
96
+ class QuotaOperation
97
+ include ::Google::Protobuf::MessageExts
98
+ extend ::Google::Protobuf::MessageExts::ClassMethods
99
+
100
+ # @!attribute [rw] key
101
+ # @return [::String]
102
+ # @!attribute [rw] value
103
+ # @return [::String]
104
+ class LabelsEntry
105
+ include ::Google::Protobuf::MessageExts
106
+ extend ::Google::Protobuf::MessageExts::ClassMethods
107
+ end
108
+
109
+ # Supported quota modes.
110
+ module QuotaMode
111
+ # Guard against implicit default. Must not be used.
112
+ UNSPECIFIED = 0
113
+
114
+ # For AllocateQuota request, allocates quota for the amount specified in
115
+ # the service configuration or specified using the quota metrics. If the
116
+ # amount is higher than the available quota, allocation error will be
117
+ # returned and no quota will be allocated.
118
+ # If multiple quotas are part of the request, and one fails, none of the
119
+ # quotas are allocated or released.
120
+ NORMAL = 1
121
+
122
+ # The operation allocates quota for the amount specified in the service
123
+ # configuration or specified using the quota metrics. If the amount is
124
+ # higher than the available quota, request does not fail but all available
125
+ # quota will be allocated.
126
+ # For rate quota, BEST_EFFORT will continue to deduct from other groups
127
+ # even if one does not have enough quota. For allocation, it will find the
128
+ # minimum available amount across all groups and deduct that amount from
129
+ # all the affected groups.
130
+ BEST_EFFORT = 2
131
+
132
+ # For AllocateQuota request, only checks if there is enough quota
133
+ # available and does not change the available quota. No lock is placed on
134
+ # the available quota either.
135
+ CHECK_ONLY = 3
136
+
137
+ # Unimplemented. When used in AllocateQuotaRequest, this returns the
138
+ # effective quota limit(s) in the response, and no quota check will be
139
+ # performed. Not supported for other requests, and even for
140
+ # AllocateQuotaRequest, this is currently supported only for whitelisted
141
+ # services.
142
+ QUERY_ONLY = 4
143
+
144
+ # The operation allocates quota for the amount specified in the service
145
+ # configuration or specified using the quota metrics. If the requested
146
+ # amount is higher than the available quota, request does not fail and
147
+ # remaining quota would become negative (going over the limit)
148
+ # Not supported for Rate Quota.
149
+ ADJUST_ONLY = 5
150
+ end
151
+ end
152
+
153
+ # Response message for the AllocateQuota method.
154
+ # @!attribute [rw] operation_id
155
+ # @return [::String]
156
+ # The same operation_id value used in the AllocateQuotaRequest. Used for
157
+ # logging and diagnostics purposes.
158
+ # @!attribute [rw] allocate_errors
159
+ # @return [::Array<::Google::Cloud::ServiceControl::V1::QuotaError>]
160
+ # Indicates the decision of the allocate.
161
+ # @!attribute [rw] quota_metrics
162
+ # @return [::Array<::Google::Cloud::ServiceControl::V1::MetricValueSet>]
163
+ # Quota metrics to indicate the result of allocation. Depending on the
164
+ # request, one or more of the following metrics will be included:
165
+ #
166
+ # 1. Per quota group or per quota metric incremental usage will be specified
167
+ # using the following delta metric :
168
+ # "serviceruntime.googleapis.com/api/consumer/quota_used_count"
169
+ #
170
+ # 2. The quota limit reached condition will be specified using the following
171
+ # boolean metric :
172
+ # "serviceruntime.googleapis.com/quota/exceeded"
173
+ # @!attribute [rw] service_config_id
174
+ # @return [::String]
175
+ # ID of the actual config used to process the request.
176
+ class AllocateQuotaResponse
177
+ include ::Google::Protobuf::MessageExts
178
+ extend ::Google::Protobuf::MessageExts::ClassMethods
179
+ end
180
+
181
+ # Represents error information for {::Google::Cloud::ServiceControl::V1::QuotaOperation QuotaOperation}.
182
+ # @!attribute [rw] code
183
+ # @return [::Google::Cloud::ServiceControl::V1::QuotaError::Code]
184
+ # Error code.
185
+ # @!attribute [rw] subject
186
+ # @return [::String]
187
+ # Subject to whom this error applies. See the specific enum for more details
188
+ # on this field. For example, "clientip:<ip address of client>" or
189
+ # "project:<Google developer project id>".
190
+ # @!attribute [rw] description
191
+ # @return [::String]
192
+ # Free-form text that provides details on the cause of the error.
193
+ class QuotaError
194
+ include ::Google::Protobuf::MessageExts
195
+ extend ::Google::Protobuf::MessageExts::ClassMethods
196
+
197
+ # Error codes related to project config validations are deprecated since the
198
+ # quota controller methods do not perform these validations. Instead services
199
+ # have to call the Check method, without quota_properties field, to perform
200
+ # these validations before calling the quota controller methods. These
201
+ # methods check only for project deletion to be wipe out compliant.
202
+ module Code
203
+ # This is never used.
204
+ UNSPECIFIED = 0
205
+
206
+ # Quota allocation failed.
207
+ # Same as [google.rpc.Code.RESOURCE_EXHAUSTED][google.rpc.Code.RESOURCE_EXHAUSTED].
208
+ RESOURCE_EXHAUSTED = 8
209
+
210
+ # Consumer cannot access the service because the service requires active
211
+ # billing.
212
+ BILLING_NOT_ACTIVE = 107
213
+
214
+ # Consumer's project has been marked as deleted (soft deletion).
215
+ PROJECT_DELETED = 108
216
+
217
+ # Specified API key is invalid.
218
+ API_KEY_INVALID = 105
219
+
220
+ # Specified API Key has expired.
221
+ API_KEY_EXPIRED = 112
222
+ end
223
+ end
224
+ end
225
+ end
226
+ end
227
+ end
@@ -0,0 +1,206 @@
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 Cloud
22
+ module ServiceControl
23
+ module V1
24
+ # Request message for the Check method.
25
+ # @!attribute [rw] service_name
26
+ # @return [::String]
27
+ # The service name as specified in its service configuration. For example,
28
+ # `"pubsub.googleapis.com"`.
29
+ #
30
+ # See
31
+ # [google.api.Service](https://cloud.google.com/service-management/reference/rpc/google.api#google.api.Service)
32
+ # for the definition of a service name.
33
+ # @!attribute [rw] operation
34
+ # @return [::Google::Cloud::ServiceControl::V1::Operation]
35
+ # The operation to be checked.
36
+ # @!attribute [rw] service_config_id
37
+ # @return [::String]
38
+ # Specifies which version of service configuration should be used to process
39
+ # the request.
40
+ #
41
+ # If unspecified or no matching version can be found, the
42
+ # latest one will be used.
43
+ class CheckRequest
44
+ include ::Google::Protobuf::MessageExts
45
+ extend ::Google::Protobuf::MessageExts::ClassMethods
46
+ end
47
+
48
+ # Response message for the Check method.
49
+ # @!attribute [rw] operation_id
50
+ # @return [::String]
51
+ # The same operation_id value used in the {::Google::Cloud::ServiceControl::V1::CheckRequest CheckRequest}.
52
+ # Used for logging and diagnostics purposes.
53
+ # @!attribute [rw] check_errors
54
+ # @return [::Array<::Google::Cloud::ServiceControl::V1::CheckError>]
55
+ # Indicate the decision of the check.
56
+ #
57
+ # If no check errors are present, the service should process the operation.
58
+ # Otherwise the service should use the list of errors to determine the
59
+ # appropriate action.
60
+ # @!attribute [rw] service_config_id
61
+ # @return [::String]
62
+ # The actual config id used to process the request.
63
+ # @!attribute [rw] service_rollout_id
64
+ # @return [::String]
65
+ # The current service rollout id used to process the request.
66
+ # @!attribute [rw] check_info
67
+ # @return [::Google::Cloud::ServiceControl::V1::CheckResponse::CheckInfo]
68
+ # Feedback data returned from the server during processing a Check request.
69
+ class CheckResponse
70
+ include ::Google::Protobuf::MessageExts
71
+ extend ::Google::Protobuf::MessageExts::ClassMethods
72
+
73
+ # Contains additional information about the check operation.
74
+ # @!attribute [rw] unused_arguments
75
+ # @return [::Array<::String>]
76
+ # A list of fields and label keys that are ignored by the server.
77
+ # The client doesn't need to send them for following requests to improve
78
+ # performance and allow better aggregation.
79
+ # @!attribute [rw] consumer_info
80
+ # @return [::Google::Cloud::ServiceControl::V1::CheckResponse::ConsumerInfo]
81
+ # Consumer info of this check.
82
+ class CheckInfo
83
+ include ::Google::Protobuf::MessageExts
84
+ extend ::Google::Protobuf::MessageExts::ClassMethods
85
+ end
86
+
87
+ # `ConsumerInfo` provides information about the consumer.
88
+ # @!attribute [rw] project_number
89
+ # @return [::Integer]
90
+ # The Google cloud project number, e.g. 1234567890. A value of 0 indicates
91
+ # no project number is found.
92
+ #
93
+ # NOTE: This field is deprecated after we support flexible consumer
94
+ # id. New code should not depend on this field anymore.
95
+ # @!attribute [rw] type
96
+ # @return [::Google::Cloud::ServiceControl::V1::CheckResponse::ConsumerInfo::ConsumerType]
97
+ # The type of the consumer which should have been defined in
98
+ # [Google Resource Manager](https://cloud.google.com/resource-manager/).
99
+ # @!attribute [rw] consumer_number
100
+ # @return [::Integer]
101
+ # The consumer identity number, can be Google cloud project number, folder
102
+ # number or organization number e.g. 1234567890. A value of 0 indicates no
103
+ # consumer number is found.
104
+ class ConsumerInfo
105
+ include ::Google::Protobuf::MessageExts
106
+ extend ::Google::Protobuf::MessageExts::ClassMethods
107
+
108
+ # The type of the consumer as defined in
109
+ # [Google Resource Manager](https://cloud.google.com/resource-manager/).
110
+ module ConsumerType
111
+ # This is never used.
112
+ CONSUMER_TYPE_UNSPECIFIED = 0
113
+
114
+ # The consumer is a Google Cloud Project.
115
+ PROJECT = 1
116
+
117
+ # The consumer is a Google Cloud Folder.
118
+ FOLDER = 2
119
+
120
+ # The consumer is a Google Cloud Organization.
121
+ ORGANIZATION = 3
122
+
123
+ # Service-specific resource container which is defined by the service
124
+ # producer to offer their users the ability to manage service control
125
+ # functionalities at a finer level of granularity than the PROJECT.
126
+ SERVICE_SPECIFIC = 4
127
+ end
128
+ end
129
+ end
130
+
131
+ # Request message for the Report method.
132
+ # @!attribute [rw] service_name
133
+ # @return [::String]
134
+ # The service name as specified in its service configuration. For example,
135
+ # `"pubsub.googleapis.com"`.
136
+ #
137
+ # See
138
+ # [google.api.Service](https://cloud.google.com/service-management/reference/rpc/google.api#google.api.Service)
139
+ # for the definition of a service name.
140
+ # @!attribute [rw] operations
141
+ # @return [::Array<::Google::Cloud::ServiceControl::V1::Operation>]
142
+ # Operations to be reported.
143
+ #
144
+ # Typically the service should report one operation per request.
145
+ # Putting multiple operations into a single request is allowed, but should
146
+ # be used only when multiple operations are natually available at the time
147
+ # of the report.
148
+ #
149
+ # There is no limit on the number of operations in the same ReportRequest,
150
+ # however the ReportRequest size should be no larger than 1MB. See
151
+ # {::Google::Cloud::ServiceControl::V1::ReportResponse#report_errors ReportResponse.report_errors} for partial failure behavior.
152
+ # @!attribute [rw] service_config_id
153
+ # @return [::String]
154
+ # Specifies which version of service config should be used to process the
155
+ # request.
156
+ #
157
+ # If unspecified or no matching version can be found, the
158
+ # latest one will be used.
159
+ class ReportRequest
160
+ include ::Google::Protobuf::MessageExts
161
+ extend ::Google::Protobuf::MessageExts::ClassMethods
162
+ end
163
+
164
+ # Response message for the Report method.
165
+ # @!attribute [rw] report_errors
166
+ # @return [::Array<::Google::Cloud::ServiceControl::V1::ReportResponse::ReportError>]
167
+ # Partial failures, one for each `Operation` in the request that failed
168
+ # processing. There are three possible combinations of the RPC status:
169
+ #
170
+ # 1. The combination of a successful RPC status and an empty `report_errors`
171
+ # list indicates a complete success where all `Operations` in the
172
+ # request are processed successfully.
173
+ # 2. The combination of a successful RPC status and a non-empty
174
+ # `report_errors` list indicates a partial success where some
175
+ # `Operations` in the request succeeded. Each
176
+ # `Operation` that failed processing has a corresponding item
177
+ # in this list.
178
+ # 3. A failed RPC status indicates a general non-deterministic failure.
179
+ # When this happens, it's impossible to know which of the
180
+ # 'Operations' in the request succeeded or failed.
181
+ # @!attribute [rw] service_config_id
182
+ # @return [::String]
183
+ # The actual config id used to process the request.
184
+ # @!attribute [rw] service_rollout_id
185
+ # @return [::String]
186
+ # The current service rollout id used to process the request.
187
+ class ReportResponse
188
+ include ::Google::Protobuf::MessageExts
189
+ extend ::Google::Protobuf::MessageExts::ClassMethods
190
+
191
+ # Represents the processing error of one {::Google::Cloud::ServiceControl::V1::Operation Operation} in the request.
192
+ # @!attribute [rw] operation_id
193
+ # @return [::String]
194
+ # The {::Google::Cloud::ServiceControl::V1::Operation#operation_id Operation.operation_id} value from the request.
195
+ # @!attribute [rw] status
196
+ # @return [::Google::Rpc::Status]
197
+ # Details of the error when processing the {::Google::Cloud::ServiceControl::V1::Operation Operation}.
198
+ class ReportError
199
+ include ::Google::Protobuf::MessageExts
200
+ extend ::Google::Protobuf::MessageExts::ClassMethods
201
+ end
202
+ end
203
+ end
204
+ end
205
+ end
206
+ end