google-apis-compute_beta 0.146.0 → 0.148.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.
@@ -1377,6 +1377,21 @@ module Google
1377
1377
  class AliasIpRange
1378
1378
  include Google::Apis::Core::Hashable
1379
1379
 
1380
+ # Identifies the candidate subnetwork range names for the alias
1381
+ # IPs to be allocated from. When it is set, the IP would be allocated from
1382
+ # any subnetwork range defined here if the IPs are available.
1383
+ # Only one of subnetwork_range_name or candidate_subnetwork_range_names
1384
+ # should be set.
1385
+ # Corresponds to the JSON property `candidateSubnetworkRangeNames`
1386
+ # @return [Array<String>]
1387
+ attr_accessor :candidate_subnetwork_range_names
1388
+
1389
+ # Output only. [Output Only] The subnetwork range name where the IP is allocated.
1390
+ # It will be set to the subnetwork range where the IP is allocated only.
1391
+ # Corresponds to the JSON property `effectiveSubnetworkRangeName`
1392
+ # @return [String]
1393
+ attr_accessor :effective_subnetwork_range_name
1394
+
1380
1395
  # The IP alias ranges to allocate for this interface. This IP CIDR range
1381
1396
  # must belong to the specified subnetwork and cannot contain IP addresses
1382
1397
  # reserved by system or used by other network interfaces. This range may be
@@ -1398,6 +1413,8 @@ module Google
1398
1413
 
1399
1414
  # Update properties of this object
1400
1415
  def update!(**args)
1416
+ @candidate_subnetwork_range_names = args[:candidate_subnetwork_range_names] if args.key?(:candidate_subnetwork_range_names)
1417
+ @effective_subnetwork_range_name = args[:effective_subnetwork_range_name] if args.key?(:effective_subnetwork_range_name)
1401
1418
  @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
1402
1419
  @subnetwork_range_name = args[:subnetwork_range_name] if args.key?(:subnetwork_range_name)
1403
1420
  end
@@ -5938,7 +5955,8 @@ module Google
5938
5955
  # The name of the VM instance of the leader network endpoint. The
5939
5956
  # instance must already be attached to the NEG specified in the
5940
5957
  # haPolicy.leader.backendGroup.
5941
- # The name must be 1-63 characters long, and comply with RFC1035.
5958
+ # The value must be a valid RFC1035 name (1-63 characters) or a valid
5959
+ # instance URL.
5942
5960
  # Authorization requires the following IAM permission on the
5943
5961
  # specified resource instance: compute.instances.use
5944
5962
  # Corresponds to the JSON property `instance`
@@ -8000,6 +8018,100 @@ module Google
8000
8018
  end
8001
8019
  end
8002
8020
 
8021
+ # A request to recommend the maximum duration for extending an existing future
8022
+ # reservation in calendar mode. The recommended duration is shorter than or
8023
+ # equal to the specified extension duration.
8024
+ class CalendarModeExtensionAdviceRequest
8025
+ include Google::Apis::Core::Hashable
8026
+
8027
+ # Required. The desired end time for the extension.
8028
+ # Corresponds to the JSON property `endTimeNotLaterThan`
8029
+ # @return [String]
8030
+ attr_accessor :end_time_not_later_than
8031
+
8032
+ # Required. Reference to the future reservation, in the format:
8033
+ # projects/`project`/zones/`zone`/futureReservations/`name`
8034
+ # Full URIs that include hostnames (like compute.googleapis.com or
8035
+ # www.googleapis.com) are also supported.
8036
+ # Corresponds to the JSON property `futureReservation`
8037
+ # @return [String]
8038
+ attr_accessor :future_reservation
8039
+
8040
+ def initialize(**args)
8041
+ update!(**args)
8042
+ end
8043
+
8044
+ # Update properties of this object
8045
+ def update!(**args)
8046
+ @end_time_not_later_than = args[:end_time_not_later_than] if args.key?(:end_time_not_later_than)
8047
+ @future_reservation = args[:future_reservation] if args.key?(:future_reservation)
8048
+ end
8049
+ end
8050
+
8051
+ # A response that contains the recommended duration for extending
8052
+ # a future reservation in calendar mode based on available capacity
8053
+ # during the extension period.
8054
+ class CalendarModeExtensionAdviceResponse
8055
+ include Google::Apis::Core::Hashable
8056
+
8057
+ # The recommended end time for the extension, which is either the end time
8058
+ # requested by the caller or the longest alternative with sufficient
8059
+ # capacity. If the extension is not possible, this field is empty, and
8060
+ # notRecommendedReason is populated instead.
8061
+ # Corresponds to the JSON property `endTime`
8062
+ # @return [String]
8063
+ attr_accessor :end_time
8064
+
8065
+ # Information about why no recommendation was provided.
8066
+ # Corresponds to the JSON property `notRecommendedReason`
8067
+ # @return [Google::Apis::ComputeBeta::CalendarModeExtensionAdviceResponseNotRecommendedReason]
8068
+ attr_accessor :not_recommended_reason
8069
+
8070
+ # The unique ID of the recommendation, which is a UUID string generated by
8071
+ # the API.
8072
+ # Corresponds to the JSON property `recommendationId`
8073
+ # @return [String]
8074
+ attr_accessor :recommendation_id
8075
+
8076
+ def initialize(**args)
8077
+ update!(**args)
8078
+ end
8079
+
8080
+ # Update properties of this object
8081
+ def update!(**args)
8082
+ @end_time = args[:end_time] if args.key?(:end_time)
8083
+ @not_recommended_reason = args[:not_recommended_reason] if args.key?(:not_recommended_reason)
8084
+ @recommendation_id = args[:recommendation_id] if args.key?(:recommendation_id)
8085
+ end
8086
+ end
8087
+
8088
+ # Information about why no recommendation was provided.
8089
+ class CalendarModeExtensionAdviceResponseNotRecommendedReason
8090
+ include Google::Apis::Core::Hashable
8091
+
8092
+ # Human-readable details describing why the recommendation wasn't provided.
8093
+ # For example, if the status is CONDITIONS_NOT_MET, this field explains why
8094
+ # the requested extension duration isn't possible.
8095
+ # Corresponds to the JSON property `details`
8096
+ # @return [String]
8097
+ attr_accessor :details
8098
+
8099
+ # Status of recommendation.
8100
+ # Corresponds to the JSON property `status`
8101
+ # @return [String]
8102
+ attr_accessor :status
8103
+
8104
+ def initialize(**args)
8105
+ update!(**args)
8106
+ end
8107
+
8108
+ # Update properties of this object
8109
+ def update!(**args)
8110
+ @details = args[:details] if args.key?(:details)
8111
+ @status = args[:status] if args.key?(:status)
8112
+ end
8113
+ end
8114
+
8003
8115
  # A single recommendation to create requested resources. Contains detailed
8004
8116
  # recommendations for every future resources specification specified in
8005
8117
  # CalendarModeAdviceRequest.
@@ -8804,7 +8916,8 @@ module Google
8804
8916
  # GENERAL_PURPOSE,GENERAL_PURPOSE_C4, GENERAL_PURPOSE_E2,GENERAL_PURPOSE_N2,
8805
8917
  # GENERAL_PURPOSE_N2D,GENERAL_PURPOSE_N4, GENERAL_PURPOSE_T2D,GRAPHICS_OPTIMIZED,
8806
8918
  # GRAPHICS_OPTIMIZED_G4,GRAPHICS_OPTIMIZED_G4_VGPU,MEMORY_OPTIMIZED,
8807
- # MEMORY_OPTIMIZED_M3,MEMORY_OPTIMIZED_X4, STORAGE_OPTIMIZED_Z3. For
8919
+ # MEMORY_OPTIMIZED_M3,MEMORY_OPTIMIZED_X4, STORAGE_OPTIMIZED_Z3,
8920
+ # STORAGE_OPTIMIZED_Z4DS, STORAGE_OPTIMIZED_Z4DH,STORAGE_OPTIMIZED_Z4D4T. For
8808
8921
  # example, type MEMORY_OPTIMIZED specifies a commitment that
8809
8922
  # applies only to eligible resources of memory optimized M1 and M2 machine
8810
8923
  # series. Type GENERAL_PURPOSE specifies a commitment that
@@ -10600,6 +10713,342 @@ module Google
10600
10713
  end
10601
10714
  end
10602
10715
 
10716
+ # A standalone, regional API resource that encapsulates a set of user-defined
10717
+ # DHCP configurations.
10718
+ class DhcpOptionsConfig
10719
+ include Google::Apis::Core::Hashable
10720
+
10721
+ # Mapping of user-defined keys to DhcpOptionsConfig to Network associations.
10722
+ # Corresponds to the JSON property `associations`
10723
+ # @return [Hash<String,Google::Apis::ComputeBeta::DhcpOptionsConfigAssociation>]
10724
+ attr_accessor :associations
10725
+
10726
+ # The file path and name of the boot image/file on the TFTP server that the
10727
+ # client VM guest OS should download and execute during network boot. Used
10728
+ # when the standard DHCP header 'file' field is overloaded. Corresponds to
10729
+ # DHCPv4 Option 67.
10730
+ # Corresponds to the JSON property `bootFileIpv4Name`
10731
+ # @return [String]
10732
+ attr_accessor :boot_file_ipv4_name
10733
+
10734
+ # A list of UTF-8 encoded parameter strings to be passed as arguments to the
10735
+ # bootloader program or OS kernel after downloading the boot file.
10736
+ # Corresponds to DHCPv6 Option 60.
10737
+ # Corresponds to the JSON property `bootFileIpv6Parameters`
10738
+ # @return [Array<String>]
10739
+ attr_accessor :boot_file_ipv6_parameters
10740
+
10741
+ # The Uniform Resource Locator (URL) specifying the protocol, server address,
10742
+ # and file path of the boot file that the client VM guest OS should download
10743
+ # and execute for network boot (e.g., 'tftp://[2001:db8::1]/bootx64.efi' or
10744
+ # 'http://[2001:db8::1]/boot.img'). Corresponds to DHCPv6 Option 59.
10745
+ # Corresponds to the JSON property `bootFileIpv6Url`
10746
+ # @return [String]
10747
+ attr_accessor :boot_file_ipv6_url
10748
+
10749
+ # Output only. [Output Only] Creation timestamp inRFC3339
10750
+ # text format.
10751
+ # Corresponds to the JSON property `creationTimestamp`
10752
+ # @return [String]
10753
+ attr_accessor :creation_timestamp
10754
+
10755
+ # An optional description of this resource. Provide this property when you
10756
+ # create the resource.
10757
+ # Corresponds to the JSON property `description`
10758
+ # @return [String]
10759
+ attr_accessor :description
10760
+
10761
+ # An ordered list of domain suffixes (search paths) that the client VM guest
10762
+ # OS should append to resolve hostnames that are not fully qualified. Applies
10763
+ # to both DHCPv4 Option 119 and DHCPv6 Option 24.
10764
+ # Corresponds to the JSON property `dnsSearchPaths`
10765
+ # @return [Array<String>]
10766
+ attr_accessor :dns_search_paths
10767
+
10768
+ # The domain name that the client VM guest OS should use when resolving
10769
+ # hostnames via DNS (e.g., 'example.com'). It defines the default domain
10770
+ # suffix for the client. Corresponds to DHCPv4 Option 15.
10771
+ # Corresponds to the JSON property `domainName`
10772
+ # @return [String]
10773
+ attr_accessor :domain_name
10774
+
10775
+ # Output only. [Output Only] The unique identifier for the resource type. The
10776
+ # server
10777
+ # generates this identifier.
10778
+ # Corresponds to the JSON property `id`
10779
+ # @return [Fixnum]
10780
+ attr_accessor :id
10781
+
10782
+ # Output only. [Output Only] Type of the resource. Alwayscompute#
10783
+ # dhcpOptionsConfig for dhcp options configs.
10784
+ # Corresponds to the JSON property `kind`
10785
+ # @return [String]
10786
+ attr_accessor :kind
10787
+
10788
+ # The duration, in seconds, of the IPv4 address lease offered by the DHCP
10789
+ # server to the client VM guest OS. Corresponds to DHCPv4 Option 51.
10790
+ # Corresponds to the JSON property `leaseTimeSec`
10791
+ # @return [Fixnum]
10792
+ attr_accessor :lease_time_sec
10793
+
10794
+ # Name of the resource. Provided by the client when the resource is created.
10795
+ # The name must be 1-63 characters long, and comply withRFC1035.
10796
+ # Specifically, the name must be 1-63 characters long and match the regular
10797
+ # expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first
10798
+ # character must be a lowercase letter, and all following characters must
10799
+ # be a dash, lowercase letter, or digit, except the last character, which
10800
+ # cannot be a dash.
10801
+ # Corresponds to the JSON property `name`
10802
+ # @return [String]
10803
+ attr_accessor :name
10804
+
10805
+ # An ordered list of IPv4 addresses of Network Time Protocol (NTP) servers
10806
+ # available to the client VM guest OS for system clock synchronization,
10807
+ # listed in order of preference. Corresponds to DHCPv4 Option 42.
10808
+ # Corresponds to the JSON property `ntpServerIpv4Addresses`
10809
+ # @return [Array<String>]
10810
+ attr_accessor :ntp_server_ipv4_addresses
10811
+
10812
+ # An ordered list of IPv6 addresses of Network Time Protocol (NTP) servers
10813
+ # available to the client VM guest OS for system clock synchronization.
10814
+ # Corresponds to DHCPv6 Option 56.
10815
+ # Corresponds to the JSON property `ntpServerIpv6Addresses`
10816
+ # @return [Array<String>]
10817
+ attr_accessor :ntp_server_ipv6_addresses
10818
+
10819
+ # Output only. [Output Only] URL of the region where the resource resides.
10820
+ # Corresponds to the JSON property `region`
10821
+ # @return [String]
10822
+ attr_accessor :region
10823
+
10824
+ # Output only. [Output Only] Server-defined URL for the resource.
10825
+ # Corresponds to the JSON property `selfLink`
10826
+ # @return [String]
10827
+ attr_accessor :self_link
10828
+
10829
+ # An ordered list of one or more IPv4 addresses of TFTP servers. Provides
10830
+ # server redundancy and failover support, and is generally prioritized by
10831
+ # clients over the single hostname specified in Option 66. Corresponds to
10832
+ # DHCPv4 Option 150.
10833
+ # Corresponds to the JSON property `tftpServerIpv4Addresses`
10834
+ # @return [Array<String>]
10835
+ attr_accessor :tftp_server_ipv4_addresses
10836
+
10837
+ # The hostname or IP address of the Trivial File Transfer Protocol (TFTP)
10838
+ # server from which the client VM guest OS can download boot files. Typically
10839
+ # used in network booting (PXE) when the standard DHCP header 'sname' field
10840
+ # is overloaded. Corresponds to DHCPv4 Option 66.
10841
+ # Corresponds to the JSON property `tftpServerIpv4Name`
10842
+ # @return [String]
10843
+ attr_accessor :tftp_server_ipv4_name
10844
+
10845
+ def initialize(**args)
10846
+ update!(**args)
10847
+ end
10848
+
10849
+ # Update properties of this object
10850
+ def update!(**args)
10851
+ @associations = args[:associations] if args.key?(:associations)
10852
+ @boot_file_ipv4_name = args[:boot_file_ipv4_name] if args.key?(:boot_file_ipv4_name)
10853
+ @boot_file_ipv6_parameters = args[:boot_file_ipv6_parameters] if args.key?(:boot_file_ipv6_parameters)
10854
+ @boot_file_ipv6_url = args[:boot_file_ipv6_url] if args.key?(:boot_file_ipv6_url)
10855
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
10856
+ @description = args[:description] if args.key?(:description)
10857
+ @dns_search_paths = args[:dns_search_paths] if args.key?(:dns_search_paths)
10858
+ @domain_name = args[:domain_name] if args.key?(:domain_name)
10859
+ @id = args[:id] if args.key?(:id)
10860
+ @kind = args[:kind] if args.key?(:kind)
10861
+ @lease_time_sec = args[:lease_time_sec] if args.key?(:lease_time_sec)
10862
+ @name = args[:name] if args.key?(:name)
10863
+ @ntp_server_ipv4_addresses = args[:ntp_server_ipv4_addresses] if args.key?(:ntp_server_ipv4_addresses)
10864
+ @ntp_server_ipv6_addresses = args[:ntp_server_ipv6_addresses] if args.key?(:ntp_server_ipv6_addresses)
10865
+ @region = args[:region] if args.key?(:region)
10866
+ @self_link = args[:self_link] if args.key?(:self_link)
10867
+ @tftp_server_ipv4_addresses = args[:tftp_server_ipv4_addresses] if args.key?(:tftp_server_ipv4_addresses)
10868
+ @tftp_server_ipv4_name = args[:tftp_server_ipv4_name] if args.key?(:tftp_server_ipv4_name)
10869
+ end
10870
+ end
10871
+
10872
+ # Association represents the relationship between a DHCP options config and a
10873
+ # network. Association represents the relationship between a DHCP options
10874
+ # config and a network.
10875
+ class DhcpOptionsConfigAssociation
10876
+ include Google::Apis::Core::Hashable
10877
+
10878
+ # Required. The target network this DHCP option is attached to.
10879
+ # You can specify this as a full or partial URL. For example, the following
10880
+ # are all valid URLs:
10881
+ #
10882
+ #
10883
+ # - https://www.googleapis.com/compute/v1/projects/project/global/networks/
10884
+ # network
10885
+ #
10886
+ # - projects/project/global/networks/network
10887
+ # Corresponds to the JSON property `network`
10888
+ # @return [String]
10889
+ attr_accessor :network
10890
+
10891
+ # Output only. [Output Only] The server-defined ID of the associated Network.
10892
+ # Corresponds to the JSON property `networkId`
10893
+ # @return [Fixnum]
10894
+ attr_accessor :network_id
10895
+
10896
+ # Output only. [Output Only] State of the association.
10897
+ # Corresponds to the JSON property `state`
10898
+ # @return [String]
10899
+ attr_accessor :state
10900
+
10901
+ def initialize(**args)
10902
+ update!(**args)
10903
+ end
10904
+
10905
+ # Update properties of this object
10906
+ def update!(**args)
10907
+ @network = args[:network] if args.key?(:network)
10908
+ @network_id = args[:network_id] if args.key?(:network_id)
10909
+ @state = args[:state] if args.key?(:state)
10910
+ end
10911
+ end
10912
+
10913
+ #
10914
+ class DhcpOptionsConfigList
10915
+ include Google::Apis::Core::Hashable
10916
+
10917
+ # Server-defined ETag for optimistic concurrency control.
10918
+ # Corresponds to the JSON property `etag`
10919
+ # @return [String]
10920
+ attr_accessor :etag
10921
+
10922
+ # [Output Only] Unique identifier for the resource; defined by the server.
10923
+ # Corresponds to the JSON property `id`
10924
+ # @return [String]
10925
+ attr_accessor :id
10926
+
10927
+ # A list of DhcpOptionsConfig resources.
10928
+ # Corresponds to the JSON property `items`
10929
+ # @return [Array<Google::Apis::ComputeBeta::DhcpOptionsConfig>]
10930
+ attr_accessor :items
10931
+
10932
+ # Output only. [Output Only] Type of the resource. Alwayscompute#
10933
+ # dhcpOptionsConfigList for a list of dhcp options
10934
+ # configs.
10935
+ # Corresponds to the JSON property `kind`
10936
+ # @return [String]
10937
+ attr_accessor :kind
10938
+
10939
+ # [Output Only] This token allows you to get the next page of results for
10940
+ # list requests. If the number of results is larger thanmaxResults, use the
10941
+ # nextPageToken as a value for
10942
+ # the query parameter pageToken in the next list request.
10943
+ # Subsequent list requests will have their own nextPageToken to
10944
+ # continue paging through the results.
10945
+ # Corresponds to the JSON property `nextPageToken`
10946
+ # @return [String]
10947
+ attr_accessor :next_page_token
10948
+
10949
+ # [Output Only] Server-defined URL for this resource.
10950
+ # Corresponds to the JSON property `selfLink`
10951
+ # @return [String]
10952
+ attr_accessor :self_link
10953
+
10954
+ # Output only. [Output Only] Unreachable resources.
10955
+ # end_interface: MixerListResponseWithEtagBuilder
10956
+ # Corresponds to the JSON property `unreachables`
10957
+ # @return [Array<String>]
10958
+ attr_accessor :unreachables
10959
+
10960
+ # [Output Only] Informational warning message.
10961
+ # Corresponds to the JSON property `warning`
10962
+ # @return [Google::Apis::ComputeBeta::DhcpOptionsConfigList::Warning]
10963
+ attr_accessor :warning
10964
+
10965
+ def initialize(**args)
10966
+ update!(**args)
10967
+ end
10968
+
10969
+ # Update properties of this object
10970
+ def update!(**args)
10971
+ @etag = args[:etag] if args.key?(:etag)
10972
+ @id = args[:id] if args.key?(:id)
10973
+ @items = args[:items] if args.key?(:items)
10974
+ @kind = args[:kind] if args.key?(:kind)
10975
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
10976
+ @self_link = args[:self_link] if args.key?(:self_link)
10977
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
10978
+ @warning = args[:warning] if args.key?(:warning)
10979
+ end
10980
+
10981
+ # [Output Only] Informational warning message.
10982
+ class Warning
10983
+ include Google::Apis::Core::Hashable
10984
+
10985
+ # [Output Only] A warning code, if applicable. For example, Compute
10986
+ # Engine returns NO_RESULTS_ON_PAGE if there
10987
+ # are no results in the response.
10988
+ # Corresponds to the JSON property `code`
10989
+ # @return [String]
10990
+ attr_accessor :code
10991
+
10992
+ # [Output Only] Metadata about this warning in key:
10993
+ # value format. For example:
10994
+ # "data": [
10995
+ # `
10996
+ # "key": "scope",
10997
+ # "value": "zones/us-east1-d"
10998
+ # `]
10999
+ # Corresponds to the JSON property `data`
11000
+ # @return [Array<Google::Apis::ComputeBeta::DhcpOptionsConfigList::Warning::Datum>]
11001
+ attr_accessor :data
11002
+
11003
+ # [Output Only] A human-readable description of the warning code.
11004
+ # Corresponds to the JSON property `message`
11005
+ # @return [String]
11006
+ attr_accessor :message
11007
+
11008
+ def initialize(**args)
11009
+ update!(**args)
11010
+ end
11011
+
11012
+ # Update properties of this object
11013
+ def update!(**args)
11014
+ @code = args[:code] if args.key?(:code)
11015
+ @data = args[:data] if args.key?(:data)
11016
+ @message = args[:message] if args.key?(:message)
11017
+ end
11018
+
11019
+ #
11020
+ class Datum
11021
+ include Google::Apis::Core::Hashable
11022
+
11023
+ # [Output Only] A key that provides more detail on the warning being
11024
+ # returned. For example, for warnings where there are no results in a list
11025
+ # request for a particular zone, this key might be scope and
11026
+ # the key value might be the zone name. Other examples might be a key
11027
+ # indicating a deprecated resource and a suggested replacement, or a
11028
+ # warning about invalid network settings (for example, if an instance
11029
+ # attempts to perform IP forwarding but is not enabled for IP forwarding).
11030
+ # Corresponds to the JSON property `key`
11031
+ # @return [String]
11032
+ attr_accessor :key
11033
+
11034
+ # [Output Only] A warning data value corresponding to the key.
11035
+ # Corresponds to the JSON property `value`
11036
+ # @return [String]
11037
+ attr_accessor :value
11038
+
11039
+ def initialize(**args)
11040
+ update!(**args)
11041
+ end
11042
+
11043
+ # Update properties of this object
11044
+ def update!(**args)
11045
+ @key = args[:key] if args.key?(:key)
11046
+ @value = args[:value] if args.key?(:value)
11047
+ end
11048
+ end
11049
+ end
11050
+ end
11051
+
10603
11052
  # Represents a Persistent Disk resource.
10604
11053
  # Google Compute Engine has two Disk resources:
10605
11054
  # * [Zonal](/compute/docs/reference/rest/beta/disks)
@@ -12615,6 +13064,26 @@ module Google
12615
13064
  end
12616
13065
  end
12617
13066
 
13067
+ # Dynamic compression policy for this URL Map's route.
13068
+ class DynamicCompressionPolicy
13069
+ include Google::Apis::Core::Hashable
13070
+
13071
+ # Compress text responses using Brotli or gzip compression, based on
13072
+ # the client's Accept-Encoding header.
13073
+ # Corresponds to the JSON property `compressionMode`
13074
+ # @return [String]
13075
+ attr_accessor :compression_mode
13076
+
13077
+ def initialize(**args)
13078
+ update!(**args)
13079
+ end
13080
+
13081
+ # Update properties of this object
13082
+ def update!(**args)
13083
+ @compression_mode = args[:compression_mode] if args.key?(:compression_mode)
13084
+ end
13085
+ end
13086
+
12618
13087
  # Describes the cause of the error with structured details.
12619
13088
  # Example of an error when contacting the "pubsub.googleapis.com" API when it
12620
13089
  # is not enabled:
@@ -17237,6 +17706,68 @@ module Google
17237
17706
  end
17238
17707
  end
17239
17708
 
17709
+ # Metadata for GetHealth operations.
17710
+ class GetHealthOperationMetadata
17711
+ include Google::Apis::Core::Hashable
17712
+
17713
+ # Health information.
17714
+ # Corresponds to the JSON property `healthInfo`
17715
+ # @return [Google::Apis::ComputeBeta::GetHealthOperationMetadataHealthInfo]
17716
+ attr_accessor :health_info
17717
+
17718
+ def initialize(**args)
17719
+ update!(**args)
17720
+ end
17721
+
17722
+ # Update properties of this object
17723
+ def update!(**args)
17724
+ @health_info = args[:health_info] if args.key?(:health_info)
17725
+ end
17726
+ end
17727
+
17728
+ # Health information.
17729
+ class GetHealthOperationMetadataHealthInfo
17730
+ include Google::Apis::Core::Hashable
17731
+
17732
+ # Output only. The availability SLO status.
17733
+ # Corresponds to the JSON property `availabilitySloStatus`
17734
+ # @return [String]
17735
+ attr_accessor :availability_slo_status
17736
+
17737
+ # Output only. The health status.
17738
+ # Corresponds to the JSON property `healthStatus`
17739
+ # @return [String]
17740
+ attr_accessor :health_status
17741
+
17742
+ # Output only. The repair category.
17743
+ # Corresponds to the JSON property `repairCategory`
17744
+ # @return [String]
17745
+ attr_accessor :repair_category
17746
+
17747
+ # Output only. The reason for unhealthy status.
17748
+ # Corresponds to the JSON property `unhealthyReason`
17749
+ # @return [String]
17750
+ attr_accessor :unhealthy_reason
17751
+
17752
+ # Output only. The time when health info was updated.
17753
+ # Corresponds to the JSON property `updateTime`
17754
+ # @return [String]
17755
+ attr_accessor :update_time
17756
+
17757
+ def initialize(**args)
17758
+ update!(**args)
17759
+ end
17760
+
17761
+ # Update properties of this object
17762
+ def update!(**args)
17763
+ @availability_slo_status = args[:availability_slo_status] if args.key?(:availability_slo_status)
17764
+ @health_status = args[:health_status] if args.key?(:health_status)
17765
+ @repair_category = args[:repair_category] if args.key?(:repair_category)
17766
+ @unhealthy_reason = args[:unhealthy_reason] if args.key?(:unhealthy_reason)
17767
+ @update_time = args[:update_time] if args.key?(:update_time)
17768
+ end
17769
+ end
17770
+
17240
17771
  #
17241
17772
  class GetVersionOperationMetadata
17242
17773
  include Google::Apis::Core::Hashable
@@ -17316,6 +17847,106 @@ module Google
17316
17847
  end
17317
17848
  end
17318
17849
 
17850
+ # Represents the Global Frontend Bundle settings for a single project.
17851
+ class GlobalFrontendSettings
17852
+ include Google::Apis::Core::Hashable
17853
+
17854
+ # Customer-settable bundle type.
17855
+ # Corresponds to the JSON property `bundleType`
17856
+ # @return [String]
17857
+ attr_accessor :bundle_type
17858
+
17859
+ # Output only. [Output Only] Creation timestamp in RFC3339 text format.
17860
+ # Corresponds to the JSON property `creationTimestamp`
17861
+ # @return [String]
17862
+ attr_accessor :creation_timestamp
17863
+
17864
+ # Output only. [Output Only] An optional description of this resource.
17865
+ # Corresponds to the JSON property `description`
17866
+ # @return [String]
17867
+ attr_accessor :description
17868
+
17869
+ # Output only. For optimistic locking
17870
+ # Corresponds to the JSON property `etag`
17871
+ # @return [String]
17872
+ attr_accessor :etag
17873
+
17874
+ # Output only. [Output Only] The unique identifier for the resource. This
17875
+ # identifier is
17876
+ # defined by the server.
17877
+ # Corresponds to the JSON property `id`
17878
+ # @return [Fixnum]
17879
+ attr_accessor :id
17880
+
17881
+ # Output only. OUTPUT_ONLY fields
17882
+ # [Output Only] Name of the resource. Must be 1-63 characters long and match
17883
+ # the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first
17884
+ # character must be a lowercase letter, and all following characters must
17885
+ # be a dash, lowercase letter, or digit, except the last character, which
17886
+ # cannot be a dash.
17887
+ # Corresponds to the JSON property `name`
17888
+ # @return [String]
17889
+ attr_accessor :name
17890
+
17891
+ # Output only. [Output Only] Server-defined URL for the resource.
17892
+ # Corresponds to the JSON property `selfLink`
17893
+ # @return [String]
17894
+ attr_accessor :self_link
17895
+
17896
+ def initialize(**args)
17897
+ update!(**args)
17898
+ end
17899
+
17900
+ # Update properties of this object
17901
+ def update!(**args)
17902
+ @bundle_type = args[:bundle_type] if args.key?(:bundle_type)
17903
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
17904
+ @description = args[:description] if args.key?(:description)
17905
+ @etag = args[:etag] if args.key?(:etag)
17906
+ @id = args[:id] if args.key?(:id)
17907
+ @name = args[:name] if args.key?(:name)
17908
+ @self_link = args[:self_link] if args.key?(:self_link)
17909
+ end
17910
+ end
17911
+
17912
+ # Response to an UpdateGlobalFrontendSettingsRequest.
17913
+ class GlobalFrontendSettingsPatchResponse
17914
+ include Google::Apis::Core::Hashable
17915
+
17916
+ # Represents an Operation resource.
17917
+ # Google Compute Engine has three Operation resources:
17918
+ # * [Global](/compute/docs/reference/rest/beta/globalOperations)
17919
+ # * [Regional](/compute/docs/reference/rest/beta/regionOperations)
17920
+ # * [Zonal](/compute/docs/reference/rest/beta/zoneOperations)
17921
+ # You can use an operation resource to manage asynchronous API requests.
17922
+ # For more information, readHandling
17923
+ # API responses.
17924
+ # Operations can be global, regional or zonal.
17925
+ #
17926
+ # - For global operations, use the `globalOperations`
17927
+ # resource.
17928
+ # - For regional operations, use the
17929
+ # `regionOperations` resource.
17930
+ # - For zonal operations, use
17931
+ # the `zoneOperations` resource.
17932
+ # For more information, read
17933
+ # Global, Regional, and Zonal Resources.
17934
+ # Note that completed Operation resources have a limited
17935
+ # retention period.
17936
+ # Corresponds to the JSON property `operation`
17937
+ # @return [Google::Apis::ComputeBeta::Operation]
17938
+ attr_accessor :operation
17939
+
17940
+ def initialize(**args)
17941
+ update!(**args)
17942
+ end
17943
+
17944
+ # Update properties of this object
17945
+ def update!(**args)
17946
+ @operation = args[:operation] if args.key?(:operation)
17947
+ end
17948
+ end
17949
+
17319
17950
  #
17320
17951
  class GlobalNetworkEndpointGroupsAttachEndpointsRequest
17321
17952
  include Google::Apis::Core::Hashable
@@ -18273,6 +18904,7 @@ module Google
18273
18904
  # - IDPF
18274
18905
  # - SNP_SVSM_CAPABLE
18275
18906
  # - CCA_CAPABLE
18907
+ # - SUSPEND_SAFE_FPR
18276
18908
  # For more information, see
18277
18909
  # Enabling guest operating system features.
18278
18910
  # Corresponds to the JSON property `type`
@@ -22067,6 +22699,11 @@ module Google
22067
22699
  # @return [Google::Apis::ComputeBeta::CorsPolicy]
22068
22700
  attr_accessor :cors_policy
22069
22701
 
22702
+ # Dynamic compression policy for this URL Map's route.
22703
+ # Corresponds to the JSON property `dynamicCompressionPolicy`
22704
+ # @return [Google::Apis::ComputeBeta::DynamicCompressionPolicy]
22705
+ attr_accessor :dynamic_compression_policy
22706
+
22070
22707
  # The specification for fault injection introduced into traffic to test
22071
22708
  # the resiliency of clients to backend service failure. As part of fault
22072
22709
  # injection, when clients send requests to a backend service, delays can be
@@ -22144,6 +22781,7 @@ module Google
22144
22781
  def update!(**args)
22145
22782
  @cache_policy = args[:cache_policy] if args.key?(:cache_policy)
22146
22783
  @cors_policy = args[:cors_policy] if args.key?(:cors_policy)
22784
+ @dynamic_compression_policy = args[:dynamic_compression_policy] if args.key?(:dynamic_compression_policy)
22147
22785
  @fault_injection_policy = args[:fault_injection_policy] if args.key?(:fault_injection_policy)
22148
22786
  @image_optimization_policy = args[:image_optimization_policy] if args.key?(:image_optimization_policy)
22149
22787
  @max_stream_duration = args[:max_stream_duration] if args.key?(:max_stream_duration)
@@ -28780,6 +29418,12 @@ module Google
28780
29418
  class InstancePropertiesPatch
28781
29419
  include Google::Apis::Core::Hashable
28782
29420
 
29421
+ # This optional flag exposes the hashed physical host ID.
29422
+ # Corresponds to the JSON property `exposeHostTopology`
29423
+ # @return [Boolean]
29424
+ attr_accessor :expose_host_topology
29425
+ alias_method :expose_host_topology?, :expose_host_topology
29426
+
28783
29427
  # The label key-value pairs that you want to patch onto the instance.
28784
29428
  # Corresponds to the JSON property `labels`
28785
29429
  # @return [Hash<String,String>]
@@ -28798,6 +29442,7 @@ module Google
28798
29442
 
28799
29443
  # Update properties of this object
28800
29444
  def update!(**args)
29445
+ @expose_host_topology = args[:expose_host_topology] if args.key?(:expose_host_topology)
28801
29446
  @labels = args[:labels] if args.key?(:labels)
28802
29447
  @metadata = args[:metadata] if args.key?(:metadata)
28803
29448
  end
@@ -31038,6 +31683,11 @@ module Google
31038
31683
  # @return [String]
31039
31684
  attr_accessor :self_link
31040
31685
 
31686
+ # Output only. Server-defined URL for this resource with the resource id.
31687
+ # Corresponds to the JSON property `selfLinkWithId`
31688
+ # @return [String]
31689
+ attr_accessor :self_link_with_id
31690
+
31041
31691
  # Output only. [Output Only] The current state of Interconnect functionality,
31042
31692
  # which can
31043
31693
  # take one of the following values:
@@ -31106,6 +31756,7 @@ module Google
31106
31756
  @requested_link_count = args[:requested_link_count] if args.key?(:requested_link_count)
31107
31757
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
31108
31758
  @self_link = args[:self_link] if args.key?(:self_link)
31759
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
31109
31760
  @state = args[:state] if args.key?(:state)
31110
31761
  @subzone = args[:subzone] if args.key?(:subzone)
31111
31762
  @wire_groups = args[:wire_groups] if args.key?(:wire_groups)
@@ -34417,6 +35068,19 @@ module Google
34417
35068
  # @return [String]
34418
35069
  attr_accessor :city
34419
35070
 
35071
+ # Output only. The maximum unmetered bandwidth for dynamic paths allowable per
35072
+ # WireGroup for this metro.
35073
+ # Corresponds to the JSON property `maxDynamicPathBandwidthGbps`
35074
+ # @return [Fixnum]
35075
+ attr_accessor :max_dynamic_path_bandwidth_gbps
35076
+
35077
+ # Output only. The maximum unmetered bandwidth for fixed paths allowable per
35078
+ # WireGroup
35079
+ # for this metro.
35080
+ # Corresponds to the JSON property `maxFixedPathBandwidthGbps`
35081
+ # @return [Fixnum]
35082
+ attr_accessor :max_fixed_path_bandwidth_gbps
35083
+
34420
35084
  def initialize(**args)
34421
35085
  update!(**args)
34422
35086
  end
@@ -34424,6 +35088,8 @@ module Google
34424
35088
  # Update properties of this object
34425
35089
  def update!(**args)
34426
35090
  @city = args[:city] if args.key?(:city)
35091
+ @max_dynamic_path_bandwidth_gbps = args[:max_dynamic_path_bandwidth_gbps] if args.key?(:max_dynamic_path_bandwidth_gbps)
35092
+ @max_fixed_path_bandwidth_gbps = args[:max_fixed_path_bandwidth_gbps] if args.key?(:max_fixed_path_bandwidth_gbps)
34427
35093
  end
34428
35094
  end
34429
35095
 
@@ -34614,6 +35280,14 @@ module Google
34614
35280
  attr_accessor :fail_open
34615
35281
  alias_method :fail_open?, :fail_open
34616
35282
 
35283
+ # Optional. URL of the InterconnectKeyGroup resource to use for MACsec, in the
35284
+ # format:
35285
+ # projects/`project`/locations/`region`/interconnectKeyGroups/`
35286
+ # interconnectKeyGroup`.
35287
+ # Corresponds to the JSON property `interconnectKeyGroup`
35288
+ # @return [String]
35289
+ attr_accessor :interconnect_key_group
35290
+
34617
35291
  # Required. A keychain placeholder describing a set of named key objects
34618
35292
  # along with their start times. A MACsec CKN/CAK is generated for each
34619
35293
  # key in the key chain. Google router automatically picks the key with
@@ -34630,6 +35304,7 @@ module Google
34630
35304
  # Update properties of this object
34631
35305
  def update!(**args)
34632
35306
  @fail_open = args[:fail_open] if args.key?(:fail_open)
35307
+ @interconnect_key_group = args[:interconnect_key_group] if args.key?(:interconnect_key_group)
34633
35308
  @pre_shared_keys = args[:pre_shared_keys] if args.key?(:pre_shared_keys)
34634
35309
  end
34635
35310
  end
@@ -36186,6 +36861,147 @@ module Google
36186
36861
  end
36187
36862
  end
36188
36863
 
36864
+ #
36865
+ class ListVmExtensionStatesResponse
36866
+ include Google::Apis::Core::Hashable
36867
+
36868
+ # Output only. Fingerprint of this resource. A hash of the contents stored
36869
+ # in this object. This field is used in optimistic locking. This field will
36870
+ # be ignored when inserting a VmExtensionPolicy. An up-to-date
36871
+ # fingerprint must be provided in order to update the VmExtensionPolicy.
36872
+ # To see the latest value of the fingerprint, make a get() request to
36873
+ # retrieve a VmExtensionPolicy.
36874
+ # Corresponds to the JSON property `etag`
36875
+ # @return [String]
36876
+ attr_accessor :etag
36877
+
36878
+ # Output only. Unique identifier for the resource; defined by the server.
36879
+ # Corresponds to the JSON property `id`
36880
+ # @return [String]
36881
+ attr_accessor :id
36882
+
36883
+ # Output only. A list of VM extension policy resources.
36884
+ # Corresponds to the JSON property `items`
36885
+ # @return [Array<Google::Apis::ComputeBeta::VmExtensionState>]
36886
+ attr_accessor :items
36887
+
36888
+ # Output only. Type of resource.
36889
+ # Corresponds to the JSON property `kind`
36890
+ # @return [String]
36891
+ attr_accessor :kind
36892
+
36893
+ # Output only. This token allows you to get the next page of results for
36894
+ # list requests. If the number of results is larger thanmaxResults, use the
36895
+ # nextPageToken as a value for
36896
+ # the query parameter pageToken in the next list request.
36897
+ # Subsequent list requests will have their own nextPageToken to
36898
+ # continue paging through the results.
36899
+ # Corresponds to the JSON property `nextPageToken`
36900
+ # @return [String]
36901
+ attr_accessor :next_page_token
36902
+
36903
+ # Output only. Server-defined URL for this resource.
36904
+ # Corresponds to the JSON property `selfLink`
36905
+ # @return [String]
36906
+ attr_accessor :self_link
36907
+
36908
+ # Output only. Unreachable resources.
36909
+ # Corresponds to the JSON property `unreachables`
36910
+ # @return [Array<String>]
36911
+ attr_accessor :unreachables
36912
+
36913
+ # Output only. Informational warning message.
36914
+ # Corresponds to the JSON property `warning`
36915
+ # @return [Google::Apis::ComputeBeta::ListVmExtensionStatesResponse::Warning]
36916
+ attr_accessor :warning
36917
+
36918
+ def initialize(**args)
36919
+ update!(**args)
36920
+ end
36921
+
36922
+ # Update properties of this object
36923
+ def update!(**args)
36924
+ @etag = args[:etag] if args.key?(:etag)
36925
+ @id = args[:id] if args.key?(:id)
36926
+ @items = args[:items] if args.key?(:items)
36927
+ @kind = args[:kind] if args.key?(:kind)
36928
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
36929
+ @self_link = args[:self_link] if args.key?(:self_link)
36930
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
36931
+ @warning = args[:warning] if args.key?(:warning)
36932
+ end
36933
+
36934
+ # Output only. Informational warning message.
36935
+ class Warning
36936
+ include Google::Apis::Core::Hashable
36937
+
36938
+ # [Output Only] A warning code, if applicable. For example, Compute
36939
+ # Engine returns NO_RESULTS_ON_PAGE if there
36940
+ # are no results in the response.
36941
+ # Corresponds to the JSON property `code`
36942
+ # @return [String]
36943
+ attr_accessor :code
36944
+
36945
+ # [Output Only] Metadata about this warning in key:
36946
+ # value format. For example:
36947
+ # "data": [
36948
+ # `
36949
+ # "key": "scope",
36950
+ # "value": "zones/us-east1-d"
36951
+ # `]
36952
+ # Corresponds to the JSON property `data`
36953
+ # @return [Array<Google::Apis::ComputeBeta::ListVmExtensionStatesResponse::Warning::Datum>]
36954
+ attr_accessor :data
36955
+
36956
+ # [Output Only] A human-readable description of the warning code.
36957
+ # Corresponds to the JSON property `message`
36958
+ # @return [String]
36959
+ attr_accessor :message
36960
+
36961
+ def initialize(**args)
36962
+ update!(**args)
36963
+ end
36964
+
36965
+ # Update properties of this object
36966
+ def update!(**args)
36967
+ @code = args[:code] if args.key?(:code)
36968
+ @data = args[:data] if args.key?(:data)
36969
+ @message = args[:message] if args.key?(:message)
36970
+ end
36971
+
36972
+ #
36973
+ class Datum
36974
+ include Google::Apis::Core::Hashable
36975
+
36976
+ # [Output Only] A key that provides more detail on the warning being
36977
+ # returned. For example, for warnings where there are no results in a list
36978
+ # request for a particular zone, this key might be scope and
36979
+ # the key value might be the zone name. Other examples might be a key
36980
+ # indicating a deprecated resource and a suggested replacement, or a
36981
+ # warning about invalid network settings (for example, if an instance
36982
+ # attempts to perform IP forwarding but is not enabled for IP forwarding).
36983
+ # Corresponds to the JSON property `key`
36984
+ # @return [String]
36985
+ attr_accessor :key
36986
+
36987
+ # [Output Only] A warning data value corresponding to the key.
36988
+ # Corresponds to the JSON property `value`
36989
+ # @return [String]
36990
+ attr_accessor :value
36991
+
36992
+ def initialize(**args)
36993
+ update!(**args)
36994
+ end
36995
+
36996
+ # Update properties of this object
36997
+ def update!(**args)
36998
+ @key = args[:key] if args.key?(:key)
36999
+ @value = args[:value] if args.key?(:value)
37000
+ end
37001
+ end
37002
+ end
37003
+ end
37004
+
36189
37005
  #
36190
37006
  class LocalDisk
36191
37007
  include Google::Apis::Core::Hashable
@@ -37328,8 +38144,7 @@ module Google
37328
38144
  # @return [Google::Apis::ComputeBeta::ManagedInstanceShutdownDetails]
37329
38145
  attr_accessor :shutdown_details
37330
38146
 
37331
- # Output only. [Output Only] The eventual status of the instance. The instance
37332
- # group
38147
+ # Output only. The eventual status of the instance. The instance group
37333
38148
  # manager will not be identified as stable till each managed instance reaches
37334
38149
  # its targetStatus.
37335
38150
  # Corresponds to the JSON property `targetStatus`
@@ -45857,6 +46672,11 @@ module Google
45857
46672
  # @return [Google::Apis::ComputeBeta::Operation::Error]
45858
46673
  attr_accessor :error
45859
46674
 
46675
+ # Metadata for GetHealth operations.
46676
+ # Corresponds to the JSON property `getHealthOperationMetadata`
46677
+ # @return [Google::Apis::ComputeBeta::GetHealthOperationMetadata]
46678
+ attr_accessor :get_health_operation_metadata
46679
+
45860
46680
  #
45861
46681
  # Corresponds to the JSON property `getVersionOperationMetadata`
45862
46682
  # @return [Google::Apis::ComputeBeta::GetVersionOperationMetadata]
@@ -46009,6 +46829,7 @@ module Google
46009
46829
  @description = args[:description] if args.key?(:description)
46010
46830
  @end_time = args[:end_time] if args.key?(:end_time)
46011
46831
  @error = args[:error] if args.key?(:error)
46832
+ @get_health_operation_metadata = args[:get_health_operation_metadata] if args.key?(:get_health_operation_metadata)
46012
46833
  @get_version_operation_metadata = args[:get_version_operation_metadata] if args.key?(:get_version_operation_metadata)
46013
46834
  @http_error_message = args[:http_error_message] if args.key?(:http_error_message)
46014
46835
  @http_error_status_code = args[:http_error_status_code] if args.key?(:http_error_status_code)
@@ -49933,172 +50754,86 @@ module Google
49933
50754
  end
49934
50755
  end
49935
50756
 
49936
- # Represents a reference to a resource.
49937
- class Reference
49938
- include Google::Apis::Core::Hashable
49939
-
49940
- # Output only. [Output Only] Type of the resource. Always compute#reference
49941
- # for references.
49942
- # Corresponds to the JSON property `kind`
49943
- # @return [String]
49944
- attr_accessor :kind
49945
-
49946
- # A description of the reference type with no implied semantics. Possible
49947
- # values include:
49948
- #
49949
- #
49950
- # 1. MEMBER_OF
49951
- # Corresponds to the JSON property `referenceType`
49952
- # @return [String]
49953
- attr_accessor :reference_type
49954
-
49955
- # URL of the resource which refers to the target.
49956
- # Corresponds to the JSON property `referrer`
49957
- # @return [String]
49958
- attr_accessor :referrer
49959
-
49960
- # URL of the resource to which this reference points.
49961
- # Corresponds to the JSON property `target`
49962
- # @return [String]
49963
- attr_accessor :target
49964
-
49965
- def initialize(**args)
49966
- update!(**args)
49967
- end
49968
-
49969
- # Update properties of this object
49970
- def update!(**args)
49971
- @kind = args[:kind] if args.key?(:kind)
49972
- @reference_type = args[:reference_type] if args.key?(:reference_type)
49973
- @referrer = args[:referrer] if args.key?(:referrer)
49974
- @target = args[:target] if args.key?(:target)
49975
- end
49976
- end
49977
-
49978
- # The spec for modifying the path using a regular expression.
49979
- class RegexRewrite
49980
- include Google::Apis::Core::Hashable
49981
-
49982
- # Required. The regular expression used to match against the URL path.
49983
- # It uses RE2 syntax with the following constraints:
49984
- #
49985
- #
49986
- # - Any single character operators
49987
- # - Groups are allowed to have only submatch operator inside
49988
- # - Groups are allowed only without any char repetition, e.g.
49989
- # .*
49990
- # - Any char repetition, e.g. .*, is
49991
- # only allowed to be used in a single regex together with:
49992
- #
49993
- #
49994
- # - Empty string operators
49995
- # - Other repetitions
49996
- # - Ranges
49997
- # - Repetitions of ranges
49998
- #
49999
- #
50000
- # - Ranges are only allowed to have:
50001
- #
50002
- #
50003
- # - Character range
50004
- # - Digits range
50005
- # - Symbols listed in characters allowed for ranges
50006
- # Corresponds to the JSON property `pathPattern`
50007
- # @return [String]
50008
- attr_accessor :path_pattern
50009
-
50010
- # Required. Required when path pattern is specified. Used to rewrite matching
50011
- # parts of
50012
- # the path.
50013
- # Corresponds to the JSON property `pathSubstitution`
50014
- # @return [String]
50015
- attr_accessor :path_substitution
50016
-
50017
- def initialize(**args)
50018
- update!(**args)
50019
- end
50020
-
50021
- # Update properties of this object
50022
- def update!(**args)
50023
- @path_pattern = args[:path_pattern] if args.key?(:path_pattern)
50024
- @path_substitution = args[:path_substitution] if args.key?(:path_substitution)
50025
- end
50026
- end
50027
-
50028
- # Represents a Region resource.
50029
- # A region is a geographical area where a resource is located. For more
50030
- # information, readRegions
50031
- # and Zones.
50032
- class Region
50757
+ # Represents a RecoverableSnapshot resource.
50758
+ # A RecoverableSnapshot represents a snapshot in recycle bin.
50759
+ class RecoverableSnapshot
50033
50760
  include Google::Apis::Core::Hashable
50034
50761
 
50035
- # [Output Only] Creation timestamp inRFC3339
50762
+ # Output only. [Output Only] Creation timestamp inRFC3339
50036
50763
  # text format.
50037
50764
  # Corresponds to the JSON property `creationTimestamp`
50038
50765
  # @return [String]
50039
50766
  attr_accessor :creation_timestamp
50040
50767
 
50041
- # Deprecation status for a public resource.
50042
- # Corresponds to the JSON property `deprecated`
50043
- # @return [Google::Apis::ComputeBeta::DeprecationStatus]
50044
- attr_accessor :deprecated
50045
-
50046
- # [Output Only] Textual description of the resource.
50768
+ # Optional. An optional description of this resource.
50047
50769
  # Corresponds to the JSON property `description`
50048
50770
  # @return [String]
50049
50771
  attr_accessor :description
50050
50772
 
50051
- # [Output Only] The unique identifier for the resource. This identifier is
50773
+ # Output only. [Output Only] The unique identifier for the resource. This
50774
+ # identifier is
50052
50775
  # defined by the server.
50053
50776
  # Corresponds to the JSON property `id`
50054
50777
  # @return [Fixnum]
50055
50778
  attr_accessor :id
50056
50779
 
50057
- # Output only. [Output Only] Type of the resource. Always compute#region for
50058
- # regions.
50780
+ # Output only. [Output Only] Type of the resource. Alwayscompute#
50781
+ # recoverableSnapshot for RecoverableSnapshot
50782
+ # resources.
50059
50783
  # Corresponds to the JSON property `kind`
50060
50784
  # @return [String]
50061
50785
  attr_accessor :kind
50062
50786
 
50063
- # [Output Only] Name of the resource.
50787
+ # Output only. Identifier. Name of the recoverable snapshot generated on the
50788
+ # deletion of the snapshot.
50789
+ # The name will be 1-63 characters long, and comply withRFC1035.
50790
+ # Specifically, the name will be 1-63 characters long and match the regular
50791
+ # expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first
50792
+ # character will be a lowercase letter, and all following characters can be
50793
+ # a dash, lowercase letter, or digit, except the last character, which cannot
50794
+ # be a dash.
50064
50795
  # Corresponds to the JSON property `name`
50065
50796
  # @return [String]
50066
50797
  attr_accessor :name
50067
50798
 
50068
- # Output only. [Output Only] Warning of fetching the `quotas` field for this
50069
- # region. This
50070
- # field is populated only if fetching of the `quotas` field fails.
50071
- # Corresponds to the JSON property `quotaStatusWarning`
50072
- # @return [Google::Apis::ComputeBeta::Region::QuotaStatusWarning]
50073
- attr_accessor :quota_status_warning
50799
+ # Output only. Output Only] The original snapshot resource.
50800
+ # Corresponds to the JSON property `originalResource`
50801
+ # @return [Google::Apis::ComputeBeta::RecoverableSnapshotOriginalSnapshot]
50802
+ attr_accessor :original_resource
50074
50803
 
50075
- # [Output Only] Quotas assigned to this region.
50076
- # Corresponds to the JSON property `quotas`
50077
- # @return [Array<Google::Apis::ComputeBeta::Quota>]
50078
- attr_accessor :quotas
50804
+ # Output only. [Output Only] Purge timestamp of recoverable snapshot inRFC3339
50805
+ # text format.
50806
+ # Corresponds to the JSON property `purgeTimestamp`
50807
+ # @return [String]
50808
+ attr_accessor :purge_timestamp
50079
50809
 
50080
- # [Output Only] Server-defined URL for the resource.
50810
+ # Output only. [Output Only] Reserved for future use.
50811
+ # Corresponds to the JSON property `satisfiesPzi`
50812
+ # @return [Boolean]
50813
+ attr_accessor :satisfies_pzi
50814
+ alias_method :satisfies_pzi?, :satisfies_pzi
50815
+
50816
+ # Output only. [Output Only] Reserved for future use.
50817
+ # Corresponds to the JSON property `satisfiesPzs`
50818
+ # @return [Boolean]
50819
+ attr_accessor :satisfies_pzs
50820
+ alias_method :satisfies_pzs?, :satisfies_pzs
50821
+
50822
+ # Output only. [Output Only] Server-defined URL for the resource.
50081
50823
  # Corresponds to the JSON property `selfLink`
50082
50824
  # @return [String]
50083
50825
  attr_accessor :self_link
50084
50826
 
50085
- # [Output Only] Status of the region, either UP orDOWN.
50827
+ # Output only. [Output Only] Server-defined URL for this resource's resource id.
50828
+ # Corresponds to the JSON property `selfLinkWithId`
50829
+ # @return [String]
50830
+ attr_accessor :self_link_with_id
50831
+
50832
+ # Output only. [Output Only] Status of the recoverable snapshot.
50086
50833
  # Corresponds to the JSON property `status`
50087
50834
  # @return [String]
50088
50835
  attr_accessor :status
50089
50836
 
50090
- # Output only. [Output Only] Reserved for future use.
50091
- # Corresponds to the JSON property `supportsPzs`
50092
- # @return [Boolean]
50093
- attr_accessor :supports_pzs
50094
- alias_method :supports_pzs?, :supports_pzs
50095
-
50096
- # [Output Only] A list of zones available in this region, in the form of
50097
- # resource URLs.
50098
- # Corresponds to the JSON property `zones`
50099
- # @return [Array<String>]
50100
- attr_accessor :zones
50101
-
50102
50837
  def initialize(**args)
50103
50838
  update!(**args)
50104
50839
  end
@@ -50106,140 +50841,42 @@ module Google
50106
50841
  # Update properties of this object
50107
50842
  def update!(**args)
50108
50843
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
50109
- @deprecated = args[:deprecated] if args.key?(:deprecated)
50110
50844
  @description = args[:description] if args.key?(:description)
50111
50845
  @id = args[:id] if args.key?(:id)
50112
50846
  @kind = args[:kind] if args.key?(:kind)
50113
50847
  @name = args[:name] if args.key?(:name)
50114
- @quota_status_warning = args[:quota_status_warning] if args.key?(:quota_status_warning)
50115
- @quotas = args[:quotas] if args.key?(:quotas)
50848
+ @original_resource = args[:original_resource] if args.key?(:original_resource)
50849
+ @purge_timestamp = args[:purge_timestamp] if args.key?(:purge_timestamp)
50850
+ @satisfies_pzi = args[:satisfies_pzi] if args.key?(:satisfies_pzi)
50851
+ @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
50116
50852
  @self_link = args[:self_link] if args.key?(:self_link)
50853
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
50117
50854
  @status = args[:status] if args.key?(:status)
50118
- @supports_pzs = args[:supports_pzs] if args.key?(:supports_pzs)
50119
- @zones = args[:zones] if args.key?(:zones)
50120
- end
50121
-
50122
- # Output only. [Output Only] Warning of fetching the `quotas` field for this
50123
- # region. This
50124
- # field is populated only if fetching of the `quotas` field fails.
50125
- class QuotaStatusWarning
50126
- include Google::Apis::Core::Hashable
50127
-
50128
- # [Output Only] A warning code, if applicable. For example, Compute
50129
- # Engine returns NO_RESULTS_ON_PAGE if there
50130
- # are no results in the response.
50131
- # Corresponds to the JSON property `code`
50132
- # @return [String]
50133
- attr_accessor :code
50134
-
50135
- # [Output Only] Metadata about this warning in key:
50136
- # value format. For example:
50137
- # "data": [
50138
- # `
50139
- # "key": "scope",
50140
- # "value": "zones/us-east1-d"
50141
- # `]
50142
- # Corresponds to the JSON property `data`
50143
- # @return [Array<Google::Apis::ComputeBeta::Region::QuotaStatusWarning::Datum>]
50144
- attr_accessor :data
50145
-
50146
- # [Output Only] A human-readable description of the warning code.
50147
- # Corresponds to the JSON property `message`
50148
- # @return [String]
50149
- attr_accessor :message
50150
-
50151
- def initialize(**args)
50152
- update!(**args)
50153
- end
50154
-
50155
- # Update properties of this object
50156
- def update!(**args)
50157
- @code = args[:code] if args.key?(:code)
50158
- @data = args[:data] if args.key?(:data)
50159
- @message = args[:message] if args.key?(:message)
50160
- end
50161
-
50162
- #
50163
- class Datum
50164
- include Google::Apis::Core::Hashable
50165
-
50166
- # [Output Only] A key that provides more detail on the warning being
50167
- # returned. For example, for warnings where there are no results in a list
50168
- # request for a particular zone, this key might be scope and
50169
- # the key value might be the zone name. Other examples might be a key
50170
- # indicating a deprecated resource and a suggested replacement, or a
50171
- # warning about invalid network settings (for example, if an instance
50172
- # attempts to perform IP forwarding but is not enabled for IP forwarding).
50173
- # Corresponds to the JSON property `key`
50174
- # @return [String]
50175
- attr_accessor :key
50176
-
50177
- # [Output Only] A warning data value corresponding to the key.
50178
- # Corresponds to the JSON property `value`
50179
- # @return [String]
50180
- attr_accessor :value
50181
-
50182
- def initialize(**args)
50183
- update!(**args)
50184
- end
50185
-
50186
- # Update properties of this object
50187
- def update!(**args)
50188
- @key = args[:key] if args.key?(:key)
50189
- @value = args[:value] if args.key?(:value)
50190
- end
50191
- end
50192
50855
  end
50193
50856
  end
50194
50857
 
50195
50858
  #
50196
- class RegionAddressesMoveRequest
50859
+ class RecoverableSnapshotList
50197
50860
  include Google::Apis::Core::Hashable
50198
50861
 
50199
- # An optional destination address description if intended to be different
50200
- # from the source.
50201
- # Corresponds to the JSON property `description`
50202
- # @return [String]
50203
- attr_accessor :description
50204
-
50205
- # The URL of the destination address to move to. This can be a full or
50206
- # partial URL. For example, the following are all valid URLs to a address:
50207
50862
  #
50208
- # - https://www.googleapis.com/compute/v1/projects/project/regions/region/
50209
- # addresses/address
50210
- # - projects/project/regions/region/addresses/address
50211
- # Note that destination project must be different from the source project. So/
50212
- # regions/region/addresses/address is not valid partial url.
50213
- # Corresponds to the JSON property `destinationAddress`
50863
+ # Corresponds to the JSON property `etag`
50214
50864
  # @return [String]
50215
- attr_accessor :destination_address
50216
-
50217
- def initialize(**args)
50218
- update!(**args)
50219
- end
50220
-
50221
- # Update properties of this object
50222
- def update!(**args)
50223
- @description = args[:description] if args.key?(:description)
50224
- @destination_address = args[:destination_address] if args.key?(:destination_address)
50225
- end
50226
- end
50227
-
50228
- # Contains a list of autoscalers.
50229
- class RegionAutoscalerList
50230
- include Google::Apis::Core::Hashable
50865
+ attr_accessor :etag
50231
50866
 
50232
50867
  # [Output Only] Unique identifier for the resource; defined by the server.
50233
50868
  # Corresponds to the JSON property `id`
50234
50869
  # @return [String]
50235
50870
  attr_accessor :id
50236
50871
 
50237
- # A list of Autoscaler resources.
50872
+ # A list of RecoverableSnapshots resources.
50238
50873
  # Corresponds to the JSON property `items`
50239
- # @return [Array<Google::Apis::ComputeBeta::Autoscaler>]
50874
+ # @return [Array<Google::Apis::ComputeBeta::RecoverableSnapshot>]
50240
50875
  attr_accessor :items
50241
50876
 
50242
- # Output only. Type of resource.
50877
+ # Output only. [Output Only] Type of resource. Alwayscompute#
50878
+ # recoverableSnapshotList for lists of
50879
+ # recoverablesnapshots.
50243
50880
  # Corresponds to the JSON property `kind`
50244
50881
  # @return [String]
50245
50882
  attr_accessor :kind
@@ -50259,9 +50896,757 @@ module Google
50259
50896
  # @return [String]
50260
50897
  attr_accessor :self_link
50261
50898
 
50899
+ # Output only. [Output Only] Unreachable resources.
50900
+ # end_interface: MixerListResponseWithEtagBuilder
50901
+ # Corresponds to the JSON property `unreachables`
50902
+ # @return [Array<String>]
50903
+ attr_accessor :unreachables
50904
+
50262
50905
  # [Output Only] Informational warning message.
50263
50906
  # Corresponds to the JSON property `warning`
50264
- # @return [Google::Apis::ComputeBeta::RegionAutoscalerList::Warning]
50907
+ # @return [Google::Apis::ComputeBeta::RecoverableSnapshotList::Warning]
50908
+ attr_accessor :warning
50909
+
50910
+ def initialize(**args)
50911
+ update!(**args)
50912
+ end
50913
+
50914
+ # Update properties of this object
50915
+ def update!(**args)
50916
+ @etag = args[:etag] if args.key?(:etag)
50917
+ @id = args[:id] if args.key?(:id)
50918
+ @items = args[:items] if args.key?(:items)
50919
+ @kind = args[:kind] if args.key?(:kind)
50920
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
50921
+ @self_link = args[:self_link] if args.key?(:self_link)
50922
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
50923
+ @warning = args[:warning] if args.key?(:warning)
50924
+ end
50925
+
50926
+ # [Output Only] Informational warning message.
50927
+ class Warning
50928
+ include Google::Apis::Core::Hashable
50929
+
50930
+ # [Output Only] A warning code, if applicable. For example, Compute
50931
+ # Engine returns NO_RESULTS_ON_PAGE if there
50932
+ # are no results in the response.
50933
+ # Corresponds to the JSON property `code`
50934
+ # @return [String]
50935
+ attr_accessor :code
50936
+
50937
+ # [Output Only] Metadata about this warning in key:
50938
+ # value format. For example:
50939
+ # "data": [
50940
+ # `
50941
+ # "key": "scope",
50942
+ # "value": "zones/us-east1-d"
50943
+ # `]
50944
+ # Corresponds to the JSON property `data`
50945
+ # @return [Array<Google::Apis::ComputeBeta::RecoverableSnapshotList::Warning::Datum>]
50946
+ attr_accessor :data
50947
+
50948
+ # [Output Only] A human-readable description of the warning code.
50949
+ # Corresponds to the JSON property `message`
50950
+ # @return [String]
50951
+ attr_accessor :message
50952
+
50953
+ def initialize(**args)
50954
+ update!(**args)
50955
+ end
50956
+
50957
+ # Update properties of this object
50958
+ def update!(**args)
50959
+ @code = args[:code] if args.key?(:code)
50960
+ @data = args[:data] if args.key?(:data)
50961
+ @message = args[:message] if args.key?(:message)
50962
+ end
50963
+
50964
+ #
50965
+ class Datum
50966
+ include Google::Apis::Core::Hashable
50967
+
50968
+ # [Output Only] A key that provides more detail on the warning being
50969
+ # returned. For example, for warnings where there are no results in a list
50970
+ # request for a particular zone, this key might be scope and
50971
+ # the key value might be the zone name. Other examples might be a key
50972
+ # indicating a deprecated resource and a suggested replacement, or a
50973
+ # warning about invalid network settings (for example, if an instance
50974
+ # attempts to perform IP forwarding but is not enabled for IP forwarding).
50975
+ # Corresponds to the JSON property `key`
50976
+ # @return [String]
50977
+ attr_accessor :key
50978
+
50979
+ # [Output Only] A warning data value corresponding to the key.
50980
+ # Corresponds to the JSON property `value`
50981
+ # @return [String]
50982
+ attr_accessor :value
50983
+
50984
+ def initialize(**args)
50985
+ update!(**args)
50986
+ end
50987
+
50988
+ # Update properties of this object
50989
+ def update!(**args)
50990
+ @key = args[:key] if args.key?(:key)
50991
+ @value = args[:value] if args.key?(:value)
50992
+ end
50993
+ end
50994
+ end
50995
+ end
50996
+
50997
+ #
50998
+ class RecoverableSnapshotOriginalSnapshot
50999
+ include Google::Apis::Core::Hashable
51000
+
51001
+ # Output only. [Output Only] The architecture of the snapshot. Valid values are
51002
+ # ARM64 or X86_64.
51003
+ # Corresponds to the JSON property `architecture`
51004
+ # @return [String]
51005
+ attr_accessor :architecture
51006
+
51007
+ # Output only. [Output Only] Set to true if snapshots are automatically created
51008
+ # by
51009
+ # applying resource policy on the target disk.
51010
+ # Corresponds to the JSON property `autoCreated`
51011
+ # @return [Boolean]
51012
+ attr_accessor :auto_created
51013
+ alias_method :auto_created?, :auto_created
51014
+
51015
+ # Creates the new snapshot in the snapshot chain labeled with the
51016
+ # specified name. The chain name must be 1-63 characters long and comply
51017
+ # with RFC1035. This is an uncommon option only for advanced service
51018
+ # owners who needs to create separate snapshot chains, for example,
51019
+ # for chargeback tracking. When you describe your snapshot resource, this
51020
+ # field is visible only if it has a non-empty value.
51021
+ # Corresponds to the JSON property `chainName`
51022
+ # @return [String]
51023
+ attr_accessor :chain_name
51024
+
51025
+ # Output only. [Output Only] Size in bytes of the snapshot at creation time.
51026
+ # Corresponds to the JSON property `creationSizeBytes`
51027
+ # @return [Fixnum]
51028
+ attr_accessor :creation_size_bytes
51029
+
51030
+ # Output only. [Output Only] Creation timestamp inRFC3339 text format.
51031
+ # Corresponds to the JSON property `creationTimestamp`
51032
+ # @return [String]
51033
+ attr_accessor :creation_timestamp
51034
+
51035
+ # Output only. [Output Only] Deletion timestamp of snapshot inRFC3339 text
51036
+ # format.
51037
+ # Corresponds to the JSON property `deletionTimestamp`
51038
+ # @return [String]
51039
+ attr_accessor :deletion_timestamp
51040
+
51041
+ # An optional description of this resource.
51042
+ # Corresponds to the JSON property `description`
51043
+ # @return [String]
51044
+ attr_accessor :description
51045
+
51046
+ # Output only. [Output Only] Size of the source disk, specified in GB.
51047
+ # Corresponds to the JSON property `diskSizeGb`
51048
+ # @return [Fixnum]
51049
+ attr_accessor :disk_size_gb
51050
+
51051
+ # Output only. [Output Only] Number of bytes downloaded to restore a snapshot to
51052
+ # a disk.
51053
+ # Corresponds to the JSON property `downloadBytes`
51054
+ # @return [Fixnum]
51055
+ attr_accessor :download_bytes
51056
+
51057
+ # Output only. Whether this snapshot is created from a confidential compute mode
51058
+ # disk.
51059
+ # [Output Only]: This field is not set by user, but from source disk.
51060
+ # Corresponds to the JSON property `enableConfidentialCompute`
51061
+ # @return [Boolean]
51062
+ attr_accessor :enable_confidential_compute
51063
+ alias_method :enable_confidential_compute?, :enable_confidential_compute
51064
+
51065
+ # Output only. [Output Only] A list of features to enable on the guest operating
51066
+ # system.
51067
+ # Applicable only for bootable images. Read
51068
+ # Enabling guest operating system features to see a list of available
51069
+ # options.
51070
+ # Corresponds to the JSON property `guestOsFeatures`
51071
+ # @return [Array<Google::Apis::ComputeBeta::GuestOsFeature>]
51072
+ attr_accessor :guest_os_features
51073
+
51074
+ # Output only. [Output Only] The unique identifier for the original snapshot.
51075
+ # This
51076
+ # identifier is defined by the server.
51077
+ # Corresponds to the JSON property `id`
51078
+ # @return [Fixnum]
51079
+ attr_accessor :id
51080
+
51081
+ # A fingerprint for the labels being applied to this snapshot, which is
51082
+ # essentially a hash of the labels set used for optimistic locking. The
51083
+ # fingerprint is initially generated by Compute Engine and changes after
51084
+ # every request to modify or update labels. You must always provide an
51085
+ # up-to-date fingerprint hash in order to update or change labels,
51086
+ # otherwise the request will fail with error412 conditionNotMet.
51087
+ # To see the latest fingerprint, make a get() request to
51088
+ # retrieve a snapshot.
51089
+ # Corresponds to the JSON property `labelFingerprint`
51090
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
51091
+ # @return [String]
51092
+ attr_accessor :label_fingerprint
51093
+
51094
+ # Labels to apply to this snapshot. These can be later modified by
51095
+ # the setLabels method.
51096
+ # Label values may be empty.
51097
+ # Corresponds to the JSON property `labels`
51098
+ # @return [Hash<String,String>]
51099
+ attr_accessor :labels
51100
+
51101
+ # Output only. [Output Only] Integer license codes indicating which licenses are
51102
+ # attached to this snapshot.
51103
+ # Corresponds to the JSON property `licenseCodes`
51104
+ # @return [Array<Fixnum>]
51105
+ attr_accessor :license_codes
51106
+
51107
+ # Output only. [Output Only] A list of public visible licenses that apply to
51108
+ # this
51109
+ # snapshot.
51110
+ # Corresponds to the JSON property `licenses`
51111
+ # @return [Array<String>]
51112
+ attr_accessor :licenses
51113
+
51114
+ # Number of days the snapshot should be retained before being deleted
51115
+ # automatically.
51116
+ # Corresponds to the JSON property `maxRetentionDays`
51117
+ # @return [Fixnum]
51118
+ attr_accessor :max_retention_days
51119
+
51120
+ # Name of the original snapshot provided by the client. The name must be
51121
+ # 1-63 characters long, and comply with RFC1035.
51122
+ # Specifically, the name must be 1-63 characters long and match the regular
51123
+ # expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first
51124
+ # character must be a lowercase letter, and all following characters must
51125
+ # be a dash, lowercase letter, or digit, except the last character, which
51126
+ # cannot be a dash.
51127
+ # Corresponds to the JSON property `name`
51128
+ # @return [String]
51129
+ attr_accessor :name
51130
+
51131
+ # Output only. [Output Only] URL of the region where the snapshot resides. Only
51132
+ # applicable for regional snapshots.
51133
+ # Corresponds to the JSON property `region`
51134
+ # @return [String]
51135
+ attr_accessor :region
51136
+
51137
+ # Output only. Reserved for future use.
51138
+ # Corresponds to the JSON property `satisfiesPzi`
51139
+ # @return [Boolean]
51140
+ attr_accessor :satisfies_pzi
51141
+ alias_method :satisfies_pzi?, :satisfies_pzi
51142
+
51143
+ # Output only. [Output Only] Reserved for future use.
51144
+ # Corresponds to the JSON property `satisfiesPzs`
51145
+ # @return [Boolean]
51146
+ attr_accessor :satisfies_pzs
51147
+ alias_method :satisfies_pzs?, :satisfies_pzs
51148
+
51149
+ # Output only. [Output Only] Server-defined URL for the resource.
51150
+ # Corresponds to the JSON property `selfLink`
51151
+ # @return [String]
51152
+ attr_accessor :self_link
51153
+
51154
+ # Output only. [Output Only] Server-defined URL for this resource's resource id.
51155
+ # Corresponds to the JSON property `selfLinkWithId`
51156
+ # @return [String]
51157
+ attr_accessor :self_link_with_id
51158
+
51159
+ # Encrypts the snapshot using acustomer-supplied
51160
+ # encryption key.
51161
+ # After you encrypt a snapshot using a customer-supplied key, you must
51162
+ # provide the same key if you use the snapshot later. For example, you must
51163
+ # provide the encryption key when you create a disk from the encrypted
51164
+ # snapshot in a future request.
51165
+ # Customer-supplied encryption keys do not protect access to metadata
51166
+ # of the snapshot.
51167
+ # If you do not provide an encryption key when creating the snapshot, then
51168
+ # the snapshot will be encrypted using an automatically generated key and
51169
+ # you do not need to provide a key to use the snapshot later.
51170
+ # Corresponds to the JSON property `snapshotEncryptionKey`
51171
+ # @return [Google::Apis::ComputeBeta::CustomerEncryptionKey]
51172
+ attr_accessor :snapshot_encryption_key
51173
+
51174
+ # Output only. [Output Only] The unique ID of the snapshot group that this
51175
+ # snapshot
51176
+ # belongs to. The usage of snapshot group feature is restricted.
51177
+ # Corresponds to the JSON property `snapshotGroupId`
51178
+ # @return [String]
51179
+ attr_accessor :snapshot_group_id
51180
+
51181
+ # Output only. [Output only] The snapshot group that this snapshot belongs to.
51182
+ # The usage
51183
+ # of snapshot group feature is restricted.
51184
+ # Corresponds to the JSON property `snapshotGroupName`
51185
+ # @return [String]
51186
+ attr_accessor :snapshot_group_name
51187
+
51188
+ # Indicates the type of the snapshot.
51189
+ # Corresponds to the JSON property `snapshotType`
51190
+ # @return [String]
51191
+ attr_accessor :snapshot_type
51192
+
51193
+ # The source disk used to create this snapshot.
51194
+ # Corresponds to the JSON property `sourceDisk`
51195
+ # @return [String]
51196
+ attr_accessor :source_disk
51197
+
51198
+ # The customer-supplied
51199
+ # encryption key of the source disk. Required if the source disk is
51200
+ # protected by a customer-supplied encryption key.
51201
+ # Corresponds to the JSON property `sourceDiskEncryptionKey`
51202
+ # @return [Google::Apis::ComputeBeta::CustomerEncryptionKey]
51203
+ attr_accessor :source_disk_encryption_key
51204
+
51205
+ # The source disk whose recovery checkpoint will be used to create this
51206
+ # snapshot.
51207
+ # Corresponds to the JSON property `sourceDiskForRecoveryCheckpoint`
51208
+ # @return [String]
51209
+ attr_accessor :source_disk_for_recovery_checkpoint
51210
+
51211
+ # Output only. [Output Only] The ID value of the disk used to create this
51212
+ # snapshot
51213
+ # Corresponds to the JSON property `sourceDiskId`
51214
+ # @return [String]
51215
+ attr_accessor :source_disk_id
51216
+
51217
+ # The source instant snapshot used to create this snapshot.
51218
+ # Corresponds to the JSON property `sourceInstantSnapshot`
51219
+ # @return [String]
51220
+ attr_accessor :source_instant_snapshot
51221
+
51222
+ # Customer provided encryption key when creating Snapshot from Instant
51223
+ # Snapshot.
51224
+ # Corresponds to the JSON property `sourceInstantSnapshotEncryptionKey`
51225
+ # @return [Google::Apis::ComputeBeta::CustomerEncryptionKey]
51226
+ attr_accessor :source_instant_snapshot_encryption_key
51227
+
51228
+ # Output only. [Output Only] The unique ID of the instant snapshot used to
51229
+ # create this
51230
+ # snapshot. This value identifies the exact instant snapshot that was used
51231
+ # to create this persistent disk. For example, if you created the
51232
+ # persistent disk from an instant snapshot that was later deleted and
51233
+ # recreated under the same name, the source instant snapshot ID would
51234
+ # identify the exact instant snapshot that was used.
51235
+ # Corresponds to the JSON property `sourceInstantSnapshotId`
51236
+ # @return [String]
51237
+ attr_accessor :source_instant_snapshot_id
51238
+
51239
+ # Output only. [Output Only] URL of the resource policy which created this
51240
+ # scheduled snapshot.
51241
+ # Corresponds to the JSON property `sourceSnapshotSchedulePolicy`
51242
+ # @return [String]
51243
+ attr_accessor :source_snapshot_schedule_policy
51244
+
51245
+ # Output only. [Output Only] ID of the resource policy which created this
51246
+ # scheduled snapshot.
51247
+ # Corresponds to the JSON property `sourceSnapshotSchedulePolicyId`
51248
+ # @return [String]
51249
+ attr_accessor :source_snapshot_schedule_policy_id
51250
+
51251
+ # Output only. [Output Only] A size of the storage used by the snapshot.
51252
+ # Corresponds to the JSON property `storageBytes`
51253
+ # @return [Fixnum]
51254
+ attr_accessor :storage_bytes
51255
+
51256
+ # Output only. [Deprecated] Instead, check the storageBytes field. After
51257
+ # snapshot creation, the storageBytesStatus field is alwaysUP_TO_DATE.
51258
+ # [Output Only] An indicator whether storageBytes is in a
51259
+ # stable state or it is being adjusted as a result of shared storage
51260
+ # reallocation. This status can either be unset, meaning the snapshot is
51261
+ # being created, or UP_TO_DATE, meaning the size of the
51262
+ # snapshot is up-to-date.
51263
+ # Corresponds to the JSON property `storageBytesStatus`
51264
+ # @return [String]
51265
+ attr_accessor :storage_bytes_status
51266
+
51267
+ # Cloud Storage bucket storage location of the snapshot (regional or
51268
+ # multi-regional).
51269
+ # Corresponds to the JSON property `storageLocations`
51270
+ # @return [Array<String>]
51271
+ attr_accessor :storage_locations
51272
+
51273
+ def initialize(**args)
51274
+ update!(**args)
51275
+ end
51276
+
51277
+ # Update properties of this object
51278
+ def update!(**args)
51279
+ @architecture = args[:architecture] if args.key?(:architecture)
51280
+ @auto_created = args[:auto_created] if args.key?(:auto_created)
51281
+ @chain_name = args[:chain_name] if args.key?(:chain_name)
51282
+ @creation_size_bytes = args[:creation_size_bytes] if args.key?(:creation_size_bytes)
51283
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
51284
+ @deletion_timestamp = args[:deletion_timestamp] if args.key?(:deletion_timestamp)
51285
+ @description = args[:description] if args.key?(:description)
51286
+ @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
51287
+ @download_bytes = args[:download_bytes] if args.key?(:download_bytes)
51288
+ @enable_confidential_compute = args[:enable_confidential_compute] if args.key?(:enable_confidential_compute)
51289
+ @guest_os_features = args[:guest_os_features] if args.key?(:guest_os_features)
51290
+ @id = args[:id] if args.key?(:id)
51291
+ @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
51292
+ @labels = args[:labels] if args.key?(:labels)
51293
+ @license_codes = args[:license_codes] if args.key?(:license_codes)
51294
+ @licenses = args[:licenses] if args.key?(:licenses)
51295
+ @max_retention_days = args[:max_retention_days] if args.key?(:max_retention_days)
51296
+ @name = args[:name] if args.key?(:name)
51297
+ @region = args[:region] if args.key?(:region)
51298
+ @satisfies_pzi = args[:satisfies_pzi] if args.key?(:satisfies_pzi)
51299
+ @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
51300
+ @self_link = args[:self_link] if args.key?(:self_link)
51301
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
51302
+ @snapshot_encryption_key = args[:snapshot_encryption_key] if args.key?(:snapshot_encryption_key)
51303
+ @snapshot_group_id = args[:snapshot_group_id] if args.key?(:snapshot_group_id)
51304
+ @snapshot_group_name = args[:snapshot_group_name] if args.key?(:snapshot_group_name)
51305
+ @snapshot_type = args[:snapshot_type] if args.key?(:snapshot_type)
51306
+ @source_disk = args[:source_disk] if args.key?(:source_disk)
51307
+ @source_disk_encryption_key = args[:source_disk_encryption_key] if args.key?(:source_disk_encryption_key)
51308
+ @source_disk_for_recovery_checkpoint = args[:source_disk_for_recovery_checkpoint] if args.key?(:source_disk_for_recovery_checkpoint)
51309
+ @source_disk_id = args[:source_disk_id] if args.key?(:source_disk_id)
51310
+ @source_instant_snapshot = args[:source_instant_snapshot] if args.key?(:source_instant_snapshot)
51311
+ @source_instant_snapshot_encryption_key = args[:source_instant_snapshot_encryption_key] if args.key?(:source_instant_snapshot_encryption_key)
51312
+ @source_instant_snapshot_id = args[:source_instant_snapshot_id] if args.key?(:source_instant_snapshot_id)
51313
+ @source_snapshot_schedule_policy = args[:source_snapshot_schedule_policy] if args.key?(:source_snapshot_schedule_policy)
51314
+ @source_snapshot_schedule_policy_id = args[:source_snapshot_schedule_policy_id] if args.key?(:source_snapshot_schedule_policy_id)
51315
+ @storage_bytes = args[:storage_bytes] if args.key?(:storage_bytes)
51316
+ @storage_bytes_status = args[:storage_bytes_status] if args.key?(:storage_bytes_status)
51317
+ @storage_locations = args[:storage_locations] if args.key?(:storage_locations)
51318
+ end
51319
+ end
51320
+
51321
+ # Represents a reference to a resource.
51322
+ class Reference
51323
+ include Google::Apis::Core::Hashable
51324
+
51325
+ # Output only. [Output Only] Type of the resource. Always compute#reference
51326
+ # for references.
51327
+ # Corresponds to the JSON property `kind`
51328
+ # @return [String]
51329
+ attr_accessor :kind
51330
+
51331
+ # A description of the reference type with no implied semantics. Possible
51332
+ # values include:
51333
+ #
51334
+ #
51335
+ # 1. MEMBER_OF
51336
+ # Corresponds to the JSON property `referenceType`
51337
+ # @return [String]
51338
+ attr_accessor :reference_type
51339
+
51340
+ # URL of the resource which refers to the target.
51341
+ # Corresponds to the JSON property `referrer`
51342
+ # @return [String]
51343
+ attr_accessor :referrer
51344
+
51345
+ # URL of the resource to which this reference points.
51346
+ # Corresponds to the JSON property `target`
51347
+ # @return [String]
51348
+ attr_accessor :target
51349
+
51350
+ def initialize(**args)
51351
+ update!(**args)
51352
+ end
51353
+
51354
+ # Update properties of this object
51355
+ def update!(**args)
51356
+ @kind = args[:kind] if args.key?(:kind)
51357
+ @reference_type = args[:reference_type] if args.key?(:reference_type)
51358
+ @referrer = args[:referrer] if args.key?(:referrer)
51359
+ @target = args[:target] if args.key?(:target)
51360
+ end
51361
+ end
51362
+
51363
+ # The spec for modifying the path using a regular expression.
51364
+ class RegexRewrite
51365
+ include Google::Apis::Core::Hashable
51366
+
51367
+ # Required. The regular expression used to match against the URL path.
51368
+ # It uses RE2 syntax with the following constraints:
51369
+ #
51370
+ #
51371
+ # - Any single character operators
51372
+ # - Groups are allowed to have only submatch operator inside
51373
+ # - Groups are allowed only without any char repetition, e.g.
51374
+ # .*
51375
+ # - Any char repetition, e.g. .*, is
51376
+ # only allowed to be used in a single regex together with:
51377
+ #
51378
+ #
51379
+ # - Empty string operators
51380
+ # - Other repetitions
51381
+ # - Ranges
51382
+ # - Repetitions of ranges
51383
+ #
51384
+ #
51385
+ # - Ranges are only allowed to have:
51386
+ #
51387
+ #
51388
+ # - Character range
51389
+ # - Digits range
51390
+ # - Symbols listed in characters allowed for ranges
51391
+ # Corresponds to the JSON property `pathPattern`
51392
+ # @return [String]
51393
+ attr_accessor :path_pattern
51394
+
51395
+ # Required. Required when path pattern is specified. Used to rewrite matching
51396
+ # parts of
51397
+ # the path.
51398
+ # Corresponds to the JSON property `pathSubstitution`
51399
+ # @return [String]
51400
+ attr_accessor :path_substitution
51401
+
51402
+ def initialize(**args)
51403
+ update!(**args)
51404
+ end
51405
+
51406
+ # Update properties of this object
51407
+ def update!(**args)
51408
+ @path_pattern = args[:path_pattern] if args.key?(:path_pattern)
51409
+ @path_substitution = args[:path_substitution] if args.key?(:path_substitution)
51410
+ end
51411
+ end
51412
+
51413
+ # Represents a Region resource.
51414
+ # A region is a geographical area where a resource is located. For more
51415
+ # information, readRegions
51416
+ # and Zones.
51417
+ class Region
51418
+ include Google::Apis::Core::Hashable
51419
+
51420
+ # [Output Only] Creation timestamp inRFC3339
51421
+ # text format.
51422
+ # Corresponds to the JSON property `creationTimestamp`
51423
+ # @return [String]
51424
+ attr_accessor :creation_timestamp
51425
+
51426
+ # Deprecation status for a public resource.
51427
+ # Corresponds to the JSON property `deprecated`
51428
+ # @return [Google::Apis::ComputeBeta::DeprecationStatus]
51429
+ attr_accessor :deprecated
51430
+
51431
+ # [Output Only] Textual description of the resource.
51432
+ # Corresponds to the JSON property `description`
51433
+ # @return [String]
51434
+ attr_accessor :description
51435
+
51436
+ # [Output Only] The unique identifier for the resource. This identifier is
51437
+ # defined by the server.
51438
+ # Corresponds to the JSON property `id`
51439
+ # @return [Fixnum]
51440
+ attr_accessor :id
51441
+
51442
+ # Output only. [Output Only] Type of the resource. Always compute#region for
51443
+ # regions.
51444
+ # Corresponds to the JSON property `kind`
51445
+ # @return [String]
51446
+ attr_accessor :kind
51447
+
51448
+ # [Output Only] Name of the resource.
51449
+ # Corresponds to the JSON property `name`
51450
+ # @return [String]
51451
+ attr_accessor :name
51452
+
51453
+ # Output only. [Output Only] Warning of fetching the `quotas` field for this
51454
+ # region. This
51455
+ # field is populated only if fetching of the `quotas` field fails.
51456
+ # Corresponds to the JSON property `quotaStatusWarning`
51457
+ # @return [Google::Apis::ComputeBeta::Region::QuotaStatusWarning]
51458
+ attr_accessor :quota_status_warning
51459
+
51460
+ # [Output Only] Quotas assigned to this region.
51461
+ # Corresponds to the JSON property `quotas`
51462
+ # @return [Array<Google::Apis::ComputeBeta::Quota>]
51463
+ attr_accessor :quotas
51464
+
51465
+ # [Output Only] Server-defined URL for the resource.
51466
+ # Corresponds to the JSON property `selfLink`
51467
+ # @return [String]
51468
+ attr_accessor :self_link
51469
+
51470
+ # [Output Only] Status of the region, either UP orDOWN.
51471
+ # Corresponds to the JSON property `status`
51472
+ # @return [String]
51473
+ attr_accessor :status
51474
+
51475
+ # Output only. [Output Only] Reserved for future use.
51476
+ # Corresponds to the JSON property `supportsPzs`
51477
+ # @return [Boolean]
51478
+ attr_accessor :supports_pzs
51479
+ alias_method :supports_pzs?, :supports_pzs
51480
+
51481
+ # [Output Only] A list of zones available in this region, in the form of
51482
+ # resource URLs.
51483
+ # Corresponds to the JSON property `zones`
51484
+ # @return [Array<String>]
51485
+ attr_accessor :zones
51486
+
51487
+ def initialize(**args)
51488
+ update!(**args)
51489
+ end
51490
+
51491
+ # Update properties of this object
51492
+ def update!(**args)
51493
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
51494
+ @deprecated = args[:deprecated] if args.key?(:deprecated)
51495
+ @description = args[:description] if args.key?(:description)
51496
+ @id = args[:id] if args.key?(:id)
51497
+ @kind = args[:kind] if args.key?(:kind)
51498
+ @name = args[:name] if args.key?(:name)
51499
+ @quota_status_warning = args[:quota_status_warning] if args.key?(:quota_status_warning)
51500
+ @quotas = args[:quotas] if args.key?(:quotas)
51501
+ @self_link = args[:self_link] if args.key?(:self_link)
51502
+ @status = args[:status] if args.key?(:status)
51503
+ @supports_pzs = args[:supports_pzs] if args.key?(:supports_pzs)
51504
+ @zones = args[:zones] if args.key?(:zones)
51505
+ end
51506
+
51507
+ # Output only. [Output Only] Warning of fetching the `quotas` field for this
51508
+ # region. This
51509
+ # field is populated only if fetching of the `quotas` field fails.
51510
+ class QuotaStatusWarning
51511
+ include Google::Apis::Core::Hashable
51512
+
51513
+ # [Output Only] A warning code, if applicable. For example, Compute
51514
+ # Engine returns NO_RESULTS_ON_PAGE if there
51515
+ # are no results in the response.
51516
+ # Corresponds to the JSON property `code`
51517
+ # @return [String]
51518
+ attr_accessor :code
51519
+
51520
+ # [Output Only] Metadata about this warning in key:
51521
+ # value format. For example:
51522
+ # "data": [
51523
+ # `
51524
+ # "key": "scope",
51525
+ # "value": "zones/us-east1-d"
51526
+ # `]
51527
+ # Corresponds to the JSON property `data`
51528
+ # @return [Array<Google::Apis::ComputeBeta::Region::QuotaStatusWarning::Datum>]
51529
+ attr_accessor :data
51530
+
51531
+ # [Output Only] A human-readable description of the warning code.
51532
+ # Corresponds to the JSON property `message`
51533
+ # @return [String]
51534
+ attr_accessor :message
51535
+
51536
+ def initialize(**args)
51537
+ update!(**args)
51538
+ end
51539
+
51540
+ # Update properties of this object
51541
+ def update!(**args)
51542
+ @code = args[:code] if args.key?(:code)
51543
+ @data = args[:data] if args.key?(:data)
51544
+ @message = args[:message] if args.key?(:message)
51545
+ end
51546
+
51547
+ #
51548
+ class Datum
51549
+ include Google::Apis::Core::Hashable
51550
+
51551
+ # [Output Only] A key that provides more detail on the warning being
51552
+ # returned. For example, for warnings where there are no results in a list
51553
+ # request for a particular zone, this key might be scope and
51554
+ # the key value might be the zone name. Other examples might be a key
51555
+ # indicating a deprecated resource and a suggested replacement, or a
51556
+ # warning about invalid network settings (for example, if an instance
51557
+ # attempts to perform IP forwarding but is not enabled for IP forwarding).
51558
+ # Corresponds to the JSON property `key`
51559
+ # @return [String]
51560
+ attr_accessor :key
51561
+
51562
+ # [Output Only] A warning data value corresponding to the key.
51563
+ # Corresponds to the JSON property `value`
51564
+ # @return [String]
51565
+ attr_accessor :value
51566
+
51567
+ def initialize(**args)
51568
+ update!(**args)
51569
+ end
51570
+
51571
+ # Update properties of this object
51572
+ def update!(**args)
51573
+ @key = args[:key] if args.key?(:key)
51574
+ @value = args[:value] if args.key?(:value)
51575
+ end
51576
+ end
51577
+ end
51578
+ end
51579
+
51580
+ #
51581
+ class RegionAddressesMoveRequest
51582
+ include Google::Apis::Core::Hashable
51583
+
51584
+ # An optional destination address description if intended to be different
51585
+ # from the source.
51586
+ # Corresponds to the JSON property `description`
51587
+ # @return [String]
51588
+ attr_accessor :description
51589
+
51590
+ # The URL of the destination address to move to. This can be a full or
51591
+ # partial URL. For example, the following are all valid URLs to a address:
51592
+ #
51593
+ # - https://www.googleapis.com/compute/v1/projects/project/regions/region/
51594
+ # addresses/address
51595
+ # - projects/project/regions/region/addresses/address
51596
+ # Note that destination project must be different from the source project. So/
51597
+ # regions/region/addresses/address is not valid partial url.
51598
+ # Corresponds to the JSON property `destinationAddress`
51599
+ # @return [String]
51600
+ attr_accessor :destination_address
51601
+
51602
+ def initialize(**args)
51603
+ update!(**args)
51604
+ end
51605
+
51606
+ # Update properties of this object
51607
+ def update!(**args)
51608
+ @description = args[:description] if args.key?(:description)
51609
+ @destination_address = args[:destination_address] if args.key?(:destination_address)
51610
+ end
51611
+ end
51612
+
51613
+ # Contains a list of autoscalers.
51614
+ class RegionAutoscalerList
51615
+ include Google::Apis::Core::Hashable
51616
+
51617
+ # [Output Only] Unique identifier for the resource; defined by the server.
51618
+ # Corresponds to the JSON property `id`
51619
+ # @return [String]
51620
+ attr_accessor :id
51621
+
51622
+ # A list of Autoscaler resources.
51623
+ # Corresponds to the JSON property `items`
51624
+ # @return [Array<Google::Apis::ComputeBeta::Autoscaler>]
51625
+ attr_accessor :items
51626
+
51627
+ # Output only. Type of resource.
51628
+ # Corresponds to the JSON property `kind`
51629
+ # @return [String]
51630
+ attr_accessor :kind
51631
+
51632
+ # [Output Only] This token allows you to get the next page of results for
51633
+ # list requests. If the number of results is larger thanmaxResults, use the
51634
+ # nextPageToken as a value for
51635
+ # the query parameter pageToken in the next list request.
51636
+ # Subsequent list requests will have their own nextPageToken to
51637
+ # continue paging through the results.
51638
+ # Corresponds to the JSON property `nextPageToken`
51639
+ # @return [String]
51640
+ attr_accessor :next_page_token
51641
+
51642
+ # Output only. [Output Only] Server-defined URL for this resource.
51643
+ # Corresponds to the JSON property `selfLink`
51644
+ # @return [String]
51645
+ attr_accessor :self_link
51646
+
51647
+ # [Output Only] Informational warning message.
51648
+ # Corresponds to the JSON property `warning`
51649
+ # @return [Google::Apis::ComputeBeta::RegionAutoscalerList::Warning]
50265
51650
  attr_accessor :warning
50266
51651
 
50267
51652
  def initialize(**args)
@@ -55594,6 +56979,13 @@ module Google
55594
56979
  # @return [String]
55595
56980
  attr_accessor :host
55596
56981
 
56982
+ # Output only. [Output Only] The ID of the machine on which the running instance
56983
+ # is
56984
+ # located. It is only populated for machines which have multiple hosts.
56985
+ # Corresponds to the JSON property `machine`
56986
+ # @return [String]
56987
+ attr_accessor :machine
56988
+
55597
56989
  # [Output Only] The ID of the sub-block in which the running instance is
55598
56990
  # located. Instances in the same sub-block experience lower network latency
55599
56991
  # than instances in the same block.
@@ -55611,6 +57003,7 @@ module Google
55611
57003
  @block = args[:block] if args.key?(:block)
55612
57004
  @cluster = args[:cluster] if args.key?(:cluster)
55613
57005
  @host = args[:host] if args.key?(:host)
57006
+ @machine = args[:machine] if args.key?(:machine)
55614
57007
  @subblock = args[:subblock] if args.key?(:subblock)
55615
57008
  end
55616
57009
  end
@@ -60061,6 +61454,13 @@ module Google
60061
61454
  # @return [Fixnum]
60062
61455
  attr_accessor :availability_domain
60063
61456
 
61457
+ # This optional flag exposes the hashed physical host ID in the
61458
+ # ResourceStatus resource of the VM.
61459
+ # Corresponds to the JSON property `exposeHostTopology`
61460
+ # @return [Boolean]
61461
+ attr_accessor :expose_host_topology
61462
+ alias_method :expose_host_topology?, :expose_host_topology
61463
+
60064
61464
  # The configuration for gracefully shutting down the instance.
60065
61465
  # Corresponds to the JSON property `gracefulShutdown`
60066
61466
  # @return [Google::Apis::ComputeBeta::SchedulingGracefulShutdown]
@@ -60187,6 +61587,7 @@ module Google
60187
61587
  def update!(**args)
60188
61588
  @automatic_restart = args[:automatic_restart] if args.key?(:automatic_restart)
60189
61589
  @availability_domain = args[:availability_domain] if args.key?(:availability_domain)
61590
+ @expose_host_topology = args[:expose_host_topology] if args.key?(:expose_host_topology)
60190
61591
  @graceful_shutdown = args[:graceful_shutdown] if args.key?(:graceful_shutdown)
60191
61592
  @host_error_timeout_seconds = args[:host_error_timeout_seconds] if args.key?(:host_error_timeout_seconds)
60192
61593
  @instance_termination_action = args[:instance_termination_action] if args.key?(:instance_termination_action)
@@ -64071,157 +65472,333 @@ module Google
64071
65472
  end
64072
65473
  end
64073
65474
 
64074
- # Represents a SnapshotGroup resource.
64075
- # A snapshot group is a set of snapshots that represents a point in time state
64076
- # of a consistency group.
64077
- class SnapshotGroup
64078
- include Google::Apis::Core::Hashable
64079
-
64080
- # Output only. [Output Only] Creation timestamp inRFC3339
64081
- # text format.
64082
- # Corresponds to the JSON property `creationTimestamp`
64083
- # @return [String]
64084
- attr_accessor :creation_timestamp
64085
-
64086
- # Optional. An optional description of this resource. Provide this property when
64087
- # you
64088
- # create the resource.
64089
- # Corresponds to the JSON property `description`
64090
- # @return [String]
64091
- attr_accessor :description
64092
-
64093
- # Output only. [Output Only] The unique identifier for the resource. This
64094
- # identifier is
64095
- # defined by the server.
64096
- # Corresponds to the JSON property `id`
64097
- # @return [Fixnum]
64098
- attr_accessor :id
64099
-
64100
- # Output only. [Output Only] Type of the resource. Alwayscompute#snapshotGroup
64101
- # for SnapshotGroup
64102
- # resources.
64103
- # Corresponds to the JSON property `kind`
64104
- # @return [String]
64105
- attr_accessor :kind
64106
-
64107
- # Identifier. Name of the resource; provided by the client when the resource is
64108
- # created.
64109
- # The name must be 1-63 characters long, and comply withRFC1035.
64110
- # Specifically, the name must be 1-63 characters long and match the regular
64111
- # expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first
64112
- # character must be a lowercase letter, and all following characters must be
64113
- # a dash, lowercase letter, or digit, except the last character, which cannot
64114
- # be a dash.
64115
- # Corresponds to the JSON property `name`
64116
- # @return [String]
64117
- attr_accessor :name
64118
-
64119
- # Output only. [Output Only] Server-defined URL for the resource.
64120
- # Corresponds to the JSON property `selfLink`
64121
- # @return [String]
64122
- attr_accessor :self_link
64123
-
64124
- # Output only. [Output Only] Server-defined URL for this resource's resource id.
64125
- # Corresponds to the JSON property `selfLinkWithId`
64126
- # @return [String]
64127
- attr_accessor :self_link_with_id
64128
-
64129
- # Output only. [Output Only]
64130
- # Corresponds to the JSON property `sourceInfo`
64131
- # @return [Google::Apis::ComputeBeta::SnapshotGroupSourceInfo]
64132
- attr_accessor :source_info
64133
-
64134
- # Input field for the source instant snapshot group.
64135
- # Corresponds to the JSON property `sourceInstantSnapshotGroup`
64136
- # @return [String]
64137
- attr_accessor :source_instant_snapshot_group
64138
-
64139
- # Output only. [Output Only]
64140
- # Corresponds to the JSON property `sourceInstantSnapshotGroupInfo`
64141
- # @return [Google::Apis::ComputeBeta::SnapshotGroupSourceInstantSnapshotGroupInfo]
64142
- attr_accessor :source_instant_snapshot_group_info
64143
-
64144
- # Output only. [Output Only]
64145
- # Corresponds to the JSON property `status`
64146
- # @return [String]
64147
- attr_accessor :status
64148
-
64149
- def initialize(**args)
64150
- update!(**args)
64151
- end
64152
-
64153
- # Update properties of this object
64154
- def update!(**args)
64155
- @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
64156
- @description = args[:description] if args.key?(:description)
64157
- @id = args[:id] if args.key?(:id)
64158
- @kind = args[:kind] if args.key?(:kind)
64159
- @name = args[:name] if args.key?(:name)
64160
- @self_link = args[:self_link] if args.key?(:self_link)
64161
- @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
64162
- @source_info = args[:source_info] if args.key?(:source_info)
64163
- @source_instant_snapshot_group = args[:source_instant_snapshot_group] if args.key?(:source_instant_snapshot_group)
64164
- @source_instant_snapshot_group_info = args[:source_instant_snapshot_group_info] if args.key?(:source_instant_snapshot_group_info)
64165
- @status = args[:status] if args.key?(:status)
64166
- end
64167
- end
64168
-
64169
- #
64170
- class SnapshotGroupParameters
64171
- include Google::Apis::Core::Hashable
64172
-
64173
- # URLs of the zones where disks should be replicated to. Only applicable
64174
- # for regional resources.
64175
- # Corresponds to the JSON property `replicaZones`
64176
- # @return [Array<String>]
64177
- attr_accessor :replica_zones
64178
-
64179
- # The source snapshot group used to create disks. You can provide this as a
64180
- # partial or full URL to the resource. For example, the following are valid
64181
- # values:
64182
- #
64183
- #
64184
- # - https://www.googleapis.com/compute/v1/projects/project/global/
64185
- # snapshotGroups/snapshotGroup
64186
- # - projects/project/global/snapshotGroups/snapshotGroup
64187
- # - global/snapshotGroups/snapshotGroup
64188
- # Corresponds to the JSON property `sourceSnapshotGroup`
64189
- # @return [String]
64190
- attr_accessor :source_snapshot_group
64191
-
64192
- # URL of the disk type resource describing which disk type to use to create
64193
- # disks. Provide this when creating the disk. For example:projects/project/zones/
64194
- # zone/diskTypes/pd-ssd. See Persistent disk
64195
- # types.
64196
- # Corresponds to the JSON property `type`
64197
- # @return [String]
64198
- attr_accessor :type
64199
-
64200
- def initialize(**args)
64201
- update!(**args)
64202
- end
64203
-
64204
- # Update properties of this object
64205
- def update!(**args)
64206
- @replica_zones = args[:replica_zones] if args.key?(:replica_zones)
64207
- @source_snapshot_group = args[:source_snapshot_group] if args.key?(:source_snapshot_group)
64208
- @type = args[:type] if args.key?(:type)
64209
- end
64210
- end
64211
-
64212
- #
64213
- class SnapshotGroupSourceInfo
65475
+ # Represents a SnapshotGroup resource.
65476
+ # A snapshot group is a set of snapshots that represents a point in time state
65477
+ # of a consistency group.
65478
+ class SnapshotGroup
65479
+ include Google::Apis::Core::Hashable
65480
+
65481
+ # Output only. [Output Only] Creation timestamp inRFC3339
65482
+ # text format.
65483
+ # Corresponds to the JSON property `creationTimestamp`
65484
+ # @return [String]
65485
+ attr_accessor :creation_timestamp
65486
+
65487
+ # Optional. An optional description of this resource. Provide this property when
65488
+ # you
65489
+ # create the resource.
65490
+ # Corresponds to the JSON property `description`
65491
+ # @return [String]
65492
+ attr_accessor :description
65493
+
65494
+ # Output only. [Output Only] The unique identifier for the resource. This
65495
+ # identifier is
65496
+ # defined by the server.
65497
+ # Corresponds to the JSON property `id`
65498
+ # @return [Fixnum]
65499
+ attr_accessor :id
65500
+
65501
+ # Output only. [Output Only] Type of the resource. Alwayscompute#snapshotGroup
65502
+ # for SnapshotGroup
65503
+ # resources.
65504
+ # Corresponds to the JSON property `kind`
65505
+ # @return [String]
65506
+ attr_accessor :kind
65507
+
65508
+ # Identifier. Name of the resource; provided by the client when the resource is
65509
+ # created.
65510
+ # The name must be 1-63 characters long, and comply withRFC1035.
65511
+ # Specifically, the name must be 1-63 characters long and match the regular
65512
+ # expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first
65513
+ # character must be a lowercase letter, and all following characters must be
65514
+ # a dash, lowercase letter, or digit, except the last character, which cannot
65515
+ # be a dash.
65516
+ # Corresponds to the JSON property `name`
65517
+ # @return [String]
65518
+ attr_accessor :name
65519
+
65520
+ # Output only. [Output Only] Server-defined URL for the resource.
65521
+ # Corresponds to the JSON property `selfLink`
65522
+ # @return [String]
65523
+ attr_accessor :self_link
65524
+
65525
+ # Output only. [Output Only] Server-defined URL for this resource's resource id.
65526
+ # Corresponds to the JSON property `selfLinkWithId`
65527
+ # @return [String]
65528
+ attr_accessor :self_link_with_id
65529
+
65530
+ # Output only. [Output Only]
65531
+ # Corresponds to the JSON property `sourceInfo`
65532
+ # @return [Google::Apis::ComputeBeta::SnapshotGroupSourceInfo]
65533
+ attr_accessor :source_info
65534
+
65535
+ # Input field for the source instant snapshot group.
65536
+ # Corresponds to the JSON property `sourceInstantSnapshotGroup`
65537
+ # @return [String]
65538
+ attr_accessor :source_instant_snapshot_group
65539
+
65540
+ # Output only. [Output Only]
65541
+ # Corresponds to the JSON property `sourceInstantSnapshotGroupInfo`
65542
+ # @return [Google::Apis::ComputeBeta::SnapshotGroupSourceInstantSnapshotGroupInfo]
65543
+ attr_accessor :source_instant_snapshot_group_info
65544
+
65545
+ # Output only. [Output Only]
65546
+ # Corresponds to the JSON property `status`
65547
+ # @return [String]
65548
+ attr_accessor :status
65549
+
65550
+ def initialize(**args)
65551
+ update!(**args)
65552
+ end
65553
+
65554
+ # Update properties of this object
65555
+ def update!(**args)
65556
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
65557
+ @description = args[:description] if args.key?(:description)
65558
+ @id = args[:id] if args.key?(:id)
65559
+ @kind = args[:kind] if args.key?(:kind)
65560
+ @name = args[:name] if args.key?(:name)
65561
+ @self_link = args[:self_link] if args.key?(:self_link)
65562
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
65563
+ @source_info = args[:source_info] if args.key?(:source_info)
65564
+ @source_instant_snapshot_group = args[:source_instant_snapshot_group] if args.key?(:source_instant_snapshot_group)
65565
+ @source_instant_snapshot_group_info = args[:source_instant_snapshot_group_info] if args.key?(:source_instant_snapshot_group_info)
65566
+ @status = args[:status] if args.key?(:status)
65567
+ end
65568
+ end
65569
+
65570
+ #
65571
+ class SnapshotGroupParameters
65572
+ include Google::Apis::Core::Hashable
65573
+
65574
+ # URLs of the zones where disks should be replicated to. Only applicable
65575
+ # for regional resources.
65576
+ # Corresponds to the JSON property `replicaZones`
65577
+ # @return [Array<String>]
65578
+ attr_accessor :replica_zones
65579
+
65580
+ # The source snapshot group used to create disks. You can provide this as a
65581
+ # partial or full URL to the resource. For example, the following are valid
65582
+ # values:
65583
+ #
65584
+ #
65585
+ # - https://www.googleapis.com/compute/v1/projects/project/global/
65586
+ # snapshotGroups/snapshotGroup
65587
+ # - projects/project/global/snapshotGroups/snapshotGroup
65588
+ # - global/snapshotGroups/snapshotGroup
65589
+ # Corresponds to the JSON property `sourceSnapshotGroup`
65590
+ # @return [String]
65591
+ attr_accessor :source_snapshot_group
65592
+
65593
+ # URL of the disk type resource describing which disk type to use to create
65594
+ # disks. Provide this when creating the disk. For example:projects/project/zones/
65595
+ # zone/diskTypes/pd-ssd. See Persistent disk
65596
+ # types.
65597
+ # Corresponds to the JSON property `type`
65598
+ # @return [String]
65599
+ attr_accessor :type
65600
+
65601
+ def initialize(**args)
65602
+ update!(**args)
65603
+ end
65604
+
65605
+ # Update properties of this object
65606
+ def update!(**args)
65607
+ @replica_zones = args[:replica_zones] if args.key?(:replica_zones)
65608
+ @source_snapshot_group = args[:source_snapshot_group] if args.key?(:source_snapshot_group)
65609
+ @type = args[:type] if args.key?(:type)
65610
+ end
65611
+ end
65612
+
65613
+ #
65614
+ class SnapshotGroupSourceInfo
65615
+ include Google::Apis::Core::Hashable
65616
+
65617
+ #
65618
+ # Corresponds to the JSON property `consistencyGroup`
65619
+ # @return [String]
65620
+ attr_accessor :consistency_group
65621
+
65622
+ #
65623
+ # Corresponds to the JSON property `consistencyGroupId`
65624
+ # @return [String]
65625
+ attr_accessor :consistency_group_id
65626
+
65627
+ def initialize(**args)
65628
+ update!(**args)
65629
+ end
65630
+
65631
+ # Update properties of this object
65632
+ def update!(**args)
65633
+ @consistency_group = args[:consistency_group] if args.key?(:consistency_group)
65634
+ @consistency_group_id = args[:consistency_group_id] if args.key?(:consistency_group_id)
65635
+ end
65636
+ end
65637
+
65638
+ #
65639
+ class SnapshotGroupSourceInstantSnapshotGroupInfo
65640
+ include Google::Apis::Core::Hashable
65641
+
65642
+ #
65643
+ # Corresponds to the JSON property `instantSnapshotGroup`
65644
+ # @return [String]
65645
+ attr_accessor :instant_snapshot_group
65646
+
65647
+ #
65648
+ # Corresponds to the JSON property `instantSnapshotGroupId`
65649
+ # @return [String]
65650
+ attr_accessor :instant_snapshot_group_id
65651
+
65652
+ def initialize(**args)
65653
+ update!(**args)
65654
+ end
65655
+
65656
+ # Update properties of this object
65657
+ def update!(**args)
65658
+ @instant_snapshot_group = args[:instant_snapshot_group] if args.key?(:instant_snapshot_group)
65659
+ @instant_snapshot_group_id = args[:instant_snapshot_group_id] if args.key?(:instant_snapshot_group_id)
65660
+ end
65661
+ end
65662
+
65663
+ # Contains a list of Snapshot resources.
65664
+ class SnapshotList
65665
+ include Google::Apis::Core::Hashable
65666
+
65667
+ # [Output Only] Unique identifier for the resource; defined by the server.
65668
+ # Corresponds to the JSON property `id`
65669
+ # @return [String]
65670
+ attr_accessor :id
65671
+
65672
+ # A list of Snapshot resources.
65673
+ # Corresponds to the JSON property `items`
65674
+ # @return [Array<Google::Apis::ComputeBeta::Snapshot>]
65675
+ attr_accessor :items
65676
+
65677
+ # Output only. Type of resource.
65678
+ # Corresponds to the JSON property `kind`
65679
+ # @return [String]
65680
+ attr_accessor :kind
65681
+
65682
+ # [Output Only] This token allows you to get the next page of results for
65683
+ # list requests. If the number of results is larger thanmaxResults, use the
65684
+ # nextPageToken as a value for
65685
+ # the query parameter pageToken in the next list request.
65686
+ # Subsequent list requests will have their own nextPageToken to
65687
+ # continue paging through the results.
65688
+ # Corresponds to the JSON property `nextPageToken`
65689
+ # @return [String]
65690
+ attr_accessor :next_page_token
65691
+
65692
+ # Output only. [Output Only] Server-defined URL for this resource.
65693
+ # Corresponds to the JSON property `selfLink`
65694
+ # @return [String]
65695
+ attr_accessor :self_link
65696
+
65697
+ # [Output Only] Informational warning message.
65698
+ # Corresponds to the JSON property `warning`
65699
+ # @return [Google::Apis::ComputeBeta::SnapshotList::Warning]
65700
+ attr_accessor :warning
65701
+
65702
+ def initialize(**args)
65703
+ update!(**args)
65704
+ end
65705
+
65706
+ # Update properties of this object
65707
+ def update!(**args)
65708
+ @id = args[:id] if args.key?(:id)
65709
+ @items = args[:items] if args.key?(:items)
65710
+ @kind = args[:kind] if args.key?(:kind)
65711
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
65712
+ @self_link = args[:self_link] if args.key?(:self_link)
65713
+ @warning = args[:warning] if args.key?(:warning)
65714
+ end
65715
+
65716
+ # [Output Only] Informational warning message.
65717
+ class Warning
65718
+ include Google::Apis::Core::Hashable
65719
+
65720
+ # [Output Only] A warning code, if applicable. For example, Compute
65721
+ # Engine returns NO_RESULTS_ON_PAGE if there
65722
+ # are no results in the response.
65723
+ # Corresponds to the JSON property `code`
65724
+ # @return [String]
65725
+ attr_accessor :code
65726
+
65727
+ # [Output Only] Metadata about this warning in key:
65728
+ # value format. For example:
65729
+ # "data": [
65730
+ # `
65731
+ # "key": "scope",
65732
+ # "value": "zones/us-east1-d"
65733
+ # `]
65734
+ # Corresponds to the JSON property `data`
65735
+ # @return [Array<Google::Apis::ComputeBeta::SnapshotList::Warning::Datum>]
65736
+ attr_accessor :data
65737
+
65738
+ # [Output Only] A human-readable description of the warning code.
65739
+ # Corresponds to the JSON property `message`
65740
+ # @return [String]
65741
+ attr_accessor :message
65742
+
65743
+ def initialize(**args)
65744
+ update!(**args)
65745
+ end
65746
+
65747
+ # Update properties of this object
65748
+ def update!(**args)
65749
+ @code = args[:code] if args.key?(:code)
65750
+ @data = args[:data] if args.key?(:data)
65751
+ @message = args[:message] if args.key?(:message)
65752
+ end
65753
+
65754
+ #
65755
+ class Datum
65756
+ include Google::Apis::Core::Hashable
65757
+
65758
+ # [Output Only] A key that provides more detail on the warning being
65759
+ # returned. For example, for warnings where there are no results in a list
65760
+ # request for a particular zone, this key might be scope and
65761
+ # the key value might be the zone name. Other examples might be a key
65762
+ # indicating a deprecated resource and a suggested replacement, or a
65763
+ # warning about invalid network settings (for example, if an instance
65764
+ # attempts to perform IP forwarding but is not enabled for IP forwarding).
65765
+ # Corresponds to the JSON property `key`
65766
+ # @return [String]
65767
+ attr_accessor :key
65768
+
65769
+ # [Output Only] A warning data value corresponding to the key.
65770
+ # Corresponds to the JSON property `value`
65771
+ # @return [String]
65772
+ attr_accessor :value
65773
+
65774
+ def initialize(**args)
65775
+ update!(**args)
65776
+ end
65777
+
65778
+ # Update properties of this object
65779
+ def update!(**args)
65780
+ @key = args[:key] if args.key?(:key)
65781
+ @value = args[:value] if args.key?(:value)
65782
+ end
65783
+ end
65784
+ end
65785
+ end
65786
+
65787
+ # Additional snapshot params.
65788
+ class SnapshotParams
64214
65789
  include Google::Apis::Core::Hashable
64215
65790
 
64216
- #
64217
- # Corresponds to the JSON property `consistencyGroup`
64218
- # @return [String]
64219
- attr_accessor :consistency_group
64220
-
64221
- #
64222
- # Corresponds to the JSON property `consistencyGroupId`
64223
- # @return [String]
64224
- attr_accessor :consistency_group_id
65791
+ # Input only. Resource manager tags to be bound to the snapshot. Tag keys and
65792
+ # values have
65793
+ # the same definition as resource
65794
+ # manager tags. Keys and values can be either in numeric format,
65795
+ # such as `tagKeys/`tag_key_id`` and `tagValues/`tag_value_id`` or in
65796
+ # namespaced format such as ``org_id|project_id`/`tag_key_short_name`` and
65797
+ # ``tag_value_short_name``. The field is ignored (both PUT &
65798
+ # PATCH) when empty.
65799
+ # Corresponds to the JSON property `resourceManagerTags`
65800
+ # @return [Hash<String,String>]
65801
+ attr_accessor :resource_manager_tags
64225
65802
 
64226
65803
  def initialize(**args)
64227
65804
  update!(**args)
@@ -64229,24 +65806,37 @@ module Google
64229
65806
 
64230
65807
  # Update properties of this object
64231
65808
  def update!(**args)
64232
- @consistency_group = args[:consistency_group] if args.key?(:consistency_group)
64233
- @consistency_group_id = args[:consistency_group_id] if args.key?(:consistency_group_id)
65809
+ @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
64234
65810
  end
64235
65811
  end
64236
65812
 
64237
- #
64238
- class SnapshotGroupSourceInstantSnapshotGroupInfo
65813
+ # Represents the singleton resource Snapshot Recycle Bin Policy that
65814
+ # configures the retention duration for snapshots in the recycle bin.
65815
+ # You can configure the retention duration for snapshots in the recycle bin
65816
+ # at the project or organization level. If you configure the policy at the
65817
+ # organization level, all projects in that organization will share the same
65818
+ # policy. If you configure the policy at the project level it will be merged
65819
+ # with org level policy (if any) and the snapshots in that project will use
65820
+ # that policy.
65821
+ class SnapshotRecycleBinPolicy
64239
65822
  include Google::Apis::Core::Hashable
64240
65823
 
64241
- #
64242
- # Corresponds to the JSON property `instantSnapshotGroup`
64243
- # @return [String]
64244
- attr_accessor :instant_snapshot_group
65824
+ # The rules for the snapshot recycle bin policy. The key is either 'default'
65825
+ # or namespacedName of the TagValue which can be in the format:
65826
+ # ``organization_id`/`tag_key_short_name`/`tag_value_short_name`` or
65827
+ # ``project_id`/`tag_key_short_name`/`tag_value_short_name`` or
65828
+ # ``project_number`/`tag_key_short_name`/`tag_value_short_name``. The default
65829
+ # rule is applied if snapshots do not have any of these tags.
65830
+ # The value is the rule for the key.
65831
+ # Corresponds to the JSON property `rules`
65832
+ # @return [Hash<String,Google::Apis::ComputeBeta::SnapshotRecycleBinPolicyRule>]
65833
+ attr_accessor :rules
64245
65834
 
64246
- #
64247
- # Corresponds to the JSON property `instantSnapshotGroupId`
64248
- # @return [String]
64249
- attr_accessor :instant_snapshot_group_id
65835
+ # Output only. The system rules for snapshot recycle bin policy.
65836
+ # Defines the default rule that applies if no customer-defined rule matches.
65837
+ # Corresponds to the JSON property `systemRules`
65838
+ # @return [Hash<String,Google::Apis::ComputeBeta::SnapshotRecycleBinPolicyRule>]
65839
+ attr_accessor :system_rules
64250
65840
 
64251
65841
  def initialize(**args)
64252
65842
  update!(**args)
@@ -64254,49 +65844,19 @@ module Google
64254
65844
 
64255
65845
  # Update properties of this object
64256
65846
  def update!(**args)
64257
- @instant_snapshot_group = args[:instant_snapshot_group] if args.key?(:instant_snapshot_group)
64258
- @instant_snapshot_group_id = args[:instant_snapshot_group_id] if args.key?(:instant_snapshot_group_id)
65847
+ @rules = args[:rules] if args.key?(:rules)
65848
+ @system_rules = args[:system_rules] if args.key?(:system_rules)
64259
65849
  end
64260
65850
  end
64261
65851
 
64262
- # Contains a list of Snapshot resources.
64263
- class SnapshotList
65852
+ # A rule that defines the retention policy for snapshots in the recycle bin.
65853
+ class SnapshotRecycleBinPolicyRule
64264
65854
  include Google::Apis::Core::Hashable
64265
65855
 
64266
- # [Output Only] Unique identifier for the resource; defined by the server.
64267
- # Corresponds to the JSON property `id`
64268
- # @return [String]
64269
- attr_accessor :id
64270
-
64271
- # A list of Snapshot resources.
64272
- # Corresponds to the JSON property `items`
64273
- # @return [Array<Google::Apis::ComputeBeta::Snapshot>]
64274
- attr_accessor :items
64275
-
64276
- # Output only. Type of resource.
64277
- # Corresponds to the JSON property `kind`
64278
- # @return [String]
64279
- attr_accessor :kind
64280
-
64281
- # [Output Only] This token allows you to get the next page of results for
64282
- # list requests. If the number of results is larger thanmaxResults, use the
64283
- # nextPageToken as a value for
64284
- # the query parameter pageToken in the next list request.
64285
- # Subsequent list requests will have their own nextPageToken to
64286
- # continue paging through the results.
64287
- # Corresponds to the JSON property `nextPageToken`
64288
- # @return [String]
64289
- attr_accessor :next_page_token
64290
-
64291
- # Output only. [Output Only] Server-defined URL for this resource.
64292
- # Corresponds to the JSON property `selfLink`
64293
- # @return [String]
64294
- attr_accessor :self_link
64295
-
64296
- # [Output Only] Informational warning message.
64297
- # Corresponds to the JSON property `warning`
64298
- # @return [Google::Apis::ComputeBeta::SnapshotList::Warning]
64299
- attr_accessor :warning
65856
+ # The rule config for snapshots in the recycle bin.
65857
+ # Corresponds to the JSON property `standardSnapshots`
65858
+ # @return [Google::Apis::ComputeBeta::SnapshotRecycleBinPolicyRuleRuleConfig]
65859
+ attr_accessor :standard_snapshots
64300
65860
 
64301
65861
  def initialize(**args)
64302
65862
  update!(**args)
@@ -64304,100 +65864,19 @@ module Google
64304
65864
 
64305
65865
  # Update properties of this object
64306
65866
  def update!(**args)
64307
- @id = args[:id] if args.key?(:id)
64308
- @items = args[:items] if args.key?(:items)
64309
- @kind = args[:kind] if args.key?(:kind)
64310
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
64311
- @self_link = args[:self_link] if args.key?(:self_link)
64312
- @warning = args[:warning] if args.key?(:warning)
64313
- end
64314
-
64315
- # [Output Only] Informational warning message.
64316
- class Warning
64317
- include Google::Apis::Core::Hashable
64318
-
64319
- # [Output Only] A warning code, if applicable. For example, Compute
64320
- # Engine returns NO_RESULTS_ON_PAGE if there
64321
- # are no results in the response.
64322
- # Corresponds to the JSON property `code`
64323
- # @return [String]
64324
- attr_accessor :code
64325
-
64326
- # [Output Only] Metadata about this warning in key:
64327
- # value format. For example:
64328
- # "data": [
64329
- # `
64330
- # "key": "scope",
64331
- # "value": "zones/us-east1-d"
64332
- # `]
64333
- # Corresponds to the JSON property `data`
64334
- # @return [Array<Google::Apis::ComputeBeta::SnapshotList::Warning::Datum>]
64335
- attr_accessor :data
64336
-
64337
- # [Output Only] A human-readable description of the warning code.
64338
- # Corresponds to the JSON property `message`
64339
- # @return [String]
64340
- attr_accessor :message
64341
-
64342
- def initialize(**args)
64343
- update!(**args)
64344
- end
64345
-
64346
- # Update properties of this object
64347
- def update!(**args)
64348
- @code = args[:code] if args.key?(:code)
64349
- @data = args[:data] if args.key?(:data)
64350
- @message = args[:message] if args.key?(:message)
64351
- end
64352
-
64353
- #
64354
- class Datum
64355
- include Google::Apis::Core::Hashable
64356
-
64357
- # [Output Only] A key that provides more detail on the warning being
64358
- # returned. For example, for warnings where there are no results in a list
64359
- # request for a particular zone, this key might be scope and
64360
- # the key value might be the zone name. Other examples might be a key
64361
- # indicating a deprecated resource and a suggested replacement, or a
64362
- # warning about invalid network settings (for example, if an instance
64363
- # attempts to perform IP forwarding but is not enabled for IP forwarding).
64364
- # Corresponds to the JSON property `key`
64365
- # @return [String]
64366
- attr_accessor :key
64367
-
64368
- # [Output Only] A warning data value corresponding to the key.
64369
- # Corresponds to the JSON property `value`
64370
- # @return [String]
64371
- attr_accessor :value
64372
-
64373
- def initialize(**args)
64374
- update!(**args)
64375
- end
64376
-
64377
- # Update properties of this object
64378
- def update!(**args)
64379
- @key = args[:key] if args.key?(:key)
64380
- @value = args[:value] if args.key?(:value)
64381
- end
64382
- end
65867
+ @standard_snapshots = args[:standard_snapshots] if args.key?(:standard_snapshots)
64383
65868
  end
64384
65869
  end
64385
65870
 
64386
- # Additional snapshot params.
64387
- class SnapshotParams
65871
+ # The rule config for snapshots in the recycle bin.
65872
+ class SnapshotRecycleBinPolicyRuleRuleConfig
64388
65873
  include Google::Apis::Core::Hashable
64389
65874
 
64390
- # Input only. Resource manager tags to be bound to the snapshot. Tag keys and
64391
- # values have
64392
- # the same definition as resource
64393
- # manager tags. Keys and values can be either in numeric format,
64394
- # such as `tagKeys/`tag_key_id`` and `tagValues/`tag_value_id`` or in
64395
- # namespaced format such as ``org_id|project_id`/`tag_key_short_name`` and
64396
- # ``tag_value_short_name``. The field is ignored (both PUT &
64397
- # PATCH) when empty.
64398
- # Corresponds to the JSON property `resourceManagerTags`
64399
- # @return [Hash<String,String>]
64400
- attr_accessor :resource_manager_tags
65875
+ # The retention duration for snapshots in the recycle bin after which the
65876
+ # snapshots are automatically deleted from recycle bin.
65877
+ # Corresponds to the JSON property `retentionDurationDays`
65878
+ # @return [Fixnum]
65879
+ attr_accessor :retention_duration_days
64401
65880
 
64402
65881
  def initialize(**args)
64403
65882
  update!(**args)
@@ -64405,7 +65884,7 @@ module Google
64405
65884
 
64406
65885
  # Update properties of this object
64407
65886
  def update!(**args)
64408
- @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
65887
+ @retention_duration_days = args[:retention_duration_days] if args.key?(:retention_duration_days)
64409
65888
  end
64410
65889
  end
64411
65890
 
@@ -64554,6 +66033,25 @@ module Google
64554
66033
  end
64555
66034
  end
64556
66035
 
66036
+ #
66037
+ class SnapshotsGetEffectiveRecycleBinRuleResponse
66038
+ include Google::Apis::Core::Hashable
66039
+
66040
+ # The retention duration of the snapshot in recycle bin.
66041
+ # Corresponds to the JSON property `retentionDurationDays`
66042
+ # @return [Fixnum]
66043
+ attr_accessor :retention_duration_days
66044
+
66045
+ def initialize(**args)
66046
+ update!(**args)
66047
+ end
66048
+
66049
+ # Update properties of this object
66050
+ def update!(**args)
66051
+ @retention_duration_days = args[:retention_duration_days] if args.key?(:retention_duration_days)
66052
+ end
66053
+ end
66054
+
64557
66055
  #
64558
66056
  class SnapshotsScopedList
64559
66057
  include Google::Apis::Core::Hashable
@@ -74969,6 +76467,63 @@ module Google
74969
76467
  end
74970
76468
  end
74971
76469
 
76470
+ # State of an extension on an instance.
76471
+ class VmExtensionState
76472
+ include Google::Apis::Core::Hashable
76473
+
76474
+ # The status message of the extension if the extension fails to enforce.
76475
+ # Corresponds to the JSON property `enforcementMsg`
76476
+ # @return [String]
76477
+ attr_accessor :enforcement_msg
76478
+
76479
+ # The enforcement state of the extension.
76480
+ # If the extension is not enforced yet, then the health status will not be
76481
+ # specified.
76482
+ # Corresponds to the JSON property `enforcementState`
76483
+ # @return [String]
76484
+ attr_accessor :enforcement_state
76485
+
76486
+ # The health status message of the extension.
76487
+ # Corresponds to the JSON property `healthMsg`
76488
+ # @return [String]
76489
+ attr_accessor :health_msg
76490
+
76491
+ # The health status of the extension.
76492
+ # Corresponds to the JSON property `healthStatus`
76493
+ # @return [String]
76494
+ attr_accessor :health_status
76495
+
76496
+ # The name of the extension.
76497
+ # Corresponds to the JSON property `name`
76498
+ # @return [String]
76499
+ attr_accessor :name
76500
+
76501
+ # The id of the policy that is enforced on the extension.
76502
+ # Corresponds to the JSON property `policyId`
76503
+ # @return [String]
76504
+ attr_accessor :policy_id
76505
+
76506
+ # The version of the extension.
76507
+ # Corresponds to the JSON property `version`
76508
+ # @return [String]
76509
+ attr_accessor :version
76510
+
76511
+ def initialize(**args)
76512
+ update!(**args)
76513
+ end
76514
+
76515
+ # Update properties of this object
76516
+ def update!(**args)
76517
+ @enforcement_msg = args[:enforcement_msg] if args.key?(:enforcement_msg)
76518
+ @enforcement_state = args[:enforcement_state] if args.key?(:enforcement_state)
76519
+ @health_msg = args[:health_msg] if args.key?(:health_msg)
76520
+ @health_status = args[:health_status] if args.key?(:health_status)
76521
+ @name = args[:name] if args.key?(:name)
76522
+ @policy_id = args[:policy_id] if args.key?(:policy_id)
76523
+ @version = args[:version] if args.key?(:version)
76524
+ end
76525
+ end
76526
+
74972
76527
  # Represents a HA VPN gateway.
74973
76528
  # HA VPN is a high-availability (HA) Cloud VPN solution that lets you securely
74974
76529
  # connect your on-premises network to your Google Cloud Virtual Private Cloud