google-apis-vmwareengine_v1 0.1.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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