google-apis-compute_alpha 0.62.0 → 0.64.0

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