google-cloud-vmware_engine-v1 0.6.1 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -46,6 +46,12 @@ module Google
46
46
  # * `managementIpAddressLayoutVersion=2`: Indicates the latest IP address
47
47
  # layout used by all newly created private clouds. This version supports all
48
48
  # current features.
49
+ # @!attribute [r] dns_server_ip
50
+ # @return [::String]
51
+ # Output only. DNS Server IP of the Private Cloud.
52
+ # All DNS queries can be forwarded to this address for name resolution of
53
+ # Private Cloud's management entities like vCenter, NSX-T Manager and
54
+ # ESXi hosts.
49
55
  class NetworkConfig
50
56
  include ::Google::Protobuf::MessageExts
51
57
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -66,7 +72,29 @@ module Google
66
72
  extend ::Google::Protobuf::MessageExts::ClassMethods
67
73
  end
68
74
 
69
- # Represents a private cloud resource. Private clouds are zonal resources.
75
+ # Configuration of a stretched cluster.
76
+ # @!attribute [rw] preferred_location
77
+ # @return [::String]
78
+ # Required. Zone that will remain operational when connection between the two
79
+ # zones is lost. Specify the resource name of a zone that belongs to the
80
+ # region of the private cloud. For example:
81
+ # `projects/{project}/locations/europe-west3-a` where `{project}` can either
82
+ # be a project number or a project ID.
83
+ # @!attribute [rw] secondary_location
84
+ # @return [::String]
85
+ # Required. Additional zone for a higher level of availability and load
86
+ # balancing. Specify the resource name of a zone that belongs to the region
87
+ # of the private cloud. For example:
88
+ # `projects/{project}/locations/europe-west3-b` where `{project}` can either
89
+ # be a project number or a project ID.
90
+ class StretchedClusterConfig
91
+ include ::Google::Protobuf::MessageExts
92
+ extend ::Google::Protobuf::MessageExts::ClassMethods
93
+ end
94
+
95
+ # Represents a private cloud resource. Private clouds of type `STANDARD` and
96
+ # `TIME_LIMITED` are zonal resources, `STRETCHED` private clouds are
97
+ # regional.
70
98
  # @!attribute [r] name
71
99
  # @return [::String]
72
100
  # Output only. The resource name of this private cloud.
@@ -139,6 +167,10 @@ module Google
139
167
  # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::VmwareEngine::V1::NodeTypeConfig}]
140
168
  # Required. The map of cluster node types in this cluster, where the key is
141
169
  # canonical identifier of the node type (corresponds to the `NodeType`).
170
+ # @!attribute [rw] stretched_cluster_config
171
+ # @return [::Google::Cloud::VmwareEngine::V1::StretchedClusterConfig]
172
+ # Optional. Configuration of a stretched cluster. Required for STRETCHED
173
+ # private clouds.
142
174
  class ManagementCluster
143
175
  include ::Google::Protobuf::MessageExts
144
176
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -189,6 +221,10 @@ module Google
189
221
  # can be converted into standard private cloud by expanding it up to 3
190
222
  # or more nodes.
191
223
  TIME_LIMITED = 1
224
+
225
+ # Stretched private cloud is a regional resource with redundancy,
226
+ # with a minimum of 6 nodes, nodes count has to be even.
227
+ STRETCHED = 2
192
228
  end
193
229
  end
194
230
 
@@ -221,6 +257,10 @@ module Google
221
257
  # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::VmwareEngine::V1::NodeTypeConfig}]
222
258
  # Required. The map of cluster node types in this cluster, where the key is
223
259
  # canonical identifier of the node type (corresponds to the `NodeType`).
260
+ # @!attribute [rw] stretched_cluster_config
261
+ # @return [::Google::Cloud::VmwareEngine::V1::StretchedClusterConfig]
262
+ # Optional. Configuration of a stretched cluster. Required for clusters that
263
+ # belong to a STRETCHED private cloud.
224
264
  class Cluster
225
265
  include ::Google::Protobuf::MessageExts
226
266
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -258,6 +298,111 @@ module Google
258
298
  end
259
299
  end
260
300
 
301
+ # Node in a cluster.
302
+ # @!attribute [r] name
303
+ # @return [::String]
304
+ # Output only. The resource name of this node.
305
+ # Resource names are schemeless URIs that follow the conventions in
306
+ # https://cloud.google.com/apis/design/resource_names.
307
+ # For example:
308
+ # projects/my-project/locations/us-central1-a/privateClouds/my-cloud/clusters/my-cluster/nodes/my-node
309
+ # @!attribute [r] fqdn
310
+ # @return [::String]
311
+ # Output only. Fully qualified domain name of the node.
312
+ # @!attribute [r] internal_ip
313
+ # @return [::String]
314
+ # Output only. Internal IP address of the node.
315
+ # @!attribute [r] node_type_id
316
+ # @return [::String]
317
+ # Output only. The canonical identifier of the node type (corresponds to the
318
+ # `NodeType`).
319
+ # For example: standard-72.
320
+ # @!attribute [r] version
321
+ # @return [::String]
322
+ # Output only. The version number of the VMware ESXi
323
+ # management component in this cluster.
324
+ # @!attribute [r] custom_core_count
325
+ # @return [::Integer]
326
+ # Output only. Customized number of cores
327
+ # @!attribute [r] state
328
+ # @return [::Google::Cloud::VmwareEngine::V1::Node::State]
329
+ # Output only. The state of the appliance.
330
+ class Node
331
+ include ::Google::Protobuf::MessageExts
332
+ extend ::Google::Protobuf::MessageExts::ClassMethods
333
+
334
+ # Enum State defines possible states of a node in a cluster.
335
+ module State
336
+ # The default value. This value should never be used.
337
+ STATE_UNSPECIFIED = 0
338
+
339
+ # Node is operational and can be used by the user.
340
+ ACTIVE = 1
341
+
342
+ # Node is being provisioned.
343
+ CREATING = 2
344
+
345
+ # Node is in a failed state.
346
+ FAILED = 3
347
+
348
+ # Node is undergoing maintenance, e.g.: during private cloud upgrade.
349
+ UPGRADING = 4
350
+ end
351
+ end
352
+
353
+ # Represents an allocated external IP address and its corresponding internal IP
354
+ # address in a private cloud.
355
+ # @!attribute [r] name
356
+ # @return [::String]
357
+ # Output only. The resource name of this external IP address.
358
+ # Resource names are schemeless URIs that follow the conventions in
359
+ # https://cloud.google.com/apis/design/resource_names.
360
+ # For example:
361
+ # `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/externalAddresses/my-address`
362
+ # @!attribute [r] create_time
363
+ # @return [::Google::Protobuf::Timestamp]
364
+ # Output only. Creation time of this resource.
365
+ # @!attribute [r] update_time
366
+ # @return [::Google::Protobuf::Timestamp]
367
+ # Output only. Last update time of this resource.
368
+ # @!attribute [rw] internal_ip
369
+ # @return [::String]
370
+ # The internal IP address of a workload VM.
371
+ # @!attribute [r] external_ip
372
+ # @return [::String]
373
+ # Output only. The external IP address of a workload VM.
374
+ # @!attribute [r] state
375
+ # @return [::Google::Cloud::VmwareEngine::V1::ExternalAddress::State]
376
+ # Output only. The state of the resource.
377
+ # @!attribute [r] uid
378
+ # @return [::String]
379
+ # Output only. System-generated unique identifier for the resource.
380
+ # @!attribute [rw] description
381
+ # @return [::String]
382
+ # User-provided description for this resource.
383
+ class ExternalAddress
384
+ include ::Google::Protobuf::MessageExts
385
+ extend ::Google::Protobuf::MessageExts::ClassMethods
386
+
387
+ # Enum State defines possible states of external addresses.
388
+ module State
389
+ # The default value. This value should never be used.
390
+ STATE_UNSPECIFIED = 0
391
+
392
+ # The address is ready.
393
+ ACTIVE = 1
394
+
395
+ # The address is being created.
396
+ CREATING = 2
397
+
398
+ # The address is being updated.
399
+ UPDATING = 3
400
+
401
+ # The address is being deleted.
402
+ DELETING = 4
403
+ end
404
+ end
405
+
261
406
  # Subnet in a private cloud. Either `management` subnets (such as vMotion) that
262
407
  # are read-only, or `userDefined`, which can also be updated.
263
408
  # @!attribute [r] name
@@ -281,6 +426,9 @@ module Google
281
426
  # @!attribute [r] state
282
427
  # @return [::Google::Cloud::VmwareEngine::V1::Subnet::State]
283
428
  # Output only. The state of the resource.
429
+ # @!attribute [r] vlan_id
430
+ # @return [::Integer]
431
+ # Output only. VLAN ID of the VLAN on which the subnet is configured
284
432
  class Subnet
285
433
  include ::Google::Protobuf::MessageExts
286
434
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -311,6 +459,195 @@ module Google
311
459
  end
312
460
  end
313
461
 
462
+ # External access firewall rules for filtering incoming traffic destined to
463
+ # `ExternalAddress` resources.
464
+ # @!attribute [r] name
465
+ # @return [::String]
466
+ # Output only. The resource name of this external access rule.
467
+ # Resource names are schemeless URIs that follow the conventions in
468
+ # https://cloud.google.com/apis/design/resource_names.
469
+ # For example:
470
+ # `projects/my-project/locations/us-central1/networkPolicies/my-policy/externalAccessRules/my-rule`
471
+ # @!attribute [r] create_time
472
+ # @return [::Google::Protobuf::Timestamp]
473
+ # Output only. Creation time of this resource.
474
+ # @!attribute [r] update_time
475
+ # @return [::Google::Protobuf::Timestamp]
476
+ # Output only. Last update time of this resource.
477
+ # @!attribute [rw] description
478
+ # @return [::String]
479
+ # User-provided description for this external access rule.
480
+ # @!attribute [rw] priority
481
+ # @return [::Integer]
482
+ # External access rule priority, which determines the external access rule to
483
+ # use when multiple rules apply. If multiple rules have the same priority,
484
+ # their ordering is non-deterministic. If specific ordering is required,
485
+ # assign unique priorities to enforce such ordering. The external access rule
486
+ # priority is an integer from 100 to 4096, both inclusive. Lower integers
487
+ # indicate higher precedence. For example, a rule with priority `100` has
488
+ # higher precedence than a rule with priority `101`.
489
+ # @!attribute [rw] action
490
+ # @return [::Google::Cloud::VmwareEngine::V1::ExternalAccessRule::Action]
491
+ # The action that the external access rule performs.
492
+ # @!attribute [rw] ip_protocol
493
+ # @return [::String]
494
+ # The IP protocol to which the external access rule applies. This value can
495
+ # be one of the following three protocol strings (not case-sensitive):
496
+ # `tcp`, `udp`, or `icmp`.
497
+ # @!attribute [rw] source_ip_ranges
498
+ # @return [::Array<::Google::Cloud::VmwareEngine::V1::ExternalAccessRule::IpRange>]
499
+ # If source ranges are specified, the external access rule applies only to
500
+ # traffic that has a source IP address in these ranges. These ranges can
501
+ # either be expressed in the CIDR format or as an IP address. As only inbound
502
+ # rules are supported, `ExternalAddress` resources cannot be the source IP
503
+ # addresses of an external access rule. To match all source addresses,
504
+ # specify `0.0.0.0/0`.
505
+ # @!attribute [rw] source_ports
506
+ # @return [::Array<::String>]
507
+ # A list of source ports to which the external access rule applies. This
508
+ # field is only applicable for the UDP or TCP protocol.
509
+ # Each entry must be either an integer or a range. For example: `["22"]`,
510
+ # `["80","443"]`, or `["12345-12349"]`. To match all source ports, specify
511
+ # `["0-65535"]`.
512
+ # @!attribute [rw] destination_ip_ranges
513
+ # @return [::Array<::Google::Cloud::VmwareEngine::V1::ExternalAccessRule::IpRange>]
514
+ # If destination ranges are specified, the external access rule applies only
515
+ # to the traffic that has a destination IP address in these ranges. The
516
+ # specified IP addresses must have reserved external IP addresses in the
517
+ # scope of the parent network policy. To match all external IP addresses in
518
+ # the scope of the parent network policy, specify `0.0.0.0/0`. To match a
519
+ # specific external IP address, specify it using the
520
+ # `IpRange.external_address` property.
521
+ # @!attribute [rw] destination_ports
522
+ # @return [::Array<::String>]
523
+ # A list of destination ports to which the external access rule applies. This
524
+ # field is only applicable for the UDP or TCP protocol.
525
+ # Each entry must be either an integer or a range. For example: `["22"]`,
526
+ # `["80","443"]`, or `["12345-12349"]`. To match all destination ports,
527
+ # specify `["0-65535"]`.
528
+ # @!attribute [r] state
529
+ # @return [::Google::Cloud::VmwareEngine::V1::ExternalAccessRule::State]
530
+ # Output only. The state of the resource.
531
+ # @!attribute [r] uid
532
+ # @return [::String]
533
+ # Output only. System-generated unique identifier for the resource.
534
+ class ExternalAccessRule
535
+ include ::Google::Protobuf::MessageExts
536
+ extend ::Google::Protobuf::MessageExts::ClassMethods
537
+
538
+ # An IP range provided in any one of the supported formats.
539
+ # @!attribute [rw] ip_address
540
+ # @return [::String]
541
+ # A single IP address. For example: `10.0.0.5`.
542
+ # @!attribute [rw] ip_address_range
543
+ # @return [::String]
544
+ # An IP address range in the CIDR format. For example: `10.0.0.0/24`.
545
+ # @!attribute [rw] external_address
546
+ # @return [::String]
547
+ # The name of an `ExternalAddress` resource. The external address must
548
+ # have been reserved in the scope of this external access rule's parent
549
+ # network policy. Provide the external address name in the form of
550
+ # `projects/{project}/locations/{location}/privateClouds/{private_cloud}/externalAddresses/{external_address}`.
551
+ # For example:
552
+ # `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/externalAddresses/my-address`.
553
+ class IpRange
554
+ include ::Google::Protobuf::MessageExts
555
+ extend ::Google::Protobuf::MessageExts::ClassMethods
556
+ end
557
+
558
+ # Action determines whether the external access rule permits or blocks
559
+ # traffic, subject to the other components of the rule matching the traffic.
560
+ module Action
561
+ # Defaults to allow.
562
+ ACTION_UNSPECIFIED = 0
563
+
564
+ # Allows connections that match the other specified components.
565
+ ALLOW = 1
566
+
567
+ # Blocks connections that match the other specified components.
568
+ DENY = 2
569
+ end
570
+
571
+ # Defines possible states of external access firewall rules.
572
+ module State
573
+ # The default value. This value is used if the state is omitted.
574
+ STATE_UNSPECIFIED = 0
575
+
576
+ # The rule is ready.
577
+ ACTIVE = 1
578
+
579
+ # The rule is being created.
580
+ CREATING = 2
581
+
582
+ # The rule is being updated.
583
+ UPDATING = 3
584
+
585
+ # The rule is being deleted.
586
+ DELETING = 4
587
+ end
588
+ end
589
+
590
+ # Logging server to receive vCenter or ESXi logs.
591
+ # @!attribute [r] name
592
+ # @return [::String]
593
+ # Output only. The resource name of this logging server.
594
+ # Resource names are schemeless URIs that follow the conventions in
595
+ # https://cloud.google.com/apis/design/resource_names.
596
+ # For example:
597
+ # `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/loggingServers/my-logging-server`
598
+ # @!attribute [r] create_time
599
+ # @return [::Google::Protobuf::Timestamp]
600
+ # Output only. Creation time of this resource.
601
+ # @!attribute [r] update_time
602
+ # @return [::Google::Protobuf::Timestamp]
603
+ # Output only. Last update time of this resource.
604
+ # @!attribute [rw] hostname
605
+ # @return [::String]
606
+ # Required. Fully-qualified domain name (FQDN) or IP Address of the logging
607
+ # server.
608
+ # @!attribute [rw] port
609
+ # @return [::Integer]
610
+ # Required. Port number at which the logging server receives logs.
611
+ # @!attribute [rw] protocol
612
+ # @return [::Google::Cloud::VmwareEngine::V1::LoggingServer::Protocol]
613
+ # Required. Protocol used by vCenter to send logs to a logging server.
614
+ # @!attribute [rw] source_type
615
+ # @return [::Google::Cloud::VmwareEngine::V1::LoggingServer::SourceType]
616
+ # Required. The type of component that produces logs that will be forwarded
617
+ # to this logging server.
618
+ # @!attribute [r] uid
619
+ # @return [::String]
620
+ # Output only. System-generated unique identifier for the resource.
621
+ class LoggingServer
622
+ include ::Google::Protobuf::MessageExts
623
+ extend ::Google::Protobuf::MessageExts::ClassMethods
624
+
625
+ # Defines possible protocols used to send logs to
626
+ # a logging server.
627
+ module Protocol
628
+ # Unspecified communications protocol. This is the default value.
629
+ PROTOCOL_UNSPECIFIED = 0
630
+
631
+ # UDP
632
+ UDP = 1
633
+
634
+ # TCP
635
+ TCP = 2
636
+ end
637
+
638
+ # Defines possible types of component that produces logs.
639
+ module SourceType
640
+ # The default value. This value should never be used.
641
+ SOURCE_TYPE_UNSPECIFIED = 0
642
+
643
+ # Logs produced by ESXI hosts
644
+ ESXI = 1
645
+
646
+ # Logs produced by vCenter server
647
+ VCSA = 2
648
+ end
649
+ end
650
+
314
651
  # Describes node type.
315
652
  # @!attribute [r] name
316
653
  # @return [::String]
@@ -342,9 +679,42 @@ module Google
342
679
  # @!attribute [r] available_custom_core_counts
343
680
  # @return [::Array<::Integer>]
344
681
  # Output only. List of possible values of custom core count.
682
+ # @!attribute [r] kind
683
+ # @return [::Google::Cloud::VmwareEngine::V1::NodeType::Kind]
684
+ # Output only. The type of the resource.
685
+ # @!attribute [r] families
686
+ # @return [::Array<::String>]
687
+ # Output only. Families of the node type.
688
+ # For node types to be in the same cluster
689
+ # they must share at least one element in the `families`.
690
+ # @!attribute [r] capabilities
691
+ # @return [::Array<::Google::Cloud::VmwareEngine::V1::NodeType::Capability>]
692
+ # Output only. Capabilities of this node type.
345
693
  class NodeType
346
694
  include ::Google::Protobuf::MessageExts
347
695
  extend ::Google::Protobuf::MessageExts::ClassMethods
696
+
697
+ # Enum Kind defines possible types of a NodeType.
698
+ module Kind
699
+ # The default value. This value should never be used.
700
+ KIND_UNSPECIFIED = 0
701
+
702
+ # Standard HCI node.
703
+ STANDARD = 1
704
+
705
+ # Storage only Node.
706
+ STORAGE_ONLY = 2
707
+ end
708
+
709
+ # Capability of a node type.
710
+ module Capability
711
+ # The default value. This value is used if the capability is omitted or
712
+ # unknown.
713
+ CAPABILITY_UNSPECIFIED = 0
714
+
715
+ # This node type supports stretch clusters.
716
+ STRETCHED_CLUSTERS = 1
717
+ end
348
718
  end
349
719
 
350
720
  # Credentials for a private cloud.
@@ -496,6 +866,178 @@ module Google
496
866
  end
497
867
  end
498
868
 
869
+ # DNS forwarding config.
870
+ # This config defines a list of domain to name server mappings,
871
+ # and is attached to the private cloud for custom domain resolution.
872
+ # @!attribute [r] name
873
+ # @return [::String]
874
+ # Output only. The resource name of this DNS profile.
875
+ # Resource names are schemeless URIs that follow the conventions in
876
+ # https://cloud.google.com/apis/design/resource_names.
877
+ # For example:
878
+ # `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/dnsForwarding`
879
+ # @!attribute [r] create_time
880
+ # @return [::Google::Protobuf::Timestamp]
881
+ # Output only. Creation time of this resource.
882
+ # @!attribute [r] update_time
883
+ # @return [::Google::Protobuf::Timestamp]
884
+ # Output only. Last update time of this resource.
885
+ # @!attribute [rw] forwarding_rules
886
+ # @return [::Array<::Google::Cloud::VmwareEngine::V1::DnsForwarding::ForwardingRule>]
887
+ # Required. List of domain mappings to configure
888
+ class DnsForwarding
889
+ include ::Google::Protobuf::MessageExts
890
+ extend ::Google::Protobuf::MessageExts::ClassMethods
891
+
892
+ # A forwarding rule is a mapping of a `domain` to `name_servers`.
893
+ # This mapping allows VMware Engine to resolve domains for attached private
894
+ # clouds by forwarding DNS requests for a given domain to the specified
895
+ # nameservers.
896
+ # @!attribute [rw] domain
897
+ # @return [::String]
898
+ # Required. Domain used to resolve a `name_servers` list.
899
+ # @!attribute [rw] name_servers
900
+ # @return [::Array<::String>]
901
+ # Required. List of DNS servers to use for domain resolution
902
+ class ForwardingRule
903
+ include ::Google::Protobuf::MessageExts
904
+ extend ::Google::Protobuf::MessageExts::ClassMethods
905
+ end
906
+ end
907
+
908
+ # Details of a network peering.
909
+ # @!attribute [r] name
910
+ # @return [::String]
911
+ # Output only. The resource name of the network peering. NetworkPeering is a
912
+ # global resource and location can only be global. Resource names are
913
+ # scheme-less URIs that follow the conventions in
914
+ # https://cloud.google.com/apis/design/resource_names.
915
+ # For example:
916
+ # `projects/my-project/locations/global/networkPeerings/my-peering`
917
+ # @!attribute [r] create_time
918
+ # @return [::Google::Protobuf::Timestamp]
919
+ # Output only. Creation time of this resource.
920
+ # @!attribute [r] update_time
921
+ # @return [::Google::Protobuf::Timestamp]
922
+ # Output only. Last update time of this resource.
923
+ # @!attribute [rw] peer_network
924
+ # @return [::String]
925
+ # Required. The relative resource name of the network to peer with
926
+ # a standard VMware Engine network. The provided network can be a
927
+ # consumer VPC network or another standard VMware Engine network. If the
928
+ # `peer_network_type` is VMWARE_ENGINE_NETWORK, specify the name in the form:
929
+ # `projects/{project}/locations/global/vmwareEngineNetworks/{vmware_engine_network_id}`.
930
+ # Otherwise specify the name in the form:
931
+ # `projects/{project}/global/networks/{network_id}`, where
932
+ # `{project}` can either be a project number or a project ID.
933
+ # @!attribute [rw] export_custom_routes
934
+ # @return [::Boolean]
935
+ # Optional. True if custom routes are exported to the peered network;
936
+ # false otherwise. The default value is true.
937
+ # @!attribute [rw] import_custom_routes
938
+ # @return [::Boolean]
939
+ # Optional. True if custom routes are imported from the peered network;
940
+ # false otherwise. The default value is true.
941
+ # @!attribute [rw] exchange_subnet_routes
942
+ # @return [::Boolean]
943
+ # Optional. True if full mesh connectivity is created and managed
944
+ # automatically between peered networks; false otherwise. Currently this
945
+ # field is always true because Google Compute Engine automatically creates
946
+ # and manages subnetwork routes between two VPC networks when peering state
947
+ # is 'ACTIVE'.
948
+ # @!attribute [rw] export_custom_routes_with_public_ip
949
+ # @return [::Boolean]
950
+ # Optional. True if all subnet routes with a public IP address range are
951
+ # exported; false otherwise. The default value is true. IPv4 special-use
952
+ # ranges (https://en.wikipedia.org/wiki/IPv4#Special_addresses) are always
953
+ # exported to peers and are not controlled by this field.
954
+ # @!attribute [rw] import_custom_routes_with_public_ip
955
+ # @return [::Boolean]
956
+ # Optional. True if all subnet routes with public IP address range are
957
+ # imported; false otherwise. The default value is true. IPv4 special-use
958
+ # ranges (https://en.wikipedia.org/wiki/IPv4#Special_addresses) are always
959
+ # imported to peers and are not controlled by this field.
960
+ # @!attribute [r] state
961
+ # @return [::Google::Cloud::VmwareEngine::V1::NetworkPeering::State]
962
+ # Output only. State of the network peering. This field
963
+ # has a value of 'ACTIVE' when there's a matching configuration in the peer
964
+ # network. New values may be added to this enum when appropriate.
965
+ # @!attribute [r] state_details
966
+ # @return [::String]
967
+ # Output only. Output Only. Details about the current state of the network
968
+ # peering.
969
+ # @!attribute [rw] peer_mtu
970
+ # @return [::Integer]
971
+ # Optional. Maximum transmission unit (MTU) in bytes.
972
+ # The default value is `1500`. If a value of `0` is provided for this field,
973
+ # VMware Engine uses the default value instead.
974
+ # @!attribute [rw] peer_network_type
975
+ # @return [::Google::Cloud::VmwareEngine::V1::NetworkPeering::PeerNetworkType]
976
+ # Required. The type of the network to peer with the VMware Engine network.
977
+ # @!attribute [r] uid
978
+ # @return [::String]
979
+ # Output only. System-generated unique identifier for the resource.
980
+ # @!attribute [rw] vmware_engine_network
981
+ # @return [::String]
982
+ # Required. The relative resource name of the VMware Engine network.
983
+ # Specify the name in the following form:
984
+ # `projects/{project}/locations/{location}/vmwareEngineNetworks/{vmware_engine_network_id}`
985
+ # where `{project}` can either be a project number or a project ID.
986
+ # @!attribute [rw] description
987
+ # @return [::String]
988
+ # Optional. User-provided description for this network peering.
989
+ class NetworkPeering
990
+ include ::Google::Protobuf::MessageExts
991
+ extend ::Google::Protobuf::MessageExts::ClassMethods
992
+
993
+ # Possible states of a network peering.
994
+ module State
995
+ # Unspecified network peering state. This is the default value.
996
+ STATE_UNSPECIFIED = 0
997
+
998
+ # The peering is not active.
999
+ INACTIVE = 1
1000
+
1001
+ # The peering is active.
1002
+ ACTIVE = 2
1003
+
1004
+ # The peering is being created.
1005
+ CREATING = 3
1006
+
1007
+ # The peering is being deleted.
1008
+ DELETING = 4
1009
+ end
1010
+
1011
+ # Type or purpose of the network peering connection.
1012
+ module PeerNetworkType
1013
+ # Unspecified
1014
+ PEER_NETWORK_TYPE_UNSPECIFIED = 0
1015
+
1016
+ # Peering connection used for connecting to another VPC network established
1017
+ # by the same user. For example, a peering connection to another VPC
1018
+ # network in the same project or to an on-premises network.
1019
+ STANDARD = 1
1020
+
1021
+ # Peering connection used for connecting to another VMware Engine network.
1022
+ VMWARE_ENGINE_NETWORK = 2
1023
+
1024
+ # Peering connection used for establishing [private services
1025
+ # access](https://cloud.google.com/vpc/docs/private-services-access).
1026
+ PRIVATE_SERVICES_ACCESS = 3
1027
+
1028
+ # Peering connection used for connecting to NetApp Cloud Volumes.
1029
+ NETAPP_CLOUD_VOLUMES = 4
1030
+
1031
+ # Peering connection used for connecting to third-party services. Most
1032
+ # third-party services require manual setup of reverse peering on the VPC
1033
+ # network associated with the third-party service.
1034
+ THIRD_PARTY_SERVICE = 5
1035
+
1036
+ # Peering connection used for connecting to Dell PowerScale Filers
1037
+ DELL_POWERSCALE = 6
1038
+ end
1039
+ end
1040
+
499
1041
  # Exchanged network peering route.
500
1042
  # @!attribute [r] dest_range
501
1043
  # @return [::String]
@@ -645,6 +1187,72 @@ module Google
645
1187
  end
646
1188
  end
647
1189
 
1190
+ # Represents a binding between a network and the management DNS zone.
1191
+ # A management DNS zone is the Cloud DNS cross-project binding zone that
1192
+ # VMware Engine creates for each private cloud. It contains FQDNs and
1193
+ # corresponding IP addresses for the private cloud's ESXi hosts and management
1194
+ # VM appliances like vCenter and NSX Manager.
1195
+ # @!attribute [r] name
1196
+ # @return [::String]
1197
+ # Output only. The resource name of this binding.
1198
+ # Resource names are schemeless URIs that follow the conventions in
1199
+ # https://cloud.google.com/apis/design/resource_names.
1200
+ # For example:
1201
+ # `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/managementDnsZoneBindings/my-management-dns-zone-binding`
1202
+ # @!attribute [r] create_time
1203
+ # @return [::Google::Protobuf::Timestamp]
1204
+ # Output only. Creation time of this resource.
1205
+ # @!attribute [r] update_time
1206
+ # @return [::Google::Protobuf::Timestamp]
1207
+ # Output only. Last update time of this resource.
1208
+ # @!attribute [r] state
1209
+ # @return [::Google::Cloud::VmwareEngine::V1::ManagementDnsZoneBinding::State]
1210
+ # Output only. The state of the resource.
1211
+ # @!attribute [rw] description
1212
+ # @return [::String]
1213
+ # User-provided description for this resource.
1214
+ # @!attribute [rw] vpc_network
1215
+ # @return [::String]
1216
+ # Network to bind is a standard consumer VPC.
1217
+ # Specify the name in the following form for consumer
1218
+ # VPC network: `projects/{project}/global/networks/{network_id}`.
1219
+ # `{project}` can either be a project number or a project ID.
1220
+ # @!attribute [rw] vmware_engine_network
1221
+ # @return [::String]
1222
+ # Network to bind is a VMware Engine network.
1223
+ # Specify the name in the following form for VMware engine network:
1224
+ # `projects/{project}/locations/global/vmwareEngineNetworks/{vmware_engine_network_id}`.
1225
+ # `{project}` can either be a project number or a project ID.
1226
+ # @!attribute [r] uid
1227
+ # @return [::String]
1228
+ # Output only. System-generated unique identifier for the resource.
1229
+ class ManagementDnsZoneBinding
1230
+ include ::Google::Protobuf::MessageExts
1231
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1232
+
1233
+ # Enum State defines possible states of binding between the consumer VPC
1234
+ # network and the management DNS zone.
1235
+ module State
1236
+ # The default value. This value should never be used.
1237
+ STATE_UNSPECIFIED = 0
1238
+
1239
+ # The binding is ready.
1240
+ ACTIVE = 1
1241
+
1242
+ # The binding is being created.
1243
+ CREATING = 2
1244
+
1245
+ # The binding is being updated.
1246
+ UPDATING = 3
1247
+
1248
+ # The binding is being deleted.
1249
+ DELETING = 4
1250
+
1251
+ # The binding has failed.
1252
+ FAILED = 5
1253
+ end
1254
+ end
1255
+
648
1256
  # VMware Engine network resource that provides connectivity for VMware Engine
649
1257
  # private clouds.
650
1258
  # @!attribute [r] name
@@ -750,6 +1358,9 @@ module Google
750
1358
  # of type `STANDARD`. This network type is no longer used for new VMware
751
1359
  # Engine private cloud deployments.
752
1360
  LEGACY = 1
1361
+
1362
+ # Standard network type used for private cloud connectivity.
1363
+ STANDARD = 2
753
1364
  end
754
1365
  end
755
1366
 
@@ -895,6 +1506,60 @@ module Google
895
1506
  PEERING_INACTIVE = 2
896
1507
  end
897
1508
  end
1509
+
1510
+ # VmwareEngine specific metadata for the given
1511
+ # `::Google::Cloud::Location::Location`. It is
1512
+ # returned as a content of the `google.cloud.location.Location.metadata` field.
1513
+ # @!attribute [r] capabilities
1514
+ # @return [::Array<::Google::Cloud::VmwareEngine::V1::LocationMetadata::Capability>]
1515
+ # Output only. Capabilities of this location.
1516
+ class LocationMetadata
1517
+ include ::Google::Protobuf::MessageExts
1518
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1519
+
1520
+ # Capability of a location.
1521
+ module Capability
1522
+ # The default value. This value is used if the capability is omitted or
1523
+ # unknown.
1524
+ CAPABILITY_UNSPECIFIED = 0
1525
+
1526
+ # Stretch clusters are supported in this location.
1527
+ STRETCHED_CLUSTERS = 1
1528
+ end
1529
+ end
1530
+
1531
+ # DnsBindPermission resource that contains the accounts having the consumer DNS
1532
+ # bind permission on the corresponding intranet VPC of the consumer project.
1533
+ # @!attribute [r] name
1534
+ # @return [::String]
1535
+ # Required. Output only. The name of the resource which stores the
1536
+ # users/service accounts having the permission to bind to the corresponding
1537
+ # intranet VPC of the consumer project. DnsBindPermission is a global
1538
+ # resource and location can only be global. Resource names are schemeless
1539
+ # URIs that follow the conventions in
1540
+ # https://cloud.google.com/apis/design/resource_names. For example:
1541
+ # `projects/my-project/locations/global/dnsBindPermission`
1542
+ # @!attribute [r] principals
1543
+ # @return [::Array<::Google::Cloud::VmwareEngine::V1::Principal>]
1544
+ # Output only. Users/Service accounts which have access for binding on the
1545
+ # intranet VPC project corresponding to the consumer project.
1546
+ class DnsBindPermission
1547
+ include ::Google::Protobuf::MessageExts
1548
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1549
+ end
1550
+
1551
+ # Users/Service accounts which have access for DNS binding on the intranet
1552
+ # VPC corresponding to the consumer project.
1553
+ # @!attribute [rw] user
1554
+ # @return [::String]
1555
+ # The user who needs to be granted permission.
1556
+ # @!attribute [rw] service_account
1557
+ # @return [::String]
1558
+ # The service account which needs to be granted the permission.
1559
+ class Principal
1560
+ include ::Google::Protobuf::MessageExts
1561
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1562
+ end
898
1563
  end
899
1564
  end
900
1565
  end