google-cloud-vmware_engine-v1 0.1.1 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,674 @@
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 VmwareEngine
23
+ module V1
24
+ # Network configuration in the consumer project
25
+ # with which the peering has to be done.
26
+ # @!attribute [rw] management_cidr
27
+ # @return [::String]
28
+ # Required. Management CIDR used by VMware management appliances.
29
+ # @!attribute [rw] vmware_engine_network
30
+ # @return [::String]
31
+ # Optional. The relative resource name of the VMware Engine network attached
32
+ # to the private cloud. Specify the name in the following form:
33
+ # `projects/{project}/locations/{location}/vmwareEngineNetworks/{vmware_engine_network_id}`
34
+ # where `{project}` can either be a project number or a project ID.
35
+ # @!attribute [r] vmware_engine_network_canonical
36
+ # @return [::String]
37
+ # Output only. The canonical name of the VMware Engine network in the form:
38
+ # `projects/{project_number}/locations/{location}/vmwareEngineNetworks/{vmware_engine_network_id}`
39
+ # @!attribute [r] management_ip_address_layout_version
40
+ # @return [::Integer]
41
+ # Output only. The IP address layout version of the management IP address
42
+ # range. Possible versions include:
43
+ # * `managementIpAddressLayoutVersion=1`: Indicates the legacy IP address
44
+ # layout used by some existing private clouds. This is no longer supported
45
+ # for new private clouds as it does not support all features.
46
+ # * `managementIpAddressLayoutVersion=2`: Indicates the latest IP address
47
+ # layout used by all newly created private clouds. This version supports all
48
+ # current features.
49
+ class NetworkConfig
50
+ include ::Google::Protobuf::MessageExts
51
+ extend ::Google::Protobuf::MessageExts::ClassMethods
52
+ end
53
+
54
+ # Information about the type and number of nodes associated with the cluster.
55
+ # @!attribute [rw] node_count
56
+ # @return [::Integer]
57
+ # Required. The number of nodes of this type in the cluster
58
+ # @!attribute [rw] custom_core_count
59
+ # @return [::Integer]
60
+ # Optional. Customized number of cores available to each node of the type.
61
+ # This number must always be one of `nodeType.availableCustomCoreCounts`.
62
+ # If zero is provided max value from `nodeType.availableCustomCoreCounts`
63
+ # will be used.
64
+ class NodeTypeConfig
65
+ include ::Google::Protobuf::MessageExts
66
+ extend ::Google::Protobuf::MessageExts::ClassMethods
67
+ end
68
+
69
+ # Represents a private cloud resource. Private clouds are zonal resources.
70
+ # @!attribute [r] name
71
+ # @return [::String]
72
+ # Output only. The resource name of this private cloud.
73
+ # Resource names are schemeless URIs that follow the conventions in
74
+ # https://cloud.google.com/apis/design/resource_names.
75
+ # For example:
76
+ # `projects/my-project/locations/us-central1-a/privateClouds/my-cloud`
77
+ # @!attribute [r] create_time
78
+ # @return [::Google::Protobuf::Timestamp]
79
+ # Output only. Creation time of this resource.
80
+ # @!attribute [r] update_time
81
+ # @return [::Google::Protobuf::Timestamp]
82
+ # Output only. Last update time of this resource.
83
+ # @!attribute [r] delete_time
84
+ # @return [::Google::Protobuf::Timestamp]
85
+ # Output only. Time when the resource was scheduled for deletion.
86
+ # @!attribute [r] expire_time
87
+ # @return [::Google::Protobuf::Timestamp]
88
+ # Output only. Time when the resource will be irreversibly deleted.
89
+ # @!attribute [r] state
90
+ # @return [::Google::Cloud::VmwareEngine::V1::PrivateCloud::State]
91
+ # Output only. State of the resource. New values may be added to this enum
92
+ # when appropriate.
93
+ # @!attribute [rw] network_config
94
+ # @return [::Google::Cloud::VmwareEngine::V1::NetworkConfig]
95
+ # Required. Network configuration of the private cloud.
96
+ # @!attribute [rw] management_cluster
97
+ # @return [::Google::Cloud::VmwareEngine::V1::PrivateCloud::ManagementCluster]
98
+ # Required. Input only. The management cluster for this private cloud.
99
+ # This field is required during creation of the private cloud to provide
100
+ # details for the default cluster.
101
+ #
102
+ # The following fields can't be changed after private cloud creation:
103
+ # `ManagementCluster.clusterId`, `ManagementCluster.nodeTypeId`.
104
+ # @!attribute [rw] description
105
+ # @return [::String]
106
+ # User-provided description for this private cloud.
107
+ # @!attribute [r] hcx
108
+ # @return [::Google::Cloud::VmwareEngine::V1::Hcx]
109
+ # Output only. HCX appliance.
110
+ # @!attribute [r] nsx
111
+ # @return [::Google::Cloud::VmwareEngine::V1::Nsx]
112
+ # Output only. NSX appliance.
113
+ # @!attribute [r] vcenter
114
+ # @return [::Google::Cloud::VmwareEngine::V1::Vcenter]
115
+ # Output only. Vcenter appliance.
116
+ # @!attribute [r] uid
117
+ # @return [::String]
118
+ # Output only. System-generated unique identifier for the resource.
119
+ class PrivateCloud
120
+ include ::Google::Protobuf::MessageExts
121
+ extend ::Google::Protobuf::MessageExts::ClassMethods
122
+
123
+ # Management cluster configuration.
124
+ # @!attribute [rw] cluster_id
125
+ # @return [::String]
126
+ # Required. The user-provided identifier of the new `Cluster`.
127
+ # The identifier must meet the following requirements:
128
+ #
129
+ # * Only contains 1-63 alphanumeric characters and hyphens
130
+ # * Begins with an alphabetical character
131
+ # * Ends with a non-hyphen character
132
+ # * Not formatted as a UUID
133
+ # * Complies with [RFC
134
+ # 1034](https://datatracker.ietf.org/doc/html/rfc1034) (section 3.5)
135
+ # @!attribute [rw] node_type_configs
136
+ # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::VmwareEngine::V1::NodeTypeConfig}]
137
+ # Required. The map of cluster node types in this cluster, where the key is
138
+ # canonical identifier of the node type (corresponds to the `NodeType`).
139
+ class ManagementCluster
140
+ include ::Google::Protobuf::MessageExts
141
+ extend ::Google::Protobuf::MessageExts::ClassMethods
142
+
143
+ # @!attribute [rw] key
144
+ # @return [::String]
145
+ # @!attribute [rw] value
146
+ # @return [::Google::Cloud::VmwareEngine::V1::NodeTypeConfig]
147
+ class NodeTypeConfigsEntry
148
+ include ::Google::Protobuf::MessageExts
149
+ extend ::Google::Protobuf::MessageExts::ClassMethods
150
+ end
151
+ end
152
+
153
+ # Enum State defines possible states of private clouds.
154
+ module State
155
+ # The default value. This value should never be used.
156
+ STATE_UNSPECIFIED = 0
157
+
158
+ # The private cloud is ready.
159
+ ACTIVE = 1
160
+
161
+ # The private cloud is being created.
162
+ CREATING = 2
163
+
164
+ # The private cloud is being updated.
165
+ UPDATING = 3
166
+
167
+ # The private cloud is in failed state.
168
+ FAILED = 5
169
+
170
+ # The private cloud is scheduled for deletion. The deletion process can be
171
+ # cancelled by using the corresponding undelete method.
172
+ DELETED = 6
173
+
174
+ # The private cloud is irreversibly deleted and is being removed from the
175
+ # system.
176
+ PURGING = 7
177
+ end
178
+ end
179
+
180
+ # A cluster in a private cloud.
181
+ # @!attribute [r] name
182
+ # @return [::String]
183
+ # Output only. The resource name of this cluster.
184
+ # Resource names are schemeless URIs that follow the conventions in
185
+ # https://cloud.google.com/apis/design/resource_names.
186
+ # For example:
187
+ # `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/clusters/my-cluster`
188
+ # @!attribute [r] create_time
189
+ # @return [::Google::Protobuf::Timestamp]
190
+ # Output only. Creation time of this resource.
191
+ # @!attribute [r] update_time
192
+ # @return [::Google::Protobuf::Timestamp]
193
+ # Output only. Last update time of this resource.
194
+ # @!attribute [r] state
195
+ # @return [::Google::Cloud::VmwareEngine::V1::Cluster::State]
196
+ # Output only. State of the resource.
197
+ # @!attribute [r] management
198
+ # @return [::Boolean]
199
+ # Output only. True if the cluster is a management cluster; false otherwise.
200
+ # There can only be one management cluster in a private cloud
201
+ # and it has to be the first one.
202
+ # @!attribute [r] uid
203
+ # @return [::String]
204
+ # Output only. System-generated unique identifier for the resource.
205
+ # @!attribute [rw] node_type_configs
206
+ # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::VmwareEngine::V1::NodeTypeConfig}]
207
+ # Required. The map of cluster node types in this cluster, where the key is
208
+ # canonical identifier of the node type (corresponds to the `NodeType`).
209
+ class Cluster
210
+ include ::Google::Protobuf::MessageExts
211
+ extend ::Google::Protobuf::MessageExts::ClassMethods
212
+
213
+ # @!attribute [rw] key
214
+ # @return [::String]
215
+ # @!attribute [rw] value
216
+ # @return [::Google::Cloud::VmwareEngine::V1::NodeTypeConfig]
217
+ class NodeTypeConfigsEntry
218
+ include ::Google::Protobuf::MessageExts
219
+ extend ::Google::Protobuf::MessageExts::ClassMethods
220
+ end
221
+
222
+ # Enum State defines possible states of private cloud clusters.
223
+ module State
224
+ # The default value. This value should never be used.
225
+ STATE_UNSPECIFIED = 0
226
+
227
+ # The Cluster is operational and can be used by the user.
228
+ ACTIVE = 1
229
+
230
+ # The Cluster is being deployed.
231
+ CREATING = 2
232
+
233
+ # Adding or removing of a node to the cluster, any other cluster specific
234
+ # updates.
235
+ UPDATING = 3
236
+
237
+ # The Cluster is being deleted.
238
+ DELETING = 4
239
+
240
+ # The Cluster is undergoing maintenance, for example: a failed node is
241
+ # getting replaced.
242
+ REPAIRING = 5
243
+ end
244
+ end
245
+
246
+ # Subnet in a private cloud. Either `management` subnets (such as vMotion) that
247
+ # are read-only, or `userDefined`, which can also be updated.
248
+ # @!attribute [r] name
249
+ # @return [::String]
250
+ # Output only. The resource name of this subnet.
251
+ # Resource names are schemeless URIs that follow the conventions in
252
+ # https://cloud.google.com/apis/design/resource_names.
253
+ # For example:
254
+ # `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/subnets/my-subnet`
255
+ # @!attribute [rw] ip_cidr_range
256
+ # @return [::String]
257
+ # The IP address range of the subnet in CIDR format '10.0.0.0/24'.
258
+ # @!attribute [rw] gateway_ip
259
+ # @return [::String]
260
+ # The IP address of the gateway of this subnet.
261
+ # Must fall within the IP prefix defined above.
262
+ # @!attribute [r] type
263
+ # @return [::String]
264
+ # Output only. The type of the subnet. For example "management" or
265
+ # "userDefined".
266
+ # @!attribute [r] state
267
+ # @return [::Google::Cloud::VmwareEngine::V1::Subnet::State]
268
+ # Output only. The state of the resource.
269
+ class Subnet
270
+ include ::Google::Protobuf::MessageExts
271
+ extend ::Google::Protobuf::MessageExts::ClassMethods
272
+
273
+ # Defines possible states of subnets.
274
+ module State
275
+ # The default value. This value should never be used.
276
+ STATE_UNSPECIFIED = 0
277
+
278
+ # The subnet is ready.
279
+ ACTIVE = 1
280
+
281
+ # The subnet is being created.
282
+ CREATING = 2
283
+
284
+ # The subnet is being updated.
285
+ UPDATING = 3
286
+
287
+ # The subnet is being deleted.
288
+ DELETING = 4
289
+ end
290
+ end
291
+
292
+ # Describes node type.
293
+ # @!attribute [r] name
294
+ # @return [::String]
295
+ # Output only. The resource name of this node type.
296
+ # Resource names are schemeless URIs that follow the conventions in
297
+ # https://cloud.google.com/apis/design/resource_names.
298
+ # For example:
299
+ # `projects/my-proj/locations/us-central1-a/nodeTypes/standard-72`
300
+ # @!attribute [r] node_type_id
301
+ # @return [::String]
302
+ # Output only. The canonical identifier of the node type
303
+ # (corresponds to the `NodeType`). For example: standard-72.
304
+ # @!attribute [r] display_name
305
+ # @return [::String]
306
+ # Output only. The friendly name for this node type.
307
+ # For example: ve1-standard-72
308
+ # @!attribute [r] virtual_cpu_count
309
+ # @return [::Integer]
310
+ # Output only. The total number of virtual CPUs in a single node.
311
+ # @!attribute [r] total_core_count
312
+ # @return [::Integer]
313
+ # Output only. The total number of CPU cores in a single node.
314
+ # @!attribute [r] memory_gb
315
+ # @return [::Integer]
316
+ # Output only. The amount of physical memory available, defined in GB.
317
+ # @!attribute [r] disk_size_gb
318
+ # @return [::Integer]
319
+ # Output only. The amount of storage available, defined in GB.
320
+ # @!attribute [r] available_custom_core_counts
321
+ # @return [::Array<::Integer>]
322
+ # Output only. List of possible values of custom core count.
323
+ class NodeType
324
+ include ::Google::Protobuf::MessageExts
325
+ extend ::Google::Protobuf::MessageExts::ClassMethods
326
+ end
327
+
328
+ # Credentials for a private cloud.
329
+ # @!attribute [rw] username
330
+ # @return [::String]
331
+ # Initial username.
332
+ # @!attribute [rw] password
333
+ # @return [::String]
334
+ # Initial password.
335
+ class Credentials
336
+ include ::Google::Protobuf::MessageExts
337
+ extend ::Google::Protobuf::MessageExts::ClassMethods
338
+ end
339
+
340
+ # HCX activation key. A default key is created during
341
+ # private cloud provisioning, but this behavior is subject to change
342
+ # and you should always verify active keys.
343
+ # Use
344
+ # {::Google::Cloud::VmwareEngine::V1::VmwareEngine::Client#list_hcx_activation_keys VmwareEngine.ListHcxActivationKeys}
345
+ # to retrieve existing keys and
346
+ # {::Google::Cloud::VmwareEngine::V1::VmwareEngine::Client#create_hcx_activation_key VmwareEngine.CreateHcxActivationKey}
347
+ # to create new ones.
348
+ # @!attribute [r] name
349
+ # @return [::String]
350
+ # Output only. The resource name of this HcxActivationKey.
351
+ # Resource names are schemeless URIs that follow the conventions in
352
+ # https://cloud.google.com/apis/design/resource_names.
353
+ # For example:
354
+ # `projects/my-project/locations/us-central1/privateClouds/my-cloud/hcxActivationKeys/my-key`
355
+ # @!attribute [r] create_time
356
+ # @return [::Google::Protobuf::Timestamp]
357
+ # Output only. Creation time of HCX activation key.
358
+ # @!attribute [r] state
359
+ # @return [::Google::Cloud::VmwareEngine::V1::HcxActivationKey::State]
360
+ # Output only. State of HCX activation key.
361
+ # @!attribute [r] activation_key
362
+ # @return [::String]
363
+ # Output only. HCX activation key.
364
+ # @!attribute [r] uid
365
+ # @return [::String]
366
+ # Output only. System-generated unique identifier for the resource.
367
+ class HcxActivationKey
368
+ include ::Google::Protobuf::MessageExts
369
+ extend ::Google::Protobuf::MessageExts::ClassMethods
370
+
371
+ # State of HCX activation key
372
+ module State
373
+ # Unspecified state.
374
+ STATE_UNSPECIFIED = 0
375
+
376
+ # State of a newly generated activation key.
377
+ AVAILABLE = 1
378
+
379
+ # State of key when it has been used to activate HCX appliance.
380
+ CONSUMED = 2
381
+
382
+ # State of key when it is being created.
383
+ CREATING = 3
384
+ end
385
+ end
386
+
387
+ # Details about a HCX Cloud Manager appliance.
388
+ # @!attribute [rw] internal_ip
389
+ # @return [::String]
390
+ # Internal IP address of the appliance.
391
+ # @!attribute [rw] version
392
+ # @return [::String]
393
+ # Version of the appliance.
394
+ # @!attribute [r] state
395
+ # @return [::Google::Cloud::VmwareEngine::V1::Hcx::State]
396
+ # Output only. The state of the appliance.
397
+ # @!attribute [rw] fqdn
398
+ # @return [::String]
399
+ # Fully qualified domain name of the appliance.
400
+ class Hcx
401
+ include ::Google::Protobuf::MessageExts
402
+ extend ::Google::Protobuf::MessageExts::ClassMethods
403
+
404
+ # State of the appliance
405
+ module State
406
+ # Unspecified appliance state. This is the default value.
407
+ STATE_UNSPECIFIED = 0
408
+
409
+ # The appliance is operational and can be used.
410
+ ACTIVE = 1
411
+
412
+ # The appliance is being deployed.
413
+ CREATING = 2
414
+ end
415
+ end
416
+
417
+ # Details about a NSX Manager appliance.
418
+ # @!attribute [rw] internal_ip
419
+ # @return [::String]
420
+ # Internal IP address of the appliance.
421
+ # @!attribute [rw] version
422
+ # @return [::String]
423
+ # Version of the appliance.
424
+ # @!attribute [r] state
425
+ # @return [::Google::Cloud::VmwareEngine::V1::Nsx::State]
426
+ # Output only. The state of the appliance.
427
+ # @!attribute [rw] fqdn
428
+ # @return [::String]
429
+ # Fully qualified domain name of the appliance.
430
+ class Nsx
431
+ include ::Google::Protobuf::MessageExts
432
+ extend ::Google::Protobuf::MessageExts::ClassMethods
433
+
434
+ # State of the appliance
435
+ module State
436
+ # Unspecified appliance state. This is the default value.
437
+ STATE_UNSPECIFIED = 0
438
+
439
+ # The appliance is operational and can be used.
440
+ ACTIVE = 1
441
+
442
+ # The appliance is being deployed.
443
+ CREATING = 2
444
+ end
445
+ end
446
+
447
+ # Details about a vCenter Server management appliance.
448
+ # @!attribute [rw] internal_ip
449
+ # @return [::String]
450
+ # Internal IP address of the appliance.
451
+ # @!attribute [rw] version
452
+ # @return [::String]
453
+ # Version of the appliance.
454
+ # @!attribute [r] state
455
+ # @return [::Google::Cloud::VmwareEngine::V1::Vcenter::State]
456
+ # Output only. The state of the appliance.
457
+ # @!attribute [rw] fqdn
458
+ # @return [::String]
459
+ # Fully qualified domain name of the appliance.
460
+ class Vcenter
461
+ include ::Google::Protobuf::MessageExts
462
+ extend ::Google::Protobuf::MessageExts::ClassMethods
463
+
464
+ # State of the appliance
465
+ module State
466
+ # Unspecified appliance state. This is the default value.
467
+ STATE_UNSPECIFIED = 0
468
+
469
+ # The appliance is operational and can be used.
470
+ ACTIVE = 1
471
+
472
+ # The appliance is being deployed.
473
+ CREATING = 2
474
+ end
475
+ end
476
+
477
+ # Represents a network policy resource. Network policies are regional
478
+ # resources. You can use a network policy to enable or disable internet access
479
+ # and external IP access. Network policies are associated with a VMware Engine
480
+ # network, which might span across regions. For a given region, a network
481
+ # policy applies to all private clouds in the VMware Engine network associated
482
+ # with the policy.
483
+ # @!attribute [r] name
484
+ # @return [::String]
485
+ # Output only. The resource name of this network policy.
486
+ # Resource names are schemeless URIs that follow the conventions in
487
+ # https://cloud.google.com/apis/design/resource_names.
488
+ # For example:
489
+ # `projects/my-project/locations/us-central1/networkPolicies/my-network-policy`
490
+ # @!attribute [r] create_time
491
+ # @return [::Google::Protobuf::Timestamp]
492
+ # Output only. Creation time of this resource.
493
+ # @!attribute [r] update_time
494
+ # @return [::Google::Protobuf::Timestamp]
495
+ # Output only. Last update time of this resource.
496
+ # @!attribute [rw] internet_access
497
+ # @return [::Google::Cloud::VmwareEngine::V1::NetworkPolicy::NetworkService]
498
+ # Network service that allows VMware workloads to access the internet.
499
+ # @!attribute [rw] external_ip
500
+ # @return [::Google::Cloud::VmwareEngine::V1::NetworkPolicy::NetworkService]
501
+ # Network service that allows External IP addresses to be assigned to VMware
502
+ # workloads. This service can only be enabled when `internet_access` is also
503
+ # enabled.
504
+ # @!attribute [rw] edge_services_cidr
505
+ # @return [::String]
506
+ # Required. IP address range in CIDR notation used to create internet access
507
+ # and external IP access. An RFC 1918 CIDR block, with a "/26" prefix, is
508
+ # required. The range cannot overlap with any prefixes either in the consumer
509
+ # VPC network or in use by the private clouds attached to that VPC network.
510
+ # @!attribute [r] uid
511
+ # @return [::String]
512
+ # Output only. System-generated unique identifier for the resource.
513
+ # @!attribute [rw] vmware_engine_network
514
+ # @return [::String]
515
+ # Optional. The relative resource name of the VMware Engine network.
516
+ # Specify the name in the following form:
517
+ # `projects/{project}/locations/{location}/vmwareEngineNetworks/{vmware_engine_network_id}`
518
+ # where `{project}` can either be a project number or a project ID.
519
+ # @!attribute [rw] description
520
+ # @return [::String]
521
+ # Optional. User-provided description for this network policy.
522
+ # @!attribute [r] vmware_engine_network_canonical
523
+ # @return [::String]
524
+ # Output only. The canonical name of the VMware Engine network in the form:
525
+ # `projects/{project_number}/locations/{location}/vmwareEngineNetworks/{vmware_engine_network_id}`
526
+ class NetworkPolicy
527
+ include ::Google::Protobuf::MessageExts
528
+ extend ::Google::Protobuf::MessageExts::ClassMethods
529
+
530
+ # Represents a network service that is managed by a `NetworkPolicy` resource.
531
+ # A network service provides a way to control an aspect of external access to
532
+ # VMware workloads. For example, whether the VMware workloads in the
533
+ # private clouds governed by a network policy can access or be accessed from
534
+ # the internet.
535
+ # @!attribute [rw] enabled
536
+ # @return [::Boolean]
537
+ # True if the service is enabled; false otherwise.
538
+ # @!attribute [r] state
539
+ # @return [::Google::Cloud::VmwareEngine::V1::NetworkPolicy::NetworkService::State]
540
+ # Output only. State of the service. New values may be added to this enum
541
+ # when appropriate.
542
+ class NetworkService
543
+ include ::Google::Protobuf::MessageExts
544
+ extend ::Google::Protobuf::MessageExts::ClassMethods
545
+
546
+ # Enum State defines possible states of a network policy controlled
547
+ # service.
548
+ module State
549
+ # Unspecified service state. This is the default value.
550
+ STATE_UNSPECIFIED = 0
551
+
552
+ # Service is not provisioned.
553
+ UNPROVISIONED = 1
554
+
555
+ # Service is in the process of being provisioned/deprovisioned.
556
+ RECONCILING = 2
557
+
558
+ # Service is active.
559
+ ACTIVE = 3
560
+ end
561
+ end
562
+ end
563
+
564
+ # VMware Engine network resource that provides connectivity for VMware Engine
565
+ # private clouds.
566
+ # @!attribute [r] name
567
+ # @return [::String]
568
+ # Output only. The resource name of the VMware Engine network.
569
+ # Resource names are schemeless URIs that follow the conventions in
570
+ # https://cloud.google.com/apis/design/resource_names.
571
+ # For example:
572
+ # `projects/my-project/locations/global/vmwareEngineNetworks/my-network`
573
+ # @!attribute [r] create_time
574
+ # @return [::Google::Protobuf::Timestamp]
575
+ # Output only. Creation time of this resource.
576
+ # @!attribute [r] update_time
577
+ # @return [::Google::Protobuf::Timestamp]
578
+ # Output only. Last update time of this resource.
579
+ # @!attribute [rw] description
580
+ # @return [::String]
581
+ # User-provided description for this VMware Engine network.
582
+ # @!attribute [r] vpc_networks
583
+ # @return [::Array<::Google::Cloud::VmwareEngine::V1::VmwareEngineNetwork::VpcNetwork>]
584
+ # Output only. VMware Engine service VPC networks that provide connectivity
585
+ # from a private cloud to customer projects, the internet, and other Google
586
+ # Cloud services.
587
+ # @!attribute [r] state
588
+ # @return [::Google::Cloud::VmwareEngine::V1::VmwareEngineNetwork::State]
589
+ # Output only. State of the VMware Engine network.
590
+ # @!attribute [rw] type
591
+ # @return [::Google::Cloud::VmwareEngine::V1::VmwareEngineNetwork::Type]
592
+ # Required. VMware Engine network type.
593
+ # @!attribute [r] uid
594
+ # @return [::String]
595
+ # Output only. System-generated unique identifier for the resource.
596
+ # @!attribute [rw] etag
597
+ # @return [::String]
598
+ # Checksum that may be sent on update and delete requests to ensure that the
599
+ # user-provided value is up to date before the server processes a request.
600
+ # The server computes checksums based on the value of other fields in the
601
+ # request.
602
+ class VmwareEngineNetwork
603
+ include ::Google::Protobuf::MessageExts
604
+ extend ::Google::Protobuf::MessageExts::ClassMethods
605
+
606
+ # Represents a VMware Engine VPC network that is managed by a
607
+ # VMware Engine network resource.
608
+ # @!attribute [r] type
609
+ # @return [::Google::Cloud::VmwareEngine::V1::VmwareEngineNetwork::VpcNetwork::Type]
610
+ # Output only. Type of VPC network (INTRANET, INTERNET, or
611
+ # GOOGLE_CLOUD)
612
+ # @!attribute [r] network
613
+ # @return [::String]
614
+ # Output only. The relative resource name of the service VPC network this
615
+ # VMware Engine network is attached to. For example:
616
+ # `projects/123123/global/networks/my-network`
617
+ class VpcNetwork
618
+ include ::Google::Protobuf::MessageExts
619
+ extend ::Google::Protobuf::MessageExts::ClassMethods
620
+
621
+ # Enum Type defines possible types of a VMware Engine network controlled
622
+ # service.
623
+ module Type
624
+ # The default value. This value should never be used.
625
+ TYPE_UNSPECIFIED = 0
626
+
627
+ # VPC network that will be peered with a consumer VPC network or the
628
+ # intranet VPC of another VMware Engine network. Access a private cloud
629
+ # through Compute Engine VMs on a peered VPC network or an on-premises
630
+ # resource connected to a peered consumer VPC network.
631
+ INTRANET = 1
632
+
633
+ # VPC network used for internet access to and from a private cloud.
634
+ INTERNET = 2
635
+
636
+ # VPC network used for access to Google Cloud services like
637
+ # Cloud Storage.
638
+ GOOGLE_CLOUD = 3
639
+ end
640
+ end
641
+
642
+ # Enum State defines possible states of VMware Engine network.
643
+ module State
644
+ # The default value. This value is used if the state is omitted.
645
+ STATE_UNSPECIFIED = 0
646
+
647
+ # The VMware Engine network is being created.
648
+ CREATING = 1
649
+
650
+ # The VMware Engine network is ready.
651
+ ACTIVE = 2
652
+
653
+ # The VMware Engine network is being updated.
654
+ UPDATING = 3
655
+
656
+ # The VMware Engine network is being deleted.
657
+ DELETING = 4
658
+ end
659
+
660
+ # Enum Type defines possible types of VMware Engine network.
661
+ module Type
662
+ # The default value. This value should never be used.
663
+ TYPE_UNSPECIFIED = 0
664
+
665
+ # Network type used by private clouds created in projects without a network
666
+ # of type `STANDARD`. This network type is no longer used for new VMware
667
+ # Engine private cloud deployments.
668
+ LEGACY = 1
669
+ end
670
+ end
671
+ end
672
+ end
673
+ end
674
+ end