google-apis-compute_beta 0.146.0 → 0.147.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.
@@ -10600,6 +10600,342 @@ module Google
10600
10600
  end
10601
10601
  end
10602
10602
 
10603
+ # A standalone, regional API resource that encapsulates a set of user-defined
10604
+ # DHCP configurations.
10605
+ class DhcpOptionsConfig
10606
+ include Google::Apis::Core::Hashable
10607
+
10608
+ # Mapping of user-defined keys to DhcpOptionsConfig to Network associations.
10609
+ # Corresponds to the JSON property `associations`
10610
+ # @return [Hash<String,Google::Apis::ComputeBeta::DhcpOptionsConfigAssociation>]
10611
+ attr_accessor :associations
10612
+
10613
+ # The file path and name of the boot image/file on the TFTP server that the
10614
+ # client VM guest OS should download and execute during network boot. Used
10615
+ # when the standard DHCP header 'file' field is overloaded. Corresponds to
10616
+ # DHCPv4 Option 67.
10617
+ # Corresponds to the JSON property `bootFileIpv4Name`
10618
+ # @return [String]
10619
+ attr_accessor :boot_file_ipv4_name
10620
+
10621
+ # A list of UTF-8 encoded parameter strings to be passed as arguments to the
10622
+ # bootloader program or OS kernel after downloading the boot file.
10623
+ # Corresponds to DHCPv6 Option 60.
10624
+ # Corresponds to the JSON property `bootFileIpv6Parameters`
10625
+ # @return [Array<String>]
10626
+ attr_accessor :boot_file_ipv6_parameters
10627
+
10628
+ # The Uniform Resource Locator (URL) specifying the protocol, server address,
10629
+ # and file path of the boot file that the client VM guest OS should download
10630
+ # and execute for network boot (e.g., 'tftp://[2001:db8::1]/bootx64.efi' or
10631
+ # 'http://[2001:db8::1]/boot.img'). Corresponds to DHCPv6 Option 59.
10632
+ # Corresponds to the JSON property `bootFileIpv6Url`
10633
+ # @return [String]
10634
+ attr_accessor :boot_file_ipv6_url
10635
+
10636
+ # Output only. [Output Only] Creation timestamp inRFC3339
10637
+ # text format.
10638
+ # Corresponds to the JSON property `creationTimestamp`
10639
+ # @return [String]
10640
+ attr_accessor :creation_timestamp
10641
+
10642
+ # An optional description of this resource. Provide this property when you
10643
+ # create the resource.
10644
+ # Corresponds to the JSON property `description`
10645
+ # @return [String]
10646
+ attr_accessor :description
10647
+
10648
+ # An ordered list of domain suffixes (search paths) that the client VM guest
10649
+ # OS should append to resolve hostnames that are not fully qualified. Applies
10650
+ # to both DHCPv4 Option 119 and DHCPv6 Option 24.
10651
+ # Corresponds to the JSON property `dnsSearchPaths`
10652
+ # @return [Array<String>]
10653
+ attr_accessor :dns_search_paths
10654
+
10655
+ # The domain name that the client VM guest OS should use when resolving
10656
+ # hostnames via DNS (e.g., 'example.com'). It defines the default domain
10657
+ # suffix for the client. Corresponds to DHCPv4 Option 15.
10658
+ # Corresponds to the JSON property `domainName`
10659
+ # @return [String]
10660
+ attr_accessor :domain_name
10661
+
10662
+ # Output only. [Output Only] The unique identifier for the resource type. The
10663
+ # server
10664
+ # generates this identifier.
10665
+ # Corresponds to the JSON property `id`
10666
+ # @return [Fixnum]
10667
+ attr_accessor :id
10668
+
10669
+ # Output only. [Output Only] Type of the resource. Alwayscompute#
10670
+ # dhcpOptionsConfig for dhcp options configs.
10671
+ # Corresponds to the JSON property `kind`
10672
+ # @return [String]
10673
+ attr_accessor :kind
10674
+
10675
+ # The duration, in seconds, of the IPv4 address lease offered by the DHCP
10676
+ # server to the client VM guest OS. Corresponds to DHCPv4 Option 51.
10677
+ # Corresponds to the JSON property `leaseTimeSec`
10678
+ # @return [Fixnum]
10679
+ attr_accessor :lease_time_sec
10680
+
10681
+ # Name of the resource. Provided by the client when the resource is created.
10682
+ # The name must be 1-63 characters long, and comply withRFC1035.
10683
+ # Specifically, the name must be 1-63 characters long and match the regular
10684
+ # expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first
10685
+ # character must be a lowercase letter, and all following characters must
10686
+ # be a dash, lowercase letter, or digit, except the last character, which
10687
+ # cannot be a dash.
10688
+ # Corresponds to the JSON property `name`
10689
+ # @return [String]
10690
+ attr_accessor :name
10691
+
10692
+ # An ordered list of IPv4 addresses of Network Time Protocol (NTP) servers
10693
+ # available to the client VM guest OS for system clock synchronization,
10694
+ # listed in order of preference. Corresponds to DHCPv4 Option 42.
10695
+ # Corresponds to the JSON property `ntpServerIpv4Addresses`
10696
+ # @return [Array<String>]
10697
+ attr_accessor :ntp_server_ipv4_addresses
10698
+
10699
+ # An ordered list of IPv6 addresses of Network Time Protocol (NTP) servers
10700
+ # available to the client VM guest OS for system clock synchronization.
10701
+ # Corresponds to DHCPv6 Option 56.
10702
+ # Corresponds to the JSON property `ntpServerIpv6Addresses`
10703
+ # @return [Array<String>]
10704
+ attr_accessor :ntp_server_ipv6_addresses
10705
+
10706
+ # Output only. [Output Only] URL of the region where the resource resides.
10707
+ # Corresponds to the JSON property `region`
10708
+ # @return [String]
10709
+ attr_accessor :region
10710
+
10711
+ # Output only. [Output Only] Server-defined URL for the resource.
10712
+ # Corresponds to the JSON property `selfLink`
10713
+ # @return [String]
10714
+ attr_accessor :self_link
10715
+
10716
+ # An ordered list of one or more IPv4 addresses of TFTP servers. Provides
10717
+ # server redundancy and failover support, and is generally prioritized by
10718
+ # clients over the single hostname specified in Option 66. Corresponds to
10719
+ # DHCPv4 Option 150.
10720
+ # Corresponds to the JSON property `tftpServerIpv4Addresses`
10721
+ # @return [Array<String>]
10722
+ attr_accessor :tftp_server_ipv4_addresses
10723
+
10724
+ # The hostname or IP address of the Trivial File Transfer Protocol (TFTP)
10725
+ # server from which the client VM guest OS can download boot files. Typically
10726
+ # used in network booting (PXE) when the standard DHCP header 'sname' field
10727
+ # is overloaded. Corresponds to DHCPv4 Option 66.
10728
+ # Corresponds to the JSON property `tftpServerIpv4Name`
10729
+ # @return [String]
10730
+ attr_accessor :tftp_server_ipv4_name
10731
+
10732
+ def initialize(**args)
10733
+ update!(**args)
10734
+ end
10735
+
10736
+ # Update properties of this object
10737
+ def update!(**args)
10738
+ @associations = args[:associations] if args.key?(:associations)
10739
+ @boot_file_ipv4_name = args[:boot_file_ipv4_name] if args.key?(:boot_file_ipv4_name)
10740
+ @boot_file_ipv6_parameters = args[:boot_file_ipv6_parameters] if args.key?(:boot_file_ipv6_parameters)
10741
+ @boot_file_ipv6_url = args[:boot_file_ipv6_url] if args.key?(:boot_file_ipv6_url)
10742
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
10743
+ @description = args[:description] if args.key?(:description)
10744
+ @dns_search_paths = args[:dns_search_paths] if args.key?(:dns_search_paths)
10745
+ @domain_name = args[:domain_name] if args.key?(:domain_name)
10746
+ @id = args[:id] if args.key?(:id)
10747
+ @kind = args[:kind] if args.key?(:kind)
10748
+ @lease_time_sec = args[:lease_time_sec] if args.key?(:lease_time_sec)
10749
+ @name = args[:name] if args.key?(:name)
10750
+ @ntp_server_ipv4_addresses = args[:ntp_server_ipv4_addresses] if args.key?(:ntp_server_ipv4_addresses)
10751
+ @ntp_server_ipv6_addresses = args[:ntp_server_ipv6_addresses] if args.key?(:ntp_server_ipv6_addresses)
10752
+ @region = args[:region] if args.key?(:region)
10753
+ @self_link = args[:self_link] if args.key?(:self_link)
10754
+ @tftp_server_ipv4_addresses = args[:tftp_server_ipv4_addresses] if args.key?(:tftp_server_ipv4_addresses)
10755
+ @tftp_server_ipv4_name = args[:tftp_server_ipv4_name] if args.key?(:tftp_server_ipv4_name)
10756
+ end
10757
+ end
10758
+
10759
+ # Association represents the relationship between a DHCP options config and a
10760
+ # network. Association represents the relationship between a DHCP options
10761
+ # config and a network.
10762
+ class DhcpOptionsConfigAssociation
10763
+ include Google::Apis::Core::Hashable
10764
+
10765
+ # Required. The target network this DHCP option is attached to.
10766
+ # You can specify this as a full or partial URL. For example, the following
10767
+ # are all valid URLs:
10768
+ #
10769
+ #
10770
+ # - https://www.googleapis.com/compute/v1/projects/project/global/networks/
10771
+ # network
10772
+ #
10773
+ # - projects/project/global/networks/network
10774
+ # Corresponds to the JSON property `network`
10775
+ # @return [String]
10776
+ attr_accessor :network
10777
+
10778
+ # Output only. [Output Only] The server-defined ID of the associated Network.
10779
+ # Corresponds to the JSON property `networkId`
10780
+ # @return [Fixnum]
10781
+ attr_accessor :network_id
10782
+
10783
+ # Output only. [Output Only] State of the association.
10784
+ # Corresponds to the JSON property `state`
10785
+ # @return [String]
10786
+ attr_accessor :state
10787
+
10788
+ def initialize(**args)
10789
+ update!(**args)
10790
+ end
10791
+
10792
+ # Update properties of this object
10793
+ def update!(**args)
10794
+ @network = args[:network] if args.key?(:network)
10795
+ @network_id = args[:network_id] if args.key?(:network_id)
10796
+ @state = args[:state] if args.key?(:state)
10797
+ end
10798
+ end
10799
+
10800
+ #
10801
+ class DhcpOptionsConfigList
10802
+ include Google::Apis::Core::Hashable
10803
+
10804
+ # Server-defined ETag for optimistic concurrency control.
10805
+ # Corresponds to the JSON property `etag`
10806
+ # @return [String]
10807
+ attr_accessor :etag
10808
+
10809
+ # [Output Only] Unique identifier for the resource; defined by the server.
10810
+ # Corresponds to the JSON property `id`
10811
+ # @return [String]
10812
+ attr_accessor :id
10813
+
10814
+ # A list of DhcpOptionsConfig resources.
10815
+ # Corresponds to the JSON property `items`
10816
+ # @return [Array<Google::Apis::ComputeBeta::DhcpOptionsConfig>]
10817
+ attr_accessor :items
10818
+
10819
+ # Output only. [Output Only] Type of the resource. Alwayscompute#
10820
+ # dhcpOptionsConfigList for a list of dhcp options
10821
+ # configs.
10822
+ # Corresponds to the JSON property `kind`
10823
+ # @return [String]
10824
+ attr_accessor :kind
10825
+
10826
+ # [Output Only] This token allows you to get the next page of results for
10827
+ # list requests. If the number of results is larger thanmaxResults, use the
10828
+ # nextPageToken as a value for
10829
+ # the query parameter pageToken in the next list request.
10830
+ # Subsequent list requests will have their own nextPageToken to
10831
+ # continue paging through the results.
10832
+ # Corresponds to the JSON property `nextPageToken`
10833
+ # @return [String]
10834
+ attr_accessor :next_page_token
10835
+
10836
+ # [Output Only] Server-defined URL for this resource.
10837
+ # Corresponds to the JSON property `selfLink`
10838
+ # @return [String]
10839
+ attr_accessor :self_link
10840
+
10841
+ # Output only. [Output Only] Unreachable resources.
10842
+ # end_interface: MixerListResponseWithEtagBuilder
10843
+ # Corresponds to the JSON property `unreachables`
10844
+ # @return [Array<String>]
10845
+ attr_accessor :unreachables
10846
+
10847
+ # [Output Only] Informational warning message.
10848
+ # Corresponds to the JSON property `warning`
10849
+ # @return [Google::Apis::ComputeBeta::DhcpOptionsConfigList::Warning]
10850
+ attr_accessor :warning
10851
+
10852
+ def initialize(**args)
10853
+ update!(**args)
10854
+ end
10855
+
10856
+ # Update properties of this object
10857
+ def update!(**args)
10858
+ @etag = args[:etag] if args.key?(:etag)
10859
+ @id = args[:id] if args.key?(:id)
10860
+ @items = args[:items] if args.key?(:items)
10861
+ @kind = args[:kind] if args.key?(:kind)
10862
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
10863
+ @self_link = args[:self_link] if args.key?(:self_link)
10864
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
10865
+ @warning = args[:warning] if args.key?(:warning)
10866
+ end
10867
+
10868
+ # [Output Only] Informational warning message.
10869
+ class Warning
10870
+ include Google::Apis::Core::Hashable
10871
+
10872
+ # [Output Only] A warning code, if applicable. For example, Compute
10873
+ # Engine returns NO_RESULTS_ON_PAGE if there
10874
+ # are no results in the response.
10875
+ # Corresponds to the JSON property `code`
10876
+ # @return [String]
10877
+ attr_accessor :code
10878
+
10879
+ # [Output Only] Metadata about this warning in key:
10880
+ # value format. For example:
10881
+ # "data": [
10882
+ # `
10883
+ # "key": "scope",
10884
+ # "value": "zones/us-east1-d"
10885
+ # `]
10886
+ # Corresponds to the JSON property `data`
10887
+ # @return [Array<Google::Apis::ComputeBeta::DhcpOptionsConfigList::Warning::Datum>]
10888
+ attr_accessor :data
10889
+
10890
+ # [Output Only] A human-readable description of the warning code.
10891
+ # Corresponds to the JSON property `message`
10892
+ # @return [String]
10893
+ attr_accessor :message
10894
+
10895
+ def initialize(**args)
10896
+ update!(**args)
10897
+ end
10898
+
10899
+ # Update properties of this object
10900
+ def update!(**args)
10901
+ @code = args[:code] if args.key?(:code)
10902
+ @data = args[:data] if args.key?(:data)
10903
+ @message = args[:message] if args.key?(:message)
10904
+ end
10905
+
10906
+ #
10907
+ class Datum
10908
+ include Google::Apis::Core::Hashable
10909
+
10910
+ # [Output Only] A key that provides more detail on the warning being
10911
+ # returned. For example, for warnings where there are no results in a list
10912
+ # request for a particular zone, this key might be scope and
10913
+ # the key value might be the zone name. Other examples might be a key
10914
+ # indicating a deprecated resource and a suggested replacement, or a
10915
+ # warning about invalid network settings (for example, if an instance
10916
+ # attempts to perform IP forwarding but is not enabled for IP forwarding).
10917
+ # Corresponds to the JSON property `key`
10918
+ # @return [String]
10919
+ attr_accessor :key
10920
+
10921
+ # [Output Only] A warning data value corresponding to the key.
10922
+ # Corresponds to the JSON property `value`
10923
+ # @return [String]
10924
+ attr_accessor :value
10925
+
10926
+ def initialize(**args)
10927
+ update!(**args)
10928
+ end
10929
+
10930
+ # Update properties of this object
10931
+ def update!(**args)
10932
+ @key = args[:key] if args.key?(:key)
10933
+ @value = args[:value] if args.key?(:value)
10934
+ end
10935
+ end
10936
+ end
10937
+ end
10938
+
10603
10939
  # Represents a Persistent Disk resource.
10604
10940
  # Google Compute Engine has two Disk resources:
10605
10941
  # * [Zonal](/compute/docs/reference/rest/beta/disks)
@@ -17237,6 +17573,68 @@ module Google
17237
17573
  end
17238
17574
  end
17239
17575
 
17576
+ # Metadata for GetHealth operations.
17577
+ class GetHealthOperationMetadata
17578
+ include Google::Apis::Core::Hashable
17579
+
17580
+ # Health information.
17581
+ # Corresponds to the JSON property `healthInfo`
17582
+ # @return [Google::Apis::ComputeBeta::GetHealthOperationMetadataHealthInfo]
17583
+ attr_accessor :health_info
17584
+
17585
+ def initialize(**args)
17586
+ update!(**args)
17587
+ end
17588
+
17589
+ # Update properties of this object
17590
+ def update!(**args)
17591
+ @health_info = args[:health_info] if args.key?(:health_info)
17592
+ end
17593
+ end
17594
+
17595
+ # Health information.
17596
+ class GetHealthOperationMetadataHealthInfo
17597
+ include Google::Apis::Core::Hashable
17598
+
17599
+ # Output only. The availability SLO status.
17600
+ # Corresponds to the JSON property `availabilitySloStatus`
17601
+ # @return [String]
17602
+ attr_accessor :availability_slo_status
17603
+
17604
+ # Output only. The health status.
17605
+ # Corresponds to the JSON property `healthStatus`
17606
+ # @return [String]
17607
+ attr_accessor :health_status
17608
+
17609
+ # Output only. The repair category.
17610
+ # Corresponds to the JSON property `repairCategory`
17611
+ # @return [String]
17612
+ attr_accessor :repair_category
17613
+
17614
+ # Output only. The reason for unhealthy status.
17615
+ # Corresponds to the JSON property `unhealthyReason`
17616
+ # @return [String]
17617
+ attr_accessor :unhealthy_reason
17618
+
17619
+ # Output only. The time when health info was updated.
17620
+ # Corresponds to the JSON property `updateTime`
17621
+ # @return [String]
17622
+ attr_accessor :update_time
17623
+
17624
+ def initialize(**args)
17625
+ update!(**args)
17626
+ end
17627
+
17628
+ # Update properties of this object
17629
+ def update!(**args)
17630
+ @availability_slo_status = args[:availability_slo_status] if args.key?(:availability_slo_status)
17631
+ @health_status = args[:health_status] if args.key?(:health_status)
17632
+ @repair_category = args[:repair_category] if args.key?(:repair_category)
17633
+ @unhealthy_reason = args[:unhealthy_reason] if args.key?(:unhealthy_reason)
17634
+ @update_time = args[:update_time] if args.key?(:update_time)
17635
+ end
17636
+ end
17637
+
17240
17638
  #
17241
17639
  class GetVersionOperationMetadata
17242
17640
  include Google::Apis::Core::Hashable
@@ -17316,6 +17714,106 @@ module Google
17316
17714
  end
17317
17715
  end
17318
17716
 
17717
+ # Represents the Global Frontend Bundle settings for a single project.
17718
+ class GlobalFrontendSettings
17719
+ include Google::Apis::Core::Hashable
17720
+
17721
+ # Customer-settable bundle type.
17722
+ # Corresponds to the JSON property `bundleType`
17723
+ # @return [String]
17724
+ attr_accessor :bundle_type
17725
+
17726
+ # Output only. [Output Only] Creation timestamp in RFC3339 text format.
17727
+ # Corresponds to the JSON property `creationTimestamp`
17728
+ # @return [String]
17729
+ attr_accessor :creation_timestamp
17730
+
17731
+ # Output only. [Output Only] An optional description of this resource.
17732
+ # Corresponds to the JSON property `description`
17733
+ # @return [String]
17734
+ attr_accessor :description
17735
+
17736
+ # Output only. For optimistic locking
17737
+ # Corresponds to the JSON property `etag`
17738
+ # @return [String]
17739
+ attr_accessor :etag
17740
+
17741
+ # Output only. [Output Only] The unique identifier for the resource. This
17742
+ # identifier is
17743
+ # defined by the server.
17744
+ # Corresponds to the JSON property `id`
17745
+ # @return [Fixnum]
17746
+ attr_accessor :id
17747
+
17748
+ # Output only. OUTPUT_ONLY fields
17749
+ # [Output Only] Name of the resource. Must be 1-63 characters long and match
17750
+ # the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first
17751
+ # character must be a lowercase letter, and all following characters must
17752
+ # be a dash, lowercase letter, or digit, except the last character, which
17753
+ # cannot be a dash.
17754
+ # Corresponds to the JSON property `name`
17755
+ # @return [String]
17756
+ attr_accessor :name
17757
+
17758
+ # Output only. [Output Only] Server-defined URL for the resource.
17759
+ # Corresponds to the JSON property `selfLink`
17760
+ # @return [String]
17761
+ attr_accessor :self_link
17762
+
17763
+ def initialize(**args)
17764
+ update!(**args)
17765
+ end
17766
+
17767
+ # Update properties of this object
17768
+ def update!(**args)
17769
+ @bundle_type = args[:bundle_type] if args.key?(:bundle_type)
17770
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
17771
+ @description = args[:description] if args.key?(:description)
17772
+ @etag = args[:etag] if args.key?(:etag)
17773
+ @id = args[:id] if args.key?(:id)
17774
+ @name = args[:name] if args.key?(:name)
17775
+ @self_link = args[:self_link] if args.key?(:self_link)
17776
+ end
17777
+ end
17778
+
17779
+ # Response to an UpdateGlobalFrontendSettingsRequest.
17780
+ class GlobalFrontendSettingsPatchResponse
17781
+ include Google::Apis::Core::Hashable
17782
+
17783
+ # Represents an Operation resource.
17784
+ # Google Compute Engine has three Operation resources:
17785
+ # * [Global](/compute/docs/reference/rest/beta/globalOperations)
17786
+ # * [Regional](/compute/docs/reference/rest/beta/regionOperations)
17787
+ # * [Zonal](/compute/docs/reference/rest/beta/zoneOperations)
17788
+ # You can use an operation resource to manage asynchronous API requests.
17789
+ # For more information, readHandling
17790
+ # API responses.
17791
+ # Operations can be global, regional or zonal.
17792
+ #
17793
+ # - For global operations, use the `globalOperations`
17794
+ # resource.
17795
+ # - For regional operations, use the
17796
+ # `regionOperations` resource.
17797
+ # - For zonal operations, use
17798
+ # the `zoneOperations` resource.
17799
+ # For more information, read
17800
+ # Global, Regional, and Zonal Resources.
17801
+ # Note that completed Operation resources have a limited
17802
+ # retention period.
17803
+ # Corresponds to the JSON property `operation`
17804
+ # @return [Google::Apis::ComputeBeta::Operation]
17805
+ attr_accessor :operation
17806
+
17807
+ def initialize(**args)
17808
+ update!(**args)
17809
+ end
17810
+
17811
+ # Update properties of this object
17812
+ def update!(**args)
17813
+ @operation = args[:operation] if args.key?(:operation)
17814
+ end
17815
+ end
17816
+
17319
17817
  #
17320
17818
  class GlobalNetworkEndpointGroupsAttachEndpointsRequest
17321
17819
  include Google::Apis::Core::Hashable
@@ -18273,6 +18771,7 @@ module Google
18273
18771
  # - IDPF
18274
18772
  # - SNP_SVSM_CAPABLE
18275
18773
  # - CCA_CAPABLE
18774
+ # - SUSPEND_SAFE_FPR
18276
18775
  # For more information, see
18277
18776
  # Enabling guest operating system features.
18278
18777
  # Corresponds to the JSON property `type`
@@ -31038,6 +31537,11 @@ module Google
31038
31537
  # @return [String]
31039
31538
  attr_accessor :self_link
31040
31539
 
31540
+ # Output only. Server-defined URL for this resource with the resource id.
31541
+ # Corresponds to the JSON property `selfLinkWithId`
31542
+ # @return [String]
31543
+ attr_accessor :self_link_with_id
31544
+
31041
31545
  # Output only. [Output Only] The current state of Interconnect functionality,
31042
31546
  # which can
31043
31547
  # take one of the following values:
@@ -31106,6 +31610,7 @@ module Google
31106
31610
  @requested_link_count = args[:requested_link_count] if args.key?(:requested_link_count)
31107
31611
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
31108
31612
  @self_link = args[:self_link] if args.key?(:self_link)
31613
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
31109
31614
  @state = args[:state] if args.key?(:state)
31110
31615
  @subzone = args[:subzone] if args.key?(:subzone)
31111
31616
  @wire_groups = args[:wire_groups] if args.key?(:wire_groups)
@@ -34417,6 +34922,19 @@ module Google
34417
34922
  # @return [String]
34418
34923
  attr_accessor :city
34419
34924
 
34925
+ # Output only. The maximum unmetered bandwidth for dynamic paths allowable per
34926
+ # WireGroup for this metro.
34927
+ # Corresponds to the JSON property `maxDynamicPathBandwidthGbps`
34928
+ # @return [Fixnum]
34929
+ attr_accessor :max_dynamic_path_bandwidth_gbps
34930
+
34931
+ # Output only. The maximum unmetered bandwidth for fixed paths allowable per
34932
+ # WireGroup
34933
+ # for this metro.
34934
+ # Corresponds to the JSON property `maxFixedPathBandwidthGbps`
34935
+ # @return [Fixnum]
34936
+ attr_accessor :max_fixed_path_bandwidth_gbps
34937
+
34420
34938
  def initialize(**args)
34421
34939
  update!(**args)
34422
34940
  end
@@ -34424,6 +34942,8 @@ module Google
34424
34942
  # Update properties of this object
34425
34943
  def update!(**args)
34426
34944
  @city = args[:city] if args.key?(:city)
34945
+ @max_dynamic_path_bandwidth_gbps = args[:max_dynamic_path_bandwidth_gbps] if args.key?(:max_dynamic_path_bandwidth_gbps)
34946
+ @max_fixed_path_bandwidth_gbps = args[:max_fixed_path_bandwidth_gbps] if args.key?(:max_fixed_path_bandwidth_gbps)
34427
34947
  end
34428
34948
  end
34429
34949
 
@@ -36186,6 +36706,147 @@ module Google
36186
36706
  end
36187
36707
  end
36188
36708
 
36709
+ #
36710
+ class ListVmExtensionStatesResponse
36711
+ include Google::Apis::Core::Hashable
36712
+
36713
+ # Output only. Fingerprint of this resource. A hash of the contents stored
36714
+ # in this object. This field is used in optimistic locking. This field will
36715
+ # be ignored when inserting a VmExtensionPolicy. An up-to-date
36716
+ # fingerprint must be provided in order to update the VmExtensionPolicy.
36717
+ # To see the latest value of the fingerprint, make a get() request to
36718
+ # retrieve a VmExtensionPolicy.
36719
+ # Corresponds to the JSON property `etag`
36720
+ # @return [String]
36721
+ attr_accessor :etag
36722
+
36723
+ # Output only. Unique identifier for the resource; defined by the server.
36724
+ # Corresponds to the JSON property `id`
36725
+ # @return [String]
36726
+ attr_accessor :id
36727
+
36728
+ # Output only. A list of VM extension policy resources.
36729
+ # Corresponds to the JSON property `items`
36730
+ # @return [Array<Google::Apis::ComputeBeta::VmExtensionState>]
36731
+ attr_accessor :items
36732
+
36733
+ # Output only. Type of resource.
36734
+ # Corresponds to the JSON property `kind`
36735
+ # @return [String]
36736
+ attr_accessor :kind
36737
+
36738
+ # Output only. This token allows you to get the next page of results for
36739
+ # list requests. If the number of results is larger thanmaxResults, use the
36740
+ # nextPageToken as a value for
36741
+ # the query parameter pageToken in the next list request.
36742
+ # Subsequent list requests will have their own nextPageToken to
36743
+ # continue paging through the results.
36744
+ # Corresponds to the JSON property `nextPageToken`
36745
+ # @return [String]
36746
+ attr_accessor :next_page_token
36747
+
36748
+ # Output only. Server-defined URL for this resource.
36749
+ # Corresponds to the JSON property `selfLink`
36750
+ # @return [String]
36751
+ attr_accessor :self_link
36752
+
36753
+ # Output only. Unreachable resources.
36754
+ # Corresponds to the JSON property `unreachables`
36755
+ # @return [Array<String>]
36756
+ attr_accessor :unreachables
36757
+
36758
+ # Output only. Informational warning message.
36759
+ # Corresponds to the JSON property `warning`
36760
+ # @return [Google::Apis::ComputeBeta::ListVmExtensionStatesResponse::Warning]
36761
+ attr_accessor :warning
36762
+
36763
+ def initialize(**args)
36764
+ update!(**args)
36765
+ end
36766
+
36767
+ # Update properties of this object
36768
+ def update!(**args)
36769
+ @etag = args[:etag] if args.key?(:etag)
36770
+ @id = args[:id] if args.key?(:id)
36771
+ @items = args[:items] if args.key?(:items)
36772
+ @kind = args[:kind] if args.key?(:kind)
36773
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
36774
+ @self_link = args[:self_link] if args.key?(:self_link)
36775
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
36776
+ @warning = args[:warning] if args.key?(:warning)
36777
+ end
36778
+
36779
+ # Output only. Informational warning message.
36780
+ class Warning
36781
+ include Google::Apis::Core::Hashable
36782
+
36783
+ # [Output Only] A warning code, if applicable. For example, Compute
36784
+ # Engine returns NO_RESULTS_ON_PAGE if there
36785
+ # are no results in the response.
36786
+ # Corresponds to the JSON property `code`
36787
+ # @return [String]
36788
+ attr_accessor :code
36789
+
36790
+ # [Output Only] Metadata about this warning in key:
36791
+ # value format. For example:
36792
+ # "data": [
36793
+ # `
36794
+ # "key": "scope",
36795
+ # "value": "zones/us-east1-d"
36796
+ # `]
36797
+ # Corresponds to the JSON property `data`
36798
+ # @return [Array<Google::Apis::ComputeBeta::ListVmExtensionStatesResponse::Warning::Datum>]
36799
+ attr_accessor :data
36800
+
36801
+ # [Output Only] A human-readable description of the warning code.
36802
+ # Corresponds to the JSON property `message`
36803
+ # @return [String]
36804
+ attr_accessor :message
36805
+
36806
+ def initialize(**args)
36807
+ update!(**args)
36808
+ end
36809
+
36810
+ # Update properties of this object
36811
+ def update!(**args)
36812
+ @code = args[:code] if args.key?(:code)
36813
+ @data = args[:data] if args.key?(:data)
36814
+ @message = args[:message] if args.key?(:message)
36815
+ end
36816
+
36817
+ #
36818
+ class Datum
36819
+ include Google::Apis::Core::Hashable
36820
+
36821
+ # [Output Only] A key that provides more detail on the warning being
36822
+ # returned. For example, for warnings where there are no results in a list
36823
+ # request for a particular zone, this key might be scope and
36824
+ # the key value might be the zone name. Other examples might be a key
36825
+ # indicating a deprecated resource and a suggested replacement, or a
36826
+ # warning about invalid network settings (for example, if an instance
36827
+ # attempts to perform IP forwarding but is not enabled for IP forwarding).
36828
+ # Corresponds to the JSON property `key`
36829
+ # @return [String]
36830
+ attr_accessor :key
36831
+
36832
+ # [Output Only] A warning data value corresponding to the key.
36833
+ # Corresponds to the JSON property `value`
36834
+ # @return [String]
36835
+ attr_accessor :value
36836
+
36837
+ def initialize(**args)
36838
+ update!(**args)
36839
+ end
36840
+
36841
+ # Update properties of this object
36842
+ def update!(**args)
36843
+ @key = args[:key] if args.key?(:key)
36844
+ @value = args[:value] if args.key?(:value)
36845
+ end
36846
+ end
36847
+ end
36848
+ end
36849
+
36189
36850
  #
36190
36851
  class LocalDisk
36191
36852
  include Google::Apis::Core::Hashable
@@ -37328,8 +37989,7 @@ module Google
37328
37989
  # @return [Google::Apis::ComputeBeta::ManagedInstanceShutdownDetails]
37329
37990
  attr_accessor :shutdown_details
37330
37991
 
37331
- # Output only. [Output Only] The eventual status of the instance. The instance
37332
- # group
37992
+ # Output only. The eventual status of the instance. The instance group
37333
37993
  # manager will not be identified as stable till each managed instance reaches
37334
37994
  # its targetStatus.
37335
37995
  # Corresponds to the JSON property `targetStatus`
@@ -45857,6 +46517,11 @@ module Google
45857
46517
  # @return [Google::Apis::ComputeBeta::Operation::Error]
45858
46518
  attr_accessor :error
45859
46519
 
46520
+ # Metadata for GetHealth operations.
46521
+ # Corresponds to the JSON property `getHealthOperationMetadata`
46522
+ # @return [Google::Apis::ComputeBeta::GetHealthOperationMetadata]
46523
+ attr_accessor :get_health_operation_metadata
46524
+
45860
46525
  #
45861
46526
  # Corresponds to the JSON property `getVersionOperationMetadata`
45862
46527
  # @return [Google::Apis::ComputeBeta::GetVersionOperationMetadata]
@@ -46009,6 +46674,7 @@ module Google
46009
46674
  @description = args[:description] if args.key?(:description)
46010
46675
  @end_time = args[:end_time] if args.key?(:end_time)
46011
46676
  @error = args[:error] if args.key?(:error)
46677
+ @get_health_operation_metadata = args[:get_health_operation_metadata] if args.key?(:get_health_operation_metadata)
46012
46678
  @get_version_operation_metadata = args[:get_version_operation_metadata] if args.key?(:get_version_operation_metadata)
46013
46679
  @http_error_message = args[:http_error_message] if args.key?(:http_error_message)
46014
46680
  @http_error_status_code = args[:http_error_status_code] if args.key?(:http_error_status_code)
@@ -49933,6 +50599,570 @@ module Google
49933
50599
  end
49934
50600
  end
49935
50601
 
50602
+ # Represents a RecoverableSnapshot resource.
50603
+ # A RecoverableSnapshot represents a snapshot in recycle bin.
50604
+ class RecoverableSnapshot
50605
+ include Google::Apis::Core::Hashable
50606
+
50607
+ # Output only. [Output Only] Creation timestamp inRFC3339
50608
+ # text format.
50609
+ # Corresponds to the JSON property `creationTimestamp`
50610
+ # @return [String]
50611
+ attr_accessor :creation_timestamp
50612
+
50613
+ # Optional. An optional description of this resource.
50614
+ # Corresponds to the JSON property `description`
50615
+ # @return [String]
50616
+ attr_accessor :description
50617
+
50618
+ # Output only. [Output Only] The unique identifier for the resource. This
50619
+ # identifier is
50620
+ # defined by the server.
50621
+ # Corresponds to the JSON property `id`
50622
+ # @return [Fixnum]
50623
+ attr_accessor :id
50624
+
50625
+ # Output only. [Output Only] Type of the resource. Alwayscompute#
50626
+ # recoverableSnapshot for RecoverableSnapshot
50627
+ # resources.
50628
+ # Corresponds to the JSON property `kind`
50629
+ # @return [String]
50630
+ attr_accessor :kind
50631
+
50632
+ # Output only. Identifier. Name of the recoverable snapshot generated on the
50633
+ # deletion of the snapshot.
50634
+ # The name will be 1-63 characters long, and comply withRFC1035.
50635
+ # Specifically, the name will be 1-63 characters long and match the regular
50636
+ # expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first
50637
+ # character will be a lowercase letter, and all following characters can be
50638
+ # a dash, lowercase letter, or digit, except the last character, which cannot
50639
+ # be a dash.
50640
+ # Corresponds to the JSON property `name`
50641
+ # @return [String]
50642
+ attr_accessor :name
50643
+
50644
+ # Output only. Output Only] The original snapshot resource.
50645
+ # Corresponds to the JSON property `originalResource`
50646
+ # @return [Google::Apis::ComputeBeta::RecoverableSnapshotOriginalSnapshot]
50647
+ attr_accessor :original_resource
50648
+
50649
+ # Output only. [Output Only] Purge timestamp of recoverable snapshot inRFC3339
50650
+ # text format.
50651
+ # Corresponds to the JSON property `purgeTimestamp`
50652
+ # @return [String]
50653
+ attr_accessor :purge_timestamp
50654
+
50655
+ # Output only. [Output Only] Reserved for future use.
50656
+ # Corresponds to the JSON property `satisfiesPzi`
50657
+ # @return [Boolean]
50658
+ attr_accessor :satisfies_pzi
50659
+ alias_method :satisfies_pzi?, :satisfies_pzi
50660
+
50661
+ # Output only. [Output Only] Reserved for future use.
50662
+ # Corresponds to the JSON property `satisfiesPzs`
50663
+ # @return [Boolean]
50664
+ attr_accessor :satisfies_pzs
50665
+ alias_method :satisfies_pzs?, :satisfies_pzs
50666
+
50667
+ # Output only. [Output Only] Server-defined URL for the resource.
50668
+ # Corresponds to the JSON property `selfLink`
50669
+ # @return [String]
50670
+ attr_accessor :self_link
50671
+
50672
+ # Output only. [Output Only] Server-defined URL for this resource's resource id.
50673
+ # Corresponds to the JSON property `selfLinkWithId`
50674
+ # @return [String]
50675
+ attr_accessor :self_link_with_id
50676
+
50677
+ # Output only. [Output Only] Status of the recoverable snapshot.
50678
+ # Corresponds to the JSON property `status`
50679
+ # @return [String]
50680
+ attr_accessor :status
50681
+
50682
+ def initialize(**args)
50683
+ update!(**args)
50684
+ end
50685
+
50686
+ # Update properties of this object
50687
+ def update!(**args)
50688
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
50689
+ @description = args[:description] if args.key?(:description)
50690
+ @id = args[:id] if args.key?(:id)
50691
+ @kind = args[:kind] if args.key?(:kind)
50692
+ @name = args[:name] if args.key?(:name)
50693
+ @original_resource = args[:original_resource] if args.key?(:original_resource)
50694
+ @purge_timestamp = args[:purge_timestamp] if args.key?(:purge_timestamp)
50695
+ @satisfies_pzi = args[:satisfies_pzi] if args.key?(:satisfies_pzi)
50696
+ @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
50697
+ @self_link = args[:self_link] if args.key?(:self_link)
50698
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
50699
+ @status = args[:status] if args.key?(:status)
50700
+ end
50701
+ end
50702
+
50703
+ #
50704
+ class RecoverableSnapshotList
50705
+ include Google::Apis::Core::Hashable
50706
+
50707
+ #
50708
+ # Corresponds to the JSON property `etag`
50709
+ # @return [String]
50710
+ attr_accessor :etag
50711
+
50712
+ # [Output Only] Unique identifier for the resource; defined by the server.
50713
+ # Corresponds to the JSON property `id`
50714
+ # @return [String]
50715
+ attr_accessor :id
50716
+
50717
+ # A list of RecoverableSnapshots resources.
50718
+ # Corresponds to the JSON property `items`
50719
+ # @return [Array<Google::Apis::ComputeBeta::RecoverableSnapshot>]
50720
+ attr_accessor :items
50721
+
50722
+ # Output only. [Output Only] Type of resource. Alwayscompute#
50723
+ # recoverableSnapshotList for lists of
50724
+ # recoverablesnapshots.
50725
+ # Corresponds to the JSON property `kind`
50726
+ # @return [String]
50727
+ attr_accessor :kind
50728
+
50729
+ # [Output Only] This token allows you to get the next page of results for
50730
+ # list requests. If the number of results is larger thanmaxResults, use the
50731
+ # nextPageToken as a value for
50732
+ # the query parameter pageToken in the next list request.
50733
+ # Subsequent list requests will have their own nextPageToken to
50734
+ # continue paging through the results.
50735
+ # Corresponds to the JSON property `nextPageToken`
50736
+ # @return [String]
50737
+ attr_accessor :next_page_token
50738
+
50739
+ # Output only. [Output Only] Server-defined URL for this resource.
50740
+ # Corresponds to the JSON property `selfLink`
50741
+ # @return [String]
50742
+ attr_accessor :self_link
50743
+
50744
+ # Output only. [Output Only] Unreachable resources.
50745
+ # end_interface: MixerListResponseWithEtagBuilder
50746
+ # Corresponds to the JSON property `unreachables`
50747
+ # @return [Array<String>]
50748
+ attr_accessor :unreachables
50749
+
50750
+ # [Output Only] Informational warning message.
50751
+ # Corresponds to the JSON property `warning`
50752
+ # @return [Google::Apis::ComputeBeta::RecoverableSnapshotList::Warning]
50753
+ attr_accessor :warning
50754
+
50755
+ def initialize(**args)
50756
+ update!(**args)
50757
+ end
50758
+
50759
+ # Update properties of this object
50760
+ def update!(**args)
50761
+ @etag = args[:etag] if args.key?(:etag)
50762
+ @id = args[:id] if args.key?(:id)
50763
+ @items = args[:items] if args.key?(:items)
50764
+ @kind = args[:kind] if args.key?(:kind)
50765
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
50766
+ @self_link = args[:self_link] if args.key?(:self_link)
50767
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
50768
+ @warning = args[:warning] if args.key?(:warning)
50769
+ end
50770
+
50771
+ # [Output Only] Informational warning message.
50772
+ class Warning
50773
+ include Google::Apis::Core::Hashable
50774
+
50775
+ # [Output Only] A warning code, if applicable. For example, Compute
50776
+ # Engine returns NO_RESULTS_ON_PAGE if there
50777
+ # are no results in the response.
50778
+ # Corresponds to the JSON property `code`
50779
+ # @return [String]
50780
+ attr_accessor :code
50781
+
50782
+ # [Output Only] Metadata about this warning in key:
50783
+ # value format. For example:
50784
+ # "data": [
50785
+ # `
50786
+ # "key": "scope",
50787
+ # "value": "zones/us-east1-d"
50788
+ # `]
50789
+ # Corresponds to the JSON property `data`
50790
+ # @return [Array<Google::Apis::ComputeBeta::RecoverableSnapshotList::Warning::Datum>]
50791
+ attr_accessor :data
50792
+
50793
+ # [Output Only] A human-readable description of the warning code.
50794
+ # Corresponds to the JSON property `message`
50795
+ # @return [String]
50796
+ attr_accessor :message
50797
+
50798
+ def initialize(**args)
50799
+ update!(**args)
50800
+ end
50801
+
50802
+ # Update properties of this object
50803
+ def update!(**args)
50804
+ @code = args[:code] if args.key?(:code)
50805
+ @data = args[:data] if args.key?(:data)
50806
+ @message = args[:message] if args.key?(:message)
50807
+ end
50808
+
50809
+ #
50810
+ class Datum
50811
+ include Google::Apis::Core::Hashable
50812
+
50813
+ # [Output Only] A key that provides more detail on the warning being
50814
+ # returned. For example, for warnings where there are no results in a list
50815
+ # request for a particular zone, this key might be scope and
50816
+ # the key value might be the zone name. Other examples might be a key
50817
+ # indicating a deprecated resource and a suggested replacement, or a
50818
+ # warning about invalid network settings (for example, if an instance
50819
+ # attempts to perform IP forwarding but is not enabled for IP forwarding).
50820
+ # Corresponds to the JSON property `key`
50821
+ # @return [String]
50822
+ attr_accessor :key
50823
+
50824
+ # [Output Only] A warning data value corresponding to the key.
50825
+ # Corresponds to the JSON property `value`
50826
+ # @return [String]
50827
+ attr_accessor :value
50828
+
50829
+ def initialize(**args)
50830
+ update!(**args)
50831
+ end
50832
+
50833
+ # Update properties of this object
50834
+ def update!(**args)
50835
+ @key = args[:key] if args.key?(:key)
50836
+ @value = args[:value] if args.key?(:value)
50837
+ end
50838
+ end
50839
+ end
50840
+ end
50841
+
50842
+ #
50843
+ class RecoverableSnapshotOriginalSnapshot
50844
+ include Google::Apis::Core::Hashable
50845
+
50846
+ # Output only. [Output Only] The architecture of the snapshot. Valid values are
50847
+ # ARM64 or X86_64.
50848
+ # Corresponds to the JSON property `architecture`
50849
+ # @return [String]
50850
+ attr_accessor :architecture
50851
+
50852
+ # Output only. [Output Only] Set to true if snapshots are automatically created
50853
+ # by
50854
+ # applying resource policy on the target disk.
50855
+ # Corresponds to the JSON property `autoCreated`
50856
+ # @return [Boolean]
50857
+ attr_accessor :auto_created
50858
+ alias_method :auto_created?, :auto_created
50859
+
50860
+ # Creates the new snapshot in the snapshot chain labeled with the
50861
+ # specified name. The chain name must be 1-63 characters long and comply
50862
+ # with RFC1035. This is an uncommon option only for advanced service
50863
+ # owners who needs to create separate snapshot chains, for example,
50864
+ # for chargeback tracking. When you describe your snapshot resource, this
50865
+ # field is visible only if it has a non-empty value.
50866
+ # Corresponds to the JSON property `chainName`
50867
+ # @return [String]
50868
+ attr_accessor :chain_name
50869
+
50870
+ # Output only. [Output Only] Size in bytes of the snapshot at creation time.
50871
+ # Corresponds to the JSON property `creationSizeBytes`
50872
+ # @return [Fixnum]
50873
+ attr_accessor :creation_size_bytes
50874
+
50875
+ # Output only. [Output Only] Creation timestamp inRFC3339 text format.
50876
+ # Corresponds to the JSON property `creationTimestamp`
50877
+ # @return [String]
50878
+ attr_accessor :creation_timestamp
50879
+
50880
+ # Output only. [Output Only] Deletion timestamp of snapshot inRFC3339 text
50881
+ # format.
50882
+ # Corresponds to the JSON property `deletionTimestamp`
50883
+ # @return [String]
50884
+ attr_accessor :deletion_timestamp
50885
+
50886
+ # An optional description of this resource.
50887
+ # Corresponds to the JSON property `description`
50888
+ # @return [String]
50889
+ attr_accessor :description
50890
+
50891
+ # Output only. [Output Only] Size of the source disk, specified in GB.
50892
+ # Corresponds to the JSON property `diskSizeGb`
50893
+ # @return [Fixnum]
50894
+ attr_accessor :disk_size_gb
50895
+
50896
+ # Output only. [Output Only] Number of bytes downloaded to restore a snapshot to
50897
+ # a disk.
50898
+ # Corresponds to the JSON property `downloadBytes`
50899
+ # @return [Fixnum]
50900
+ attr_accessor :download_bytes
50901
+
50902
+ # Output only. Whether this snapshot is created from a confidential compute mode
50903
+ # disk.
50904
+ # [Output Only]: This field is not set by user, but from source disk.
50905
+ # Corresponds to the JSON property `enableConfidentialCompute`
50906
+ # @return [Boolean]
50907
+ attr_accessor :enable_confidential_compute
50908
+ alias_method :enable_confidential_compute?, :enable_confidential_compute
50909
+
50910
+ # Output only. [Output Only] A list of features to enable on the guest operating
50911
+ # system.
50912
+ # Applicable only for bootable images. Read
50913
+ # Enabling guest operating system features to see a list of available
50914
+ # options.
50915
+ # Corresponds to the JSON property `guestOsFeatures`
50916
+ # @return [Array<Google::Apis::ComputeBeta::GuestOsFeature>]
50917
+ attr_accessor :guest_os_features
50918
+
50919
+ # Output only. [Output Only] The unique identifier for the original snapshot.
50920
+ # This
50921
+ # identifier is defined by the server.
50922
+ # Corresponds to the JSON property `id`
50923
+ # @return [Fixnum]
50924
+ attr_accessor :id
50925
+
50926
+ # A fingerprint for the labels being applied to this snapshot, which is
50927
+ # essentially a hash of the labels set used for optimistic locking. The
50928
+ # fingerprint is initially generated by Compute Engine and changes after
50929
+ # every request to modify or update labels. You must always provide an
50930
+ # up-to-date fingerprint hash in order to update or change labels,
50931
+ # otherwise the request will fail with error412 conditionNotMet.
50932
+ # To see the latest fingerprint, make a get() request to
50933
+ # retrieve a snapshot.
50934
+ # Corresponds to the JSON property `labelFingerprint`
50935
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
50936
+ # @return [String]
50937
+ attr_accessor :label_fingerprint
50938
+
50939
+ # Labels to apply to this snapshot. These can be later modified by
50940
+ # the setLabels method.
50941
+ # Label values may be empty.
50942
+ # Corresponds to the JSON property `labels`
50943
+ # @return [Hash<String,String>]
50944
+ attr_accessor :labels
50945
+
50946
+ # Output only. [Output Only] Integer license codes indicating which licenses are
50947
+ # attached to this snapshot.
50948
+ # Corresponds to the JSON property `licenseCodes`
50949
+ # @return [Array<Fixnum>]
50950
+ attr_accessor :license_codes
50951
+
50952
+ # Output only. [Output Only] A list of public visible licenses that apply to
50953
+ # this
50954
+ # snapshot.
50955
+ # Corresponds to the JSON property `licenses`
50956
+ # @return [Array<String>]
50957
+ attr_accessor :licenses
50958
+
50959
+ # Number of days the snapshot should be retained before being deleted
50960
+ # automatically.
50961
+ # Corresponds to the JSON property `maxRetentionDays`
50962
+ # @return [Fixnum]
50963
+ attr_accessor :max_retention_days
50964
+
50965
+ # Name of the original snapshot provided by the client. The name must be
50966
+ # 1-63 characters long, and comply with RFC1035.
50967
+ # Specifically, the name must be 1-63 characters long and match the regular
50968
+ # expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first
50969
+ # character must be a lowercase letter, and all following characters must
50970
+ # be a dash, lowercase letter, or digit, except the last character, which
50971
+ # cannot be a dash.
50972
+ # Corresponds to the JSON property `name`
50973
+ # @return [String]
50974
+ attr_accessor :name
50975
+
50976
+ # Output only. [Output Only] URL of the region where the snapshot resides. Only
50977
+ # applicable for regional snapshots.
50978
+ # Corresponds to the JSON property `region`
50979
+ # @return [String]
50980
+ attr_accessor :region
50981
+
50982
+ # Output only. Reserved for future use.
50983
+ # Corresponds to the JSON property `satisfiesPzi`
50984
+ # @return [Boolean]
50985
+ attr_accessor :satisfies_pzi
50986
+ alias_method :satisfies_pzi?, :satisfies_pzi
50987
+
50988
+ # Output only. [Output Only] Reserved for future use.
50989
+ # Corresponds to the JSON property `satisfiesPzs`
50990
+ # @return [Boolean]
50991
+ attr_accessor :satisfies_pzs
50992
+ alias_method :satisfies_pzs?, :satisfies_pzs
50993
+
50994
+ # Output only. [Output Only] Server-defined URL for the resource.
50995
+ # Corresponds to the JSON property `selfLink`
50996
+ # @return [String]
50997
+ attr_accessor :self_link
50998
+
50999
+ # Output only. [Output Only] Server-defined URL for this resource's resource id.
51000
+ # Corresponds to the JSON property `selfLinkWithId`
51001
+ # @return [String]
51002
+ attr_accessor :self_link_with_id
51003
+
51004
+ # Encrypts the snapshot using acustomer-supplied
51005
+ # encryption key.
51006
+ # After you encrypt a snapshot using a customer-supplied key, you must
51007
+ # provide the same key if you use the snapshot later. For example, you must
51008
+ # provide the encryption key when you create a disk from the encrypted
51009
+ # snapshot in a future request.
51010
+ # Customer-supplied encryption keys do not protect access to metadata
51011
+ # of the snapshot.
51012
+ # If you do not provide an encryption key when creating the snapshot, then
51013
+ # the snapshot will be encrypted using an automatically generated key and
51014
+ # you do not need to provide a key to use the snapshot later.
51015
+ # Corresponds to the JSON property `snapshotEncryptionKey`
51016
+ # @return [Google::Apis::ComputeBeta::CustomerEncryptionKey]
51017
+ attr_accessor :snapshot_encryption_key
51018
+
51019
+ # Output only. [Output Only] The unique ID of the snapshot group that this
51020
+ # snapshot
51021
+ # belongs to. The usage of snapshot group feature is restricted.
51022
+ # Corresponds to the JSON property `snapshotGroupId`
51023
+ # @return [String]
51024
+ attr_accessor :snapshot_group_id
51025
+
51026
+ # Output only. [Output only] The snapshot group that this snapshot belongs to.
51027
+ # The usage
51028
+ # of snapshot group feature is restricted.
51029
+ # Corresponds to the JSON property `snapshotGroupName`
51030
+ # @return [String]
51031
+ attr_accessor :snapshot_group_name
51032
+
51033
+ # Indicates the type of the snapshot.
51034
+ # Corresponds to the JSON property `snapshotType`
51035
+ # @return [String]
51036
+ attr_accessor :snapshot_type
51037
+
51038
+ # The source disk used to create this snapshot.
51039
+ # Corresponds to the JSON property `sourceDisk`
51040
+ # @return [String]
51041
+ attr_accessor :source_disk
51042
+
51043
+ # The customer-supplied
51044
+ # encryption key of the source disk. Required if the source disk is
51045
+ # protected by a customer-supplied encryption key.
51046
+ # Corresponds to the JSON property `sourceDiskEncryptionKey`
51047
+ # @return [Google::Apis::ComputeBeta::CustomerEncryptionKey]
51048
+ attr_accessor :source_disk_encryption_key
51049
+
51050
+ # The source disk whose recovery checkpoint will be used to create this
51051
+ # snapshot.
51052
+ # Corresponds to the JSON property `sourceDiskForRecoveryCheckpoint`
51053
+ # @return [String]
51054
+ attr_accessor :source_disk_for_recovery_checkpoint
51055
+
51056
+ # Output only. [Output Only] The ID value of the disk used to create this
51057
+ # snapshot
51058
+ # Corresponds to the JSON property `sourceDiskId`
51059
+ # @return [String]
51060
+ attr_accessor :source_disk_id
51061
+
51062
+ # The source instant snapshot used to create this snapshot.
51063
+ # Corresponds to the JSON property `sourceInstantSnapshot`
51064
+ # @return [String]
51065
+ attr_accessor :source_instant_snapshot
51066
+
51067
+ # Customer provided encryption key when creating Snapshot from Instant
51068
+ # Snapshot.
51069
+ # Corresponds to the JSON property `sourceInstantSnapshotEncryptionKey`
51070
+ # @return [Google::Apis::ComputeBeta::CustomerEncryptionKey]
51071
+ attr_accessor :source_instant_snapshot_encryption_key
51072
+
51073
+ # Output only. [Output Only] The unique ID of the instant snapshot used to
51074
+ # create this
51075
+ # snapshot. This value identifies the exact instant snapshot that was used
51076
+ # to create this persistent disk. For example, if you created the
51077
+ # persistent disk from an instant snapshot that was later deleted and
51078
+ # recreated under the same name, the source instant snapshot ID would
51079
+ # identify the exact instant snapshot that was used.
51080
+ # Corresponds to the JSON property `sourceInstantSnapshotId`
51081
+ # @return [String]
51082
+ attr_accessor :source_instant_snapshot_id
51083
+
51084
+ # Output only. [Output Only] URL of the resource policy which created this
51085
+ # scheduled snapshot.
51086
+ # Corresponds to the JSON property `sourceSnapshotSchedulePolicy`
51087
+ # @return [String]
51088
+ attr_accessor :source_snapshot_schedule_policy
51089
+
51090
+ # Output only. [Output Only] ID of the resource policy which created this
51091
+ # scheduled snapshot.
51092
+ # Corresponds to the JSON property `sourceSnapshotSchedulePolicyId`
51093
+ # @return [String]
51094
+ attr_accessor :source_snapshot_schedule_policy_id
51095
+
51096
+ # Output only. [Output Only] A size of the storage used by the snapshot.
51097
+ # Corresponds to the JSON property `storageBytes`
51098
+ # @return [Fixnum]
51099
+ attr_accessor :storage_bytes
51100
+
51101
+ # Output only. [Deprecated] Instead, check the storageBytes field. After
51102
+ # snapshot creation, the storageBytesStatus field is alwaysUP_TO_DATE.
51103
+ # [Output Only] An indicator whether storageBytes is in a
51104
+ # stable state or it is being adjusted as a result of shared storage
51105
+ # reallocation. This status can either be unset, meaning the snapshot is
51106
+ # being created, or UP_TO_DATE, meaning the size of the
51107
+ # snapshot is up-to-date.
51108
+ # Corresponds to the JSON property `storageBytesStatus`
51109
+ # @return [String]
51110
+ attr_accessor :storage_bytes_status
51111
+
51112
+ # Cloud Storage bucket storage location of the snapshot (regional or
51113
+ # multi-regional).
51114
+ # Corresponds to the JSON property `storageLocations`
51115
+ # @return [Array<String>]
51116
+ attr_accessor :storage_locations
51117
+
51118
+ def initialize(**args)
51119
+ update!(**args)
51120
+ end
51121
+
51122
+ # Update properties of this object
51123
+ def update!(**args)
51124
+ @architecture = args[:architecture] if args.key?(:architecture)
51125
+ @auto_created = args[:auto_created] if args.key?(:auto_created)
51126
+ @chain_name = args[:chain_name] if args.key?(:chain_name)
51127
+ @creation_size_bytes = args[:creation_size_bytes] if args.key?(:creation_size_bytes)
51128
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
51129
+ @deletion_timestamp = args[:deletion_timestamp] if args.key?(:deletion_timestamp)
51130
+ @description = args[:description] if args.key?(:description)
51131
+ @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
51132
+ @download_bytes = args[:download_bytes] if args.key?(:download_bytes)
51133
+ @enable_confidential_compute = args[:enable_confidential_compute] if args.key?(:enable_confidential_compute)
51134
+ @guest_os_features = args[:guest_os_features] if args.key?(:guest_os_features)
51135
+ @id = args[:id] if args.key?(:id)
51136
+ @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
51137
+ @labels = args[:labels] if args.key?(:labels)
51138
+ @license_codes = args[:license_codes] if args.key?(:license_codes)
51139
+ @licenses = args[:licenses] if args.key?(:licenses)
51140
+ @max_retention_days = args[:max_retention_days] if args.key?(:max_retention_days)
51141
+ @name = args[:name] if args.key?(:name)
51142
+ @region = args[:region] if args.key?(:region)
51143
+ @satisfies_pzi = args[:satisfies_pzi] if args.key?(:satisfies_pzi)
51144
+ @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
51145
+ @self_link = args[:self_link] if args.key?(:self_link)
51146
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
51147
+ @snapshot_encryption_key = args[:snapshot_encryption_key] if args.key?(:snapshot_encryption_key)
51148
+ @snapshot_group_id = args[:snapshot_group_id] if args.key?(:snapshot_group_id)
51149
+ @snapshot_group_name = args[:snapshot_group_name] if args.key?(:snapshot_group_name)
51150
+ @snapshot_type = args[:snapshot_type] if args.key?(:snapshot_type)
51151
+ @source_disk = args[:source_disk] if args.key?(:source_disk)
51152
+ @source_disk_encryption_key = args[:source_disk_encryption_key] if args.key?(:source_disk_encryption_key)
51153
+ @source_disk_for_recovery_checkpoint = args[:source_disk_for_recovery_checkpoint] if args.key?(:source_disk_for_recovery_checkpoint)
51154
+ @source_disk_id = args[:source_disk_id] if args.key?(:source_disk_id)
51155
+ @source_instant_snapshot = args[:source_instant_snapshot] if args.key?(:source_instant_snapshot)
51156
+ @source_instant_snapshot_encryption_key = args[:source_instant_snapshot_encryption_key] if args.key?(:source_instant_snapshot_encryption_key)
51157
+ @source_instant_snapshot_id = args[:source_instant_snapshot_id] if args.key?(:source_instant_snapshot_id)
51158
+ @source_snapshot_schedule_policy = args[:source_snapshot_schedule_policy] if args.key?(:source_snapshot_schedule_policy)
51159
+ @source_snapshot_schedule_policy_id = args[:source_snapshot_schedule_policy_id] if args.key?(:source_snapshot_schedule_policy_id)
51160
+ @storage_bytes = args[:storage_bytes] if args.key?(:storage_bytes)
51161
+ @storage_bytes_status = args[:storage_bytes_status] if args.key?(:storage_bytes_status)
51162
+ @storage_locations = args[:storage_locations] if args.key?(:storage_locations)
51163
+ end
51164
+ end
51165
+
49936
51166
  # Represents a reference to a resource.
49937
51167
  class Reference
49938
51168
  include Google::Apis::Core::Hashable
@@ -64071,157 +65301,333 @@ module Google
64071
65301
  end
64072
65302
  end
64073
65303
 
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
65304
+ # Represents a SnapshotGroup resource.
65305
+ # A snapshot group is a set of snapshots that represents a point in time state
65306
+ # of a consistency group.
65307
+ class SnapshotGroup
65308
+ include Google::Apis::Core::Hashable
65309
+
65310
+ # Output only. [Output Only] Creation timestamp inRFC3339
65311
+ # text format.
65312
+ # Corresponds to the JSON property `creationTimestamp`
65313
+ # @return [String]
65314
+ attr_accessor :creation_timestamp
65315
+
65316
+ # Optional. An optional description of this resource. Provide this property when
65317
+ # you
65318
+ # create the resource.
65319
+ # Corresponds to the JSON property `description`
65320
+ # @return [String]
65321
+ attr_accessor :description
65322
+
65323
+ # Output only. [Output Only] The unique identifier for the resource. This
65324
+ # identifier is
65325
+ # defined by the server.
65326
+ # Corresponds to the JSON property `id`
65327
+ # @return [Fixnum]
65328
+ attr_accessor :id
65329
+
65330
+ # Output only. [Output Only] Type of the resource. Alwayscompute#snapshotGroup
65331
+ # for SnapshotGroup
65332
+ # resources.
65333
+ # Corresponds to the JSON property `kind`
65334
+ # @return [String]
65335
+ attr_accessor :kind
65336
+
65337
+ # Identifier. Name of the resource; provided by the client when the resource is
65338
+ # created.
65339
+ # The name must be 1-63 characters long, and comply withRFC1035.
65340
+ # Specifically, the name must be 1-63 characters long and match the regular
65341
+ # expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first
65342
+ # character must be a lowercase letter, and all following characters must be
65343
+ # a dash, lowercase letter, or digit, except the last character, which cannot
65344
+ # be a dash.
65345
+ # Corresponds to the JSON property `name`
65346
+ # @return [String]
65347
+ attr_accessor :name
65348
+
65349
+ # Output only. [Output Only] Server-defined URL for the resource.
65350
+ # Corresponds to the JSON property `selfLink`
65351
+ # @return [String]
65352
+ attr_accessor :self_link
65353
+
65354
+ # Output only. [Output Only] Server-defined URL for this resource's resource id.
65355
+ # Corresponds to the JSON property `selfLinkWithId`
65356
+ # @return [String]
65357
+ attr_accessor :self_link_with_id
65358
+
65359
+ # Output only. [Output Only]
65360
+ # Corresponds to the JSON property `sourceInfo`
65361
+ # @return [Google::Apis::ComputeBeta::SnapshotGroupSourceInfo]
65362
+ attr_accessor :source_info
65363
+
65364
+ # Input field for the source instant snapshot group.
65365
+ # Corresponds to the JSON property `sourceInstantSnapshotGroup`
65366
+ # @return [String]
65367
+ attr_accessor :source_instant_snapshot_group
65368
+
65369
+ # Output only. [Output Only]
65370
+ # Corresponds to the JSON property `sourceInstantSnapshotGroupInfo`
65371
+ # @return [Google::Apis::ComputeBeta::SnapshotGroupSourceInstantSnapshotGroupInfo]
65372
+ attr_accessor :source_instant_snapshot_group_info
65373
+
65374
+ # Output only. [Output Only]
65375
+ # Corresponds to the JSON property `status`
65376
+ # @return [String]
65377
+ attr_accessor :status
65378
+
65379
+ def initialize(**args)
65380
+ update!(**args)
65381
+ end
65382
+
65383
+ # Update properties of this object
65384
+ def update!(**args)
65385
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
65386
+ @description = args[:description] if args.key?(:description)
65387
+ @id = args[:id] if args.key?(:id)
65388
+ @kind = args[:kind] if args.key?(:kind)
65389
+ @name = args[:name] if args.key?(:name)
65390
+ @self_link = args[:self_link] if args.key?(:self_link)
65391
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
65392
+ @source_info = args[:source_info] if args.key?(:source_info)
65393
+ @source_instant_snapshot_group = args[:source_instant_snapshot_group] if args.key?(:source_instant_snapshot_group)
65394
+ @source_instant_snapshot_group_info = args[:source_instant_snapshot_group_info] if args.key?(:source_instant_snapshot_group_info)
65395
+ @status = args[:status] if args.key?(:status)
65396
+ end
65397
+ end
65398
+
65399
+ #
65400
+ class SnapshotGroupParameters
65401
+ include Google::Apis::Core::Hashable
65402
+
65403
+ # URLs of the zones where disks should be replicated to. Only applicable
65404
+ # for regional resources.
65405
+ # Corresponds to the JSON property `replicaZones`
65406
+ # @return [Array<String>]
65407
+ attr_accessor :replica_zones
65408
+
65409
+ # The source snapshot group used to create disks. You can provide this as a
65410
+ # partial or full URL to the resource. For example, the following are valid
65411
+ # values:
65412
+ #
65413
+ #
65414
+ # - https://www.googleapis.com/compute/v1/projects/project/global/
65415
+ # snapshotGroups/snapshotGroup
65416
+ # - projects/project/global/snapshotGroups/snapshotGroup
65417
+ # - global/snapshotGroups/snapshotGroup
65418
+ # Corresponds to the JSON property `sourceSnapshotGroup`
65419
+ # @return [String]
65420
+ attr_accessor :source_snapshot_group
65421
+
65422
+ # URL of the disk type resource describing which disk type to use to create
65423
+ # disks. Provide this when creating the disk. For example:projects/project/zones/
65424
+ # zone/diskTypes/pd-ssd. See Persistent disk
65425
+ # types.
65426
+ # Corresponds to the JSON property `type`
65427
+ # @return [String]
65428
+ attr_accessor :type
65429
+
65430
+ def initialize(**args)
65431
+ update!(**args)
65432
+ end
65433
+
65434
+ # Update properties of this object
65435
+ def update!(**args)
65436
+ @replica_zones = args[:replica_zones] if args.key?(:replica_zones)
65437
+ @source_snapshot_group = args[:source_snapshot_group] if args.key?(:source_snapshot_group)
65438
+ @type = args[:type] if args.key?(:type)
65439
+ end
65440
+ end
65441
+
65442
+ #
65443
+ class SnapshotGroupSourceInfo
65444
+ include Google::Apis::Core::Hashable
65445
+
65446
+ #
65447
+ # Corresponds to the JSON property `consistencyGroup`
65448
+ # @return [String]
65449
+ attr_accessor :consistency_group
65450
+
65451
+ #
65452
+ # Corresponds to the JSON property `consistencyGroupId`
65453
+ # @return [String]
65454
+ attr_accessor :consistency_group_id
65455
+
65456
+ def initialize(**args)
65457
+ update!(**args)
65458
+ end
65459
+
65460
+ # Update properties of this object
65461
+ def update!(**args)
65462
+ @consistency_group = args[:consistency_group] if args.key?(:consistency_group)
65463
+ @consistency_group_id = args[:consistency_group_id] if args.key?(:consistency_group_id)
65464
+ end
65465
+ end
65466
+
65467
+ #
65468
+ class SnapshotGroupSourceInstantSnapshotGroupInfo
65469
+ include Google::Apis::Core::Hashable
65470
+
65471
+ #
65472
+ # Corresponds to the JSON property `instantSnapshotGroup`
65473
+ # @return [String]
65474
+ attr_accessor :instant_snapshot_group
65475
+
65476
+ #
65477
+ # Corresponds to the JSON property `instantSnapshotGroupId`
65478
+ # @return [String]
65479
+ attr_accessor :instant_snapshot_group_id
65480
+
65481
+ def initialize(**args)
65482
+ update!(**args)
65483
+ end
65484
+
65485
+ # Update properties of this object
65486
+ def update!(**args)
65487
+ @instant_snapshot_group = args[:instant_snapshot_group] if args.key?(:instant_snapshot_group)
65488
+ @instant_snapshot_group_id = args[:instant_snapshot_group_id] if args.key?(:instant_snapshot_group_id)
65489
+ end
65490
+ end
65491
+
65492
+ # Contains a list of Snapshot resources.
65493
+ class SnapshotList
65494
+ include Google::Apis::Core::Hashable
65495
+
65496
+ # [Output Only] Unique identifier for the resource; defined by the server.
65497
+ # Corresponds to the JSON property `id`
65498
+ # @return [String]
65499
+ attr_accessor :id
65500
+
65501
+ # A list of Snapshot resources.
65502
+ # Corresponds to the JSON property `items`
65503
+ # @return [Array<Google::Apis::ComputeBeta::Snapshot>]
65504
+ attr_accessor :items
65505
+
65506
+ # Output only. Type of resource.
65507
+ # Corresponds to the JSON property `kind`
65508
+ # @return [String]
65509
+ attr_accessor :kind
65510
+
65511
+ # [Output Only] This token allows you to get the next page of results for
65512
+ # list requests. If the number of results is larger thanmaxResults, use the
65513
+ # nextPageToken as a value for
65514
+ # the query parameter pageToken in the next list request.
65515
+ # Subsequent list requests will have their own nextPageToken to
65516
+ # continue paging through the results.
65517
+ # Corresponds to the JSON property `nextPageToken`
65518
+ # @return [String]
65519
+ attr_accessor :next_page_token
65520
+
65521
+ # Output only. [Output Only] Server-defined URL for this resource.
65522
+ # Corresponds to the JSON property `selfLink`
65523
+ # @return [String]
65524
+ attr_accessor :self_link
65525
+
65526
+ # [Output Only] Informational warning message.
65527
+ # Corresponds to the JSON property `warning`
65528
+ # @return [Google::Apis::ComputeBeta::SnapshotList::Warning]
65529
+ attr_accessor :warning
65530
+
65531
+ def initialize(**args)
65532
+ update!(**args)
65533
+ end
65534
+
65535
+ # Update properties of this object
65536
+ def update!(**args)
65537
+ @id = args[:id] if args.key?(:id)
65538
+ @items = args[:items] if args.key?(:items)
65539
+ @kind = args[:kind] if args.key?(:kind)
65540
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
65541
+ @self_link = args[:self_link] if args.key?(:self_link)
65542
+ @warning = args[:warning] if args.key?(:warning)
65543
+ end
65544
+
65545
+ # [Output Only] Informational warning message.
65546
+ class Warning
65547
+ include Google::Apis::Core::Hashable
65548
+
65549
+ # [Output Only] A warning code, if applicable. For example, Compute
65550
+ # Engine returns NO_RESULTS_ON_PAGE if there
65551
+ # are no results in the response.
65552
+ # Corresponds to the JSON property `code`
65553
+ # @return [String]
65554
+ attr_accessor :code
65555
+
65556
+ # [Output Only] Metadata about this warning in key:
65557
+ # value format. For example:
65558
+ # "data": [
65559
+ # `
65560
+ # "key": "scope",
65561
+ # "value": "zones/us-east1-d"
65562
+ # `]
65563
+ # Corresponds to the JSON property `data`
65564
+ # @return [Array<Google::Apis::ComputeBeta::SnapshotList::Warning::Datum>]
65565
+ attr_accessor :data
65566
+
65567
+ # [Output Only] A human-readable description of the warning code.
65568
+ # Corresponds to the JSON property `message`
65569
+ # @return [String]
65570
+ attr_accessor :message
65571
+
65572
+ def initialize(**args)
65573
+ update!(**args)
65574
+ end
65575
+
65576
+ # Update properties of this object
65577
+ def update!(**args)
65578
+ @code = args[:code] if args.key?(:code)
65579
+ @data = args[:data] if args.key?(:data)
65580
+ @message = args[:message] if args.key?(:message)
65581
+ end
65582
+
65583
+ #
65584
+ class Datum
65585
+ include Google::Apis::Core::Hashable
65586
+
65587
+ # [Output Only] A key that provides more detail on the warning being
65588
+ # returned. For example, for warnings where there are no results in a list
65589
+ # request for a particular zone, this key might be scope and
65590
+ # the key value might be the zone name. Other examples might be a key
65591
+ # indicating a deprecated resource and a suggested replacement, or a
65592
+ # warning about invalid network settings (for example, if an instance
65593
+ # attempts to perform IP forwarding but is not enabled for IP forwarding).
65594
+ # Corresponds to the JSON property `key`
65595
+ # @return [String]
65596
+ attr_accessor :key
65597
+
65598
+ # [Output Only] A warning data value corresponding to the key.
65599
+ # Corresponds to the JSON property `value`
65600
+ # @return [String]
65601
+ attr_accessor :value
65602
+
65603
+ def initialize(**args)
65604
+ update!(**args)
65605
+ end
65606
+
65607
+ # Update properties of this object
65608
+ def update!(**args)
65609
+ @key = args[:key] if args.key?(:key)
65610
+ @value = args[:value] if args.key?(:value)
65611
+ end
65612
+ end
65613
+ end
65614
+ end
65615
+
65616
+ # Additional snapshot params.
65617
+ class SnapshotParams
64214
65618
  include Google::Apis::Core::Hashable
64215
65619
 
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
65620
+ # Input only. Resource manager tags to be bound to the snapshot. Tag keys and
65621
+ # values have
65622
+ # the same definition as resource
65623
+ # manager tags. Keys and values can be either in numeric format,
65624
+ # such as `tagKeys/`tag_key_id`` and `tagValues/`tag_value_id`` or in
65625
+ # namespaced format such as ``org_id|project_id`/`tag_key_short_name`` and
65626
+ # ``tag_value_short_name``. The field is ignored (both PUT &
65627
+ # PATCH) when empty.
65628
+ # Corresponds to the JSON property `resourceManagerTags`
65629
+ # @return [Hash<String,String>]
65630
+ attr_accessor :resource_manager_tags
64225
65631
 
64226
65632
  def initialize(**args)
64227
65633
  update!(**args)
@@ -64229,24 +65635,37 @@ module Google
64229
65635
 
64230
65636
  # Update properties of this object
64231
65637
  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)
65638
+ @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
64234
65639
  end
64235
65640
  end
64236
65641
 
64237
- #
64238
- class SnapshotGroupSourceInstantSnapshotGroupInfo
65642
+ # Represents the singleton resource Snapshot Recycle Bin Policy that
65643
+ # configures the retention duration for snapshots in the recycle bin.
65644
+ # You can configure the retention duration for snapshots in the recycle bin
65645
+ # at the project or organization level. If you configure the policy at the
65646
+ # organization level, all projects in that organization will share the same
65647
+ # policy. If you configure the policy at the project level it will be merged
65648
+ # with org level policy (if any) and the snapshots in that project will use
65649
+ # that policy.
65650
+ class SnapshotRecycleBinPolicy
64239
65651
  include Google::Apis::Core::Hashable
64240
65652
 
64241
- #
64242
- # Corresponds to the JSON property `instantSnapshotGroup`
64243
- # @return [String]
64244
- attr_accessor :instant_snapshot_group
65653
+ # The rules for the snapshot recycle bin policy. The key is either 'default'
65654
+ # or namespacedName of the TagValue which can be in the format:
65655
+ # ``organization_id`/`tag_key_short_name`/`tag_value_short_name`` or
65656
+ # ``project_id`/`tag_key_short_name`/`tag_value_short_name`` or
65657
+ # ``project_number`/`tag_key_short_name`/`tag_value_short_name``. The default
65658
+ # rule is applied if snapshots do not have any of these tags.
65659
+ # The value is the rule for the key.
65660
+ # Corresponds to the JSON property `rules`
65661
+ # @return [Hash<String,Google::Apis::ComputeBeta::SnapshotRecycleBinPolicyRule>]
65662
+ attr_accessor :rules
64245
65663
 
64246
- #
64247
- # Corresponds to the JSON property `instantSnapshotGroupId`
64248
- # @return [String]
64249
- attr_accessor :instant_snapshot_group_id
65664
+ # Output only. The system rules for snapshot recycle bin policy.
65665
+ # Defines the default rule that applies if no customer-defined rule matches.
65666
+ # Corresponds to the JSON property `systemRules`
65667
+ # @return [Hash<String,Google::Apis::ComputeBeta::SnapshotRecycleBinPolicyRule>]
65668
+ attr_accessor :system_rules
64250
65669
 
64251
65670
  def initialize(**args)
64252
65671
  update!(**args)
@@ -64254,49 +65673,19 @@ module Google
64254
65673
 
64255
65674
  # Update properties of this object
64256
65675
  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)
65676
+ @rules = args[:rules] if args.key?(:rules)
65677
+ @system_rules = args[:system_rules] if args.key?(:system_rules)
64259
65678
  end
64260
65679
  end
64261
65680
 
64262
- # Contains a list of Snapshot resources.
64263
- class SnapshotList
65681
+ # A rule that defines the retention policy for snapshots in the recycle bin.
65682
+ class SnapshotRecycleBinPolicyRule
64264
65683
  include Google::Apis::Core::Hashable
64265
65684
 
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
65685
+ # The rule config for snapshots in the recycle bin.
65686
+ # Corresponds to the JSON property `standardSnapshots`
65687
+ # @return [Google::Apis::ComputeBeta::SnapshotRecycleBinPolicyRuleRuleConfig]
65688
+ attr_accessor :standard_snapshots
64300
65689
 
64301
65690
  def initialize(**args)
64302
65691
  update!(**args)
@@ -64304,100 +65693,19 @@ module Google
64304
65693
 
64305
65694
  # Update properties of this object
64306
65695
  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
65696
+ @standard_snapshots = args[:standard_snapshots] if args.key?(:standard_snapshots)
64383
65697
  end
64384
65698
  end
64385
65699
 
64386
- # Additional snapshot params.
64387
- class SnapshotParams
65700
+ # The rule config for snapshots in the recycle bin.
65701
+ class SnapshotRecycleBinPolicyRuleRuleConfig
64388
65702
  include Google::Apis::Core::Hashable
64389
65703
 
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
65704
+ # The retention duration for snapshots in the recycle bin after which the
65705
+ # snapshots are automatically deleted from recycle bin.
65706
+ # Corresponds to the JSON property `retentionDurationDays`
65707
+ # @return [Fixnum]
65708
+ attr_accessor :retention_duration_days
64401
65709
 
64402
65710
  def initialize(**args)
64403
65711
  update!(**args)
@@ -64405,7 +65713,7 @@ module Google
64405
65713
 
64406
65714
  # Update properties of this object
64407
65715
  def update!(**args)
64408
- @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
65716
+ @retention_duration_days = args[:retention_duration_days] if args.key?(:retention_duration_days)
64409
65717
  end
64410
65718
  end
64411
65719
 
@@ -64554,6 +65862,25 @@ module Google
64554
65862
  end
64555
65863
  end
64556
65864
 
65865
+ #
65866
+ class SnapshotsGetEffectiveRecycleBinRuleResponse
65867
+ include Google::Apis::Core::Hashable
65868
+
65869
+ # The retention duration of the snapshot in recycle bin.
65870
+ # Corresponds to the JSON property `retentionDurationDays`
65871
+ # @return [Fixnum]
65872
+ attr_accessor :retention_duration_days
65873
+
65874
+ def initialize(**args)
65875
+ update!(**args)
65876
+ end
65877
+
65878
+ # Update properties of this object
65879
+ def update!(**args)
65880
+ @retention_duration_days = args[:retention_duration_days] if args.key?(:retention_duration_days)
65881
+ end
65882
+ end
65883
+
64557
65884
  #
64558
65885
  class SnapshotsScopedList
64559
65886
  include Google::Apis::Core::Hashable
@@ -74969,6 +76296,63 @@ module Google
74969
76296
  end
74970
76297
  end
74971
76298
 
76299
+ # State of an extension on an instance.
76300
+ class VmExtensionState
76301
+ include Google::Apis::Core::Hashable
76302
+
76303
+ # The status message of the extension if the extension fails to enforce.
76304
+ # Corresponds to the JSON property `enforcementMsg`
76305
+ # @return [String]
76306
+ attr_accessor :enforcement_msg
76307
+
76308
+ # The enforcement state of the extension.
76309
+ # If the extension is not enforced yet, then the health status will not be
76310
+ # specified.
76311
+ # Corresponds to the JSON property `enforcementState`
76312
+ # @return [String]
76313
+ attr_accessor :enforcement_state
76314
+
76315
+ # The health status message of the extension.
76316
+ # Corresponds to the JSON property `healthMsg`
76317
+ # @return [String]
76318
+ attr_accessor :health_msg
76319
+
76320
+ # The health status of the extension.
76321
+ # Corresponds to the JSON property `healthStatus`
76322
+ # @return [String]
76323
+ attr_accessor :health_status
76324
+
76325
+ # The name of the extension.
76326
+ # Corresponds to the JSON property `name`
76327
+ # @return [String]
76328
+ attr_accessor :name
76329
+
76330
+ # The id of the policy that is enforced on the extension.
76331
+ # Corresponds to the JSON property `policyId`
76332
+ # @return [String]
76333
+ attr_accessor :policy_id
76334
+
76335
+ # The version of the extension.
76336
+ # Corresponds to the JSON property `version`
76337
+ # @return [String]
76338
+ attr_accessor :version
76339
+
76340
+ def initialize(**args)
76341
+ update!(**args)
76342
+ end
76343
+
76344
+ # Update properties of this object
76345
+ def update!(**args)
76346
+ @enforcement_msg = args[:enforcement_msg] if args.key?(:enforcement_msg)
76347
+ @enforcement_state = args[:enforcement_state] if args.key?(:enforcement_state)
76348
+ @health_msg = args[:health_msg] if args.key?(:health_msg)
76349
+ @health_status = args[:health_status] if args.key?(:health_status)
76350
+ @name = args[:name] if args.key?(:name)
76351
+ @policy_id = args[:policy_id] if args.key?(:policy_id)
76352
+ @version = args[:version] if args.key?(:version)
76353
+ end
76354
+ end
76355
+
74972
76356
  # Represents a HA VPN gateway.
74973
76357
  # HA VPN is a high-availability (HA) Cloud VPN solution that lets you securely
74974
76358
  # connect your on-premises network to your Google Cloud Virtual Private Cloud