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.
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,62 @@
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
+ # Represents the metadata from a long-running operation.
25
+ # @!attribute [r] create_time
26
+ # @return [::Google::Protobuf::Timestamp]
27
+ # The time the operation was created.
28
+ # @!attribute [r] end_time
29
+ # @return [::Google::Protobuf::Timestamp]
30
+ # The time the operation finished running.
31
+ # @!attribute [r] target
32
+ # @return [::String]
33
+ # Server-defined resource path for the target of the operation.
34
+ # @!attribute [r] verb
35
+ # @return [::String]
36
+ # Name of the action executed by the operation.
37
+ # @!attribute [r] status_message
38
+ # @return [::String]
39
+ # Human-readable status of the operation, if any.
40
+ # @!attribute [r] requested_cancellation
41
+ # @return [::Boolean]
42
+ # Identifies whether the user requested the cancellation
43
+ # of the operation. Operations that have been successfully cancelled
44
+ # have [Operation.error][] value with a [google.rpc.Status.code][] of 1,
45
+ # corresponding to `Code.CANCELLED`.
46
+ # @!attribute [r] api_version
47
+ # @return [::String]
48
+ # API version used with the operation.
49
+ class OperationMetadata
50
+ include ::Google::Protobuf::MessageExts
51
+ extend ::Google::Protobuf::MessageExts::ClassMethods
52
+ end
53
+
54
+ # Response message from resetting a server.
55
+ class ResetInstanceResponse
56
+ include ::Google::Protobuf::MessageExts
57
+ extend ::Google::Protobuf::MessageExts::ClassMethods
58
+ end
59
+ end
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,283 @@
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 server.
25
+ # @!attribute [r] name
26
+ # @return [::String]
27
+ # Output only. The resource name of this `Instance`.
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}/instances/{instance}`
32
+ # @!attribute [rw] id
33
+ # @return [::String]
34
+ # An identifier for the `Instance`, generated by the backend.
35
+ # @!attribute [r] create_time
36
+ # @return [::Google::Protobuf::Timestamp]
37
+ # Output only. Create a time stamp.
38
+ # @!attribute [r] update_time
39
+ # @return [::Google::Protobuf::Timestamp]
40
+ # Output only. Update a time stamp.
41
+ # @!attribute [rw] machine_type
42
+ # @return [::String]
43
+ # The server type.
44
+ # [Available server
45
+ # types](https://cloud.google.com/bare-metal/docs/bms-planning#server_configurations)
46
+ # @!attribute [rw] state
47
+ # @return [::Google::Cloud::BareMetalSolution::V2::Instance::State]
48
+ # The state of the server.
49
+ # @!attribute [rw] hyperthreading_enabled
50
+ # @return [::Boolean]
51
+ # True if you enable hyperthreading for the server, otherwise false.
52
+ # The default value is false.
53
+ # @!attribute [rw] labels
54
+ # @return [::Google::Protobuf::Map{::String => ::String}]
55
+ # Labels as key value pairs.
56
+ # @!attribute [rw] luns
57
+ # @return [::Array<::Google::Cloud::BareMetalSolution::V2::Lun>]
58
+ # List of LUNs associated with this server.
59
+ # @!attribute [rw] networks
60
+ # @return [::Array<::Google::Cloud::BareMetalSolution::V2::Network>]
61
+ # List of networks associated with this server.
62
+ # @!attribute [rw] interactive_serial_console_enabled
63
+ # @return [::Boolean]
64
+ # True if the interactive serial console feature is enabled for the instance,
65
+ # false otherwise.
66
+ # The default value is false.
67
+ # @!attribute [rw] os_image
68
+ # @return [::String]
69
+ # The OS image currently installed on the server.
70
+ # @!attribute [rw] pod
71
+ # @return [::String]
72
+ # Immutable. Pod name.
73
+ # Pod is an independent part of infrastructure.
74
+ # Instance can be connected to the assets (networks, volumes) allocated
75
+ # in the same pod only.
76
+ # @!attribute [rw] network_template
77
+ # @return [::String]
78
+ # Instance network template name. For eg, bondaa-bondaa, bondab-nic, etc.
79
+ # Generally, the template name follows the syntax of
80
+ # "bond<bond_mode>" or "nic".
81
+ # @!attribute [rw] logical_interfaces
82
+ # @return [::Array<::Google::Cloud::BareMetalSolution::V2::LogicalInterface>]
83
+ # List of logical interfaces for the instance. The number of logical
84
+ # interfaces will be the same as number of hardware bond/nic on the chosen
85
+ # network template. For the non-multivlan configurations (for eg, existing
86
+ # servers) that use existing default network template (bondaa-bondaa), both
87
+ # the Instance.networks field and the Instance.logical_interfaces fields will
88
+ # be filled to ensure backward compatibility. For the others, only
89
+ # Instance.logical_interfaces will be filled.
90
+ class Instance
91
+ include ::Google::Protobuf::MessageExts
92
+ extend ::Google::Protobuf::MessageExts::ClassMethods
93
+
94
+ # @!attribute [rw] key
95
+ # @return [::String]
96
+ # @!attribute [rw] value
97
+ # @return [::String]
98
+ class LabelsEntry
99
+ include ::Google::Protobuf::MessageExts
100
+ extend ::Google::Protobuf::MessageExts::ClassMethods
101
+ end
102
+
103
+ # The possible states for this server.
104
+ module State
105
+ # The server is in an unknown state.
106
+ STATE_UNSPECIFIED = 0
107
+
108
+ # The server is being provisioned.
109
+ PROVISIONING = 1
110
+
111
+ # The server is running.
112
+ RUNNING = 2
113
+
114
+ # The server has been deleted.
115
+ DELETED = 3
116
+ end
117
+ end
118
+
119
+ # Message for requesting server information.
120
+ # @!attribute [rw] name
121
+ # @return [::String]
122
+ # Required. Name of the resource.
123
+ class GetInstanceRequest
124
+ include ::Google::Protobuf::MessageExts
125
+ extend ::Google::Protobuf::MessageExts::ClassMethods
126
+ end
127
+
128
+ # Message for requesting the list of servers.
129
+ # @!attribute [rw] parent
130
+ # @return [::String]
131
+ # Required. Parent value for ListInstancesRequest.
132
+ # @!attribute [rw] page_size
133
+ # @return [::Integer]
134
+ # Requested page size. Server may return fewer items than requested.
135
+ # If unspecified, the server will pick an appropriate default.
136
+ # @!attribute [rw] page_token
137
+ # @return [::String]
138
+ # A token identifying a page of results from the server.
139
+ # @!attribute [rw] filter
140
+ # @return [::String]
141
+ # List filter.
142
+ class ListInstancesRequest
143
+ include ::Google::Protobuf::MessageExts
144
+ extend ::Google::Protobuf::MessageExts::ClassMethods
145
+ end
146
+
147
+ # Response message for the list of servers.
148
+ # @!attribute [rw] instances
149
+ # @return [::Array<::Google::Cloud::BareMetalSolution::V2::Instance>]
150
+ # The list of servers.
151
+ # @!attribute [rw] next_page_token
152
+ # @return [::String]
153
+ # A token identifying a page of results from the server.
154
+ # @!attribute [rw] unreachable
155
+ # @return [::Array<::String>]
156
+ # Locations that could not be reached.
157
+ class ListInstancesResponse
158
+ include ::Google::Protobuf::MessageExts
159
+ extend ::Google::Protobuf::MessageExts::ClassMethods
160
+ end
161
+
162
+ # Message requesting to updating a server.
163
+ # @!attribute [rw] instance
164
+ # @return [::Google::Cloud::BareMetalSolution::V2::Instance]
165
+ # Required. The server to update.
166
+ #
167
+ # The `name` field is used to identify the instance to update.
168
+ # Format: projects/\\{project}/locations/\\{location}/instances/\\{instance}
169
+ # @!attribute [rw] update_mask
170
+ # @return [::Google::Protobuf::FieldMask]
171
+ # The list of fields to update.
172
+ # The currently supported fields are:
173
+ # `labels`
174
+ # `hyperthreading_enabled`
175
+ # `os_image`
176
+ class UpdateInstanceRequest
177
+ include ::Google::Protobuf::MessageExts
178
+ extend ::Google::Protobuf::MessageExts::ClassMethods
179
+ end
180
+
181
+ # Message requesting to reset a server.
182
+ # @!attribute [rw] name
183
+ # @return [::String]
184
+ # Required. Name of the resource.
185
+ class ResetInstanceRequest
186
+ include ::Google::Protobuf::MessageExts
187
+ extend ::Google::Protobuf::MessageExts::ClassMethods
188
+ end
189
+
190
+ # Message requesting to start a server.
191
+ # @!attribute [rw] name
192
+ # @return [::String]
193
+ # Required. Name of the resource.
194
+ class StartInstanceRequest
195
+ include ::Google::Protobuf::MessageExts
196
+ extend ::Google::Protobuf::MessageExts::ClassMethods
197
+ end
198
+
199
+ # Message requesting to stop a server.
200
+ # @!attribute [rw] name
201
+ # @return [::String]
202
+ # Required. Name of the resource.
203
+ class StopInstanceRequest
204
+ include ::Google::Protobuf::MessageExts
205
+ extend ::Google::Protobuf::MessageExts::ClassMethods
206
+ end
207
+
208
+ # Message for detach specific LUN from an Instance.
209
+ # @!attribute [rw] instance
210
+ # @return [::String]
211
+ # Required. Name of the instance.
212
+ # @!attribute [rw] lun
213
+ # @return [::String]
214
+ # Required. Name of the Lun to detach.
215
+ class DetachLunRequest
216
+ include ::Google::Protobuf::MessageExts
217
+ extend ::Google::Protobuf::MessageExts::ClassMethods
218
+ end
219
+
220
+ # Network template.
221
+ # @!attribute [r] name
222
+ # @return [::String]
223
+ # Output only. Template's unique name. The full resource name follows the pattern:
224
+ # `projects/{project}/locations/{location}/serverNetworkTemplate/{server_network_template}`
225
+ # Generally, the \\{server_network_template} follows the syntax of
226
+ # "bond<interface_type_index><bond_mode>" or "nic<interface_type_index>".
227
+ # @!attribute [rw] applicable_instance_types
228
+ # @return [::Array<::String>]
229
+ # Instance types this template is applicable to.
230
+ # @!attribute [rw] logical_interfaces
231
+ # @return [::Array<::Google::Cloud::BareMetalSolution::V2::ServerNetworkTemplate::LogicalInterface>]
232
+ # Logical interfaces.
233
+ class ServerNetworkTemplate
234
+ include ::Google::Protobuf::MessageExts
235
+ extend ::Google::Protobuf::MessageExts::ClassMethods
236
+
237
+ # Logical interface.
238
+ # @!attribute [rw] name
239
+ # @return [::String]
240
+ # Interface name.
241
+ # This is not a globally unique identifier.
242
+ # Name is unique only inside the ServerNetworkTemplate. This is of syntax
243
+ # <bond><interface_type_index><bond_mode> or <nic><interface_type_index>
244
+ # and forms part of the network template name.
245
+ # @!attribute [rw] type
246
+ # @return [::Google::Cloud::BareMetalSolution::V2::ServerNetworkTemplate::LogicalInterface::InterfaceType]
247
+ # Interface type.
248
+ # @!attribute [rw] required
249
+ # @return [::Boolean]
250
+ # If true, interface must have network connected.
251
+ class LogicalInterface
252
+ include ::Google::Protobuf::MessageExts
253
+ extend ::Google::Protobuf::MessageExts::ClassMethods
254
+
255
+ # Interface type.
256
+ module InterfaceType
257
+ # Unspecified value.
258
+ INTERFACE_TYPE_UNSPECIFIED = 0
259
+
260
+ # Bond interface type.
261
+ BOND = 1
262
+
263
+ # NIC interface type.
264
+ NIC = 2
265
+ end
266
+ end
267
+ end
268
+
269
+ # Response message from starting a server.
270
+ class StartInstanceResponse
271
+ include ::Google::Protobuf::MessageExts
272
+ extend ::Google::Protobuf::MessageExts::ClassMethods
273
+ end
274
+
275
+ # Response message from stopping a server.
276
+ class StopInstanceResponse
277
+ include ::Google::Protobuf::MessageExts
278
+ extend ::Google::Protobuf::MessageExts::ClassMethods
279
+ end
280
+ end
281
+ end
282
+ end
283
+ end
@@ -0,0 +1,142 @@
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 logical unit number (LUN).
25
+ # @!attribute [r] name
26
+ # @return [::String]
27
+ # Output only. The name of the LUN.
28
+ # @!attribute [rw] id
29
+ # @return [::String]
30
+ # An identifier for the LUN, generated by the backend.
31
+ # @!attribute [rw] state
32
+ # @return [::Google::Cloud::BareMetalSolution::V2::Lun::State]
33
+ # The state of this storage volume.
34
+ # @!attribute [rw] size_gb
35
+ # @return [::Integer]
36
+ # The size of this LUN, in gigabytes.
37
+ # @!attribute [rw] multiprotocol_type
38
+ # @return [::Google::Cloud::BareMetalSolution::V2::Lun::MultiprotocolType]
39
+ # The LUN multiprotocol type ensures the characteristics of the LUN are
40
+ # optimized for each operating system.
41
+ # @!attribute [rw] storage_volume
42
+ # @return [::String]
43
+ # Display the storage volume for this LUN.
44
+ # @!attribute [rw] shareable
45
+ # @return [::Boolean]
46
+ # Display if this LUN can be shared between multiple physical servers.
47
+ # @!attribute [rw] boot_lun
48
+ # @return [::Boolean]
49
+ # Display if this LUN is a boot LUN.
50
+ # @!attribute [rw] storage_type
51
+ # @return [::Google::Cloud::BareMetalSolution::V2::Lun::StorageType]
52
+ # The storage type for this LUN.
53
+ # @!attribute [rw] wwid
54
+ # @return [::String]
55
+ # The WWID for this LUN.
56
+ class Lun
57
+ include ::Google::Protobuf::MessageExts
58
+ extend ::Google::Protobuf::MessageExts::ClassMethods
59
+
60
+ # The possible states for the LUN.
61
+ module State
62
+ # The LUN is in an unknown state.
63
+ STATE_UNSPECIFIED = 0
64
+
65
+ # The LUN is being created.
66
+ CREATING = 1
67
+
68
+ # The LUN is being updated.
69
+ UPDATING = 2
70
+
71
+ # The LUN is ready for use.
72
+ READY = 3
73
+
74
+ # The LUN has been requested to be deleted.
75
+ DELETING = 4
76
+ end
77
+
78
+ # Display the operating systems present for the LUN multiprotocol type.
79
+ module MultiprotocolType
80
+ # Server has no OS specified.
81
+ MULTIPROTOCOL_TYPE_UNSPECIFIED = 0
82
+
83
+ # Server with Linux OS.
84
+ LINUX = 1
85
+ end
86
+
87
+ # The storage types for a LUN.
88
+ module StorageType
89
+ # The storage type for this LUN is unknown.
90
+ STORAGE_TYPE_UNSPECIFIED = 0
91
+
92
+ # This storage type for this LUN is SSD.
93
+ SSD = 1
94
+
95
+ # This storage type for this LUN is HDD.
96
+ HDD = 2
97
+ end
98
+ end
99
+
100
+ # Message for requesting storage lun information.
101
+ # @!attribute [rw] name
102
+ # @return [::String]
103
+ # Required. Name of the resource.
104
+ class GetLunRequest
105
+ include ::Google::Protobuf::MessageExts
106
+ extend ::Google::Protobuf::MessageExts::ClassMethods
107
+ end
108
+
109
+ # Message for requesting a list of storage volume luns.
110
+ # @!attribute [rw] parent
111
+ # @return [::String]
112
+ # Required. Parent value for ListLunsRequest.
113
+ # @!attribute [rw] page_size
114
+ # @return [::Integer]
115
+ # Requested page size. The server might return fewer items than requested.
116
+ # If unspecified, server will pick an appropriate default.
117
+ # @!attribute [rw] page_token
118
+ # @return [::String]
119
+ # A token identifying a page of results from the server.
120
+ class ListLunsRequest
121
+ include ::Google::Protobuf::MessageExts
122
+ extend ::Google::Protobuf::MessageExts::ClassMethods
123
+ end
124
+
125
+ # Response message containing the list of storage volume luns.
126
+ # @!attribute [rw] luns
127
+ # @return [::Array<::Google::Cloud::BareMetalSolution::V2::Lun>]
128
+ # The list of luns.
129
+ # @!attribute [rw] next_page_token
130
+ # @return [::String]
131
+ # A token identifying a page of results from the server.
132
+ # @!attribute [rw] unreachable
133
+ # @return [::Array<::String>]
134
+ # Locations that could not be reached.
135
+ class ListLunsResponse
136
+ include ::Google::Protobuf::MessageExts
137
+ extend ::Google::Protobuf::MessageExts::ClassMethods
138
+ end
139
+ end
140
+ end
141
+ end
142
+ end