google-cloud-service_control-v1 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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