google-cloud-vmware_engine-v1 0.6.1 → 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.
@@ -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