google-cloud-bare_metal_solution-v2 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (37) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +149 -0
  4. data/LICENSE.md +201 -0
  5. data/README.md +144 -0
  6. data/lib/google/cloud/bare_metal_solution/v2/bare_metal_solution/client.rb +2365 -0
  7. data/lib/google/cloud/bare_metal_solution/v2/bare_metal_solution/credentials.rb +47 -0
  8. data/lib/google/cloud/bare_metal_solution/v2/bare_metal_solution/operations.rb +767 -0
  9. data/lib/google/cloud/bare_metal_solution/v2/bare_metal_solution/paths.rb +166 -0
  10. data/lib/google/cloud/bare_metal_solution/v2/bare_metal_solution.rb +57 -0
  11. data/lib/google/cloud/bare_metal_solution/v2/version.rb +28 -0
  12. data/lib/google/cloud/bare_metal_solution/v2.rb +40 -0
  13. data/lib/google/cloud/baremetalsolution/v2/baremetalsolution_pb.rb +42 -0
  14. data/lib/google/cloud/baremetalsolution/v2/baremetalsolution_services_pb.rb +92 -0
  15. data/lib/google/cloud/baremetalsolution/v2/instance_pb.rb +113 -0
  16. data/lib/google/cloud/baremetalsolution/v2/lun_pb.rb +69 -0
  17. data/lib/google/cloud/baremetalsolution/v2/network_pb.rb +127 -0
  18. data/lib/google/cloud/baremetalsolution/v2/nfs_share_pb.rb +74 -0
  19. data/lib/google/cloud/baremetalsolution/v2/volume_pb.rb +93 -0
  20. data/lib/google-cloud-bare_metal_solution-v2.rb +21 -0
  21. data/proto_docs/README.md +4 -0
  22. data/proto_docs/google/api/field_behavior.rb +71 -0
  23. data/proto_docs/google/api/resource.rb +222 -0
  24. data/proto_docs/google/cloud/baremetalsolution/v2/baremetalsolution.rb +62 -0
  25. data/proto_docs/google/cloud/baremetalsolution/v2/instance.rb +283 -0
  26. data/proto_docs/google/cloud/baremetalsolution/v2/lun.rb +142 -0
  27. data/proto_docs/google/cloud/baremetalsolution/v2/network.rb +312 -0
  28. data/proto_docs/google/cloud/baremetalsolution/v2/nfs_share.rb +169 -0
  29. data/proto_docs/google/cloud/baremetalsolution/v2/volume.rb +238 -0
  30. data/proto_docs/google/longrunning/operations.rb +164 -0
  31. data/proto_docs/google/protobuf/any.rb +141 -0
  32. data/proto_docs/google/protobuf/duration.rb +98 -0
  33. data/proto_docs/google/protobuf/empty.rb +36 -0
  34. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  35. data/proto_docs/google/protobuf/timestamp.rb +129 -0
  36. data/proto_docs/google/rpc/status.rb +46 -0
  37. 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