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.
- checksums.yaml +4 -4
- data/lib/google/cloud/bare_metal_solution/v2/bare_metal_solution/client.rb +2769 -405
- data/lib/google/cloud/bare_metal_solution/v2/bare_metal_solution/paths.rb +135 -0
- data/lib/google/cloud/bare_metal_solution/v2/bare_metal_solution/rest/client.rb +2031 -285
- data/lib/google/cloud/bare_metal_solution/v2/bare_metal_solution/rest/service_stub.rb +1662 -231
- data/lib/google/cloud/bare_metal_solution/v2/version.rb +1 -1
- data/lib/google/cloud/baremetalsolution/v2/baremetalsolution_pb.rb +7 -6
- data/lib/google/cloud/baremetalsolution/v2/baremetalsolution_services_pb.rb +62 -0
- data/lib/google/cloud/baremetalsolution/v2/common_pb.rb +48 -0
- data/lib/google/cloud/baremetalsolution/v2/instance_pb.rb +12 -6
- data/lib/google/cloud/baremetalsolution/v2/lun_pb.rb +4 -1
- data/lib/google/cloud/baremetalsolution/v2/network_pb.rb +3 -1
- data/lib/google/cloud/baremetalsolution/v2/nfs_share_pb.rb +5 -1
- data/lib/google/cloud/baremetalsolution/v2/osimage_pb.rb +47 -0
- data/lib/google/cloud/baremetalsolution/v2/provisioning_pb.rb +80 -0
- data/lib/google/cloud/baremetalsolution/v2/ssh_key_pb.rb +49 -0
- data/lib/google/cloud/baremetalsolution/v2/volume_pb.rb +8 -1
- data/lib/google/cloud/baremetalsolution/v2/volume_snapshot_pb.rb +54 -0
- data/proto_docs/google/cloud/baremetalsolution/v2/{baremetalsolution.rb → common.rb} +36 -14
- data/proto_docs/google/cloud/baremetalsolution/v2/instance.rb +95 -68
- data/proto_docs/google/cloud/baremetalsolution/v2/lun.rb +19 -0
- data/proto_docs/google/cloud/baremetalsolution/v2/network.rb +68 -2
- data/proto_docs/google/cloud/baremetalsolution/v2/nfs_share.rb +83 -9
- data/proto_docs/google/cloud/baremetalsolution/v2/osimage.rb +80 -0
- data/proto_docs/google/cloud/baremetalsolution/v2/provisioning.rb +639 -0
- data/proto_docs/google/cloud/baremetalsolution/v2/ssh_key.rb +97 -0
- data/proto_docs/google/cloud/baremetalsolution/v2/volume.rb +91 -4
- data/proto_docs/google/cloud/baremetalsolution/v2/volume_snapshot.rb +134 -0
- data/proto_docs/google/type/expr.rb +75 -0
- metadata +13 -3
@@ -0,0 +1,639 @@
|
|
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
|
+
# A provisioning configuration.
|
25
|
+
# @!attribute [r] name
|
26
|
+
# @return [::String]
|
27
|
+
# Output only. The system-generated name of the provisioning config. This
|
28
|
+
# follows the UUID format.
|
29
|
+
# @!attribute [rw] instances
|
30
|
+
# @return [::Array<::Google::Cloud::BareMetalSolution::V2::InstanceConfig>]
|
31
|
+
# Instances to be created.
|
32
|
+
# @!attribute [rw] networks
|
33
|
+
# @return [::Array<::Google::Cloud::BareMetalSolution::V2::NetworkConfig>]
|
34
|
+
# Networks to be created.
|
35
|
+
# @!attribute [rw] volumes
|
36
|
+
# @return [::Array<::Google::Cloud::BareMetalSolution::V2::VolumeConfig>]
|
37
|
+
# Volumes to be created.
|
38
|
+
# @!attribute [rw] ticket_id
|
39
|
+
# @return [::String]
|
40
|
+
# A generated ticket id to track provisioning request.
|
41
|
+
# @!attribute [rw] handover_service_account
|
42
|
+
# @return [::String]
|
43
|
+
# A service account to enable customers to access instance credentials upon
|
44
|
+
# handover.
|
45
|
+
# @!attribute [rw] email
|
46
|
+
# @return [::String]
|
47
|
+
# Email provided to send a confirmation with provisioning config to.
|
48
|
+
# Deprecated in favour of email field in request messages.
|
49
|
+
# @!attribute [r] state
|
50
|
+
# @return [::Google::Cloud::BareMetalSolution::V2::ProvisioningConfig::State]
|
51
|
+
# Output only. State of ProvisioningConfig.
|
52
|
+
# @!attribute [rw] location
|
53
|
+
# @return [::String]
|
54
|
+
# Optional. Location name of this ProvisioningConfig.
|
55
|
+
# It is optional only for Intake UI transition period.
|
56
|
+
# @!attribute [r] update_time
|
57
|
+
# @return [::Google::Protobuf::Timestamp]
|
58
|
+
# Output only. Last update timestamp.
|
59
|
+
# @!attribute [r] cloud_console_uri
|
60
|
+
# @return [::String]
|
61
|
+
# Output only. URI to Cloud Console UI view of this provisioning config.
|
62
|
+
# @!attribute [rw] vpc_sc_enabled
|
63
|
+
# @return [::Boolean]
|
64
|
+
# If true, VPC SC is enabled for the cluster.
|
65
|
+
# @!attribute [rw] status_message
|
66
|
+
# @return [::String]
|
67
|
+
# Optional status messages associated with the FAILED state.
|
68
|
+
# @!attribute [rw] custom_id
|
69
|
+
# @return [::String]
|
70
|
+
# Optional. The user-defined identifier of the provisioning config.
|
71
|
+
class ProvisioningConfig
|
72
|
+
include ::Google::Protobuf::MessageExts
|
73
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
74
|
+
|
75
|
+
# The possible states for this ProvisioningConfig.
|
76
|
+
module State
|
77
|
+
# State wasn't specified.
|
78
|
+
STATE_UNSPECIFIED = 0
|
79
|
+
|
80
|
+
# ProvisioningConfig is a draft and can be freely modified.
|
81
|
+
DRAFT = 1
|
82
|
+
|
83
|
+
# ProvisioningConfig was already submitted and cannot be modified.
|
84
|
+
SUBMITTED = 2
|
85
|
+
|
86
|
+
# ProvisioningConfig was in the provisioning state. Initially this state
|
87
|
+
# comes from the work order table in big query when SNOW is used. Later
|
88
|
+
# this field can be set by the work order API.
|
89
|
+
PROVISIONING = 3
|
90
|
+
|
91
|
+
# ProvisioningConfig was provisioned, meaning the resources exist.
|
92
|
+
PROVISIONED = 4
|
93
|
+
|
94
|
+
# ProvisioningConfig was validated. A validation tool will be run to
|
95
|
+
# set this state.
|
96
|
+
VALIDATED = 5
|
97
|
+
|
98
|
+
# ProvisioningConfig was canceled.
|
99
|
+
CANCELLED = 6
|
100
|
+
|
101
|
+
# The request is submitted for provisioning, with error return.
|
102
|
+
FAILED = 7
|
103
|
+
end
|
104
|
+
end
|
105
|
+
|
106
|
+
# Request for SubmitProvisioningConfig.
|
107
|
+
# @!attribute [rw] parent
|
108
|
+
# @return [::String]
|
109
|
+
# Required. The parent project and location containing the
|
110
|
+
# ProvisioningConfig.
|
111
|
+
# @!attribute [rw] provisioning_config
|
112
|
+
# @return [::Google::Cloud::BareMetalSolution::V2::ProvisioningConfig]
|
113
|
+
# Required. The ProvisioningConfig to create.
|
114
|
+
# @!attribute [rw] email
|
115
|
+
# @return [::String]
|
116
|
+
# Optional. Email provided to send a confirmation with provisioning config
|
117
|
+
# to.
|
118
|
+
class SubmitProvisioningConfigRequest
|
119
|
+
include ::Google::Protobuf::MessageExts
|
120
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
121
|
+
end
|
122
|
+
|
123
|
+
# Response for SubmitProvisioningConfig.
|
124
|
+
# @!attribute [rw] provisioning_config
|
125
|
+
# @return [::Google::Cloud::BareMetalSolution::V2::ProvisioningConfig]
|
126
|
+
# The submitted provisioning config.
|
127
|
+
class SubmitProvisioningConfigResponse
|
128
|
+
include ::Google::Protobuf::MessageExts
|
129
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
130
|
+
end
|
131
|
+
|
132
|
+
# A provisioning quota for a given project.
|
133
|
+
# @!attribute [r] name
|
134
|
+
# @return [::String]
|
135
|
+
# Output only. The name of the provisioning quota.
|
136
|
+
# @!attribute [rw] asset_type
|
137
|
+
# @return [::Google::Cloud::BareMetalSolution::V2::ProvisioningQuota::AssetType]
|
138
|
+
# The asset type of this provisioning quota.
|
139
|
+
# @!attribute [rw] gcp_service
|
140
|
+
# @return [::String]
|
141
|
+
# The gcp service of the provisioning quota.
|
142
|
+
# @!attribute [rw] location
|
143
|
+
# @return [::String]
|
144
|
+
# The specific location of the provisioining quota.
|
145
|
+
# @!attribute [rw] available_count
|
146
|
+
# @return [::Integer]
|
147
|
+
# The available count of the provisioning quota.
|
148
|
+
# @!attribute [rw] instance_quota
|
149
|
+
# @return [::Google::Cloud::BareMetalSolution::V2::InstanceQuota]
|
150
|
+
# Instance quota.
|
151
|
+
# @!attribute [rw] server_count
|
152
|
+
# @return [::Integer]
|
153
|
+
# Server count.
|
154
|
+
# @!attribute [rw] network_bandwidth
|
155
|
+
# @return [::Integer]
|
156
|
+
# Network bandwidth, Gbps
|
157
|
+
# @!attribute [rw] storage_gib
|
158
|
+
# @return [::Integer]
|
159
|
+
# Storage size (GB).
|
160
|
+
class ProvisioningQuota
|
161
|
+
include ::Google::Protobuf::MessageExts
|
162
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
163
|
+
|
164
|
+
# The available asset types for intake.
|
165
|
+
module AssetType
|
166
|
+
# The unspecified type.
|
167
|
+
ASSET_TYPE_UNSPECIFIED = 0
|
168
|
+
|
169
|
+
# The server asset type.
|
170
|
+
ASSET_TYPE_SERVER = 1
|
171
|
+
|
172
|
+
# The storage asset type.
|
173
|
+
ASSET_TYPE_STORAGE = 2
|
174
|
+
|
175
|
+
# The network asset type.
|
176
|
+
ASSET_TYPE_NETWORK = 3
|
177
|
+
end
|
178
|
+
end
|
179
|
+
|
180
|
+
# Message for requesting the list of provisioning quotas.
|
181
|
+
# @!attribute [rw] parent
|
182
|
+
# @return [::String]
|
183
|
+
# Required. Parent value for ListProvisioningQuotasRequest.
|
184
|
+
# @!attribute [rw] page_size
|
185
|
+
# @return [::Integer]
|
186
|
+
# Requested page size. The server might return fewer items than requested.
|
187
|
+
# If unspecified, server will pick an appropriate default.
|
188
|
+
# Notice that page_size field is not supported and won't be respected in
|
189
|
+
# the API request for now, will be updated when pagination is supported.
|
190
|
+
# @!attribute [rw] page_token
|
191
|
+
# @return [::String]
|
192
|
+
# A token identifying a page of results from the server.
|
193
|
+
class ListProvisioningQuotasRequest
|
194
|
+
include ::Google::Protobuf::MessageExts
|
195
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
196
|
+
end
|
197
|
+
|
198
|
+
# Response message for the list of provisioning quotas.
|
199
|
+
# @!attribute [rw] provisioning_quotas
|
200
|
+
# @return [::Array<::Google::Cloud::BareMetalSolution::V2::ProvisioningQuota>]
|
201
|
+
# The provisioning quotas registered in this project.
|
202
|
+
# @!attribute [rw] next_page_token
|
203
|
+
# @return [::String]
|
204
|
+
# Token to retrieve the next page of results, or empty if there are no more
|
205
|
+
# results in the list.
|
206
|
+
class ListProvisioningQuotasResponse
|
207
|
+
include ::Google::Protobuf::MessageExts
|
208
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
209
|
+
end
|
210
|
+
|
211
|
+
# Configuration parameters for a new instance.
|
212
|
+
# @!attribute [r] name
|
213
|
+
# @return [::String]
|
214
|
+
# Output only. The name of the instance config.
|
215
|
+
# @!attribute [rw] id
|
216
|
+
# @return [::String]
|
217
|
+
# A transient unique identifier to idenfity an instance within an
|
218
|
+
# ProvisioningConfig request.
|
219
|
+
# @!attribute [rw] instance_type
|
220
|
+
# @return [::String]
|
221
|
+
# Instance type.
|
222
|
+
# [Available
|
223
|
+
# types](https://cloud.google.com/bare-metal/docs/bms-planning#server_configurations)
|
224
|
+
# @!attribute [rw] hyperthreading
|
225
|
+
# @return [::Boolean]
|
226
|
+
# Whether the instance should be provisioned with Hyperthreading enabled.
|
227
|
+
# @!attribute [rw] os_image
|
228
|
+
# @return [::String]
|
229
|
+
# OS image to initialize the instance.
|
230
|
+
# [Available
|
231
|
+
# images](https://cloud.google.com/bare-metal/docs/bms-planning#server_configurations)
|
232
|
+
# @!attribute [rw] client_network
|
233
|
+
# @return [::Google::Cloud::BareMetalSolution::V2::InstanceConfig::NetworkAddress]
|
234
|
+
# Client network address. Filled if InstanceConfig.multivlan_config is false.
|
235
|
+
# @!attribute [rw] private_network
|
236
|
+
# @return [::Google::Cloud::BareMetalSolution::V2::InstanceConfig::NetworkAddress]
|
237
|
+
# Private network address, if any. Filled if InstanceConfig.multivlan_config
|
238
|
+
# is false.
|
239
|
+
# @!attribute [rw] user_note
|
240
|
+
# @return [::String]
|
241
|
+
# User note field, it can be used by customers to add additional information
|
242
|
+
# for the BMS Ops team .
|
243
|
+
# @!attribute [rw] account_networks_enabled
|
244
|
+
# @return [::Boolean]
|
245
|
+
# If true networks can be from different projects of the same vendor account.
|
246
|
+
# @!attribute [rw] network_config
|
247
|
+
# @return [::Google::Cloud::BareMetalSolution::V2::InstanceConfig::NetworkConfig]
|
248
|
+
# The type of network configuration on the instance.
|
249
|
+
# @!attribute [rw] network_template
|
250
|
+
# @return [::String]
|
251
|
+
# Server network template name. Filled if InstanceConfig.multivlan_config is
|
252
|
+
# true.
|
253
|
+
# @!attribute [rw] logical_interfaces
|
254
|
+
# @return [::Array<::Google::Cloud::BareMetalSolution::V2::LogicalInterface>]
|
255
|
+
# List of logical interfaces for the instance. The number of logical
|
256
|
+
# interfaces will be the same as number of hardware bond/nic on the chosen
|
257
|
+
# network template. Filled if InstanceConfig.multivlan_config is true.
|
258
|
+
# @!attribute [rw] ssh_key_names
|
259
|
+
# @return [::Array<::String>]
|
260
|
+
# List of names of ssh keys used to provision the instance.
|
261
|
+
class InstanceConfig
|
262
|
+
include ::Google::Protobuf::MessageExts
|
263
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
264
|
+
|
265
|
+
# A network.
|
266
|
+
# @!attribute [rw] network_id
|
267
|
+
# @return [::String]
|
268
|
+
# Id of the network to use, within the same ProvisioningConfig request.
|
269
|
+
# @!attribute [rw] address
|
270
|
+
# @return [::String]
|
271
|
+
# IPv4 address to be assigned to the server.
|
272
|
+
# @!attribute [rw] existing_network_id
|
273
|
+
# @return [::String]
|
274
|
+
# Name of the existing network to use.
|
275
|
+
class NetworkAddress
|
276
|
+
include ::Google::Protobuf::MessageExts
|
277
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
278
|
+
end
|
279
|
+
|
280
|
+
# The network configuration of the instance.
|
281
|
+
module NetworkConfig
|
282
|
+
# The unspecified network configuration.
|
283
|
+
NETWORKCONFIG_UNSPECIFIED = 0
|
284
|
+
|
285
|
+
# Instance part of single client network and single private network.
|
286
|
+
SINGLE_VLAN = 1
|
287
|
+
|
288
|
+
# Instance part of multiple (or single) client networks and private
|
289
|
+
# networks.
|
290
|
+
MULTI_VLAN = 2
|
291
|
+
end
|
292
|
+
end
|
293
|
+
|
294
|
+
# Configuration parameters for a new volume.
|
295
|
+
# @!attribute [r] name
|
296
|
+
# @return [::String]
|
297
|
+
# Output only. The name of the volume config.
|
298
|
+
# @!attribute [rw] id
|
299
|
+
# @return [::String]
|
300
|
+
# A transient unique identifier to identify a volume within an
|
301
|
+
# ProvisioningConfig request.
|
302
|
+
# @!attribute [rw] snapshots_enabled
|
303
|
+
# @return [::Boolean]
|
304
|
+
# Whether snapshots should be enabled.
|
305
|
+
# @!attribute [rw] type
|
306
|
+
# @return [::Google::Cloud::BareMetalSolution::V2::VolumeConfig::Type]
|
307
|
+
# The type of this Volume.
|
308
|
+
# @!attribute [rw] protocol
|
309
|
+
# @return [::Google::Cloud::BareMetalSolution::V2::VolumeConfig::Protocol]
|
310
|
+
# Volume protocol.
|
311
|
+
# @!attribute [rw] size_gb
|
312
|
+
# @return [::Integer]
|
313
|
+
# The requested size of this volume, in GB.
|
314
|
+
# @!attribute [rw] lun_ranges
|
315
|
+
# @return [::Array<::Google::Cloud::BareMetalSolution::V2::VolumeConfig::LunRange>]
|
316
|
+
# LUN ranges to be configured. Set only when protocol is PROTOCOL_FC.
|
317
|
+
# @!attribute [rw] machine_ids
|
318
|
+
# @return [::Array<::String>]
|
319
|
+
# Machine ids connected to this volume. Set only when protocol is
|
320
|
+
# PROTOCOL_FC.
|
321
|
+
# @!attribute [rw] nfs_exports
|
322
|
+
# @return [::Array<::Google::Cloud::BareMetalSolution::V2::VolumeConfig::NfsExport>]
|
323
|
+
# NFS exports. Set only when protocol is PROTOCOL_NFS.
|
324
|
+
# @!attribute [rw] user_note
|
325
|
+
# @return [::String]
|
326
|
+
# User note field, it can be used by customers to add additional information
|
327
|
+
# for the BMS Ops team .
|
328
|
+
# @!attribute [rw] gcp_service
|
329
|
+
# @return [::String]
|
330
|
+
# The GCP service of the storage volume. Available gcp_service are in
|
331
|
+
# https://cloud.google.com/bare-metal/docs/bms-planning.
|
332
|
+
# @!attribute [rw] performance_tier
|
333
|
+
# @return [::Google::Cloud::BareMetalSolution::V2::VolumePerformanceTier]
|
334
|
+
# Performance tier of the Volume.
|
335
|
+
# Default is SHARED.
|
336
|
+
class VolumeConfig
|
337
|
+
include ::Google::Protobuf::MessageExts
|
338
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
339
|
+
|
340
|
+
# A LUN(Logical Unit Number) range.
|
341
|
+
# @!attribute [rw] quantity
|
342
|
+
# @return [::Integer]
|
343
|
+
# Number of LUNs to create.
|
344
|
+
# @!attribute [rw] size_gb
|
345
|
+
# @return [::Integer]
|
346
|
+
# The requested size of each LUN, in GB.
|
347
|
+
class LunRange
|
348
|
+
include ::Google::Protobuf::MessageExts
|
349
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
350
|
+
end
|
351
|
+
|
352
|
+
# A NFS export entry.
|
353
|
+
# @!attribute [rw] network_id
|
354
|
+
# @return [::String]
|
355
|
+
# Network to use to publish the export.
|
356
|
+
# @!attribute [rw] machine_id
|
357
|
+
# @return [::String]
|
358
|
+
# Either a single machine, identified by an ID, or a comma-separated
|
359
|
+
# list of machine IDs.
|
360
|
+
# @!attribute [rw] cidr
|
361
|
+
# @return [::String]
|
362
|
+
# A CIDR range.
|
363
|
+
# @!attribute [rw] permissions
|
364
|
+
# @return [::Google::Cloud::BareMetalSolution::V2::VolumeConfig::NfsExport::Permissions]
|
365
|
+
# Export permissions.
|
366
|
+
# @!attribute [rw] no_root_squash
|
367
|
+
# @return [::Boolean]
|
368
|
+
# Disable root squashing, which is a feature of NFS.
|
369
|
+
# Root squash is a special mapping of the remote superuser (root) identity
|
370
|
+
# when using identity authentication.
|
371
|
+
# @!attribute [rw] allow_suid
|
372
|
+
# @return [::Boolean]
|
373
|
+
# Allow the setuid flag.
|
374
|
+
# @!attribute [rw] allow_dev
|
375
|
+
# @return [::Boolean]
|
376
|
+
# Allow dev flag in NfsShare AllowedClientsRequest.
|
377
|
+
class NfsExport
|
378
|
+
include ::Google::Protobuf::MessageExts
|
379
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
380
|
+
|
381
|
+
# Permissions that can granted for an export.
|
382
|
+
module Permissions
|
383
|
+
# Unspecified value.
|
384
|
+
PERMISSIONS_UNSPECIFIED = 0
|
385
|
+
|
386
|
+
# Read-only permission.
|
387
|
+
READ_ONLY = 1
|
388
|
+
|
389
|
+
# Read-write permission.
|
390
|
+
READ_WRITE = 2
|
391
|
+
end
|
392
|
+
end
|
393
|
+
|
394
|
+
# The types of Volumes.
|
395
|
+
module Type
|
396
|
+
# The unspecified type.
|
397
|
+
TYPE_UNSPECIFIED = 0
|
398
|
+
|
399
|
+
# This Volume is on flash.
|
400
|
+
FLASH = 1
|
401
|
+
|
402
|
+
# This Volume is on disk.
|
403
|
+
DISK = 2
|
404
|
+
end
|
405
|
+
|
406
|
+
# The protocol used to access the volume.
|
407
|
+
module Protocol
|
408
|
+
# Unspecified value.
|
409
|
+
PROTOCOL_UNSPECIFIED = 0
|
410
|
+
|
411
|
+
# Fibre channel.
|
412
|
+
PROTOCOL_FC = 1
|
413
|
+
|
414
|
+
# Network file system.
|
415
|
+
PROTOCOL_NFS = 2
|
416
|
+
end
|
417
|
+
end
|
418
|
+
|
419
|
+
# Configuration parameters for a new network.
|
420
|
+
# @!attribute [r] name
|
421
|
+
# @return [::String]
|
422
|
+
# Output only. The name of the network config.
|
423
|
+
# @!attribute [rw] id
|
424
|
+
# @return [::String]
|
425
|
+
# A transient unique identifier to identify a volume within an
|
426
|
+
# ProvisioningConfig request.
|
427
|
+
# @!attribute [rw] type
|
428
|
+
# @return [::Google::Cloud::BareMetalSolution::V2::NetworkConfig::Type]
|
429
|
+
# The type of this network, either Client or Private.
|
430
|
+
# @!attribute [rw] bandwidth
|
431
|
+
# @return [::Google::Cloud::BareMetalSolution::V2::NetworkConfig::Bandwidth]
|
432
|
+
# Interconnect bandwidth. Set only when type is CLIENT.
|
433
|
+
# @!attribute [rw] vlan_attachments
|
434
|
+
# @return [::Array<::Google::Cloud::BareMetalSolution::V2::NetworkConfig::IntakeVlanAttachment>]
|
435
|
+
# List of VLAN attachments. As of now there are always 2 attachments, but it
|
436
|
+
# is going to change in the future (multi vlan).
|
437
|
+
# @!attribute [rw] cidr
|
438
|
+
# @return [::String]
|
439
|
+
# CIDR range of the network.
|
440
|
+
# @!attribute [rw] service_cidr
|
441
|
+
# @return [::Google::Cloud::BareMetalSolution::V2::NetworkConfig::ServiceCidr]
|
442
|
+
# Service CIDR, if any.
|
443
|
+
# @!attribute [rw] user_note
|
444
|
+
# @return [::String]
|
445
|
+
# User note field, it can be used by customers to add additional information
|
446
|
+
# for the BMS Ops team .
|
447
|
+
# @!attribute [rw] gcp_service
|
448
|
+
# @return [::String]
|
449
|
+
# The GCP service of the network. Available gcp_service are in
|
450
|
+
# https://cloud.google.com/bare-metal/docs/bms-planning.
|
451
|
+
# @!attribute [rw] vlan_same_project
|
452
|
+
# @return [::Boolean]
|
453
|
+
# Whether the VLAN attachment pair is located in the same project.
|
454
|
+
# @!attribute [rw] jumbo_frames_enabled
|
455
|
+
# @return [::Boolean]
|
456
|
+
# The JumboFramesEnabled option for customer to set.
|
457
|
+
class NetworkConfig
|
458
|
+
include ::Google::Protobuf::MessageExts
|
459
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
460
|
+
|
461
|
+
# A GCP vlan attachment.
|
462
|
+
# @!attribute [rw] id
|
463
|
+
# @return [::String]
|
464
|
+
# Identifier of the VLAN attachment.
|
465
|
+
# @!attribute [rw] pairing_key
|
466
|
+
# @return [::String]
|
467
|
+
# Attachment pairing key.
|
468
|
+
class IntakeVlanAttachment
|
469
|
+
include ::Google::Protobuf::MessageExts
|
470
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
471
|
+
end
|
472
|
+
|
473
|
+
# Network type.
|
474
|
+
module Type
|
475
|
+
# Unspecified value.
|
476
|
+
TYPE_UNSPECIFIED = 0
|
477
|
+
|
478
|
+
# Client network, that is a network peered to a GCP VPC.
|
479
|
+
CLIENT = 1
|
480
|
+
|
481
|
+
# Private network, that is a network local to the BMS POD.
|
482
|
+
PRIVATE = 2
|
483
|
+
end
|
484
|
+
|
485
|
+
# Interconnect bandwidth.
|
486
|
+
module Bandwidth
|
487
|
+
# Unspecified value.
|
488
|
+
BANDWIDTH_UNSPECIFIED = 0
|
489
|
+
|
490
|
+
# 1 Gbps.
|
491
|
+
BW_1_GBPS = 1
|
492
|
+
|
493
|
+
# 2 Gbps.
|
494
|
+
BW_2_GBPS = 2
|
495
|
+
|
496
|
+
# 5 Gbps.
|
497
|
+
BW_5_GBPS = 3
|
498
|
+
|
499
|
+
# 10 Gbps.
|
500
|
+
BW_10_GBPS = 4
|
501
|
+
end
|
502
|
+
|
503
|
+
# Service network block.
|
504
|
+
module ServiceCidr
|
505
|
+
# Unspecified value.
|
506
|
+
SERVICE_CIDR_UNSPECIFIED = 0
|
507
|
+
|
508
|
+
# Services are disabled for the given network.
|
509
|
+
DISABLED = 1
|
510
|
+
|
511
|
+
# Use the highest /26 block of the network to host services.
|
512
|
+
HIGH_26 = 2
|
513
|
+
|
514
|
+
# Use the highest /27 block of the network to host services.
|
515
|
+
HIGH_27 = 3
|
516
|
+
|
517
|
+
# Use the highest /28 block of the network to host services.
|
518
|
+
HIGH_28 = 4
|
519
|
+
end
|
520
|
+
end
|
521
|
+
|
522
|
+
# A resource budget.
|
523
|
+
# @!attribute [r] name
|
524
|
+
# @return [::String]
|
525
|
+
# Output only. The name of the instance quota.
|
526
|
+
# @!attribute [rw] instance_type
|
527
|
+
# @return [::String]
|
528
|
+
# Instance type.
|
529
|
+
# Deprecated: use gcp_service.
|
530
|
+
# @!attribute [rw] gcp_service
|
531
|
+
# @return [::String]
|
532
|
+
# The gcp service of the provisioning quota.
|
533
|
+
# @!attribute [rw] location
|
534
|
+
# @return [::String]
|
535
|
+
# Location where the quota applies.
|
536
|
+
# @!attribute [rw] available_machine_count
|
537
|
+
# @return [::Integer]
|
538
|
+
# Number of machines than can be created for the given location and
|
539
|
+
# instance_type.
|
540
|
+
class InstanceQuota
|
541
|
+
include ::Google::Protobuf::MessageExts
|
542
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
543
|
+
end
|
544
|
+
|
545
|
+
# Request for GetProvisioningConfig.
|
546
|
+
# @!attribute [rw] name
|
547
|
+
# @return [::String]
|
548
|
+
# Required. Name of the ProvisioningConfig.
|
549
|
+
class GetProvisioningConfigRequest
|
550
|
+
include ::Google::Protobuf::MessageExts
|
551
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
552
|
+
end
|
553
|
+
|
554
|
+
# Request for CreateProvisioningConfig.
|
555
|
+
# @!attribute [rw] parent
|
556
|
+
# @return [::String]
|
557
|
+
# Required. The parent project and location containing the
|
558
|
+
# ProvisioningConfig.
|
559
|
+
# @!attribute [rw] provisioning_config
|
560
|
+
# @return [::Google::Cloud::BareMetalSolution::V2::ProvisioningConfig]
|
561
|
+
# Required. The ProvisioningConfig to create.
|
562
|
+
# @!attribute [rw] email
|
563
|
+
# @return [::String]
|
564
|
+
# Optional. Email provided to send a confirmation with provisioning config
|
565
|
+
# to.
|
566
|
+
class CreateProvisioningConfigRequest
|
567
|
+
include ::Google::Protobuf::MessageExts
|
568
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
569
|
+
end
|
570
|
+
|
571
|
+
# Message for updating a ProvisioningConfig.
|
572
|
+
# @!attribute [rw] provisioning_config
|
573
|
+
# @return [::Google::Cloud::BareMetalSolution::V2::ProvisioningConfig]
|
574
|
+
# Required. The ProvisioningConfig to update.
|
575
|
+
# @!attribute [rw] update_mask
|
576
|
+
# @return [::Google::Protobuf::FieldMask]
|
577
|
+
# Required. The list of fields to update.
|
578
|
+
# @!attribute [rw] email
|
579
|
+
# @return [::String]
|
580
|
+
# Optional. Email provided to send a confirmation with provisioning config
|
581
|
+
# to.
|
582
|
+
class UpdateProvisioningConfigRequest
|
583
|
+
include ::Google::Protobuf::MessageExts
|
584
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
585
|
+
end
|
586
|
+
|
587
|
+
# Network template.
|
588
|
+
# @!attribute [r] name
|
589
|
+
# @return [::String]
|
590
|
+
# Output only. Template's unique name. The full resource name follows the
|
591
|
+
# pattern:
|
592
|
+
# `projects/{project}/locations/{location}/serverNetworkTemplate/{server_network_template}`
|
593
|
+
# Generally, the \\{server_network_template} follows the syntax of
|
594
|
+
# "bond<interface_type_index><bond_mode>" or "nic<interface_type_index>".
|
595
|
+
# @!attribute [rw] applicable_instance_types
|
596
|
+
# @return [::Array<::String>]
|
597
|
+
# Instance types this template is applicable to.
|
598
|
+
# @!attribute [rw] logical_interfaces
|
599
|
+
# @return [::Array<::Google::Cloud::BareMetalSolution::V2::ServerNetworkTemplate::LogicalInterface>]
|
600
|
+
# Logical interfaces.
|
601
|
+
class ServerNetworkTemplate
|
602
|
+
include ::Google::Protobuf::MessageExts
|
603
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
604
|
+
|
605
|
+
# Logical interface.
|
606
|
+
# @!attribute [rw] name
|
607
|
+
# @return [::String]
|
608
|
+
# Interface name.
|
609
|
+
# This is not a globally unique identifier.
|
610
|
+
# Name is unique only inside the ServerNetworkTemplate. This is of syntax
|
611
|
+
# <bond><interface_type_index><bond_mode> or <nic><interface_type_index>
|
612
|
+
# and forms part of the network template name.
|
613
|
+
# @!attribute [rw] type
|
614
|
+
# @return [::Google::Cloud::BareMetalSolution::V2::ServerNetworkTemplate::LogicalInterface::InterfaceType]
|
615
|
+
# Interface type.
|
616
|
+
# @!attribute [rw] required
|
617
|
+
# @return [::Boolean]
|
618
|
+
# If true, interface must have network connected.
|
619
|
+
class LogicalInterface
|
620
|
+
include ::Google::Protobuf::MessageExts
|
621
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
622
|
+
|
623
|
+
# Interface type.
|
624
|
+
module InterfaceType
|
625
|
+
# Unspecified value.
|
626
|
+
INTERFACE_TYPE_UNSPECIFIED = 0
|
627
|
+
|
628
|
+
# Bond interface type.
|
629
|
+
BOND = 1
|
630
|
+
|
631
|
+
# NIC interface type.
|
632
|
+
NIC = 2
|
633
|
+
end
|
634
|
+
end
|
635
|
+
end
|
636
|
+
end
|
637
|
+
end
|
638
|
+
end
|
639
|
+
end
|