google-apis-baremetalsolution_v2 0.6.0 → 0.9.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +12 -0
- data/lib/google/apis/baremetalsolution_v2/classes.rb +834 -0
- data/lib/google/apis/baremetalsolution_v2/gem_version.rb +2 -2
- data/lib/google/apis/baremetalsolution_v2/representations.rb +336 -0
- data/lib/google/apis/baremetalsolution_v2/service.rb +350 -1
- metadata +3 -3
@@ -22,6 +22,66 @@ module Google
|
|
22
22
|
module Apis
|
23
23
|
module BaremetalsolutionV2
|
24
24
|
|
25
|
+
# Represents an 'access point' for the share.
|
26
|
+
class AllowedClient
|
27
|
+
include Google::Apis::Core::Hashable
|
28
|
+
|
29
|
+
# Allow dev flag. Which controls whether to allow creation of devices.
|
30
|
+
# Corresponds to the JSON property `allowDev`
|
31
|
+
# @return [Boolean]
|
32
|
+
attr_accessor :allow_dev
|
33
|
+
alias_method :allow_dev?, :allow_dev
|
34
|
+
|
35
|
+
# Allow the setuid flag.
|
36
|
+
# Corresponds to the JSON property `allowSuid`
|
37
|
+
# @return [Boolean]
|
38
|
+
attr_accessor :allow_suid
|
39
|
+
alias_method :allow_suid?, :allow_suid
|
40
|
+
|
41
|
+
# The subnet of IP addresses permitted to access the share.
|
42
|
+
# Corresponds to the JSON property `allowedClientsCidr`
|
43
|
+
# @return [String]
|
44
|
+
attr_accessor :allowed_clients_cidr
|
45
|
+
|
46
|
+
# Mount permissions.
|
47
|
+
# Corresponds to the JSON property `mountPermissions`
|
48
|
+
# @return [String]
|
49
|
+
attr_accessor :mount_permissions
|
50
|
+
|
51
|
+
# The network the access point sits on.
|
52
|
+
# Corresponds to the JSON property `network`
|
53
|
+
# @return [String]
|
54
|
+
attr_accessor :network
|
55
|
+
|
56
|
+
# Disable root squashing, which is a feature of NFS. Root squash is a special
|
57
|
+
# mapping of the remote superuser (root) identity when using identity
|
58
|
+
# authentication.
|
59
|
+
# Corresponds to the JSON property `noRootSquash`
|
60
|
+
# @return [Boolean]
|
61
|
+
attr_accessor :no_root_squash
|
62
|
+
alias_method :no_root_squash?, :no_root_squash
|
63
|
+
|
64
|
+
# The IP address of the share on this network.
|
65
|
+
# Corresponds to the JSON property `shareIp`
|
66
|
+
# @return [String]
|
67
|
+
attr_accessor :share_ip
|
68
|
+
|
69
|
+
def initialize(**args)
|
70
|
+
update!(**args)
|
71
|
+
end
|
72
|
+
|
73
|
+
# Update properties of this object
|
74
|
+
def update!(**args)
|
75
|
+
@allow_dev = args[:allow_dev] if args.key?(:allow_dev)
|
76
|
+
@allow_suid = args[:allow_suid] if args.key?(:allow_suid)
|
77
|
+
@allowed_clients_cidr = args[:allowed_clients_cidr] if args.key?(:allowed_clients_cidr)
|
78
|
+
@mount_permissions = args[:mount_permissions] if args.key?(:mount_permissions)
|
79
|
+
@network = args[:network] if args.key?(:network)
|
80
|
+
@no_root_squash = args[:no_root_squash] if args.key?(:no_root_squash)
|
81
|
+
@share_ip = args[:share_ip] if args.key?(:share_ip)
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
25
85
|
# A generic empty message that you can re-use to avoid defining duplicated empty
|
26
86
|
# messages in your APIs. A typical example is to use it as the request or the
|
27
87
|
# response type of an API method. For instance: service Foo ` rpc Bar(google.
|
@@ -126,6 +186,142 @@ module Google
|
|
126
186
|
end
|
127
187
|
end
|
128
188
|
|
189
|
+
# Configuration parameters for a new instance.
|
190
|
+
class InstanceConfig
|
191
|
+
include Google::Apis::Core::Hashable
|
192
|
+
|
193
|
+
# If true networks can be from different projects of the same vendor account.
|
194
|
+
# Corresponds to the JSON property `accountNetworksEnabled`
|
195
|
+
# @return [Boolean]
|
196
|
+
attr_accessor :account_networks_enabled
|
197
|
+
alias_method :account_networks_enabled?, :account_networks_enabled
|
198
|
+
|
199
|
+
# A network.
|
200
|
+
# Corresponds to the JSON property `clientNetwork`
|
201
|
+
# @return [Google::Apis::BaremetalsolutionV2::NetworkAddress]
|
202
|
+
attr_accessor :client_network
|
203
|
+
|
204
|
+
# Whether the instance should be provisioned with Hyperthreading enabled.
|
205
|
+
# Corresponds to the JSON property `hyperthreading`
|
206
|
+
# @return [Boolean]
|
207
|
+
attr_accessor :hyperthreading
|
208
|
+
alias_method :hyperthreading?, :hyperthreading
|
209
|
+
|
210
|
+
# A transient unique identifier to idenfity an instance within an
|
211
|
+
# ProvisioningConfig request.
|
212
|
+
# Corresponds to the JSON property `id`
|
213
|
+
# @return [String]
|
214
|
+
attr_accessor :id
|
215
|
+
|
216
|
+
# Instance type. [Available types](https://cloud.google.com/bare-metal/docs/bms-
|
217
|
+
# planning#server_configurations)
|
218
|
+
# Corresponds to the JSON property `instanceType`
|
219
|
+
# @return [String]
|
220
|
+
attr_accessor :instance_type
|
221
|
+
|
222
|
+
# Output only. The name of the instance config.
|
223
|
+
# Corresponds to the JSON property `name`
|
224
|
+
# @return [String]
|
225
|
+
attr_accessor :name
|
226
|
+
|
227
|
+
# OS image to initialize the instance. [Available images](https://cloud.google.
|
228
|
+
# com/bare-metal/docs/bms-planning#server_configurations)
|
229
|
+
# Corresponds to the JSON property `osImage`
|
230
|
+
# @return [String]
|
231
|
+
attr_accessor :os_image
|
232
|
+
|
233
|
+
# A network.
|
234
|
+
# Corresponds to the JSON property `privateNetwork`
|
235
|
+
# @return [Google::Apis::BaremetalsolutionV2::NetworkAddress]
|
236
|
+
attr_accessor :private_network
|
237
|
+
|
238
|
+
# User note field, it can be used by customers to add additional information for
|
239
|
+
# the BMS Ops team .
|
240
|
+
# Corresponds to the JSON property `userNote`
|
241
|
+
# @return [String]
|
242
|
+
attr_accessor :user_note
|
243
|
+
|
244
|
+
def initialize(**args)
|
245
|
+
update!(**args)
|
246
|
+
end
|
247
|
+
|
248
|
+
# Update properties of this object
|
249
|
+
def update!(**args)
|
250
|
+
@account_networks_enabled = args[:account_networks_enabled] if args.key?(:account_networks_enabled)
|
251
|
+
@client_network = args[:client_network] if args.key?(:client_network)
|
252
|
+
@hyperthreading = args[:hyperthreading] if args.key?(:hyperthreading)
|
253
|
+
@id = args[:id] if args.key?(:id)
|
254
|
+
@instance_type = args[:instance_type] if args.key?(:instance_type)
|
255
|
+
@name = args[:name] if args.key?(:name)
|
256
|
+
@os_image = args[:os_image] if args.key?(:os_image)
|
257
|
+
@private_network = args[:private_network] if args.key?(:private_network)
|
258
|
+
@user_note = args[:user_note] if args.key?(:user_note)
|
259
|
+
end
|
260
|
+
end
|
261
|
+
|
262
|
+
# A resource budget.
|
263
|
+
class InstanceQuota
|
264
|
+
include Google::Apis::Core::Hashable
|
265
|
+
|
266
|
+
# Number of machines than can be created for the given location and
|
267
|
+
# instance_type.
|
268
|
+
# Corresponds to the JSON property `availableMachineCount`
|
269
|
+
# @return [Fixnum]
|
270
|
+
attr_accessor :available_machine_count
|
271
|
+
|
272
|
+
# Instance type.
|
273
|
+
# Corresponds to the JSON property `instanceType`
|
274
|
+
# @return [String]
|
275
|
+
attr_accessor :instance_type
|
276
|
+
|
277
|
+
# Location where the quota applies.
|
278
|
+
# Corresponds to the JSON property `location`
|
279
|
+
# @return [String]
|
280
|
+
attr_accessor :location
|
281
|
+
|
282
|
+
# Output only. The name of the instance quota.
|
283
|
+
# Corresponds to the JSON property `name`
|
284
|
+
# @return [String]
|
285
|
+
attr_accessor :name
|
286
|
+
|
287
|
+
def initialize(**args)
|
288
|
+
update!(**args)
|
289
|
+
end
|
290
|
+
|
291
|
+
# Update properties of this object
|
292
|
+
def update!(**args)
|
293
|
+
@available_machine_count = args[:available_machine_count] if args.key?(:available_machine_count)
|
294
|
+
@instance_type = args[:instance_type] if args.key?(:instance_type)
|
295
|
+
@location = args[:location] if args.key?(:location)
|
296
|
+
@name = args[:name] if args.key?(:name)
|
297
|
+
end
|
298
|
+
end
|
299
|
+
|
300
|
+
# A GCP vlan attachment.
|
301
|
+
class IntakeVlanAttachment
|
302
|
+
include Google::Apis::Core::Hashable
|
303
|
+
|
304
|
+
# Identifier of the VLAN attachment.
|
305
|
+
# Corresponds to the JSON property `id`
|
306
|
+
# @return [String]
|
307
|
+
attr_accessor :id
|
308
|
+
|
309
|
+
# Attachment pairing key.
|
310
|
+
# Corresponds to the JSON property `pairingKey`
|
311
|
+
# @return [String]
|
312
|
+
attr_accessor :pairing_key
|
313
|
+
|
314
|
+
def initialize(**args)
|
315
|
+
update!(**args)
|
316
|
+
end
|
317
|
+
|
318
|
+
# Update properties of this object
|
319
|
+
def update!(**args)
|
320
|
+
@id = args[:id] if args.key?(:id)
|
321
|
+
@pairing_key = args[:pairing_key] if args.key?(:pairing_key)
|
322
|
+
end
|
323
|
+
end
|
324
|
+
|
129
325
|
# Response message for the list of servers.
|
130
326
|
class ListInstancesResponse
|
131
327
|
include Google::Apis::Core::Hashable
|
@@ -213,6 +409,25 @@ module Google
|
|
213
409
|
end
|
214
410
|
end
|
215
411
|
|
412
|
+
# Response with Networks with IPs
|
413
|
+
class ListNetworkUsageResponse
|
414
|
+
include Google::Apis::Core::Hashable
|
415
|
+
|
416
|
+
# Networks with IPs.
|
417
|
+
# Corresponds to the JSON property `networks`
|
418
|
+
# @return [Array<Google::Apis::BaremetalsolutionV2::NetworkUsage>]
|
419
|
+
attr_accessor :networks
|
420
|
+
|
421
|
+
def initialize(**args)
|
422
|
+
update!(**args)
|
423
|
+
end
|
424
|
+
|
425
|
+
# Update properties of this object
|
426
|
+
def update!(**args)
|
427
|
+
@networks = args[:networks] if args.key?(:networks)
|
428
|
+
end
|
429
|
+
end
|
430
|
+
|
216
431
|
# Response message containing the list of networks.
|
217
432
|
class ListNetworksResponse
|
218
433
|
include Google::Apis::Core::Hashable
|
@@ -244,6 +459,63 @@ module Google
|
|
244
459
|
end
|
245
460
|
end
|
246
461
|
|
462
|
+
# Response message containing the list of NFS shares.
|
463
|
+
class ListNfsSharesResponse
|
464
|
+
include Google::Apis::Core::Hashable
|
465
|
+
|
466
|
+
# A token identifying a page of results from the server.
|
467
|
+
# Corresponds to the JSON property `nextPageToken`
|
468
|
+
# @return [String]
|
469
|
+
attr_accessor :next_page_token
|
470
|
+
|
471
|
+
# The list of NFS shares.
|
472
|
+
# Corresponds to the JSON property `nfsShares`
|
473
|
+
# @return [Array<Google::Apis::BaremetalsolutionV2::NfsShare>]
|
474
|
+
attr_accessor :nfs_shares
|
475
|
+
|
476
|
+
# Locations that could not be reached.
|
477
|
+
# Corresponds to the JSON property `unreachable`
|
478
|
+
# @return [Array<String>]
|
479
|
+
attr_accessor :unreachable
|
480
|
+
|
481
|
+
def initialize(**args)
|
482
|
+
update!(**args)
|
483
|
+
end
|
484
|
+
|
485
|
+
# Update properties of this object
|
486
|
+
def update!(**args)
|
487
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
488
|
+
@nfs_shares = args[:nfs_shares] if args.key?(:nfs_shares)
|
489
|
+
@unreachable = args[:unreachable] if args.key?(:unreachable)
|
490
|
+
end
|
491
|
+
end
|
492
|
+
|
493
|
+
# Response message for the list of provisioning quotas.
|
494
|
+
class ListProvisioningQuotasResponse
|
495
|
+
include Google::Apis::Core::Hashable
|
496
|
+
|
497
|
+
# Token to retrieve the next page of results, or empty if there are no more
|
498
|
+
# results in the list.
|
499
|
+
# Corresponds to the JSON property `nextPageToken`
|
500
|
+
# @return [String]
|
501
|
+
attr_accessor :next_page_token
|
502
|
+
|
503
|
+
# The provisioning quotas registered in this project.
|
504
|
+
# Corresponds to the JSON property `provisioningQuotas`
|
505
|
+
# @return [Array<Google::Apis::BaremetalsolutionV2::ProvisioningQuota>]
|
506
|
+
attr_accessor :provisioning_quotas
|
507
|
+
|
508
|
+
def initialize(**args)
|
509
|
+
update!(**args)
|
510
|
+
end
|
511
|
+
|
512
|
+
# Update properties of this object
|
513
|
+
def update!(**args)
|
514
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
515
|
+
@provisioning_quotas = args[:provisioning_quotas] if args.key?(:provisioning_quotas)
|
516
|
+
end
|
517
|
+
end
|
518
|
+
|
247
519
|
# Response message containing the list of snapshot schedule policies.
|
248
520
|
class ListSnapshotSchedulePoliciesResponse
|
249
521
|
include Google::Apis::Core::Hashable
|
@@ -455,6 +727,31 @@ module Google
|
|
455
727
|
end
|
456
728
|
end
|
457
729
|
|
730
|
+
# A LUN(Logical Unit Number) range.
|
731
|
+
class LunRange
|
732
|
+
include Google::Apis::Core::Hashable
|
733
|
+
|
734
|
+
# Number of LUNs to create.
|
735
|
+
# Corresponds to the JSON property `quantity`
|
736
|
+
# @return [Fixnum]
|
737
|
+
attr_accessor :quantity
|
738
|
+
|
739
|
+
# The requested size of each LUN, in GB.
|
740
|
+
# Corresponds to the JSON property `sizeGb`
|
741
|
+
# @return [Fixnum]
|
742
|
+
attr_accessor :size_gb
|
743
|
+
|
744
|
+
def initialize(**args)
|
745
|
+
update!(**args)
|
746
|
+
end
|
747
|
+
|
748
|
+
# Update properties of this object
|
749
|
+
def update!(**args)
|
750
|
+
@quantity = args[:quantity] if args.key?(:quantity)
|
751
|
+
@size_gb = args[:size_gb] if args.key?(:size_gb)
|
752
|
+
end
|
753
|
+
end
|
754
|
+
|
458
755
|
# A Network.
|
459
756
|
class Network
|
460
757
|
include Google::Apis::Core::Hashable
|
@@ -537,6 +834,250 @@ module Google
|
|
537
834
|
end
|
538
835
|
end
|
539
836
|
|
837
|
+
# A network.
|
838
|
+
class NetworkAddress
|
839
|
+
include Google::Apis::Core::Hashable
|
840
|
+
|
841
|
+
# IPv4 address to be assigned to the server.
|
842
|
+
# Corresponds to the JSON property `address`
|
843
|
+
# @return [String]
|
844
|
+
attr_accessor :address
|
845
|
+
|
846
|
+
# Name of the existing network to use.
|
847
|
+
# Corresponds to the JSON property `existingNetworkId`
|
848
|
+
# @return [String]
|
849
|
+
attr_accessor :existing_network_id
|
850
|
+
|
851
|
+
# Id of the network to use, within the same ProvisioningConfig request.
|
852
|
+
# Corresponds to the JSON property `networkId`
|
853
|
+
# @return [String]
|
854
|
+
attr_accessor :network_id
|
855
|
+
|
856
|
+
def initialize(**args)
|
857
|
+
update!(**args)
|
858
|
+
end
|
859
|
+
|
860
|
+
# Update properties of this object
|
861
|
+
def update!(**args)
|
862
|
+
@address = args[:address] if args.key?(:address)
|
863
|
+
@existing_network_id = args[:existing_network_id] if args.key?(:existing_network_id)
|
864
|
+
@network_id = args[:network_id] if args.key?(:network_id)
|
865
|
+
end
|
866
|
+
end
|
867
|
+
|
868
|
+
# Configuration parameters for a new network.
|
869
|
+
class NetworkConfig
|
870
|
+
include Google::Apis::Core::Hashable
|
871
|
+
|
872
|
+
# Interconnect bandwidth. Set only when type is CLIENT.
|
873
|
+
# Corresponds to the JSON property `bandwidth`
|
874
|
+
# @return [String]
|
875
|
+
attr_accessor :bandwidth
|
876
|
+
|
877
|
+
# CIDR range of the network.
|
878
|
+
# Corresponds to the JSON property `cidr`
|
879
|
+
# @return [String]
|
880
|
+
attr_accessor :cidr
|
881
|
+
|
882
|
+
# The GCP service of the network. Available gcp_service are in https://cloud.
|
883
|
+
# google.com/bare-metal/docs/bms-planning.
|
884
|
+
# Corresponds to the JSON property `gcpService`
|
885
|
+
# @return [String]
|
886
|
+
attr_accessor :gcp_service
|
887
|
+
|
888
|
+
# A transient unique identifier to identify a volume within an
|
889
|
+
# ProvisioningConfig request.
|
890
|
+
# Corresponds to the JSON property `id`
|
891
|
+
# @return [String]
|
892
|
+
attr_accessor :id
|
893
|
+
|
894
|
+
# Output only. The name of the network config.
|
895
|
+
# Corresponds to the JSON property `name`
|
896
|
+
# @return [String]
|
897
|
+
attr_accessor :name
|
898
|
+
|
899
|
+
# Service CIDR, if any.
|
900
|
+
# Corresponds to the JSON property `serviceCidr`
|
901
|
+
# @return [String]
|
902
|
+
attr_accessor :service_cidr
|
903
|
+
|
904
|
+
# The type of this network, either Client or Private.
|
905
|
+
# Corresponds to the JSON property `type`
|
906
|
+
# @return [String]
|
907
|
+
attr_accessor :type
|
908
|
+
|
909
|
+
# User note field, it can be used by customers to add additional information for
|
910
|
+
# the BMS Ops team (b/194021617).
|
911
|
+
# Corresponds to the JSON property `userNote`
|
912
|
+
# @return [String]
|
913
|
+
attr_accessor :user_note
|
914
|
+
|
915
|
+
# List of VLAN attachments. As of now there are always 2 attachments, but it is
|
916
|
+
# going to change in the future (multi vlan).
|
917
|
+
# Corresponds to the JSON property `vlanAttachments`
|
918
|
+
# @return [Array<Google::Apis::BaremetalsolutionV2::IntakeVlanAttachment>]
|
919
|
+
attr_accessor :vlan_attachments
|
920
|
+
|
921
|
+
# Whether the VLAN attachment pair is located in the same project.
|
922
|
+
# Corresponds to the JSON property `vlanSameProject`
|
923
|
+
# @return [Boolean]
|
924
|
+
attr_accessor :vlan_same_project
|
925
|
+
alias_method :vlan_same_project?, :vlan_same_project
|
926
|
+
|
927
|
+
def initialize(**args)
|
928
|
+
update!(**args)
|
929
|
+
end
|
930
|
+
|
931
|
+
# Update properties of this object
|
932
|
+
def update!(**args)
|
933
|
+
@bandwidth = args[:bandwidth] if args.key?(:bandwidth)
|
934
|
+
@cidr = args[:cidr] if args.key?(:cidr)
|
935
|
+
@gcp_service = args[:gcp_service] if args.key?(:gcp_service)
|
936
|
+
@id = args[:id] if args.key?(:id)
|
937
|
+
@name = args[:name] if args.key?(:name)
|
938
|
+
@service_cidr = args[:service_cidr] if args.key?(:service_cidr)
|
939
|
+
@type = args[:type] if args.key?(:type)
|
940
|
+
@user_note = args[:user_note] if args.key?(:user_note)
|
941
|
+
@vlan_attachments = args[:vlan_attachments] if args.key?(:vlan_attachments)
|
942
|
+
@vlan_same_project = args[:vlan_same_project] if args.key?(:vlan_same_project)
|
943
|
+
end
|
944
|
+
end
|
945
|
+
|
946
|
+
# Network with all used IP addresses.
|
947
|
+
class NetworkUsage
|
948
|
+
include Google::Apis::Core::Hashable
|
949
|
+
|
950
|
+
# A Network.
|
951
|
+
# Corresponds to the JSON property `network`
|
952
|
+
# @return [Google::Apis::BaremetalsolutionV2::Network]
|
953
|
+
attr_accessor :network
|
954
|
+
|
955
|
+
# All used IP addresses in this network.
|
956
|
+
# Corresponds to the JSON property `usedIps`
|
957
|
+
# @return [Array<String>]
|
958
|
+
attr_accessor :used_ips
|
959
|
+
|
960
|
+
def initialize(**args)
|
961
|
+
update!(**args)
|
962
|
+
end
|
963
|
+
|
964
|
+
# Update properties of this object
|
965
|
+
def update!(**args)
|
966
|
+
@network = args[:network] if args.key?(:network)
|
967
|
+
@used_ips = args[:used_ips] if args.key?(:used_ips)
|
968
|
+
end
|
969
|
+
end
|
970
|
+
|
971
|
+
# A NFS export entry.
|
972
|
+
class NfsExport
|
973
|
+
include Google::Apis::Core::Hashable
|
974
|
+
|
975
|
+
# Allow dev flag in NfsShare AllowedClientsRequest.
|
976
|
+
# Corresponds to the JSON property `allowDev`
|
977
|
+
# @return [Boolean]
|
978
|
+
attr_accessor :allow_dev
|
979
|
+
alias_method :allow_dev?, :allow_dev
|
980
|
+
|
981
|
+
# Allow the setuid flag.
|
982
|
+
# Corresponds to the JSON property `allowSuid`
|
983
|
+
# @return [Boolean]
|
984
|
+
attr_accessor :allow_suid
|
985
|
+
alias_method :allow_suid?, :allow_suid
|
986
|
+
|
987
|
+
# A CIDR range.
|
988
|
+
# Corresponds to the JSON property `cidr`
|
989
|
+
# @return [String]
|
990
|
+
attr_accessor :cidr
|
991
|
+
|
992
|
+
# Either a single machine, identified by an ID, or a comma-separated list of
|
993
|
+
# machine IDs.
|
994
|
+
# Corresponds to the JSON property `machineId`
|
995
|
+
# @return [String]
|
996
|
+
attr_accessor :machine_id
|
997
|
+
|
998
|
+
# Network to use to publish the export.
|
999
|
+
# Corresponds to the JSON property `networkId`
|
1000
|
+
# @return [String]
|
1001
|
+
attr_accessor :network_id
|
1002
|
+
|
1003
|
+
# Disable root squashing, which is a feature of NFS. Root squash is a special
|
1004
|
+
# mapping of the remote superuser (root) identity when using identity
|
1005
|
+
# authentication.
|
1006
|
+
# Corresponds to the JSON property `noRootSquash`
|
1007
|
+
# @return [Boolean]
|
1008
|
+
attr_accessor :no_root_squash
|
1009
|
+
alias_method :no_root_squash?, :no_root_squash
|
1010
|
+
|
1011
|
+
# Export permissions.
|
1012
|
+
# Corresponds to the JSON property `permissions`
|
1013
|
+
# @return [String]
|
1014
|
+
attr_accessor :permissions
|
1015
|
+
|
1016
|
+
def initialize(**args)
|
1017
|
+
update!(**args)
|
1018
|
+
end
|
1019
|
+
|
1020
|
+
# Update properties of this object
|
1021
|
+
def update!(**args)
|
1022
|
+
@allow_dev = args[:allow_dev] if args.key?(:allow_dev)
|
1023
|
+
@allow_suid = args[:allow_suid] if args.key?(:allow_suid)
|
1024
|
+
@cidr = args[:cidr] if args.key?(:cidr)
|
1025
|
+
@machine_id = args[:machine_id] if args.key?(:machine_id)
|
1026
|
+
@network_id = args[:network_id] if args.key?(:network_id)
|
1027
|
+
@no_root_squash = args[:no_root_squash] if args.key?(:no_root_squash)
|
1028
|
+
@permissions = args[:permissions] if args.key?(:permissions)
|
1029
|
+
end
|
1030
|
+
end
|
1031
|
+
|
1032
|
+
# An NFS share.
|
1033
|
+
class NfsShare
|
1034
|
+
include Google::Apis::Core::Hashable
|
1035
|
+
|
1036
|
+
# List of allowed access points.
|
1037
|
+
# Corresponds to the JSON property `allowedClients`
|
1038
|
+
# @return [Array<Google::Apis::BaremetalsolutionV2::AllowedClient>]
|
1039
|
+
attr_accessor :allowed_clients
|
1040
|
+
|
1041
|
+
# Labels as key value pairs.
|
1042
|
+
# Corresponds to the JSON property `labels`
|
1043
|
+
# @return [Hash<String,String>]
|
1044
|
+
attr_accessor :labels
|
1045
|
+
|
1046
|
+
# Output only. The name of the NFS share.
|
1047
|
+
# Corresponds to the JSON property `name`
|
1048
|
+
# @return [String]
|
1049
|
+
attr_accessor :name
|
1050
|
+
|
1051
|
+
# Output only. An identifier for the NFS share, generated by the backend.
|
1052
|
+
# Corresponds to the JSON property `nfsShareId`
|
1053
|
+
# @return [String]
|
1054
|
+
attr_accessor :nfs_share_id
|
1055
|
+
|
1056
|
+
# The state of the NFS share.
|
1057
|
+
# Corresponds to the JSON property `state`
|
1058
|
+
# @return [String]
|
1059
|
+
attr_accessor :state
|
1060
|
+
|
1061
|
+
# The volume containing the share.
|
1062
|
+
# Corresponds to the JSON property `volume`
|
1063
|
+
# @return [String]
|
1064
|
+
attr_accessor :volume
|
1065
|
+
|
1066
|
+
def initialize(**args)
|
1067
|
+
update!(**args)
|
1068
|
+
end
|
1069
|
+
|
1070
|
+
# Update properties of this object
|
1071
|
+
def update!(**args)
|
1072
|
+
@allowed_clients = args[:allowed_clients] if args.key?(:allowed_clients)
|
1073
|
+
@labels = args[:labels] if args.key?(:labels)
|
1074
|
+
@name = args[:name] if args.key?(:name)
|
1075
|
+
@nfs_share_id = args[:nfs_share_id] if args.key?(:nfs_share_id)
|
1076
|
+
@state = args[:state] if args.key?(:state)
|
1077
|
+
@volume = args[:volume] if args.key?(:volume)
|
1078
|
+
end
|
1079
|
+
end
|
1080
|
+
|
540
1081
|
# This resource represents a long-running operation that is the result of a
|
541
1082
|
# network API call.
|
542
1083
|
class Operation
|
@@ -599,6 +1140,137 @@ module Google
|
|
599
1140
|
end
|
600
1141
|
end
|
601
1142
|
|
1143
|
+
# A provisioning configuration.
|
1144
|
+
class ProvisioningConfig
|
1145
|
+
include Google::Apis::Core::Hashable
|
1146
|
+
|
1147
|
+
# Output only. URI to Cloud Console UI view of this provisioning config.
|
1148
|
+
# Corresponds to the JSON property `cloudConsoleUri`
|
1149
|
+
# @return [String]
|
1150
|
+
attr_accessor :cloud_console_uri
|
1151
|
+
|
1152
|
+
# Email provided to send a confirmation with provisioning config to. Deprecated
|
1153
|
+
# in favour of email field in request messages.
|
1154
|
+
# Corresponds to the JSON property `email`
|
1155
|
+
# @return [String]
|
1156
|
+
attr_accessor :email
|
1157
|
+
|
1158
|
+
# A service account to enable customers to access instance credentials upon
|
1159
|
+
# handover.
|
1160
|
+
# Corresponds to the JSON property `handoverServiceAccount`
|
1161
|
+
# @return [String]
|
1162
|
+
attr_accessor :handover_service_account
|
1163
|
+
|
1164
|
+
# Instances to be created.
|
1165
|
+
# Corresponds to the JSON property `instances`
|
1166
|
+
# @return [Array<Google::Apis::BaremetalsolutionV2::InstanceConfig>]
|
1167
|
+
attr_accessor :instances
|
1168
|
+
|
1169
|
+
# Optional. Location name of this ProvisioningConfig. It is optional only for
|
1170
|
+
# Intake UI transition period.
|
1171
|
+
# Corresponds to the JSON property `location`
|
1172
|
+
# @return [String]
|
1173
|
+
attr_accessor :location
|
1174
|
+
|
1175
|
+
# Output only. The name of the provisioning config.
|
1176
|
+
# Corresponds to the JSON property `name`
|
1177
|
+
# @return [String]
|
1178
|
+
attr_accessor :name
|
1179
|
+
|
1180
|
+
# Networks to be created.
|
1181
|
+
# Corresponds to the JSON property `networks`
|
1182
|
+
# @return [Array<Google::Apis::BaremetalsolutionV2::NetworkConfig>]
|
1183
|
+
attr_accessor :networks
|
1184
|
+
|
1185
|
+
# Output only. State of ProvisioningConfig.
|
1186
|
+
# Corresponds to the JSON property `state`
|
1187
|
+
# @return [String]
|
1188
|
+
attr_accessor :state
|
1189
|
+
|
1190
|
+
# A generated buganizer id to track provisioning request.
|
1191
|
+
# Corresponds to the JSON property `ticketId`
|
1192
|
+
# @return [String]
|
1193
|
+
attr_accessor :ticket_id
|
1194
|
+
|
1195
|
+
# Output only. Last update timestamp.
|
1196
|
+
# Corresponds to the JSON property `updateTime`
|
1197
|
+
# @return [String]
|
1198
|
+
attr_accessor :update_time
|
1199
|
+
|
1200
|
+
# Volumes to be created.
|
1201
|
+
# Corresponds to the JSON property `volumes`
|
1202
|
+
# @return [Array<Google::Apis::BaremetalsolutionV2::VolumeConfig>]
|
1203
|
+
attr_accessor :volumes
|
1204
|
+
|
1205
|
+
def initialize(**args)
|
1206
|
+
update!(**args)
|
1207
|
+
end
|
1208
|
+
|
1209
|
+
# Update properties of this object
|
1210
|
+
def update!(**args)
|
1211
|
+
@cloud_console_uri = args[:cloud_console_uri] if args.key?(:cloud_console_uri)
|
1212
|
+
@email = args[:email] if args.key?(:email)
|
1213
|
+
@handover_service_account = args[:handover_service_account] if args.key?(:handover_service_account)
|
1214
|
+
@instances = args[:instances] if args.key?(:instances)
|
1215
|
+
@location = args[:location] if args.key?(:location)
|
1216
|
+
@name = args[:name] if args.key?(:name)
|
1217
|
+
@networks = args[:networks] if args.key?(:networks)
|
1218
|
+
@state = args[:state] if args.key?(:state)
|
1219
|
+
@ticket_id = args[:ticket_id] if args.key?(:ticket_id)
|
1220
|
+
@update_time = args[:update_time] if args.key?(:update_time)
|
1221
|
+
@volumes = args[:volumes] if args.key?(:volumes)
|
1222
|
+
end
|
1223
|
+
end
|
1224
|
+
|
1225
|
+
# A provisioning quota for a given project.
|
1226
|
+
class ProvisioningQuota
|
1227
|
+
include Google::Apis::Core::Hashable
|
1228
|
+
|
1229
|
+
# The asset type of this provisioning quota.
|
1230
|
+
# Corresponds to the JSON property `assetType`
|
1231
|
+
# @return [String]
|
1232
|
+
attr_accessor :asset_type
|
1233
|
+
|
1234
|
+
# The available count of the provisioning quota.
|
1235
|
+
# Corresponds to the JSON property `availableCount`
|
1236
|
+
# @return [Fixnum]
|
1237
|
+
attr_accessor :available_count
|
1238
|
+
|
1239
|
+
# The gcp service of the provisioning quota.
|
1240
|
+
# Corresponds to the JSON property `gcpService`
|
1241
|
+
# @return [String]
|
1242
|
+
attr_accessor :gcp_service
|
1243
|
+
|
1244
|
+
# A resource budget.
|
1245
|
+
# Corresponds to the JSON property `instanceQuota`
|
1246
|
+
# @return [Google::Apis::BaremetalsolutionV2::InstanceQuota]
|
1247
|
+
attr_accessor :instance_quota
|
1248
|
+
|
1249
|
+
# The specific location of the provisioining quota.
|
1250
|
+
# Corresponds to the JSON property `location`
|
1251
|
+
# @return [String]
|
1252
|
+
attr_accessor :location
|
1253
|
+
|
1254
|
+
# Output only. The name of the provisioning quota.
|
1255
|
+
# Corresponds to the JSON property `name`
|
1256
|
+
# @return [String]
|
1257
|
+
attr_accessor :name
|
1258
|
+
|
1259
|
+
def initialize(**args)
|
1260
|
+
update!(**args)
|
1261
|
+
end
|
1262
|
+
|
1263
|
+
# Update properties of this object
|
1264
|
+
def update!(**args)
|
1265
|
+
@asset_type = args[:asset_type] if args.key?(:asset_type)
|
1266
|
+
@available_count = args[:available_count] if args.key?(:available_count)
|
1267
|
+
@gcp_service = args[:gcp_service] if args.key?(:gcp_service)
|
1268
|
+
@instance_quota = args[:instance_quota] if args.key?(:instance_quota)
|
1269
|
+
@location = args[:location] if args.key?(:location)
|
1270
|
+
@name = args[:name] if args.key?(:name)
|
1271
|
+
end
|
1272
|
+
end
|
1273
|
+
|
602
1274
|
# QOS policy parameters.
|
603
1275
|
class QosPolicy
|
604
1276
|
include Google::Apis::Core::Hashable
|
@@ -684,6 +1356,14 @@ module Google
|
|
684
1356
|
# @return [Fixnum]
|
685
1357
|
attr_accessor :reserved_space_gib
|
686
1358
|
|
1359
|
+
# Percent of the total Volume size reserved for snapshot copies. Enabling
|
1360
|
+
# snapshots requires reserving 20% or more of the storage volume space for
|
1361
|
+
# snapshots. Maximum reserved space for snapshots is 40%. Setting this field
|
1362
|
+
# will effectively set snapshot_enabled to true.
|
1363
|
+
# Corresponds to the JSON property `reservedSpacePercent`
|
1364
|
+
# @return [Fixnum]
|
1365
|
+
attr_accessor :reserved_space_percent
|
1366
|
+
|
687
1367
|
# The amount, in GiB, of available space in this storage volume's reserved
|
688
1368
|
# snapshot space.
|
689
1369
|
# Corresponds to the JSON property `reservedSpaceRemainingGib`
|
@@ -704,6 +1384,7 @@ module Google
|
|
704
1384
|
# Update properties of this object
|
705
1385
|
def update!(**args)
|
706
1386
|
@reserved_space_gib = args[:reserved_space_gib] if args.key?(:reserved_space_gib)
|
1387
|
+
@reserved_space_percent = args[:reserved_space_percent] if args.key?(:reserved_space_percent)
|
707
1388
|
@reserved_space_remaining_gib = args[:reserved_space_remaining_gib] if args.key?(:reserved_space_remaining_gib)
|
708
1389
|
@reserved_space_used_percent = args[:reserved_space_used_percent] if args.key?(:reserved_space_used_percent)
|
709
1390
|
end
|
@@ -739,6 +1420,11 @@ module Google
|
|
739
1420
|
# @return [Array<Google::Apis::BaremetalsolutionV2::Schedule>]
|
740
1421
|
attr_accessor :schedules
|
741
1422
|
|
1423
|
+
# The state of the snapshot schedule policy.
|
1424
|
+
# Corresponds to the JSON property `state`
|
1425
|
+
# @return [String]
|
1426
|
+
attr_accessor :state
|
1427
|
+
|
742
1428
|
def initialize(**args)
|
743
1429
|
update!(**args)
|
744
1430
|
end
|
@@ -750,6 +1436,20 @@ module Google
|
|
750
1436
|
@labels = args[:labels] if args.key?(:labels)
|
751
1437
|
@name = args[:name] if args.key?(:name)
|
752
1438
|
@schedules = args[:schedules] if args.key?(:schedules)
|
1439
|
+
@state = args[:state] if args.key?(:state)
|
1440
|
+
end
|
1441
|
+
end
|
1442
|
+
|
1443
|
+
# Message requesting to start a server.
|
1444
|
+
class StartInstanceRequest
|
1445
|
+
include Google::Apis::Core::Hashable
|
1446
|
+
|
1447
|
+
def initialize(**args)
|
1448
|
+
update!(**args)
|
1449
|
+
end
|
1450
|
+
|
1451
|
+
# Update properties of this object
|
1452
|
+
def update!(**args)
|
753
1453
|
end
|
754
1454
|
end
|
755
1455
|
|
@@ -792,6 +1492,50 @@ module Google
|
|
792
1492
|
end
|
793
1493
|
end
|
794
1494
|
|
1495
|
+
# Request for SubmitProvisioningConfig.
|
1496
|
+
class SubmitProvisioningConfigRequest
|
1497
|
+
include Google::Apis::Core::Hashable
|
1498
|
+
|
1499
|
+
# Optional. Email provided to send a confirmation with provisioning config to.
|
1500
|
+
# Corresponds to the JSON property `email`
|
1501
|
+
# @return [String]
|
1502
|
+
attr_accessor :email
|
1503
|
+
|
1504
|
+
# A provisioning configuration.
|
1505
|
+
# Corresponds to the JSON property `provisioningConfig`
|
1506
|
+
# @return [Google::Apis::BaremetalsolutionV2::ProvisioningConfig]
|
1507
|
+
attr_accessor :provisioning_config
|
1508
|
+
|
1509
|
+
def initialize(**args)
|
1510
|
+
update!(**args)
|
1511
|
+
end
|
1512
|
+
|
1513
|
+
# Update properties of this object
|
1514
|
+
def update!(**args)
|
1515
|
+
@email = args[:email] if args.key?(:email)
|
1516
|
+
@provisioning_config = args[:provisioning_config] if args.key?(:provisioning_config)
|
1517
|
+
end
|
1518
|
+
end
|
1519
|
+
|
1520
|
+
# Response for SubmitProvisioningConfig.
|
1521
|
+
class SubmitProvisioningConfigResponse
|
1522
|
+
include Google::Apis::Core::Hashable
|
1523
|
+
|
1524
|
+
# A provisioning configuration.
|
1525
|
+
# Corresponds to the JSON property `provisioningConfig`
|
1526
|
+
# @return [Google::Apis::BaremetalsolutionV2::ProvisioningConfig]
|
1527
|
+
attr_accessor :provisioning_config
|
1528
|
+
|
1529
|
+
def initialize(**args)
|
1530
|
+
update!(**args)
|
1531
|
+
end
|
1532
|
+
|
1533
|
+
# Update properties of this object
|
1534
|
+
def update!(**args)
|
1535
|
+
@provisioning_config = args[:provisioning_config] if args.key?(:provisioning_config)
|
1536
|
+
end
|
1537
|
+
end
|
1538
|
+
|
795
1539
|
# A network VRF.
|
796
1540
|
class Vrf
|
797
1541
|
include Google::Apis::Core::Hashable
|
@@ -911,6 +1655,12 @@ module Google
|
|
911
1655
|
# @return [String]
|
912
1656
|
attr_accessor :snapshot_auto_delete_behavior
|
913
1657
|
|
1658
|
+
# Whether snapshots are enabled.
|
1659
|
+
# Corresponds to the JSON property `snapshotEnabled`
|
1660
|
+
# @return [Boolean]
|
1661
|
+
attr_accessor :snapshot_enabled
|
1662
|
+
alias_method :snapshot_enabled?, :snapshot_enabled
|
1663
|
+
|
914
1664
|
# Details about snapshot space reservation and usage on the storage volume.
|
915
1665
|
# Corresponds to the JSON property `snapshotReservationDetail`
|
916
1666
|
# @return [Google::Apis::BaremetalsolutionV2::SnapshotReservationDetail]
|
@@ -945,6 +1695,7 @@ module Google
|
|
945
1695
|
@remaining_space_gib = args[:remaining_space_gib] if args.key?(:remaining_space_gib)
|
946
1696
|
@requested_size_gib = args[:requested_size_gib] if args.key?(:requested_size_gib)
|
947
1697
|
@snapshot_auto_delete_behavior = args[:snapshot_auto_delete_behavior] if args.key?(:snapshot_auto_delete_behavior)
|
1698
|
+
@snapshot_enabled = args[:snapshot_enabled] if args.key?(:snapshot_enabled)
|
948
1699
|
@snapshot_reservation_detail = args[:snapshot_reservation_detail] if args.key?(:snapshot_reservation_detail)
|
949
1700
|
@snapshot_schedule_policy = args[:snapshot_schedule_policy] if args.key?(:snapshot_schedule_policy)
|
950
1701
|
@state = args[:state] if args.key?(:state)
|
@@ -952,6 +1703,89 @@ module Google
|
|
952
1703
|
end
|
953
1704
|
end
|
954
1705
|
|
1706
|
+
# Configuration parameters for a new volume.
|
1707
|
+
class VolumeConfig
|
1708
|
+
include Google::Apis::Core::Hashable
|
1709
|
+
|
1710
|
+
# The GCP service of the storage volume. Available gcp_service are in https://
|
1711
|
+
# cloud.google.com/bare-metal/docs/bms-planning.
|
1712
|
+
# Corresponds to the JSON property `gcpService`
|
1713
|
+
# @return [String]
|
1714
|
+
attr_accessor :gcp_service
|
1715
|
+
|
1716
|
+
# A transient unique identifier to identify a volume within an
|
1717
|
+
# ProvisioningConfig request.
|
1718
|
+
# Corresponds to the JSON property `id`
|
1719
|
+
# @return [String]
|
1720
|
+
attr_accessor :id
|
1721
|
+
|
1722
|
+
# LUN ranges to be configured. Set only when protocol is PROTOCOL_FC.
|
1723
|
+
# Corresponds to the JSON property `lunRanges`
|
1724
|
+
# @return [Array<Google::Apis::BaremetalsolutionV2::LunRange>]
|
1725
|
+
attr_accessor :lun_ranges
|
1726
|
+
|
1727
|
+
# Machine ids connected to this volume. Set only when protocol is PROTOCOL_FC.
|
1728
|
+
# Corresponds to the JSON property `machineIds`
|
1729
|
+
# @return [Array<String>]
|
1730
|
+
attr_accessor :machine_ids
|
1731
|
+
|
1732
|
+
# Output only. The name of the volume config.
|
1733
|
+
# Corresponds to the JSON property `name`
|
1734
|
+
# @return [String]
|
1735
|
+
attr_accessor :name
|
1736
|
+
|
1737
|
+
# NFS exports. Set only when protocol is PROTOCOL_NFS.
|
1738
|
+
# Corresponds to the JSON property `nfsExports`
|
1739
|
+
# @return [Array<Google::Apis::BaremetalsolutionV2::NfsExport>]
|
1740
|
+
attr_accessor :nfs_exports
|
1741
|
+
|
1742
|
+
# Volume protocol.
|
1743
|
+
# Corresponds to the JSON property `protocol`
|
1744
|
+
# @return [String]
|
1745
|
+
attr_accessor :protocol
|
1746
|
+
|
1747
|
+
# The requested size of this volume, in GB.
|
1748
|
+
# Corresponds to the JSON property `sizeGb`
|
1749
|
+
# @return [Fixnum]
|
1750
|
+
attr_accessor :size_gb
|
1751
|
+
|
1752
|
+
# Whether snapshots should be enabled.
|
1753
|
+
# Corresponds to the JSON property `snapshotsEnabled`
|
1754
|
+
# @return [Boolean]
|
1755
|
+
attr_accessor :snapshots_enabled
|
1756
|
+
alias_method :snapshots_enabled?, :snapshots_enabled
|
1757
|
+
|
1758
|
+
# The type of this Volume.
|
1759
|
+
# Corresponds to the JSON property `type`
|
1760
|
+
# @return [String]
|
1761
|
+
attr_accessor :type
|
1762
|
+
|
1763
|
+
# User note field, it can be used by customers to add additional information for
|
1764
|
+
# the BMS Ops team (b/194021617).
|
1765
|
+
# Corresponds to the JSON property `userNote`
|
1766
|
+
# @return [String]
|
1767
|
+
attr_accessor :user_note
|
1768
|
+
|
1769
|
+
def initialize(**args)
|
1770
|
+
update!(**args)
|
1771
|
+
end
|
1772
|
+
|
1773
|
+
# Update properties of this object
|
1774
|
+
def update!(**args)
|
1775
|
+
@gcp_service = args[:gcp_service] if args.key?(:gcp_service)
|
1776
|
+
@id = args[:id] if args.key?(:id)
|
1777
|
+
@lun_ranges = args[:lun_ranges] if args.key?(:lun_ranges)
|
1778
|
+
@machine_ids = args[:machine_ids] if args.key?(:machine_ids)
|
1779
|
+
@name = args[:name] if args.key?(:name)
|
1780
|
+
@nfs_exports = args[:nfs_exports] if args.key?(:nfs_exports)
|
1781
|
+
@protocol = args[:protocol] if args.key?(:protocol)
|
1782
|
+
@size_gb = args[:size_gb] if args.key?(:size_gb)
|
1783
|
+
@snapshots_enabled = args[:snapshots_enabled] if args.key?(:snapshots_enabled)
|
1784
|
+
@type = args[:type] if args.key?(:type)
|
1785
|
+
@user_note = args[:user_note] if args.key?(:user_note)
|
1786
|
+
end
|
1787
|
+
end
|
1788
|
+
|
955
1789
|
# Snapshot registered for a given storage volume.
|
956
1790
|
class VolumeSnapshot
|
957
1791
|
include Google::Apis::Core::Hashable
|