google-apis-compute_beta 0.67.0 → 0.68.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -6460,6 +6460,25 @@ module Google
6460
6460
  # @return [String]
6461
6461
  attr_accessor :source_image_id
6462
6462
 
6463
+ # The source instant snapshot used to create this disk. You can provide this as
6464
+ # a partial or full URL to the resource. For example, the following are valid
6465
+ # values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /
6466
+ # instantSnapshots/instantSnapshot - projects/project/zones/zone/
6467
+ # instantSnapshots/instantSnapshot - zones/zone/instantSnapshots/instantSnapshot
6468
+ # Corresponds to the JSON property `sourceInstantSnapshot`
6469
+ # @return [String]
6470
+ attr_accessor :source_instant_snapshot
6471
+
6472
+ # [Output Only] The unique ID of the instant snapshot used to create this disk.
6473
+ # This value identifies the exact instant snapshot that was used to create this
6474
+ # persistent disk. For example, if you created the persistent disk from an
6475
+ # instant snapshot that was later deleted and recreated under the same name, the
6476
+ # source instant snapshot ID would identify the exact version of the instant
6477
+ # snapshot that was used.
6478
+ # Corresponds to the JSON property `sourceInstantSnapshotId`
6479
+ # @return [String]
6480
+ attr_accessor :source_instant_snapshot_id
6481
+
6463
6482
  # The source snapshot used to create this disk. You can provide this as a
6464
6483
  # partial or full URL to the resource. For example, the following are valid
6465
6484
  # values: - https://www.googleapis.com/compute/v1/projects/project /global/
@@ -6581,6 +6600,8 @@ module Google
6581
6600
  @source_image = args[:source_image] if args.key?(:source_image)
6582
6601
  @source_image_encryption_key = args[:source_image_encryption_key] if args.key?(:source_image_encryption_key)
6583
6602
  @source_image_id = args[:source_image_id] if args.key?(:source_image_id)
6603
+ @source_instant_snapshot = args[:source_instant_snapshot] if args.key?(:source_instant_snapshot)
6604
+ @source_instant_snapshot_id = args[:source_instant_snapshot_id] if args.key?(:source_instant_snapshot_id)
6584
6605
  @source_snapshot = args[:source_snapshot] if args.key?(:source_snapshot)
6585
6606
  @source_snapshot_encryption_key = args[:source_snapshot_encryption_key] if args.key?(:source_snapshot_encryption_key)
6586
6607
  @source_snapshot_id = args[:source_snapshot_id] if args.key?(:source_snapshot_id)
@@ -14982,12 +15003,13 @@ module Google
14982
15003
  # @return [String]
14983
15004
  attr_accessor :health_check
14984
15005
 
14985
- # The number of seconds that the managed instance group waits before it applies
14986
- # autohealing policies to new instances or recently recreated instances. This
14987
- # initial delay allows instances to initialize and run their startup scripts
14988
- # before the instance group determines that they are UNHEALTHY. This prevents
14989
- # the managed instance group from recreating its instances prematurely. This
14990
- # value must be from range [0, 3600].
15006
+ # The initial delay is the number of seconds that a new VM takes to initialize
15007
+ # and run its startup script. During a VM's initial delay period, the MIG
15008
+ # ignores unsuccessful health checks because the VM might be in the startup
15009
+ # process. This prevents the MIG from prematurely recreating a VM. If the health
15010
+ # check receives a healthy response during the initial delay, it indicates that
15011
+ # the startup process is complete and the VM is ready. The value of initial
15012
+ # delay must be between 0 and 3600 seconds. The default value is 0.
14991
15013
  # Corresponds to the JSON property `initialDelaySec`
14992
15014
  # @return [Fixnum]
14993
15015
  attr_accessor :initial_delay_sec
@@ -17531,24 +17553,785 @@ module Google
17531
17553
 
17532
17554
  # Update properties of this object
17533
17555
  def update!(**args)
17534
- @disks = args[:disks] if args.key?(:disks)
17535
- @instance_encryption_key = args[:instance_encryption_key] if args.key?(:instance_encryption_key)
17556
+ @disks = args[:disks] if args.key?(:disks)
17557
+ @instance_encryption_key = args[:instance_encryption_key] if args.key?(:instance_encryption_key)
17558
+ end
17559
+ end
17560
+
17561
+ #
17562
+ class InstancesScopedList
17563
+ include Google::Apis::Core::Hashable
17564
+
17565
+ # [Output Only] A list of instances contained in this scope.
17566
+ # Corresponds to the JSON property `instances`
17567
+ # @return [Array<Google::Apis::ComputeBeta::Instance>]
17568
+ attr_accessor :instances
17569
+
17570
+ # [Output Only] Informational warning which replaces the list of instances when
17571
+ # the list is empty.
17572
+ # Corresponds to the JSON property `warning`
17573
+ # @return [Google::Apis::ComputeBeta::InstancesScopedList::Warning]
17574
+ attr_accessor :warning
17575
+
17576
+ def initialize(**args)
17577
+ update!(**args)
17578
+ end
17579
+
17580
+ # Update properties of this object
17581
+ def update!(**args)
17582
+ @instances = args[:instances] if args.key?(:instances)
17583
+ @warning = args[:warning] if args.key?(:warning)
17584
+ end
17585
+
17586
+ # [Output Only] Informational warning which replaces the list of instances when
17587
+ # the list is empty.
17588
+ class Warning
17589
+ include Google::Apis::Core::Hashable
17590
+
17591
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
17592
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
17593
+ # Corresponds to the JSON property `code`
17594
+ # @return [String]
17595
+ attr_accessor :code
17596
+
17597
+ # [Output Only] Metadata about this warning in key: value format. For example: "
17598
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
17599
+ # Corresponds to the JSON property `data`
17600
+ # @return [Array<Google::Apis::ComputeBeta::InstancesScopedList::Warning::Datum>]
17601
+ attr_accessor :data
17602
+
17603
+ # [Output Only] A human-readable description of the warning code.
17604
+ # Corresponds to the JSON property `message`
17605
+ # @return [String]
17606
+ attr_accessor :message
17607
+
17608
+ def initialize(**args)
17609
+ update!(**args)
17610
+ end
17611
+
17612
+ # Update properties of this object
17613
+ def update!(**args)
17614
+ @code = args[:code] if args.key?(:code)
17615
+ @data = args[:data] if args.key?(:data)
17616
+ @message = args[:message] if args.key?(:message)
17617
+ end
17618
+
17619
+ #
17620
+ class Datum
17621
+ include Google::Apis::Core::Hashable
17622
+
17623
+ # [Output Only] A key that provides more detail on the warning being returned.
17624
+ # For example, for warnings where there are no results in a list request for a
17625
+ # particular zone, this key might be scope and the key value might be the zone
17626
+ # name. Other examples might be a key indicating a deprecated resource and a
17627
+ # suggested replacement, or a warning about invalid network settings (for
17628
+ # example, if an instance attempts to perform IP forwarding but is not enabled
17629
+ # for IP forwarding).
17630
+ # Corresponds to the JSON property `key`
17631
+ # @return [String]
17632
+ attr_accessor :key
17633
+
17634
+ # [Output Only] A warning data value corresponding to the key.
17635
+ # Corresponds to the JSON property `value`
17636
+ # @return [String]
17637
+ attr_accessor :value
17638
+
17639
+ def initialize(**args)
17640
+ update!(**args)
17641
+ end
17642
+
17643
+ # Update properties of this object
17644
+ def update!(**args)
17645
+ @key = args[:key] if args.key?(:key)
17646
+ @value = args[:value] if args.key?(:value)
17647
+ end
17648
+ end
17649
+ end
17650
+ end
17651
+
17652
+ #
17653
+ class InstancesSetLabelsRequest
17654
+ include Google::Apis::Core::Hashable
17655
+
17656
+ # Fingerprint of the previous set of labels for this resource, used to prevent
17657
+ # conflicts. Provide the latest fingerprint value when making a request to add
17658
+ # or change labels.
17659
+ # Corresponds to the JSON property `labelFingerprint`
17660
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
17661
+ # @return [String]
17662
+ attr_accessor :label_fingerprint
17663
+
17664
+ #
17665
+ # Corresponds to the JSON property `labels`
17666
+ # @return [Hash<String,String>]
17667
+ attr_accessor :labels
17668
+
17669
+ def initialize(**args)
17670
+ update!(**args)
17671
+ end
17672
+
17673
+ # Update properties of this object
17674
+ def update!(**args)
17675
+ @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
17676
+ @labels = args[:labels] if args.key?(:labels)
17677
+ end
17678
+ end
17679
+
17680
+ #
17681
+ class InstancesSetMachineResourcesRequest
17682
+ include Google::Apis::Core::Hashable
17683
+
17684
+ # A list of the type and count of accelerator cards attached to the instance.
17685
+ # Corresponds to the JSON property `guestAccelerators`
17686
+ # @return [Array<Google::Apis::ComputeBeta::AcceleratorConfig>]
17687
+ attr_accessor :guest_accelerators
17688
+
17689
+ def initialize(**args)
17690
+ update!(**args)
17691
+ end
17692
+
17693
+ # Update properties of this object
17694
+ def update!(**args)
17695
+ @guest_accelerators = args[:guest_accelerators] if args.key?(:guest_accelerators)
17696
+ end
17697
+ end
17698
+
17699
+ #
17700
+ class InstancesSetMachineTypeRequest
17701
+ include Google::Apis::Core::Hashable
17702
+
17703
+ # Full or partial URL of the machine type resource. See Machine Types for a full
17704
+ # list of machine types. For example: zones/us-central1-f/machineTypes/n1-
17705
+ # standard-1
17706
+ # Corresponds to the JSON property `machineType`
17707
+ # @return [String]
17708
+ attr_accessor :machine_type
17709
+
17710
+ def initialize(**args)
17711
+ update!(**args)
17712
+ end
17713
+
17714
+ # Update properties of this object
17715
+ def update!(**args)
17716
+ @machine_type = args[:machine_type] if args.key?(:machine_type)
17717
+ end
17718
+ end
17719
+
17720
+ #
17721
+ class InstancesSetMinCpuPlatformRequest
17722
+ include Google::Apis::Core::Hashable
17723
+
17724
+ # Minimum cpu/platform this instance should be started at.
17725
+ # Corresponds to the JSON property `minCpuPlatform`
17726
+ # @return [String]
17727
+ attr_accessor :min_cpu_platform
17728
+
17729
+ def initialize(**args)
17730
+ update!(**args)
17731
+ end
17732
+
17733
+ # Update properties of this object
17734
+ def update!(**args)
17735
+ @min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
17736
+ end
17737
+ end
17738
+
17739
+ #
17740
+ class InstancesSetNameRequest
17741
+ include Google::Apis::Core::Hashable
17742
+
17743
+ # The current name of this resource, used to prevent conflicts. Provide the
17744
+ # latest name when making a request to change name.
17745
+ # Corresponds to the JSON property `currentName`
17746
+ # @return [String]
17747
+ attr_accessor :current_name
17748
+
17749
+ # The name to be applied to the instance. Needs to be RFC 1035 compliant.
17750
+ # Corresponds to the JSON property `name`
17751
+ # @return [String]
17752
+ attr_accessor :name
17753
+
17754
+ def initialize(**args)
17755
+ update!(**args)
17756
+ end
17757
+
17758
+ # Update properties of this object
17759
+ def update!(**args)
17760
+ @current_name = args[:current_name] if args.key?(:current_name)
17761
+ @name = args[:name] if args.key?(:name)
17762
+ end
17763
+ end
17764
+
17765
+ #
17766
+ class InstancesSetSecurityPolicyRequest
17767
+ include Google::Apis::Core::Hashable
17768
+
17769
+ # The network interfaces that the security policy will be applied to. Network
17770
+ # interfaces use the nicN naming format. You can only set a security policy for
17771
+ # network interfaces with an access config.
17772
+ # Corresponds to the JSON property `networkInterfaces`
17773
+ # @return [Array<String>]
17774
+ attr_accessor :network_interfaces
17775
+
17776
+ # A full or partial URL to a security policy to add to this instance. If this
17777
+ # field is set to an empty string it will remove the associated security policy.
17778
+ # Corresponds to the JSON property `securityPolicy`
17779
+ # @return [String]
17780
+ attr_accessor :security_policy
17781
+
17782
+ def initialize(**args)
17783
+ update!(**args)
17784
+ end
17785
+
17786
+ # Update properties of this object
17787
+ def update!(**args)
17788
+ @network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces)
17789
+ @security_policy = args[:security_policy] if args.key?(:security_policy)
17790
+ end
17791
+ end
17792
+
17793
+ #
17794
+ class InstancesSetServiceAccountRequest
17795
+ include Google::Apis::Core::Hashable
17796
+
17797
+ # Email address of the service account.
17798
+ # Corresponds to the JSON property `email`
17799
+ # @return [String]
17800
+ attr_accessor :email
17801
+
17802
+ # The list of scopes to be made available for this service account.
17803
+ # Corresponds to the JSON property `scopes`
17804
+ # @return [Array<String>]
17805
+ attr_accessor :scopes
17806
+
17807
+ def initialize(**args)
17808
+ update!(**args)
17809
+ end
17810
+
17811
+ # Update properties of this object
17812
+ def update!(**args)
17813
+ @email = args[:email] if args.key?(:email)
17814
+ @scopes = args[:scopes] if args.key?(:scopes)
17815
+ end
17816
+ end
17817
+
17818
+ #
17819
+ class InstancesStartWithEncryptionKeyRequest
17820
+ include Google::Apis::Core::Hashable
17821
+
17822
+ # Array of disks associated with this instance that are protected with a
17823
+ # customer-supplied encryption key. In order to start the instance, the disk url
17824
+ # and its corresponding key must be provided. If the disk is not protected with
17825
+ # a customer-supplied encryption key it should not be specified.
17826
+ # Corresponds to the JSON property `disks`
17827
+ # @return [Array<Google::Apis::ComputeBeta::CustomerEncryptionKeyProtectedDisk>]
17828
+ attr_accessor :disks
17829
+
17830
+ def initialize(**args)
17831
+ update!(**args)
17832
+ end
17833
+
17834
+ # Update properties of this object
17835
+ def update!(**args)
17836
+ @disks = args[:disks] if args.key?(:disks)
17837
+ end
17838
+ end
17839
+
17840
+ # Represents a InstantSnapshot resource. You can use instant snapshots to create
17841
+ # disk rollback points quickly..
17842
+ class InstantSnapshot
17843
+ include Google::Apis::Core::Hashable
17844
+
17845
+ # [Output Only] The architecture of the instant snapshot. Valid values are ARM64
17846
+ # or X86_64.
17847
+ # Corresponds to the JSON property `architecture`
17848
+ # @return [String]
17849
+ attr_accessor :architecture
17850
+
17851
+ # [Output Only] Creation timestamp in RFC3339 text format.
17852
+ # Corresponds to the JSON property `creationTimestamp`
17853
+ # @return [String]
17854
+ attr_accessor :creation_timestamp
17855
+
17856
+ # An optional description of this resource. Provide this property when you
17857
+ # create the resource.
17858
+ # Corresponds to the JSON property `description`
17859
+ # @return [String]
17860
+ attr_accessor :description
17861
+
17862
+ # [Output Only] Size of the source disk, specified in GB.
17863
+ # Corresponds to the JSON property `diskSizeGb`
17864
+ # @return [Fixnum]
17865
+ attr_accessor :disk_size_gb
17866
+
17867
+ # [Output Only] The unique identifier for the resource. This identifier is
17868
+ # defined by the server.
17869
+ # Corresponds to the JSON property `id`
17870
+ # @return [Fixnum]
17871
+ attr_accessor :id
17872
+
17873
+ # [Output Only] Type of the resource. Always compute#instantSnapshot for
17874
+ # InstantSnapshot resources.
17875
+ # Corresponds to the JSON property `kind`
17876
+ # @return [String]
17877
+ attr_accessor :kind
17878
+
17879
+ # A fingerprint for the labels being applied to this InstantSnapshot, which is
17880
+ # essentially a hash of the labels set used for optimistic locking. The
17881
+ # fingerprint is initially generated by Compute Engine and changes after every
17882
+ # request to modify or update labels. You must always provide an up-to-date
17883
+ # fingerprint hash in order to update or change labels, otherwise the request
17884
+ # will fail with error 412 conditionNotMet. To see the latest fingerprint, make
17885
+ # a get() request to retrieve a InstantSnapshot.
17886
+ # Corresponds to the JSON property `labelFingerprint`
17887
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
17888
+ # @return [String]
17889
+ attr_accessor :label_fingerprint
17890
+
17891
+ # Labels to apply to this InstantSnapshot. These can be later modified by the
17892
+ # setLabels method. Label values may be empty.
17893
+ # Corresponds to the JSON property `labels`
17894
+ # @return [Hash<String,String>]
17895
+ attr_accessor :labels
17896
+
17897
+ # Name of the resource; provided by the client when the resource is created. The
17898
+ # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
17899
+ # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
17900
+ # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
17901
+ # and all following characters must be a dash, lowercase letter, or digit,
17902
+ # except the last character, which cannot be a dash.
17903
+ # Corresponds to the JSON property `name`
17904
+ # @return [String]
17905
+ attr_accessor :name
17906
+
17907
+ # [Output Only] URL of the region where the instant snapshot resides. You must
17908
+ # specify this field as part of the HTTP request URL. It is not settable as a
17909
+ # field in the request body.
17910
+ # Corresponds to the JSON property `region`
17911
+ # @return [String]
17912
+ attr_accessor :region
17913
+
17914
+ # [Output Only] Status information for the instant snapshot resource.
17915
+ # Corresponds to the JSON property `resourceStatus`
17916
+ # @return [Google::Apis::ComputeBeta::InstantSnapshotResourceStatus]
17917
+ attr_accessor :resource_status
17918
+
17919
+ # [Output Only] Reserved for future use.
17920
+ # Corresponds to the JSON property `satisfiesPzs`
17921
+ # @return [Boolean]
17922
+ attr_accessor :satisfies_pzs
17923
+ alias_method :satisfies_pzs?, :satisfies_pzs
17924
+
17925
+ # [Output Only] Server-defined URL for the resource.
17926
+ # Corresponds to the JSON property `selfLink`
17927
+ # @return [String]
17928
+ attr_accessor :self_link
17929
+
17930
+ # [Output Only] Server-defined URL for this resource's resource id.
17931
+ # Corresponds to the JSON property `selfLinkWithId`
17932
+ # @return [String]
17933
+ attr_accessor :self_link_with_id
17934
+
17935
+ # URL of the source disk used to create this instant snapshot. Note that the
17936
+ # source disk must be in the same zone/region as the instant snapshot to be
17937
+ # created. This can be a full or valid partial URL. For example, the following
17938
+ # are valid values: - https://www.googleapis.com/compute/v1/projects/project/
17939
+ # zones/zone /disks/disk - https://www.googleapis.com/compute/v1/projects/
17940
+ # project/regions/region /disks/disk - projects/project/zones/zone/disks/disk -
17941
+ # projects/project/regions/region/disks/disk - zones/zone/disks/disk - regions/
17942
+ # region/disks/disk
17943
+ # Corresponds to the JSON property `sourceDisk`
17944
+ # @return [String]
17945
+ attr_accessor :source_disk
17946
+
17947
+ # [Output Only] The ID value of the disk used to create this InstantSnapshot.
17948
+ # This value may be used to determine whether the InstantSnapshot was taken from
17949
+ # the current or a previous instance of a given disk name.
17950
+ # Corresponds to the JSON property `sourceDiskId`
17951
+ # @return [String]
17952
+ attr_accessor :source_disk_id
17953
+
17954
+ # [Output Only] The status of the instantSnapshot. This can be CREATING,
17955
+ # DELETING, FAILED, or READY.
17956
+ # Corresponds to the JSON property `status`
17957
+ # @return [String]
17958
+ attr_accessor :status
17959
+
17960
+ # [Output Only] URL of the zone where the instant snapshot resides. You must
17961
+ # specify this field as part of the HTTP request URL. It is not settable as a
17962
+ # field in the request body.
17963
+ # Corresponds to the JSON property `zone`
17964
+ # @return [String]
17965
+ attr_accessor :zone
17966
+
17967
+ def initialize(**args)
17968
+ update!(**args)
17969
+ end
17970
+
17971
+ # Update properties of this object
17972
+ def update!(**args)
17973
+ @architecture = args[:architecture] if args.key?(:architecture)
17974
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
17975
+ @description = args[:description] if args.key?(:description)
17976
+ @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
17977
+ @id = args[:id] if args.key?(:id)
17978
+ @kind = args[:kind] if args.key?(:kind)
17979
+ @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
17980
+ @labels = args[:labels] if args.key?(:labels)
17981
+ @name = args[:name] if args.key?(:name)
17982
+ @region = args[:region] if args.key?(:region)
17983
+ @resource_status = args[:resource_status] if args.key?(:resource_status)
17984
+ @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
17985
+ @self_link = args[:self_link] if args.key?(:self_link)
17986
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
17987
+ @source_disk = args[:source_disk] if args.key?(:source_disk)
17988
+ @source_disk_id = args[:source_disk_id] if args.key?(:source_disk_id)
17989
+ @status = args[:status] if args.key?(:status)
17990
+ @zone = args[:zone] if args.key?(:zone)
17991
+ end
17992
+ end
17993
+
17994
+ #
17995
+ class InstantSnapshotAggregatedList
17996
+ include Google::Apis::Core::Hashable
17997
+
17998
+ # [Output Only] Unique identifier for the resource; defined by the server.
17999
+ # Corresponds to the JSON property `id`
18000
+ # @return [String]
18001
+ attr_accessor :id
18002
+
18003
+ # A list of InstantSnapshotsScopedList resources.
18004
+ # Corresponds to the JSON property `items`
18005
+ # @return [Hash<String,Google::Apis::ComputeBeta::InstantSnapshotsScopedList>]
18006
+ attr_accessor :items
18007
+
18008
+ # [Output Only] Type of resource. Always compute#instantSnapshotAggregatedList
18009
+ # for aggregated lists of instantSnapshots.
18010
+ # Corresponds to the JSON property `kind`
18011
+ # @return [String]
18012
+ attr_accessor :kind
18013
+
18014
+ # [Output Only] This token allows you to get the next page of results for list
18015
+ # requests. If the number of results is larger than maxResults, use the
18016
+ # nextPageToken as a value for the query parameter pageToken in the next list
18017
+ # request. Subsequent list requests will have their own nextPageToken to
18018
+ # continue paging through the results.
18019
+ # Corresponds to the JSON property `nextPageToken`
18020
+ # @return [String]
18021
+ attr_accessor :next_page_token
18022
+
18023
+ # [Output Only] Server-defined URL for this resource.
18024
+ # Corresponds to the JSON property `selfLink`
18025
+ # @return [String]
18026
+ attr_accessor :self_link
18027
+
18028
+ # [Output Only] Unreachable resources.
18029
+ # Corresponds to the JSON property `unreachables`
18030
+ # @return [Array<String>]
18031
+ attr_accessor :unreachables
18032
+
18033
+ # [Output Only] Informational warning message.
18034
+ # Corresponds to the JSON property `warning`
18035
+ # @return [Google::Apis::ComputeBeta::InstantSnapshotAggregatedList::Warning]
18036
+ attr_accessor :warning
18037
+
18038
+ def initialize(**args)
18039
+ update!(**args)
18040
+ end
18041
+
18042
+ # Update properties of this object
18043
+ def update!(**args)
18044
+ @id = args[:id] if args.key?(:id)
18045
+ @items = args[:items] if args.key?(:items)
18046
+ @kind = args[:kind] if args.key?(:kind)
18047
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
18048
+ @self_link = args[:self_link] if args.key?(:self_link)
18049
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
18050
+ @warning = args[:warning] if args.key?(:warning)
18051
+ end
18052
+
18053
+ # [Output Only] Informational warning message.
18054
+ class Warning
18055
+ include Google::Apis::Core::Hashable
18056
+
18057
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
18058
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
18059
+ # Corresponds to the JSON property `code`
18060
+ # @return [String]
18061
+ attr_accessor :code
18062
+
18063
+ # [Output Only] Metadata about this warning in key: value format. For example: "
18064
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
18065
+ # Corresponds to the JSON property `data`
18066
+ # @return [Array<Google::Apis::ComputeBeta::InstantSnapshotAggregatedList::Warning::Datum>]
18067
+ attr_accessor :data
18068
+
18069
+ # [Output Only] A human-readable description of the warning code.
18070
+ # Corresponds to the JSON property `message`
18071
+ # @return [String]
18072
+ attr_accessor :message
18073
+
18074
+ def initialize(**args)
18075
+ update!(**args)
18076
+ end
18077
+
18078
+ # Update properties of this object
18079
+ def update!(**args)
18080
+ @code = args[:code] if args.key?(:code)
18081
+ @data = args[:data] if args.key?(:data)
18082
+ @message = args[:message] if args.key?(:message)
18083
+ end
18084
+
18085
+ #
18086
+ class Datum
18087
+ include Google::Apis::Core::Hashable
18088
+
18089
+ # [Output Only] A key that provides more detail on the warning being returned.
18090
+ # For example, for warnings where there are no results in a list request for a
18091
+ # particular zone, this key might be scope and the key value might be the zone
18092
+ # name. Other examples might be a key indicating a deprecated resource and a
18093
+ # suggested replacement, or a warning about invalid network settings (for
18094
+ # example, if an instance attempts to perform IP forwarding but is not enabled
18095
+ # for IP forwarding).
18096
+ # Corresponds to the JSON property `key`
18097
+ # @return [String]
18098
+ attr_accessor :key
18099
+
18100
+ # [Output Only] A warning data value corresponding to the key.
18101
+ # Corresponds to the JSON property `value`
18102
+ # @return [String]
18103
+ attr_accessor :value
18104
+
18105
+ def initialize(**args)
18106
+ update!(**args)
18107
+ end
18108
+
18109
+ # Update properties of this object
18110
+ def update!(**args)
18111
+ @key = args[:key] if args.key?(:key)
18112
+ @value = args[:value] if args.key?(:value)
18113
+ end
18114
+ end
18115
+ end
18116
+ end
18117
+
18118
+ #
18119
+ class InstantSnapshotExportParams
18120
+ include Google::Apis::Core::Hashable
18121
+
18122
+ # An optional base instant snapshot that this resource is compared against. If
18123
+ # not specified, all blocks of this resource are exported. The base instant
18124
+ # snapshot and this resource must be created from the same disk. The base
18125
+ # instant snapshot must be created earlier in time than this resource.
18126
+ # Corresponds to the JSON property `baseInstantSnapshot`
18127
+ # @return [String]
18128
+ attr_accessor :base_instant_snapshot
18129
+
18130
+ # The name of an existing bucket in Cloud Storage where the changed blocks will
18131
+ # be stored. The Google Service Account must have read and write access to this
18132
+ # bucket. The bucket has to be in the same region as this resource.
18133
+ # Corresponds to the JSON property `bucketName`
18134
+ # @return [String]
18135
+ attr_accessor :bucket_name
18136
+
18137
+ # Encryption key used to encrypt the instant snapshot.
18138
+ # Corresponds to the JSON property `encryptionKey`
18139
+ # @return [Google::Apis::ComputeBeta::CustomerEncryptionKey]
18140
+ attr_accessor :encryption_key
18141
+
18142
+ # Name of the output Bigstore object storing the changed blocks. Object name
18143
+ # must be less than 1024 bytes in length.
18144
+ # Corresponds to the JSON property `objectName`
18145
+ # @return [String]
18146
+ attr_accessor :object_name
18147
+
18148
+ # The format of the output file.
18149
+ # Corresponds to the JSON property `outputType`
18150
+ # @return [String]
18151
+ attr_accessor :output_type
18152
+
18153
+ def initialize(**args)
18154
+ update!(**args)
18155
+ end
18156
+
18157
+ # Update properties of this object
18158
+ def update!(**args)
18159
+ @base_instant_snapshot = args[:base_instant_snapshot] if args.key?(:base_instant_snapshot)
18160
+ @bucket_name = args[:bucket_name] if args.key?(:bucket_name)
18161
+ @encryption_key = args[:encryption_key] if args.key?(:encryption_key)
18162
+ @object_name = args[:object_name] if args.key?(:object_name)
18163
+ @output_type = args[:output_type] if args.key?(:output_type)
18164
+ end
18165
+ end
18166
+
18167
+ # Contains a list of InstantSnapshot resources.
18168
+ class InstantSnapshotList
18169
+ include Google::Apis::Core::Hashable
18170
+
18171
+ # [Output Only] Unique identifier for the resource; defined by the server.
18172
+ # Corresponds to the JSON property `id`
18173
+ # @return [String]
18174
+ attr_accessor :id
18175
+
18176
+ # A list of InstantSnapshot resources.
18177
+ # Corresponds to the JSON property `items`
18178
+ # @return [Array<Google::Apis::ComputeBeta::InstantSnapshot>]
18179
+ attr_accessor :items
18180
+
18181
+ # Type of resource.
18182
+ # Corresponds to the JSON property `kind`
18183
+ # @return [String]
18184
+ attr_accessor :kind
18185
+
18186
+ # [Output Only] This token allows you to get the next page of results for list
18187
+ # requests. If the number of results is larger than maxResults, use the
18188
+ # nextPageToken as a value for the query parameter pageToken in the next list
18189
+ # request. Subsequent list requests will have their own nextPageToken to
18190
+ # continue paging through the results.
18191
+ # Corresponds to the JSON property `nextPageToken`
18192
+ # @return [String]
18193
+ attr_accessor :next_page_token
18194
+
18195
+ # [Output Only] Server-defined URL for this resource.
18196
+ # Corresponds to the JSON property `selfLink`
18197
+ # @return [String]
18198
+ attr_accessor :self_link
18199
+
18200
+ # [Output Only] Informational warning message.
18201
+ # Corresponds to the JSON property `warning`
18202
+ # @return [Google::Apis::ComputeBeta::InstantSnapshotList::Warning]
18203
+ attr_accessor :warning
18204
+
18205
+ def initialize(**args)
18206
+ update!(**args)
18207
+ end
18208
+
18209
+ # Update properties of this object
18210
+ def update!(**args)
18211
+ @id = args[:id] if args.key?(:id)
18212
+ @items = args[:items] if args.key?(:items)
18213
+ @kind = args[:kind] if args.key?(:kind)
18214
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
18215
+ @self_link = args[:self_link] if args.key?(:self_link)
18216
+ @warning = args[:warning] if args.key?(:warning)
18217
+ end
18218
+
18219
+ # [Output Only] Informational warning message.
18220
+ class Warning
18221
+ include Google::Apis::Core::Hashable
18222
+
18223
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
18224
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
18225
+ # Corresponds to the JSON property `code`
18226
+ # @return [String]
18227
+ attr_accessor :code
18228
+
18229
+ # [Output Only] Metadata about this warning in key: value format. For example: "
18230
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
18231
+ # Corresponds to the JSON property `data`
18232
+ # @return [Array<Google::Apis::ComputeBeta::InstantSnapshotList::Warning::Datum>]
18233
+ attr_accessor :data
18234
+
18235
+ # [Output Only] A human-readable description of the warning code.
18236
+ # Corresponds to the JSON property `message`
18237
+ # @return [String]
18238
+ attr_accessor :message
18239
+
18240
+ def initialize(**args)
18241
+ update!(**args)
18242
+ end
18243
+
18244
+ # Update properties of this object
18245
+ def update!(**args)
18246
+ @code = args[:code] if args.key?(:code)
18247
+ @data = args[:data] if args.key?(:data)
18248
+ @message = args[:message] if args.key?(:message)
18249
+ end
18250
+
18251
+ #
18252
+ class Datum
18253
+ include Google::Apis::Core::Hashable
18254
+
18255
+ # [Output Only] A key that provides more detail on the warning being returned.
18256
+ # For example, for warnings where there are no results in a list request for a
18257
+ # particular zone, this key might be scope and the key value might be the zone
18258
+ # name. Other examples might be a key indicating a deprecated resource and a
18259
+ # suggested replacement, or a warning about invalid network settings (for
18260
+ # example, if an instance attempts to perform IP forwarding but is not enabled
18261
+ # for IP forwarding).
18262
+ # Corresponds to the JSON property `key`
18263
+ # @return [String]
18264
+ attr_accessor :key
18265
+
18266
+ # [Output Only] A warning data value corresponding to the key.
18267
+ # Corresponds to the JSON property `value`
18268
+ # @return [String]
18269
+ attr_accessor :value
18270
+
18271
+ def initialize(**args)
18272
+ update!(**args)
18273
+ end
18274
+
18275
+ # Update properties of this object
18276
+ def update!(**args)
18277
+ @key = args[:key] if args.key?(:key)
18278
+ @value = args[:value] if args.key?(:value)
18279
+ end
18280
+ end
18281
+ end
18282
+ end
18283
+
18284
+ #
18285
+ class InstantSnapshotResourceStatus
18286
+ include Google::Apis::Core::Hashable
18287
+
18288
+ # [Output Only] The storage size of this instant snapshot.
18289
+ # Corresponds to the JSON property `storageSizeBytes`
18290
+ # @return [Fixnum]
18291
+ attr_accessor :storage_size_bytes
18292
+
18293
+ def initialize(**args)
18294
+ update!(**args)
18295
+ end
18296
+
18297
+ # Update properties of this object
18298
+ def update!(**args)
18299
+ @storage_size_bytes = args[:storage_size_bytes] if args.key?(:storage_size_bytes)
18300
+ end
18301
+ end
18302
+
18303
+ #
18304
+ class InstantSnapshotsExportRequest
18305
+ include Google::Apis::Core::Hashable
18306
+
18307
+ # Parameters to export the changed blocks.
18308
+ # Corresponds to the JSON property `exportParams`
18309
+ # @return [Google::Apis::ComputeBeta::InstantSnapshotExportParams]
18310
+ attr_accessor :export_params
18311
+
18312
+ def initialize(**args)
18313
+ update!(**args)
18314
+ end
18315
+
18316
+ # Update properties of this object
18317
+ def update!(**args)
18318
+ @export_params = args[:export_params] if args.key?(:export_params)
17536
18319
  end
17537
18320
  end
17538
18321
 
17539
18322
  #
17540
- class InstancesScopedList
18323
+ class InstantSnapshotsScopedList
17541
18324
  include Google::Apis::Core::Hashable
17542
18325
 
17543
- # [Output Only] A list of instances contained in this scope.
17544
- # Corresponds to the JSON property `instances`
17545
- # @return [Array<Google::Apis::ComputeBeta::Instance>]
17546
- attr_accessor :instances
18326
+ # [Output Only] A list of instantSnapshots contained in this scope.
18327
+ # Corresponds to the JSON property `instantSnapshots`
18328
+ # @return [Array<Google::Apis::ComputeBeta::InstantSnapshot>]
18329
+ attr_accessor :instant_snapshots
17547
18330
 
17548
- # [Output Only] Informational warning which replaces the list of instances when
17549
- # the list is empty.
18331
+ # [Output Only] Informational warning which replaces the list of
18332
+ # instantSnapshots when the list is empty.
17550
18333
  # Corresponds to the JSON property `warning`
17551
- # @return [Google::Apis::ComputeBeta::InstancesScopedList::Warning]
18334
+ # @return [Google::Apis::ComputeBeta::InstantSnapshotsScopedList::Warning]
17552
18335
  attr_accessor :warning
17553
18336
 
17554
18337
  def initialize(**args)
@@ -17557,12 +18340,12 @@ module Google
17557
18340
 
17558
18341
  # Update properties of this object
17559
18342
  def update!(**args)
17560
- @instances = args[:instances] if args.key?(:instances)
18343
+ @instant_snapshots = args[:instant_snapshots] if args.key?(:instant_snapshots)
17561
18344
  @warning = args[:warning] if args.key?(:warning)
17562
18345
  end
17563
18346
 
17564
- # [Output Only] Informational warning which replaces the list of instances when
17565
- # the list is empty.
18347
+ # [Output Only] Informational warning which replaces the list of
18348
+ # instantSnapshots when the list is empty.
17566
18349
  class Warning
17567
18350
  include Google::Apis::Core::Hashable
17568
18351
 
@@ -17575,7 +18358,7 @@ module Google
17575
18358
  # [Output Only] Metadata about this warning in key: value format. For example: "
17576
18359
  # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
17577
18360
  # Corresponds to the JSON property `data`
17578
- # @return [Array<Google::Apis::ComputeBeta::InstancesScopedList::Warning::Datum>]
18361
+ # @return [Array<Google::Apis::ComputeBeta::InstantSnapshotsScopedList::Warning::Datum>]
17579
18362
  attr_accessor :data
17580
18363
 
17581
18364
  # [Output Only] A human-readable description of the warning code.
@@ -17627,194 +18410,6 @@ module Google
17627
18410
  end
17628
18411
  end
17629
18412
 
17630
- #
17631
- class InstancesSetLabelsRequest
17632
- include Google::Apis::Core::Hashable
17633
-
17634
- # Fingerprint of the previous set of labels for this resource, used to prevent
17635
- # conflicts. Provide the latest fingerprint value when making a request to add
17636
- # or change labels.
17637
- # Corresponds to the JSON property `labelFingerprint`
17638
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
17639
- # @return [String]
17640
- attr_accessor :label_fingerprint
17641
-
17642
- #
17643
- # Corresponds to the JSON property `labels`
17644
- # @return [Hash<String,String>]
17645
- attr_accessor :labels
17646
-
17647
- def initialize(**args)
17648
- update!(**args)
17649
- end
17650
-
17651
- # Update properties of this object
17652
- def update!(**args)
17653
- @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
17654
- @labels = args[:labels] if args.key?(:labels)
17655
- end
17656
- end
17657
-
17658
- #
17659
- class InstancesSetMachineResourcesRequest
17660
- include Google::Apis::Core::Hashable
17661
-
17662
- # A list of the type and count of accelerator cards attached to the instance.
17663
- # Corresponds to the JSON property `guestAccelerators`
17664
- # @return [Array<Google::Apis::ComputeBeta::AcceleratorConfig>]
17665
- attr_accessor :guest_accelerators
17666
-
17667
- def initialize(**args)
17668
- update!(**args)
17669
- end
17670
-
17671
- # Update properties of this object
17672
- def update!(**args)
17673
- @guest_accelerators = args[:guest_accelerators] if args.key?(:guest_accelerators)
17674
- end
17675
- end
17676
-
17677
- #
17678
- class InstancesSetMachineTypeRequest
17679
- include Google::Apis::Core::Hashable
17680
-
17681
- # Full or partial URL of the machine type resource. See Machine Types for a full
17682
- # list of machine types. For example: zones/us-central1-f/machineTypes/n1-
17683
- # standard-1
17684
- # Corresponds to the JSON property `machineType`
17685
- # @return [String]
17686
- attr_accessor :machine_type
17687
-
17688
- def initialize(**args)
17689
- update!(**args)
17690
- end
17691
-
17692
- # Update properties of this object
17693
- def update!(**args)
17694
- @machine_type = args[:machine_type] if args.key?(:machine_type)
17695
- end
17696
- end
17697
-
17698
- #
17699
- class InstancesSetMinCpuPlatformRequest
17700
- include Google::Apis::Core::Hashable
17701
-
17702
- # Minimum cpu/platform this instance should be started at.
17703
- # Corresponds to the JSON property `minCpuPlatform`
17704
- # @return [String]
17705
- attr_accessor :min_cpu_platform
17706
-
17707
- def initialize(**args)
17708
- update!(**args)
17709
- end
17710
-
17711
- # Update properties of this object
17712
- def update!(**args)
17713
- @min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
17714
- end
17715
- end
17716
-
17717
- #
17718
- class InstancesSetNameRequest
17719
- include Google::Apis::Core::Hashable
17720
-
17721
- # The current name of this resource, used to prevent conflicts. Provide the
17722
- # latest name when making a request to change name.
17723
- # Corresponds to the JSON property `currentName`
17724
- # @return [String]
17725
- attr_accessor :current_name
17726
-
17727
- # The name to be applied to the instance. Needs to be RFC 1035 compliant.
17728
- # Corresponds to the JSON property `name`
17729
- # @return [String]
17730
- attr_accessor :name
17731
-
17732
- def initialize(**args)
17733
- update!(**args)
17734
- end
17735
-
17736
- # Update properties of this object
17737
- def update!(**args)
17738
- @current_name = args[:current_name] if args.key?(:current_name)
17739
- @name = args[:name] if args.key?(:name)
17740
- end
17741
- end
17742
-
17743
- #
17744
- class InstancesSetSecurityPolicyRequest
17745
- include Google::Apis::Core::Hashable
17746
-
17747
- # The network interfaces that the security policy will be applied to. Network
17748
- # interfaces use the nicN naming format. You can only set a security policy for
17749
- # network interfaces with an access config.
17750
- # Corresponds to the JSON property `networkInterfaces`
17751
- # @return [Array<String>]
17752
- attr_accessor :network_interfaces
17753
-
17754
- # A full or partial URL to a security policy to add to this instance. If this
17755
- # field is set to an empty string it will remove the associated security policy.
17756
- # Corresponds to the JSON property `securityPolicy`
17757
- # @return [String]
17758
- attr_accessor :security_policy
17759
-
17760
- def initialize(**args)
17761
- update!(**args)
17762
- end
17763
-
17764
- # Update properties of this object
17765
- def update!(**args)
17766
- @network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces)
17767
- @security_policy = args[:security_policy] if args.key?(:security_policy)
17768
- end
17769
- end
17770
-
17771
- #
17772
- class InstancesSetServiceAccountRequest
17773
- include Google::Apis::Core::Hashable
17774
-
17775
- # Email address of the service account.
17776
- # Corresponds to the JSON property `email`
17777
- # @return [String]
17778
- attr_accessor :email
17779
-
17780
- # The list of scopes to be made available for this service account.
17781
- # Corresponds to the JSON property `scopes`
17782
- # @return [Array<String>]
17783
- attr_accessor :scopes
17784
-
17785
- def initialize(**args)
17786
- update!(**args)
17787
- end
17788
-
17789
- # Update properties of this object
17790
- def update!(**args)
17791
- @email = args[:email] if args.key?(:email)
17792
- @scopes = args[:scopes] if args.key?(:scopes)
17793
- end
17794
- end
17795
-
17796
- #
17797
- class InstancesStartWithEncryptionKeyRequest
17798
- include Google::Apis::Core::Hashable
17799
-
17800
- # Array of disks associated with this instance that are protected with a
17801
- # customer-supplied encryption key. In order to start the instance, the disk url
17802
- # and its corresponding key must be provided. If the disk is not protected with
17803
- # a customer-supplied encryption key it should not be specified.
17804
- # Corresponds to the JSON property `disks`
17805
- # @return [Array<Google::Apis::ComputeBeta::CustomerEncryptionKeyProtectedDisk>]
17806
- attr_accessor :disks
17807
-
17808
- def initialize(**args)
17809
- update!(**args)
17810
- end
17811
-
17812
- # Update properties of this object
17813
- def update!(**args)
17814
- @disks = args[:disks] if args.key?(:disks)
17815
- end
17816
- end
17817
-
17818
18413
  # HttpRouteRuleMatch criteria for field values that must stay within the
17819
18414
  # specified integer range.
17820
18415
  class Int64RangeMatch
@@ -30813,6 +31408,25 @@ module Google
30813
31408
  end
30814
31409
  end
30815
31410
 
31411
+ #
31412
+ class RegionInstantSnapshotsExportRequest
31413
+ include Google::Apis::Core::Hashable
31414
+
31415
+ # Parameters to export the changed blocks.
31416
+ # Corresponds to the JSON property `exportParams`
31417
+ # @return [Google::Apis::ComputeBeta::InstantSnapshotExportParams]
31418
+ attr_accessor :export_params
31419
+
31420
+ def initialize(**args)
31421
+ update!(**args)
31422
+ end
31423
+
31424
+ # Update properties of this object
31425
+ def update!(**args)
31426
+ @export_params = args[:export_params] if args.key?(:export_params)
31427
+ end
31428
+ end
31429
+
30816
31430
  # Contains a list of region resources.
30817
31431
  class RegionList
30818
31432
  include Google::Apis::Core::Hashable
@@ -36159,6 +36773,12 @@ module Google
36159
36773
  # @return [Google::Apis::ComputeBeta::Expr]
36160
36774
  attr_accessor :expr
36161
36775
 
36776
+ # The configuration options available when specifying a user defined CEVAL
36777
+ # expression (i.e., 'expr').
36778
+ # Corresponds to the JSON property `exprOptions`
36779
+ # @return [Google::Apis::ComputeBeta::SecurityPolicyRuleMatcherExprOptions]
36780
+ attr_accessor :expr_options
36781
+
36162
36782
  # Preconfigured versioned expression. If this field is specified, config must
36163
36783
  # also be specified. Available preconfigured expressions along with their
36164
36784
  # requirements are: SRC_IPS_V1 - must specify the corresponding src_ip_range
@@ -36175,6 +36795,7 @@ module Google
36175
36795
  def update!(**args)
36176
36796
  @config = args[:config] if args.key?(:config)
36177
36797
  @expr = args[:expr] if args.key?(:expr)
36798
+ @expr_options = args[:expr_options] if args.key?(:expr_options)
36178
36799
  @versioned_expr = args[:versioned_expr] if args.key?(:versioned_expr)
36179
36800
  end
36180
36801
  end
@@ -36244,6 +36865,55 @@ module Google
36244
36865
  end
36245
36866
  end
36246
36867
 
36868
+ #
36869
+ class SecurityPolicyRuleMatcherExprOptions
36870
+ include Google::Apis::Core::Hashable
36871
+
36872
+ # reCAPTCHA configuration options to be applied for the rule. If the rule does
36873
+ # not evaluate reCAPTCHA tokens, this field will have no effect.
36874
+ # Corresponds to the JSON property `recaptchaOptions`
36875
+ # @return [Google::Apis::ComputeBeta::SecurityPolicyRuleMatcherExprOptionsRecaptchaOptions]
36876
+ attr_accessor :recaptcha_options
36877
+
36878
+ def initialize(**args)
36879
+ update!(**args)
36880
+ end
36881
+
36882
+ # Update properties of this object
36883
+ def update!(**args)
36884
+ @recaptcha_options = args[:recaptcha_options] if args.key?(:recaptcha_options)
36885
+ end
36886
+ end
36887
+
36888
+ #
36889
+ class SecurityPolicyRuleMatcherExprOptionsRecaptchaOptions
36890
+ include Google::Apis::Core::Hashable
36891
+
36892
+ # A list of site keys to be used during the validation of reCAPTCHA action-
36893
+ # tokens. The provided site keys need to be created from reCAPTCHA API under the
36894
+ # same project where the security policy is created.
36895
+ # Corresponds to the JSON property `actionTokenSiteKeys`
36896
+ # @return [Array<String>]
36897
+ attr_accessor :action_token_site_keys
36898
+
36899
+ # A list of site keys to be used during the validation of reCAPTCHA session-
36900
+ # tokens. The provided site keys need to be created from reCAPTCHA API under the
36901
+ # same project where the security policy is created.
36902
+ # Corresponds to the JSON property `sessionTokenSiteKeys`
36903
+ # @return [Array<String>]
36904
+ attr_accessor :session_token_site_keys
36905
+
36906
+ def initialize(**args)
36907
+ update!(**args)
36908
+ end
36909
+
36910
+ # Update properties of this object
36911
+ def update!(**args)
36912
+ @action_token_site_keys = args[:action_token_site_keys] if args.key?(:action_token_site_keys)
36913
+ @session_token_site_keys = args[:session_token_site_keys] if args.key?(:session_token_site_keys)
36914
+ end
36915
+ end
36916
+
36247
36917
  # Represents a match condition that incoming network traffic is evaluated
36248
36918
  # against.
36249
36919
  class SecurityPolicyRuleNetworkMatcher
@@ -36714,7 +37384,7 @@ module Google
36714
37384
  # describes how clients should authenticate with this service's backends.
36715
37385
  # clientTlsPolicy only applies to a global BackendService with the
36716
37386
  # loadBalancingScheme set to INTERNAL_SELF_MANAGED. If left blank,
36717
- # communications are not encrypted. Note: This field currently has no impact.
37387
+ # communications are not encrypted.
36718
37388
  # Corresponds to the JSON property `clientTlsPolicy`
36719
37389
  # @return [String]
36720
37390
  attr_accessor :client_tls_policy
@@ -36730,7 +37400,7 @@ module Google
36730
37400
  # provisions server identities. Only applies to a global BackendService with
36731
37401
  # loadBalancingScheme set to INTERNAL_SELF_MANAGED. Only applies when
36732
37402
  # BackendService has an attached clientTlsPolicy with clientCertificate (mTLS
36733
- # mode). Note: This field currently has no impact.
37403
+ # mode).
36734
37404
  # Corresponds to the JSON property `subjectAltNames`
36735
37405
  # @return [Array<String>]
36736
37406
  attr_accessor :subject_alt_names
@@ -37882,6 +38552,25 @@ module Google
37882
38552
  # @return [String]
37883
38553
  attr_accessor :source_disk_id
37884
38554
 
38555
+ # The source instant snapshot used to create this snapshot. You can provide this
38556
+ # as a partial or full URL to the resource. For example, the following are valid
38557
+ # values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /
38558
+ # instantSnapshots/instantSnapshot - projects/project/zones/zone/
38559
+ # instantSnapshots/instantSnapshot - zones/zone/instantSnapshots/instantSnapshot
38560
+ # Corresponds to the JSON property `sourceInstantSnapshot`
38561
+ # @return [String]
38562
+ attr_accessor :source_instant_snapshot
38563
+
38564
+ # [Output Only] The unique ID of the instant snapshot used to create this
38565
+ # snapshot. This value identifies the exact instant snapshot that was used to
38566
+ # create this persistent disk. For example, if you created the persistent disk
38567
+ # from an instant snapshot that was later deleted and recreated under the same
38568
+ # name, the source instant snapshot ID would identify the exact instant snapshot
38569
+ # that was used.
38570
+ # Corresponds to the JSON property `sourceInstantSnapshotId`
38571
+ # @return [String]
38572
+ attr_accessor :source_instant_snapshot_id
38573
+
37885
38574
  # [Output Only] URL of the resource policy which created this scheduled snapshot.
37886
38575
  # Corresponds to the JSON property `sourceSnapshotSchedulePolicy`
37887
38576
  # @return [String]
@@ -37954,6 +38643,8 @@ module Google
37954
38643
  @source_disk = args[:source_disk] if args.key?(:source_disk)
37955
38644
  @source_disk_encryption_key = args[:source_disk_encryption_key] if args.key?(:source_disk_encryption_key)
37956
38645
  @source_disk_id = args[:source_disk_id] if args.key?(:source_disk_id)
38646
+ @source_instant_snapshot = args[:source_instant_snapshot] if args.key?(:source_instant_snapshot)
38647
+ @source_instant_snapshot_id = args[:source_instant_snapshot_id] if args.key?(:source_instant_snapshot_id)
37957
38648
  @source_snapshot_schedule_policy = args[:source_snapshot_schedule_policy] if args.key?(:source_snapshot_schedule_policy)
37958
38649
  @source_snapshot_schedule_policy_id = args[:source_snapshot_schedule_policy_id] if args.key?(:source_snapshot_schedule_policy_id)
37959
38650
  @status = args[:status] if args.key?(:status)