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,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