google-cloud-bare_metal_solution-v2 0.4.1 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
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