google-cloud-bare_metal_solution-v2 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 +149 -0
- data/LICENSE.md +201 -0
- data/README.md +144 -0
- data/lib/google/cloud/bare_metal_solution/v2/bare_metal_solution/client.rb +2365 -0
- data/lib/google/cloud/bare_metal_solution/v2/bare_metal_solution/credentials.rb +47 -0
- data/lib/google/cloud/bare_metal_solution/v2/bare_metal_solution/operations.rb +767 -0
- data/lib/google/cloud/bare_metal_solution/v2/bare_metal_solution/paths.rb +166 -0
- data/lib/google/cloud/bare_metal_solution/v2/bare_metal_solution.rb +57 -0
- data/lib/google/cloud/bare_metal_solution/v2/version.rb +28 -0
- data/lib/google/cloud/bare_metal_solution/v2.rb +40 -0
- data/lib/google/cloud/baremetalsolution/v2/baremetalsolution_pb.rb +42 -0
- data/lib/google/cloud/baremetalsolution/v2/baremetalsolution_services_pb.rb +92 -0
- data/lib/google/cloud/baremetalsolution/v2/instance_pb.rb +113 -0
- data/lib/google/cloud/baremetalsolution/v2/lun_pb.rb +69 -0
- data/lib/google/cloud/baremetalsolution/v2/network_pb.rb +127 -0
- data/lib/google/cloud/baremetalsolution/v2/nfs_share_pb.rb +74 -0
- data/lib/google/cloud/baremetalsolution/v2/volume_pb.rb +93 -0
- data/lib/google-cloud-bare_metal_solution-v2.rb +21 -0
- data/proto_docs/README.md +4 -0
- data/proto_docs/google/api/field_behavior.rb +71 -0
- data/proto_docs/google/api/resource.rb +222 -0
- data/proto_docs/google/cloud/baremetalsolution/v2/baremetalsolution.rb +62 -0
- data/proto_docs/google/cloud/baremetalsolution/v2/instance.rb +283 -0
- data/proto_docs/google/cloud/baremetalsolution/v2/lun.rb +142 -0
- data/proto_docs/google/cloud/baremetalsolution/v2/network.rb +312 -0
- data/proto_docs/google/cloud/baremetalsolution/v2/nfs_share.rb +169 -0
- data/proto_docs/google/cloud/baremetalsolution/v2/volume.rb +238 -0
- data/proto_docs/google/longrunning/operations.rb +164 -0
- data/proto_docs/google/protobuf/any.rb +141 -0
- data/proto_docs/google/protobuf/duration.rb +98 -0
- data/proto_docs/google/protobuf/empty.rb +36 -0
- data/proto_docs/google/protobuf/field_mask.rb +229 -0
- data/proto_docs/google/protobuf/timestamp.rb +129 -0
- data/proto_docs/google/rpc/status.rb +46 -0
- metadata +268 -0
@@ -0,0 +1,238 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Copyright 2022 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 BareMetalSolution
|
23
|
+
module V2
|
24
|
+
# A storage volume.
|
25
|
+
# @!attribute [r] name
|
26
|
+
# @return [::String]
|
27
|
+
# Output only. The resource name of this `Volume`.
|
28
|
+
# Resource names are schemeless URIs that follow the conventions in
|
29
|
+
# https://cloud.google.com/apis/design/resource_names.
|
30
|
+
# Format:
|
31
|
+
# `projects/{project}/locations/{location}/volumes/{volume}`
|
32
|
+
# @!attribute [rw] id
|
33
|
+
# @return [::String]
|
34
|
+
# An identifier for the `Volume`, generated by the backend.
|
35
|
+
# @!attribute [rw] storage_type
|
36
|
+
# @return [::Google::Cloud::BareMetalSolution::V2::Volume::StorageType]
|
37
|
+
# The storage type for this volume.
|
38
|
+
# @!attribute [rw] state
|
39
|
+
# @return [::Google::Cloud::BareMetalSolution::V2::Volume::State]
|
40
|
+
# The state of this storage volume.
|
41
|
+
# @!attribute [rw] requested_size_gib
|
42
|
+
# @return [::Integer]
|
43
|
+
# The requested size of this storage volume, in GiB.
|
44
|
+
# @!attribute [rw] current_size_gib
|
45
|
+
# @return [::Integer]
|
46
|
+
# The current size of this storage volume, in GiB, including space reserved
|
47
|
+
# for snapshots. This size might be different than the requested size if the
|
48
|
+
# storage volume has been configured with auto grow or auto shrink.
|
49
|
+
# @!attribute [rw] emergency_size_gib
|
50
|
+
# @return [::Integer]
|
51
|
+
# Additional emergency size that was requested for this Volume, in GiB.
|
52
|
+
# current_size_gib includes this value.
|
53
|
+
# @!attribute [rw] auto_grown_size_gib
|
54
|
+
# @return [::Integer]
|
55
|
+
# The size, in GiB, that this storage volume has expanded as a result of an
|
56
|
+
# auto grow policy. In the absence of auto-grow, the value is 0.
|
57
|
+
# @!attribute [rw] remaining_space_gib
|
58
|
+
# @return [::Integer]
|
59
|
+
# The space remaining in the storage volume for new LUNs, in GiB, excluding
|
60
|
+
# space reserved for snapshots.
|
61
|
+
# @!attribute [rw] snapshot_reservation_detail
|
62
|
+
# @return [::Google::Cloud::BareMetalSolution::V2::Volume::SnapshotReservationDetail]
|
63
|
+
# Details about snapshot space reservation and usage on the storage volume.
|
64
|
+
# @!attribute [rw] snapshot_auto_delete_behavior
|
65
|
+
# @return [::Google::Cloud::BareMetalSolution::V2::Volume::SnapshotAutoDeleteBehavior]
|
66
|
+
# The behavior to use when snapshot reserved space is full.
|
67
|
+
# @!attribute [rw] labels
|
68
|
+
# @return [::Google::Protobuf::Map{::String => ::String}]
|
69
|
+
# Labels as key value pairs.
|
70
|
+
# @!attribute [rw] snapshot_enabled
|
71
|
+
# @return [::Boolean]
|
72
|
+
# Whether snapshots are enabled.
|
73
|
+
# @!attribute [rw] pod
|
74
|
+
# @return [::String]
|
75
|
+
# Immutable. Pod name.
|
76
|
+
class Volume
|
77
|
+
include ::Google::Protobuf::MessageExts
|
78
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
79
|
+
|
80
|
+
# Details about snapshot space reservation and usage on the storage volume.
|
81
|
+
# @!attribute [rw] reserved_space_gib
|
82
|
+
# @return [::Integer]
|
83
|
+
# The space on this storage volume reserved for snapshots, shown in GiB.
|
84
|
+
# @!attribute [rw] reserved_space_used_percent
|
85
|
+
# @return [::Integer]
|
86
|
+
# The percent of snapshot space on this storage volume actually being used
|
87
|
+
# by the snapshot copies. This value might be higher than 100% if the
|
88
|
+
# snapshot copies have overflowed into the data portion of the storage
|
89
|
+
# volume.
|
90
|
+
# @!attribute [rw] reserved_space_remaining_gib
|
91
|
+
# @return [::Integer]
|
92
|
+
# The amount, in GiB, of available space in this storage volume's reserved
|
93
|
+
# snapshot space.
|
94
|
+
# @!attribute [rw] reserved_space_percent
|
95
|
+
# @return [::Integer]
|
96
|
+
# Percent of the total Volume size reserved for snapshot copies.
|
97
|
+
# Enabling snapshots requires reserving 20% or more of
|
98
|
+
# the storage volume space for snapshots. Maximum reserved space for
|
99
|
+
# snapshots is 40%.
|
100
|
+
# Setting this field will effectively set snapshot_enabled to true.
|
101
|
+
class SnapshotReservationDetail
|
102
|
+
include ::Google::Protobuf::MessageExts
|
103
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
104
|
+
end
|
105
|
+
|
106
|
+
# @!attribute [rw] key
|
107
|
+
# @return [::String]
|
108
|
+
# @!attribute [rw] value
|
109
|
+
# @return [::String]
|
110
|
+
class LabelsEntry
|
111
|
+
include ::Google::Protobuf::MessageExts
|
112
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
113
|
+
end
|
114
|
+
|
115
|
+
# The storage type for a volume.
|
116
|
+
module StorageType
|
117
|
+
# The storage type for this volume is unknown.
|
118
|
+
STORAGE_TYPE_UNSPECIFIED = 0
|
119
|
+
|
120
|
+
# The storage type for this volume is SSD.
|
121
|
+
SSD = 1
|
122
|
+
|
123
|
+
# This storage type for this volume is HDD.
|
124
|
+
HDD = 2
|
125
|
+
end
|
126
|
+
|
127
|
+
# The possible states for a storage volume.
|
128
|
+
module State
|
129
|
+
# The storage volume is in an unknown state.
|
130
|
+
STATE_UNSPECIFIED = 0
|
131
|
+
|
132
|
+
# The storage volume is being created.
|
133
|
+
CREATING = 1
|
134
|
+
|
135
|
+
# The storage volume is ready for use.
|
136
|
+
READY = 2
|
137
|
+
|
138
|
+
# The storage volume has been requested to be deleted.
|
139
|
+
DELETING = 3
|
140
|
+
end
|
141
|
+
|
142
|
+
# The kinds of auto delete behavior to use when snapshot reserved space is
|
143
|
+
# full.
|
144
|
+
module SnapshotAutoDeleteBehavior
|
145
|
+
# The unspecified behavior.
|
146
|
+
SNAPSHOT_AUTO_DELETE_BEHAVIOR_UNSPECIFIED = 0
|
147
|
+
|
148
|
+
# Don't delete any snapshots. This disables new snapshot creation, as
|
149
|
+
# long as the snapshot reserved space is full.
|
150
|
+
DISABLED = 1
|
151
|
+
|
152
|
+
# Delete the oldest snapshots first.
|
153
|
+
OLDEST_FIRST = 2
|
154
|
+
|
155
|
+
# Delete the newest snapshots first.
|
156
|
+
NEWEST_FIRST = 3
|
157
|
+
end
|
158
|
+
end
|
159
|
+
|
160
|
+
# Message for requesting storage volume information.
|
161
|
+
# @!attribute [rw] name
|
162
|
+
# @return [::String]
|
163
|
+
# Required. Name of the resource.
|
164
|
+
class GetVolumeRequest
|
165
|
+
include ::Google::Protobuf::MessageExts
|
166
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
167
|
+
end
|
168
|
+
|
169
|
+
# Message for requesting a list of storage volumes.
|
170
|
+
# @!attribute [rw] parent
|
171
|
+
# @return [::String]
|
172
|
+
# Required. Parent value for ListVolumesRequest.
|
173
|
+
# @!attribute [rw] page_size
|
174
|
+
# @return [::Integer]
|
175
|
+
# Requested page size. The server might return fewer items than requested.
|
176
|
+
# If unspecified, server will pick an appropriate default.
|
177
|
+
# @!attribute [rw] page_token
|
178
|
+
# @return [::String]
|
179
|
+
# A token identifying a page of results from the server.
|
180
|
+
# @!attribute [rw] filter
|
181
|
+
# @return [::String]
|
182
|
+
# List filter.
|
183
|
+
class ListVolumesRequest
|
184
|
+
include ::Google::Protobuf::MessageExts
|
185
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
186
|
+
end
|
187
|
+
|
188
|
+
# Response message containing the list of storage volumes.
|
189
|
+
# @!attribute [rw] volumes
|
190
|
+
# @return [::Array<::Google::Cloud::BareMetalSolution::V2::Volume>]
|
191
|
+
# The list of storage volumes.
|
192
|
+
# @!attribute [rw] next_page_token
|
193
|
+
# @return [::String]
|
194
|
+
# A token identifying a page of results from the server.
|
195
|
+
# @!attribute [rw] unreachable
|
196
|
+
# @return [::Array<::String>]
|
197
|
+
# Locations that could not be reached.
|
198
|
+
class ListVolumesResponse
|
199
|
+
include ::Google::Protobuf::MessageExts
|
200
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
201
|
+
end
|
202
|
+
|
203
|
+
# Message for updating a volume.
|
204
|
+
# @!attribute [rw] volume
|
205
|
+
# @return [::Google::Cloud::BareMetalSolution::V2::Volume]
|
206
|
+
# Required. The volume to update.
|
207
|
+
#
|
208
|
+
# The `name` field is used to identify the volume to update.
|
209
|
+
# Format: projects/\\{project}/locations/\\{location}/volumes/\\{volume}
|
210
|
+
# @!attribute [rw] update_mask
|
211
|
+
# @return [::Google::Protobuf::FieldMask]
|
212
|
+
# The list of fields to update.
|
213
|
+
# The only currently supported fields are:
|
214
|
+
# `snapshot_auto_delete_behavior`
|
215
|
+
# `snapshot_schedule_policy_name`
|
216
|
+
# 'labels'
|
217
|
+
# 'snapshot_enabled'
|
218
|
+
# 'snapshot_reservation_detail.reserved_space_percent'
|
219
|
+
class UpdateVolumeRequest
|
220
|
+
include ::Google::Protobuf::MessageExts
|
221
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
222
|
+
end
|
223
|
+
|
224
|
+
# Request for emergency resize Volume.
|
225
|
+
# @!attribute [rw] volume
|
226
|
+
# @return [::String]
|
227
|
+
# Required. Volume to resize.
|
228
|
+
# @!attribute [rw] size_gib
|
229
|
+
# @return [::Integer]
|
230
|
+
# New Volume size, in GiB.
|
231
|
+
class ResizeVolumeRequest
|
232
|
+
include ::Google::Protobuf::MessageExts
|
233
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
234
|
+
end
|
235
|
+
end
|
236
|
+
end
|
237
|
+
end
|
238
|
+
end
|
@@ -0,0 +1,164 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Copyright 2022 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 2022 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,98 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Copyright 2022 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
|
+
# A Duration represents a signed, fixed-length span of time represented
|
23
|
+
# as a count of seconds and fractions of seconds at nanosecond
|
24
|
+
# resolution. It is independent of any calendar and concepts like "day"
|
25
|
+
# or "month". It is related to Timestamp in that the difference between
|
26
|
+
# two Timestamp values is a Duration and it can be added or subtracted
|
27
|
+
# from a Timestamp. Range is approximately +-10,000 years.
|
28
|
+
#
|
29
|
+
# # Examples
|
30
|
+
#
|
31
|
+
# Example 1: Compute Duration from two Timestamps in pseudo code.
|
32
|
+
#
|
33
|
+
# Timestamp start = ...;
|
34
|
+
# Timestamp end = ...;
|
35
|
+
# Duration duration = ...;
|
36
|
+
#
|
37
|
+
# duration.seconds = end.seconds - start.seconds;
|
38
|
+
# duration.nanos = end.nanos - start.nanos;
|
39
|
+
#
|
40
|
+
# if (duration.seconds < 0 && duration.nanos > 0) {
|
41
|
+
# duration.seconds += 1;
|
42
|
+
# duration.nanos -= 1000000000;
|
43
|
+
# } else if (duration.seconds > 0 && duration.nanos < 0) {
|
44
|
+
# duration.seconds -= 1;
|
45
|
+
# duration.nanos += 1000000000;
|
46
|
+
# }
|
47
|
+
#
|
48
|
+
# Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.
|
49
|
+
#
|
50
|
+
# Timestamp start = ...;
|
51
|
+
# Duration duration = ...;
|
52
|
+
# Timestamp end = ...;
|
53
|
+
#
|
54
|
+
# end.seconds = start.seconds + duration.seconds;
|
55
|
+
# end.nanos = start.nanos + duration.nanos;
|
56
|
+
#
|
57
|
+
# if (end.nanos < 0) {
|
58
|
+
# end.seconds -= 1;
|
59
|
+
# end.nanos += 1000000000;
|
60
|
+
# } else if (end.nanos >= 1000000000) {
|
61
|
+
# end.seconds += 1;
|
62
|
+
# end.nanos -= 1000000000;
|
63
|
+
# }
|
64
|
+
#
|
65
|
+
# Example 3: Compute Duration from datetime.timedelta in Python.
|
66
|
+
#
|
67
|
+
# td = datetime.timedelta(days=3, minutes=10)
|
68
|
+
# duration = Duration()
|
69
|
+
# duration.FromTimedelta(td)
|
70
|
+
#
|
71
|
+
# # JSON Mapping
|
72
|
+
#
|
73
|
+
# In JSON format, the Duration type is encoded as a string rather than an
|
74
|
+
# object, where the string ends in the suffix "s" (indicating seconds) and
|
75
|
+
# is preceded by the number of seconds, with nanoseconds expressed as
|
76
|
+
# fractional seconds. For example, 3 seconds with 0 nanoseconds should be
|
77
|
+
# encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should
|
78
|
+
# be expressed in JSON format as "3.000000001s", and 3 seconds and 1
|
79
|
+
# microsecond should be expressed in JSON format as "3.000001s".
|
80
|
+
# @!attribute [rw] seconds
|
81
|
+
# @return [::Integer]
|
82
|
+
# Signed seconds of the span of time. Must be from -315,576,000,000
|
83
|
+
# to +315,576,000,000 inclusive. Note: these bounds are computed from:
|
84
|
+
# 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
|
85
|
+
# @!attribute [rw] nanos
|
86
|
+
# @return [::Integer]
|
87
|
+
# Signed fractions of a second at nanosecond resolution of the span
|
88
|
+
# of time. Durations less than one second are represented with a 0
|
89
|
+
# `seconds` field and a positive or negative `nanos` field. For durations
|
90
|
+
# of one second or more, a non-zero value for the `nanos` field must be
|
91
|
+
# of the same sign as the `seconds` field. Must be from -999,999,999
|
92
|
+
# to +999,999,999 inclusive.
|
93
|
+
class Duration
|
94
|
+
include ::Google::Protobuf::MessageExts
|
95
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
96
|
+
end
|
97
|
+
end
|
98
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Copyright 2022 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
|
+
# A generic empty message that you can re-use to avoid defining duplicated
|
23
|
+
# empty messages in your APIs. A typical example is to use it as the request
|
24
|
+
# or the response type of an API method. For instance:
|
25
|
+
#
|
26
|
+
# service Foo {
|
27
|
+
# rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
|
28
|
+
# }
|
29
|
+
#
|
30
|
+
# The JSON representation for `Empty` is empty JSON object `{}`.
|
31
|
+
class Empty
|
32
|
+
include ::Google::Protobuf::MessageExts
|
33
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|