google-cloud-bare_metal_solution-v2 0.4.1 → 0.5.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 (30) hide show
  1. checksums.yaml +4 -4
  2. data/lib/google/cloud/bare_metal_solution/v2/bare_metal_solution/client.rb +2769 -405
  3. data/lib/google/cloud/bare_metal_solution/v2/bare_metal_solution/paths.rb +135 -0
  4. data/lib/google/cloud/bare_metal_solution/v2/bare_metal_solution/rest/client.rb +2031 -285
  5. data/lib/google/cloud/bare_metal_solution/v2/bare_metal_solution/rest/service_stub.rb +1662 -231
  6. data/lib/google/cloud/bare_metal_solution/v2/version.rb +1 -1
  7. data/lib/google/cloud/baremetalsolution/v2/baremetalsolution_pb.rb +7 -6
  8. data/lib/google/cloud/baremetalsolution/v2/baremetalsolution_services_pb.rb +62 -0
  9. data/lib/google/cloud/baremetalsolution/v2/common_pb.rb +48 -0
  10. data/lib/google/cloud/baremetalsolution/v2/instance_pb.rb +12 -6
  11. data/lib/google/cloud/baremetalsolution/v2/lun_pb.rb +4 -1
  12. data/lib/google/cloud/baremetalsolution/v2/network_pb.rb +3 -1
  13. data/lib/google/cloud/baremetalsolution/v2/nfs_share_pb.rb +5 -1
  14. data/lib/google/cloud/baremetalsolution/v2/osimage_pb.rb +47 -0
  15. data/lib/google/cloud/baremetalsolution/v2/provisioning_pb.rb +80 -0
  16. data/lib/google/cloud/baremetalsolution/v2/ssh_key_pb.rb +49 -0
  17. data/lib/google/cloud/baremetalsolution/v2/volume_pb.rb +8 -1
  18. data/lib/google/cloud/baremetalsolution/v2/volume_snapshot_pb.rb +54 -0
  19. data/proto_docs/google/cloud/baremetalsolution/v2/{baremetalsolution.rb → common.rb} +36 -14
  20. data/proto_docs/google/cloud/baremetalsolution/v2/instance.rb +95 -68
  21. data/proto_docs/google/cloud/baremetalsolution/v2/lun.rb +19 -0
  22. data/proto_docs/google/cloud/baremetalsolution/v2/network.rb +68 -2
  23. data/proto_docs/google/cloud/baremetalsolution/v2/nfs_share.rb +83 -9
  24. data/proto_docs/google/cloud/baremetalsolution/v2/osimage.rb +80 -0
  25. data/proto_docs/google/cloud/baremetalsolution/v2/provisioning.rb +639 -0
  26. data/proto_docs/google/cloud/baremetalsolution/v2/ssh_key.rb +97 -0
  27. data/proto_docs/google/cloud/baremetalsolution/v2/volume.rb +91 -4
  28. data/proto_docs/google/cloud/baremetalsolution/v2/volume_snapshot.rb +134 -0
  29. data/proto_docs/google/type/expr.rb +75 -0
  30. metadata +13 -3
@@ -22,24 +22,36 @@ module Google
22
22
  module BareMetalSolution
23
23
  module V2
24
24
  # An NFS share.
25
- # @!attribute [r] name
25
+ # @!attribute [rw] name
26
26
  # @return [::String]
27
- # Output only. The name of the NFS share.
27
+ # Immutable. The name of the NFS share.
28
28
  # @!attribute [r] nfs_share_id
29
29
  # @return [::String]
30
30
  # Output only. An identifier for the NFS share, generated by the backend.
31
- # @!attribute [rw] state
31
+ # This field will be deprecated in the future, use `id` instead.
32
+ # @!attribute [r] id
33
+ # @return [::String]
34
+ # Output only. An identifier for the NFS share, generated by the backend.
35
+ # This is the same value as nfs_share_id and will replace it in the future.
36
+ # @!attribute [r] state
32
37
  # @return [::Google::Cloud::BareMetalSolution::V2::NfsShare::State]
33
- # The state of the NFS share.
34
- # @!attribute [rw] volume
38
+ # Output only. The state of the NFS share.
39
+ # @!attribute [r] volume
35
40
  # @return [::String]
36
- # The volume containing the share.
41
+ # Output only. The underlying volume of the share. Created automatically
42
+ # during provisioning.
37
43
  # @!attribute [rw] allowed_clients
38
44
  # @return [::Array<::Google::Cloud::BareMetalSolution::V2::NfsShare::AllowedClient>]
39
45
  # List of allowed access points.
40
46
  # @!attribute [rw] labels
41
47
  # @return [::Google::Protobuf::Map{::String => ::String}]
42
48
  # Labels as key value pairs.
49
+ # @!attribute [rw] requested_size_gib
50
+ # @return [::Integer]
51
+ # The requested size, in GiB.
52
+ # @!attribute [rw] storage_type
53
+ # @return [::Google::Cloud::BareMetalSolution::V2::NfsShare::StorageType]
54
+ # Immutable. The storage type of the underlying volume.
43
55
  class NfsShare
44
56
  include ::Google::Protobuf::MessageExts
45
57
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -48,9 +60,10 @@ module Google
48
60
  # @!attribute [rw] network
49
61
  # @return [::String]
50
62
  # The network the access point sits on.
51
- # @!attribute [rw] share_ip
63
+ # @!attribute [r] share_ip
52
64
  # @return [::String]
53
- # The IP address of the share on this network.
65
+ # Output only. The IP address of the share on this network. Assigned
66
+ # automatically during provisioning based on the network's services_cidr.
54
67
  # @!attribute [rw] allowed_clients_cidr
55
68
  # @return [::String]
56
69
  # The subnet of IP addresses permitted to access the share.
@@ -68,6 +81,11 @@ module Google
68
81
  # Disable root squashing, which is a feature of NFS.
69
82
  # Root squash is a special mapping of the remote superuser (root) identity
70
83
  # when using identity authentication.
84
+ # @!attribute [r] nfs_path
85
+ # @return [::String]
86
+ # Output only. The path to access NFS, in format shareIP:/InstanceID
87
+ # InstanceID is the generated ID instead of customer provided name.
88
+ # example like "10.0.0.0:/g123456789-nfs001"
71
89
  class AllowedClient
72
90
  include ::Google::Protobuf::MessageExts
73
91
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -89,6 +107,15 @@ module Google
89
107
 
90
108
  # The share has been provisioned.
91
109
  PROVISIONED = 1
110
+
111
+ # The NFS Share is being created.
112
+ CREATING = 2
113
+
114
+ # The NFS Share is being updated.
115
+ UPDATING = 3
116
+
117
+ # The NFS Share has been requested to be deleted.
118
+ DELETING = 4
92
119
  end
93
120
 
94
121
  # The possible mount permissions.
@@ -102,6 +129,18 @@ module Google
102
129
  # NFS share can be mount with read-write permissions.
103
130
  READ_WRITE = 2
104
131
  end
132
+
133
+ # The storage type for a volume.
134
+ module StorageType
135
+ # The storage type for this volume is unknown.
136
+ STORAGE_TYPE_UNSPECIFIED = 0
137
+
138
+ # The storage type for this volume is SSD.
139
+ SSD = 1
140
+
141
+ # This storage type for this volume is HDD.
142
+ HDD = 2
143
+ end
105
144
  end
106
145
 
107
146
  # Message for requesting NFS share information.
@@ -147,7 +186,7 @@ module Google
147
186
  extend ::Google::Protobuf::MessageExts::ClassMethods
148
187
  end
149
188
 
150
- # Message requesting to updating a NFS share.
189
+ # Message requesting to updating an NFS share.
151
190
  # @!attribute [rw] nfs_share
152
191
  # @return [::Google::Cloud::BareMetalSolution::V2::NfsShare]
153
192
  # Required. The NFS share to update.
@@ -159,10 +198,45 @@ module Google
159
198
  # The list of fields to update.
160
199
  # The only currently supported fields are:
161
200
  # `labels`
201
+ # `allowed_clients`
162
202
  class UpdateNfsShareRequest
163
203
  include ::Google::Protobuf::MessageExts
164
204
  extend ::Google::Protobuf::MessageExts::ClassMethods
165
205
  end
206
+
207
+ # Message requesting rename of a server.
208
+ # @!attribute [rw] name
209
+ # @return [::String]
210
+ # Required. The `name` field is used to identify the nfsshare.
211
+ # Format: projects/\\{project}/locations/\\{location}/nfsshares/\\{nfsshare}
212
+ # @!attribute [rw] new_nfsshare_id
213
+ # @return [::String]
214
+ # Required. The new `id` of the nfsshare.
215
+ class RenameNfsShareRequest
216
+ include ::Google::Protobuf::MessageExts
217
+ extend ::Google::Protobuf::MessageExts::ClassMethods
218
+ end
219
+
220
+ # Message for creating an NFS share.
221
+ # @!attribute [rw] parent
222
+ # @return [::String]
223
+ # Required. The parent project and location.
224
+ # @!attribute [rw] nfs_share
225
+ # @return [::Google::Cloud::BareMetalSolution::V2::NfsShare]
226
+ # Required. The NfsShare to create.
227
+ class CreateNfsShareRequest
228
+ include ::Google::Protobuf::MessageExts
229
+ extend ::Google::Protobuf::MessageExts::ClassMethods
230
+ end
231
+
232
+ # Message for deleting an NFS share.
233
+ # @!attribute [rw] name
234
+ # @return [::String]
235
+ # Required. The name of the NFS share to delete.
236
+ class DeleteNfsShareRequest
237
+ include ::Google::Protobuf::MessageExts
238
+ extend ::Google::Protobuf::MessageExts::ClassMethods
239
+ end
166
240
  end
167
241
  end
168
242
  end
@@ -0,0 +1,80 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2023 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
+ # Operation System image.
25
+ # @!attribute [r] name
26
+ # @return [::String]
27
+ # Output only. OS Image's unique name.
28
+ # @!attribute [rw] code
29
+ # @return [::String]
30
+ # OS Image code.
31
+ # @!attribute [rw] description
32
+ # @return [::String]
33
+ # OS Image description.
34
+ # @!attribute [rw] applicable_instance_types
35
+ # @return [::Array<::String>]
36
+ # Instance types this image is applicable to.
37
+ # [Available
38
+ # types](https://cloud.google.com/bare-metal/docs/bms-planning#server_configurations)
39
+ # @!attribute [rw] supported_network_templates
40
+ # @return [::Array<::String>]
41
+ # Network templates that can be used with this OS Image.
42
+ class OSImage
43
+ include ::Google::Protobuf::MessageExts
44
+ extend ::Google::Protobuf::MessageExts::ClassMethods
45
+ end
46
+
47
+ # Request for getting all available OS images.
48
+ # @!attribute [rw] parent
49
+ # @return [::String]
50
+ # Required. Parent value for ListProvisioningQuotasRequest.
51
+ # @!attribute [rw] page_size
52
+ # @return [::Integer]
53
+ # Requested page size. The server might return fewer items than requested.
54
+ # If unspecified, server will pick an appropriate default.
55
+ # Notice that page_size field is not supported and won't be respected in
56
+ # the API request for now, will be updated when pagination is supported.
57
+ # @!attribute [rw] page_token
58
+ # @return [::String]
59
+ # A token identifying a page of results from the server.
60
+ class ListOSImagesRequest
61
+ include ::Google::Protobuf::MessageExts
62
+ extend ::Google::Protobuf::MessageExts::ClassMethods
63
+ end
64
+
65
+ # Request for getting all available OS images.
66
+ # @!attribute [rw] os_images
67
+ # @return [::Array<::Google::Cloud::BareMetalSolution::V2::OSImage>]
68
+ # The OS images available.
69
+ # @!attribute [rw] next_page_token
70
+ # @return [::String]
71
+ # Token to retrieve the next page of results, or empty if there are no more
72
+ # results in the list.
73
+ class ListOSImagesResponse
74
+ include ::Google::Protobuf::MessageExts
75
+ extend ::Google::Protobuf::MessageExts::ClassMethods
76
+ end
77
+ end
78
+ end
79
+ end
80
+ end