google-apis-vmwareengine_v1 0.1.0 → 0.3.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.
@@ -132,21 +132,43 @@ module Google
132
132
  # project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:`emailid``: An
133
133
  # email address that represents a Google group. For example, `admins@example.com`
134
134
  # . * `domain:`domain``: The G Suite domain (primary) that represents all the
135
- # users of that domain. For example, `google.com` or `example.com`. * `deleted:
136
- # user:`emailid`?uid=`uniqueid``: An email address (plus unique identifier)
137
- # representing a user that has been recently deleted. For example, `alice@
138
- # example.com?uid=123456789012345678901`. If the user is recovered, this value
139
- # reverts to `user:`emailid`` and the recovered user retains the role in the
140
- # binding. * `deleted:serviceAccount:`emailid`?uid=`uniqueid``: An email address
141
- # (plus unique identifier) representing a service account that has been recently
142
- # deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=
135
+ # users of that domain. For example, `google.com` or `example.com`. * `principal:
136
+ # //iam.googleapis.com/locations/global/workforcePools/`pool_id`/subject/`
137
+ # subject_attribute_value``: A single identity in a workforce identity pool. * `
138
+ # principalSet://iam.googleapis.com/locations/global/workforcePools/`pool_id`/
139
+ # group/`group_id``: All workforce identities in a group. * `principalSet://iam.
140
+ # googleapis.com/locations/global/workforcePools/`pool_id`/attribute.`
141
+ # attribute_name`/`attribute_value``: All workforce identities with a specific
142
+ # attribute value. * `principalSet://iam.googleapis.com/locations/global/
143
+ # workforcePools/`pool_id`/*`: All identities in a workforce identity pool. * `
144
+ # principal://iam.googleapis.com/projects/`project_number`/locations/global/
145
+ # workloadIdentityPools/`pool_id`/subject/`subject_attribute_value``: A single
146
+ # identity in a workload identity pool. * `principalSet://iam.googleapis.com/
147
+ # projects/`project_number`/locations/global/workloadIdentityPools/`pool_id`/
148
+ # group/`group_id``: A workload identity pool group. * `principalSet://iam.
149
+ # googleapis.com/projects/`project_number`/locations/global/
150
+ # workloadIdentityPools/`pool_id`/attribute.`attribute_name`/`attribute_value``:
151
+ # All identities in a workload identity pool with a certain attribute. * `
152
+ # principalSet://iam.googleapis.com/projects/`project_number`/locations/global/
153
+ # workloadIdentityPools/`pool_id`/*`: All identities in a workload identity pool.
154
+ # * `deleted:user:`emailid`?uid=`uniqueid``: An email address (plus unique
155
+ # identifier) representing a user that has been recently deleted. For example, `
156
+ # alice@example.com?uid=123456789012345678901`. If the user is recovered, this
157
+ # value reverts to `user:`emailid`` and the recovered user retains the role in
158
+ # the binding. * `deleted:serviceAccount:`emailid`?uid=`uniqueid``: An email
159
+ # address (plus unique identifier) representing a service account that has been
160
+ # recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=
143
161
  # 123456789012345678901`. If the service account is undeleted, this value
144
162
  # reverts to `serviceAccount:`emailid`` and the undeleted service account
145
163
  # retains the role in the binding. * `deleted:group:`emailid`?uid=`uniqueid``:
146
164
  # An email address (plus unique identifier) representing a Google group that has
147
165
  # been recently deleted. For example, `admins@example.com?uid=
148
166
  # 123456789012345678901`. If the group is recovered, this value reverts to `
149
- # group:`emailid`` and the recovered group retains the role in the binding.
167
+ # group:`emailid`` and the recovered group retains the role in the binding. * `
168
+ # deleted:principal://iam.googleapis.com/locations/global/workforcePools/`
169
+ # pool_id`/subject/`subject_attribute_value``: Deleted single identity in a
170
+ # workforce identity pool. For example, `deleted:principal://iam.googleapis.com/
171
+ # locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.
150
172
  # Corresponds to the JSON property `members`
151
173
  # @return [Array<String>]
152
174
  attr_accessor :members
@@ -205,6 +227,11 @@ module Google
205
227
  # @return [String]
206
228
  attr_accessor :state
207
229
 
230
+ # Configuration of a stretched cluster.
231
+ # Corresponds to the JSON property `stretchedClusterConfig`
232
+ # @return [Google::Apis::VmwareengineV1::StretchedClusterConfig]
233
+ attr_accessor :stretched_cluster_config
234
+
208
235
  # Output only. System-generated unique identifier for the resource.
209
236
  # Corresponds to the JSON property `uid`
210
237
  # @return [String]
@@ -226,6 +253,7 @@ module Google
226
253
  @name = args[:name] if args.key?(:name)
227
254
  @node_type_configs = args[:node_type_configs] if args.key?(:node_type_configs)
228
255
  @state = args[:state] if args.key?(:state)
256
+ @stretched_cluster_config = args[:stretched_cluster_config] if args.key?(:stretched_cluster_config)
229
257
  @uid = args[:uid] if args.key?(:uid)
230
258
  @update_time = args[:update_time] if args.key?(:update_time)
231
259
  end
@@ -256,6 +284,79 @@ module Google
256
284
  end
257
285
  end
258
286
 
287
+ # DnsBindPermission resource that contains the accounts having the consumer DNS
288
+ # bind permission on the corresponding intranet VPC of the consumer project.
289
+ class DnsBindPermission
290
+ include Google::Apis::Core::Hashable
291
+
292
+ # Required. Output only. The name of the resource which stores the users/service
293
+ # accounts having the permission to bind to the corresponding intranet VPC of
294
+ # the consumer project. DnsBindPermission is a global resource and location can
295
+ # only be global. Resource names are schemeless URIs that follow the conventions
296
+ # in https://cloud.google.com/apis/design/resource_names. For example: `projects/
297
+ # my-project/locations/global/dnsBindPermission`
298
+ # Corresponds to the JSON property `name`
299
+ # @return [String]
300
+ attr_accessor :name
301
+
302
+ # Output only. Users/Service accounts which have access for binding on the
303
+ # intranet VPC project corresponding to the consumer project.
304
+ # Corresponds to the JSON property `principals`
305
+ # @return [Array<Google::Apis::VmwareengineV1::Principal>]
306
+ attr_accessor :principals
307
+
308
+ def initialize(**args)
309
+ update!(**args)
310
+ end
311
+
312
+ # Update properties of this object
313
+ def update!(**args)
314
+ @name = args[:name] if args.key?(:name)
315
+ @principals = args[:principals] if args.key?(:principals)
316
+ end
317
+ end
318
+
319
+ # DNS forwarding config. This config defines a list of domain to name server
320
+ # mappings, and is attached to the private cloud for custom domain resolution.
321
+ class DnsForwarding
322
+ include Google::Apis::Core::Hashable
323
+
324
+ # Output only. Creation time of this resource.
325
+ # Corresponds to the JSON property `createTime`
326
+ # @return [String]
327
+ attr_accessor :create_time
328
+
329
+ # Required. List of domain mappings to configure
330
+ # Corresponds to the JSON property `forwardingRules`
331
+ # @return [Array<Google::Apis::VmwareengineV1::ForwardingRule>]
332
+ attr_accessor :forwarding_rules
333
+
334
+ # Output only. The resource name of this DNS profile. Resource names are
335
+ # schemeless URIs that follow the conventions in https://cloud.google.com/apis/
336
+ # design/resource_names. For example: `projects/my-project/locations/us-central1-
337
+ # a/privateClouds/my-cloud/dnsForwarding`
338
+ # Corresponds to the JSON property `name`
339
+ # @return [String]
340
+ attr_accessor :name
341
+
342
+ # Output only. Last update time of this resource.
343
+ # Corresponds to the JSON property `updateTime`
344
+ # @return [String]
345
+ attr_accessor :update_time
346
+
347
+ def initialize(**args)
348
+ update!(**args)
349
+ end
350
+
351
+ # Update properties of this object
352
+ def update!(**args)
353
+ @create_time = args[:create_time] if args.key?(:create_time)
354
+ @forwarding_rules = args[:forwarding_rules] if args.key?(:forwarding_rules)
355
+ @name = args[:name] if args.key?(:name)
356
+ @update_time = args[:update_time] if args.key?(:update_time)
357
+ end
358
+ end
359
+
259
360
  # A generic empty message that you can re-use to avoid defining duplicated empty
260
361
  # messages in your APIs. A typical example is to use it as the request or the
261
362
  # response type of an API method. For instance: service Foo ` rpc Bar(google.
@@ -326,6 +427,279 @@ module Google
326
427
  end
327
428
  end
328
429
 
430
+ # External access firewall rules for filtering incoming traffic destined to `
431
+ # ExternalAddress` resources.
432
+ class ExternalAccessRule
433
+ include Google::Apis::Core::Hashable
434
+
435
+ # The action that the external access rule performs.
436
+ # Corresponds to the JSON property `action`
437
+ # @return [String]
438
+ attr_accessor :action
439
+
440
+ # Output only. Creation time of this resource.
441
+ # Corresponds to the JSON property `createTime`
442
+ # @return [String]
443
+ attr_accessor :create_time
444
+
445
+ # User-provided description for this external access rule.
446
+ # Corresponds to the JSON property `description`
447
+ # @return [String]
448
+ attr_accessor :description
449
+
450
+ # If destination ranges are specified, the external access rule applies only to
451
+ # the traffic that has a destination IP address in these ranges. The specified
452
+ # IP addresses must have reserved external IP addresses in the scope of the
453
+ # parent network policy. To match all external IP addresses in the scope of the
454
+ # parent network policy, specify `0.0.0.0/0`. To match a specific external IP
455
+ # address, specify it using the `IpRange.external_address` property.
456
+ # Corresponds to the JSON property `destinationIpRanges`
457
+ # @return [Array<Google::Apis::VmwareengineV1::IpRange>]
458
+ attr_accessor :destination_ip_ranges
459
+
460
+ # A list of destination ports to which the external access rule applies. This
461
+ # field is only applicable for the UDP or TCP protocol. Each entry must be
462
+ # either an integer or a range. For example: `["22"]`, `["80","443"]`, or `["
463
+ # 12345-12349"]`. To match all destination ports, specify `["0-65535"]`.
464
+ # Corresponds to the JSON property `destinationPorts`
465
+ # @return [Array<String>]
466
+ attr_accessor :destination_ports
467
+
468
+ # The IP protocol to which the external access rule applies. This value can be
469
+ # one of the following three protocol strings (not case-sensitive): `tcp`, `udp`,
470
+ # or `icmp`.
471
+ # Corresponds to the JSON property `ipProtocol`
472
+ # @return [String]
473
+ attr_accessor :ip_protocol
474
+
475
+ # Output only. The resource name of this external access rule. Resource names
476
+ # are schemeless URIs that follow the conventions in https://cloud.google.com/
477
+ # apis/design/resource_names. For example: `projects/my-project/locations/us-
478
+ # central1/networkPolicies/my-policy/externalAccessRules/my-rule`
479
+ # Corresponds to the JSON property `name`
480
+ # @return [String]
481
+ attr_accessor :name
482
+
483
+ # External access rule priority, which determines the external access rule to
484
+ # use when multiple rules apply. If multiple rules have the same priority, their
485
+ # ordering is non-deterministic. If specific ordering is required, assign unique
486
+ # priorities to enforce such ordering. The external access rule priority is an
487
+ # integer from 100 to 4096, both inclusive. Lower integers indicate higher
488
+ # precedence. For example, a rule with priority `100` has higher precedence than
489
+ # a rule with priority `101`.
490
+ # Corresponds to the JSON property `priority`
491
+ # @return [Fixnum]
492
+ attr_accessor :priority
493
+
494
+ # If source ranges are specified, the external access rule applies only to
495
+ # traffic that has a source IP address in these ranges. These ranges can either
496
+ # be expressed in the CIDR format or as an IP address. As only inbound rules are
497
+ # supported, `ExternalAddress` resources cannot be the source IP addresses of an
498
+ # external access rule. To match all source addresses, specify `0.0.0.0/0`.
499
+ # Corresponds to the JSON property `sourceIpRanges`
500
+ # @return [Array<Google::Apis::VmwareengineV1::IpRange>]
501
+ attr_accessor :source_ip_ranges
502
+
503
+ # A list of source ports to which the external access rule applies. This field
504
+ # is only applicable for the UDP or TCP protocol. Each entry must be either an
505
+ # integer or a range. For example: `["22"]`, `["80","443"]`, or `["12345-12349"]`
506
+ # . To match all source ports, specify `["0-65535"]`.
507
+ # Corresponds to the JSON property `sourcePorts`
508
+ # @return [Array<String>]
509
+ attr_accessor :source_ports
510
+
511
+ # Output only. The state of the resource.
512
+ # Corresponds to the JSON property `state`
513
+ # @return [String]
514
+ attr_accessor :state
515
+
516
+ # Output only. System-generated unique identifier for the resource.
517
+ # Corresponds to the JSON property `uid`
518
+ # @return [String]
519
+ attr_accessor :uid
520
+
521
+ # Output only. Last update time of this resource.
522
+ # Corresponds to the JSON property `updateTime`
523
+ # @return [String]
524
+ attr_accessor :update_time
525
+
526
+ def initialize(**args)
527
+ update!(**args)
528
+ end
529
+
530
+ # Update properties of this object
531
+ def update!(**args)
532
+ @action = args[:action] if args.key?(:action)
533
+ @create_time = args[:create_time] if args.key?(:create_time)
534
+ @description = args[:description] if args.key?(:description)
535
+ @destination_ip_ranges = args[:destination_ip_ranges] if args.key?(:destination_ip_ranges)
536
+ @destination_ports = args[:destination_ports] if args.key?(:destination_ports)
537
+ @ip_protocol = args[:ip_protocol] if args.key?(:ip_protocol)
538
+ @name = args[:name] if args.key?(:name)
539
+ @priority = args[:priority] if args.key?(:priority)
540
+ @source_ip_ranges = args[:source_ip_ranges] if args.key?(:source_ip_ranges)
541
+ @source_ports = args[:source_ports] if args.key?(:source_ports)
542
+ @state = args[:state] if args.key?(:state)
543
+ @uid = args[:uid] if args.key?(:uid)
544
+ @update_time = args[:update_time] if args.key?(:update_time)
545
+ end
546
+ end
547
+
548
+ # Represents an allocated external IP address and its corresponding internal IP
549
+ # address in a private cloud.
550
+ class ExternalAddress
551
+ include Google::Apis::Core::Hashable
552
+
553
+ # Output only. Creation time of this resource.
554
+ # Corresponds to the JSON property `createTime`
555
+ # @return [String]
556
+ attr_accessor :create_time
557
+
558
+ # User-provided description for this resource.
559
+ # Corresponds to the JSON property `description`
560
+ # @return [String]
561
+ attr_accessor :description
562
+
563
+ # Output only. The external IP address of a workload VM.
564
+ # Corresponds to the JSON property `externalIp`
565
+ # @return [String]
566
+ attr_accessor :external_ip
567
+
568
+ # The internal IP address of a workload VM.
569
+ # Corresponds to the JSON property `internalIp`
570
+ # @return [String]
571
+ attr_accessor :internal_ip
572
+
573
+ # Output only. The resource name of this external IP address. Resource names are
574
+ # schemeless URIs that follow the conventions in https://cloud.google.com/apis/
575
+ # design/resource_names. For example: `projects/my-project/locations/us-central1-
576
+ # a/privateClouds/my-cloud/externalAddresses/my-address`
577
+ # Corresponds to the JSON property `name`
578
+ # @return [String]
579
+ attr_accessor :name
580
+
581
+ # Output only. The state of the resource.
582
+ # Corresponds to the JSON property `state`
583
+ # @return [String]
584
+ attr_accessor :state
585
+
586
+ # Output only. System-generated unique identifier for the resource.
587
+ # Corresponds to the JSON property `uid`
588
+ # @return [String]
589
+ attr_accessor :uid
590
+
591
+ # Output only. Last update time of this resource.
592
+ # Corresponds to the JSON property `updateTime`
593
+ # @return [String]
594
+ attr_accessor :update_time
595
+
596
+ def initialize(**args)
597
+ update!(**args)
598
+ end
599
+
600
+ # Update properties of this object
601
+ def update!(**args)
602
+ @create_time = args[:create_time] if args.key?(:create_time)
603
+ @description = args[:description] if args.key?(:description)
604
+ @external_ip = args[:external_ip] if args.key?(:external_ip)
605
+ @internal_ip = args[:internal_ip] if args.key?(:internal_ip)
606
+ @name = args[:name] if args.key?(:name)
607
+ @state = args[:state] if args.key?(:state)
608
+ @uid = args[:uid] if args.key?(:uid)
609
+ @update_time = args[:update_time] if args.key?(:update_time)
610
+ end
611
+ end
612
+
613
+ # Response message for VmwareEngine.FetchNetworkPolicyExternalAddresses
614
+ class FetchNetworkPolicyExternalAddressesResponse
615
+ include Google::Apis::Core::Hashable
616
+
617
+ # A list of external IP addresses assigned to VMware workload VMs within the
618
+ # scope of the given network policy.
619
+ # Corresponds to the JSON property `externalAddresses`
620
+ # @return [Array<Google::Apis::VmwareengineV1::ExternalAddress>]
621
+ attr_accessor :external_addresses
622
+
623
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
624
+ # field is omitted, there are no subsequent pages.
625
+ # Corresponds to the JSON property `nextPageToken`
626
+ # @return [String]
627
+ attr_accessor :next_page_token
628
+
629
+ def initialize(**args)
630
+ update!(**args)
631
+ end
632
+
633
+ # Update properties of this object
634
+ def update!(**args)
635
+ @external_addresses = args[:external_addresses] if args.key?(:external_addresses)
636
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
637
+ end
638
+ end
639
+
640
+ # A forwarding rule is a mapping of a `domain` to `name_servers`. This mapping
641
+ # allows VMware Engine to resolve domains for attached private clouds by
642
+ # forwarding DNS requests for a given domain to the specified nameservers.
643
+ class ForwardingRule
644
+ include Google::Apis::Core::Hashable
645
+
646
+ # Required. Domain used to resolve a `name_servers` list.
647
+ # Corresponds to the JSON property `domain`
648
+ # @return [String]
649
+ attr_accessor :domain
650
+
651
+ # Required. List of DNS servers to use for domain resolution
652
+ # Corresponds to the JSON property `nameServers`
653
+ # @return [Array<String>]
654
+ attr_accessor :name_servers
655
+
656
+ def initialize(**args)
657
+ update!(**args)
658
+ end
659
+
660
+ # Update properties of this object
661
+ def update!(**args)
662
+ @domain = args[:domain] if args.key?(:domain)
663
+ @name_servers = args[:name_servers] if args.key?(:name_servers)
664
+ end
665
+ end
666
+
667
+ # Request message for VmwareEngine.GrantDnsBindPermission
668
+ class GrantDnsBindPermissionRequest
669
+ include Google::Apis::Core::Hashable
670
+
671
+ # Users/Service accounts which have access for DNS binding on the intranet VPC
672
+ # corresponding to the consumer project.
673
+ # Corresponds to the JSON property `principal`
674
+ # @return [Google::Apis::VmwareengineV1::Principal]
675
+ attr_accessor :principal
676
+
677
+ # Optional. A request ID to identify requests. Specify a unique request ID so
678
+ # that if you must retry your request, the server will know to ignore the
679
+ # request if it has already been completed. The server guarantees that a request
680
+ # doesn't result in creation of duplicate commitments for at least 60 minutes.
681
+ # For example, consider a situation where you make an initial request and the
682
+ # request times out. If you make the request again with the same request ID, the
683
+ # server can check if original operation with the same request ID was received,
684
+ # and if so, will ignore the second request. This prevents clients from
685
+ # accidentally creating duplicate commitments. The request ID must be a valid
686
+ # UUID with the exception that zero UUID is not supported (00000000-0000-0000-
687
+ # 0000-000000000000).
688
+ # Corresponds to the JSON property `requestId`
689
+ # @return [String]
690
+ attr_accessor :request_id
691
+
692
+ def initialize(**args)
693
+ update!(**args)
694
+ end
695
+
696
+ # Update properties of this object
697
+ def update!(**args)
698
+ @principal = args[:principal] if args.key?(:principal)
699
+ @request_id = args[:request_id] if args.key?(:request_id)
700
+ end
701
+ end
702
+
329
703
  # Details about a HCX Cloud Manager appliance.
330
704
  class Hcx
331
705
  include Google::Apis::Core::Hashable
@@ -404,22 +778,124 @@ module Google
404
778
 
405
779
  # Update properties of this object
406
780
  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)
781
+ @activation_key = args[:activation_key] if args.key?(:activation_key)
782
+ @create_time = args[:create_time] if args.key?(:create_time)
783
+ @name = args[:name] if args.key?(:name)
784
+ @state = args[:state] if args.key?(:state)
785
+ @uid = args[:uid] if args.key?(:uid)
786
+ end
787
+ end
788
+
789
+ # An IP range provided in any one of the supported formats.
790
+ class IpRange
791
+ include Google::Apis::Core::Hashable
792
+
793
+ # The name of an `ExternalAddress` resource. The external address must have been
794
+ # reserved in the scope of this external access rule's parent network policy.
795
+ # Provide the external address name in the form of `projects/`project`/locations/
796
+ # `location`/privateClouds/`private_cloud`/externalAddresses/`external_address``.
797
+ # For example: `projects/my-project/locations/us-central1-a/privateClouds/my-
798
+ # cloud/externalAddresses/my-address`.
799
+ # Corresponds to the JSON property `externalAddress`
800
+ # @return [String]
801
+ attr_accessor :external_address
802
+
803
+ # A single IP address. For example: `10.0.0.5`.
804
+ # Corresponds to the JSON property `ipAddress`
805
+ # @return [String]
806
+ attr_accessor :ip_address
807
+
808
+ # An IP address range in the CIDR format. For example: `10.0.0.0/24`.
809
+ # Corresponds to the JSON property `ipAddressRange`
810
+ # @return [String]
811
+ attr_accessor :ip_address_range
812
+
813
+ def initialize(**args)
814
+ update!(**args)
815
+ end
816
+
817
+ # Update properties of this object
818
+ def update!(**args)
819
+ @external_address = args[:external_address] if args.key?(:external_address)
820
+ @ip_address = args[:ip_address] if args.key?(:ip_address)
821
+ @ip_address_range = args[:ip_address_range] if args.key?(:ip_address_range)
822
+ end
823
+ end
824
+
825
+ # Response message for VmwareEngine.ListClusters
826
+ class ListClustersResponse
827
+ include Google::Apis::Core::Hashable
828
+
829
+ # A list of private cloud clusters.
830
+ # Corresponds to the JSON property `clusters`
831
+ # @return [Array<Google::Apis::VmwareengineV1::Cluster>]
832
+ attr_accessor :clusters
833
+
834
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
835
+ # field is omitted, there are no subsequent pages.
836
+ # Corresponds to the JSON property `nextPageToken`
837
+ # @return [String]
838
+ attr_accessor :next_page_token
839
+
840
+ # Locations that could not be reached when making an aggregated query using
841
+ # wildcards.
842
+ # Corresponds to the JSON property `unreachable`
843
+ # @return [Array<String>]
844
+ attr_accessor :unreachable
845
+
846
+ def initialize(**args)
847
+ update!(**args)
848
+ end
849
+
850
+ # Update properties of this object
851
+ def update!(**args)
852
+ @clusters = args[:clusters] if args.key?(:clusters)
853
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
854
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
855
+ end
856
+ end
857
+
858
+ # Response message for VmwareEngine.ListExternalAccessRules
859
+ class ListExternalAccessRulesResponse
860
+ include Google::Apis::Core::Hashable
861
+
862
+ # A list of external access firewall rules.
863
+ # Corresponds to the JSON property `externalAccessRules`
864
+ # @return [Array<Google::Apis::VmwareengineV1::ExternalAccessRule>]
865
+ attr_accessor :external_access_rules
866
+
867
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
868
+ # field is omitted, there are no subsequent pages.
869
+ # Corresponds to the JSON property `nextPageToken`
870
+ # @return [String]
871
+ attr_accessor :next_page_token
872
+
873
+ # Locations that could not be reached when making an aggregated query using
874
+ # wildcards.
875
+ # Corresponds to the JSON property `unreachable`
876
+ # @return [Array<String>]
877
+ attr_accessor :unreachable
878
+
879
+ def initialize(**args)
880
+ update!(**args)
881
+ end
882
+
883
+ # Update properties of this object
884
+ def update!(**args)
885
+ @external_access_rules = args[:external_access_rules] if args.key?(:external_access_rules)
886
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
887
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
412
888
  end
413
889
  end
414
890
 
415
- # Response message for VmwareEngine.ListClusters
416
- class ListClustersResponse
891
+ # Response message for VmwareEngine.ListExternalAddresses
892
+ class ListExternalAddressesResponse
417
893
  include Google::Apis::Core::Hashable
418
894
 
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
895
+ # A list of external IP addresses.
896
+ # Corresponds to the JSON property `externalAddresses`
897
+ # @return [Array<Google::Apis::VmwareengineV1::ExternalAddress>]
898
+ attr_accessor :external_addresses
423
899
 
424
900
  # A token, which can be sent as `page_token` to retrieve the next page. If this
425
901
  # field is omitted, there are no subsequent pages.
@@ -439,7 +915,7 @@ module Google
439
915
 
440
916
  # Update properties of this object
441
917
  def update!(**args)
442
- @clusters = args[:clusters] if args.key?(:clusters)
918
+ @external_addresses = args[:external_addresses] if args.key?(:external_addresses)
443
919
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
444
920
  @unreachable = args[:unreachable] if args.key?(:unreachable)
445
921
  end
@@ -503,6 +979,104 @@ module Google
503
979
  end
504
980
  end
505
981
 
982
+ # Response message for VmwareEngine.ListLoggingServers
983
+ class ListLoggingServersResponse
984
+ include Google::Apis::Core::Hashable
985
+
986
+ # A list of Logging Servers.
987
+ # Corresponds to the JSON property `loggingServers`
988
+ # @return [Array<Google::Apis::VmwareengineV1::LoggingServer>]
989
+ attr_accessor :logging_servers
990
+
991
+ # A token, which can be send as `page_token` to retrieve the next page. If this
992
+ # field is omitted, there are no subsequent pages.
993
+ # Corresponds to the JSON property `nextPageToken`
994
+ # @return [String]
995
+ attr_accessor :next_page_token
996
+
997
+ # Locations that could not be reached when making an aggregated query using
998
+ # wildcards.
999
+ # Corresponds to the JSON property `unreachable`
1000
+ # @return [Array<String>]
1001
+ attr_accessor :unreachable
1002
+
1003
+ def initialize(**args)
1004
+ update!(**args)
1005
+ end
1006
+
1007
+ # Update properties of this object
1008
+ def update!(**args)
1009
+ @logging_servers = args[:logging_servers] if args.key?(:logging_servers)
1010
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1011
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
1012
+ end
1013
+ end
1014
+
1015
+ # Response message for VmwareEngine.ListManagementDnsZoneBindings
1016
+ class ListManagementDnsZoneBindingsResponse
1017
+ include Google::Apis::Core::Hashable
1018
+
1019
+ # A list of management DNS zone bindings.
1020
+ # Corresponds to the JSON property `managementDnsZoneBindings`
1021
+ # @return [Array<Google::Apis::VmwareengineV1::ManagementDnsZoneBinding>]
1022
+ attr_accessor :management_dns_zone_bindings
1023
+
1024
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
1025
+ # field is omitted, there are no subsequent pages.
1026
+ # Corresponds to the JSON property `nextPageToken`
1027
+ # @return [String]
1028
+ attr_accessor :next_page_token
1029
+
1030
+ # Locations that could not be reached when making an aggregated query using
1031
+ # wildcards.
1032
+ # Corresponds to the JSON property `unreachable`
1033
+ # @return [Array<String>]
1034
+ attr_accessor :unreachable
1035
+
1036
+ def initialize(**args)
1037
+ update!(**args)
1038
+ end
1039
+
1040
+ # Update properties of this object
1041
+ def update!(**args)
1042
+ @management_dns_zone_bindings = args[:management_dns_zone_bindings] if args.key?(:management_dns_zone_bindings)
1043
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1044
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
1045
+ end
1046
+ end
1047
+
1048
+ # Response message for VmwareEngine.ListNetworkPeerings
1049
+ class ListNetworkPeeringsResponse
1050
+ include Google::Apis::Core::Hashable
1051
+
1052
+ # A list of network peerings.
1053
+ # Corresponds to the JSON property `networkPeerings`
1054
+ # @return [Array<Google::Apis::VmwareengineV1::NetworkPeering>]
1055
+ attr_accessor :network_peerings
1056
+
1057
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
1058
+ # field is omitted, there are no subsequent pages.
1059
+ # Corresponds to the JSON property `nextPageToken`
1060
+ # @return [String]
1061
+ attr_accessor :next_page_token
1062
+
1063
+ # Unreachable resources.
1064
+ # Corresponds to the JSON property `unreachable`
1065
+ # @return [Array<String>]
1066
+ attr_accessor :unreachable
1067
+
1068
+ def initialize(**args)
1069
+ update!(**args)
1070
+ end
1071
+
1072
+ # Update properties of this object
1073
+ def update!(**args)
1074
+ @network_peerings = args[:network_peerings] if args.key?(:network_peerings)
1075
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1076
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
1077
+ end
1078
+ end
1079
+
506
1080
  # Response message for VmwareEngine.ListNetworkPolicies
507
1081
  class ListNetworkPoliciesResponse
508
1082
  include Google::Apis::Core::Hashable
@@ -569,6 +1143,32 @@ module Google
569
1143
  end
570
1144
  end
571
1145
 
1146
+ # Response message for VmwareEngine.ListNodes
1147
+ class ListNodesResponse
1148
+ include Google::Apis::Core::Hashable
1149
+
1150
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
1151
+ # field is omitted, there are no subsequent pages.
1152
+ # Corresponds to the JSON property `nextPageToken`
1153
+ # @return [String]
1154
+ attr_accessor :next_page_token
1155
+
1156
+ # The nodes.
1157
+ # Corresponds to the JSON property `nodes`
1158
+ # @return [Array<Google::Apis::VmwareengineV1::Node>]
1159
+ attr_accessor :nodes
1160
+
1161
+ def initialize(**args)
1162
+ update!(**args)
1163
+ end
1164
+
1165
+ # Update properties of this object
1166
+ def update!(**args)
1167
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1168
+ @nodes = args[:nodes] if args.key?(:nodes)
1169
+ end
1170
+ end
1171
+
572
1172
  # The response message for Operations.ListOperations.
573
1173
  class ListOperationsResponse
574
1174
  include Google::Apis::Core::Hashable
@@ -594,6 +1194,32 @@ module Google
594
1194
  end
595
1195
  end
596
1196
 
1197
+ # Response message for VmwareEngine.ListPeeringRoutes
1198
+ class ListPeeringRoutesResponse
1199
+ include Google::Apis::Core::Hashable
1200
+
1201
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
1202
+ # field is omitted, there are no subsequent pages.
1203
+ # Corresponds to the JSON property `nextPageToken`
1204
+ # @return [String]
1205
+ attr_accessor :next_page_token
1206
+
1207
+ # A list of peering routes.
1208
+ # Corresponds to the JSON property `peeringRoutes`
1209
+ # @return [Array<Google::Apis::VmwareengineV1::PeeringRoute>]
1210
+ attr_accessor :peering_routes
1211
+
1212
+ def initialize(**args)
1213
+ update!(**args)
1214
+ end
1215
+
1216
+ # Update properties of this object
1217
+ def update!(**args)
1218
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1219
+ @peering_routes = args[:peering_routes] if args.key?(:peering_routes)
1220
+ end
1221
+ end
1222
+
597
1223
  # Response message for VmwareEngine.ListPrivateClouds
598
1224
  class ListPrivateCloudsResponse
599
1225
  include Google::Apis::Core::Hashable
@@ -787,34 +1413,195 @@ module Google
787
1413
  update!(**args)
788
1414
  end
789
1415
 
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
1416
+ # Update properties of this object
1417
+ def update!(**args)
1418
+ @display_name = args[:display_name] if args.key?(:display_name)
1419
+ @labels = args[:labels] if args.key?(:labels)
1420
+ @location_id = args[:location_id] if args.key?(:location_id)
1421
+ @metadata = args[:metadata] if args.key?(:metadata)
1422
+ @name = args[:name] if args.key?(:name)
1423
+ end
1424
+ end
1425
+
1426
+ # VmwareEngine specific metadata for the given google.cloud.location.Location.
1427
+ # It is returned as a content of the `google.cloud.location.Location.metadata`
1428
+ # field.
1429
+ class LocationMetadata
1430
+ include Google::Apis::Core::Hashable
1431
+
1432
+ # Output only. Capabilities of this location.
1433
+ # Corresponds to the JSON property `capabilities`
1434
+ # @return [Array<String>]
1435
+ attr_accessor :capabilities
1436
+
1437
+ def initialize(**args)
1438
+ update!(**args)
1439
+ end
1440
+
1441
+ # Update properties of this object
1442
+ def update!(**args)
1443
+ @capabilities = args[:capabilities] if args.key?(:capabilities)
1444
+ end
1445
+ end
1446
+
1447
+ # Logging server to receive vCenter or ESXi logs.
1448
+ class LoggingServer
1449
+ include Google::Apis::Core::Hashable
1450
+
1451
+ # Output only. Creation time of this resource.
1452
+ # Corresponds to the JSON property `createTime`
1453
+ # @return [String]
1454
+ attr_accessor :create_time
1455
+
1456
+ # Required. Fully-qualified domain name (FQDN) or IP Address of the logging
1457
+ # server.
1458
+ # Corresponds to the JSON property `hostname`
1459
+ # @return [String]
1460
+ attr_accessor :hostname
1461
+
1462
+ # Output only. The resource name of this logging server. Resource names are
1463
+ # schemeless URIs that follow the conventions in https://cloud.google.com/apis/
1464
+ # design/resource_names. For example: `projects/my-project/locations/us-central1-
1465
+ # a/privateClouds/my-cloud/loggingServers/my-logging-server`
1466
+ # Corresponds to the JSON property `name`
1467
+ # @return [String]
1468
+ attr_accessor :name
1469
+
1470
+ # Required. Port number at which the logging server receives logs.
1471
+ # Corresponds to the JSON property `port`
1472
+ # @return [Fixnum]
1473
+ attr_accessor :port
1474
+
1475
+ # Required. Protocol used by vCenter to send logs to a logging server.
1476
+ # Corresponds to the JSON property `protocol`
1477
+ # @return [String]
1478
+ attr_accessor :protocol
1479
+
1480
+ # Required. The type of component that produces logs that will be forwarded to
1481
+ # this logging server.
1482
+ # Corresponds to the JSON property `sourceType`
1483
+ # @return [String]
1484
+ attr_accessor :source_type
1485
+
1486
+ # Output only. System-generated unique identifier for the resource.
1487
+ # Corresponds to the JSON property `uid`
1488
+ # @return [String]
1489
+ attr_accessor :uid
1490
+
1491
+ # Output only. Last update time of this resource.
1492
+ # Corresponds to the JSON property `updateTime`
1493
+ # @return [String]
1494
+ attr_accessor :update_time
1495
+
1496
+ def initialize(**args)
1497
+ update!(**args)
1498
+ end
1499
+
1500
+ # Update properties of this object
1501
+ def update!(**args)
1502
+ @create_time = args[:create_time] if args.key?(:create_time)
1503
+ @hostname = args[:hostname] if args.key?(:hostname)
1504
+ @name = args[:name] if args.key?(:name)
1505
+ @port = args[:port] if args.key?(:port)
1506
+ @protocol = args[:protocol] if args.key?(:protocol)
1507
+ @source_type = args[:source_type] if args.key?(:source_type)
1508
+ @uid = args[:uid] if args.key?(:uid)
1509
+ @update_time = args[:update_time] if args.key?(:update_time)
1510
+ end
1511
+ end
1512
+
1513
+ # Management cluster configuration.
1514
+ class ManagementCluster
1515
+ include Google::Apis::Core::Hashable
1516
+
1517
+ # Required. The user-provided identifier of the new `Cluster`. The identifier
1518
+ # must meet the following requirements: * Only contains 1-63 alphanumeric
1519
+ # characters and hyphens * Begins with an alphabetical character * Ends with a
1520
+ # non-hyphen character * Not formatted as a UUID * Complies with [RFC 1034](
1521
+ # https://datatracker.ietf.org/doc/html/rfc1034) (section 3.5)
1522
+ # Corresponds to the JSON property `clusterId`
1523
+ # @return [String]
1524
+ attr_accessor :cluster_id
1525
+
1526
+ # Required. The map of cluster node types in this cluster, where the key is
1527
+ # canonical identifier of the node type (corresponds to the `NodeType`).
1528
+ # Corresponds to the JSON property `nodeTypeConfigs`
1529
+ # @return [Hash<String,Google::Apis::VmwareengineV1::NodeTypeConfig>]
1530
+ attr_accessor :node_type_configs
1531
+
1532
+ # Configuration of a stretched cluster.
1533
+ # Corresponds to the JSON property `stretchedClusterConfig`
1534
+ # @return [Google::Apis::VmwareengineV1::StretchedClusterConfig]
1535
+ attr_accessor :stretched_cluster_config
1536
+
1537
+ def initialize(**args)
1538
+ update!(**args)
1539
+ end
1540
+
1541
+ # Update properties of this object
1542
+ def update!(**args)
1543
+ @cluster_id = args[:cluster_id] if args.key?(:cluster_id)
1544
+ @node_type_configs = args[:node_type_configs] if args.key?(:node_type_configs)
1545
+ @stretched_cluster_config = args[:stretched_cluster_config] if args.key?(:stretched_cluster_config)
1546
+ end
1547
+ end
1548
+
1549
+ # Represents a binding between a network and the management DNS zone. A
1550
+ # management DNS zone is the Cloud DNS cross-project binding zone that VMware
1551
+ # Engine creates for each private cloud. It contains FQDNs and corresponding IP
1552
+ # addresses for the private cloud's ESXi hosts and management VM appliances like
1553
+ # vCenter and NSX Manager.
1554
+ class ManagementDnsZoneBinding
1555
+ include Google::Apis::Core::Hashable
1556
+
1557
+ # Output only. Creation time of this resource.
1558
+ # Corresponds to the JSON property `createTime`
1559
+ # @return [String]
1560
+ attr_accessor :create_time
1561
+
1562
+ # User-provided description for this resource.
1563
+ # Corresponds to the JSON property `description`
1564
+ # @return [String]
1565
+ attr_accessor :description
1566
+
1567
+ # Output only. The resource name of this binding. Resource names are schemeless
1568
+ # URIs that follow the conventions in https://cloud.google.com/apis/design/
1569
+ # resource_names. For example: `projects/my-project/locations/us-central1-a/
1570
+ # privateClouds/my-cloud/managementDnsZoneBindings/my-management-dns-zone-
1571
+ # binding`
1572
+ # Corresponds to the JSON property `name`
1573
+ # @return [String]
1574
+ attr_accessor :name
1575
+
1576
+ # Output only. The state of the resource.
1577
+ # Corresponds to the JSON property `state`
1578
+ # @return [String]
1579
+ attr_accessor :state
1580
+
1581
+ # Output only. System-generated unique identifier for the resource.
1582
+ # Corresponds to the JSON property `uid`
1583
+ # @return [String]
1584
+ attr_accessor :uid
799
1585
 
800
- # Management cluster configuration.
801
- class ManagementCluster
802
- include Google::Apis::Core::Hashable
1586
+ # Output only. Last update time of this resource.
1587
+ # Corresponds to the JSON property `updateTime`
1588
+ # @return [String]
1589
+ attr_accessor :update_time
803
1590
 
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`
1591
+ # Network to bind is a VMware Engine network. Specify the name in the following
1592
+ # form for VMware engine network: `projects/`project`/locations/global/
1593
+ # vmwareEngineNetworks/`vmware_engine_network_id``. ``project`` can either be a
1594
+ # project number or a project ID.
1595
+ # Corresponds to the JSON property `vmwareEngineNetwork`
810
1596
  # @return [String]
811
- attr_accessor :cluster_id
1597
+ attr_accessor :vmware_engine_network
812
1598
 
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
1599
+ # Network to bind is a standard consumer VPC. Specify the name in the following
1600
+ # form for consumer VPC network: `projects/`project`/global/networks/`network_id`
1601
+ # `. ``project`` can either be a project number or a project ID.
1602
+ # Corresponds to the JSON property `vpcNetwork`
1603
+ # @return [String]
1604
+ attr_accessor :vpc_network
818
1605
 
819
1606
  def initialize(**args)
820
1607
  update!(**args)
@@ -822,8 +1609,14 @@ module Google
822
1609
 
823
1610
  # Update properties of this object
824
1611
  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)
1612
+ @create_time = args[:create_time] if args.key?(:create_time)
1613
+ @description = args[:description] if args.key?(:description)
1614
+ @name = args[:name] if args.key?(:name)
1615
+ @state = args[:state] if args.key?(:state)
1616
+ @uid = args[:uid] if args.key?(:uid)
1617
+ @update_time = args[:update_time] if args.key?(:update_time)
1618
+ @vmware_engine_network = args[:vmware_engine_network] if args.key?(:vmware_engine_network)
1619
+ @vpc_network = args[:vpc_network] if args.key?(:vpc_network)
827
1620
  end
828
1621
  end
829
1622
 
@@ -832,6 +1625,13 @@ module Google
832
1625
  class NetworkConfig
833
1626
  include Google::Apis::Core::Hashable
834
1627
 
1628
+ # Output only. DNS Server IP of the Private Cloud. All DNS queries can be
1629
+ # forwarded to this address for name resolution of Private Cloud's management
1630
+ # entities like vCenter, NSX-T Manager and ESXi hosts.
1631
+ # Corresponds to the JSON property `dnsServerIp`
1632
+ # @return [String]
1633
+ attr_accessor :dns_server_ip
1634
+
835
1635
  # Required. Management CIDR used by VMware management appliances.
836
1636
  # Corresponds to the JSON property `managementCidr`
837
1637
  # @return [String]
@@ -869,6 +1669,7 @@ module Google
869
1669
 
870
1670
  # Update properties of this object
871
1671
  def update!(**args)
1672
+ @dns_server_ip = args[:dns_server_ip] if args.key?(:dns_server_ip)
872
1673
  @management_cidr = args[:management_cidr] if args.key?(:management_cidr)
873
1674
  @management_ip_address_layout_version = args[:management_ip_address_layout_version] if args.key?(:management_ip_address_layout_version)
874
1675
  @vmware_engine_network = args[:vmware_engine_network] if args.key?(:vmware_engine_network)
@@ -876,6 +1677,149 @@ module Google
876
1677
  end
877
1678
  end
878
1679
 
1680
+ # Details of a network peering.
1681
+ class NetworkPeering
1682
+ include Google::Apis::Core::Hashable
1683
+
1684
+ # Output only. Creation time of this resource.
1685
+ # Corresponds to the JSON property `createTime`
1686
+ # @return [String]
1687
+ attr_accessor :create_time
1688
+
1689
+ # Optional. User-provided description for this network peering.
1690
+ # Corresponds to the JSON property `description`
1691
+ # @return [String]
1692
+ attr_accessor :description
1693
+
1694
+ # Optional. True if full mesh connectivity is created and managed automatically
1695
+ # between peered networks; false otherwise. Currently this field is always true
1696
+ # because Google Compute Engine automatically creates and manages subnetwork
1697
+ # routes between two VPC networks when peering state is 'ACTIVE'.
1698
+ # Corresponds to the JSON property `exchangeSubnetRoutes`
1699
+ # @return [Boolean]
1700
+ attr_accessor :exchange_subnet_routes
1701
+ alias_method :exchange_subnet_routes?, :exchange_subnet_routes
1702
+
1703
+ # Optional. True if custom routes are exported to the peered network; false
1704
+ # otherwise. The default value is true.
1705
+ # Corresponds to the JSON property `exportCustomRoutes`
1706
+ # @return [Boolean]
1707
+ attr_accessor :export_custom_routes
1708
+ alias_method :export_custom_routes?, :export_custom_routes
1709
+
1710
+ # Optional. True if all subnet routes with a public IP address range are
1711
+ # exported; false otherwise. The default value is true. IPv4 special-use ranges (
1712
+ # https://en.wikipedia.org/wiki/IPv4#Special_addresses) are always exported to
1713
+ # peers and are not controlled by this field.
1714
+ # Corresponds to the JSON property `exportCustomRoutesWithPublicIp`
1715
+ # @return [Boolean]
1716
+ attr_accessor :export_custom_routes_with_public_ip
1717
+ alias_method :export_custom_routes_with_public_ip?, :export_custom_routes_with_public_ip
1718
+
1719
+ # Optional. True if custom routes are imported from the peered network; false
1720
+ # otherwise. The default value is true.
1721
+ # Corresponds to the JSON property `importCustomRoutes`
1722
+ # @return [Boolean]
1723
+ attr_accessor :import_custom_routes
1724
+ alias_method :import_custom_routes?, :import_custom_routes
1725
+
1726
+ # Optional. True if all subnet routes with public IP address range are imported;
1727
+ # false otherwise. The default value is true. IPv4 special-use ranges (https://
1728
+ # en.wikipedia.org/wiki/IPv4#Special_addresses) are always imported to peers and
1729
+ # are not controlled by this field.
1730
+ # Corresponds to the JSON property `importCustomRoutesWithPublicIp`
1731
+ # @return [Boolean]
1732
+ attr_accessor :import_custom_routes_with_public_ip
1733
+ alias_method :import_custom_routes_with_public_ip?, :import_custom_routes_with_public_ip
1734
+
1735
+ # Output only. The resource name of the network peering. NetworkPeering is a
1736
+ # global resource and location can only be global. Resource names are scheme-
1737
+ # less URIs that follow the conventions in https://cloud.google.com/apis/design/
1738
+ # resource_names. For example: `projects/my-project/locations/global/
1739
+ # networkPeerings/my-peering`
1740
+ # Corresponds to the JSON property `name`
1741
+ # @return [String]
1742
+ attr_accessor :name
1743
+
1744
+ # Optional. Maximum transmission unit (MTU) in bytes. The default value is `1500`
1745
+ # . If a value of `0` is provided for this field, VMware Engine uses the default
1746
+ # value instead.
1747
+ # Corresponds to the JSON property `peerMtu`
1748
+ # @return [Fixnum]
1749
+ attr_accessor :peer_mtu
1750
+
1751
+ # Required. The relative resource name of the network to peer with a standard
1752
+ # VMware Engine network. The provided network can be a consumer VPC network or
1753
+ # another standard VMware Engine network. If the `peer_network_type` is
1754
+ # VMWARE_ENGINE_NETWORK, specify the name in the form: `projects/`project`/
1755
+ # locations/global/vmwareEngineNetworks/`vmware_engine_network_id``. Otherwise
1756
+ # specify the name in the form: `projects/`project`/global/networks/`network_id``
1757
+ # , where ``project`` can either be a project number or a project ID.
1758
+ # Corresponds to the JSON property `peerNetwork`
1759
+ # @return [String]
1760
+ attr_accessor :peer_network
1761
+
1762
+ # Required. The type of the network to peer with the VMware Engine network.
1763
+ # Corresponds to the JSON property `peerNetworkType`
1764
+ # @return [String]
1765
+ attr_accessor :peer_network_type
1766
+
1767
+ # Output only. State of the network peering. This field has a value of 'ACTIVE'
1768
+ # when there's a matching configuration in the peer network. New values may be
1769
+ # added to this enum when appropriate.
1770
+ # Corresponds to the JSON property `state`
1771
+ # @return [String]
1772
+ attr_accessor :state
1773
+
1774
+ # Output only. Output Only. Details about the current state of the network
1775
+ # peering.
1776
+ # Corresponds to the JSON property `stateDetails`
1777
+ # @return [String]
1778
+ attr_accessor :state_details
1779
+
1780
+ # Output only. System-generated unique identifier for the resource.
1781
+ # Corresponds to the JSON property `uid`
1782
+ # @return [String]
1783
+ attr_accessor :uid
1784
+
1785
+ # Output only. Last update time of this resource.
1786
+ # Corresponds to the JSON property `updateTime`
1787
+ # @return [String]
1788
+ attr_accessor :update_time
1789
+
1790
+ # Required. The relative resource name of the VMware Engine network. Specify the
1791
+ # name in the following form: `projects/`project`/locations/`location`/
1792
+ # vmwareEngineNetworks/`vmware_engine_network_id`` where ``project`` can either
1793
+ # be a project number or a project ID.
1794
+ # Corresponds to the JSON property `vmwareEngineNetwork`
1795
+ # @return [String]
1796
+ attr_accessor :vmware_engine_network
1797
+
1798
+ def initialize(**args)
1799
+ update!(**args)
1800
+ end
1801
+
1802
+ # Update properties of this object
1803
+ def update!(**args)
1804
+ @create_time = args[:create_time] if args.key?(:create_time)
1805
+ @description = args[:description] if args.key?(:description)
1806
+ @exchange_subnet_routes = args[:exchange_subnet_routes] if args.key?(:exchange_subnet_routes)
1807
+ @export_custom_routes = args[:export_custom_routes] if args.key?(:export_custom_routes)
1808
+ @export_custom_routes_with_public_ip = args[:export_custom_routes_with_public_ip] if args.key?(:export_custom_routes_with_public_ip)
1809
+ @import_custom_routes = args[:import_custom_routes] if args.key?(:import_custom_routes)
1810
+ @import_custom_routes_with_public_ip = args[:import_custom_routes_with_public_ip] if args.key?(:import_custom_routes_with_public_ip)
1811
+ @name = args[:name] if args.key?(:name)
1812
+ @peer_mtu = args[:peer_mtu] if args.key?(:peer_mtu)
1813
+ @peer_network = args[:peer_network] if args.key?(:peer_network)
1814
+ @peer_network_type = args[:peer_network_type] if args.key?(:peer_network_type)
1815
+ @state = args[:state] if args.key?(:state)
1816
+ @state_details = args[:state_details] if args.key?(:state_details)
1817
+ @uid = args[:uid] if args.key?(:uid)
1818
+ @update_time = args[:update_time] if args.key?(:update_time)
1819
+ @vmware_engine_network = args[:vmware_engine_network] if args.key?(:vmware_engine_network)
1820
+ end
1821
+ end
1822
+
879
1823
  # Represents a network policy resource. Network policies are regional resources.
880
1824
  # You can use a network policy to enable or disable internet access and external
881
1825
  # IP access. Network policies are associated with a VMware Engine network, which
@@ -1003,6 +1947,66 @@ module Google
1003
1947
  end
1004
1948
  end
1005
1949
 
1950
+ # Node in a cluster.
1951
+ class Node
1952
+ include Google::Apis::Core::Hashable
1953
+
1954
+ # Output only. Customized number of cores
1955
+ # Corresponds to the JSON property `customCoreCount`
1956
+ # @return [Fixnum]
1957
+ attr_accessor :custom_core_count
1958
+
1959
+ # Output only. Fully qualified domain name of the node.
1960
+ # Corresponds to the JSON property `fqdn`
1961
+ # @return [String]
1962
+ attr_accessor :fqdn
1963
+
1964
+ # Output only. Internal IP address of the node.
1965
+ # Corresponds to the JSON property `internalIp`
1966
+ # @return [String]
1967
+ attr_accessor :internal_ip
1968
+
1969
+ # Output only. The resource name of this node. Resource names are schemeless
1970
+ # URIs that follow the conventions in https://cloud.google.com/apis/design/
1971
+ # resource_names. For example: projects/my-project/locations/us-central1-a/
1972
+ # privateClouds/my-cloud/clusters/my-cluster/nodes/my-node
1973
+ # Corresponds to the JSON property `name`
1974
+ # @return [String]
1975
+ attr_accessor :name
1976
+
1977
+ # Output only. The canonical identifier of the node type (corresponds to the `
1978
+ # NodeType`). For example: standard-72.
1979
+ # Corresponds to the JSON property `nodeTypeId`
1980
+ # @return [String]
1981
+ attr_accessor :node_type_id
1982
+
1983
+ # Output only. The state of the appliance.
1984
+ # Corresponds to the JSON property `state`
1985
+ # @return [String]
1986
+ attr_accessor :state
1987
+
1988
+ # Output only. The version number of the VMware ESXi management component in
1989
+ # this cluster.
1990
+ # Corresponds to the JSON property `version`
1991
+ # @return [String]
1992
+ attr_accessor :version
1993
+
1994
+ def initialize(**args)
1995
+ update!(**args)
1996
+ end
1997
+
1998
+ # Update properties of this object
1999
+ def update!(**args)
2000
+ @custom_core_count = args[:custom_core_count] if args.key?(:custom_core_count)
2001
+ @fqdn = args[:fqdn] if args.key?(:fqdn)
2002
+ @internal_ip = args[:internal_ip] if args.key?(:internal_ip)
2003
+ @name = args[:name] if args.key?(:name)
2004
+ @node_type_id = args[:node_type_id] if args.key?(:node_type_id)
2005
+ @state = args[:state] if args.key?(:state)
2006
+ @version = args[:version] if args.key?(:version)
2007
+ end
2008
+ end
2009
+
1006
2010
  # Describes node type.
1007
2011
  class NodeType
1008
2012
  include Google::Apis::Core::Hashable
@@ -1012,6 +2016,11 @@ module Google
1012
2016
  # @return [Array<Fixnum>]
1013
2017
  attr_accessor :available_custom_core_counts
1014
2018
 
2019
+ # Output only. Capabilities of this node type.
2020
+ # Corresponds to the JSON property `capabilities`
2021
+ # @return [Array<String>]
2022
+ attr_accessor :capabilities
2023
+
1015
2024
  # Output only. The amount of storage available, defined in GB.
1016
2025
  # Corresponds to the JSON property `diskSizeGb`
1017
2026
  # @return [Fixnum]
@@ -1023,6 +2032,17 @@ module Google
1023
2032
  # @return [String]
1024
2033
  attr_accessor :display_name
1025
2034
 
2035
+ # Output only. Families of the node type. For node types to be in the same
2036
+ # cluster they must share at least one element in the `families`.
2037
+ # Corresponds to the JSON property `families`
2038
+ # @return [Array<String>]
2039
+ attr_accessor :families
2040
+
2041
+ # Output only. The type of the resource.
2042
+ # Corresponds to the JSON property `kind`
2043
+ # @return [String]
2044
+ attr_accessor :kind
2045
+
1026
2046
  # Output only. The amount of physical memory available, defined in GB.
1027
2047
  # Corresponds to the JSON property `memoryGb`
1028
2048
  # @return [Fixnum]
@@ -1059,8 +2079,11 @@ module Google
1059
2079
  # Update properties of this object
1060
2080
  def update!(**args)
1061
2081
  @available_custom_core_counts = args[:available_custom_core_counts] if args.key?(:available_custom_core_counts)
2082
+ @capabilities = args[:capabilities] if args.key?(:capabilities)
1062
2083
  @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
1063
2084
  @display_name = args[:display_name] if args.key?(:display_name)
2085
+ @families = args[:families] if args.key?(:families)
2086
+ @kind = args[:kind] if args.key?(:kind)
1064
2087
  @memory_gb = args[:memory_gb] if args.key?(:memory_gb)
1065
2088
  @name = args[:name] if args.key?(:name)
1066
2089
  @node_type_id = args[:node_type_id] if args.key?(:node_type_id)
@@ -1407,6 +2430,32 @@ module Google
1407
2430
  end
1408
2431
  end
1409
2432
 
2433
+ # Users/Service accounts which have access for DNS binding on the intranet VPC
2434
+ # corresponding to the consumer project.
2435
+ class Principal
2436
+ include Google::Apis::Core::Hashable
2437
+
2438
+ # The service account which needs to be granted the permission.
2439
+ # Corresponds to the JSON property `serviceAccount`
2440
+ # @return [String]
2441
+ attr_accessor :service_account
2442
+
2443
+ # The user who needs to be granted permission.
2444
+ # Corresponds to the JSON property `user`
2445
+ # @return [String]
2446
+ attr_accessor :user
2447
+
2448
+ def initialize(**args)
2449
+ update!(**args)
2450
+ end
2451
+
2452
+ # Update properties of this object
2453
+ def update!(**args)
2454
+ @service_account = args[:service_account] if args.key?(:service_account)
2455
+ @user = args[:user] if args.key?(:user)
2456
+ end
2457
+ end
2458
+
1410
2459
  # Represents a private cloud resource. Private clouds of type `STANDARD` and `
1411
2460
  # TIME_LIMITED` are zonal resources, `STRETCHED` private clouds are regional.
1412
2461
  class PrivateCloud
@@ -1625,6 +2674,35 @@ module Google
1625
2674
  end
1626
2675
  end
1627
2676
 
2677
+ # Request message for VmwareEngine.RepairManagementDnsZoneBindings
2678
+ class RepairManagementDnsZoneBindingRequest
2679
+ include Google::Apis::Core::Hashable
2680
+
2681
+ # Optional. A request ID to identify requests. Specify a unique request ID so
2682
+ # that if you must retry your request, the server will know to ignore the
2683
+ # request if it has already been completed. The server guarantees that a request
2684
+ # doesn't result in creation of duplicate commitments for at least 60 minutes.
2685
+ # For example, consider a situation where you make an initial request and the
2686
+ # request times out. If you make the request again with the same request ID, the
2687
+ # server can check if the original operation with the same request ID was
2688
+ # received, and if so, will ignore the second request. This prevents clients
2689
+ # from accidentally creating duplicate commitments. The request ID must be a
2690
+ # valid UUID with the exception that zero UUID is not supported (00000000-0000-
2691
+ # 0000-0000-000000000000).
2692
+ # Corresponds to the JSON property `requestId`
2693
+ # @return [String]
2694
+ attr_accessor :request_id
2695
+
2696
+ def initialize(**args)
2697
+ update!(**args)
2698
+ end
2699
+
2700
+ # Update properties of this object
2701
+ def update!(**args)
2702
+ @request_id = args[:request_id] if args.key?(:request_id)
2703
+ end
2704
+ end
2705
+
1628
2706
  # Request message for VmwareEngine.ResetNsxCredentials
1629
2707
  class ResetNsxCredentialsRequest
1630
2708
  include Google::Apis::Core::Hashable
@@ -1673,12 +2751,58 @@ module Google
1673
2751
  # @return [String]
1674
2752
  attr_accessor :request_id
1675
2753
 
2754
+ # Optional. The username of the user to be to reset the credentials. The default
2755
+ # value of this field is CloudOwner@gve.local. The provided value should be one
2756
+ # of the following: solution-user-01@gve.local, solution-user-02@gve.local,
2757
+ # solution-user-03@gve.local, solution-user-04@gve.local, solution-user-05@gve.
2758
+ # local, zertoadmin@gve.local.
2759
+ # Corresponds to the JSON property `username`
2760
+ # @return [String]
2761
+ attr_accessor :username
2762
+
2763
+ def initialize(**args)
2764
+ update!(**args)
2765
+ end
2766
+
2767
+ # Update properties of this object
2768
+ def update!(**args)
2769
+ @request_id = args[:request_id] if args.key?(:request_id)
2770
+ @username = args[:username] if args.key?(:username)
2771
+ end
2772
+ end
2773
+
2774
+ # Request message for VmwareEngine.RevokeDnsBindPermission
2775
+ class RevokeDnsBindPermissionRequest
2776
+ include Google::Apis::Core::Hashable
2777
+
2778
+ # Users/Service accounts which have access for DNS binding on the intranet VPC
2779
+ # corresponding to the consumer project.
2780
+ # Corresponds to the JSON property `principal`
2781
+ # @return [Google::Apis::VmwareengineV1::Principal]
2782
+ attr_accessor :principal
2783
+
2784
+ # Optional. A request ID to identify requests. Specify a unique request ID so
2785
+ # that if you must retry your request, the server will know to ignore the
2786
+ # request if it has already been completed. The server guarantees that a request
2787
+ # doesn't result in creation of duplicate commitments for at least 60 minutes.
2788
+ # For example, consider a situation where you make an initial request and the
2789
+ # request times out. If you make the request again with the same request ID, the
2790
+ # server can check if original operation with the same request ID was received,
2791
+ # and if so, will ignore the second request. This prevents clients from
2792
+ # accidentally creating duplicate commitments. The request ID must be a valid
2793
+ # UUID with the exception that zero UUID is not supported (00000000-0000-0000-
2794
+ # 0000-000000000000).
2795
+ # Corresponds to the JSON property `requestId`
2796
+ # @return [String]
2797
+ attr_accessor :request_id
2798
+
1676
2799
  def initialize(**args)
1677
2800
  update!(**args)
1678
2801
  end
1679
2802
 
1680
2803
  # Update properties of this object
1681
2804
  def update!(**args)
2805
+ @principal = args[:principal] if args.key?(:principal)
1682
2806
  @request_id = args[:request_id] if args.key?(:request_id)
1683
2807
  end
1684
2808
  end
@@ -1775,6 +2899,37 @@ module Google
1775
2899
  end
1776
2900
  end
1777
2901
 
2902
+ # Configuration of a stretched cluster.
2903
+ class StretchedClusterConfig
2904
+ include Google::Apis::Core::Hashable
2905
+
2906
+ # Required. Zone that will remain operational when connection between the two
2907
+ # zones is lost. Specify the resource name of a zone that belongs to the region
2908
+ # of the private cloud. For example: `projects/`project`/locations/europe-west3-
2909
+ # a` where ``project`` can either be a project number or a project ID.
2910
+ # Corresponds to the JSON property `preferredLocation`
2911
+ # @return [String]
2912
+ attr_accessor :preferred_location
2913
+
2914
+ # Required. Additional zone for a higher level of availability and load
2915
+ # balancing. Specify the resource name of a zone that belongs to the region of
2916
+ # the private cloud. For example: `projects/`project`/locations/europe-west3-b`
2917
+ # where ``project`` can either be a project number or a project ID.
2918
+ # Corresponds to the JSON property `secondaryLocation`
2919
+ # @return [String]
2920
+ attr_accessor :secondary_location
2921
+
2922
+ def initialize(**args)
2923
+ update!(**args)
2924
+ end
2925
+
2926
+ # Update properties of this object
2927
+ def update!(**args)
2928
+ @preferred_location = args[:preferred_location] if args.key?(:preferred_location)
2929
+ @secondary_location = args[:secondary_location] if args.key?(:secondary_location)
2930
+ end
2931
+ end
2932
+
1778
2933
  # Subnet in a private cloud. Either `management` subnets (such as vMotion) that
1779
2934
  # are read-only, or `userDefined`, which can also be updated.
1780
2935
  class Subnet
@@ -1809,6 +2964,11 @@ module Google
1809
2964
  # @return [String]
1810
2965
  attr_accessor :type
1811
2966
 
2967
+ # Output only. VLAN ID of the VLAN on which the subnet is configured
2968
+ # Corresponds to the JSON property `vlanId`
2969
+ # @return [Fixnum]
2970
+ attr_accessor :vlan_id
2971
+
1812
2972
  def initialize(**args)
1813
2973
  update!(**args)
1814
2974
  end
@@ -1820,6 +2980,7 @@ module Google
1820
2980
  @name = args[:name] if args.key?(:name)
1821
2981
  @state = args[:state] if args.key?(:state)
1822
2982
  @type = args[:type] if args.key?(:type)
2983
+ @vlan_id = args[:vlan_id] if args.key?(:vlan_id)
1823
2984
  end
1824
2985
  end
1825
2986