google-apis-vmwareengine_v1 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -205,6 +205,11 @@ module Google
205
205
  # @return [String]
206
206
  attr_accessor :state
207
207
 
208
+ # Configuration of a stretched cluster.
209
+ # Corresponds to the JSON property `stretchedClusterConfig`
210
+ # @return [Google::Apis::VmwareengineV1::StretchedClusterConfig]
211
+ attr_accessor :stretched_cluster_config
212
+
208
213
  # Output only. System-generated unique identifier for the resource.
209
214
  # Corresponds to the JSON property `uid`
210
215
  # @return [String]
@@ -226,6 +231,7 @@ module Google
226
231
  @name = args[:name] if args.key?(:name)
227
232
  @node_type_configs = args[:node_type_configs] if args.key?(:node_type_configs)
228
233
  @state = args[:state] if args.key?(:state)
234
+ @stretched_cluster_config = args[:stretched_cluster_config] if args.key?(:stretched_cluster_config)
229
235
  @uid = args[:uid] if args.key?(:uid)
230
236
  @update_time = args[:update_time] if args.key?(:update_time)
231
237
  end
@@ -256,6 +262,79 @@ module Google
256
262
  end
257
263
  end
258
264
 
265
+ # DnsBindPermission resource that contains the accounts having the consumer DNS
266
+ # bind permission on the corresponding intranet VPC of the consumer project.
267
+ class DnsBindPermission
268
+ include Google::Apis::Core::Hashable
269
+
270
+ # Required. Output only. The name of the resource which stores the users/service
271
+ # accounts having the permission to bind to the corresponding intranet VPC of
272
+ # the consumer project. DnsBindPermission is a global resource. Resource names
273
+ # are schemeless URIs that follow the conventions in https://cloud.google.com/
274
+ # apis/design/resource_names. For example: `projects/my-project/locations/global/
275
+ # dnsBindPermission`
276
+ # Corresponds to the JSON property `name`
277
+ # @return [String]
278
+ attr_accessor :name
279
+
280
+ # Output only. Users/Service accounts which have access for binding on the
281
+ # intranet VPC project corresponding to the consumer project.
282
+ # Corresponds to the JSON property `principals`
283
+ # @return [Array<Google::Apis::VmwareengineV1::Principal>]
284
+ attr_accessor :principals
285
+
286
+ def initialize(**args)
287
+ update!(**args)
288
+ end
289
+
290
+ # Update properties of this object
291
+ def update!(**args)
292
+ @name = args[:name] if args.key?(:name)
293
+ @principals = args[:principals] if args.key?(:principals)
294
+ end
295
+ end
296
+
297
+ # DNS forwarding config. This config defines a list of domain to name server
298
+ # mappings, and is attached to the private cloud for custom domain resolution.
299
+ class DnsForwarding
300
+ include Google::Apis::Core::Hashable
301
+
302
+ # Output only. Creation time of this resource.
303
+ # Corresponds to the JSON property `createTime`
304
+ # @return [String]
305
+ attr_accessor :create_time
306
+
307
+ # Required. List of domain mappings to configure
308
+ # Corresponds to the JSON property `forwardingRules`
309
+ # @return [Array<Google::Apis::VmwareengineV1::ForwardingRule>]
310
+ attr_accessor :forwarding_rules
311
+
312
+ # Output only. The resource name of this DNS profile. Resource names are
313
+ # schemeless URIs that follow the conventions in https://cloud.google.com/apis/
314
+ # design/resource_names. For example: `projects/my-project/locations/us-central1-
315
+ # a/privateClouds/my-cloud/dnsForwarding`
316
+ # Corresponds to the JSON property `name`
317
+ # @return [String]
318
+ attr_accessor :name
319
+
320
+ # Output only. Last update time of this resource.
321
+ # Corresponds to the JSON property `updateTime`
322
+ # @return [String]
323
+ attr_accessor :update_time
324
+
325
+ def initialize(**args)
326
+ update!(**args)
327
+ end
328
+
329
+ # Update properties of this object
330
+ def update!(**args)
331
+ @create_time = args[:create_time] if args.key?(:create_time)
332
+ @forwarding_rules = args[:forwarding_rules] if args.key?(:forwarding_rules)
333
+ @name = args[:name] if args.key?(:name)
334
+ @update_time = args[:update_time] if args.key?(:update_time)
335
+ end
336
+ end
337
+
259
338
  # A generic empty message that you can re-use to avoid defining duplicated empty
260
339
  # messages in your APIs. A typical example is to use it as the request or the
261
340
  # response type of an API method. For instance: service Foo ` rpc Bar(google.
@@ -326,6 +405,279 @@ module Google
326
405
  end
327
406
  end
328
407
 
408
+ # External access firewall rules for filtering incoming traffic destined to `
409
+ # ExternalAddress` resources.
410
+ class ExternalAccessRule
411
+ include Google::Apis::Core::Hashable
412
+
413
+ # The action that the external access rule performs.
414
+ # Corresponds to the JSON property `action`
415
+ # @return [String]
416
+ attr_accessor :action
417
+
418
+ # Output only. Creation time of this resource.
419
+ # Corresponds to the JSON property `createTime`
420
+ # @return [String]
421
+ attr_accessor :create_time
422
+
423
+ # User-provided description for this external access rule.
424
+ # Corresponds to the JSON property `description`
425
+ # @return [String]
426
+ attr_accessor :description
427
+
428
+ # If destination ranges are specified, the external access rule applies only to
429
+ # the traffic that has a destination IP address in these ranges. The specified
430
+ # IP addresses must have reserved external IP addresses in the scope of the
431
+ # parent network policy. To match all external IP addresses in the scope of the
432
+ # parent network policy, specify `0.0.0.0/0`. To match a specific external IP
433
+ # address, specify it using the `IpRange.external_address` property.
434
+ # Corresponds to the JSON property `destinationIpRanges`
435
+ # @return [Array<Google::Apis::VmwareengineV1::IpRange>]
436
+ attr_accessor :destination_ip_ranges
437
+
438
+ # A list of destination ports to which the external access rule applies. This
439
+ # field is only applicable for the UDP or TCP protocol. Each entry must be
440
+ # either an integer or a range. For example: `["22"]`, `["80","443"]`, or `["
441
+ # 12345-12349"]`. To match all destination ports, specify `["0-65535"]`.
442
+ # Corresponds to the JSON property `destinationPorts`
443
+ # @return [Array<String>]
444
+ attr_accessor :destination_ports
445
+
446
+ # The IP protocol to which the external access rule applies. This value can be
447
+ # one of the following three protocol strings (not case-sensitive): `tcp`, `udp`,
448
+ # or `icmp`.
449
+ # Corresponds to the JSON property `ipProtocol`
450
+ # @return [String]
451
+ attr_accessor :ip_protocol
452
+
453
+ # Output only. The resource name of this external access rule. Resource names
454
+ # are schemeless URIs that follow the conventions in https://cloud.google.com/
455
+ # apis/design/resource_names. For example: `projects/my-project/locations/us-
456
+ # central1/networkPolicies/my-policy/externalAccessRules/my-rule`
457
+ # Corresponds to the JSON property `name`
458
+ # @return [String]
459
+ attr_accessor :name
460
+
461
+ # External access rule priority, which determines the external access rule to
462
+ # use when multiple rules apply. If multiple rules have the same priority, their
463
+ # ordering is non-deterministic. If specific ordering is required, assign unique
464
+ # priorities to enforce such ordering. The external access rule priority is an
465
+ # integer from 100 to 4096, both inclusive. Lower integers indicate higher
466
+ # precedence. For example, a rule with priority `100` has higher precedence than
467
+ # a rule with priority `101`.
468
+ # Corresponds to the JSON property `priority`
469
+ # @return [Fixnum]
470
+ attr_accessor :priority
471
+
472
+ # If source ranges are specified, the external access rule applies only to
473
+ # traffic that has a source IP address in these ranges. These ranges can either
474
+ # be expressed in the CIDR format or as an IP address. As only inbound rules are
475
+ # supported, `ExternalAddress` resources cannot be the source IP addresses of an
476
+ # external access rule. To match all source addresses, specify `0.0.0.0/0`.
477
+ # Corresponds to the JSON property `sourceIpRanges`
478
+ # @return [Array<Google::Apis::VmwareengineV1::IpRange>]
479
+ attr_accessor :source_ip_ranges
480
+
481
+ # A list of source ports to which the external access rule applies. This field
482
+ # is only applicable for the UDP or TCP protocol. Each entry must be either an
483
+ # integer or a range. For example: `["22"]`, `["80","443"]`, or `["12345-12349"]`
484
+ # . To match all source ports, specify `["0-65535"]`.
485
+ # Corresponds to the JSON property `sourcePorts`
486
+ # @return [Array<String>]
487
+ attr_accessor :source_ports
488
+
489
+ # Output only. The state of the resource.
490
+ # Corresponds to the JSON property `state`
491
+ # @return [String]
492
+ attr_accessor :state
493
+
494
+ # Output only. System-generated unique identifier for the resource.
495
+ # Corresponds to the JSON property `uid`
496
+ # @return [String]
497
+ attr_accessor :uid
498
+
499
+ # Output only. Last update time of this resource.
500
+ # Corresponds to the JSON property `updateTime`
501
+ # @return [String]
502
+ attr_accessor :update_time
503
+
504
+ def initialize(**args)
505
+ update!(**args)
506
+ end
507
+
508
+ # Update properties of this object
509
+ def update!(**args)
510
+ @action = args[:action] if args.key?(:action)
511
+ @create_time = args[:create_time] if args.key?(:create_time)
512
+ @description = args[:description] if args.key?(:description)
513
+ @destination_ip_ranges = args[:destination_ip_ranges] if args.key?(:destination_ip_ranges)
514
+ @destination_ports = args[:destination_ports] if args.key?(:destination_ports)
515
+ @ip_protocol = args[:ip_protocol] if args.key?(:ip_protocol)
516
+ @name = args[:name] if args.key?(:name)
517
+ @priority = args[:priority] if args.key?(:priority)
518
+ @source_ip_ranges = args[:source_ip_ranges] if args.key?(:source_ip_ranges)
519
+ @source_ports = args[:source_ports] if args.key?(:source_ports)
520
+ @state = args[:state] if args.key?(:state)
521
+ @uid = args[:uid] if args.key?(:uid)
522
+ @update_time = args[:update_time] if args.key?(:update_time)
523
+ end
524
+ end
525
+
526
+ # Represents an allocated external IP address and its corresponding internal IP
527
+ # address in a private cloud.
528
+ class ExternalAddress
529
+ include Google::Apis::Core::Hashable
530
+
531
+ # Output only. Creation time of this resource.
532
+ # Corresponds to the JSON property `createTime`
533
+ # @return [String]
534
+ attr_accessor :create_time
535
+
536
+ # User-provided description for this resource.
537
+ # Corresponds to the JSON property `description`
538
+ # @return [String]
539
+ attr_accessor :description
540
+
541
+ # Output only. The external IP address of a workload VM.
542
+ # Corresponds to the JSON property `externalIp`
543
+ # @return [String]
544
+ attr_accessor :external_ip
545
+
546
+ # The internal IP address of a workload VM.
547
+ # Corresponds to the JSON property `internalIp`
548
+ # @return [String]
549
+ attr_accessor :internal_ip
550
+
551
+ # Output only. The resource name of this external IP address. Resource names are
552
+ # schemeless URIs that follow the conventions in https://cloud.google.com/apis/
553
+ # design/resource_names. For example: `projects/my-project/locations/us-central1-
554
+ # a/privateClouds/my-cloud/externalAddresses/my-address`
555
+ # Corresponds to the JSON property `name`
556
+ # @return [String]
557
+ attr_accessor :name
558
+
559
+ # Output only. The state of the resource.
560
+ # Corresponds to the JSON property `state`
561
+ # @return [String]
562
+ attr_accessor :state
563
+
564
+ # Output only. System-generated unique identifier for the resource.
565
+ # Corresponds to the JSON property `uid`
566
+ # @return [String]
567
+ attr_accessor :uid
568
+
569
+ # Output only. Last update time of this resource.
570
+ # Corresponds to the JSON property `updateTime`
571
+ # @return [String]
572
+ attr_accessor :update_time
573
+
574
+ def initialize(**args)
575
+ update!(**args)
576
+ end
577
+
578
+ # Update properties of this object
579
+ def update!(**args)
580
+ @create_time = args[:create_time] if args.key?(:create_time)
581
+ @description = args[:description] if args.key?(:description)
582
+ @external_ip = args[:external_ip] if args.key?(:external_ip)
583
+ @internal_ip = args[:internal_ip] if args.key?(:internal_ip)
584
+ @name = args[:name] if args.key?(:name)
585
+ @state = args[:state] if args.key?(:state)
586
+ @uid = args[:uid] if args.key?(:uid)
587
+ @update_time = args[:update_time] if args.key?(:update_time)
588
+ end
589
+ end
590
+
591
+ # Response message for VmwareEngine.FetchNetworkPolicyExternalAddresses
592
+ class FetchNetworkPolicyExternalAddressesResponse
593
+ include Google::Apis::Core::Hashable
594
+
595
+ # A list of external IP addresses assigned to VMware workload VMs within the
596
+ # scope of the given network policy.
597
+ # Corresponds to the JSON property `externalAddresses`
598
+ # @return [Array<Google::Apis::VmwareengineV1::ExternalAddress>]
599
+ attr_accessor :external_addresses
600
+
601
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
602
+ # field is omitted, there are no subsequent pages.
603
+ # Corresponds to the JSON property `nextPageToken`
604
+ # @return [String]
605
+ attr_accessor :next_page_token
606
+
607
+ def initialize(**args)
608
+ update!(**args)
609
+ end
610
+
611
+ # Update properties of this object
612
+ def update!(**args)
613
+ @external_addresses = args[:external_addresses] if args.key?(:external_addresses)
614
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
615
+ end
616
+ end
617
+
618
+ # A forwarding rule is a mapping of a `domain` to `name_servers`. This mapping
619
+ # allows VMware Engine to resolve domains for attached private clouds by
620
+ # forwarding DNS requests for a given domain to the specified nameservers.
621
+ class ForwardingRule
622
+ include Google::Apis::Core::Hashable
623
+
624
+ # Required. Domain used to resolve a `name_servers` list.
625
+ # Corresponds to the JSON property `domain`
626
+ # @return [String]
627
+ attr_accessor :domain
628
+
629
+ # Required. List of DNS servers to use for domain resolution
630
+ # Corresponds to the JSON property `nameServers`
631
+ # @return [Array<String>]
632
+ attr_accessor :name_servers
633
+
634
+ def initialize(**args)
635
+ update!(**args)
636
+ end
637
+
638
+ # Update properties of this object
639
+ def update!(**args)
640
+ @domain = args[:domain] if args.key?(:domain)
641
+ @name_servers = args[:name_servers] if args.key?(:name_servers)
642
+ end
643
+ end
644
+
645
+ # Request message for VmwareEngine.GrantDnsBindPermission
646
+ class GrantDnsBindPermissionRequest
647
+ include Google::Apis::Core::Hashable
648
+
649
+ # Users/Service accounts which have access for DNS binding on the intranet VPC
650
+ # corresponding to the consumer project.
651
+ # Corresponds to the JSON property `principal`
652
+ # @return [Google::Apis::VmwareengineV1::Principal]
653
+ attr_accessor :principal
654
+
655
+ # Optional. A request ID to identify requests. Specify a unique request ID so
656
+ # that if you must retry your request, the server will know to ignore the
657
+ # request if it has already been completed. The server guarantees that a request
658
+ # doesn't result in creation of duplicate commitments for at least 60 minutes.
659
+ # For example, consider a situation where you make an initial request and the
660
+ # request times out. If you make the request again with the same request ID, the
661
+ # server can check if original operation with the same request ID was received,
662
+ # and if so, will ignore the second request. This prevents clients from
663
+ # accidentally creating duplicate commitments. The request ID must be a valid
664
+ # UUID with the exception that zero UUID is not supported (00000000-0000-0000-
665
+ # 0000-000000000000).
666
+ # Corresponds to the JSON property `requestId`
667
+ # @return [String]
668
+ attr_accessor :request_id
669
+
670
+ def initialize(**args)
671
+ update!(**args)
672
+ end
673
+
674
+ # Update properties of this object
675
+ def update!(**args)
676
+ @principal = args[:principal] if args.key?(:principal)
677
+ @request_id = args[:request_id] if args.key?(:request_id)
678
+ end
679
+ end
680
+
329
681
  # Details about a HCX Cloud Manager appliance.
330
682
  class Hcx
331
683
  include Google::Apis::Core::Hashable
@@ -404,22 +756,124 @@ module Google
404
756
 
405
757
  # Update properties of this object
406
758
  def update!(**args)
407
- @activation_key = args[:activation_key] if args.key?(:activation_key)
408
- @create_time = args[:create_time] if args.key?(:create_time)
409
- @name = args[:name] if args.key?(:name)
410
- @state = args[:state] if args.key?(:state)
411
- @uid = args[:uid] if args.key?(:uid)
759
+ @activation_key = args[:activation_key] if args.key?(:activation_key)
760
+ @create_time = args[:create_time] if args.key?(:create_time)
761
+ @name = args[:name] if args.key?(:name)
762
+ @state = args[:state] if args.key?(:state)
763
+ @uid = args[:uid] if args.key?(:uid)
764
+ end
765
+ end
766
+
767
+ # An IP range provided in any one of the supported formats.
768
+ class IpRange
769
+ include Google::Apis::Core::Hashable
770
+
771
+ # The name of an `ExternalAddress` resource. The external address must have been
772
+ # reserved in the scope of this external access rule's parent network policy.
773
+ # Provide the external address name in the form of `projects/`project`/locations/
774
+ # `location`/privateClouds/`private_cloud`/externalAddresses/`external_address``.
775
+ # For example: `projects/my-project/locations/us-central1-a/privateClouds/my-
776
+ # cloud/externalAddresses/my-address`.
777
+ # Corresponds to the JSON property `externalAddress`
778
+ # @return [String]
779
+ attr_accessor :external_address
780
+
781
+ # A single IP address. For example: `10.0.0.5`.
782
+ # Corresponds to the JSON property `ipAddress`
783
+ # @return [String]
784
+ attr_accessor :ip_address
785
+
786
+ # An IP address range in the CIDR format. For example: `10.0.0.0/24`.
787
+ # Corresponds to the JSON property `ipAddressRange`
788
+ # @return [String]
789
+ attr_accessor :ip_address_range
790
+
791
+ def initialize(**args)
792
+ update!(**args)
793
+ end
794
+
795
+ # Update properties of this object
796
+ def update!(**args)
797
+ @external_address = args[:external_address] if args.key?(:external_address)
798
+ @ip_address = args[:ip_address] if args.key?(:ip_address)
799
+ @ip_address_range = args[:ip_address_range] if args.key?(:ip_address_range)
800
+ end
801
+ end
802
+
803
+ # Response message for VmwareEngine.ListClusters
804
+ class ListClustersResponse
805
+ include Google::Apis::Core::Hashable
806
+
807
+ # A list of private cloud clusters.
808
+ # Corresponds to the JSON property `clusters`
809
+ # @return [Array<Google::Apis::VmwareengineV1::Cluster>]
810
+ attr_accessor :clusters
811
+
812
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
813
+ # field is omitted, there are no subsequent pages.
814
+ # Corresponds to the JSON property `nextPageToken`
815
+ # @return [String]
816
+ attr_accessor :next_page_token
817
+
818
+ # Locations that could not be reached when making an aggregated query using
819
+ # wildcards.
820
+ # Corresponds to the JSON property `unreachable`
821
+ # @return [Array<String>]
822
+ attr_accessor :unreachable
823
+
824
+ def initialize(**args)
825
+ update!(**args)
826
+ end
827
+
828
+ # Update properties of this object
829
+ def update!(**args)
830
+ @clusters = args[:clusters] if args.key?(:clusters)
831
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
832
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
833
+ end
834
+ end
835
+
836
+ # Response message for VmwareEngine.ListExternalAccessRules
837
+ class ListExternalAccessRulesResponse
838
+ include Google::Apis::Core::Hashable
839
+
840
+ # A list of external access firewall rules.
841
+ # Corresponds to the JSON property `externalAccessRules`
842
+ # @return [Array<Google::Apis::VmwareengineV1::ExternalAccessRule>]
843
+ attr_accessor :external_access_rules
844
+
845
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
846
+ # field is omitted, there are no subsequent pages.
847
+ # Corresponds to the JSON property `nextPageToken`
848
+ # @return [String]
849
+ attr_accessor :next_page_token
850
+
851
+ # Locations that could not be reached when making an aggregated query using
852
+ # wildcards.
853
+ # Corresponds to the JSON property `unreachable`
854
+ # @return [Array<String>]
855
+ attr_accessor :unreachable
856
+
857
+ def initialize(**args)
858
+ update!(**args)
859
+ end
860
+
861
+ # Update properties of this object
862
+ def update!(**args)
863
+ @external_access_rules = args[:external_access_rules] if args.key?(:external_access_rules)
864
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
865
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
412
866
  end
413
867
  end
414
868
 
415
- # Response message for VmwareEngine.ListClusters
416
- class ListClustersResponse
869
+ # Response message for VmwareEngine.ListExternalAddresses
870
+ class ListExternalAddressesResponse
417
871
  include Google::Apis::Core::Hashable
418
872
 
419
- # A list of private cloud clusters.
420
- # Corresponds to the JSON property `clusters`
421
- # @return [Array<Google::Apis::VmwareengineV1::Cluster>]
422
- attr_accessor :clusters
873
+ # A list of external IP addresses.
874
+ # Corresponds to the JSON property `externalAddresses`
875
+ # @return [Array<Google::Apis::VmwareengineV1::ExternalAddress>]
876
+ attr_accessor :external_addresses
423
877
 
424
878
  # A token, which can be sent as `page_token` to retrieve the next page. If this
425
879
  # field is omitted, there are no subsequent pages.
@@ -439,7 +893,7 @@ module Google
439
893
 
440
894
  # Update properties of this object
441
895
  def update!(**args)
442
- @clusters = args[:clusters] if args.key?(:clusters)
896
+ @external_addresses = args[:external_addresses] if args.key?(:external_addresses)
443
897
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
444
898
  @unreachable = args[:unreachable] if args.key?(:unreachable)
445
899
  end
@@ -503,6 +957,104 @@ module Google
503
957
  end
504
958
  end
505
959
 
960
+ # Response message for VmwareEngine.ListLoggingServers
961
+ class ListLoggingServersResponse
962
+ include Google::Apis::Core::Hashable
963
+
964
+ # A list of Logging Servers.
965
+ # Corresponds to the JSON property `loggingServers`
966
+ # @return [Array<Google::Apis::VmwareengineV1::LoggingServer>]
967
+ attr_accessor :logging_servers
968
+
969
+ # A token, which can be send as `page_token` to retrieve the next page. If this
970
+ # field is omitted, there are no subsequent pages.
971
+ # Corresponds to the JSON property `nextPageToken`
972
+ # @return [String]
973
+ attr_accessor :next_page_token
974
+
975
+ # Locations that could not be reached when making an aggregated query using
976
+ # wildcards.
977
+ # Corresponds to the JSON property `unreachable`
978
+ # @return [Array<String>]
979
+ attr_accessor :unreachable
980
+
981
+ def initialize(**args)
982
+ update!(**args)
983
+ end
984
+
985
+ # Update properties of this object
986
+ def update!(**args)
987
+ @logging_servers = args[:logging_servers] if args.key?(:logging_servers)
988
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
989
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
990
+ end
991
+ end
992
+
993
+ # Response message for VmwareEngine.ListManagementDnsZoneBindings
994
+ class ListManagementDnsZoneBindingsResponse
995
+ include Google::Apis::Core::Hashable
996
+
997
+ # A list of management DNS zone bindings.
998
+ # Corresponds to the JSON property `managementDnsZoneBindings`
999
+ # @return [Array<Google::Apis::VmwareengineV1::ManagementDnsZoneBinding>]
1000
+ attr_accessor :management_dns_zone_bindings
1001
+
1002
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
1003
+ # field is omitted, there are no subsequent pages.
1004
+ # Corresponds to the JSON property `nextPageToken`
1005
+ # @return [String]
1006
+ attr_accessor :next_page_token
1007
+
1008
+ # Locations that could not be reached when making an aggregated query using
1009
+ # wildcards.
1010
+ # Corresponds to the JSON property `unreachable`
1011
+ # @return [Array<String>]
1012
+ attr_accessor :unreachable
1013
+
1014
+ def initialize(**args)
1015
+ update!(**args)
1016
+ end
1017
+
1018
+ # Update properties of this object
1019
+ def update!(**args)
1020
+ @management_dns_zone_bindings = args[:management_dns_zone_bindings] if args.key?(:management_dns_zone_bindings)
1021
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1022
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
1023
+ end
1024
+ end
1025
+
1026
+ # Response message for VmwareEngine.ListNetworkPeerings
1027
+ class ListNetworkPeeringsResponse
1028
+ include Google::Apis::Core::Hashable
1029
+
1030
+ # A list of network peerings.
1031
+ # Corresponds to the JSON property `networkPeerings`
1032
+ # @return [Array<Google::Apis::VmwareengineV1::NetworkPeering>]
1033
+ attr_accessor :network_peerings
1034
+
1035
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
1036
+ # field is omitted, there are no subsequent pages.
1037
+ # Corresponds to the JSON property `nextPageToken`
1038
+ # @return [String]
1039
+ attr_accessor :next_page_token
1040
+
1041
+ # Unreachable resources.
1042
+ # Corresponds to the JSON property `unreachable`
1043
+ # @return [Array<String>]
1044
+ attr_accessor :unreachable
1045
+
1046
+ def initialize(**args)
1047
+ update!(**args)
1048
+ end
1049
+
1050
+ # Update properties of this object
1051
+ def update!(**args)
1052
+ @network_peerings = args[:network_peerings] if args.key?(:network_peerings)
1053
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1054
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
1055
+ end
1056
+ end
1057
+
506
1058
  # Response message for VmwareEngine.ListNetworkPolicies
507
1059
  class ListNetworkPoliciesResponse
508
1060
  include Google::Apis::Core::Hashable
@@ -569,6 +1121,32 @@ module Google
569
1121
  end
570
1122
  end
571
1123
 
1124
+ # Response message for VmwareEngine.ListNodes
1125
+ class ListNodesResponse
1126
+ include Google::Apis::Core::Hashable
1127
+
1128
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
1129
+ # field is omitted, there are no subsequent pages.
1130
+ # Corresponds to the JSON property `nextPageToken`
1131
+ # @return [String]
1132
+ attr_accessor :next_page_token
1133
+
1134
+ # The nodes.
1135
+ # Corresponds to the JSON property `nodes`
1136
+ # @return [Array<Google::Apis::VmwareengineV1::Node>]
1137
+ attr_accessor :nodes
1138
+
1139
+ def initialize(**args)
1140
+ update!(**args)
1141
+ end
1142
+
1143
+ # Update properties of this object
1144
+ def update!(**args)
1145
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1146
+ @nodes = args[:nodes] if args.key?(:nodes)
1147
+ end
1148
+ end
1149
+
572
1150
  # The response message for Operations.ListOperations.
573
1151
  class ListOperationsResponse
574
1152
  include Google::Apis::Core::Hashable
@@ -594,6 +1172,32 @@ module Google
594
1172
  end
595
1173
  end
596
1174
 
1175
+ # Response message for VmwareEngine.ListPeeringRoutes
1176
+ class ListPeeringRoutesResponse
1177
+ include Google::Apis::Core::Hashable
1178
+
1179
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
1180
+ # field is omitted, there are no subsequent pages.
1181
+ # Corresponds to the JSON property `nextPageToken`
1182
+ # @return [String]
1183
+ attr_accessor :next_page_token
1184
+
1185
+ # A list of peering routes.
1186
+ # Corresponds to the JSON property `peeringRoutes`
1187
+ # @return [Array<Google::Apis::VmwareengineV1::PeeringRoute>]
1188
+ attr_accessor :peering_routes
1189
+
1190
+ def initialize(**args)
1191
+ update!(**args)
1192
+ end
1193
+
1194
+ # Update properties of this object
1195
+ def update!(**args)
1196
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1197
+ @peering_routes = args[:peering_routes] if args.key?(:peering_routes)
1198
+ end
1199
+ end
1200
+
597
1201
  # Response message for VmwareEngine.ListPrivateClouds
598
1202
  class ListPrivateCloudsResponse
599
1203
  include Google::Apis::Core::Hashable
@@ -787,34 +1391,195 @@ module Google
787
1391
  update!(**args)
788
1392
  end
789
1393
 
790
- # Update properties of this object
791
- def update!(**args)
792
- @display_name = args[:display_name] if args.key?(:display_name)
793
- @labels = args[:labels] if args.key?(:labels)
794
- @location_id = args[:location_id] if args.key?(:location_id)
795
- @metadata = args[:metadata] if args.key?(:metadata)
796
- @name = args[:name] if args.key?(:name)
797
- end
798
- end
1394
+ # Update properties of this object
1395
+ def update!(**args)
1396
+ @display_name = args[:display_name] if args.key?(:display_name)
1397
+ @labels = args[:labels] if args.key?(:labels)
1398
+ @location_id = args[:location_id] if args.key?(:location_id)
1399
+ @metadata = args[:metadata] if args.key?(:metadata)
1400
+ @name = args[:name] if args.key?(:name)
1401
+ end
1402
+ end
1403
+
1404
+ # VmwareEngine specific metadata for the given google.cloud.location.Location.
1405
+ # It is returned as a content of the `google.cloud.location.Location.metadata`
1406
+ # field.
1407
+ class LocationMetadata
1408
+ include Google::Apis::Core::Hashable
1409
+
1410
+ # Output only. Capabilities of this location.
1411
+ # Corresponds to the JSON property `capabilities`
1412
+ # @return [Array<String>]
1413
+ attr_accessor :capabilities
1414
+
1415
+ def initialize(**args)
1416
+ update!(**args)
1417
+ end
1418
+
1419
+ # Update properties of this object
1420
+ def update!(**args)
1421
+ @capabilities = args[:capabilities] if args.key?(:capabilities)
1422
+ end
1423
+ end
1424
+
1425
+ # Logging server to receive vCenter or ESXi logs.
1426
+ class LoggingServer
1427
+ include Google::Apis::Core::Hashable
1428
+
1429
+ # Output only. Creation time of this resource.
1430
+ # Corresponds to the JSON property `createTime`
1431
+ # @return [String]
1432
+ attr_accessor :create_time
1433
+
1434
+ # Required. Fully-qualified domain name (FQDN) or IP Address of the logging
1435
+ # server.
1436
+ # Corresponds to the JSON property `hostname`
1437
+ # @return [String]
1438
+ attr_accessor :hostname
1439
+
1440
+ # Output only. The resource name of this logging server. Resource names are
1441
+ # schemeless URIs that follow the conventions in https://cloud.google.com/apis/
1442
+ # design/resource_names. For example: `projects/my-project/locations/us-central1-
1443
+ # a/privateClouds/my-cloud/loggingServers/my-logging-server`
1444
+ # Corresponds to the JSON property `name`
1445
+ # @return [String]
1446
+ attr_accessor :name
1447
+
1448
+ # Required. Port number at which the logging server receives logs.
1449
+ # Corresponds to the JSON property `port`
1450
+ # @return [Fixnum]
1451
+ attr_accessor :port
1452
+
1453
+ # Required. Protocol used by vCenter to send logs to a logging server.
1454
+ # Corresponds to the JSON property `protocol`
1455
+ # @return [String]
1456
+ attr_accessor :protocol
1457
+
1458
+ # Required. The type of component that produces logs that will be forwarded to
1459
+ # this logging server.
1460
+ # Corresponds to the JSON property `sourceType`
1461
+ # @return [String]
1462
+ attr_accessor :source_type
1463
+
1464
+ # Output only. System-generated unique identifier for the resource.
1465
+ # Corresponds to the JSON property `uid`
1466
+ # @return [String]
1467
+ attr_accessor :uid
1468
+
1469
+ # Output only. Last update time of this resource.
1470
+ # Corresponds to the JSON property `updateTime`
1471
+ # @return [String]
1472
+ attr_accessor :update_time
1473
+
1474
+ def initialize(**args)
1475
+ update!(**args)
1476
+ end
1477
+
1478
+ # Update properties of this object
1479
+ def update!(**args)
1480
+ @create_time = args[:create_time] if args.key?(:create_time)
1481
+ @hostname = args[:hostname] if args.key?(:hostname)
1482
+ @name = args[:name] if args.key?(:name)
1483
+ @port = args[:port] if args.key?(:port)
1484
+ @protocol = args[:protocol] if args.key?(:protocol)
1485
+ @source_type = args[:source_type] if args.key?(:source_type)
1486
+ @uid = args[:uid] if args.key?(:uid)
1487
+ @update_time = args[:update_time] if args.key?(:update_time)
1488
+ end
1489
+ end
1490
+
1491
+ # Management cluster configuration.
1492
+ class ManagementCluster
1493
+ include Google::Apis::Core::Hashable
1494
+
1495
+ # Required. The user-provided identifier of the new `Cluster`. The identifier
1496
+ # must meet the following requirements: * Only contains 1-63 alphanumeric
1497
+ # characters and hyphens * Begins with an alphabetical character * Ends with a
1498
+ # non-hyphen character * Not formatted as a UUID * Complies with [RFC 1034](
1499
+ # https://datatracker.ietf.org/doc/html/rfc1034) (section 3.5)
1500
+ # Corresponds to the JSON property `clusterId`
1501
+ # @return [String]
1502
+ attr_accessor :cluster_id
1503
+
1504
+ # Required. The map of cluster node types in this cluster, where the key is
1505
+ # canonical identifier of the node type (corresponds to the `NodeType`).
1506
+ # Corresponds to the JSON property `nodeTypeConfigs`
1507
+ # @return [Hash<String,Google::Apis::VmwareengineV1::NodeTypeConfig>]
1508
+ attr_accessor :node_type_configs
1509
+
1510
+ # Configuration of a stretched cluster.
1511
+ # Corresponds to the JSON property `stretchedClusterConfig`
1512
+ # @return [Google::Apis::VmwareengineV1::StretchedClusterConfig]
1513
+ attr_accessor :stretched_cluster_config
1514
+
1515
+ def initialize(**args)
1516
+ update!(**args)
1517
+ end
1518
+
1519
+ # Update properties of this object
1520
+ def update!(**args)
1521
+ @cluster_id = args[:cluster_id] if args.key?(:cluster_id)
1522
+ @node_type_configs = args[:node_type_configs] if args.key?(:node_type_configs)
1523
+ @stretched_cluster_config = args[:stretched_cluster_config] if args.key?(:stretched_cluster_config)
1524
+ end
1525
+ end
1526
+
1527
+ # Represents a binding between a network and the management DNS zone. A
1528
+ # management DNS zone is the Cloud DNS cross-project binding zone that VMware
1529
+ # Engine creates for each private cloud. It contains FQDNs and corresponding IP
1530
+ # addresses for the private cloud's ESXi hosts and management VM appliances like
1531
+ # vCenter and NSX Manager.
1532
+ class ManagementDnsZoneBinding
1533
+ include Google::Apis::Core::Hashable
1534
+
1535
+ # Output only. Creation time of this resource.
1536
+ # Corresponds to the JSON property `createTime`
1537
+ # @return [String]
1538
+ attr_accessor :create_time
1539
+
1540
+ # User-provided description for this resource.
1541
+ # Corresponds to the JSON property `description`
1542
+ # @return [String]
1543
+ attr_accessor :description
1544
+
1545
+ # Output only. The resource name of this binding. Resource names are schemeless
1546
+ # URIs that follow the conventions in https://cloud.google.com/apis/design/
1547
+ # resource_names. For example: `projects/my-project/locations/us-central1-a/
1548
+ # privateClouds/my-cloud/managementDnsZoneBindings/my-management-dns-zone-
1549
+ # binding`
1550
+ # Corresponds to the JSON property `name`
1551
+ # @return [String]
1552
+ attr_accessor :name
1553
+
1554
+ # Output only. The state of the resource.
1555
+ # Corresponds to the JSON property `state`
1556
+ # @return [String]
1557
+ attr_accessor :state
1558
+
1559
+ # Output only. System-generated unique identifier for the resource.
1560
+ # Corresponds to the JSON property `uid`
1561
+ # @return [String]
1562
+ attr_accessor :uid
799
1563
 
800
- # Management cluster configuration.
801
- class ManagementCluster
802
- include Google::Apis::Core::Hashable
1564
+ # Output only. Last update time of this resource.
1565
+ # Corresponds to the JSON property `updateTime`
1566
+ # @return [String]
1567
+ attr_accessor :update_time
803
1568
 
804
- # Required. The user-provided identifier of the new `Cluster`. The identifier
805
- # must meet the following requirements: * Only contains 1-63 alphanumeric
806
- # characters and hyphens * Begins with an alphabetical character * Ends with a
807
- # non-hyphen character * Not formatted as a UUID * Complies with [RFC 1034](
808
- # https://datatracker.ietf.org/doc/html/rfc1034) (section 3.5)
809
- # Corresponds to the JSON property `clusterId`
1569
+ # Network to bind is a VMware Engine network. Specify the name in the following
1570
+ # form for VMware engine network: `projects/`project`/locations/global/
1571
+ # vmwareEngineNetworks/`vmware_engine_network_id``. ``project`` can either be a
1572
+ # project number or a project ID.
1573
+ # Corresponds to the JSON property `vmwareEngineNetwork`
810
1574
  # @return [String]
811
- attr_accessor :cluster_id
1575
+ attr_accessor :vmware_engine_network
812
1576
 
813
- # Required. The map of cluster node types in this cluster, where the key is
814
- # canonical identifier of the node type (corresponds to the `NodeType`).
815
- # Corresponds to the JSON property `nodeTypeConfigs`
816
- # @return [Hash<String,Google::Apis::VmwareengineV1::NodeTypeConfig>]
817
- attr_accessor :node_type_configs
1577
+ # Network to bind is a standard consumer VPC. Specify the name in the following
1578
+ # form for consumer VPC network: `projects/`project`/global/networks/`network_id`
1579
+ # `. ``project`` can either be a project number or a project ID.
1580
+ # Corresponds to the JSON property `vpcNetwork`
1581
+ # @return [String]
1582
+ attr_accessor :vpc_network
818
1583
 
819
1584
  def initialize(**args)
820
1585
  update!(**args)
@@ -822,8 +1587,14 @@ module Google
822
1587
 
823
1588
  # Update properties of this object
824
1589
  def update!(**args)
825
- @cluster_id = args[:cluster_id] if args.key?(:cluster_id)
826
- @node_type_configs = args[:node_type_configs] if args.key?(:node_type_configs)
1590
+ @create_time = args[:create_time] if args.key?(:create_time)
1591
+ @description = args[:description] if args.key?(:description)
1592
+ @name = args[:name] if args.key?(:name)
1593
+ @state = args[:state] if args.key?(:state)
1594
+ @uid = args[:uid] if args.key?(:uid)
1595
+ @update_time = args[:update_time] if args.key?(:update_time)
1596
+ @vmware_engine_network = args[:vmware_engine_network] if args.key?(:vmware_engine_network)
1597
+ @vpc_network = args[:vpc_network] if args.key?(:vpc_network)
827
1598
  end
828
1599
  end
829
1600
 
@@ -832,6 +1603,13 @@ module Google
832
1603
  class NetworkConfig
833
1604
  include Google::Apis::Core::Hashable
834
1605
 
1606
+ # Output only. DNS Server IP of the Private Cloud. All DNS queries can be
1607
+ # forwarded to this address for name resolution of Private Cloud's management
1608
+ # entities like vCenter, NSX-T Manager and ESXi hosts.
1609
+ # Corresponds to the JSON property `dnsServerIp`
1610
+ # @return [String]
1611
+ attr_accessor :dns_server_ip
1612
+
835
1613
  # Required. Management CIDR used by VMware management appliances.
836
1614
  # Corresponds to the JSON property `managementCidr`
837
1615
  # @return [String]
@@ -869,6 +1647,7 @@ module Google
869
1647
 
870
1648
  # Update properties of this object
871
1649
  def update!(**args)
1650
+ @dns_server_ip = args[:dns_server_ip] if args.key?(:dns_server_ip)
872
1651
  @management_cidr = args[:management_cidr] if args.key?(:management_cidr)
873
1652
  @management_ip_address_layout_version = args[:management_ip_address_layout_version] if args.key?(:management_ip_address_layout_version)
874
1653
  @vmware_engine_network = args[:vmware_engine_network] if args.key?(:vmware_engine_network)
@@ -876,6 +1655,148 @@ module Google
876
1655
  end
877
1656
  end
878
1657
 
1658
+ # Details of a network peering.
1659
+ class NetworkPeering
1660
+ include Google::Apis::Core::Hashable
1661
+
1662
+ # Output only. Creation time of this resource.
1663
+ # Corresponds to the JSON property `createTime`
1664
+ # @return [String]
1665
+ attr_accessor :create_time
1666
+
1667
+ # Optional. User-provided description for this network peering.
1668
+ # Corresponds to the JSON property `description`
1669
+ # @return [String]
1670
+ attr_accessor :description
1671
+
1672
+ # Optional. True if full mesh connectivity is created and managed automatically
1673
+ # between peered networks; false otherwise. Currently this field is always true
1674
+ # because Google Compute Engine automatically creates and manages subnetwork
1675
+ # routes between two VPC networks when peering state is 'ACTIVE'.
1676
+ # Corresponds to the JSON property `exchangeSubnetRoutes`
1677
+ # @return [Boolean]
1678
+ attr_accessor :exchange_subnet_routes
1679
+ alias_method :exchange_subnet_routes?, :exchange_subnet_routes
1680
+
1681
+ # Optional. True if custom routes are exported to the peered network; false
1682
+ # otherwise. The default value is true.
1683
+ # Corresponds to the JSON property `exportCustomRoutes`
1684
+ # @return [Boolean]
1685
+ attr_accessor :export_custom_routes
1686
+ alias_method :export_custom_routes?, :export_custom_routes
1687
+
1688
+ # Optional. True if all subnet routes with a public IP address range are
1689
+ # exported; false otherwise. The default value is true. IPv4 special-use ranges (
1690
+ # https://en.wikipedia.org/wiki/IPv4#Special_addresses) are always exported to
1691
+ # peers and are not controlled by this field.
1692
+ # Corresponds to the JSON property `exportCustomRoutesWithPublicIp`
1693
+ # @return [Boolean]
1694
+ attr_accessor :export_custom_routes_with_public_ip
1695
+ alias_method :export_custom_routes_with_public_ip?, :export_custom_routes_with_public_ip
1696
+
1697
+ # Optional. True if custom routes are imported from the peered network; false
1698
+ # otherwise. The default value is true.
1699
+ # Corresponds to the JSON property `importCustomRoutes`
1700
+ # @return [Boolean]
1701
+ attr_accessor :import_custom_routes
1702
+ alias_method :import_custom_routes?, :import_custom_routes
1703
+
1704
+ # Optional. True if all subnet routes with public IP address range are imported;
1705
+ # false otherwise. The default value is true. IPv4 special-use ranges (https://
1706
+ # en.wikipedia.org/wiki/IPv4#Special_addresses) are always imported to peers and
1707
+ # are not controlled by this field.
1708
+ # Corresponds to the JSON property `importCustomRoutesWithPublicIp`
1709
+ # @return [Boolean]
1710
+ attr_accessor :import_custom_routes_with_public_ip
1711
+ alias_method :import_custom_routes_with_public_ip?, :import_custom_routes_with_public_ip
1712
+
1713
+ # Output only. The resource name of the network peering. Resource names are
1714
+ # scheme-less URIs that follow the conventions in https://cloud.google.com/apis/
1715
+ # design/resource_names. For example: `projects/my-project/locations/global/
1716
+ # networkPeerings/my-peering`
1717
+ # Corresponds to the JSON property `name`
1718
+ # @return [String]
1719
+ attr_accessor :name
1720
+
1721
+ # Optional. Maximum transmission unit (MTU) in bytes. The default value is `1500`
1722
+ # . If a value of `0` is provided for this field, VMware Engine uses the default
1723
+ # value instead.
1724
+ # Corresponds to the JSON property `peerMtu`
1725
+ # @return [Fixnum]
1726
+ attr_accessor :peer_mtu
1727
+
1728
+ # Required. The relative resource name of the network to peer with a standard
1729
+ # VMware Engine network. The provided network can be a consumer VPC network or
1730
+ # another standard VMware Engine network. If the `peer_network_type` is
1731
+ # VMWARE_ENGINE_NETWORK, specify the name in the form: `projects/`project`/
1732
+ # locations/global/vmwareEngineNetworks/`vmware_engine_network_id``. Otherwise
1733
+ # specify the name in the form: `projects/`project`/global/networks/`network_id``
1734
+ # , where ``project`` can either be a project number or a project ID.
1735
+ # Corresponds to the JSON property `peerNetwork`
1736
+ # @return [String]
1737
+ attr_accessor :peer_network
1738
+
1739
+ # Required. The type of the network to peer with the VMware Engine network.
1740
+ # Corresponds to the JSON property `peerNetworkType`
1741
+ # @return [String]
1742
+ attr_accessor :peer_network_type
1743
+
1744
+ # Output only. State of the network peering. This field has a value of 'ACTIVE'
1745
+ # when there's a matching configuration in the peer network. New values may be
1746
+ # added to this enum when appropriate.
1747
+ # Corresponds to the JSON property `state`
1748
+ # @return [String]
1749
+ attr_accessor :state
1750
+
1751
+ # Output only. Output Only. Details about the current state of the network
1752
+ # peering.
1753
+ # Corresponds to the JSON property `stateDetails`
1754
+ # @return [String]
1755
+ attr_accessor :state_details
1756
+
1757
+ # Output only. System-generated unique identifier for the resource.
1758
+ # Corresponds to the JSON property `uid`
1759
+ # @return [String]
1760
+ attr_accessor :uid
1761
+
1762
+ # Output only. Last update time of this resource.
1763
+ # Corresponds to the JSON property `updateTime`
1764
+ # @return [String]
1765
+ attr_accessor :update_time
1766
+
1767
+ # Required. The relative resource name of the VMware Engine network. Specify the
1768
+ # name in the following form: `projects/`project`/locations/`location`/
1769
+ # vmwareEngineNetworks/`vmware_engine_network_id`` where ``project`` can either
1770
+ # be a project number or a project ID.
1771
+ # Corresponds to the JSON property `vmwareEngineNetwork`
1772
+ # @return [String]
1773
+ attr_accessor :vmware_engine_network
1774
+
1775
+ def initialize(**args)
1776
+ update!(**args)
1777
+ end
1778
+
1779
+ # Update properties of this object
1780
+ def update!(**args)
1781
+ @create_time = args[:create_time] if args.key?(:create_time)
1782
+ @description = args[:description] if args.key?(:description)
1783
+ @exchange_subnet_routes = args[:exchange_subnet_routes] if args.key?(:exchange_subnet_routes)
1784
+ @export_custom_routes = args[:export_custom_routes] if args.key?(:export_custom_routes)
1785
+ @export_custom_routes_with_public_ip = args[:export_custom_routes_with_public_ip] if args.key?(:export_custom_routes_with_public_ip)
1786
+ @import_custom_routes = args[:import_custom_routes] if args.key?(:import_custom_routes)
1787
+ @import_custom_routes_with_public_ip = args[:import_custom_routes_with_public_ip] if args.key?(:import_custom_routes_with_public_ip)
1788
+ @name = args[:name] if args.key?(:name)
1789
+ @peer_mtu = args[:peer_mtu] if args.key?(:peer_mtu)
1790
+ @peer_network = args[:peer_network] if args.key?(:peer_network)
1791
+ @peer_network_type = args[:peer_network_type] if args.key?(:peer_network_type)
1792
+ @state = args[:state] if args.key?(:state)
1793
+ @state_details = args[:state_details] if args.key?(:state_details)
1794
+ @uid = args[:uid] if args.key?(:uid)
1795
+ @update_time = args[:update_time] if args.key?(:update_time)
1796
+ @vmware_engine_network = args[:vmware_engine_network] if args.key?(:vmware_engine_network)
1797
+ end
1798
+ end
1799
+
879
1800
  # Represents a network policy resource. Network policies are regional resources.
880
1801
  # You can use a network policy to enable or disable internet access and external
881
1802
  # IP access. Network policies are associated with a VMware Engine network, which
@@ -1003,6 +1924,66 @@ module Google
1003
1924
  end
1004
1925
  end
1005
1926
 
1927
+ # Node in a cluster.
1928
+ class Node
1929
+ include Google::Apis::Core::Hashable
1930
+
1931
+ # Output only. Customized number of cores
1932
+ # Corresponds to the JSON property `customCoreCount`
1933
+ # @return [Fixnum]
1934
+ attr_accessor :custom_core_count
1935
+
1936
+ # Output only. Fully qualified domain name of the node.
1937
+ # Corresponds to the JSON property `fqdn`
1938
+ # @return [String]
1939
+ attr_accessor :fqdn
1940
+
1941
+ # Output only. Internal IP address of the node.
1942
+ # Corresponds to the JSON property `internalIp`
1943
+ # @return [String]
1944
+ attr_accessor :internal_ip
1945
+
1946
+ # Output only. The resource name of this node. Resource names are schemeless
1947
+ # URIs that follow the conventions in https://cloud.google.com/apis/design/
1948
+ # resource_names. For example: projects/my-project/locations/us-central1-a/
1949
+ # privateClouds/my-cloud/clusters/my-cluster/nodes/my-node
1950
+ # Corresponds to the JSON property `name`
1951
+ # @return [String]
1952
+ attr_accessor :name
1953
+
1954
+ # Output only. The canonical identifier of the node type (corresponds to the `
1955
+ # NodeType`). For example: standard-72.
1956
+ # Corresponds to the JSON property `nodeTypeId`
1957
+ # @return [String]
1958
+ attr_accessor :node_type_id
1959
+
1960
+ # Output only. The state of the appliance.
1961
+ # Corresponds to the JSON property `state`
1962
+ # @return [String]
1963
+ attr_accessor :state
1964
+
1965
+ # Output only. The version number of the VMware ESXi management component in
1966
+ # this cluster.
1967
+ # Corresponds to the JSON property `version`
1968
+ # @return [String]
1969
+ attr_accessor :version
1970
+
1971
+ def initialize(**args)
1972
+ update!(**args)
1973
+ end
1974
+
1975
+ # Update properties of this object
1976
+ def update!(**args)
1977
+ @custom_core_count = args[:custom_core_count] if args.key?(:custom_core_count)
1978
+ @fqdn = args[:fqdn] if args.key?(:fqdn)
1979
+ @internal_ip = args[:internal_ip] if args.key?(:internal_ip)
1980
+ @name = args[:name] if args.key?(:name)
1981
+ @node_type_id = args[:node_type_id] if args.key?(:node_type_id)
1982
+ @state = args[:state] if args.key?(:state)
1983
+ @version = args[:version] if args.key?(:version)
1984
+ end
1985
+ end
1986
+
1006
1987
  # Describes node type.
1007
1988
  class NodeType
1008
1989
  include Google::Apis::Core::Hashable
@@ -1012,6 +1993,11 @@ module Google
1012
1993
  # @return [Array<Fixnum>]
1013
1994
  attr_accessor :available_custom_core_counts
1014
1995
 
1996
+ # Output only. Capabilities of this node type.
1997
+ # Corresponds to the JSON property `capabilities`
1998
+ # @return [Array<String>]
1999
+ attr_accessor :capabilities
2000
+
1015
2001
  # Output only. The amount of storage available, defined in GB.
1016
2002
  # Corresponds to the JSON property `diskSizeGb`
1017
2003
  # @return [Fixnum]
@@ -1059,6 +2045,7 @@ module Google
1059
2045
  # Update properties of this object
1060
2046
  def update!(**args)
1061
2047
  @available_custom_core_counts = args[:available_custom_core_counts] if args.key?(:available_custom_core_counts)
2048
+ @capabilities = args[:capabilities] if args.key?(:capabilities)
1062
2049
  @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
1063
2050
  @display_name = args[:display_name] if args.key?(:display_name)
1064
2051
  @memory_gb = args[:memory_gb] if args.key?(:memory_gb)
@@ -1407,6 +2394,32 @@ module Google
1407
2394
  end
1408
2395
  end
1409
2396
 
2397
+ # Users/Service accounts which have access for DNS binding on the intranet VPC
2398
+ # corresponding to the consumer project.
2399
+ class Principal
2400
+ include Google::Apis::Core::Hashable
2401
+
2402
+ # The service account which needs to be granted the permission.
2403
+ # Corresponds to the JSON property `serviceAccount`
2404
+ # @return [String]
2405
+ attr_accessor :service_account
2406
+
2407
+ # The user who needs to be granted permission.
2408
+ # Corresponds to the JSON property `user`
2409
+ # @return [String]
2410
+ attr_accessor :user
2411
+
2412
+ def initialize(**args)
2413
+ update!(**args)
2414
+ end
2415
+
2416
+ # Update properties of this object
2417
+ def update!(**args)
2418
+ @service_account = args[:service_account] if args.key?(:service_account)
2419
+ @user = args[:user] if args.key?(:user)
2420
+ end
2421
+ end
2422
+
1410
2423
  # Represents a private cloud resource. Private clouds of type `STANDARD` and `
1411
2424
  # TIME_LIMITED` are zonal resources, `STRETCHED` private clouds are regional.
1412
2425
  class PrivateCloud
@@ -1625,6 +2638,35 @@ module Google
1625
2638
  end
1626
2639
  end
1627
2640
 
2641
+ # Request message for VmwareEngine.RepairManagementDnsZoneBindings
2642
+ class RepairManagementDnsZoneBindingRequest
2643
+ include Google::Apis::Core::Hashable
2644
+
2645
+ # Optional. A request ID to identify requests. Specify a unique request ID so
2646
+ # that if you must retry your request, the server will know to ignore the
2647
+ # request if it has already been completed. The server guarantees that a request
2648
+ # doesn't result in creation of duplicate commitments for at least 60 minutes.
2649
+ # For example, consider a situation where you make an initial request and the
2650
+ # request times out. If you make the request again with the same request ID, the
2651
+ # server can check if the original operation with the same request ID was
2652
+ # received, and if so, will ignore the second request. This prevents clients
2653
+ # from accidentally creating duplicate commitments. The request ID must be a
2654
+ # valid UUID with the exception that zero UUID is not supported (00000000-0000-
2655
+ # 0000-0000-000000000000).
2656
+ # Corresponds to the JSON property `requestId`
2657
+ # @return [String]
2658
+ attr_accessor :request_id
2659
+
2660
+ def initialize(**args)
2661
+ update!(**args)
2662
+ end
2663
+
2664
+ # Update properties of this object
2665
+ def update!(**args)
2666
+ @request_id = args[:request_id] if args.key?(:request_id)
2667
+ end
2668
+ end
2669
+
1628
2670
  # Request message for VmwareEngine.ResetNsxCredentials
1629
2671
  class ResetNsxCredentialsRequest
1630
2672
  include Google::Apis::Core::Hashable
@@ -1673,12 +2715,58 @@ module Google
1673
2715
  # @return [String]
1674
2716
  attr_accessor :request_id
1675
2717
 
2718
+ # Optional. The username of the user to be to reset the credentials. The default
2719
+ # value of this field is CloudOwner@gve.local. The provided value should be one
2720
+ # of the following: solution-user-01@gve.local, solution-user-02@gve.local,
2721
+ # solution-user-03@gve.local, solution-user-04@gve.local, solution-user-05@gve.
2722
+ # local, zertoadmin@gve.local.
2723
+ # Corresponds to the JSON property `username`
2724
+ # @return [String]
2725
+ attr_accessor :username
2726
+
2727
+ def initialize(**args)
2728
+ update!(**args)
2729
+ end
2730
+
2731
+ # Update properties of this object
2732
+ def update!(**args)
2733
+ @request_id = args[:request_id] if args.key?(:request_id)
2734
+ @username = args[:username] if args.key?(:username)
2735
+ end
2736
+ end
2737
+
2738
+ # Request message for VmwareEngine.RevokeDnsBindPermission
2739
+ class RevokeDnsBindPermissionRequest
2740
+ include Google::Apis::Core::Hashable
2741
+
2742
+ # Users/Service accounts which have access for DNS binding on the intranet VPC
2743
+ # corresponding to the consumer project.
2744
+ # Corresponds to the JSON property `principal`
2745
+ # @return [Google::Apis::VmwareengineV1::Principal]
2746
+ attr_accessor :principal
2747
+
2748
+ # Optional. A request ID to identify requests. Specify a unique request ID so
2749
+ # that if you must retry your request, the server will know to ignore the
2750
+ # request if it has already been completed. The server guarantees that a request
2751
+ # doesn't result in creation of duplicate commitments for at least 60 minutes.
2752
+ # For example, consider a situation where you make an initial request and the
2753
+ # request times out. If you make the request again with the same request ID, the
2754
+ # server can check if original operation with the same request ID was received,
2755
+ # and if so, will ignore the second request. This prevents clients from
2756
+ # accidentally creating duplicate commitments. The request ID must be a valid
2757
+ # UUID with the exception that zero UUID is not supported (00000000-0000-0000-
2758
+ # 0000-000000000000).
2759
+ # Corresponds to the JSON property `requestId`
2760
+ # @return [String]
2761
+ attr_accessor :request_id
2762
+
1676
2763
  def initialize(**args)
1677
2764
  update!(**args)
1678
2765
  end
1679
2766
 
1680
2767
  # Update properties of this object
1681
2768
  def update!(**args)
2769
+ @principal = args[:principal] if args.key?(:principal)
1682
2770
  @request_id = args[:request_id] if args.key?(:request_id)
1683
2771
  end
1684
2772
  end
@@ -1775,6 +2863,37 @@ module Google
1775
2863
  end
1776
2864
  end
1777
2865
 
2866
+ # Configuration of a stretched cluster.
2867
+ class StretchedClusterConfig
2868
+ include Google::Apis::Core::Hashable
2869
+
2870
+ # Required. Zone that will remain operational when connection between the two
2871
+ # zones is lost. Specify the resource name of a zone that belongs to the region
2872
+ # of the private cloud. For example: `projects/`project`/locations/europe-west3-
2873
+ # a` where ``project`` can either be a project number or a project ID.
2874
+ # Corresponds to the JSON property `preferredLocation`
2875
+ # @return [String]
2876
+ attr_accessor :preferred_location
2877
+
2878
+ # Required. Additional zone for a higher level of availability and load
2879
+ # balancing. Specify the resource name of a zone that belongs to the region of
2880
+ # the private cloud. For example: `projects/`project`/locations/europe-west3-b`
2881
+ # where ``project`` can either be a project number or a project ID.
2882
+ # Corresponds to the JSON property `secondaryLocation`
2883
+ # @return [String]
2884
+ attr_accessor :secondary_location
2885
+
2886
+ def initialize(**args)
2887
+ update!(**args)
2888
+ end
2889
+
2890
+ # Update properties of this object
2891
+ def update!(**args)
2892
+ @preferred_location = args[:preferred_location] if args.key?(:preferred_location)
2893
+ @secondary_location = args[:secondary_location] if args.key?(:secondary_location)
2894
+ end
2895
+ end
2896
+
1778
2897
  # Subnet in a private cloud. Either `management` subnets (such as vMotion) that
1779
2898
  # are read-only, or `userDefined`, which can also be updated.
1780
2899
  class Subnet
@@ -1809,6 +2928,11 @@ module Google
1809
2928
  # @return [String]
1810
2929
  attr_accessor :type
1811
2930
 
2931
+ # Output only. VLAN ID of the VLAN on which the subnet is configured
2932
+ # Corresponds to the JSON property `vlanId`
2933
+ # @return [Fixnum]
2934
+ attr_accessor :vlan_id
2935
+
1812
2936
  def initialize(**args)
1813
2937
  update!(**args)
1814
2938
  end
@@ -1820,6 +2944,7 @@ module Google
1820
2944
  @name = args[:name] if args.key?(:name)
1821
2945
  @state = args[:state] if args.key?(:state)
1822
2946
  @type = args[:type] if args.key?(:type)
2947
+ @vlan_id = args[:vlan_id] if args.key?(:vlan_id)
1823
2948
  end
1824
2949
  end
1825
2950