google-apis-compute_alpha 0.62.0 → 0.64.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.
@@ -516,16 +516,18 @@ module Google
516
516
  class AccessConfig
517
517
  include Google::Apis::Core::Hashable
518
518
 
519
- # The first IPv6 address of the external IPv6 range associated with this
520
- # instance, prefix length is stored in externalIpv6PrefixLength in
521
- # ipv6AccessConfig. To use a static external IP address, it must be unused and
522
- # in the same region as the instance's zone. If not specified, Google Cloud will
523
- # automatically assign an external IPv6 address from the instance's subnetwork.
519
+ # Applies to ipv6AccessConfigs only. The first IPv6 address of the external IPv6
520
+ # range associated with this instance, prefix length is stored in
521
+ # externalIpv6PrefixLength in ipv6AccessConfig. To use a static external IP
522
+ # address, it must be unused and in the same region as the instance's zone. If
523
+ # not specified, Google Cloud will automatically assign an external IPv6 address
524
+ # from the instance's subnetwork.
524
525
  # Corresponds to the JSON property `externalIpv6`
525
526
  # @return [String]
526
527
  attr_accessor :external_ipv6
527
528
 
528
- # The prefix length of the external IPv6 range.
529
+ # Applies to ipv6AccessConfigs only. The prefix length of the external IPv6
530
+ # range.
529
531
  # Corresponds to the JSON property `externalIpv6PrefixLength`
530
532
  # @return [Fixnum]
531
533
  attr_accessor :external_ipv6_prefix_length
@@ -536,18 +538,19 @@ module Google
536
538
  # @return [String]
537
539
  attr_accessor :kind
538
540
 
539
- # The name of this access configuration. The default and recommended name is
540
- # External NAT, but you can use any arbitrary string, such as My external IP or
541
- # Network Access.
541
+ # The name of this access configuration. In accessConfigs (IPv4), the default
542
+ # and recommended name is External NAT, but you can use any arbitrary string,
543
+ # such as My external IP or Network Access. In ipv6AccessConfigs, the recommend
544
+ # name is External IPv6.
542
545
  # Corresponds to the JSON property `name`
543
546
  # @return [String]
544
547
  attr_accessor :name
545
548
 
546
- # An external IP address associated with this instance. Specify an unused static
547
- # external IP address available to the project or leave this field undefined to
548
- # use an IP from a shared ephemeral IP address pool. If you specify a static
549
- # external IP address, it must live in the same region as the zone of the
550
- # instance.
549
+ # Applies to accessConfigs (IPv4) only. An external IP address associated with
550
+ # this instance. Specify an unused static external IP address available to the
551
+ # project or leave this field undefined to use an IP from a shared ephemeral IP
552
+ # address pool. If you specify a static external IP address, it must live in the
553
+ # same region as the zone of the instance.
551
554
  # Corresponds to the JSON property `natIP`
552
555
  # @return [String]
553
556
  attr_accessor :nat_ip
@@ -597,7 +600,9 @@ module Google
597
600
  attr_accessor :set_public_ptr
598
601
  alias_method :set_public_ptr?, :set_public_ptr
599
602
 
600
- # The type of configuration. The default and only option is ONE_TO_ONE_NAT.
603
+ # The type of configuration. In accessConfigs (IPv4), the default and only
604
+ # option is ONE_TO_ONE_NAT. In ipv6AccessConfigs, the default and only option is
605
+ # DIRECT_IPV6.
601
606
  # Corresponds to the JSON property `type`
602
607
  # @return [String]
603
608
  attr_accessor :type
@@ -3749,6 +3754,12 @@ module Google
3749
3754
  # @return [Google::Apis::ComputeAlpha::Duration]
3750
3755
  attr_accessor :max_stream_duration
3751
3756
 
3757
+ # Deployment metadata associated with the resource to be set by a GKE hub
3758
+ # controller and read by the backend RCTH
3759
+ # Corresponds to the JSON property `metadatas`
3760
+ # @return [Hash<String,String>]
3761
+ attr_accessor :metadatas
3762
+
3752
3763
  # Name of the resource. Provided by the client when the resource is created. The
3753
3764
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
3754
3765
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
@@ -3913,6 +3924,7 @@ module Google
3913
3924
  @locality_lb_policy = args[:locality_lb_policy] if args.key?(:locality_lb_policy)
3914
3925
  @log_config = args[:log_config] if args.key?(:log_config)
3915
3926
  @max_stream_duration = args[:max_stream_duration] if args.key?(:max_stream_duration)
3927
+ @metadatas = args[:metadatas] if args.key?(:metadatas)
3916
3928
  @name = args[:name] if args.key?(:name)
3917
3929
  @network = args[:network] if args.key?(:network)
3918
3930
  @outlier_detection = args[:outlier_detection] if args.key?(:outlier_detection)
@@ -5342,6 +5354,13 @@ module Google
5342
5354
  class BulkInsertInstanceResourcePerInstanceProperties
5343
5355
  include Google::Apis::Core::Hashable
5344
5356
 
5357
+ # Specifies the hostname of the instance. More details in: https://cloud.google.
5358
+ # com/compute/docs/instances/custom-hostname-vm#naming_convention hostname must
5359
+ # be uniqe in per_instance_properties map.
5360
+ # Corresponds to the JSON property `hostname`
5361
+ # @return [String]
5362
+ attr_accessor :hostname
5363
+
5345
5364
  # This field is only temporary. It will be removed. Do not use it.
5346
5365
  # Corresponds to the JSON property `name`
5347
5366
  # @return [String]
@@ -5353,6 +5372,7 @@ module Google
5353
5372
 
5354
5373
  # Update properties of this object
5355
5374
  def update!(**args)
5375
+ @hostname = args[:hostname] if args.key?(:hostname)
5356
5376
  @name = args[:name] if args.key?(:name)
5357
5377
  end
5358
5378
  end
@@ -6683,6 +6703,13 @@ module Google
6683
6703
  # @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey]
6684
6704
  attr_accessor :disk_encryption_key
6685
6705
 
6706
+ # Whether this disk is using confidential compute mode. see go/confidential-mode-
6707
+ # in-arcus for details.
6708
+ # Corresponds to the JSON property `enableConfidentialCompute`
6709
+ # @return [Boolean]
6710
+ attr_accessor :enable_confidential_compute
6711
+ alias_method :enable_confidential_compute?, :enable_confidential_compute
6712
+
6686
6713
  # Specifies whether the disk restored from a source snapshot should erase
6687
6714
  # Windows specific VSS signature.
6688
6715
  # Corresponds to the JSON property `eraseWindowsVssSignature`
@@ -7038,6 +7065,7 @@ module Google
7038
7065
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
7039
7066
  @description = args[:description] if args.key?(:description)
7040
7067
  @disk_encryption_key = args[:disk_encryption_key] if args.key?(:disk_encryption_key)
7068
+ @enable_confidential_compute = args[:enable_confidential_compute] if args.key?(:enable_confidential_compute)
7041
7069
  @erase_windows_vss_signature = args[:erase_windows_vss_signature] if args.key?(:erase_windows_vss_signature)
7042
7070
  @guest_os_features = args[:guest_os_features] if args.key?(:guest_os_features)
7043
7071
  @id = args[:id] if args.key?(:id)
@@ -9453,6 +9481,15 @@ module Google
9453
9481
  # @return [String]
9454
9482
  attr_accessor :name
9455
9483
 
9484
+ # An integer indicating the priority of an association. The priority must be a
9485
+ # positive value between 1 and 2147483647. Firewall Policies are evaluated from
9486
+ # highest to lowest priority where 1 is the highest priority and 2147483647 is
9487
+ # the lowest priority. The default value is `1000`. If two associations have the
9488
+ # same priority then lexicographical order on association names is applied.
9489
+ # Corresponds to the JSON property `priority`
9490
+ # @return [Fixnum]
9491
+ attr_accessor :priority
9492
+
9456
9493
  # [Output Only] The short name of the firewall policy of the association.
9457
9494
  # Corresponds to the JSON property `shortName`
9458
9495
  # @return [String]
@@ -9468,6 +9505,7 @@ module Google
9468
9505
  @display_name = args[:display_name] if args.key?(:display_name)
9469
9506
  @firewall_policy_id = args[:firewall_policy_id] if args.key?(:firewall_policy_id)
9470
9507
  @name = args[:name] if args.key?(:name)
9508
+ @priority = args[:priority] if args.key?(:priority)
9471
9509
  @short_name = args[:short_name] if args.key?(:short_name)
9472
9510
  end
9473
9511
  end
@@ -11726,8 +11764,8 @@ module Google
11726
11764
  # The ID of a supported feature. To add multiple values, use commas to separate
11727
11765
  # values. Set to one or more of the following values: - VIRTIO_SCSI_MULTIQUEUE -
11728
11766
  # WINDOWS - MULTI_IP_SUBNET - UEFI_COMPATIBLE - GVNIC - SEV_CAPABLE -
11729
- # SUSPEND_RESUME_COMPATIBLE - SEV_SNP_CAPABLE For more information, see Enabling
11730
- # guest operating system features.
11767
+ # SUSPEND_RESUME_COMPATIBLE - SEV_LIVE_MIGRATABLE - SEV_SNP_CAPABLE -
11768
+ # TDX_CAPABLE For more information, see Enabling guest operating system features.
11731
11769
  # Corresponds to the JSON property `type`
11732
11770
  # @return [String]
11733
11771
  attr_accessor :type
@@ -13082,7 +13120,7 @@ module Google
13082
13120
  # @return [String]
13083
13121
  attr_accessor :forwarding_rule_ip
13084
13122
 
13085
- # Health state of the instance.
13123
+ # Health state of the IPv4 address of the instance.
13086
13124
  # Corresponds to the JSON property `healthState`
13087
13125
  # @return [String]
13088
13126
  attr_accessor :health_state
@@ -13172,6 +13210,12 @@ module Google
13172
13210
  # @return [String]
13173
13211
  attr_accessor :health_state
13174
13212
 
13213
+ # Health state of the ipv6 network endpoint determined based on the health
13214
+ # checks configured.
13215
+ # Corresponds to the JSON property `ipv6HealthState`
13216
+ # @return [String]
13217
+ attr_accessor :ipv6_health_state
13218
+
13175
13219
  def initialize(**args)
13176
13220
  update!(**args)
13177
13221
  end
@@ -13183,6 +13227,7 @@ module Google
13183
13227
  @health_check = args[:health_check] if args.key?(:health_check)
13184
13228
  @health_check_service = args[:health_check_service] if args.key?(:health_check_service)
13185
13229
  @health_state = args[:health_state] if args.key?(:health_state)
13230
+ @ipv6_health_state = args[:ipv6_health_state] if args.key?(:ipv6_health_state)
13186
13231
  end
13187
13232
  end
13188
13233
 
@@ -13631,7 +13676,7 @@ module Google
13631
13676
  attr_accessor :port
13632
13677
 
13633
13678
  # The request path of the HTTP health check request. The default value is /.
13634
- # This field does not support query parameters.
13679
+ # This field does not support query parameters. Must comply with RFC3986.
13635
13680
  # Corresponds to the JSON property `requestPath`
13636
13681
  # @return [String]
13637
13682
  attr_accessor :request_path
@@ -14336,6 +14381,7 @@ module Google
14336
14381
  attr_accessor :port
14337
14382
 
14338
14383
  # The request path of the HTTPS health check request. The default value is "/".
14384
+ # Must comply with RFC3986.
14339
14385
  # Corresponds to the JSON property `requestPath`
14340
14386
  # @return [String]
14341
14387
  attr_accessor :request_path
@@ -17527,7 +17573,9 @@ module Google
17527
17573
  include Google::Apis::Core::Hashable
17528
17574
 
17529
17575
  # The URLs of one or more instances to delete. This can be a full URL or a
17530
- # partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
17576
+ # partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. Queued instances
17577
+ # do not have URL and can be deleted only by name. One cannot specify both URLs
17578
+ # and names in a single request.
17531
17579
  # Corresponds to the JSON property `instances`
17532
17580
  # @return [Array<String>]
17533
17581
  attr_accessor :instances
@@ -19897,6 +19945,34 @@ module Google
19897
19945
  end
19898
19946
  end
19899
19947
 
19948
+ #
19949
+ class InstancesSetSecurityPolicyRequest
19950
+ include Google::Apis::Core::Hashable
19951
+
19952
+ # The network interfaces that the security policy will be applied to. Network
19953
+ # interfaces use the nicN naming format. You can only set a security policy for
19954
+ # network interfaces with an access config.
19955
+ # Corresponds to the JSON property `networkInterfaces`
19956
+ # @return [Array<String>]
19957
+ attr_accessor :network_interfaces
19958
+
19959
+ # A full or partial URL to a security policy to add to this instance. If this
19960
+ # field is set to an empty string it will remove the associated security policy.
19961
+ # Corresponds to the JSON property `securityPolicy`
19962
+ # @return [String]
19963
+ attr_accessor :security_policy
19964
+
19965
+ def initialize(**args)
19966
+ update!(**args)
19967
+ end
19968
+
19969
+ # Update properties of this object
19970
+ def update!(**args)
19971
+ @network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces)
19972
+ @security_policy = args[:security_policy] if args.key?(:security_policy)
19973
+ end
19974
+ end
19975
+
19900
19976
  #
19901
19977
  class InstancesSetServiceAccountRequest
19902
19978
  include Google::Apis::Core::Hashable
@@ -20561,8 +20637,8 @@ module Google
20561
20637
  end
20562
20638
 
20563
20639
  # Represents an Interconnect resource. An Interconnect resource is a dedicated
20564
- # connection between the GCP network and your on-premises network. For more
20565
- # information, read the Dedicated Interconnect Overview.
20640
+ # connection between the Google Cloud network and your on-premises network. For
20641
+ # more information, read the Dedicated Interconnect Overview.
20566
20642
  class Interconnect
20567
20643
  include Google::Apis::Core::Hashable
20568
20644
 
@@ -20575,6 +20651,14 @@ module Google
20575
20651
  attr_accessor :admin_enabled
20576
20652
  alias_method :admin_enabled?, :admin_enabled
20577
20653
 
20654
+ # [Output only] List of features available for this interconnect, which can take
20655
+ # one of the following values: - MACSEC If present then the interconnect was
20656
+ # created on MACsec capable hardware ports. If not present then the interconnect
20657
+ # is provisioned on non-MACsec capable ports and MACsec enablement will fail.
20658
+ # Corresponds to the JSON property `availableFeatures`
20659
+ # @return [Array<String>]
20660
+ attr_accessor :available_features
20661
+
20578
20662
  # [Output Only] A list of CircuitInfo objects, that describe the individual
20579
20663
  # circuits in this LAG.
20580
20664
  # Corresponds to the JSON property `circuitInfos`
@@ -20736,6 +20820,17 @@ module Google
20736
20820
  # @return [String]
20737
20821
  attr_accessor :remote_location
20738
20822
 
20823
+ # Optional. List of features requested for this interconnect, which can take one
20824
+ # of the following values: - MACSEC If specified then the interconnect will be
20825
+ # created on MACsec capable hardware ports. If not specified, the default value
20826
+ # is false, which will allocate non-MACsec capable ports first if available.
20827
+ # This parameter can only be provided during interconnect INSERT and cannot be
20828
+ # changed using interconnect PATCH. Please review Interconnect Pricing for
20829
+ # implications on enabling this flag.
20830
+ # Corresponds to the JSON property `requestedFeatures`
20831
+ # @return [Array<String>]
20832
+ attr_accessor :requested_features
20833
+
20739
20834
  # Target number of physical links in the link bundle, as requested by the
20740
20835
  # customer.
20741
20836
  # Corresponds to the JSON property `requestedLinkCount`
@@ -20776,6 +20871,7 @@ module Google
20776
20871
  # Update properties of this object
20777
20872
  def update!(**args)
20778
20873
  @admin_enabled = args[:admin_enabled] if args.key?(:admin_enabled)
20874
+ @available_features = args[:available_features] if args.key?(:available_features)
20779
20875
  @circuit_infos = args[:circuit_infos] if args.key?(:circuit_infos)
20780
20876
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
20781
20877
  @customer_name = args[:customer_name] if args.key?(:customer_name)
@@ -20799,6 +20895,7 @@ module Google
20799
20895
  @peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address)
20800
20896
  @provisioned_link_count = args[:provisioned_link_count] if args.key?(:provisioned_link_count)
20801
20897
  @remote_location = args[:remote_location] if args.key?(:remote_location)
20898
+ @requested_features = args[:requested_features] if args.key?(:requested_features)
20802
20899
  @requested_link_count = args[:requested_link_count] if args.key?(:requested_link_count)
20803
20900
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
20804
20901
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -20963,7 +21060,7 @@ module Google
20963
21060
  # specified for this VLAN attachment. If this field is not specified when
20964
21061
  # creating the VLAN attachment, then later on when creating an HA VPN gateway on
20965
21062
  # this VLAN attachment, the HA VPN gateway's IP address is allocated from the
20966
- # regional external IP address pool. Not currently available publicly.
21063
+ # regional external IP address pool.
20967
21064
  # Corresponds to the JSON property `ipsecInternalAddresses`
20968
21065
  # @return [Array<String>]
20969
21066
  attr_accessor :ipsec_internal_addresses
@@ -22047,6 +22144,19 @@ module Google
22047
22144
  # @return [String]
22048
22145
  attr_accessor :availability_zone
22049
22146
 
22147
+ # [Output only] List of features available at this interconnect location, which
22148
+ # can take one of the following values: - MACSEC
22149
+ # Corresponds to the JSON property `availableFeatures`
22150
+ # @return [Array<String>]
22151
+ attr_accessor :available_features
22152
+
22153
+ # [Output only] List of link types available at this interconnect location,
22154
+ # which can take one of the following values: - LINK_TYPE_ETHERNET_10G_LR -
22155
+ # LINK_TYPE_ETHERNET_100G_LR
22156
+ # Corresponds to the JSON property `availableLinkTypes`
22157
+ # @return [Array<String>]
22158
+ attr_accessor :available_link_types
22159
+
22050
22160
  # [Output Only] Metropolitan area designator that indicates which city an
22051
22161
  # interconnect is located. For example: "Chicago, IL", "Amsterdam, Netherlands".
22052
22162
  # Corresponds to the JSON property `city`
@@ -22142,6 +22252,8 @@ module Google
22142
22252
  def update!(**args)
22143
22253
  @address = args[:address] if args.key?(:address)
22144
22254
  @availability_zone = args[:availability_zone] if args.key?(:availability_zone)
22255
+ @available_features = args[:available_features] if args.key?(:available_features)
22256
+ @available_link_types = args[:available_link_types] if args.key?(:available_link_types)
22145
22257
  @city = args[:city] if args.key?(:city)
22146
22258
  @continent = args[:continent] if args.key?(:continent)
22147
22259
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
@@ -25309,7 +25421,7 @@ module Google
25309
25421
  attr_accessor :firewall_policy
25310
25422
 
25311
25423
  # [Output Only] The gateway address for default routing out of the network,
25312
- # selected by GCP.
25424
+ # selected by Google Cloud.
25313
25425
  # Corresponds to the JSON property `gatewayIPv4`
25314
25426
  # @return [String]
25315
25427
  attr_accessor :gateway_i_pv4
@@ -26257,6 +26369,11 @@ module Google
26257
26369
  # @return [String]
26258
26370
  attr_accessor :ip_address
26259
26371
 
26372
+ # Optional IPv6 address of network endpoint.
26373
+ # Corresponds to the JSON property `ipv6Address`
26374
+ # @return [String]
26375
+ attr_accessor :ipv6_address
26376
+
26260
26377
  # Optional port number of network endpoint. If not specified, the defaultPort
26261
26378
  # for the network endpoint group will be used.
26262
26379
  # Corresponds to the JSON property `port`
@@ -26273,6 +26390,7 @@ module Google
26273
26390
  @fqdn = args[:fqdn] if args.key?(:fqdn)
26274
26391
  @instance = args[:instance] if args.key?(:instance)
26275
26392
  @ip_address = args[:ip_address] if args.key?(:ip_address)
26393
+ @ipv6_address = args[:ipv6_address] if args.key?(:ipv6_address)
26276
26394
  @port = args[:port] if args.key?(:port)
26277
26395
  end
26278
26396
  end
@@ -27376,9 +27494,10 @@ module Google
27376
27494
  # @return [Fixnum]
27377
27495
  attr_accessor :queue_count
27378
27496
 
27379
- # The stack type for this network interface to identify whether the IPv6 feature
27380
- # is enabled or not. If not specified, IPV4_ONLY will be used. This field can be
27381
- # both set at instance creation and update network interface operations.
27497
+ # The stack type for this network interface. To assign only IPv4 addresses, use
27498
+ # IPV4_ONLY. To assign both IPv4 and IPv6 addresses, use IPV4_IPV6. If not
27499
+ # specified, IPV4_ONLY is used. This field can be both set at instance creation
27500
+ # and update network interface operations.
27382
27501
  # Corresponds to the JSON property `stackType`
27383
27502
  # @return [String]
27384
27503
  attr_accessor :stack_type
@@ -28026,6 +28145,12 @@ module Google
28026
28145
  # @return [String]
28027
28146
  attr_accessor :location_hint
28028
28147
 
28148
+ # Specifies the frequency of planned maintenance events. The accepted values are:
28149
+ # `AS_NEEDED` and `RECURRENT`.
28150
+ # Corresponds to the JSON property `maintenanceInterval`
28151
+ # @return [String]
28152
+ attr_accessor :maintenance_interval
28153
+
28029
28154
  # Specifies how to handle instances when a node in the group undergoes
28030
28155
  # maintenance. Set to one of: DEFAULT, RESTART_IN_PLACE, or
28031
28156
  # MIGRATE_WITHIN_NODE_GROUP. The default value is DEFAULT. For more information,
@@ -28100,6 +28225,7 @@ module Google
28100
28225
  @id = args[:id] if args.key?(:id)
28101
28226
  @kind = args[:kind] if args.key?(:kind)
28102
28227
  @location_hint = args[:location_hint] if args.key?(:location_hint)
28228
+ @maintenance_interval = args[:maintenance_interval] if args.key?(:maintenance_interval)
28103
28229
  @maintenance_policy = args[:maintenance_policy] if args.key?(:maintenance_policy)
28104
28230
  @maintenance_window = args[:maintenance_window] if args.key?(:maintenance_window)
28105
28231
  @name = args[:name] if args.key?(:name)
@@ -28496,6 +28622,11 @@ module Google
28496
28622
  # @return [Google::Apis::ComputeAlpha::InstanceConsumptionInfo]
28497
28623
  attr_accessor :total_resources
28498
28624
 
28625
+ # Upcoming Maintenance notification information.
28626
+ # Corresponds to the JSON property `upcomingMaintenance`
28627
+ # @return [Google::Apis::ComputeAlpha::UpcomingMaintenance]
28628
+ attr_accessor :upcoming_maintenance
28629
+
28499
28630
  def initialize(**args)
28500
28631
  update!(**args)
28501
28632
  end
@@ -28515,6 +28646,7 @@ module Google
28515
28646
  @server_id = args[:server_id] if args.key?(:server_id)
28516
28647
  @status = args[:status] if args.key?(:status)
28517
28648
  @total_resources = args[:total_resources] if args.key?(:total_resources)
28649
+ @upcoming_maintenance = args[:upcoming_maintenance] if args.key?(:upcoming_maintenance)
28518
28650
  end
28519
28651
  end
28520
28652
 
@@ -28674,6 +28806,31 @@ module Google
28674
28806
  end
28675
28807
  end
28676
28808
 
28809
+ #
28810
+ class NodeGroupsPerformMaintenanceRequest
28811
+ include Google::Apis::Core::Hashable
28812
+
28813
+ # [Required] List of nodes affected by the call.
28814
+ # Corresponds to the JSON property `nodes`
28815
+ # @return [Array<String>]
28816
+ attr_accessor :nodes
28817
+
28818
+ # The start time of the schedule. The timestamp is an RFC3339 string.
28819
+ # Corresponds to the JSON property `startTime`
28820
+ # @return [String]
28821
+ attr_accessor :start_time
28822
+
28823
+ def initialize(**args)
28824
+ update!(**args)
28825
+ end
28826
+
28827
+ # Update properties of this object
28828
+ def update!(**args)
28829
+ @nodes = args[:nodes] if args.key?(:nodes)
28830
+ @start_time = args[:start_time] if args.key?(:start_time)
28831
+ end
28832
+ end
28833
+
28677
28834
  #
28678
28835
  class NodeGroupsScopedList
28679
28836
  include Google::Apis::Core::Hashable
@@ -37929,6 +38086,12 @@ module Google
37929
38086
  # @return [String]
37930
38087
  attr_accessor :next_hop_gateway
37931
38088
 
38089
+ # [Output Only] The full resource name of the network connectivity center hub
38090
+ # that should handle matching packets.
38091
+ # Corresponds to the JSON property `nextHopHub`
38092
+ # @return [String]
38093
+ attr_accessor :next_hop_hub
38094
+
37932
38095
  # The URL to a forwarding rule of type loadBalancingScheme=INTERNAL that should
37933
38096
  # handle matching packets or the IP address of the forwarding Rule. For example,
37934
38097
  # the following are all valid URLs: - 10.128.0.56 - https://www.googleapis.com/
@@ -38035,6 +38198,7 @@ module Google
38035
38198
  @name = args[:name] if args.key?(:name)
38036
38199
  @network = args[:network] if args.key?(:network)
38037
38200
  @next_hop_gateway = args[:next_hop_gateway] if args.key?(:next_hop_gateway)
38201
+ @next_hop_hub = args[:next_hop_hub] if args.key?(:next_hop_hub)
38038
38202
  @next_hop_ilb = args[:next_hop_ilb] if args.key?(:next_hop_ilb)
38039
38203
  @next_hop_instance = args[:next_hop_instance] if args.key?(:next_hop_instance)
38040
38204
  @next_hop_interconnect_attachment = args[:next_hop_interconnect_attachment] if args.key?(:next_hop_interconnect_attachment)
@@ -38630,14 +38794,16 @@ module Google
38630
38794
  # @return [Google::Apis::ComputeAlpha::RouterBgpPeerBfd]
38631
38795
  attr_accessor :bfd
38632
38796
 
38633
- # User-defined Custom Learned Route IP range list for a BGP session.
38797
+ # A list of user-defined custom learned route IP address ranges for a BGP
38798
+ # session.
38634
38799
  # Corresponds to the JSON property `customLearnedIpRanges`
38635
38800
  # @return [Array<Google::Apis::ComputeAlpha::RouterBgpPeerCustomLearnedIpRange>]
38636
38801
  attr_accessor :custom_learned_ip_ranges
38637
38802
 
38638
- # User-defined Custom Learned Route Priority for a BGP session. This will be
38639
- # applied to all Custom Learned Route ranges of the BGP session, if not given,
38640
- # google-managed priority of 100 is used.
38803
+ # The user-defined custom learned route priority for a BGP session. This value
38804
+ # is applied to all custom learned route ranges for the session. You can choose
38805
+ # a value from `0` to `65335`. If you don't provide a value, Google Cloud
38806
+ # assigns a priority of `100` to the ranges.
38641
38807
  # Corresponds to the JSON property `customLearnedRoutePriority`
38642
38808
  # @return [Fixnum]
38643
38809
  attr_accessor :custom_learned_route_priority
@@ -38841,9 +39007,9 @@ module Google
38841
39007
  class RouterBgpPeerCustomLearnedIpRange
38842
39008
  include Google::Apis::Core::Hashable
38843
39009
 
38844
- # The Custom Learned Route IP range. Must be a valid CIDR-formatted prefix. If
38845
- # an IP is provided without a subnet mask, it is interpreted as a /32 singular
38846
- # IP range for IPv4, and /128 for IPv6.
39010
+ # The custom learned route IP address range. Must be a valid CIDR-formatted
39011
+ # prefix. If an IP address is provided without a subnet mask, it is interpreted
39012
+ # as, for IPv4, a `/32` singular IP address range, and, for IPv6, `/128`.
38847
39013
  # Corresponds to the JSON property `range`
38848
39014
  # @return [String]
38849
39015
  attr_accessor :range
@@ -40997,6 +41163,12 @@ module Google
40997
41163
  # @return [String]
40998
41164
  attr_accessor :log_level
40999
41165
 
41166
+ # An optional list of case-insensitive request header names to use for resolving
41167
+ # the callers client IP address.
41168
+ # Corresponds to the JSON property `userIpRequestHeaders`
41169
+ # @return [Array<String>]
41170
+ attr_accessor :user_ip_request_headers
41171
+
41000
41172
  def initialize(**args)
41001
41173
  update!(**args)
41002
41174
  end
@@ -41006,6 +41178,7 @@ module Google
41006
41178
  @json_custom_config = args[:json_custom_config] if args.key?(:json_custom_config)
41007
41179
  @json_parsing = args[:json_parsing] if args.key?(:json_parsing)
41008
41180
  @log_level = args[:log_level] if args.key?(:log_level)
41181
+ @user_ip_request_headers = args[:user_ip_request_headers] if args.key?(:user_ip_request_headers)
41009
41182
  end
41010
41183
  end
41011
41184
 
@@ -42328,7 +42501,7 @@ module Google
42328
42501
  # Represents a ServiceAttachment resource. A service attachment represents a
42329
42502
  # service that a producer has exposed. It encapsulates the load balancer which
42330
42503
  # fronts the service runs and a list of NAT IP ranges that the producers uses to
42331
- # represent the consumers connecting to the service. next tag = 20
42504
+ # represent the consumers connecting to the service.
42332
42505
  class ServiceAttachment
42333
42506
  include Google::Apis::Core::Hashable
42334
42507
 
@@ -42432,6 +42605,20 @@ module Google
42432
42605
  # @return [Google::Apis::ComputeAlpha::Uint128]
42433
42606
  attr_accessor :psc_service_attachment_id
42434
42607
 
42608
+ # This flag determines whether a consumer accept/reject list change can
42609
+ # reconcile the statuses of existing ACCEPTED or REJECTED PSC endpoints. - If
42610
+ # false, connection policy update will only affect existing PENDING PSC
42611
+ # endpoints. Existing ACCEPTED/REJECTED endpoints will remain untouched
42612
+ # regardless how the connection policy is modified . - If true, update will
42613
+ # affect both PENDING and ACCEPTED/REJECTED PSC endpoints. For example, an
42614
+ # ACCEPTED PSC endpoint will be moved to REJECTED if its project is added to the
42615
+ # reject list. For newly created service attachment, this boolean defaults to
42616
+ # true.
42617
+ # Corresponds to the JSON property `reconcileConnections`
42618
+ # @return [Boolean]
42619
+ attr_accessor :reconcile_connections
42620
+ alias_method :reconcile_connections?, :reconcile_connections
42621
+
42435
42622
  # [Output Only] URL of the region where the service attachment resides. This
42436
42623
  # field applies only to the region resource. You must specify this field as part
42437
42624
  # of the HTTP request URL. It is not settable as a field in the request body.
@@ -42471,6 +42658,7 @@ module Google
42471
42658
  @nat_subnets = args[:nat_subnets] if args.key?(:nat_subnets)
42472
42659
  @producer_forwarding_rule = args[:producer_forwarding_rule] if args.key?(:producer_forwarding_rule)
42473
42660
  @psc_service_attachment_id = args[:psc_service_attachment_id] if args.key?(:psc_service_attachment_id)
42661
+ @reconcile_connections = args[:reconcile_connections] if args.key?(:reconcile_connections)
42474
42662
  @region = args[:region] if args.key?(:region)
42475
42663
  @self_link = args[:self_link] if args.key?(:self_link)
42476
42664
  @target_service = args[:target_service] if args.key?(:target_service)
@@ -42954,11 +43142,6 @@ module Google
42954
43142
  # @return [Google::Apis::ComputeAlpha::Status]
42955
43143
  attr_accessor :error
42956
43144
 
42957
- #
42958
- # Corresponds to the JSON property `operation`
42959
- # @return [String]
42960
- attr_accessor :operation
42961
-
42962
43145
  #
42963
43146
  # Corresponds to the JSON property `state`
42964
43147
  # @return [String]
@@ -42971,7 +43154,6 @@ module Google
42971
43154
  # Update properties of this object
42972
43155
  def update!(**args)
42973
43156
  @error = args[:error] if args.key?(:error)
42974
- @operation = args[:operation] if args.key?(:operation)
42975
43157
  @state = args[:state] if args.key?(:state)
42976
43158
  end
42977
43159
  end
@@ -45142,6 +45324,539 @@ module Google
45142
45324
  end
45143
45325
  end
45144
45326
 
45327
+ # Represents a zonal storage pool resource.
45328
+ class StoragePool
45329
+ include Google::Apis::Core::Hashable
45330
+
45331
+ # [Output Only] Creation timestamp in RFC3339 text format.
45332
+ # Corresponds to the JSON property `creationTimestamp`
45333
+ # @return [String]
45334
+ attr_accessor :creation_timestamp
45335
+
45336
+ # An optional description of this resource. Provide this property when you
45337
+ # create the resource.
45338
+ # Corresponds to the JSON property `description`
45339
+ # @return [String]
45340
+ attr_accessor :description
45341
+
45342
+ # [Output Only] The unique identifier for the resource. This identifier is
45343
+ # defined by the server.
45344
+ # Corresponds to the JSON property `id`
45345
+ # @return [Fixnum]
45346
+ attr_accessor :id
45347
+
45348
+ # [Output Only] Type of the resource. Always compute#storagePool for storage
45349
+ # pools.
45350
+ # Corresponds to the JSON property `kind`
45351
+ # @return [String]
45352
+ attr_accessor :kind
45353
+
45354
+ # A fingerprint for the labels being applied to this storage pool, which is
45355
+ # essentially a hash of the labels set used for optimistic locking. The
45356
+ # fingerprint is initially generated by Compute Engine and changes after every
45357
+ # request to modify or update labels. You must always provide an up-to-date
45358
+ # fingerprint hash in order to update or change labels, otherwise the request
45359
+ # will fail with error 412 conditionNotMet. To see the latest fingerprint, make
45360
+ # a get() request to retrieve a storage pool.
45361
+ # Corresponds to the JSON property `labelFingerprint`
45362
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
45363
+ # @return [String]
45364
+ attr_accessor :label_fingerprint
45365
+
45366
+ # Labels to apply to this storage pool. These can be later modified by the
45367
+ # setLabels method.
45368
+ # Corresponds to the JSON property `labels`
45369
+ # @return [Hash<String,String>]
45370
+ attr_accessor :labels
45371
+
45372
+ # Name of the resource. Provided by the client when the resource is created. The
45373
+ # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
45374
+ # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
45375
+ # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
45376
+ # and all following characters must be a dash, lowercase letter, or digit,
45377
+ # except the last character, which cannot be a dash.
45378
+ # Corresponds to the JSON property `name`
45379
+ # @return [String]
45380
+ attr_accessor :name
45381
+
45382
+ # Provsioned IOPS of the storage pool.
45383
+ # Corresponds to the JSON property `provisionedIops`
45384
+ # @return [Fixnum]
45385
+ attr_accessor :provisioned_iops
45386
+
45387
+ # [Output Only] Contains output only fields.
45388
+ # Corresponds to the JSON property `resourceStatus`
45389
+ # @return [Google::Apis::ComputeAlpha::StoragePoolResourceStatus]
45390
+ attr_accessor :resource_status
45391
+
45392
+ # [Output Only] Server-defined fully-qualified URL for this resource.
45393
+ # Corresponds to the JSON property `selfLink`
45394
+ # @return [String]
45395
+ attr_accessor :self_link
45396
+
45397
+ # [Output Only] Server-defined URL for this resource's resource id.
45398
+ # Corresponds to the JSON property `selfLinkWithId`
45399
+ # @return [String]
45400
+ attr_accessor :self_link_with_id
45401
+
45402
+ # Size, in GiB, of the storage pool.
45403
+ # Corresponds to the JSON property `sizeGb`
45404
+ # @return [Fixnum]
45405
+ attr_accessor :size_gb
45406
+
45407
+ # [Output Only] The status of storage pool creation. - CREATING: Storage pool is
45408
+ # provisioning. storagePool. - FAILED: Storage pool creation failed. - READY:
45409
+ # Storage pool is ready for use. - DELETING: Storage pool is deleting.
45410
+ # Corresponds to the JSON property `state`
45411
+ # @return [String]
45412
+ attr_accessor :state
45413
+
45414
+ # Type of the storage pool
45415
+ # Corresponds to the JSON property `type`
45416
+ # @return [String]
45417
+ attr_accessor :type
45418
+
45419
+ # [Output Only] URL of the zone where the storage pool resides. You must specify
45420
+ # this field as part of the HTTP request URL. It is not settable as a field in
45421
+ # the request body.
45422
+ # Corresponds to the JSON property `zone`
45423
+ # @return [String]
45424
+ attr_accessor :zone
45425
+
45426
+ def initialize(**args)
45427
+ update!(**args)
45428
+ end
45429
+
45430
+ # Update properties of this object
45431
+ def update!(**args)
45432
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
45433
+ @description = args[:description] if args.key?(:description)
45434
+ @id = args[:id] if args.key?(:id)
45435
+ @kind = args[:kind] if args.key?(:kind)
45436
+ @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
45437
+ @labels = args[:labels] if args.key?(:labels)
45438
+ @name = args[:name] if args.key?(:name)
45439
+ @provisioned_iops = args[:provisioned_iops] if args.key?(:provisioned_iops)
45440
+ @resource_status = args[:resource_status] if args.key?(:resource_status)
45441
+ @self_link = args[:self_link] if args.key?(:self_link)
45442
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
45443
+ @size_gb = args[:size_gb] if args.key?(:size_gb)
45444
+ @state = args[:state] if args.key?(:state)
45445
+ @type = args[:type] if args.key?(:type)
45446
+ @zone = args[:zone] if args.key?(:zone)
45447
+ end
45448
+ end
45449
+
45450
+ #
45451
+ class StoragePoolAggregatedList
45452
+ include Google::Apis::Core::Hashable
45453
+
45454
+ #
45455
+ # Corresponds to the JSON property `etag`
45456
+ # @return [String]
45457
+ attr_accessor :etag
45458
+
45459
+ # [Output Only] Unique identifier for the resource; defined by the server.
45460
+ # Corresponds to the JSON property `id`
45461
+ # @return [String]
45462
+ attr_accessor :id
45463
+
45464
+ # A list of StoragePoolsScopedList resources.
45465
+ # Corresponds to the JSON property `items`
45466
+ # @return [Hash<String,Google::Apis::ComputeAlpha::StoragePoolsScopedList>]
45467
+ attr_accessor :items
45468
+
45469
+ # [Output Only] Type of resource. Always compute#storagePoolAggregatedList for
45470
+ # aggregated lists of storage pools.
45471
+ # Corresponds to the JSON property `kind`
45472
+ # @return [String]
45473
+ attr_accessor :kind
45474
+
45475
+ # [Output Only] This token allows you to get the next page of results for list
45476
+ # requests. If the number of results is larger than maxResults, use the
45477
+ # nextPageToken as a value for the query parameter pageToken in the next list
45478
+ # request. Subsequent list requests will have their own nextPageToken to
45479
+ # continue paging through the results.
45480
+ # Corresponds to the JSON property `nextPageToken`
45481
+ # @return [String]
45482
+ attr_accessor :next_page_token
45483
+
45484
+ # [Output Only] Server-defined URL for this resource.
45485
+ # Corresponds to the JSON property `selfLink`
45486
+ # @return [String]
45487
+ attr_accessor :self_link
45488
+
45489
+ # [Output Only] Unreachable resources.
45490
+ # Corresponds to the JSON property `unreachables`
45491
+ # @return [Array<String>]
45492
+ attr_accessor :unreachables
45493
+
45494
+ # [Output Only] Informational warning message.
45495
+ # Corresponds to the JSON property `warning`
45496
+ # @return [Google::Apis::ComputeAlpha::StoragePoolAggregatedList::Warning]
45497
+ attr_accessor :warning
45498
+
45499
+ def initialize(**args)
45500
+ update!(**args)
45501
+ end
45502
+
45503
+ # Update properties of this object
45504
+ def update!(**args)
45505
+ @etag = args[:etag] if args.key?(:etag)
45506
+ @id = args[:id] if args.key?(:id)
45507
+ @items = args[:items] if args.key?(:items)
45508
+ @kind = args[:kind] if args.key?(:kind)
45509
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
45510
+ @self_link = args[:self_link] if args.key?(:self_link)
45511
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
45512
+ @warning = args[:warning] if args.key?(:warning)
45513
+ end
45514
+
45515
+ # [Output Only] Informational warning message.
45516
+ class Warning
45517
+ include Google::Apis::Core::Hashable
45518
+
45519
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
45520
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
45521
+ # Corresponds to the JSON property `code`
45522
+ # @return [String]
45523
+ attr_accessor :code
45524
+
45525
+ # [Output Only] Metadata about this warning in key: value format. For example: "
45526
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
45527
+ # Corresponds to the JSON property `data`
45528
+ # @return [Array<Google::Apis::ComputeAlpha::StoragePoolAggregatedList::Warning::Datum>]
45529
+ attr_accessor :data
45530
+
45531
+ # [Output Only] A human-readable description of the warning code.
45532
+ # Corresponds to the JSON property `message`
45533
+ # @return [String]
45534
+ attr_accessor :message
45535
+
45536
+ def initialize(**args)
45537
+ update!(**args)
45538
+ end
45539
+
45540
+ # Update properties of this object
45541
+ def update!(**args)
45542
+ @code = args[:code] if args.key?(:code)
45543
+ @data = args[:data] if args.key?(:data)
45544
+ @message = args[:message] if args.key?(:message)
45545
+ end
45546
+
45547
+ #
45548
+ class Datum
45549
+ include Google::Apis::Core::Hashable
45550
+
45551
+ # [Output Only] A key that provides more detail on the warning being returned.
45552
+ # For example, for warnings where there are no results in a list request for a
45553
+ # particular zone, this key might be scope and the key value might be the zone
45554
+ # name. Other examples might be a key indicating a deprecated resource and a
45555
+ # suggested replacement, or a warning about invalid network settings (for
45556
+ # example, if an instance attempts to perform IP forwarding but is not enabled
45557
+ # for IP forwarding).
45558
+ # Corresponds to the JSON property `key`
45559
+ # @return [String]
45560
+ attr_accessor :key
45561
+
45562
+ # [Output Only] A warning data value corresponding to the key.
45563
+ # Corresponds to the JSON property `value`
45564
+ # @return [String]
45565
+ attr_accessor :value
45566
+
45567
+ def initialize(**args)
45568
+ update!(**args)
45569
+ end
45570
+
45571
+ # Update properties of this object
45572
+ def update!(**args)
45573
+ @key = args[:key] if args.key?(:key)
45574
+ @value = args[:value] if args.key?(:value)
45575
+ end
45576
+ end
45577
+ end
45578
+ end
45579
+
45580
+ # A list of StoragePool resources.
45581
+ class StoragePoolList
45582
+ include Google::Apis::Core::Hashable
45583
+
45584
+ #
45585
+ # Corresponds to the JSON property `etag`
45586
+ # @return [String]
45587
+ attr_accessor :etag
45588
+
45589
+ # [Output Only] Unique identifier for the resource; defined by the server.
45590
+ # Corresponds to the JSON property `id`
45591
+ # @return [String]
45592
+ attr_accessor :id
45593
+
45594
+ # A list of StoragePool resources.
45595
+ # Corresponds to the JSON property `items`
45596
+ # @return [Array<Google::Apis::ComputeAlpha::StoragePool>]
45597
+ attr_accessor :items
45598
+
45599
+ # [Output Only] Type of resource. Always compute#storagePoolList for lists of
45600
+ # storagePools.
45601
+ # Corresponds to the JSON property `kind`
45602
+ # @return [String]
45603
+ attr_accessor :kind
45604
+
45605
+ # [Output Only] This token allows you to get the next page of results for list
45606
+ # requests. If the number of results is larger than maxResults, use the
45607
+ # nextPageToken as a value for the query parameter pageToken in the next list
45608
+ # request. Subsequent list requests will have their own nextPageToken to
45609
+ # continue paging through the results.
45610
+ # Corresponds to the JSON property `nextPageToken`
45611
+ # @return [String]
45612
+ attr_accessor :next_page_token
45613
+
45614
+ # [Output Only] Server-defined URL for this resource.
45615
+ # Corresponds to the JSON property `selfLink`
45616
+ # @return [String]
45617
+ attr_accessor :self_link
45618
+
45619
+ # [Output Only] Unreachable resources. end_interface:
45620
+ # MixerListResponseWithEtagBuilder
45621
+ # Corresponds to the JSON property `unreachables`
45622
+ # @return [Array<String>]
45623
+ attr_accessor :unreachables
45624
+
45625
+ # [Output Only] Informational warning message.
45626
+ # Corresponds to the JSON property `warning`
45627
+ # @return [Google::Apis::ComputeAlpha::StoragePoolList::Warning]
45628
+ attr_accessor :warning
45629
+
45630
+ def initialize(**args)
45631
+ update!(**args)
45632
+ end
45633
+
45634
+ # Update properties of this object
45635
+ def update!(**args)
45636
+ @etag = args[:etag] if args.key?(:etag)
45637
+ @id = args[:id] if args.key?(:id)
45638
+ @items = args[:items] if args.key?(:items)
45639
+ @kind = args[:kind] if args.key?(:kind)
45640
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
45641
+ @self_link = args[:self_link] if args.key?(:self_link)
45642
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
45643
+ @warning = args[:warning] if args.key?(:warning)
45644
+ end
45645
+
45646
+ # [Output Only] Informational warning message.
45647
+ class Warning
45648
+ include Google::Apis::Core::Hashable
45649
+
45650
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
45651
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
45652
+ # Corresponds to the JSON property `code`
45653
+ # @return [String]
45654
+ attr_accessor :code
45655
+
45656
+ # [Output Only] Metadata about this warning in key: value format. For example: "
45657
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
45658
+ # Corresponds to the JSON property `data`
45659
+ # @return [Array<Google::Apis::ComputeAlpha::StoragePoolList::Warning::Datum>]
45660
+ attr_accessor :data
45661
+
45662
+ # [Output Only] A human-readable description of the warning code.
45663
+ # Corresponds to the JSON property `message`
45664
+ # @return [String]
45665
+ attr_accessor :message
45666
+
45667
+ def initialize(**args)
45668
+ update!(**args)
45669
+ end
45670
+
45671
+ # Update properties of this object
45672
+ def update!(**args)
45673
+ @code = args[:code] if args.key?(:code)
45674
+ @data = args[:data] if args.key?(:data)
45675
+ @message = args[:message] if args.key?(:message)
45676
+ end
45677
+
45678
+ #
45679
+ class Datum
45680
+ include Google::Apis::Core::Hashable
45681
+
45682
+ # [Output Only] A key that provides more detail on the warning being returned.
45683
+ # For example, for warnings where there are no results in a list request for a
45684
+ # particular zone, this key might be scope and the key value might be the zone
45685
+ # name. Other examples might be a key indicating a deprecated resource and a
45686
+ # suggested replacement, or a warning about invalid network settings (for
45687
+ # example, if an instance attempts to perform IP forwarding but is not enabled
45688
+ # for IP forwarding).
45689
+ # Corresponds to the JSON property `key`
45690
+ # @return [String]
45691
+ attr_accessor :key
45692
+
45693
+ # [Output Only] A warning data value corresponding to the key.
45694
+ # Corresponds to the JSON property `value`
45695
+ # @return [String]
45696
+ attr_accessor :value
45697
+
45698
+ def initialize(**args)
45699
+ update!(**args)
45700
+ end
45701
+
45702
+ # Update properties of this object
45703
+ def update!(**args)
45704
+ @key = args[:key] if args.key?(:key)
45705
+ @value = args[:value] if args.key?(:value)
45706
+ end
45707
+ end
45708
+ end
45709
+ end
45710
+
45711
+ # [Output Only] Contains output only fields.
45712
+ class StoragePoolResourceStatus
45713
+ include Google::Apis::Core::Hashable
45714
+
45715
+ # [Output Only] Sum of all the disk' provisioned IOPS.
45716
+ # Corresponds to the JSON property `aggregateDiskProvisionedIops`
45717
+ # @return [Fixnum]
45718
+ attr_accessor :aggregate_disk_provisioned_iops
45719
+
45720
+ # [Output Only] Sum of all the capacity provisioned in disks in this storage
45721
+ # pool. A disk's provisioned capacity is the same as its total capacity.
45722
+ # Corresponds to the JSON property `aggregateDiskSizeGb`
45723
+ # @return [Fixnum]
45724
+ attr_accessor :aggregate_disk_size_gb
45725
+
45726
+ # [Output Only] Timestamp of the last successful resize in RFC3339 text format.
45727
+ # Corresponds to the JSON property `lastResizeTimestamp`
45728
+ # @return [String]
45729
+ attr_accessor :last_resize_timestamp
45730
+
45731
+ # [Output Only] Maximum allowed aggregate disk size in gigabytes.
45732
+ # Corresponds to the JSON property `maxAggregateDiskSizeGb`
45733
+ # @return [Fixnum]
45734
+ attr_accessor :max_aggregate_disk_size_gb
45735
+
45736
+ # [Output Only] Number of disks used.
45737
+ # Corresponds to the JSON property `numberOfDisks`
45738
+ # @return [Fixnum]
45739
+ attr_accessor :number_of_disks
45740
+
45741
+ # [Output Only] Sum of all the disks' local used bytes. This specifically refers
45742
+ # to the amount of bytes used on the disk without any encryption or compression.
45743
+ # Corresponds to the JSON property `usedBytes`
45744
+ # @return [Fixnum]
45745
+ attr_accessor :used_bytes
45746
+
45747
+ # [Output Only] Sum of all the disks' used reduced bytes. This is the actual
45748
+ # storage capacity consumed by all of the disks.
45749
+ # Corresponds to the JSON property `usedReducedBytes`
45750
+ # @return [Fixnum]
45751
+ attr_accessor :used_reduced_bytes
45752
+
45753
+ def initialize(**args)
45754
+ update!(**args)
45755
+ end
45756
+
45757
+ # Update properties of this object
45758
+ def update!(**args)
45759
+ @aggregate_disk_provisioned_iops = args[:aggregate_disk_provisioned_iops] if args.key?(:aggregate_disk_provisioned_iops)
45760
+ @aggregate_disk_size_gb = args[:aggregate_disk_size_gb] if args.key?(:aggregate_disk_size_gb)
45761
+ @last_resize_timestamp = args[:last_resize_timestamp] if args.key?(:last_resize_timestamp)
45762
+ @max_aggregate_disk_size_gb = args[:max_aggregate_disk_size_gb] if args.key?(:max_aggregate_disk_size_gb)
45763
+ @number_of_disks = args[:number_of_disks] if args.key?(:number_of_disks)
45764
+ @used_bytes = args[:used_bytes] if args.key?(:used_bytes)
45765
+ @used_reduced_bytes = args[:used_reduced_bytes] if args.key?(:used_reduced_bytes)
45766
+ end
45767
+ end
45768
+
45769
+ #
45770
+ class StoragePoolsScopedList
45771
+ include Google::Apis::Core::Hashable
45772
+
45773
+ # [Output Only] A list of storage pool contained in this scope.
45774
+ # Corresponds to the JSON property `storagePools`
45775
+ # @return [Array<Google::Apis::ComputeAlpha::StoragePool>]
45776
+ attr_accessor :storage_pools
45777
+
45778
+ # [Output Only] Informational warning which replaces the list of storage pool
45779
+ # when the list is empty.
45780
+ # Corresponds to the JSON property `warning`
45781
+ # @return [Google::Apis::ComputeAlpha::StoragePoolsScopedList::Warning]
45782
+ attr_accessor :warning
45783
+
45784
+ def initialize(**args)
45785
+ update!(**args)
45786
+ end
45787
+
45788
+ # Update properties of this object
45789
+ def update!(**args)
45790
+ @storage_pools = args[:storage_pools] if args.key?(:storage_pools)
45791
+ @warning = args[:warning] if args.key?(:warning)
45792
+ end
45793
+
45794
+ # [Output Only] Informational warning which replaces the list of storage pool
45795
+ # when the list is empty.
45796
+ class Warning
45797
+ include Google::Apis::Core::Hashable
45798
+
45799
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
45800
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
45801
+ # Corresponds to the JSON property `code`
45802
+ # @return [String]
45803
+ attr_accessor :code
45804
+
45805
+ # [Output Only] Metadata about this warning in key: value format. For example: "
45806
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
45807
+ # Corresponds to the JSON property `data`
45808
+ # @return [Array<Google::Apis::ComputeAlpha::StoragePoolsScopedList::Warning::Datum>]
45809
+ attr_accessor :data
45810
+
45811
+ # [Output Only] A human-readable description of the warning code.
45812
+ # Corresponds to the JSON property `message`
45813
+ # @return [String]
45814
+ attr_accessor :message
45815
+
45816
+ def initialize(**args)
45817
+ update!(**args)
45818
+ end
45819
+
45820
+ # Update properties of this object
45821
+ def update!(**args)
45822
+ @code = args[:code] if args.key?(:code)
45823
+ @data = args[:data] if args.key?(:data)
45824
+ @message = args[:message] if args.key?(:message)
45825
+ end
45826
+
45827
+ #
45828
+ class Datum
45829
+ include Google::Apis::Core::Hashable
45830
+
45831
+ # [Output Only] A key that provides more detail on the warning being returned.
45832
+ # For example, for warnings where there are no results in a list request for a
45833
+ # particular zone, this key might be scope and the key value might be the zone
45834
+ # name. Other examples might be a key indicating a deprecated resource and a
45835
+ # suggested replacement, or a warning about invalid network settings (for
45836
+ # example, if an instance attempts to perform IP forwarding but is not enabled
45837
+ # for IP forwarding).
45838
+ # Corresponds to the JSON property `key`
45839
+ # @return [String]
45840
+ attr_accessor :key
45841
+
45842
+ # [Output Only] A warning data value corresponding to the key.
45843
+ # Corresponds to the JSON property `value`
45844
+ # @return [String]
45845
+ attr_accessor :value
45846
+
45847
+ def initialize(**args)
45848
+ update!(**args)
45849
+ end
45850
+
45851
+ # Update properties of this object
45852
+ def update!(**args)
45853
+ @key = args[:key] if args.key?(:key)
45854
+ @value = args[:value] if args.key?(:value)
45855
+ end
45856
+ end
45857
+ end
45858
+ end
45859
+
45145
45860
  # Represents a Subnetwork resource. A subnetwork (also known as a subnet) is a
45146
45861
  # logical partition of a Virtual Private Cloud network with one primary IP range
45147
45862
  # and zero or more secondary IP ranges. For more information, read Virtual
@@ -46418,6 +47133,16 @@ module Google
46418
47133
  # @return [Array<String>]
46419
47134
  attr_accessor :http_filters
46420
47135
 
47136
+ # Specifies how long to keep a connection open, after completing a response,
47137
+ # while there is no matching traffic (in seconds). If an HTTP keep-alive is not
47138
+ # specified, a default value (610 seconds) will be used. For Global external
47139
+ # HTTP(S) load balancer, the minimum allowed value is 5 seconds and the maximum
47140
+ # allowed value is 1200 seconds. For Global external HTTP(S) load balancer (
47141
+ # classic), this option is not available publicly.
47142
+ # Corresponds to the JSON property `httpKeepAliveTimeoutSec`
47143
+ # @return [Fixnum]
47144
+ attr_accessor :http_keep_alive_timeout_sec
47145
+
46421
47146
  # [Output Only] The unique identifier for the resource. This identifier is
46422
47147
  # defined by the server.
46423
47148
  # Corresponds to the JSON property `id`
@@ -46485,6 +47210,7 @@ module Google
46485
47210
  @description = args[:description] if args.key?(:description)
46486
47211
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
46487
47212
  @http_filters = args[:http_filters] if args.key?(:http_filters)
47213
+ @http_keep_alive_timeout_sec = args[:http_keep_alive_timeout_sec] if args.key?(:http_keep_alive_timeout_sec)
46488
47214
  @id = args[:id] if args.key?(:id)
46489
47215
  @kind = args[:kind] if args.key?(:kind)
46490
47216
  @name = args[:name] if args.key?(:name)
@@ -46965,6 +47691,16 @@ module Google
46965
47691
  # @return [Array<String>]
46966
47692
  attr_accessor :http_filters
46967
47693
 
47694
+ # Specifies how long to keep a connection open, after completing a response,
47695
+ # while there is no matching traffic (in seconds). If an HTTP keep-alive is not
47696
+ # specified, a default value (610 seconds) will be used. For Global external
47697
+ # HTTP(S) load balancer, the minimum allowed value is 5 seconds and the maximum
47698
+ # allowed value is 1200 seconds. For Global external HTTP(S) load balancer (
47699
+ # classic), this option is not available publicly.
47700
+ # Corresponds to the JSON property `httpKeepAliveTimeoutSec`
47701
+ # @return [Fixnum]
47702
+ attr_accessor :http_keep_alive_timeout_sec
47703
+
46968
47704
  # [Output Only] The unique identifier for the resource. This identifier is
46969
47705
  # defined by the server.
46970
47706
  # Corresponds to the JSON property `id`
@@ -47030,8 +47766,11 @@ module Google
47030
47766
  # Optional. A URL referring to a networksecurity.ServerTlsPolicy resource that
47031
47767
  # describes how the proxy should authenticate inbound traffic. serverTlsPolicy
47032
47768
  # only applies to a global TargetHttpsProxy attached to globalForwardingRules
47033
- # with the loadBalancingScheme set to INTERNAL_SELF_MANAGED. If left blank,
47034
- # communications are not encrypted. Note: This field currently has no impact.
47769
+ # with the loadBalancingScheme set to INTERNAL_SELF_MANAGED or EXTERNAL or
47770
+ # EXTERNAL_MANAGED. For details which ServerTlsPolicy resources are accepted
47771
+ # with INTERNAL_SELF_MANAGED and which with EXTERNAL, EXTERNAL_MANAGED
47772
+ # loadBalancingScheme consult ServerTlsPolicy documentation. If left blank,
47773
+ # communications are not encrypted.
47035
47774
  # Corresponds to the JSON property `serverTlsPolicy`
47036
47775
  # @return [String]
47037
47776
  attr_accessor :server_tls_policy
@@ -47075,6 +47814,7 @@ module Google
47075
47814
  @description = args[:description] if args.key?(:description)
47076
47815
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
47077
47816
  @http_filters = args[:http_filters] if args.key?(:http_filters)
47817
+ @http_keep_alive_timeout_sec = args[:http_keep_alive_timeout_sec] if args.key?(:http_keep_alive_timeout_sec)
47078
47818
  @id = args[:id] if args.key?(:id)
47079
47819
  @kind = args[:kind] if args.key?(:kind)
47080
47820
  @name = args[:name] if args.key?(:name)
@@ -49894,6 +50634,17 @@ module Google
49894
50634
  # @return [String]
49895
50635
  attr_accessor :date
49896
50636
 
50637
+ # The latest time for the planned maintenance window to start. This timestamp
50638
+ # value is in RFC3339 text format.
50639
+ # Corresponds to the JSON property `latestWindowStartTime`
50640
+ # @return [String]
50641
+ attr_accessor :latest_window_start_time
50642
+
50643
+ #
50644
+ # Corresponds to the JSON property `maintenanceStatus`
50645
+ # @return [String]
50646
+ attr_accessor :maintenance_status
50647
+
49897
50648
  # Represents a window of time using two timestamps: `earliest` and `latest`.
49898
50649
  # This timestamp values are in RFC3339 text format.
49899
50650
  # Corresponds to the JSON property `startTimeWindow`
@@ -49911,6 +50662,18 @@ module Google
49911
50662
  # @return [String]
49912
50663
  attr_accessor :type
49913
50664
 
50665
+ # The time by which the maintenance disruption will be completed. This timestamp
50666
+ # value is in RFC3339 text format.
50667
+ # Corresponds to the JSON property `windowEndTime`
50668
+ # @return [String]
50669
+ attr_accessor :window_end_time
50670
+
50671
+ # The current start time of the maintenance window. This timestamp value is in
50672
+ # RFC3339 text format.
50673
+ # Corresponds to the JSON property `windowStartTime`
50674
+ # @return [String]
50675
+ attr_accessor :window_start_time
50676
+
49914
50677
  def initialize(**args)
49915
50678
  update!(**args)
49916
50679
  end
@@ -49919,9 +50682,13 @@ module Google
49919
50682
  def update!(**args)
49920
50683
  @can_reschedule = args[:can_reschedule] if args.key?(:can_reschedule)
49921
50684
  @date = args[:date] if args.key?(:date)
50685
+ @latest_window_start_time = args[:latest_window_start_time] if args.key?(:latest_window_start_time)
50686
+ @maintenance_status = args[:maintenance_status] if args.key?(:maintenance_status)
49922
50687
  @start_time_window = args[:start_time_window] if args.key?(:start_time_window)
49923
50688
  @time = args[:time] if args.key?(:time)
49924
50689
  @type = args[:type] if args.key?(:type)
50690
+ @window_end_time = args[:window_end_time] if args.key?(:window_end_time)
50691
+ @window_start_time = args[:window_start_time] if args.key?(:window_start_time)
49925
50692
  end
49926
50693
  end
49927
50694