google-apis-baremetalsolution_v2 0.6.0 → 0.7.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 +4 -0
- data/lib/google/apis/baremetalsolution_v2/classes.rb +758 -0
- data/lib/google/apis/baremetalsolution_v2/gem_version.rb +2 -2
- data/lib/google/apis/baremetalsolution_v2/representations.rb +325 -0
- data/lib/google/apis/baremetalsolution_v2/service.rb +244 -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,135 @@ 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
|
+
# A network.
|
194
|
+
# Corresponds to the JSON property `clientNetwork`
|
195
|
+
# @return [Google::Apis::BaremetalsolutionV2::NetworkAddress]
|
196
|
+
attr_accessor :client_network
|
197
|
+
|
198
|
+
# Whether the instance should be provisioned with Hyperthreading enabled.
|
199
|
+
# Corresponds to the JSON property `hyperthreading`
|
200
|
+
# @return [Boolean]
|
201
|
+
attr_accessor :hyperthreading
|
202
|
+
alias_method :hyperthreading?, :hyperthreading
|
203
|
+
|
204
|
+
# A transient unique identifier to idenfity an instance within an
|
205
|
+
# ProvisioningConfig request.
|
206
|
+
# Corresponds to the JSON property `id`
|
207
|
+
# @return [String]
|
208
|
+
attr_accessor :id
|
209
|
+
|
210
|
+
# Instance type. [Available types](https://cloud.google.com/bare-metal/docs/bms-
|
211
|
+
# planning#server_configurations)
|
212
|
+
# Corresponds to the JSON property `instanceType`
|
213
|
+
# @return [String]
|
214
|
+
attr_accessor :instance_type
|
215
|
+
|
216
|
+
# Output only. The name of the instance config.
|
217
|
+
# Corresponds to the JSON property `name`
|
218
|
+
# @return [String]
|
219
|
+
attr_accessor :name
|
220
|
+
|
221
|
+
# OS image to initialize the instance. [Available images](https://cloud.google.
|
222
|
+
# com/bare-metal/docs/bms-planning#server_configurations)
|
223
|
+
# Corresponds to the JSON property `osImage`
|
224
|
+
# @return [String]
|
225
|
+
attr_accessor :os_image
|
226
|
+
|
227
|
+
# A network.
|
228
|
+
# Corresponds to the JSON property `privateNetwork`
|
229
|
+
# @return [Google::Apis::BaremetalsolutionV2::NetworkAddress]
|
230
|
+
attr_accessor :private_network
|
231
|
+
|
232
|
+
# User note field, it can be used by customers to add additional information for
|
233
|
+
# the BMS Ops team .
|
234
|
+
# Corresponds to the JSON property `userNote`
|
235
|
+
# @return [String]
|
236
|
+
attr_accessor :user_note
|
237
|
+
|
238
|
+
def initialize(**args)
|
239
|
+
update!(**args)
|
240
|
+
end
|
241
|
+
|
242
|
+
# Update properties of this object
|
243
|
+
def update!(**args)
|
244
|
+
@client_network = args[:client_network] if args.key?(:client_network)
|
245
|
+
@hyperthreading = args[:hyperthreading] if args.key?(:hyperthreading)
|
246
|
+
@id = args[:id] if args.key?(:id)
|
247
|
+
@instance_type = args[:instance_type] if args.key?(:instance_type)
|
248
|
+
@name = args[:name] if args.key?(:name)
|
249
|
+
@os_image = args[:os_image] if args.key?(:os_image)
|
250
|
+
@private_network = args[:private_network] if args.key?(:private_network)
|
251
|
+
@user_note = args[:user_note] if args.key?(:user_note)
|
252
|
+
end
|
253
|
+
end
|
254
|
+
|
255
|
+
# A resource budget.
|
256
|
+
class InstanceQuota
|
257
|
+
include Google::Apis::Core::Hashable
|
258
|
+
|
259
|
+
# Number of machines than can be created for the given location and
|
260
|
+
# instance_type.
|
261
|
+
# Corresponds to the JSON property `availableMachineCount`
|
262
|
+
# @return [Fixnum]
|
263
|
+
attr_accessor :available_machine_count
|
264
|
+
|
265
|
+
# Instance type.
|
266
|
+
# Corresponds to the JSON property `instanceType`
|
267
|
+
# @return [String]
|
268
|
+
attr_accessor :instance_type
|
269
|
+
|
270
|
+
# Location where the quota applies.
|
271
|
+
# Corresponds to the JSON property `location`
|
272
|
+
# @return [String]
|
273
|
+
attr_accessor :location
|
274
|
+
|
275
|
+
# Output only. The name of the instance quota.
|
276
|
+
# Corresponds to the JSON property `name`
|
277
|
+
# @return [String]
|
278
|
+
attr_accessor :name
|
279
|
+
|
280
|
+
def initialize(**args)
|
281
|
+
update!(**args)
|
282
|
+
end
|
283
|
+
|
284
|
+
# Update properties of this object
|
285
|
+
def update!(**args)
|
286
|
+
@available_machine_count = args[:available_machine_count] if args.key?(:available_machine_count)
|
287
|
+
@instance_type = args[:instance_type] if args.key?(:instance_type)
|
288
|
+
@location = args[:location] if args.key?(:location)
|
289
|
+
@name = args[:name] if args.key?(:name)
|
290
|
+
end
|
291
|
+
end
|
292
|
+
|
293
|
+
# A GCP vlan attachment.
|
294
|
+
class IntakeVlanAttachment
|
295
|
+
include Google::Apis::Core::Hashable
|
296
|
+
|
297
|
+
# Identifier of the VLAN attachment.
|
298
|
+
# Corresponds to the JSON property `id`
|
299
|
+
# @return [String]
|
300
|
+
attr_accessor :id
|
301
|
+
|
302
|
+
# Attachment pairing key.
|
303
|
+
# Corresponds to the JSON property `pairingKey`
|
304
|
+
# @return [String]
|
305
|
+
attr_accessor :pairing_key
|
306
|
+
|
307
|
+
def initialize(**args)
|
308
|
+
update!(**args)
|
309
|
+
end
|
310
|
+
|
311
|
+
# Update properties of this object
|
312
|
+
def update!(**args)
|
313
|
+
@id = args[:id] if args.key?(:id)
|
314
|
+
@pairing_key = args[:pairing_key] if args.key?(:pairing_key)
|
315
|
+
end
|
316
|
+
end
|
317
|
+
|
129
318
|
# Response message for the list of servers.
|
130
319
|
class ListInstancesResponse
|
131
320
|
include Google::Apis::Core::Hashable
|
@@ -213,6 +402,25 @@ module Google
|
|
213
402
|
end
|
214
403
|
end
|
215
404
|
|
405
|
+
# Response with Networks with IPs
|
406
|
+
class ListNetworkUsageResponse
|
407
|
+
include Google::Apis::Core::Hashable
|
408
|
+
|
409
|
+
# Networks with IPs.
|
410
|
+
# Corresponds to the JSON property `networks`
|
411
|
+
# @return [Array<Google::Apis::BaremetalsolutionV2::NetworkUsage>]
|
412
|
+
attr_accessor :networks
|
413
|
+
|
414
|
+
def initialize(**args)
|
415
|
+
update!(**args)
|
416
|
+
end
|
417
|
+
|
418
|
+
# Update properties of this object
|
419
|
+
def update!(**args)
|
420
|
+
@networks = args[:networks] if args.key?(:networks)
|
421
|
+
end
|
422
|
+
end
|
423
|
+
|
216
424
|
# Response message containing the list of networks.
|
217
425
|
class ListNetworksResponse
|
218
426
|
include Google::Apis::Core::Hashable
|
@@ -244,6 +452,63 @@ module Google
|
|
244
452
|
end
|
245
453
|
end
|
246
454
|
|
455
|
+
# Response message containing the list of NFS shares.
|
456
|
+
class ListNfsSharesResponse
|
457
|
+
include Google::Apis::Core::Hashable
|
458
|
+
|
459
|
+
# A token identifying a page of results from the server.
|
460
|
+
# Corresponds to the JSON property `nextPageToken`
|
461
|
+
# @return [String]
|
462
|
+
attr_accessor :next_page_token
|
463
|
+
|
464
|
+
# The list of NFS shares.
|
465
|
+
# Corresponds to the JSON property `nfsShares`
|
466
|
+
# @return [Array<Google::Apis::BaremetalsolutionV2::NfsShare>]
|
467
|
+
attr_accessor :nfs_shares
|
468
|
+
|
469
|
+
# Locations that could not be reached.
|
470
|
+
# Corresponds to the JSON property `unreachable`
|
471
|
+
# @return [Array<String>]
|
472
|
+
attr_accessor :unreachable
|
473
|
+
|
474
|
+
def initialize(**args)
|
475
|
+
update!(**args)
|
476
|
+
end
|
477
|
+
|
478
|
+
# Update properties of this object
|
479
|
+
def update!(**args)
|
480
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
481
|
+
@nfs_shares = args[:nfs_shares] if args.key?(:nfs_shares)
|
482
|
+
@unreachable = args[:unreachable] if args.key?(:unreachable)
|
483
|
+
end
|
484
|
+
end
|
485
|
+
|
486
|
+
# Response message for the list of provisioning quotas.
|
487
|
+
class ListProvisioningQuotasResponse
|
488
|
+
include Google::Apis::Core::Hashable
|
489
|
+
|
490
|
+
# Token to retrieve the next page of results, or empty if there are no more
|
491
|
+
# results in the list.
|
492
|
+
# Corresponds to the JSON property `nextPageToken`
|
493
|
+
# @return [String]
|
494
|
+
attr_accessor :next_page_token
|
495
|
+
|
496
|
+
# The provisioning quotas registered in this project.
|
497
|
+
# Corresponds to the JSON property `provisioningQuotas`
|
498
|
+
# @return [Array<Google::Apis::BaremetalsolutionV2::ProvisioningQuota>]
|
499
|
+
attr_accessor :provisioning_quotas
|
500
|
+
|
501
|
+
def initialize(**args)
|
502
|
+
update!(**args)
|
503
|
+
end
|
504
|
+
|
505
|
+
# Update properties of this object
|
506
|
+
def update!(**args)
|
507
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
508
|
+
@provisioning_quotas = args[:provisioning_quotas] if args.key?(:provisioning_quotas)
|
509
|
+
end
|
510
|
+
end
|
511
|
+
|
247
512
|
# Response message containing the list of snapshot schedule policies.
|
248
513
|
class ListSnapshotSchedulePoliciesResponse
|
249
514
|
include Google::Apis::Core::Hashable
|
@@ -455,6 +720,31 @@ module Google
|
|
455
720
|
end
|
456
721
|
end
|
457
722
|
|
723
|
+
# A LUN(Logical Unit Number) range.
|
724
|
+
class LunRange
|
725
|
+
include Google::Apis::Core::Hashable
|
726
|
+
|
727
|
+
# Number of LUNs to create.
|
728
|
+
# Corresponds to the JSON property `quantity`
|
729
|
+
# @return [Fixnum]
|
730
|
+
attr_accessor :quantity
|
731
|
+
|
732
|
+
# The requested size of each LUN, in GB.
|
733
|
+
# Corresponds to the JSON property `sizeGb`
|
734
|
+
# @return [Fixnum]
|
735
|
+
attr_accessor :size_gb
|
736
|
+
|
737
|
+
def initialize(**args)
|
738
|
+
update!(**args)
|
739
|
+
end
|
740
|
+
|
741
|
+
# Update properties of this object
|
742
|
+
def update!(**args)
|
743
|
+
@quantity = args[:quantity] if args.key?(:quantity)
|
744
|
+
@size_gb = args[:size_gb] if args.key?(:size_gb)
|
745
|
+
end
|
746
|
+
end
|
747
|
+
|
458
748
|
# A Network.
|
459
749
|
class Network
|
460
750
|
include Google::Apis::Core::Hashable
|
@@ -537,6 +827,236 @@ module Google
|
|
537
827
|
end
|
538
828
|
end
|
539
829
|
|
830
|
+
# A network.
|
831
|
+
class NetworkAddress
|
832
|
+
include Google::Apis::Core::Hashable
|
833
|
+
|
834
|
+
# IPv4 address to be assigned to the server.
|
835
|
+
# Corresponds to the JSON property `address`
|
836
|
+
# @return [String]
|
837
|
+
attr_accessor :address
|
838
|
+
|
839
|
+
# Name of the existing network to use.
|
840
|
+
# Corresponds to the JSON property `existingNetworkId`
|
841
|
+
# @return [String]
|
842
|
+
attr_accessor :existing_network_id
|
843
|
+
|
844
|
+
# Id of the network to use, within the same ProvisioningConfig request.
|
845
|
+
# Corresponds to the JSON property `networkId`
|
846
|
+
# @return [String]
|
847
|
+
attr_accessor :network_id
|
848
|
+
|
849
|
+
def initialize(**args)
|
850
|
+
update!(**args)
|
851
|
+
end
|
852
|
+
|
853
|
+
# Update properties of this object
|
854
|
+
def update!(**args)
|
855
|
+
@address = args[:address] if args.key?(:address)
|
856
|
+
@existing_network_id = args[:existing_network_id] if args.key?(:existing_network_id)
|
857
|
+
@network_id = args[:network_id] if args.key?(:network_id)
|
858
|
+
end
|
859
|
+
end
|
860
|
+
|
861
|
+
# Configuration parameters for a new network.
|
862
|
+
class NetworkConfig
|
863
|
+
include Google::Apis::Core::Hashable
|
864
|
+
|
865
|
+
# Interconnect bandwidth. Set only when type is CLIENT.
|
866
|
+
# Corresponds to the JSON property `bandwidth`
|
867
|
+
# @return [String]
|
868
|
+
attr_accessor :bandwidth
|
869
|
+
|
870
|
+
# CIDR range of the network.
|
871
|
+
# Corresponds to the JSON property `cidr`
|
872
|
+
# @return [String]
|
873
|
+
attr_accessor :cidr
|
874
|
+
|
875
|
+
# A transient unique identifier to identify a volume within an
|
876
|
+
# ProvisioningConfig request.
|
877
|
+
# Corresponds to the JSON property `id`
|
878
|
+
# @return [String]
|
879
|
+
attr_accessor :id
|
880
|
+
|
881
|
+
# Output only. The name of the network config.
|
882
|
+
# Corresponds to the JSON property `name`
|
883
|
+
# @return [String]
|
884
|
+
attr_accessor :name
|
885
|
+
|
886
|
+
# Service CIDR, if any.
|
887
|
+
# Corresponds to the JSON property `serviceCidr`
|
888
|
+
# @return [String]
|
889
|
+
attr_accessor :service_cidr
|
890
|
+
|
891
|
+
# The type of this network, either Client or Private.
|
892
|
+
# Corresponds to the JSON property `type`
|
893
|
+
# @return [String]
|
894
|
+
attr_accessor :type
|
895
|
+
|
896
|
+
# User note field, it can be used by customers to add additional information for
|
897
|
+
# the BMS Ops team (b/194021617).
|
898
|
+
# Corresponds to the JSON property `userNote`
|
899
|
+
# @return [String]
|
900
|
+
attr_accessor :user_note
|
901
|
+
|
902
|
+
# List of VLAN attachments. As of now there are always 2 attachments, but it is
|
903
|
+
# going to change in the future (multi vlan).
|
904
|
+
# Corresponds to the JSON property `vlanAttachments`
|
905
|
+
# @return [Array<Google::Apis::BaremetalsolutionV2::IntakeVlanAttachment>]
|
906
|
+
attr_accessor :vlan_attachments
|
907
|
+
|
908
|
+
def initialize(**args)
|
909
|
+
update!(**args)
|
910
|
+
end
|
911
|
+
|
912
|
+
# Update properties of this object
|
913
|
+
def update!(**args)
|
914
|
+
@bandwidth = args[:bandwidth] if args.key?(:bandwidth)
|
915
|
+
@cidr = args[:cidr] if args.key?(:cidr)
|
916
|
+
@id = args[:id] if args.key?(:id)
|
917
|
+
@name = args[:name] if args.key?(:name)
|
918
|
+
@service_cidr = args[:service_cidr] if args.key?(:service_cidr)
|
919
|
+
@type = args[:type] if args.key?(:type)
|
920
|
+
@user_note = args[:user_note] if args.key?(:user_note)
|
921
|
+
@vlan_attachments = args[:vlan_attachments] if args.key?(:vlan_attachments)
|
922
|
+
end
|
923
|
+
end
|
924
|
+
|
925
|
+
# Network with all used IP addresses.
|
926
|
+
class NetworkUsage
|
927
|
+
include Google::Apis::Core::Hashable
|
928
|
+
|
929
|
+
# A Network.
|
930
|
+
# Corresponds to the JSON property `network`
|
931
|
+
# @return [Google::Apis::BaremetalsolutionV2::Network]
|
932
|
+
attr_accessor :network
|
933
|
+
|
934
|
+
# All used IP addresses in this network.
|
935
|
+
# Corresponds to the JSON property `usedIps`
|
936
|
+
# @return [Array<String>]
|
937
|
+
attr_accessor :used_ips
|
938
|
+
|
939
|
+
def initialize(**args)
|
940
|
+
update!(**args)
|
941
|
+
end
|
942
|
+
|
943
|
+
# Update properties of this object
|
944
|
+
def update!(**args)
|
945
|
+
@network = args[:network] if args.key?(:network)
|
946
|
+
@used_ips = args[:used_ips] if args.key?(:used_ips)
|
947
|
+
end
|
948
|
+
end
|
949
|
+
|
950
|
+
# A NFS export entry.
|
951
|
+
class NfsExport
|
952
|
+
include Google::Apis::Core::Hashable
|
953
|
+
|
954
|
+
# Allow dev flag in NfsShare AllowedClientsRequest.
|
955
|
+
# Corresponds to the JSON property `allowDev`
|
956
|
+
# @return [Boolean]
|
957
|
+
attr_accessor :allow_dev
|
958
|
+
alias_method :allow_dev?, :allow_dev
|
959
|
+
|
960
|
+
# Allow the setuid flag.
|
961
|
+
# Corresponds to the JSON property `allowSuid`
|
962
|
+
# @return [Boolean]
|
963
|
+
attr_accessor :allow_suid
|
964
|
+
alias_method :allow_suid?, :allow_suid
|
965
|
+
|
966
|
+
# A CIDR range.
|
967
|
+
# Corresponds to the JSON property `cidr`
|
968
|
+
# @return [String]
|
969
|
+
attr_accessor :cidr
|
970
|
+
|
971
|
+
# Either a single machine, identified by an ID, or a comma-separated list of
|
972
|
+
# machine IDs.
|
973
|
+
# Corresponds to the JSON property `machineId`
|
974
|
+
# @return [String]
|
975
|
+
attr_accessor :machine_id
|
976
|
+
|
977
|
+
# Network to use to publish the export.
|
978
|
+
# Corresponds to the JSON property `networkId`
|
979
|
+
# @return [String]
|
980
|
+
attr_accessor :network_id
|
981
|
+
|
982
|
+
# Disable root squashing, which is a feature of NFS. Root squash is a special
|
983
|
+
# mapping of the remote superuser (root) identity when using identity
|
984
|
+
# authentication.
|
985
|
+
# Corresponds to the JSON property `noRootSquash`
|
986
|
+
# @return [Boolean]
|
987
|
+
attr_accessor :no_root_squash
|
988
|
+
alias_method :no_root_squash?, :no_root_squash
|
989
|
+
|
990
|
+
# Export permissions.
|
991
|
+
# Corresponds to the JSON property `permissions`
|
992
|
+
# @return [String]
|
993
|
+
attr_accessor :permissions
|
994
|
+
|
995
|
+
def initialize(**args)
|
996
|
+
update!(**args)
|
997
|
+
end
|
998
|
+
|
999
|
+
# Update properties of this object
|
1000
|
+
def update!(**args)
|
1001
|
+
@allow_dev = args[:allow_dev] if args.key?(:allow_dev)
|
1002
|
+
@allow_suid = args[:allow_suid] if args.key?(:allow_suid)
|
1003
|
+
@cidr = args[:cidr] if args.key?(:cidr)
|
1004
|
+
@machine_id = args[:machine_id] if args.key?(:machine_id)
|
1005
|
+
@network_id = args[:network_id] if args.key?(:network_id)
|
1006
|
+
@no_root_squash = args[:no_root_squash] if args.key?(:no_root_squash)
|
1007
|
+
@permissions = args[:permissions] if args.key?(:permissions)
|
1008
|
+
end
|
1009
|
+
end
|
1010
|
+
|
1011
|
+
# An NFS share.
|
1012
|
+
class NfsShare
|
1013
|
+
include Google::Apis::Core::Hashable
|
1014
|
+
|
1015
|
+
# List of allowed access points.
|
1016
|
+
# Corresponds to the JSON property `allowedClients`
|
1017
|
+
# @return [Array<Google::Apis::BaremetalsolutionV2::AllowedClient>]
|
1018
|
+
attr_accessor :allowed_clients
|
1019
|
+
|
1020
|
+
# Labels as key value pairs.
|
1021
|
+
# Corresponds to the JSON property `labels`
|
1022
|
+
# @return [Hash<String,String>]
|
1023
|
+
attr_accessor :labels
|
1024
|
+
|
1025
|
+
# Output only. The name of the NFS share.
|
1026
|
+
# Corresponds to the JSON property `name`
|
1027
|
+
# @return [String]
|
1028
|
+
attr_accessor :name
|
1029
|
+
|
1030
|
+
# Output only. An identifier for the NFS share, generated by the backend.
|
1031
|
+
# Corresponds to the JSON property `nfsShareId`
|
1032
|
+
# @return [String]
|
1033
|
+
attr_accessor :nfs_share_id
|
1034
|
+
|
1035
|
+
# The state of the NFS share.
|
1036
|
+
# Corresponds to the JSON property `state`
|
1037
|
+
# @return [String]
|
1038
|
+
attr_accessor :state
|
1039
|
+
|
1040
|
+
# The volume containing the share.
|
1041
|
+
# Corresponds to the JSON property `volume`
|
1042
|
+
# @return [String]
|
1043
|
+
attr_accessor :volume
|
1044
|
+
|
1045
|
+
def initialize(**args)
|
1046
|
+
update!(**args)
|
1047
|
+
end
|
1048
|
+
|
1049
|
+
# Update properties of this object
|
1050
|
+
def update!(**args)
|
1051
|
+
@allowed_clients = args[:allowed_clients] if args.key?(:allowed_clients)
|
1052
|
+
@labels = args[:labels] if args.key?(:labels)
|
1053
|
+
@name = args[:name] if args.key?(:name)
|
1054
|
+
@nfs_share_id = args[:nfs_share_id] if args.key?(:nfs_share_id)
|
1055
|
+
@state = args[:state] if args.key?(:state)
|
1056
|
+
@volume = args[:volume] if args.key?(:volume)
|
1057
|
+
end
|
1058
|
+
end
|
1059
|
+
|
540
1060
|
# This resource represents a long-running operation that is the result of a
|
541
1061
|
# network API call.
|
542
1062
|
class Operation
|
@@ -599,6 +1119,105 @@ module Google
|
|
599
1119
|
end
|
600
1120
|
end
|
601
1121
|
|
1122
|
+
# A provisioning configuration.
|
1123
|
+
class ProvisioningConfig
|
1124
|
+
include Google::Apis::Core::Hashable
|
1125
|
+
|
1126
|
+
# A service account to enable customers to access instance credentials upon
|
1127
|
+
# handover.
|
1128
|
+
# Corresponds to the JSON property `handoverServiceAccount`
|
1129
|
+
# @return [String]
|
1130
|
+
attr_accessor :handover_service_account
|
1131
|
+
|
1132
|
+
# Instances to be created.
|
1133
|
+
# Corresponds to the JSON property `instances`
|
1134
|
+
# @return [Array<Google::Apis::BaremetalsolutionV2::InstanceConfig>]
|
1135
|
+
attr_accessor :instances
|
1136
|
+
|
1137
|
+
# Output only. The name of the provisioning config.
|
1138
|
+
# Corresponds to the JSON property `name`
|
1139
|
+
# @return [String]
|
1140
|
+
attr_accessor :name
|
1141
|
+
|
1142
|
+
# Networks to be created.
|
1143
|
+
# Corresponds to the JSON property `networks`
|
1144
|
+
# @return [Array<Google::Apis::BaremetalsolutionV2::NetworkConfig>]
|
1145
|
+
attr_accessor :networks
|
1146
|
+
|
1147
|
+
# A generated buganizer id to track provisioning request.
|
1148
|
+
# Corresponds to the JSON property `ticketId`
|
1149
|
+
# @return [String]
|
1150
|
+
attr_accessor :ticket_id
|
1151
|
+
|
1152
|
+
# Volumes to be created.
|
1153
|
+
# Corresponds to the JSON property `volumes`
|
1154
|
+
# @return [Array<Google::Apis::BaremetalsolutionV2::VolumeConfig>]
|
1155
|
+
attr_accessor :volumes
|
1156
|
+
|
1157
|
+
def initialize(**args)
|
1158
|
+
update!(**args)
|
1159
|
+
end
|
1160
|
+
|
1161
|
+
# Update properties of this object
|
1162
|
+
def update!(**args)
|
1163
|
+
@handover_service_account = args[:handover_service_account] if args.key?(:handover_service_account)
|
1164
|
+
@instances = args[:instances] if args.key?(:instances)
|
1165
|
+
@name = args[:name] if args.key?(:name)
|
1166
|
+
@networks = args[:networks] if args.key?(:networks)
|
1167
|
+
@ticket_id = args[:ticket_id] if args.key?(:ticket_id)
|
1168
|
+
@volumes = args[:volumes] if args.key?(:volumes)
|
1169
|
+
end
|
1170
|
+
end
|
1171
|
+
|
1172
|
+
# A provisioning quota for a given project.
|
1173
|
+
class ProvisioningQuota
|
1174
|
+
include Google::Apis::Core::Hashable
|
1175
|
+
|
1176
|
+
# The asset type of this provisioning quota.
|
1177
|
+
# Corresponds to the JSON property `assetType`
|
1178
|
+
# @return [String]
|
1179
|
+
attr_accessor :asset_type
|
1180
|
+
|
1181
|
+
# The available count of the provisioning quota.
|
1182
|
+
# Corresponds to the JSON property `availableCount`
|
1183
|
+
# @return [Fixnum]
|
1184
|
+
attr_accessor :available_count
|
1185
|
+
|
1186
|
+
# The gcp service of the provisioning quota.
|
1187
|
+
# Corresponds to the JSON property `gcpService`
|
1188
|
+
# @return [String]
|
1189
|
+
attr_accessor :gcp_service
|
1190
|
+
|
1191
|
+
# A resource budget.
|
1192
|
+
# Corresponds to the JSON property `instanceQuota`
|
1193
|
+
# @return [Google::Apis::BaremetalsolutionV2::InstanceQuota]
|
1194
|
+
attr_accessor :instance_quota
|
1195
|
+
|
1196
|
+
# The specific location of the provisioining quota.
|
1197
|
+
# Corresponds to the JSON property `location`
|
1198
|
+
# @return [String]
|
1199
|
+
attr_accessor :location
|
1200
|
+
|
1201
|
+
# Output only. The name of the provisioning quota.
|
1202
|
+
# Corresponds to the JSON property `name`
|
1203
|
+
# @return [String]
|
1204
|
+
attr_accessor :name
|
1205
|
+
|
1206
|
+
def initialize(**args)
|
1207
|
+
update!(**args)
|
1208
|
+
end
|
1209
|
+
|
1210
|
+
# Update properties of this object
|
1211
|
+
def update!(**args)
|
1212
|
+
@asset_type = args[:asset_type] if args.key?(:asset_type)
|
1213
|
+
@available_count = args[:available_count] if args.key?(:available_count)
|
1214
|
+
@gcp_service = args[:gcp_service] if args.key?(:gcp_service)
|
1215
|
+
@instance_quota = args[:instance_quota] if args.key?(:instance_quota)
|
1216
|
+
@location = args[:location] if args.key?(:location)
|
1217
|
+
@name = args[:name] if args.key?(:name)
|
1218
|
+
end
|
1219
|
+
end
|
1220
|
+
|
602
1221
|
# QOS policy parameters.
|
603
1222
|
class QosPolicy
|
604
1223
|
include Google::Apis::Core::Hashable
|
@@ -739,6 +1358,11 @@ module Google
|
|
739
1358
|
# @return [Array<Google::Apis::BaremetalsolutionV2::Schedule>]
|
740
1359
|
attr_accessor :schedules
|
741
1360
|
|
1361
|
+
# The state of the snapshot schedule policy.
|
1362
|
+
# Corresponds to the JSON property `state`
|
1363
|
+
# @return [String]
|
1364
|
+
attr_accessor :state
|
1365
|
+
|
742
1366
|
def initialize(**args)
|
743
1367
|
update!(**args)
|
744
1368
|
end
|
@@ -750,6 +1374,20 @@ module Google
|
|
750
1374
|
@labels = args[:labels] if args.key?(:labels)
|
751
1375
|
@name = args[:name] if args.key?(:name)
|
752
1376
|
@schedules = args[:schedules] if args.key?(:schedules)
|
1377
|
+
@state = args[:state] if args.key?(:state)
|
1378
|
+
end
|
1379
|
+
end
|
1380
|
+
|
1381
|
+
# Message requesting to start a server.
|
1382
|
+
class StartInstanceRequest
|
1383
|
+
include Google::Apis::Core::Hashable
|
1384
|
+
|
1385
|
+
def initialize(**args)
|
1386
|
+
update!(**args)
|
1387
|
+
end
|
1388
|
+
|
1389
|
+
# Update properties of this object
|
1390
|
+
def update!(**args)
|
753
1391
|
end
|
754
1392
|
end
|
755
1393
|
|
@@ -792,6 +1430,50 @@ module Google
|
|
792
1430
|
end
|
793
1431
|
end
|
794
1432
|
|
1433
|
+
# Request for SubmitProvisioningConfig.
|
1434
|
+
class SubmitProvisioningConfigRequest
|
1435
|
+
include Google::Apis::Core::Hashable
|
1436
|
+
|
1437
|
+
# Optional. Email provided to send a confirmation with provisioning config to.
|
1438
|
+
# Corresponds to the JSON property `email`
|
1439
|
+
# @return [String]
|
1440
|
+
attr_accessor :email
|
1441
|
+
|
1442
|
+
# A provisioning configuration.
|
1443
|
+
# Corresponds to the JSON property `provisioningConfig`
|
1444
|
+
# @return [Google::Apis::BaremetalsolutionV2::ProvisioningConfig]
|
1445
|
+
attr_accessor :provisioning_config
|
1446
|
+
|
1447
|
+
def initialize(**args)
|
1448
|
+
update!(**args)
|
1449
|
+
end
|
1450
|
+
|
1451
|
+
# Update properties of this object
|
1452
|
+
def update!(**args)
|
1453
|
+
@email = args[:email] if args.key?(:email)
|
1454
|
+
@provisioning_config = args[:provisioning_config] if args.key?(:provisioning_config)
|
1455
|
+
end
|
1456
|
+
end
|
1457
|
+
|
1458
|
+
# Response for SubmitProvisioningConfig.
|
1459
|
+
class SubmitProvisioningConfigResponse
|
1460
|
+
include Google::Apis::Core::Hashable
|
1461
|
+
|
1462
|
+
# A provisioning configuration.
|
1463
|
+
# Corresponds to the JSON property `provisioningConfig`
|
1464
|
+
# @return [Google::Apis::BaremetalsolutionV2::ProvisioningConfig]
|
1465
|
+
attr_accessor :provisioning_config
|
1466
|
+
|
1467
|
+
def initialize(**args)
|
1468
|
+
update!(**args)
|
1469
|
+
end
|
1470
|
+
|
1471
|
+
# Update properties of this object
|
1472
|
+
def update!(**args)
|
1473
|
+
@provisioning_config = args[:provisioning_config] if args.key?(:provisioning_config)
|
1474
|
+
end
|
1475
|
+
end
|
1476
|
+
|
795
1477
|
# A network VRF.
|
796
1478
|
class Vrf
|
797
1479
|
include Google::Apis::Core::Hashable
|
@@ -952,6 +1634,82 @@ module Google
|
|
952
1634
|
end
|
953
1635
|
end
|
954
1636
|
|
1637
|
+
# Configuration parameters for a new volume.
|
1638
|
+
class VolumeConfig
|
1639
|
+
include Google::Apis::Core::Hashable
|
1640
|
+
|
1641
|
+
# A transient unique identifier to identify a volume within an
|
1642
|
+
# ProvisioningConfig request.
|
1643
|
+
# Corresponds to the JSON property `id`
|
1644
|
+
# @return [String]
|
1645
|
+
attr_accessor :id
|
1646
|
+
|
1647
|
+
# LUN ranges to be configured. Set only when protocol is PROTOCOL_FC.
|
1648
|
+
# Corresponds to the JSON property `lunRanges`
|
1649
|
+
# @return [Array<Google::Apis::BaremetalsolutionV2::LunRange>]
|
1650
|
+
attr_accessor :lun_ranges
|
1651
|
+
|
1652
|
+
# Machine ids connected to this volume. Set only when protocol is PROTOCOL_FC.
|
1653
|
+
# Corresponds to the JSON property `machineIds`
|
1654
|
+
# @return [Array<String>]
|
1655
|
+
attr_accessor :machine_ids
|
1656
|
+
|
1657
|
+
# Output only. The name of the volume config.
|
1658
|
+
# Corresponds to the JSON property `name`
|
1659
|
+
# @return [String]
|
1660
|
+
attr_accessor :name
|
1661
|
+
|
1662
|
+
# NFS exports. Set only when protocol is PROTOCOL_NFS.
|
1663
|
+
# Corresponds to the JSON property `nfsExports`
|
1664
|
+
# @return [Array<Google::Apis::BaremetalsolutionV2::NfsExport>]
|
1665
|
+
attr_accessor :nfs_exports
|
1666
|
+
|
1667
|
+
# Volume protocol.
|
1668
|
+
# Corresponds to the JSON property `protocol`
|
1669
|
+
# @return [String]
|
1670
|
+
attr_accessor :protocol
|
1671
|
+
|
1672
|
+
# The requested size of this volume, in GB.
|
1673
|
+
# Corresponds to the JSON property `sizeGb`
|
1674
|
+
# @return [Fixnum]
|
1675
|
+
attr_accessor :size_gb
|
1676
|
+
|
1677
|
+
# Whether snapshots should be enabled.
|
1678
|
+
# Corresponds to the JSON property `snapshotsEnabled`
|
1679
|
+
# @return [Boolean]
|
1680
|
+
attr_accessor :snapshots_enabled
|
1681
|
+
alias_method :snapshots_enabled?, :snapshots_enabled
|
1682
|
+
|
1683
|
+
# The type of this Volume.
|
1684
|
+
# Corresponds to the JSON property `type`
|
1685
|
+
# @return [String]
|
1686
|
+
attr_accessor :type
|
1687
|
+
|
1688
|
+
# User note field, it can be used by customers to add additional information for
|
1689
|
+
# the BMS Ops team (b/194021617).
|
1690
|
+
# Corresponds to the JSON property `userNote`
|
1691
|
+
# @return [String]
|
1692
|
+
attr_accessor :user_note
|
1693
|
+
|
1694
|
+
def initialize(**args)
|
1695
|
+
update!(**args)
|
1696
|
+
end
|
1697
|
+
|
1698
|
+
# Update properties of this object
|
1699
|
+
def update!(**args)
|
1700
|
+
@id = args[:id] if args.key?(:id)
|
1701
|
+
@lun_ranges = args[:lun_ranges] if args.key?(:lun_ranges)
|
1702
|
+
@machine_ids = args[:machine_ids] if args.key?(:machine_ids)
|
1703
|
+
@name = args[:name] if args.key?(:name)
|
1704
|
+
@nfs_exports = args[:nfs_exports] if args.key?(:nfs_exports)
|
1705
|
+
@protocol = args[:protocol] if args.key?(:protocol)
|
1706
|
+
@size_gb = args[:size_gb] if args.key?(:size_gb)
|
1707
|
+
@snapshots_enabled = args[:snapshots_enabled] if args.key?(:snapshots_enabled)
|
1708
|
+
@type = args[:type] if args.key?(:type)
|
1709
|
+
@user_note = args[:user_note] if args.key?(:user_note)
|
1710
|
+
end
|
1711
|
+
end
|
1712
|
+
|
955
1713
|
# Snapshot registered for a given storage volume.
|
956
1714
|
class VolumeSnapshot
|
957
1715
|
include Google::Apis::Core::Hashable
|