google-cloud-service_usage-v1 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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,70 @@
|
|
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
|
+
# `Endpoint` describes a network endpoint of a service that serves a set of
|
23
|
+
# APIs. It is commonly known as a service endpoint. A service may expose
|
24
|
+
# any number of service endpoints, and all service endpoints share the same
|
25
|
+
# service definition, such as quota limits and monitoring metrics.
|
26
|
+
#
|
27
|
+
# Example service configuration:
|
28
|
+
#
|
29
|
+
# name: library-example.googleapis.com
|
30
|
+
# endpoints:
|
31
|
+
# # Below entry makes 'google.example.library.v1.Library'
|
32
|
+
# # API be served from endpoint address library-example.googleapis.com.
|
33
|
+
# # It also allows HTTP OPTIONS calls to be passed to the backend, for
|
34
|
+
# # it to decide whether the subsequent cross-origin request is
|
35
|
+
# # allowed to proceed.
|
36
|
+
# - name: library-example.googleapis.com
|
37
|
+
# allow_cors: true
|
38
|
+
# @!attribute [rw] name
|
39
|
+
# @return [::String]
|
40
|
+
# The canonical name of this endpoint.
|
41
|
+
# @!attribute [rw] aliases
|
42
|
+
# @return [::Array<::String>]
|
43
|
+
# Unimplemented. Dot not use.
|
44
|
+
#
|
45
|
+
# DEPRECATED: This field is no longer supported. Instead of using aliases,
|
46
|
+
# please specify multiple {::Google::Api::Endpoint google.api.Endpoint} for each of the intended
|
47
|
+
# aliases.
|
48
|
+
#
|
49
|
+
# Additional names that this endpoint will be hosted on.
|
50
|
+
# @!attribute [rw] target
|
51
|
+
# @return [::String]
|
52
|
+
# The specification of an Internet routable address of API frontend that will
|
53
|
+
# handle requests to this [API
|
54
|
+
# Endpoint](https://cloud.google.com/apis/design/glossary). It should be
|
55
|
+
# either a valid IPv4 address or a fully-qualified domain name. For example,
|
56
|
+
# "8.8.8.8" or "myservice.appspot.com".
|
57
|
+
# @!attribute [rw] allow_cors
|
58
|
+
# @return [::Boolean]
|
59
|
+
# Allowing
|
60
|
+
# [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka
|
61
|
+
# cross-domain traffic, would allow the backends served from this endpoint to
|
62
|
+
# receive and respond to HTTP OPTIONS requests. The response will be used by
|
63
|
+
# the browser to determine whether the subsequent cross-origin request is
|
64
|
+
# allowed to proceed.
|
65
|
+
class Endpoint
|
66
|
+
include ::Google::Protobuf::MessageExts
|
67
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
@@ -0,0 +1,49 @@
|
|
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
|
+
# A description of a label.
|
23
|
+
# @!attribute [rw] key
|
24
|
+
# @return [::String]
|
25
|
+
# The label key.
|
26
|
+
# @!attribute [rw] value_type
|
27
|
+
# @return [::Google::Api::LabelDescriptor::ValueType]
|
28
|
+
# The type of data that can be assigned to the label.
|
29
|
+
# @!attribute [rw] description
|
30
|
+
# @return [::String]
|
31
|
+
# A human-readable description for the label.
|
32
|
+
class LabelDescriptor
|
33
|
+
include ::Google::Protobuf::MessageExts
|
34
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
35
|
+
|
36
|
+
# Value types that can be used as label values.
|
37
|
+
module ValueType
|
38
|
+
# A variable-length string. This is the default.
|
39
|
+
STRING = 0
|
40
|
+
|
41
|
+
# Boolean; true or false.
|
42
|
+
BOOL = 1
|
43
|
+
|
44
|
+
# A 64-bit signed integer.
|
45
|
+
INT64 = 2
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
@@ -0,0 +1,71 @@
|
|
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
|
+
# The launch stage as defined by [Google Cloud Platform
|
23
|
+
# Launch Stages](http://cloud.google.com/terms/launch-stages).
|
24
|
+
module LaunchStage
|
25
|
+
# Do not use this default value.
|
26
|
+
LAUNCH_STAGE_UNSPECIFIED = 0
|
27
|
+
|
28
|
+
# The feature is not yet implemented. Users can not use it.
|
29
|
+
UNIMPLEMENTED = 6
|
30
|
+
|
31
|
+
# Prelaunch features are hidden from users and are only visible internally.
|
32
|
+
PRELAUNCH = 7
|
33
|
+
|
34
|
+
# Early Access features are limited to a closed group of testers. To use
|
35
|
+
# these features, you must sign up in advance and sign a Trusted Tester
|
36
|
+
# agreement (which includes confidentiality provisions). These features may
|
37
|
+
# be unstable, changed in backward-incompatible ways, and are not
|
38
|
+
# guaranteed to be released.
|
39
|
+
EARLY_ACCESS = 1
|
40
|
+
|
41
|
+
# Alpha is a limited availability test for releases before they are cleared
|
42
|
+
# for widespread use. By Alpha, all significant design issues are resolved
|
43
|
+
# and we are in the process of verifying functionality. Alpha customers
|
44
|
+
# need to apply for access, agree to applicable terms, and have their
|
45
|
+
# projects allowlisted. Alpha releases don’t have to be feature complete,
|
46
|
+
# no SLAs are provided, and there are no technical support obligations, but
|
47
|
+
# they will be far enough along that customers can actually use them in
|
48
|
+
# test environments or for limited-use tests -- just like they would in
|
49
|
+
# normal production cases.
|
50
|
+
ALPHA = 2
|
51
|
+
|
52
|
+
# Beta is the point at which we are ready to open a release for any
|
53
|
+
# customer to use. There are no SLA or technical support obligations in a
|
54
|
+
# Beta release. Products will be complete from a feature perspective, but
|
55
|
+
# may have some open outstanding issues. Beta releases are suitable for
|
56
|
+
# limited production use cases.
|
57
|
+
BETA = 3
|
58
|
+
|
59
|
+
# GA features are open to all developers and are considered stable and
|
60
|
+
# fully qualified for production use.
|
61
|
+
GA = 4
|
62
|
+
|
63
|
+
# Deprecated features are scheduled to be shut down and removed. For more
|
64
|
+
# information, see the “Deprecation Policy” section of our [Terms of
|
65
|
+
# Service](https://cloud.google.com/terms/)
|
66
|
+
# and the [Google Cloud Platform Subject to the Deprecation
|
67
|
+
# Policy](https://cloud.google.com/terms/deprecation) documentation.
|
68
|
+
DEPRECATED = 5
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
@@ -0,0 +1,138 @@
|
|
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
|
+
# An object that describes the schema of a {::Google::Api::MonitoredResource MonitoredResource} object using a
|
23
|
+
# type name and a set of labels. For example, the monitored resource
|
24
|
+
# descriptor for Google Compute Engine VM instances has a type of
|
25
|
+
# `"gce_instance"` and specifies the use of the labels `"instance_id"` and
|
26
|
+
# `"zone"` to identify particular VM instances.
|
27
|
+
#
|
28
|
+
# Different APIs can support different monitored resource types. APIs generally
|
29
|
+
# provide a `list` method that returns the monitored resource descriptors used
|
30
|
+
# by the API.
|
31
|
+
# @!attribute [rw] name
|
32
|
+
# @return [::String]
|
33
|
+
# Optional. The resource name of the monitored resource descriptor:
|
34
|
+
# `"projects/{project_id}/monitoredResourceDescriptors/{type}"` where
|
35
|
+
# \\{type} is the value of the `type` field in this object and
|
36
|
+
# \\{project_id} is a project ID that provides API-specific context for
|
37
|
+
# accessing the type. APIs that do not use project information can use the
|
38
|
+
# resource name format `"monitoredResourceDescriptors/{type}"`.
|
39
|
+
# @!attribute [rw] type
|
40
|
+
# @return [::String]
|
41
|
+
# Required. The monitored resource type. For example, the type
|
42
|
+
# `"cloudsql_database"` represents databases in Google Cloud SQL.
|
43
|
+
# @!attribute [rw] display_name
|
44
|
+
# @return [::String]
|
45
|
+
# Optional. A concise name for the monitored resource type that might be
|
46
|
+
# displayed in user interfaces. It should be a Title Cased Noun Phrase,
|
47
|
+
# without any article or other determiners. For example,
|
48
|
+
# `"Google Cloud SQL Database"`.
|
49
|
+
# @!attribute [rw] description
|
50
|
+
# @return [::String]
|
51
|
+
# Optional. A detailed description of the monitored resource type that might
|
52
|
+
# be used in documentation.
|
53
|
+
# @!attribute [rw] labels
|
54
|
+
# @return [::Array<::Google::Api::LabelDescriptor>]
|
55
|
+
# Required. A set of labels used to describe instances of this monitored
|
56
|
+
# resource type. For example, an individual Google Cloud SQL database is
|
57
|
+
# identified by values for the labels `"database_id"` and `"zone"`.
|
58
|
+
# @!attribute [rw] launch_stage
|
59
|
+
# @return [::Google::Api::LaunchStage]
|
60
|
+
# Optional. The launch stage of the monitored resource definition.
|
61
|
+
class MonitoredResourceDescriptor
|
62
|
+
include ::Google::Protobuf::MessageExts
|
63
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
64
|
+
end
|
65
|
+
|
66
|
+
# An object representing a resource that can be used for monitoring, logging,
|
67
|
+
# billing, or other purposes. Examples include virtual machine instances,
|
68
|
+
# databases, and storage devices such as disks. The `type` field identifies a
|
69
|
+
# {::Google::Api::MonitoredResourceDescriptor MonitoredResourceDescriptor} object that describes the resource's
|
70
|
+
# schema. Information in the `labels` field identifies the actual resource and
|
71
|
+
# its attributes according to the schema. For example, a particular Compute
|
72
|
+
# Engine VM instance could be represented by the following object, because the
|
73
|
+
# {::Google::Api::MonitoredResourceDescriptor MonitoredResourceDescriptor} for `"gce_instance"` has labels
|
74
|
+
# `"instance_id"` and `"zone"`:
|
75
|
+
#
|
76
|
+
# { "type": "gce_instance",
|
77
|
+
# "labels": { "instance_id": "12345678901234",
|
78
|
+
# "zone": "us-central1-a" }}
|
79
|
+
# @!attribute [rw] type
|
80
|
+
# @return [::String]
|
81
|
+
# Required. The monitored resource type. This field must match
|
82
|
+
# the `type` field of a {::Google::Api::MonitoredResourceDescriptor MonitoredResourceDescriptor} object. For
|
83
|
+
# example, the type of a Compute Engine VM instance is `gce_instance`.
|
84
|
+
# @!attribute [rw] labels
|
85
|
+
# @return [::Google::Protobuf::Map{::String => ::String}]
|
86
|
+
# Required. Values for all of the labels listed in the associated monitored
|
87
|
+
# resource descriptor. For example, Compute Engine VM instances use the
|
88
|
+
# labels `"project_id"`, `"instance_id"`, and `"zone"`.
|
89
|
+
class MonitoredResource
|
90
|
+
include ::Google::Protobuf::MessageExts
|
91
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
92
|
+
|
93
|
+
# @!attribute [rw] key
|
94
|
+
# @return [::String]
|
95
|
+
# @!attribute [rw] value
|
96
|
+
# @return [::String]
|
97
|
+
class LabelsEntry
|
98
|
+
include ::Google::Protobuf::MessageExts
|
99
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
100
|
+
end
|
101
|
+
end
|
102
|
+
|
103
|
+
# Auxiliary metadata for a {::Google::Api::MonitoredResource MonitoredResource} object.
|
104
|
+
# {::Google::Api::MonitoredResource MonitoredResource} objects contain the minimum set of information to
|
105
|
+
# uniquely identify a monitored resource instance. There is some other useful
|
106
|
+
# auxiliary metadata. Monitoring and Logging use an ingestion
|
107
|
+
# pipeline to extract metadata for cloud resources of all types, and store
|
108
|
+
# the metadata in this message.
|
109
|
+
# @!attribute [rw] system_labels
|
110
|
+
# @return [::Google::Protobuf::Struct]
|
111
|
+
# Output only. Values for predefined system metadata labels.
|
112
|
+
# System labels are a kind of metadata extracted by Google, including
|
113
|
+
# "machine_image", "vpc", "subnet_id",
|
114
|
+
# "security_group", "name", etc.
|
115
|
+
# System label values can be only strings, Boolean values, or a list of
|
116
|
+
# strings. For example:
|
117
|
+
#
|
118
|
+
# { "name": "my-test-instance",
|
119
|
+
# "security_group": ["a", "b", "c"],
|
120
|
+
# "spot_instance": false }
|
121
|
+
# @!attribute [rw] user_labels
|
122
|
+
# @return [::Google::Protobuf::Map{::String => ::String}]
|
123
|
+
# Output only. A map of user-defined metadata labels.
|
124
|
+
class MonitoredResourceMetadata
|
125
|
+
include ::Google::Protobuf::MessageExts
|
126
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
127
|
+
|
128
|
+
# @!attribute [rw] key
|
129
|
+
# @return [::String]
|
130
|
+
# @!attribute [rw] value
|
131
|
+
# @return [::String]
|
132
|
+
class UserLabelsEntry
|
133
|
+
include ::Google::Protobuf::MessageExts
|
134
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
135
|
+
end
|
136
|
+
end
|
137
|
+
end
|
138
|
+
end
|
@@ -0,0 +1,110 @@
|
|
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
|
+
# Monitoring configuration of the service.
|
23
|
+
#
|
24
|
+
# The example below shows how to configure monitored resources and metrics
|
25
|
+
# for monitoring. In the example, a monitored resource and two metrics are
|
26
|
+
# defined. The `library.googleapis.com/book/returned_count` metric is sent
|
27
|
+
# to both producer and consumer projects, whereas the
|
28
|
+
# `library.googleapis.com/book/num_overdue` metric is only sent to the
|
29
|
+
# consumer project.
|
30
|
+
#
|
31
|
+
# monitored_resources:
|
32
|
+
# - type: library.googleapis.com/Branch
|
33
|
+
# display_name: "Library Branch"
|
34
|
+
# description: "A branch of a library."
|
35
|
+
# launch_stage: GA
|
36
|
+
# labels:
|
37
|
+
# - key: resource_container
|
38
|
+
# description: "The Cloud container (ie. project id) for the Branch."
|
39
|
+
# - key: location
|
40
|
+
# description: "The location of the library branch."
|
41
|
+
# - key: branch_id
|
42
|
+
# description: "The id of the branch."
|
43
|
+
# metrics:
|
44
|
+
# - name: library.googleapis.com/book/returned_count
|
45
|
+
# display_name: "Books Returned"
|
46
|
+
# description: "The count of books that have been returned."
|
47
|
+
# launch_stage: GA
|
48
|
+
# metric_kind: DELTA
|
49
|
+
# value_type: INT64
|
50
|
+
# unit: "1"
|
51
|
+
# labels:
|
52
|
+
# - key: customer_id
|
53
|
+
# description: "The id of the customer."
|
54
|
+
# - name: library.googleapis.com/book/num_overdue
|
55
|
+
# display_name: "Books Overdue"
|
56
|
+
# description: "The current number of overdue books."
|
57
|
+
# launch_stage: GA
|
58
|
+
# metric_kind: GAUGE
|
59
|
+
# value_type: INT64
|
60
|
+
# unit: "1"
|
61
|
+
# labels:
|
62
|
+
# - key: customer_id
|
63
|
+
# description: "The id of the customer."
|
64
|
+
# monitoring:
|
65
|
+
# producer_destinations:
|
66
|
+
# - monitored_resource: library.googleapis.com/Branch
|
67
|
+
# metrics:
|
68
|
+
# - library.googleapis.com/book/returned_count
|
69
|
+
# consumer_destinations:
|
70
|
+
# - monitored_resource: library.googleapis.com/Branch
|
71
|
+
# metrics:
|
72
|
+
# - library.googleapis.com/book/returned_count
|
73
|
+
# - library.googleapis.com/book/num_overdue
|
74
|
+
# @!attribute [rw] producer_destinations
|
75
|
+
# @return [::Array<::Google::Api::Monitoring::MonitoringDestination>]
|
76
|
+
# Monitoring configurations for sending metrics to the producer project.
|
77
|
+
# There can be multiple producer destinations. A monitored resource type may
|
78
|
+
# appear in multiple monitoring destinations if different aggregations are
|
79
|
+
# needed for different sets of metrics associated with that monitored
|
80
|
+
# resource type. A monitored resource and metric pair may only be used once
|
81
|
+
# in the Monitoring configuration.
|
82
|
+
# @!attribute [rw] consumer_destinations
|
83
|
+
# @return [::Array<::Google::Api::Monitoring::MonitoringDestination>]
|
84
|
+
# Monitoring configurations for sending metrics to the consumer project.
|
85
|
+
# There can be multiple consumer destinations. A monitored resource type may
|
86
|
+
# appear in multiple monitoring destinations if different aggregations are
|
87
|
+
# needed for different sets of metrics associated with that monitored
|
88
|
+
# resource type. A monitored resource and metric pair may only be used once
|
89
|
+
# in the Monitoring configuration.
|
90
|
+
class Monitoring
|
91
|
+
include ::Google::Protobuf::MessageExts
|
92
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
93
|
+
|
94
|
+
# Configuration of a specific monitoring destination (the producer project
|
95
|
+
# or the consumer project).
|
96
|
+
# @!attribute [rw] monitored_resource
|
97
|
+
# @return [::String]
|
98
|
+
# The monitored resource type. The type must be defined in
|
99
|
+
# [Service.monitored_resources][google.api.Service.monitored_resources] section.
|
100
|
+
# @!attribute [rw] metrics
|
101
|
+
# @return [::Array<::String>]
|
102
|
+
# Types of the metrics to report to this monitoring destination.
|
103
|
+
# Each type must be defined in [Service.metrics][google.api.Service.metrics] section.
|
104
|
+
class MonitoringDestination
|
105
|
+
include ::Google::Protobuf::MessageExts
|
106
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
107
|
+
end
|
108
|
+
end
|
109
|
+
end
|
110
|
+
end
|
@@ -0,0 +1,207 @@
|
|
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
|
+
# Quota configuration helps to achieve fairness and budgeting in service
|
23
|
+
# usage.
|
24
|
+
#
|
25
|
+
# The metric based quota configuration works this way:
|
26
|
+
# - The service configuration defines a set of metrics.
|
27
|
+
# - For API calls, the quota.metric_rules maps methods to metrics with
|
28
|
+
# corresponding costs.
|
29
|
+
# - The quota.limits defines limits on the metrics, which will be used for
|
30
|
+
# quota checks at runtime.
|
31
|
+
#
|
32
|
+
# An example quota configuration in yaml format:
|
33
|
+
#
|
34
|
+
# quota:
|
35
|
+
# limits:
|
36
|
+
#
|
37
|
+
# - name: apiWriteQpsPerProject
|
38
|
+
# metric: library.googleapis.com/write_calls
|
39
|
+
# unit: "1/min/\\{project}" # rate limit for consumer projects
|
40
|
+
# values:
|
41
|
+
# STANDARD: 10000
|
42
|
+
#
|
43
|
+
#
|
44
|
+
# # The metric rules bind all methods to the read_calls metric,
|
45
|
+
# # except for the UpdateBook and DeleteBook methods. These two methods
|
46
|
+
# # are mapped to the write_calls metric, with the UpdateBook method
|
47
|
+
# # consuming at twice rate as the DeleteBook method.
|
48
|
+
# metric_rules:
|
49
|
+
# - selector: "*"
|
50
|
+
# metric_costs:
|
51
|
+
# library.googleapis.com/read_calls: 1
|
52
|
+
# - selector: google.example.library.v1.LibraryService.UpdateBook
|
53
|
+
# metric_costs:
|
54
|
+
# library.googleapis.com/write_calls: 2
|
55
|
+
# - selector: google.example.library.v1.LibraryService.DeleteBook
|
56
|
+
# metric_costs:
|
57
|
+
# library.googleapis.com/write_calls: 1
|
58
|
+
#
|
59
|
+
# Corresponding Metric definition:
|
60
|
+
#
|
61
|
+
# metrics:
|
62
|
+
# - name: library.googleapis.com/read_calls
|
63
|
+
# display_name: Read requests
|
64
|
+
# metric_kind: DELTA
|
65
|
+
# value_type: INT64
|
66
|
+
#
|
67
|
+
# - name: library.googleapis.com/write_calls
|
68
|
+
# display_name: Write requests
|
69
|
+
# metric_kind: DELTA
|
70
|
+
# value_type: INT64
|
71
|
+
# @!attribute [rw] limits
|
72
|
+
# @return [::Array<::Google::Api::QuotaLimit>]
|
73
|
+
# List of `QuotaLimit` definitions for the service.
|
74
|
+
# @!attribute [rw] metric_rules
|
75
|
+
# @return [::Array<::Google::Api::MetricRule>]
|
76
|
+
# List of `MetricRule` definitions, each one mapping a selected method to one
|
77
|
+
# or more metrics.
|
78
|
+
class Quota
|
79
|
+
include ::Google::Protobuf::MessageExts
|
80
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
81
|
+
end
|
82
|
+
|
83
|
+
# Bind API methods to metrics. Binding a method to a metric causes that
|
84
|
+
# metric's configured quota behaviors to apply to the method call.
|
85
|
+
# @!attribute [rw] selector
|
86
|
+
# @return [::String]
|
87
|
+
# Selects the methods to which this rule applies.
|
88
|
+
#
|
89
|
+
# Refer to {::Google::Api::DocumentationRule#selector selector} for syntax details.
|
90
|
+
# @!attribute [rw] metric_costs
|
91
|
+
# @return [::Google::Protobuf::Map{::String => ::Integer}]
|
92
|
+
# Metrics to update when the selected methods are called, and the associated
|
93
|
+
# cost applied to each metric.
|
94
|
+
#
|
95
|
+
# The key of the map is the metric name, and the values are the amount
|
96
|
+
# increased for the metric against which the quota limits are defined.
|
97
|
+
# The value must not be negative.
|
98
|
+
class MetricRule
|
99
|
+
include ::Google::Protobuf::MessageExts
|
100
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
101
|
+
|
102
|
+
# @!attribute [rw] key
|
103
|
+
# @return [::String]
|
104
|
+
# @!attribute [rw] value
|
105
|
+
# @return [::Integer]
|
106
|
+
class MetricCostsEntry
|
107
|
+
include ::Google::Protobuf::MessageExts
|
108
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
109
|
+
end
|
110
|
+
end
|
111
|
+
|
112
|
+
# `QuotaLimit` defines a specific limit that applies over a specified duration
|
113
|
+
# for a limit type. There can be at most one limit for a duration and limit
|
114
|
+
# type combination defined within a `QuotaGroup`.
|
115
|
+
# @!attribute [rw] name
|
116
|
+
# @return [::String]
|
117
|
+
# Name of the quota limit.
|
118
|
+
#
|
119
|
+
# The name must be provided, and it must be unique within the service. The
|
120
|
+
# name can only include alphanumeric characters as well as '-'.
|
121
|
+
#
|
122
|
+
# The maximum length of the limit name is 64 characters.
|
123
|
+
# @!attribute [rw] description
|
124
|
+
# @return [::String]
|
125
|
+
# Optional. User-visible, extended description for this quota limit.
|
126
|
+
# Should be used only when more context is needed to understand this limit
|
127
|
+
# than provided by the limit's display name (see: `display_name`).
|
128
|
+
# @!attribute [rw] default_limit
|
129
|
+
# @return [::Integer]
|
130
|
+
# Default number of tokens that can be consumed during the specified
|
131
|
+
# duration. This is the number of tokens assigned when a client
|
132
|
+
# application developer activates the service for his/her project.
|
133
|
+
#
|
134
|
+
# Specifying a value of 0 will block all requests. This can be used if you
|
135
|
+
# are provisioning quota to selected consumers and blocking others.
|
136
|
+
# Similarly, a value of -1 will indicate an unlimited quota. No other
|
137
|
+
# negative values are allowed.
|
138
|
+
#
|
139
|
+
# Used by group-based quotas only.
|
140
|
+
# @!attribute [rw] max_limit
|
141
|
+
# @return [::Integer]
|
142
|
+
# Maximum number of tokens that can be consumed during the specified
|
143
|
+
# duration. Client application developers can override the default limit up
|
144
|
+
# to this maximum. If specified, this value cannot be set to a value less
|
145
|
+
# than the default limit. If not specified, it is set to the default limit.
|
146
|
+
#
|
147
|
+
# To allow clients to apply overrides with no upper bound, set this to -1,
|
148
|
+
# indicating unlimited maximum quota.
|
149
|
+
#
|
150
|
+
# Used by group-based quotas only.
|
151
|
+
# @!attribute [rw] free_tier
|
152
|
+
# @return [::Integer]
|
153
|
+
# Free tier value displayed in the Developers Console for this limit.
|
154
|
+
# The free tier is the number of tokens that will be subtracted from the
|
155
|
+
# billed amount when billing is enabled.
|
156
|
+
# This field can only be set on a limit with duration "1d", in a billable
|
157
|
+
# group; it is invalid on any other limit. If this field is not set, it
|
158
|
+
# defaults to 0, indicating that there is no free tier for this service.
|
159
|
+
#
|
160
|
+
# Used by group-based quotas only.
|
161
|
+
# @!attribute [rw] duration
|
162
|
+
# @return [::String]
|
163
|
+
# Duration of this limit in textual notation. Must be "100s" or "1d".
|
164
|
+
#
|
165
|
+
# Used by group-based quotas only.
|
166
|
+
# @!attribute [rw] metric
|
167
|
+
# @return [::String]
|
168
|
+
# The name of the metric this quota limit applies to. The quota limits with
|
169
|
+
# the same metric will be checked together during runtime. The metric must be
|
170
|
+
# defined within the service config.
|
171
|
+
# @!attribute [rw] unit
|
172
|
+
# @return [::String]
|
173
|
+
# Specify the unit of the quota limit. It uses the same syntax as
|
174
|
+
# [Metric.unit][]. The supported unit kinds are determined by the quota
|
175
|
+
# backend system.
|
176
|
+
#
|
177
|
+
# Here are some examples:
|
178
|
+
# * "1/min/\\{project}" for quota per minute per project.
|
179
|
+
#
|
180
|
+
# Note: the order of unit components is insignificant.
|
181
|
+
# The "1" at the beginning is required to follow the metric unit syntax.
|
182
|
+
# @!attribute [rw] values
|
183
|
+
# @return [::Google::Protobuf::Map{::String => ::Integer}]
|
184
|
+
# Tiered limit values. You must specify this as a key:value pair, with an
|
185
|
+
# integer value that is the maximum number of requests allowed for the
|
186
|
+
# specified unit. Currently only STANDARD is supported.
|
187
|
+
# @!attribute [rw] display_name
|
188
|
+
# @return [::String]
|
189
|
+
# User-visible display name for this limit.
|
190
|
+
# Optional. If not set, the UI will provide a default display name based on
|
191
|
+
# the quota configuration. This field can be used to override the default
|
192
|
+
# display name generated from the configuration.
|
193
|
+
class QuotaLimit
|
194
|
+
include ::Google::Protobuf::MessageExts
|
195
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
196
|
+
|
197
|
+
# @!attribute [rw] key
|
198
|
+
# @return [::String]
|
199
|
+
# @!attribute [rw] value
|
200
|
+
# @return [::Integer]
|
201
|
+
class ValuesEntry
|
202
|
+
include ::Google::Protobuf::MessageExts
|
203
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
204
|
+
end
|
205
|
+
end
|
206
|
+
end
|
207
|
+
end
|