google-apis-compute_beta 0.138.0 → 0.140.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.
@@ -1991,24 +1991,7 @@ module Google
1991
1991
  # @return [Fixnum]
1992
1992
  attr_accessor :disk_size_gb
1993
1993
 
1994
- # Specifies the disk type to use to create the instance. If not specified,
1995
- # the default is pd-standard, specified using the full URL.
1996
- # For example:
1997
- # https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/pd-
1998
- # standard
1999
- # For a full list of acceptable values, seePersistent disk
2000
- # types. If you specify this field when creating a VM, you can provide
2001
- # either the full or partial URL. For example, the following values are
2002
- # valid:
2003
- #
2004
1994
  #
2005
- # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/
2006
- # diskTypes/diskType
2007
- # - projects/project/zones/zone/diskTypes/diskType
2008
- # - zones/zone/diskTypes/diskType
2009
- # If you specify this field when creating or updating an instance template
2010
- # or all-instances configuration, specify the type of the disk, not the
2011
- # URL. For example: pd-standard.
2012
1995
  # Corresponds to the JSON property `diskType`
2013
1996
  # @return [String]
2014
1997
  attr_accessor :disk_type
@@ -6324,6 +6307,16 @@ module Google
6324
6307
  attr_accessor :enable
6325
6308
  alias_method :enable?, :enable
6326
6309
 
6310
+ # The list of request headers that will be logged to Stackdriver.
6311
+ # Corresponds to the JSON property `loggingHttpRequestHeaders`
6312
+ # @return [Array<Google::Apis::ComputeBeta::BackendServiceLogConfigLoggingHttpHeader>]
6313
+ attr_accessor :logging_http_request_headers
6314
+
6315
+ # The list of response headers that will be logged to Stackdriver.
6316
+ # Corresponds to the JSON property `loggingHttpResponseHeaders`
6317
+ # @return [Array<Google::Apis::ComputeBeta::BackendServiceLogConfigLoggingHttpHeader>]
6318
+ attr_accessor :logging_http_response_headers
6319
+
6327
6320
  # This field can only be specified if logging is enabled for this backend
6328
6321
  # service and "logConfig.optionalMode" was set to CUSTOM. Contains a list
6329
6322
  # of optional fields you want to include in the logs. For example:
@@ -6357,12 +6350,33 @@ module Google
6357
6350
  # Update properties of this object
6358
6351
  def update!(**args)
6359
6352
  @enable = args[:enable] if args.key?(:enable)
6353
+ @logging_http_request_headers = args[:logging_http_request_headers] if args.key?(:logging_http_request_headers)
6354
+ @logging_http_response_headers = args[:logging_http_response_headers] if args.key?(:logging_http_response_headers)
6360
6355
  @optional_fields = args[:optional_fields] if args.key?(:optional_fields)
6361
6356
  @optional_mode = args[:optional_mode] if args.key?(:optional_mode)
6362
6357
  @sample_rate = args[:sample_rate] if args.key?(:sample_rate)
6363
6358
  end
6364
6359
  end
6365
6360
 
6361
+ # Determines which HTTP headers will be logged to Stackdriver.
6362
+ class BackendServiceLogConfigLoggingHttpHeader
6363
+ include Google::Apis::Core::Hashable
6364
+
6365
+ # The name of the header to be logged.
6366
+ # Corresponds to the JSON property `headerName`
6367
+ # @return [String]
6368
+ attr_accessor :header_name
6369
+
6370
+ def initialize(**args)
6371
+ update!(**args)
6372
+ end
6373
+
6374
+ # Update properties of this object
6375
+ def update!(**args)
6376
+ @header_name = args[:header_name] if args.key?(:header_name)
6377
+ end
6378
+ end
6379
+
6366
6380
  #
6367
6381
  class BackendServiceNetworkPassThroughLbTrafficPolicy
6368
6382
  include Google::Apis::Core::Hashable
@@ -10335,6 +10349,100 @@ module Google
10335
10349
  end
10336
10350
  end
10337
10351
 
10352
+ # Represents civil time (or occasionally physical time).
10353
+ # This type can represent a civil time in one of a few possible ways:
10354
+ # * When utc_offset is set and time_zone is unset: a civil time on a calendar
10355
+ # day with a particular offset from UTC.
10356
+ # * When time_zone is set and utc_offset is unset: a civil time on a calendar
10357
+ # day in a particular time zone.
10358
+ # * When neither time_zone nor utc_offset is set: a civil time on a calendar
10359
+ # day in local time.
10360
+ # The date is relative to the Proleptic Gregorian Calendar.
10361
+ # If year, month, or day are 0, the DateTime is considered not to have a
10362
+ # specific year, month, or day respectively.
10363
+ # This type may also be used to represent a physical time if all the date and
10364
+ # time fields are set and either case of the `time_offset` oneof is set.
10365
+ # Consider using `Timestamp` message for physical time instead. If your use
10366
+ # case also would like to store the user's timezone, that can be done in
10367
+ # another field.
10368
+ # This type is more flexible than some applications may want. Make sure to
10369
+ # document and validate your application's limitations.
10370
+ class DateTime
10371
+ include Google::Apis::Core::Hashable
10372
+
10373
+ # Optional. Day of month. Must be from 1 to 31 and valid for the year and
10374
+ # month, or 0 if specifying a datetime without a day.
10375
+ # Corresponds to the JSON property `day`
10376
+ # @return [Fixnum]
10377
+ attr_accessor :day
10378
+
10379
+ # Optional. Hours of day in 24 hour format. Should be from 0 to 23, defaults
10380
+ # to 0 (midnight). An API may choose to allow the value "24:00:00" for
10381
+ # scenarios like business closing time.
10382
+ # Corresponds to the JSON property `hours`
10383
+ # @return [Fixnum]
10384
+ attr_accessor :hours
10385
+
10386
+ # Optional. Minutes of hour of day. Must be from 0 to 59, defaults to 0.
10387
+ # Corresponds to the JSON property `minutes`
10388
+ # @return [Fixnum]
10389
+ attr_accessor :minutes
10390
+
10391
+ # Optional. Month of year. Must be from 1 to 12, or 0 if specifying a
10392
+ # datetime without a month.
10393
+ # Corresponds to the JSON property `month`
10394
+ # @return [Fixnum]
10395
+ attr_accessor :month
10396
+
10397
+ # Optional. Fractions of seconds in nanoseconds. Must be from 0 to
10398
+ # 999,999,999, defaults to 0.
10399
+ # Corresponds to the JSON property `nanos`
10400
+ # @return [Fixnum]
10401
+ attr_accessor :nanos
10402
+
10403
+ # Optional. Seconds of minutes of the time. Must normally be from 0 to 59,
10404
+ # defaults to 0. An API may allow the value 60 if it allows leap-seconds.
10405
+ # Corresponds to the JSON property `seconds`
10406
+ # @return [Fixnum]
10407
+ attr_accessor :seconds
10408
+
10409
+ # Represents a time zone from the
10410
+ # [IANA Time Zone Database](https://www.iana.org/time-zones).
10411
+ # Corresponds to the JSON property `timeZone`
10412
+ # @return [Google::Apis::ComputeBeta::TimeZone]
10413
+ attr_accessor :time_zone
10414
+
10415
+ # UTC offset. Must be whole seconds, between -18 hours and +18 hours.
10416
+ # For example, a UTC offset of -4:00 would be represented as
10417
+ # ` seconds: -14400 `.
10418
+ # Corresponds to the JSON property `utcOffset`
10419
+ # @return [String]
10420
+ attr_accessor :utc_offset
10421
+
10422
+ # Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a
10423
+ # datetime without a year.
10424
+ # Corresponds to the JSON property `year`
10425
+ # @return [Fixnum]
10426
+ attr_accessor :year
10427
+
10428
+ def initialize(**args)
10429
+ update!(**args)
10430
+ end
10431
+
10432
+ # Update properties of this object
10433
+ def update!(**args)
10434
+ @day = args[:day] if args.key?(:day)
10435
+ @hours = args[:hours] if args.key?(:hours)
10436
+ @minutes = args[:minutes] if args.key?(:minutes)
10437
+ @month = args[:month] if args.key?(:month)
10438
+ @nanos = args[:nanos] if args.key?(:nanos)
10439
+ @seconds = args[:seconds] if args.key?(:seconds)
10440
+ @time_zone = args[:time_zone] if args.key?(:time_zone)
10441
+ @utc_offset = args[:utc_offset] if args.key?(:utc_offset)
10442
+ @year = args[:year] if args.key?(:year)
10443
+ end
10444
+ end
10445
+
10338
10446
  # Deprecation status for a public resource.
10339
10447
  class DeprecationStatus
10340
10448
  include Google::Apis::Core::Hashable
@@ -10817,6 +10925,43 @@ module Google
10817
10925
  # @return [String]
10818
10926
  attr_accessor :source_instant_snapshot_id
10819
10927
 
10928
+ # The machine image to create the disk from. You can provide this as a
10929
+ # partial or full URL to the resource. For example, the following are valid
10930
+ # values:
10931
+ #
10932
+ #
10933
+ # - https://www.googleapis.com/compute/v1/projects/project/global/
10934
+ # machineImages/machineImage
10935
+ # - projects/project/global/machineImages/machineImage
10936
+ # - global/machineImages/machineImage
10937
+ # Corresponds to the JSON property `sourceMachineImage`
10938
+ # @return [String]
10939
+ attr_accessor :source_machine_image
10940
+
10941
+ # The device name of a disk within a given machine image. The
10942
+ # source_machine_image must be specified.
10943
+ # Corresponds to the JSON property `sourceMachineImageDiskDeviceName`
10944
+ # @return [String]
10945
+ attr_accessor :source_machine_image_disk_device_name
10946
+
10947
+ # Thecustomer-supplied
10948
+ # encryption key of the source machine image. Required if the source
10949
+ # machine image is protected by a customer-supplied encryption key.
10950
+ # Corresponds to the JSON property `sourceMachineImageEncryptionKey`
10951
+ # @return [Google::Apis::ComputeBeta::CustomerEncryptionKey]
10952
+ attr_accessor :source_machine_image_encryption_key
10953
+
10954
+ # Output only. [Output Only] The unique ID of the machine image used to create
10955
+ # this disk.
10956
+ # This value identifies the exact machine image that was used to create this
10957
+ # persistent disk. For example, if you created the persistent disk from a
10958
+ # machine image that was later deleted and recreated under the same name, the
10959
+ # source machine image ID would identify the exact version of the machine
10960
+ # image that was used.
10961
+ # Corresponds to the JSON property `sourceMachineImageId`
10962
+ # @return [String]
10963
+ attr_accessor :source_machine_image_id
10964
+
10820
10965
  # The source snapshot used to create this disk. You can provide this as a
10821
10966
  # partial or full URL to the resource. For example, the following are valid
10822
10967
  # values:
@@ -10961,6 +11106,10 @@ module Google
10961
11106
  @source_image_id = args[:source_image_id] if args.key?(:source_image_id)
10962
11107
  @source_instant_snapshot = args[:source_instant_snapshot] if args.key?(:source_instant_snapshot)
10963
11108
  @source_instant_snapshot_id = args[:source_instant_snapshot_id] if args.key?(:source_instant_snapshot_id)
11109
+ @source_machine_image = args[:source_machine_image] if args.key?(:source_machine_image)
11110
+ @source_machine_image_disk_device_name = args[:source_machine_image_disk_device_name] if args.key?(:source_machine_image_disk_device_name)
11111
+ @source_machine_image_encryption_key = args[:source_machine_image_encryption_key] if args.key?(:source_machine_image_encryption_key)
11112
+ @source_machine_image_id = args[:source_machine_image_id] if args.key?(:source_machine_image_id)
10964
11113
  @source_snapshot = args[:source_snapshot] if args.key?(:source_snapshot)
10965
11114
  @source_snapshot_encryption_key = args[:source_snapshot_encryption_key] if args.key?(:source_snapshot_encryption_key)
10966
11115
  @source_snapshot_id = args[:source_snapshot_id] if args.key?(:source_snapshot_id)
@@ -20512,6 +20661,126 @@ module Google
20512
20661
  end
20513
20662
  end
20514
20663
 
20664
+ # Represents a host resource.
20665
+ class Host
20666
+ include Google::Apis::Core::Hashable
20667
+
20668
+ # Output only. All aliases for this resource.
20669
+ # e.g.
20670
+ # projects/123/zones/us-centra1-a/reservation/r1/reservationBlock/b1/hosts/h1
20671
+ # Corresponds to the JSON property `aliasLinks`
20672
+ # @return [Array<String>]
20673
+ attr_accessor :alias_links
20674
+
20675
+ # Output only. The creation timestamp, formatted asRFC3339 text.
20676
+ # Corresponds to the JSON property `creationTimestamp`
20677
+ # @return [String]
20678
+ attr_accessor :creation_timestamp
20679
+
20680
+ # An optional description of this resource.
20681
+ # Corresponds to the JSON property `description`
20682
+ # @return [String]
20683
+ attr_accessor :description
20684
+
20685
+ # Output only. The unique identifier for this resource. This identifier is
20686
+ # defined by the server.
20687
+ # Corresponds to the JSON property `id`
20688
+ # @return [Fixnum]
20689
+ attr_accessor :id
20690
+
20691
+ # Output only. The type of resource. Alwayscompute#host for hosts.
20692
+ # Corresponds to the JSON property `kind`
20693
+ # @return [String]
20694
+ attr_accessor :kind
20695
+
20696
+ # Output only. The name of the host.
20697
+ # Corresponds to the JSON property `name`
20698
+ # @return [String]
20699
+ attr_accessor :name
20700
+
20701
+ # Output only. The self link of the host.
20702
+ # Corresponds to the JSON property `selfLink`
20703
+ # @return [String]
20704
+ attr_accessor :self_link
20705
+
20706
+ # Output only. The self link with id of the host.
20707
+ # Corresponds to the JSON property `selfLinkWithId`
20708
+ # @return [String]
20709
+ attr_accessor :self_link_with_id
20710
+
20711
+ # Output only. The state of the host.
20712
+ # Corresponds to the JSON property `state`
20713
+ # @return [String]
20714
+ attr_accessor :state
20715
+
20716
+ # Output only. The status of the host
20717
+ # Corresponds to the JSON property `status`
20718
+ # @return [Google::Apis::ComputeBeta::HostStatus]
20719
+ attr_accessor :status
20720
+
20721
+ # Output only. The zone in which the host resides.
20722
+ # Corresponds to the JSON property `zone`
20723
+ # @return [String]
20724
+ attr_accessor :zone
20725
+
20726
+ def initialize(**args)
20727
+ update!(**args)
20728
+ end
20729
+
20730
+ # Update properties of this object
20731
+ def update!(**args)
20732
+ @alias_links = args[:alias_links] if args.key?(:alias_links)
20733
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
20734
+ @description = args[:description] if args.key?(:description)
20735
+ @id = args[:id] if args.key?(:id)
20736
+ @kind = args[:kind] if args.key?(:kind)
20737
+ @name = args[:name] if args.key?(:name)
20738
+ @self_link = args[:self_link] if args.key?(:self_link)
20739
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
20740
+ @state = args[:state] if args.key?(:state)
20741
+ @status = args[:status] if args.key?(:status)
20742
+ @zone = args[:zone] if args.key?(:zone)
20743
+ end
20744
+ end
20745
+
20746
+ #
20747
+ class HostPhysicalTopology
20748
+ include Google::Apis::Core::Hashable
20749
+
20750
+ # The unique identifier of the capacity block within the cluster.
20751
+ # Corresponds to the JSON property `block`
20752
+ # @return [String]
20753
+ attr_accessor :block
20754
+
20755
+ # The cluster name of the reservation sub-block.
20756
+ # Corresponds to the JSON property `cluster`
20757
+ # @return [String]
20758
+ attr_accessor :cluster
20759
+
20760
+ # The unique identifier of the capacity host within the capacity sub-block.
20761
+ # Corresponds to the JSON property `host`
20762
+ # @return [String]
20763
+ attr_accessor :host
20764
+
20765
+ # The unique identifier of the capacity sub-block within the capacity
20766
+ # block.
20767
+ # Corresponds to the JSON property `subBlock`
20768
+ # @return [String]
20769
+ attr_accessor :sub_block
20770
+
20771
+ def initialize(**args)
20772
+ update!(**args)
20773
+ end
20774
+
20775
+ # Update properties of this object
20776
+ def update!(**args)
20777
+ @block = args[:block] if args.key?(:block)
20778
+ @cluster = args[:cluster] if args.key?(:cluster)
20779
+ @host = args[:host] if args.key?(:host)
20780
+ @sub_block = args[:sub_block] if args.key?(:sub_block)
20781
+ end
20782
+ end
20783
+
20515
20784
  # UrlMaps
20516
20785
  # A host-matching rule for a URL. If matched, will use the namedPathMatcher to
20517
20786
  # select the BackendService.
@@ -20555,6 +20824,188 @@ module Google
20555
20824
  end
20556
20825
  end
20557
20826
 
20827
+ #
20828
+ class HostStatus
20829
+ include Google::Apis::Core::Hashable
20830
+
20831
+ # Output only. The physical topology of the reservation sub-block, if
20832
+ # present
20833
+ # Corresponds to the JSON property `physicalTopology`
20834
+ # @return [Google::Apis::ComputeBeta::HostPhysicalTopology]
20835
+ attr_accessor :physical_topology
20836
+
20837
+ # Output only. The URIs of the instances currently running on this host.
20838
+ # Corresponds to the JSON property `runningInstances`
20839
+ # @return [Array<String>]
20840
+ attr_accessor :running_instances
20841
+
20842
+ def initialize(**args)
20843
+ update!(**args)
20844
+ end
20845
+
20846
+ # Update properties of this object
20847
+ def update!(**args)
20848
+ @physical_topology = args[:physical_topology] if args.key?(:physical_topology)
20849
+ @running_instances = args[:running_instances] if args.key?(:running_instances)
20850
+ end
20851
+ end
20852
+
20853
+ #
20854
+ class HostsGetVersionRequest
20855
+ include Google::Apis::Core::Hashable
20856
+
20857
+ # The SBOM selection to return. Duplicate values in the list will be ignored.
20858
+ # Corresponds to the JSON property `sbomSelections`
20859
+ # @return [Array<String>]
20860
+ attr_accessor :sbom_selections
20861
+
20862
+ def initialize(**args)
20863
+ update!(**args)
20864
+ end
20865
+
20866
+ # Update properties of this object
20867
+ def update!(**args)
20868
+ @sbom_selections = args[:sbom_selections] if args.key?(:sbom_selections)
20869
+ end
20870
+ end
20871
+
20872
+ #
20873
+ class HostsListResponse
20874
+ include Google::Apis::Core::Hashable
20875
+
20876
+ #
20877
+ # Corresponds to the JSON property `etag`
20878
+ # @return [String]
20879
+ attr_accessor :etag
20880
+
20881
+ # The unique identifier for the resource; defined by the server.
20882
+ # Corresponds to the JSON property `id`
20883
+ # @return [String]
20884
+ attr_accessor :id
20885
+
20886
+ # A list of host resources.
20887
+ # Corresponds to the JSON property `items`
20888
+ # @return [Array<Google::Apis::ComputeBeta::Host>]
20889
+ attr_accessor :items
20890
+
20891
+ # The type of resource. Always compute#host for a list of hosts.
20892
+ # Corresponds to the JSON property `kind`
20893
+ # @return [String]
20894
+ attr_accessor :kind
20895
+
20896
+ # This token allows you to get the next page of results for
20897
+ # list requests. If the number of results is larger thanmaxResults, use the
20898
+ # nextPageToken as a value for
20899
+ # the query parameter pageToken in the next list request.
20900
+ # Subsequent list requests will have their own nextPageToken to
20901
+ # continue paging through the results.
20902
+ # Corresponds to the JSON property `nextPageToken`
20903
+ # @return [String]
20904
+ attr_accessor :next_page_token
20905
+
20906
+ # The server-defined URL for this resource.
20907
+ # Corresponds to the JSON property `selfLink`
20908
+ # @return [String]
20909
+ attr_accessor :self_link
20910
+
20911
+ # Unreachable resources.
20912
+ # end_interface: MixerListResponseWithEtagBuilder
20913
+ # Corresponds to the JSON property `unreachables`
20914
+ # @return [Array<String>]
20915
+ attr_accessor :unreachables
20916
+
20917
+ # An informational warning message.
20918
+ # Corresponds to the JSON property `warning`
20919
+ # @return [Google::Apis::ComputeBeta::HostsListResponse::Warning]
20920
+ attr_accessor :warning
20921
+
20922
+ def initialize(**args)
20923
+ update!(**args)
20924
+ end
20925
+
20926
+ # Update properties of this object
20927
+ def update!(**args)
20928
+ @etag = args[:etag] if args.key?(:etag)
20929
+ @id = args[:id] if args.key?(:id)
20930
+ @items = args[:items] if args.key?(:items)
20931
+ @kind = args[:kind] if args.key?(:kind)
20932
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
20933
+ @self_link = args[:self_link] if args.key?(:self_link)
20934
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
20935
+ @warning = args[:warning] if args.key?(:warning)
20936
+ end
20937
+
20938
+ # An informational warning message.
20939
+ class Warning
20940
+ include Google::Apis::Core::Hashable
20941
+
20942
+ # [Output Only] A warning code, if applicable. For example, Compute
20943
+ # Engine returns NO_RESULTS_ON_PAGE if there
20944
+ # are no results in the response.
20945
+ # Corresponds to the JSON property `code`
20946
+ # @return [String]
20947
+ attr_accessor :code
20948
+
20949
+ # [Output Only] Metadata about this warning in key:
20950
+ # value format. For example:
20951
+ # "data": [
20952
+ # `
20953
+ # "key": "scope",
20954
+ # "value": "zones/us-east1-d"
20955
+ # `
20956
+ # Corresponds to the JSON property `data`
20957
+ # @return [Array<Google::Apis::ComputeBeta::HostsListResponse::Warning::Datum>]
20958
+ attr_accessor :data
20959
+
20960
+ # [Output Only] A human-readable description of the warning code.
20961
+ # Corresponds to the JSON property `message`
20962
+ # @return [String]
20963
+ attr_accessor :message
20964
+
20965
+ def initialize(**args)
20966
+ update!(**args)
20967
+ end
20968
+
20969
+ # Update properties of this object
20970
+ def update!(**args)
20971
+ @code = args[:code] if args.key?(:code)
20972
+ @data = args[:data] if args.key?(:data)
20973
+ @message = args[:message] if args.key?(:message)
20974
+ end
20975
+
20976
+ #
20977
+ class Datum
20978
+ include Google::Apis::Core::Hashable
20979
+
20980
+ # [Output Only] A key that provides more detail on the warning being
20981
+ # returned. For example, for warnings where there are no results in a list
20982
+ # request for a particular zone, this key might be scope and
20983
+ # the key value might be the zone name. Other examples might be a key
20984
+ # indicating a deprecated resource and a suggested replacement, or a
20985
+ # warning about invalid network settings (for example, if an instance
20986
+ # attempts to perform IP forwarding but is not enabled for IP forwarding).
20987
+ # Corresponds to the JSON property `key`
20988
+ # @return [String]
20989
+ attr_accessor :key
20990
+
20991
+ # [Output Only] A warning data value corresponding to the key.
20992
+ # Corresponds to the JSON property `value`
20993
+ # @return [String]
20994
+ attr_accessor :value
20995
+
20996
+ def initialize(**args)
20997
+ update!(**args)
20998
+ end
20999
+
21000
+ # Update properties of this object
21001
+ def update!(**args)
21002
+ @key = args[:key] if args.key?(:key)
21003
+ @value = args[:value] if args.key?(:value)
21004
+ end
21005
+ end
21006
+ end
21007
+ end
21008
+
20558
21009
  # Specification for how requests are aborted as part of fault injection.
20559
21010
  class HttpFaultAbort
20560
21011
  include Google::Apis::Core::Hashable
@@ -21342,6 +21793,16 @@ module Google
21342
21793
  # @return [Google::Apis::ComputeBeta::HttpFaultInjection]
21343
21794
  attr_accessor :fault_injection_policy
21344
21795
 
21796
+ # The configuration for Cloud CDN's image optimization feature. This feature
21797
+ # dynamically processes and delivers images from the network edge.
21798
+ # Image Optimization is only available for Global External Application Load
21799
+ # Balancers.
21800
+ # Either Cloud CDN must be enabled on the backend service or backend bucket
21801
+ # serving the route, or cache policy must be configured on the same route.
21802
+ # Corresponds to the JSON property `imageOptimizationPolicy`
21803
+ # @return [Google::Apis::ComputeBeta::ImageOptimizationPolicy]
21804
+ attr_accessor :image_optimization_policy
21805
+
21345
21806
  # A Duration represents a fixed-length span of time represented
21346
21807
  # as a count of seconds and fractions of seconds at nanosecond
21347
21808
  # resolution. It is independent of any calendar and concepts like "day"
@@ -21400,6 +21861,7 @@ module Google
21400
21861
  @cache_policy = args[:cache_policy] if args.key?(:cache_policy)
21401
21862
  @cors_policy = args[:cors_policy] if args.key?(:cors_policy)
21402
21863
  @fault_injection_policy = args[:fault_injection_policy] if args.key?(:fault_injection_policy)
21864
+ @image_optimization_policy = args[:image_optimization_policy] if args.key?(:image_optimization_policy)
21403
21865
  @max_stream_duration = args[:max_stream_duration] if args.key?(:max_stream_duration)
21404
21866
  @request_mirror_policy = args[:request_mirror_policy] if args.key?(:request_mirror_policy)
21405
21867
  @retry_policy = args[:retry_policy] if args.key?(:retry_policy)
@@ -22459,6 +22921,30 @@ module Google
22459
22921
  end
22460
22922
  end
22461
22923
 
22924
+ # The configuration for Cloud CDN's image optimization feature. This feature
22925
+ # dynamically processes and delivers images from the network edge.
22926
+ # Image Optimization is only available for Global External Application Load
22927
+ # Balancers.
22928
+ # Either Cloud CDN must be enabled on the backend service or backend bucket
22929
+ # serving the route, or cache policy must be configured on the same route.
22930
+ class ImageOptimizationPolicy
22931
+ include Google::Apis::Core::Hashable
22932
+
22933
+ # Specifies whether to interpret query parameters for image optimization.
22934
+ # Corresponds to the JSON property `queryParameterInterpretation`
22935
+ # @return [String]
22936
+ attr_accessor :query_parameter_interpretation
22937
+
22938
+ def initialize(**args)
22939
+ update!(**args)
22940
+ end
22941
+
22942
+ # Update properties of this object
22943
+ def update!(**args)
22944
+ @query_parameter_interpretation = args[:query_parameter_interpretation] if args.key?(:query_parameter_interpretation)
22945
+ end
22946
+ end
22947
+
22462
22948
  # Additional image params.
22463
22949
  class ImageParams
22464
22950
  include Google::Apis::Core::Hashable
@@ -23987,6 +24473,12 @@ module Google
23987
24473
  # @return [Fixnum]
23988
24474
  attr_accessor :restarting
23989
24475
 
24476
+ # Output only. The number of instances in the managed instance group that
24477
+ # are scheduled to be restarted or are currently being restarted.
24478
+ # Corresponds to the JSON property `restartingInPlace`
24479
+ # @return [Fixnum]
24480
+ attr_accessor :restarting_in_place
24481
+
23990
24482
  # Output only. The number of instances in the managed instance group that
23991
24483
  # are scheduled to be resumed or are currently being resumed.
23992
24484
  # Corresponds to the JSON property `resuming`
@@ -24033,6 +24525,7 @@ module Google
24033
24525
  @recreating = args[:recreating] if args.key?(:recreating)
24034
24526
  @refreshing = args[:refreshing] if args.key?(:refreshing)
24035
24527
  @restarting = args[:restarting] if args.key?(:restarting)
24528
+ @restarting_in_place = args[:restarting_in_place] if args.key?(:restarting_in_place)
24036
24529
  @resuming = args[:resuming] if args.key?(:resuming)
24037
24530
  @starting = args[:starting] if args.key?(:starting)
24038
24531
  @stopping = args[:stopping] if args.key?(:stopping)
@@ -25861,6 +26354,11 @@ module Google
25861
26354
  class InstanceGroupManagerUpdatePolicy
25862
26355
  include Google::Apis::Core::Hashable
25863
26356
 
26357
+ # Actions that are allowed to update instances within MIG.
26358
+ # Corresponds to the JSON property `allowedActions`
26359
+ # @return [Array<String>]
26360
+ attr_accessor :allowed_actions
26361
+
25864
26362
  # The
25865
26363
  # instance redistribution policy for regional managed instance groups.
25866
26364
  # Valid values are:
@@ -25939,6 +26437,7 @@ module Google
25939
26437
 
25940
26438
  # Update properties of this object
25941
26439
  def update!(**args)
26440
+ @allowed_actions = args[:allowed_actions] if args.key?(:allowed_actions)
25942
26441
  @instance_redistribution_type = args[:instance_redistribution_type] if args.key?(:instance_redistribution_type)
25943
26442
  @max_surge = args[:max_surge] if args.key?(:max_surge)
25944
26443
  @max_unavailable = args[:max_unavailable] if args.key?(:max_unavailable)
@@ -26021,6 +26520,11 @@ module Google
26021
26520
  attr_accessor :all_instances
26022
26521
  alias_method :all_instances?, :all_instances
26023
26522
 
26523
+ # Actions that are allowed to update instances within MIG.
26524
+ # Corresponds to the JSON property `allowedActions`
26525
+ # @return [Array<String>]
26526
+ attr_accessor :allowed_actions
26527
+
26024
26528
  # The list of URLs of one or more instances for which you want to apply
26025
26529
  # updates. Each URL can be a full URL or a partial URL, such aszones/[ZONE]/
26026
26530
  # instances/[INSTANCE_NAME].
@@ -26071,6 +26575,7 @@ module Google
26071
26575
  # Update properties of this object
26072
26576
  def update!(**args)
26073
26577
  @all_instances = args[:all_instances] if args.key?(:all_instances)
26578
+ @allowed_actions = args[:allowed_actions] if args.key?(:allowed_actions)
26074
26579
  @instances = args[:instances] if args.key?(:instances)
26075
26580
  @minimal_action = args[:minimal_action] if args.key?(:minimal_action)
26076
26581
  @most_disruptive_allowed_action = args[:most_disruptive_allowed_action] if args.key?(:most_disruptive_allowed_action)
@@ -27560,21 +28065,20 @@ module Google
27560
28065
  class InstanceManagedByIgmError
27561
28066
  include Google::Apis::Core::Hashable
27562
28067
 
27563
- # Output only. [Output Only] Contents of the error.
28068
+ # Output only. Contents of the error.
27564
28069
  # Corresponds to the JSON property `error`
27565
28070
  # @return [Google::Apis::ComputeBeta::InstanceManagedByIgmErrorManagedInstanceError]
27566
28071
  attr_accessor :error
27567
28072
 
27568
- # Output only. [Output Only] Details of the instance action that triggered this
27569
- # error.
28073
+ # Output only. Details of the instance action that triggered this error.
27570
28074
  # May be null, if the error was not caused by an action on an instance.
27571
28075
  # This field is optional.
27572
28076
  # Corresponds to the JSON property `instanceActionDetails`
27573
28077
  # @return [Google::Apis::ComputeBeta::InstanceManagedByIgmErrorInstanceActionDetails]
27574
28078
  attr_accessor :instance_action_details
27575
28079
 
27576
- # Output only. [Output Only] The time that this error occurred.
27577
- # This value is in RFC3339 text format.
28080
+ # Output only. The time that this error occurred. This value is in RFC3339 text
28081
+ # format.
27578
28082
  # Corresponds to the JSON property `timestamp`
27579
28083
  # @return [String]
27580
28084
  attr_accessor :timestamp
@@ -27595,20 +28099,21 @@ module Google
27595
28099
  class InstanceManagedByIgmErrorInstanceActionDetails
27596
28100
  include Google::Apis::Core::Hashable
27597
28101
 
27598
- # Output only. [Output Only] Action that managed instance group was executing on
27599
- # the instance when the error occurred. Possible values:
28102
+ # Output only. Action that managed instance group was executing on the instance
28103
+ # when the
28104
+ # error occurred. Possible values:
27600
28105
  # Corresponds to the JSON property `action`
27601
28106
  # @return [String]
27602
28107
  attr_accessor :action
27603
28108
 
27604
- # Output only. [Output Only] The URL of the instance.
27605
- # The URL can be set even if the instance has not yet been created.
28109
+ # Output only. The URL of the instance. The URL can be set even if the instance
28110
+ # has not
28111
+ # yet been created.
27606
28112
  # Corresponds to the JSON property `instance`
27607
28113
  # @return [String]
27608
28114
  attr_accessor :instance
27609
28115
 
27610
- # Output only. [Output Only] Version this instance was created from, or was
27611
- # being
28116
+ # Output only. Version this instance was created from, or was being
27612
28117
  # created from, but the creation failed. Corresponds to one of the versions
27613
28118
  # that were set on the Instance Group Manager resource at the time this
27614
28119
  # instance was being created.
@@ -27632,12 +28137,12 @@ module Google
27632
28137
  class InstanceManagedByIgmErrorManagedInstanceError
27633
28138
  include Google::Apis::Core::Hashable
27634
28139
 
27635
- # Output only. [Output Only] Error code.
28140
+ # Output only. Error code.
27636
28141
  # Corresponds to the JSON property `code`
27637
28142
  # @return [String]
27638
28143
  attr_accessor :code
27639
28144
 
27640
- # Output only. [Output Only] Error message.
28145
+ # Output only. Error message.
27641
28146
  # Corresponds to the JSON property `message`
27642
28147
  # @return [String]
27643
28148
  attr_accessor :message
@@ -29990,6 +30495,13 @@ module Google
29990
30495
  # @return [String]
29991
30496
  attr_accessor :description
29992
30497
 
30498
+ # Output only. URL of the InterconnectLocation object that represents where
30499
+ # this connection is to be provisioned. By default it will be the same as the
30500
+ # location field.
30501
+ # Corresponds to the JSON property `effectiveLocation`
30502
+ # @return [String]
30503
+ attr_accessor :effective_location
30504
+
29993
30505
  # Output only. [Output Only] A list of outages expected for this Interconnect.
29994
30506
  # Corresponds to the JSON property `expectedOutages`
29995
30507
  # @return [Array<Google::Apis::ComputeBeta::InterconnectOutageNotification>]
@@ -30231,6 +30743,7 @@ module Google
30231
30743
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
30232
30744
  @customer_name = args[:customer_name] if args.key?(:customer_name)
30233
30745
  @description = args[:description] if args.key?(:description)
30746
+ @effective_location = args[:effective_location] if args.key?(:effective_location)
30234
30747
  @expected_outages = args[:expected_outages] if args.key?(:expected_outages)
30235
30748
  @google_ip_address = args[:google_ip_address] if args.key?(:google_ip_address)
30236
30749
  @google_reference_id = args[:google_reference_id] if args.key?(:google_reference_id)
@@ -35830,6 +36343,18 @@ module Google
35830
36343
  class MachineImageParams
35831
36344
  include Google::Apis::Core::Hashable
35832
36345
 
36346
+ # Input only. [Input Only] Specifies the list of disk device names that must be
36347
+ # excluded from the new machine image.
36348
+ # Corresponds to the JSON property `excludedDisks`
36349
+ # @return [Array<String>]
36350
+ attr_accessor :excluded_disks
36351
+
36352
+ # Input only. [Input Only] Specifies the list of disk device names that must be
36353
+ # included with the new machine image.
36354
+ # Corresponds to the JSON property `includedDisks`
36355
+ # @return [Array<String>]
36356
+ attr_accessor :included_disks
36357
+
35833
36358
  # Input only. Resource manager tags to be bound to the machine image. Tag keys
35834
36359
  # and values
35835
36360
  # have the same definition as resource
@@ -35848,6 +36373,8 @@ module Google
35848
36373
 
35849
36374
  # Update properties of this object
35850
36375
  def update!(**args)
36376
+ @excluded_disks = args[:excluded_disks] if args.key?(:excluded_disks)
36377
+ @included_disks = args[:included_disks] if args.key?(:included_disks)
35851
36378
  @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
35852
36379
  end
35853
36380
  end
@@ -39052,7 +39579,13 @@ module Google
39052
39579
  attr_accessor :name
39053
39580
 
39054
39581
  # The URL of the network to which all network endpoints in the NEG belong.
39055
- # Uses default project network if unspecified.
39582
+ # For networkEndpointType GCE_VM_IP_PORT,GCE_VM_IP_PORTMAP or
39583
+ # NON_GCP_PRIVATE_IP_PORT,
39584
+ # if this field is not specified, a default network will be used.
39585
+ # This field cannot be set for NEGs with networkEndpointType set toSERVERLESS or
39586
+ # PRIVATE_SERVICE_CONNECT and for
39587
+ # global NEGs.
39588
+ # For all other network endpoint types, this field is required.
39056
39589
  # Corresponds to the JSON property `network`
39057
39590
  # @return [String]
39058
39591
  attr_accessor :network
@@ -39437,7 +39970,13 @@ module Google
39437
39970
  attr_accessor :default_port
39438
39971
 
39439
39972
  # The URL of the network to which all network endpoints in the NEG belong.
39440
- # Uses default project network if unspecified.
39973
+ # For networkEndpointType GCE_VM_IP_PORT,GCE_VM_IP_PORTMAP or
39974
+ # NON_GCP_PRIVATE_IP_PORT,
39975
+ # if this field is not specified, a default network will be used.
39976
+ # This field cannot be set for NEGs with networkEndpointType set toSERVERLESS or
39977
+ # PRIVATE_SERVICE_CONNECT and for
39978
+ # global NEGs.
39979
+ # For all other network endpoint types, this field is required.
39441
39980
  # [Deprecated] This field is deprecated.
39442
39981
  # Corresponds to the JSON property `network`
39443
39982
  # @return [String]
@@ -45518,6 +46057,137 @@ module Google
45518
46057
  end
45519
46058
  end
45520
46059
 
46060
+ #
46061
+ class OrganizationRolloutsListResponse
46062
+ include Google::Apis::Core::Hashable
46063
+
46064
+ #
46065
+ # Corresponds to the JSON property `etag`
46066
+ # @return [String]
46067
+ attr_accessor :etag
46068
+
46069
+ # [Output Only] Unique identifier for the resource; defined by the server.
46070
+ # Corresponds to the JSON property `id`
46071
+ # @return [String]
46072
+ attr_accessor :id
46073
+
46074
+ # A list of Rollout resources.
46075
+ # Corresponds to the JSON property `items`
46076
+ # @return [Array<Google::Apis::ComputeBeta::Rollout>]
46077
+ attr_accessor :items
46078
+
46079
+ # [Output Only] This token allows you to get the next page of results for
46080
+ # list requests. If the number of results is larger thanmaxResults, use the
46081
+ # nextPageToken as a value for
46082
+ # the query parameter pageToken in the next list request.
46083
+ # Subsequent list requests will have their own nextPageToken to
46084
+ # continue paging through the results.
46085
+ # Corresponds to the JSON property `nextPageToken`
46086
+ # @return [String]
46087
+ attr_accessor :next_page_token
46088
+
46089
+ # Output only. [Output Only] Server-defined URL for this resource.
46090
+ # Corresponds to the JSON property `selfLink`
46091
+ # @return [String]
46092
+ attr_accessor :self_link
46093
+
46094
+ # Output only. [Output Only] Unreachable resources.
46095
+ # end_interface: MixerListResponseWithEtagBuilder
46096
+ # Corresponds to the JSON property `unreachables`
46097
+ # @return [Array<String>]
46098
+ attr_accessor :unreachables
46099
+
46100
+ # [Output Only] Informational warning message.
46101
+ # Corresponds to the JSON property `warning`
46102
+ # @return [Google::Apis::ComputeBeta::OrganizationRolloutsListResponse::Warning]
46103
+ attr_accessor :warning
46104
+
46105
+ def initialize(**args)
46106
+ update!(**args)
46107
+ end
46108
+
46109
+ # Update properties of this object
46110
+ def update!(**args)
46111
+ @etag = args[:etag] if args.key?(:etag)
46112
+ @id = args[:id] if args.key?(:id)
46113
+ @items = args[:items] if args.key?(:items)
46114
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
46115
+ @self_link = args[:self_link] if args.key?(:self_link)
46116
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
46117
+ @warning = args[:warning] if args.key?(:warning)
46118
+ end
46119
+
46120
+ # [Output Only] Informational warning message.
46121
+ class Warning
46122
+ include Google::Apis::Core::Hashable
46123
+
46124
+ # [Output Only] A warning code, if applicable. For example, Compute
46125
+ # Engine returns NO_RESULTS_ON_PAGE if there
46126
+ # are no results in the response.
46127
+ # Corresponds to the JSON property `code`
46128
+ # @return [String]
46129
+ attr_accessor :code
46130
+
46131
+ # [Output Only] Metadata about this warning in key:
46132
+ # value format. For example:
46133
+ # "data": [
46134
+ # `
46135
+ # "key": "scope",
46136
+ # "value": "zones/us-east1-d"
46137
+ # `
46138
+ # Corresponds to the JSON property `data`
46139
+ # @return [Array<Google::Apis::ComputeBeta::OrganizationRolloutsListResponse::Warning::Datum>]
46140
+ attr_accessor :data
46141
+
46142
+ # [Output Only] A human-readable description of the warning code.
46143
+ # Corresponds to the JSON property `message`
46144
+ # @return [String]
46145
+ attr_accessor :message
46146
+
46147
+ def initialize(**args)
46148
+ update!(**args)
46149
+ end
46150
+
46151
+ # Update properties of this object
46152
+ def update!(**args)
46153
+ @code = args[:code] if args.key?(:code)
46154
+ @data = args[:data] if args.key?(:data)
46155
+ @message = args[:message] if args.key?(:message)
46156
+ end
46157
+
46158
+ #
46159
+ class Datum
46160
+ include Google::Apis::Core::Hashable
46161
+
46162
+ # [Output Only] A key that provides more detail on the warning being
46163
+ # returned. For example, for warnings where there are no results in a list
46164
+ # request for a particular zone, this key might be scope and
46165
+ # the key value might be the zone name. Other examples might be a key
46166
+ # indicating a deprecated resource and a suggested replacement, or a
46167
+ # warning about invalid network settings (for example, if an instance
46168
+ # attempts to perform IP forwarding but is not enabled for IP forwarding).
46169
+ # Corresponds to the JSON property `key`
46170
+ # @return [String]
46171
+ attr_accessor :key
46172
+
46173
+ # [Output Only] A warning data value corresponding to the key.
46174
+ # Corresponds to the JSON property `value`
46175
+ # @return [String]
46176
+ attr_accessor :value
46177
+
46178
+ def initialize(**args)
46179
+ update!(**args)
46180
+ end
46181
+
46182
+ # Update properties of this object
46183
+ def update!(**args)
46184
+ @key = args[:key] if args.key?(:key)
46185
+ @value = args[:value] if args.key?(:value)
46186
+ end
46187
+ end
46188
+ end
46189
+ end
46190
+
45521
46191
  #
45522
46192
  class OrganizationSecurityPoliciesListAssociationsResponse
45523
46193
  include Google::Apis::Core::Hashable
@@ -46630,6 +47300,86 @@ module Google
46630
47300
  end
46631
47301
  end
46632
47302
 
47303
+ # The periodic partial maintenance schedule includes 52 weeks worth of
47304
+ # maintenance windows.
47305
+ # LINT.IfChange(PeriodicPartialMaintenanceSchedule)
47306
+ class PeriodicPartialMaintenanceSchedule
47307
+ include Google::Apis::Core::Hashable
47308
+
47309
+ # The maintenance type in which the zone is during the given window.
47310
+ # Corresponds to the JSON property `subType`
47311
+ # @return [String]
47312
+ attr_accessor :sub_type
47313
+
47314
+ # The target resource that the maintenance window is for.
47315
+ # For example, "projects/my-project/zones/us-central1-a".
47316
+ # Corresponds to the JSON property `targetResource`
47317
+ # @return [String]
47318
+ attr_accessor :target_resource
47319
+
47320
+ #
47321
+ # Corresponds to the JSON property `type`
47322
+ # @return [String]
47323
+ attr_accessor :type
47324
+
47325
+ # Represents civil time (or occasionally physical time).
47326
+ # This type can represent a civil time in one of a few possible ways:
47327
+ # * When utc_offset is set and time_zone is unset: a civil time on a calendar
47328
+ # day with a particular offset from UTC.
47329
+ # * When time_zone is set and utc_offset is unset: a civil time on a calendar
47330
+ # day in a particular time zone.
47331
+ # * When neither time_zone nor utc_offset is set: a civil time on a calendar
47332
+ # day in local time.
47333
+ # The date is relative to the Proleptic Gregorian Calendar.
47334
+ # If year, month, or day are 0, the DateTime is considered not to have a
47335
+ # specific year, month, or day respectively.
47336
+ # This type may also be used to represent a physical time if all the date and
47337
+ # time fields are set and either case of the `time_offset` oneof is set.
47338
+ # Consider using `Timestamp` message for physical time instead. If your use
47339
+ # case also would like to store the user's timezone, that can be done in
47340
+ # another field.
47341
+ # This type is more flexible than some applications may want. Make sure to
47342
+ # document and validate your application's limitations.
47343
+ # Corresponds to the JSON property `windowEndTime`
47344
+ # @return [Google::Apis::ComputeBeta::DateTime]
47345
+ attr_accessor :window_end_time
47346
+
47347
+ # Represents civil time (or occasionally physical time).
47348
+ # This type can represent a civil time in one of a few possible ways:
47349
+ # * When utc_offset is set and time_zone is unset: a civil time on a calendar
47350
+ # day with a particular offset from UTC.
47351
+ # * When time_zone is set and utc_offset is unset: a civil time on a calendar
47352
+ # day in a particular time zone.
47353
+ # * When neither time_zone nor utc_offset is set: a civil time on a calendar
47354
+ # day in local time.
47355
+ # The date is relative to the Proleptic Gregorian Calendar.
47356
+ # If year, month, or day are 0, the DateTime is considered not to have a
47357
+ # specific year, month, or day respectively.
47358
+ # This type may also be used to represent a physical time if all the date and
47359
+ # time fields are set and either case of the `time_offset` oneof is set.
47360
+ # Consider using `Timestamp` message for physical time instead. If your use
47361
+ # case also would like to store the user's timezone, that can be done in
47362
+ # another field.
47363
+ # This type is more flexible than some applications may want. Make sure to
47364
+ # document and validate your application's limitations.
47365
+ # Corresponds to the JSON property `windowStartTime`
47366
+ # @return [Google::Apis::ComputeBeta::DateTime]
47367
+ attr_accessor :window_start_time
47368
+
47369
+ def initialize(**args)
47370
+ update!(**args)
47371
+ end
47372
+
47373
+ # Update properties of this object
47374
+ def update!(**args)
47375
+ @sub_type = args[:sub_type] if args.key?(:sub_type)
47376
+ @target_resource = args[:target_resource] if args.key?(:target_resource)
47377
+ @type = args[:type] if args.key?(:type)
47378
+ @window_end_time = args[:window_end_time] if args.key?(:window_end_time)
47379
+ @window_start_time = args[:window_start_time] if args.key?(:window_start_time)
47380
+ end
47381
+ end
47382
+
46633
47383
  # An Identity and Access Management (IAM) policy, which specifies access
46634
47384
  # controls for Google Cloud resources.
46635
47385
  # A `Policy` is a collection of `bindings`. A `binding` binds one or more
@@ -47372,6 +48122,30 @@ module Google
47372
48122
  end
47373
48123
  end
47374
48124
 
48125
+ # Represents a ProjectView resource.
48126
+ # A ProjectView resource contains read-only project data which is available
48127
+ # globally.
48128
+ class ProjectView
48129
+ include Google::Apis::Core::Hashable
48130
+
48131
+ # Represents a Project resource.
48132
+ # A project is used to organize resources in a Google Cloud Platform
48133
+ # environment. For more information, read about the
48134
+ # Resource Hierarchy.
48135
+ # Corresponds to the JSON property `project`
48136
+ # @return [Google::Apis::ComputeBeta::Project]
48137
+ attr_accessor :project
48138
+
48139
+ def initialize(**args)
48140
+ update!(**args)
48141
+ end
48142
+
48143
+ # Update properties of this object
48144
+ def update!(**args)
48145
+ @project = args[:project] if args.key?(:project)
48146
+ end
48147
+ end
48148
+
47375
48149
  #
47376
48150
  class ProjectsDisableXpnResourceRequest
47377
48151
  include Google::Apis::Core::Hashable
@@ -49722,6 +50496,11 @@ module Google
49722
50496
  attr_accessor :all_instances
49723
50497
  alias_method :all_instances?, :all_instances
49724
50498
 
50499
+ # Actions that are allowed to update instances within MIG.
50500
+ # Corresponds to the JSON property `allowedActions`
50501
+ # @return [Array<String>]
50502
+ attr_accessor :allowed_actions
50503
+
49725
50504
  # The list of URLs of one or more instances for which you want to apply
49726
50505
  # updates. Each URL can be a full URL or a partial URL, such aszones/[ZONE]/
49727
50506
  # instances/[INSTANCE_NAME].
@@ -49772,6 +50551,7 @@ module Google
49772
50551
  # Update properties of this object
49773
50552
  def update!(**args)
49774
50553
  @all_instances = args[:all_instances] if args.key?(:all_instances)
50554
+ @allowed_actions = args[:allowed_actions] if args.key?(:allowed_actions)
49775
50555
  @instances = args[:instances] if args.key?(:instances)
49776
50556
  @minimal_action = args[:minimal_action] if args.key?(:minimal_action)
49777
50557
  @most_disruptive_allowed_action = args[:most_disruptive_allowed_action] if args.key?(:most_disruptive_allowed_action)
@@ -53960,6 +54740,11 @@ module Google
53960
54740
  class ResourceStatusPhysicalHostTopology
53961
54741
  include Google::Apis::Core::Hashable
53962
54742
 
54743
+ # Additional location information of the running instance.
54744
+ # Corresponds to the JSON property `additionalAttributes`
54745
+ # @return [Google::Apis::ComputeBeta::ResourceStatusPhysicalHostTopologyAdditionalAttributes]
54746
+ attr_accessor :additional_attributes
54747
+
53963
54748
  # [Output Only] The ID of the block in which the running instance is
53964
54749
  # located. Instances within the same block experience low network latency.
53965
54750
  # Corresponds to the JSON property `block`
@@ -53992,6 +54777,7 @@ module Google
53992
54777
 
53993
54778
  # Update properties of this object
53994
54779
  def update!(**args)
54780
+ @additional_attributes = args[:additional_attributes] if args.key?(:additional_attributes)
53995
54781
  @block = args[:block] if args.key?(:block)
53996
54782
  @cluster = args[:cluster] if args.key?(:cluster)
53997
54783
  @host = args[:host] if args.key?(:host)
@@ -53999,6 +54785,29 @@ module Google
53999
54785
  end
54000
54786
  end
54001
54787
 
54788
+ # Additional location information of the running instance.
54789
+ class ResourceStatusPhysicalHostTopologyAdditionalAttributes
54790
+ include Google::Apis::Core::Hashable
54791
+
54792
+ # Output only. The IDs of the accelerator topologies the instance belongs to.
54793
+ # For
54794
+ # example
54795
+ # The key will be topologies like "4x4", "2x2x2" and the value will be
54796
+ # the location ID of the topologies.
54797
+ # Corresponds to the JSON property `acceleratorTopologyIds`
54798
+ # @return [Hash<String,String>]
54799
+ attr_accessor :accelerator_topology_ids
54800
+
54801
+ def initialize(**args)
54802
+ update!(**args)
54803
+ end
54804
+
54805
+ # Update properties of this object
54806
+ def update!(**args)
54807
+ @accelerator_topology_ids = args[:accelerator_topology_ids] if args.key?(:accelerator_topology_ids)
54808
+ end
54809
+ end
54810
+
54002
54811
  # Reservation consumption information that the instance is consuming from.
54003
54812
  class ResourceStatusReservationConsumptionInfo
54004
54813
  include Google::Apis::Core::Hashable
@@ -54009,6 +54818,20 @@ module Google
54009
54818
  # @return [String]
54010
54819
  attr_accessor :consumed_reservation
54011
54820
 
54821
+ # Output only. [Output Only] The full resource name of the reservation block
54822
+ # that this
54823
+ # instance is consuming from.
54824
+ # Corresponds to the JSON property `consumedReservationBlock`
54825
+ # @return [String]
54826
+ attr_accessor :consumed_reservation_block
54827
+
54828
+ # Output only. [Output Only] The full resource name of the reservation sub-block
54829
+ # that
54830
+ # this instance is consuming from.
54831
+ # Corresponds to the JSON property `consumedReservationSubBlock`
54832
+ # @return [String]
54833
+ attr_accessor :consumed_reservation_sub_block
54834
+
54012
54835
  def initialize(**args)
54013
54836
  update!(**args)
54014
54837
  end
@@ -54016,6 +54839,8 @@ module Google
54016
54839
  # Update properties of this object
54017
54840
  def update!(**args)
54018
54841
  @consumed_reservation = args[:consumed_reservation] if args.key?(:consumed_reservation)
54842
+ @consumed_reservation_block = args[:consumed_reservation_block] if args.key?(:consumed_reservation_block)
54843
+ @consumed_reservation_sub_block = args[:consumed_reservation_sub_block] if args.key?(:consumed_reservation_sub_block)
54019
54844
  end
54020
54845
  end
54021
54846
 
@@ -54153,6 +54978,16 @@ module Google
54153
54978
  # @return [String]
54154
54979
  attr_accessor :name
54155
54980
 
54981
+ # Output only. The timestamp at which the Rollout was paused.
54982
+ # Corresponds to the JSON property `pauseTime`
54983
+ # @return [String]
54984
+ attr_accessor :pause_time
54985
+
54986
+ # Output only. The timestamp at which the Rollout was resumed.
54987
+ # Corresponds to the JSON property `resumeTime`
54988
+ # @return [String]
54989
+ attr_accessor :resume_time
54990
+
54156
54991
  # Specifications of the resource to roll out.
54157
54992
  # Corresponds to the JSON property `rolloutEntity`
54158
54993
  # @return [Google::Apis::ComputeBeta::RolloutRolloutEntity]
@@ -54200,6 +55035,8 @@ module Google
54200
55035
  @id = args[:id] if args.key?(:id)
54201
55036
  @kind = args[:kind] if args.key?(:kind)
54202
55037
  @name = args[:name] if args.key?(:name)
55038
+ @pause_time = args[:pause_time] if args.key?(:pause_time)
55039
+ @resume_time = args[:resume_time] if args.key?(:resume_time)
54203
55040
  @rollout_entity = args[:rollout_entity] if args.key?(:rollout_entity)
54204
55041
  @rollout_plan = args[:rollout_plan] if args.key?(:rollout_plan)
54205
55042
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -56582,6 +57419,14 @@ module Google
56582
57419
  # @return [Array<String>]
56583
57420
  attr_accessor :drain_nat_ips
56584
57421
 
57422
+ # Output only. Effective timeout (in seconds) for TCP connections that are in
57423
+ # TIME_WAIT
57424
+ # state. This value is equal to tcp_time_wait_timeout_sec if it is set,
57425
+ # otherwise it is equal to 120s. The field is output only.
57426
+ # Corresponds to the JSON property `effectiveTcpTimeWaitTimeoutSec`
57427
+ # @return [Fixnum]
57428
+ attr_accessor :effective_tcp_time_wait_timeout_sec
57429
+
56585
57430
  # Enable Dynamic Port Allocation.
56586
57431
  # If not specified, it is disabled by default.
56587
57432
  # If set to true,
@@ -56755,6 +57600,7 @@ module Google
56755
57600
  def update!(**args)
56756
57601
  @auto_network_tier = args[:auto_network_tier] if args.key?(:auto_network_tier)
56757
57602
  @drain_nat_ips = args[:drain_nat_ips] if args.key?(:drain_nat_ips)
57603
+ @effective_tcp_time_wait_timeout_sec = args[:effective_tcp_time_wait_timeout_sec] if args.key?(:effective_tcp_time_wait_timeout_sec)
56758
57604
  @enable_dynamic_port_allocation = args[:enable_dynamic_port_allocation] if args.key?(:enable_dynamic_port_allocation)
56759
57605
  @enable_endpoint_independent_mapping = args[:enable_endpoint_independent_mapping] if args.key?(:enable_endpoint_independent_mapping)
56760
57606
  @endpoint_types = args[:endpoint_types] if args.key?(:endpoint_types)
@@ -61399,6 +62245,14 @@ module Google
61399
62245
  class ShareSettings
61400
62246
  include Google::Apis::Core::Hashable
61401
62247
 
62248
+ # A map of folder id and folder config to specify consumer projects for this
62249
+ # shared-reservation. This is only valid when share_type's value is
62250
+ # DIRECT_PROJECTS_UNDER_SPECIFIC_FOLDERS.
62251
+ # Folder id should be a string of number, and without "folders/" prefix.
62252
+ # Corresponds to the JSON property `folderMap`
62253
+ # @return [Hash<String,Google::Apis::ComputeBeta::ShareSettingsFolderConfig>]
62254
+ attr_accessor :folder_map
62255
+
61402
62256
  # A map of project id and project config. This is only valid when
61403
62257
  # share_type's value is SPECIFIC_PROJECTS.
61404
62258
  # Corresponds to the JSON property `projectMap`
@@ -61423,12 +62277,34 @@ module Google
61423
62277
 
61424
62278
  # Update properties of this object
61425
62279
  def update!(**args)
62280
+ @folder_map = args[:folder_map] if args.key?(:folder_map)
61426
62281
  @project_map = args[:project_map] if args.key?(:project_map)
61427
62282
  @projects = args[:projects] if args.key?(:projects)
61428
62283
  @share_type = args[:share_type] if args.key?(:share_type)
61429
62284
  end
61430
62285
  end
61431
62286
 
62287
+ # Config for each folder in the share settings.
62288
+ class ShareSettingsFolderConfig
62289
+ include Google::Apis::Core::Hashable
62290
+
62291
+ # The folder ID, should be same as the key of this folder config in the
62292
+ # parent map.
62293
+ # Folder id should be a string of number, and without "folders/" prefix.
62294
+ # Corresponds to the JSON property `folderId`
62295
+ # @return [String]
62296
+ attr_accessor :folder_id
62297
+
62298
+ def initialize(**args)
62299
+ update!(**args)
62300
+ end
62301
+
62302
+ # Update properties of this object
62303
+ def update!(**args)
62304
+ @folder_id = args[:folder_id] if args.key?(:folder_id)
62305
+ end
62306
+ end
62307
+
61432
62308
  # Config for each project in the share settings.
61433
62309
  class ShareSettingsProjectConfig
61434
62310
  include Google::Apis::Core::Hashable
@@ -62016,11 +62892,13 @@ module Google
62016
62892
  # @return [Fixnum]
62017
62893
  attr_accessor :storage_bytes
62018
62894
 
62019
- # Output only. [Output Only] An indicator whether storageBytes is in a
62895
+ # Output only. [Deprecated] Instead, check the storageBytes field. After
62896
+ # snapshot creation, the storageBytesStatus field is alwaysUP_TO_DATE.
62897
+ # [Output Only] An indicator whether storageBytes is in a
62020
62898
  # stable state or it is being adjusted as a result of shared storage
62021
- # reallocation. This status can either be UPDATING, meaning
62022
- # the size of the snapshot is being updated, or UP_TO_DATE,
62023
- # meaning the size of the snapshot is up-to-date.
62899
+ # reallocation. This status can either be unset, meaning the snapshot is
62900
+ # being created, or UP_TO_DATE, meaning the size of the snapshot
62901
+ # is up-to-date.
62024
62902
  # Corresponds to the JSON property `storageBytesStatus`
62025
62903
  # @return [String]
62026
62904
  attr_accessor :storage_bytes_status
@@ -70898,6 +71776,32 @@ module Google
70898
71776
  end
70899
71777
  end
70900
71778
 
71779
+ # Represents a time zone from the
71780
+ # [IANA Time Zone Database](https://www.iana.org/time-zones).
71781
+ class TimeZone
71782
+ include Google::Apis::Core::Hashable
71783
+
71784
+ # IANA Time Zone Database time zone. For example "America/New_York".
71785
+ # Corresponds to the JSON property `id`
71786
+ # @return [String]
71787
+ attr_accessor :id
71788
+
71789
+ # Optional. IANA Time Zone Database version number. For example "2019a".
71790
+ # Corresponds to the JSON property `version`
71791
+ # @return [String]
71792
+ attr_accessor :version
71793
+
71794
+ def initialize(**args)
71795
+ update!(**args)
71796
+ end
71797
+
71798
+ # Update properties of this object
71799
+ def update!(**args)
71800
+ @id = args[:id] if args.key?(:id)
71801
+ @version = args[:version] if args.key?(:version)
71802
+ end
71803
+ end
71804
+
70901
71805
  #
70902
71806
  class Uint128
70903
71807
  include Google::Apis::Core::Hashable
@@ -75373,6 +76277,11 @@ module Google
75373
76277
  # @return [String]
75374
76278
  attr_accessor :region
75375
76279
 
76280
+ #
76281
+ # Corresponds to the JSON property `resourceStatus`
76282
+ # @return [Google::Apis::ComputeBeta::ZoneResourceStatus]
76283
+ attr_accessor :resource_status
76284
+
75376
76285
  # [Output Only] Server-defined URL for the resource.
75377
76286
  # Corresponds to the JSON property `selfLink`
75378
76287
  # @return [String]
@@ -75403,6 +76312,7 @@ module Google
75403
76312
  @kind = args[:kind] if args.key?(:kind)
75404
76313
  @name = args[:name] if args.key?(:name)
75405
76314
  @region = args[:region] if args.key?(:region)
76315
+ @resource_status = args[:resource_status] if args.key?(:resource_status)
75406
76316
  @self_link = args[:self_link] if args.key?(:self_link)
75407
76317
  @status = args[:status] if args.key?(:status)
75408
76318
  @supports_pzs = args[:supports_pzs] if args.key?(:supports_pzs)
@@ -75533,6 +76443,25 @@ module Google
75533
76443
  end
75534
76444
  end
75535
76445
 
76446
+ #
76447
+ class ZoneResourceStatus
76448
+ include Google::Apis::Core::Hashable
76449
+
76450
+ # Output only. [Output Only] The upcoming maintenance schedule.
76451
+ # Corresponds to the JSON property `upcomingMaintenances`
76452
+ # @return [Array<Google::Apis::ComputeBeta::PeriodicPartialMaintenanceSchedule>]
76453
+ attr_accessor :upcoming_maintenances
76454
+
76455
+ def initialize(**args)
76456
+ update!(**args)
76457
+ end
76458
+
76459
+ # Update properties of this object
76460
+ def update!(**args)
76461
+ @upcoming_maintenances = args[:upcoming_maintenances] if args.key?(:upcoming_maintenances)
76462
+ end
76463
+ end
76464
+
75536
76465
  #
75537
76466
  class ZoneSetLabelsRequest
75538
76467
  include Google::Apis::Core::Hashable