google-apis-compute_beta 0.67.0 → 0.69.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.
@@ -1502,6 +1502,14 @@ module Google
1502
1502
  # @return [String]
1503
1503
  attr_accessor :mode
1504
1504
 
1505
+ # For LocalSSD disks on VM Instances in STOPPED or SUSPENDED state, this field
1506
+ # is set to PRESERVED if the LocalSSD data has been saved to a persistent
1507
+ # location by customer request. (see the discard_local_ssd option on Stop/
1508
+ # Suspend). Read-only in the api.
1509
+ # Corresponds to the JSON property `savedState`
1510
+ # @return [String]
1511
+ attr_accessor :saved_state
1512
+
1505
1513
  # Initial State for shielded instance, these are public keys which are safe to
1506
1514
  # store in public
1507
1515
  # Corresponds to the JSON property `shieldedInstanceInitialState`
@@ -1553,6 +1561,7 @@ module Google
1553
1561
  @licenses = args[:licenses] if args.key?(:licenses)
1554
1562
  @locked = args[:locked] if args.key?(:locked)
1555
1563
  @mode = args[:mode] if args.key?(:mode)
1564
+ @saved_state = args[:saved_state] if args.key?(:saved_state)
1556
1565
  @shielded_instance_initial_state = args[:shielded_instance_initial_state] if args.key?(:shielded_instance_initial_state)
1557
1566
  @source = args[:source] if args.key?(:source)
1558
1567
  @type = args[:type] if args.key?(:type)
@@ -2371,13 +2380,16 @@ module Google
2371
2380
  class AutoscalingPolicy
2372
2381
  include Google::Apis::Core::Hashable
2373
2382
 
2374
- # The number of seconds that the autoscaler waits before it starts collecting
2375
- # information from a new instance. This prevents the autoscaler from collecting
2376
- # information when the instance is initializing, during which the collected
2377
- # usage would not be reliable. The default time autoscaler waits is 60 seconds.
2378
- # Virtual machine initialization times might vary because of numerous factors.
2379
- # We recommend that you test how long an instance may take to initialize. To do
2380
- # this, create an instance and time the startup process.
2383
+ # The number of seconds that your application takes to initialize on a VM
2384
+ # instance. This is referred to as the [initialization period](/compute/docs/
2385
+ # autoscaler#cool_down_period). Specifying an accurate initialization period
2386
+ # improves autoscaler decisions. For example, when scaling out, the autoscaler
2387
+ # ignores data from VMs that are still initializing because those VMs might not
2388
+ # yet represent normal usage of your application. The default initialization
2389
+ # period is 60 seconds. Initialization periods might vary because of numerous
2390
+ # factors. We recommend that you test how long your application takes to
2391
+ # initialize. To do this, create a VM and time your application's startup
2392
+ # process.
2381
2393
  # Corresponds to the JSON property `coolDownPeriodSec`
2382
2394
  # @return [Fixnum]
2383
2395
  attr_accessor :cool_down_period_sec
@@ -2411,7 +2423,11 @@ module Google
2411
2423
  # @return [Fixnum]
2412
2424
  attr_accessor :min_num_replicas
2413
2425
 
2414
- # Defines operating mode for this policy.
2426
+ # Defines the operating mode for this policy. The following modes are available:
2427
+ # - OFF: Disables the autoscaler but maintains its configuration. -
2428
+ # ONLY_SCALE_OUT: Restricts the autoscaler to add VM instances only. - ON:
2429
+ # Enables all autoscaler activities according to its policy. For more
2430
+ # information, see "Turning off or restricting an autoscaler"
2415
2431
  # Corresponds to the JSON property `mode`
2416
2432
  # @return [String]
2417
2433
  attr_accessor :mode
@@ -6460,6 +6476,25 @@ module Google
6460
6476
  # @return [String]
6461
6477
  attr_accessor :source_image_id
6462
6478
 
6479
+ # The source instant snapshot used to create this disk. You can provide this as
6480
+ # a partial or full URL to the resource. For example, the following are valid
6481
+ # values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /
6482
+ # instantSnapshots/instantSnapshot - projects/project/zones/zone/
6483
+ # instantSnapshots/instantSnapshot - zones/zone/instantSnapshots/instantSnapshot
6484
+ # Corresponds to the JSON property `sourceInstantSnapshot`
6485
+ # @return [String]
6486
+ attr_accessor :source_instant_snapshot
6487
+
6488
+ # [Output Only] The unique ID of the instant snapshot used to create this disk.
6489
+ # This value identifies the exact instant snapshot that was used to create this
6490
+ # persistent disk. For example, if you created the persistent disk from an
6491
+ # instant snapshot that was later deleted and recreated under the same name, the
6492
+ # source instant snapshot ID would identify the exact version of the instant
6493
+ # snapshot that was used.
6494
+ # Corresponds to the JSON property `sourceInstantSnapshotId`
6495
+ # @return [String]
6496
+ attr_accessor :source_instant_snapshot_id
6497
+
6463
6498
  # The source snapshot used to create this disk. You can provide this as a
6464
6499
  # partial or full URL to the resource. For example, the following are valid
6465
6500
  # values: - https://www.googleapis.com/compute/v1/projects/project /global/
@@ -6581,6 +6616,8 @@ module Google
6581
6616
  @source_image = args[:source_image] if args.key?(:source_image)
6582
6617
  @source_image_encryption_key = args[:source_image_encryption_key] if args.key?(:source_image_encryption_key)
6583
6618
  @source_image_id = args[:source_image_id] if args.key?(:source_image_id)
6619
+ @source_instant_snapshot = args[:source_instant_snapshot] if args.key?(:source_instant_snapshot)
6620
+ @source_instant_snapshot_id = args[:source_instant_snapshot_id] if args.key?(:source_instant_snapshot_id)
6584
6621
  @source_snapshot = args[:source_snapshot] if args.key?(:source_snapshot)
6585
6622
  @source_snapshot_encryption_key = args[:source_snapshot_encryption_key] if args.key?(:source_snapshot_encryption_key)
6586
6623
  @source_snapshot_id = args[:source_snapshot_id] if args.key?(:source_snapshot_id)
@@ -10547,8 +10584,8 @@ module Google
10547
10584
  # The ID of a supported feature. To add multiple values, use commas to separate
10548
10585
  # values. Set to one or more of the following values: - VIRTIO_SCSI_MULTIQUEUE -
10549
10586
  # WINDOWS - MULTI_IP_SUBNET - UEFI_COMPATIBLE - GVNIC - SEV_CAPABLE -
10550
- # SUSPEND_RESUME_COMPATIBLE - SEV_LIVE_MIGRATABLE - SEV_SNP_CAPABLE -
10551
- # TDX_CAPABLE For more information, see Enabling guest operating system features.
10587
+ # SUSPEND_RESUME_COMPATIBLE - SEV_LIVE_MIGRATABLE - SEV_SNP_CAPABLE For more
10588
+ # information, see Enabling guest operating system features.
10552
10589
  # Corresponds to the JSON property `type`
10553
10590
  # @return [String]
10554
10591
  attr_accessor :type
@@ -14982,12 +15019,13 @@ module Google
14982
15019
  # @return [String]
14983
15020
  attr_accessor :health_check
14984
15021
 
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].
15022
+ # The initial delay is the number of seconds that a new VM takes to initialize
15023
+ # and run its startup script. During a VM's initial delay period, the MIG
15024
+ # ignores unsuccessful health checks because the VM might be in the startup
15025
+ # process. This prevents the MIG from prematurely recreating a VM. If the health
15026
+ # check receives a healthy response during the initial delay, it indicates that
15027
+ # the startup process is complete and the VM is ready. The value of initial
15028
+ # delay must be between 0 and 3600 seconds. The default value is 0.
14991
15029
  # Corresponds to the JSON property `initialDelaySec`
14992
15030
  # @return [Fixnum]
14993
15031
  attr_accessor :initial_delay_sec
@@ -17628,106 +17666,645 @@ module Google
17628
17666
  end
17629
17667
 
17630
17668
  #
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
17669
+ class InstancesSetLabelsRequest
17670
+ include Google::Apis::Core::Hashable
17671
+
17672
+ # Fingerprint of the previous set of labels for this resource, used to prevent
17673
+ # conflicts. Provide the latest fingerprint value when making a request to add
17674
+ # or change labels.
17675
+ # Corresponds to the JSON property `labelFingerprint`
17676
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
17677
+ # @return [String]
17678
+ attr_accessor :label_fingerprint
17679
+
17680
+ #
17681
+ # Corresponds to the JSON property `labels`
17682
+ # @return [Hash<String,String>]
17683
+ attr_accessor :labels
17684
+
17685
+ def initialize(**args)
17686
+ update!(**args)
17687
+ end
17688
+
17689
+ # Update properties of this object
17690
+ def update!(**args)
17691
+ @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
17692
+ @labels = args[:labels] if args.key?(:labels)
17693
+ end
17694
+ end
17695
+
17696
+ #
17697
+ class InstancesSetMachineResourcesRequest
17698
+ include Google::Apis::Core::Hashable
17699
+
17700
+ # A list of the type and count of accelerator cards attached to the instance.
17701
+ # Corresponds to the JSON property `guestAccelerators`
17702
+ # @return [Array<Google::Apis::ComputeBeta::AcceleratorConfig>]
17703
+ attr_accessor :guest_accelerators
17704
+
17705
+ def initialize(**args)
17706
+ update!(**args)
17707
+ end
17708
+
17709
+ # Update properties of this object
17710
+ def update!(**args)
17711
+ @guest_accelerators = args[:guest_accelerators] if args.key?(:guest_accelerators)
17712
+ end
17713
+ end
17714
+
17715
+ #
17716
+ class InstancesSetMachineTypeRequest
17717
+ include Google::Apis::Core::Hashable
17718
+
17719
+ # Full or partial URL of the machine type resource. See Machine Types for a full
17720
+ # list of machine types. For example: zones/us-central1-f/machineTypes/n1-
17721
+ # standard-1
17722
+ # Corresponds to the JSON property `machineType`
17723
+ # @return [String]
17724
+ attr_accessor :machine_type
17725
+
17726
+ def initialize(**args)
17727
+ update!(**args)
17728
+ end
17729
+
17730
+ # Update properties of this object
17731
+ def update!(**args)
17732
+ @machine_type = args[:machine_type] if args.key?(:machine_type)
17733
+ end
17734
+ end
17735
+
17736
+ #
17737
+ class InstancesSetMinCpuPlatformRequest
17738
+ include Google::Apis::Core::Hashable
17739
+
17740
+ # Minimum cpu/platform this instance should be started at.
17741
+ # Corresponds to the JSON property `minCpuPlatform`
17742
+ # @return [String]
17743
+ attr_accessor :min_cpu_platform
17744
+
17745
+ def initialize(**args)
17746
+ update!(**args)
17747
+ end
17748
+
17749
+ # Update properties of this object
17750
+ def update!(**args)
17751
+ @min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
17752
+ end
17753
+ end
17754
+
17755
+ #
17756
+ class InstancesSetNameRequest
17757
+ include Google::Apis::Core::Hashable
17758
+
17759
+ # The current name of this resource, used to prevent conflicts. Provide the
17760
+ # latest name when making a request to change name.
17761
+ # Corresponds to the JSON property `currentName`
17762
+ # @return [String]
17763
+ attr_accessor :current_name
17764
+
17765
+ # The name to be applied to the instance. Needs to be RFC 1035 compliant.
17766
+ # Corresponds to the JSON property `name`
17767
+ # @return [String]
17768
+ attr_accessor :name
17769
+
17770
+ def initialize(**args)
17771
+ update!(**args)
17772
+ end
17773
+
17774
+ # Update properties of this object
17775
+ def update!(**args)
17776
+ @current_name = args[:current_name] if args.key?(:current_name)
17777
+ @name = args[:name] if args.key?(:name)
17778
+ end
17779
+ end
17780
+
17781
+ #
17782
+ class InstancesSetSecurityPolicyRequest
17783
+ include Google::Apis::Core::Hashable
17784
+
17785
+ # The network interfaces that the security policy will be applied to. Network
17786
+ # interfaces use the nicN naming format. You can only set a security policy for
17787
+ # network interfaces with an access config.
17788
+ # Corresponds to the JSON property `networkInterfaces`
17789
+ # @return [Array<String>]
17790
+ attr_accessor :network_interfaces
17791
+
17792
+ # A full or partial URL to a security policy to add to this instance. If this
17793
+ # field is set to an empty string it will remove the associated security policy.
17794
+ # Corresponds to the JSON property `securityPolicy`
17795
+ # @return [String]
17796
+ attr_accessor :security_policy
17797
+
17798
+ def initialize(**args)
17799
+ update!(**args)
17800
+ end
17801
+
17802
+ # Update properties of this object
17803
+ def update!(**args)
17804
+ @network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces)
17805
+ @security_policy = args[:security_policy] if args.key?(:security_policy)
17806
+ end
17807
+ end
17808
+
17809
+ #
17810
+ class InstancesSetServiceAccountRequest
17811
+ include Google::Apis::Core::Hashable
17812
+
17813
+ # Email address of the service account.
17814
+ # Corresponds to the JSON property `email`
17815
+ # @return [String]
17816
+ attr_accessor :email
17817
+
17818
+ # The list of scopes to be made available for this service account.
17819
+ # Corresponds to the JSON property `scopes`
17820
+ # @return [Array<String>]
17821
+ attr_accessor :scopes
17822
+
17823
+ def initialize(**args)
17824
+ update!(**args)
17825
+ end
17826
+
17827
+ # Update properties of this object
17828
+ def update!(**args)
17829
+ @email = args[:email] if args.key?(:email)
17830
+ @scopes = args[:scopes] if args.key?(:scopes)
17831
+ end
17832
+ end
17833
+
17834
+ #
17835
+ class InstancesStartWithEncryptionKeyRequest
17836
+ include Google::Apis::Core::Hashable
17837
+
17838
+ # Array of disks associated with this instance that are protected with a
17839
+ # customer-supplied encryption key. In order to start the instance, the disk url
17840
+ # and its corresponding key must be provided. If the disk is not protected with
17841
+ # a customer-supplied encryption key it should not be specified.
17842
+ # Corresponds to the JSON property `disks`
17843
+ # @return [Array<Google::Apis::ComputeBeta::CustomerEncryptionKeyProtectedDisk>]
17844
+ attr_accessor :disks
17845
+
17846
+ def initialize(**args)
17847
+ update!(**args)
17848
+ end
17849
+
17850
+ # Update properties of this object
17851
+ def update!(**args)
17852
+ @disks = args[:disks] if args.key?(:disks)
17853
+ end
17854
+ end
17855
+
17856
+ # Represents a InstantSnapshot resource. You can use instant snapshots to create
17857
+ # disk rollback points quickly..
17858
+ class InstantSnapshot
17859
+ include Google::Apis::Core::Hashable
17860
+
17861
+ # [Output Only] The architecture of the instant snapshot. Valid values are ARM64
17862
+ # or X86_64.
17863
+ # Corresponds to the JSON property `architecture`
17864
+ # @return [String]
17865
+ attr_accessor :architecture
17866
+
17867
+ # [Output Only] Creation timestamp in RFC3339 text format.
17868
+ # Corresponds to the JSON property `creationTimestamp`
17869
+ # @return [String]
17870
+ attr_accessor :creation_timestamp
17871
+
17872
+ # An optional description of this resource. Provide this property when you
17873
+ # create the resource.
17874
+ # Corresponds to the JSON property `description`
17875
+ # @return [String]
17876
+ attr_accessor :description
17877
+
17878
+ # [Output Only] Size of the source disk, specified in GB.
17879
+ # Corresponds to the JSON property `diskSizeGb`
17880
+ # @return [Fixnum]
17881
+ attr_accessor :disk_size_gb
17882
+
17883
+ # [Output Only] The unique identifier for the resource. This identifier is
17884
+ # defined by the server.
17885
+ # Corresponds to the JSON property `id`
17886
+ # @return [Fixnum]
17887
+ attr_accessor :id
17888
+
17889
+ # [Output Only] Type of the resource. Always compute#instantSnapshot for
17890
+ # InstantSnapshot resources.
17891
+ # Corresponds to the JSON property `kind`
17892
+ # @return [String]
17893
+ attr_accessor :kind
17894
+
17895
+ # A fingerprint for the labels being applied to this InstantSnapshot, which is
17896
+ # essentially a hash of the labels set used for optimistic locking. The
17897
+ # fingerprint is initially generated by Compute Engine and changes after every
17898
+ # request to modify or update labels. You must always provide an up-to-date
17899
+ # fingerprint hash in order to update or change labels, otherwise the request
17900
+ # will fail with error 412 conditionNotMet. To see the latest fingerprint, make
17901
+ # a get() request to retrieve a InstantSnapshot.
17902
+ # Corresponds to the JSON property `labelFingerprint`
17903
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
17904
+ # @return [String]
17905
+ attr_accessor :label_fingerprint
17906
+
17907
+ # Labels to apply to this InstantSnapshot. These can be later modified by the
17908
+ # setLabels method. Label values may be empty.
17909
+ # Corresponds to the JSON property `labels`
17910
+ # @return [Hash<String,String>]
17911
+ attr_accessor :labels
17912
+
17913
+ # Name of the resource; provided by the client when the resource is created. The
17914
+ # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
17915
+ # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
17916
+ # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
17917
+ # and all following characters must be a dash, lowercase letter, or digit,
17918
+ # except the last character, which cannot be a dash.
17919
+ # Corresponds to the JSON property `name`
17920
+ # @return [String]
17921
+ attr_accessor :name
17922
+
17923
+ # [Output Only] URL of the region where the instant snapshot resides. You must
17924
+ # specify this field as part of the HTTP request URL. It is not settable as a
17925
+ # field in the request body.
17926
+ # Corresponds to the JSON property `region`
17927
+ # @return [String]
17928
+ attr_accessor :region
17929
+
17930
+ # [Output Only] Status information for the instant snapshot resource.
17931
+ # Corresponds to the JSON property `resourceStatus`
17932
+ # @return [Google::Apis::ComputeBeta::InstantSnapshotResourceStatus]
17933
+ attr_accessor :resource_status
17934
+
17935
+ # [Output Only] Reserved for future use.
17936
+ # Corresponds to the JSON property `satisfiesPzs`
17937
+ # @return [Boolean]
17938
+ attr_accessor :satisfies_pzs
17939
+ alias_method :satisfies_pzs?, :satisfies_pzs
17940
+
17941
+ # [Output Only] Server-defined URL for the resource.
17942
+ # Corresponds to the JSON property `selfLink`
17943
+ # @return [String]
17944
+ attr_accessor :self_link
17945
+
17946
+ # [Output Only] Server-defined URL for this resource's resource id.
17947
+ # Corresponds to the JSON property `selfLinkWithId`
17948
+ # @return [String]
17949
+ attr_accessor :self_link_with_id
17950
+
17951
+ # URL of the source disk used to create this instant snapshot. Note that the
17952
+ # source disk must be in the same zone/region as the instant snapshot to be
17953
+ # created. This can be a full or valid partial URL. For example, the following
17954
+ # are valid values: - https://www.googleapis.com/compute/v1/projects/project/
17955
+ # zones/zone /disks/disk - https://www.googleapis.com/compute/v1/projects/
17956
+ # project/regions/region /disks/disk - projects/project/zones/zone/disks/disk -
17957
+ # projects/project/regions/region/disks/disk - zones/zone/disks/disk - regions/
17958
+ # region/disks/disk
17959
+ # Corresponds to the JSON property `sourceDisk`
17960
+ # @return [String]
17961
+ attr_accessor :source_disk
17962
+
17963
+ # [Output Only] The ID value of the disk used to create this InstantSnapshot.
17964
+ # This value may be used to determine whether the InstantSnapshot was taken from
17965
+ # the current or a previous instance of a given disk name.
17966
+ # Corresponds to the JSON property `sourceDiskId`
17967
+ # @return [String]
17968
+ attr_accessor :source_disk_id
17969
+
17970
+ # [Output Only] The status of the instantSnapshot. This can be CREATING,
17971
+ # DELETING, FAILED, or READY.
17972
+ # Corresponds to the JSON property `status`
17973
+ # @return [String]
17974
+ attr_accessor :status
17975
+
17976
+ # [Output Only] URL of the zone where the instant snapshot resides. You must
17977
+ # specify this field as part of the HTTP request URL. It is not settable as a
17978
+ # field in the request body.
17979
+ # Corresponds to the JSON property `zone`
17980
+ # @return [String]
17981
+ attr_accessor :zone
17982
+
17983
+ def initialize(**args)
17984
+ update!(**args)
17985
+ end
17986
+
17987
+ # Update properties of this object
17988
+ def update!(**args)
17989
+ @architecture = args[:architecture] if args.key?(:architecture)
17990
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
17991
+ @description = args[:description] if args.key?(:description)
17992
+ @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
17993
+ @id = args[:id] if args.key?(:id)
17994
+ @kind = args[:kind] if args.key?(:kind)
17995
+ @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
17996
+ @labels = args[:labels] if args.key?(:labels)
17997
+ @name = args[:name] if args.key?(:name)
17998
+ @region = args[:region] if args.key?(:region)
17999
+ @resource_status = args[:resource_status] if args.key?(:resource_status)
18000
+ @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
18001
+ @self_link = args[:self_link] if args.key?(:self_link)
18002
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
18003
+ @source_disk = args[:source_disk] if args.key?(:source_disk)
18004
+ @source_disk_id = args[:source_disk_id] if args.key?(:source_disk_id)
18005
+ @status = args[:status] if args.key?(:status)
18006
+ @zone = args[:zone] if args.key?(:zone)
18007
+ end
18008
+ end
18009
+
18010
+ #
18011
+ class InstantSnapshotAggregatedList
18012
+ include Google::Apis::Core::Hashable
18013
+
18014
+ # [Output Only] Unique identifier for the resource; defined by the server.
18015
+ # Corresponds to the JSON property `id`
18016
+ # @return [String]
18017
+ attr_accessor :id
18018
+
18019
+ # A list of InstantSnapshotsScopedList resources.
18020
+ # Corresponds to the JSON property `items`
18021
+ # @return [Hash<String,Google::Apis::ComputeBeta::InstantSnapshotsScopedList>]
18022
+ attr_accessor :items
18023
+
18024
+ # [Output Only] Type of resource. Always compute#instantSnapshotAggregatedList
18025
+ # for aggregated lists of instantSnapshots.
18026
+ # Corresponds to the JSON property `kind`
18027
+ # @return [String]
18028
+ attr_accessor :kind
18029
+
18030
+ # [Output Only] This token allows you to get the next page of results for list
18031
+ # requests. If the number of results is larger than maxResults, use the
18032
+ # nextPageToken as a value for the query parameter pageToken in the next list
18033
+ # request. Subsequent list requests will have their own nextPageToken to
18034
+ # continue paging through the results.
18035
+ # Corresponds to the JSON property `nextPageToken`
18036
+ # @return [String]
18037
+ attr_accessor :next_page_token
18038
+
18039
+ # [Output Only] Server-defined URL for this resource.
18040
+ # Corresponds to the JSON property `selfLink`
18041
+ # @return [String]
18042
+ attr_accessor :self_link
18043
+
18044
+ # [Output Only] Unreachable resources.
18045
+ # Corresponds to the JSON property `unreachables`
18046
+ # @return [Array<String>]
18047
+ attr_accessor :unreachables
18048
+
18049
+ # [Output Only] Informational warning message.
18050
+ # Corresponds to the JSON property `warning`
18051
+ # @return [Google::Apis::ComputeBeta::InstantSnapshotAggregatedList::Warning]
18052
+ attr_accessor :warning
18053
+
18054
+ def initialize(**args)
18055
+ update!(**args)
18056
+ end
18057
+
18058
+ # Update properties of this object
18059
+ def update!(**args)
18060
+ @id = args[:id] if args.key?(:id)
18061
+ @items = args[:items] if args.key?(:items)
18062
+ @kind = args[:kind] if args.key?(:kind)
18063
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
18064
+ @self_link = args[:self_link] if args.key?(:self_link)
18065
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
18066
+ @warning = args[:warning] if args.key?(:warning)
18067
+ end
18068
+
18069
+ # [Output Only] Informational warning message.
18070
+ class Warning
18071
+ include Google::Apis::Core::Hashable
18072
+
18073
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
18074
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
18075
+ # Corresponds to the JSON property `code`
18076
+ # @return [String]
18077
+ attr_accessor :code
18078
+
18079
+ # [Output Only] Metadata about this warning in key: value format. For example: "
18080
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
18081
+ # Corresponds to the JSON property `data`
18082
+ # @return [Array<Google::Apis::ComputeBeta::InstantSnapshotAggregatedList::Warning::Datum>]
18083
+ attr_accessor :data
18084
+
18085
+ # [Output Only] A human-readable description of the warning code.
18086
+ # Corresponds to the JSON property `message`
18087
+ # @return [String]
18088
+ attr_accessor :message
18089
+
18090
+ def initialize(**args)
18091
+ update!(**args)
18092
+ end
18093
+
18094
+ # Update properties of this object
18095
+ def update!(**args)
18096
+ @code = args[:code] if args.key?(:code)
18097
+ @data = args[:data] if args.key?(:data)
18098
+ @message = args[:message] if args.key?(:message)
18099
+ end
18100
+
18101
+ #
18102
+ class Datum
18103
+ include Google::Apis::Core::Hashable
18104
+
18105
+ # [Output Only] A key that provides more detail on the warning being returned.
18106
+ # For example, for warnings where there are no results in a list request for a
18107
+ # particular zone, this key might be scope and the key value might be the zone
18108
+ # name. Other examples might be a key indicating a deprecated resource and a
18109
+ # suggested replacement, or a warning about invalid network settings (for
18110
+ # example, if an instance attempts to perform IP forwarding but is not enabled
18111
+ # for IP forwarding).
18112
+ # Corresponds to the JSON property `key`
18113
+ # @return [String]
18114
+ attr_accessor :key
18115
+
18116
+ # [Output Only] A warning data value corresponding to the key.
18117
+ # Corresponds to the JSON property `value`
18118
+ # @return [String]
18119
+ attr_accessor :value
18120
+
18121
+ def initialize(**args)
18122
+ update!(**args)
18123
+ end
18124
+
18125
+ # Update properties of this object
18126
+ def update!(**args)
18127
+ @key = args[:key] if args.key?(:key)
18128
+ @value = args[:value] if args.key?(:value)
18129
+ end
18130
+ end
18131
+ end
18132
+ end
18133
+
18134
+ #
18135
+ class InstantSnapshotExportParams
18136
+ include Google::Apis::Core::Hashable
18137
+
18138
+ # An optional base instant snapshot that this resource is compared against. If
18139
+ # not specified, all blocks of this resource are exported. The base instant
18140
+ # snapshot and this resource must be created from the same disk. The base
18141
+ # instant snapshot must be created earlier in time than this resource.
18142
+ # Corresponds to the JSON property `baseInstantSnapshot`
18143
+ # @return [String]
18144
+ attr_accessor :base_instant_snapshot
18145
+
18146
+ # The name of an existing bucket in Cloud Storage where the changed blocks will
18147
+ # be stored. The Google Service Account must have read and write access to this
18148
+ # bucket. The bucket has to be in the same region as this resource.
18149
+ # Corresponds to the JSON property `bucketName`
18150
+ # @return [String]
18151
+ attr_accessor :bucket_name
18152
+
18153
+ # Encryption key used to encrypt the instant snapshot.
18154
+ # Corresponds to the JSON property `encryptionKey`
18155
+ # @return [Google::Apis::ComputeBeta::CustomerEncryptionKey]
18156
+ attr_accessor :encryption_key
18157
+
18158
+ # Name of the output Bigstore object storing the changed blocks. Object name
18159
+ # must be less than 1024 bytes in length.
18160
+ # Corresponds to the JSON property `objectName`
18161
+ # @return [String]
18162
+ attr_accessor :object_name
18163
+
18164
+ # The format of the output file.
18165
+ # Corresponds to the JSON property `outputType`
18166
+ # @return [String]
18167
+ attr_accessor :output_type
18168
+
18169
+ def initialize(**args)
18170
+ update!(**args)
18171
+ end
18172
+
18173
+ # Update properties of this object
18174
+ def update!(**args)
18175
+ @base_instant_snapshot = args[:base_instant_snapshot] if args.key?(:base_instant_snapshot)
18176
+ @bucket_name = args[:bucket_name] if args.key?(:bucket_name)
18177
+ @encryption_key = args[:encryption_key] if args.key?(:encryption_key)
18178
+ @object_name = args[:object_name] if args.key?(:object_name)
18179
+ @output_type = args[:output_type] if args.key?(:output_type)
18180
+ end
18181
+ end
18182
+
18183
+ # Contains a list of InstantSnapshot resources.
18184
+ class InstantSnapshotList
18185
+ include Google::Apis::Core::Hashable
18186
+
18187
+ # [Output Only] Unique identifier for the resource; defined by the server.
18188
+ # Corresponds to the JSON property `id`
18189
+ # @return [String]
18190
+ attr_accessor :id
18191
+
18192
+ # A list of InstantSnapshot resources.
18193
+ # Corresponds to the JSON property `items`
18194
+ # @return [Array<Google::Apis::ComputeBeta::InstantSnapshot>]
18195
+ attr_accessor :items
18196
+
18197
+ # Type of resource.
18198
+ # Corresponds to the JSON property `kind`
18199
+ # @return [String]
18200
+ attr_accessor :kind
18201
+
18202
+ # [Output Only] This token allows you to get the next page of results for list
18203
+ # requests. If the number of results is larger than maxResults, use the
18204
+ # nextPageToken as a value for the query parameter pageToken in the next list
18205
+ # request. Subsequent list requests will have their own nextPageToken to
18206
+ # continue paging through the results.
18207
+ # Corresponds to the JSON property `nextPageToken`
18208
+ # @return [String]
18209
+ attr_accessor :next_page_token
18210
+
18211
+ # [Output Only] Server-defined URL for this resource.
18212
+ # Corresponds to the JSON property `selfLink`
18213
+ # @return [String]
18214
+ attr_accessor :self_link
18215
+
18216
+ # [Output Only] Informational warning message.
18217
+ # Corresponds to the JSON property `warning`
18218
+ # @return [Google::Apis::ComputeBeta::InstantSnapshotList::Warning]
18219
+ attr_accessor :warning
18220
+
18221
+ def initialize(**args)
18222
+ update!(**args)
18223
+ end
18224
+
18225
+ # Update properties of this object
18226
+ def update!(**args)
18227
+ @id = args[:id] if args.key?(:id)
18228
+ @items = args[:items] if args.key?(:items)
18229
+ @kind = args[:kind] if args.key?(:kind)
18230
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
18231
+ @self_link = args[:self_link] if args.key?(:self_link)
18232
+ @warning = args[:warning] if args.key?(:warning)
18233
+ end
18234
+
18235
+ # [Output Only] Informational warning message.
18236
+ class Warning
18237
+ include Google::Apis::Core::Hashable
18238
+
18239
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
18240
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
18241
+ # Corresponds to the JSON property `code`
18242
+ # @return [String]
18243
+ attr_accessor :code
18244
+
18245
+ # [Output Only] Metadata about this warning in key: value format. For example: "
18246
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
18247
+ # Corresponds to the JSON property `data`
18248
+ # @return [Array<Google::Apis::ComputeBeta::InstantSnapshotList::Warning::Datum>]
18249
+ attr_accessor :data
18250
+
18251
+ # [Output Only] A human-readable description of the warning code.
18252
+ # Corresponds to the JSON property `message`
18253
+ # @return [String]
18254
+ attr_accessor :message
18255
+
18256
+ def initialize(**args)
18257
+ update!(**args)
18258
+ end
18259
+
18260
+ # Update properties of this object
18261
+ def update!(**args)
18262
+ @code = args[:code] if args.key?(:code)
18263
+ @data = args[:data] if args.key?(:data)
18264
+ @message = args[:message] if args.key?(:message)
18265
+ end
18266
+
18267
+ #
18268
+ class Datum
18269
+ include Google::Apis::Core::Hashable
18270
+
18271
+ # [Output Only] A key that provides more detail on the warning being returned.
18272
+ # For example, for warnings where there are no results in a list request for a
18273
+ # particular zone, this key might be scope and the key value might be the zone
18274
+ # name. Other examples might be a key indicating a deprecated resource and a
18275
+ # suggested replacement, or a warning about invalid network settings (for
18276
+ # example, if an instance attempts to perform IP forwarding but is not enabled
18277
+ # for IP forwarding).
18278
+ # Corresponds to the JSON property `key`
18279
+ # @return [String]
18280
+ attr_accessor :key
18281
+
18282
+ # [Output Only] A warning data value corresponding to the key.
18283
+ # Corresponds to the JSON property `value`
18284
+ # @return [String]
18285
+ attr_accessor :value
18286
+
18287
+ def initialize(**args)
18288
+ update!(**args)
18289
+ end
18290
+
18291
+ # Update properties of this object
18292
+ def update!(**args)
18293
+ @key = args[:key] if args.key?(:key)
18294
+ @value = args[:value] if args.key?(:value)
18295
+ end
18296
+ end
18297
+ end
18298
+ end
18299
+
18300
+ #
18301
+ class InstantSnapshotResourceStatus
17660
18302
  include Google::Apis::Core::Hashable
17661
18303
 
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
18304
+ # [Output Only] The storage size of this instant snapshot.
18305
+ # Corresponds to the JSON property `storageSizeBytes`
18306
+ # @return [Fixnum]
18307
+ attr_accessor :storage_size_bytes
17731
18308
 
17732
18309
  def initialize(**args)
17733
18310
  update!(**args)
@@ -17735,27 +18312,18 @@ module Google
17735
18312
 
17736
18313
  # Update properties of this object
17737
18314
  def update!(**args)
17738
- @current_name = args[:current_name] if args.key?(:current_name)
17739
- @name = args[:name] if args.key?(:name)
18315
+ @storage_size_bytes = args[:storage_size_bytes] if args.key?(:storage_size_bytes)
17740
18316
  end
17741
18317
  end
17742
18318
 
17743
18319
  #
17744
- class InstancesSetSecurityPolicyRequest
18320
+ class InstantSnapshotsExportRequest
17745
18321
  include Google::Apis::Core::Hashable
17746
18322
 
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
18323
+ # Parameters to export the changed blocks.
18324
+ # Corresponds to the JSON property `exportParams`
18325
+ # @return [Google::Apis::ComputeBeta::InstantSnapshotExportParams]
18326
+ attr_accessor :export_params
17759
18327
 
17760
18328
  def initialize(**args)
17761
18329
  update!(**args)
@@ -17763,24 +18331,24 @@ module Google
17763
18331
 
17764
18332
  # Update properties of this object
17765
18333
  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)
18334
+ @export_params = args[:export_params] if args.key?(:export_params)
17768
18335
  end
17769
18336
  end
17770
18337
 
17771
18338
  #
17772
- class InstancesSetServiceAccountRequest
18339
+ class InstantSnapshotsScopedList
17773
18340
  include Google::Apis::Core::Hashable
17774
18341
 
17775
- # Email address of the service account.
17776
- # Corresponds to the JSON property `email`
17777
- # @return [String]
17778
- attr_accessor :email
18342
+ # [Output Only] A list of instantSnapshots contained in this scope.
18343
+ # Corresponds to the JSON property `instantSnapshots`
18344
+ # @return [Array<Google::Apis::ComputeBeta::InstantSnapshot>]
18345
+ attr_accessor :instant_snapshots
17779
18346
 
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
18347
+ # [Output Only] Informational warning which replaces the list of
18348
+ # instantSnapshots when the list is empty.
18349
+ # Corresponds to the JSON property `warning`
18350
+ # @return [Google::Apis::ComputeBeta::InstantSnapshotsScopedList::Warning]
18351
+ attr_accessor :warning
17784
18352
 
17785
18353
  def initialize(**args)
17786
18354
  update!(**args)
@@ -17788,30 +18356,73 @@ module Google
17788
18356
 
17789
18357
  # Update properties of this object
17790
18358
  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)
18359
+ @instant_snapshots = args[:instant_snapshots] if args.key?(:instant_snapshots)
18360
+ @warning = args[:warning] if args.key?(:warning)
17810
18361
  end
17811
-
17812
- # Update properties of this object
17813
- def update!(**args)
17814
- @disks = args[:disks] if args.key?(:disks)
18362
+
18363
+ # [Output Only] Informational warning which replaces the list of
18364
+ # instantSnapshots when the list is empty.
18365
+ class Warning
18366
+ include Google::Apis::Core::Hashable
18367
+
18368
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
18369
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
18370
+ # Corresponds to the JSON property `code`
18371
+ # @return [String]
18372
+ attr_accessor :code
18373
+
18374
+ # [Output Only] Metadata about this warning in key: value format. For example: "
18375
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
18376
+ # Corresponds to the JSON property `data`
18377
+ # @return [Array<Google::Apis::ComputeBeta::InstantSnapshotsScopedList::Warning::Datum>]
18378
+ attr_accessor :data
18379
+
18380
+ # [Output Only] A human-readable description of the warning code.
18381
+ # Corresponds to the JSON property `message`
18382
+ # @return [String]
18383
+ attr_accessor :message
18384
+
18385
+ def initialize(**args)
18386
+ update!(**args)
18387
+ end
18388
+
18389
+ # Update properties of this object
18390
+ def update!(**args)
18391
+ @code = args[:code] if args.key?(:code)
18392
+ @data = args[:data] if args.key?(:data)
18393
+ @message = args[:message] if args.key?(:message)
18394
+ end
18395
+
18396
+ #
18397
+ class Datum
18398
+ include Google::Apis::Core::Hashable
18399
+
18400
+ # [Output Only] A key that provides more detail on the warning being returned.
18401
+ # For example, for warnings where there are no results in a list request for a
18402
+ # particular zone, this key might be scope and the key value might be the zone
18403
+ # name. Other examples might be a key indicating a deprecated resource and a
18404
+ # suggested replacement, or a warning about invalid network settings (for
18405
+ # example, if an instance attempts to perform IP forwarding but is not enabled
18406
+ # for IP forwarding).
18407
+ # Corresponds to the JSON property `key`
18408
+ # @return [String]
18409
+ attr_accessor :key
18410
+
18411
+ # [Output Only] A warning data value corresponding to the key.
18412
+ # Corresponds to the JSON property `value`
18413
+ # @return [String]
18414
+ attr_accessor :value
18415
+
18416
+ def initialize(**args)
18417
+ update!(**args)
18418
+ end
18419
+
18420
+ # Update properties of this object
18421
+ def update!(**args)
18422
+ @key = args[:key] if args.key?(:key)
18423
+ @value = args[:value] if args.key?(:value)
18424
+ end
18425
+ end
17815
18426
  end
17816
18427
  end
17817
18428
 
@@ -22198,8 +22809,8 @@ module Google
22198
22809
  class NetworkAttachmentConnectedEndpoint
22199
22810
  include Google::Apis::Core::Hashable
22200
22811
 
22201
- # The IP address assigned to the producer instance network interface. This value
22202
- # will be a range in case of Serverless.
22812
+ # The IPv4 address assigned to the producer instance network interface. This
22813
+ # value will be a range in case of Serverless.
22203
22814
  # Corresponds to the JSON property `ipAddress`
22204
22815
  # @return [String]
22205
22816
  attr_accessor :ip_address
@@ -30813,6 +31424,25 @@ module Google
30813
31424
  end
30814
31425
  end
30815
31426
 
31427
+ #
31428
+ class RegionInstantSnapshotsExportRequest
31429
+ include Google::Apis::Core::Hashable
31430
+
31431
+ # Parameters to export the changed blocks.
31432
+ # Corresponds to the JSON property `exportParams`
31433
+ # @return [Google::Apis::ComputeBeta::InstantSnapshotExportParams]
31434
+ attr_accessor :export_params
31435
+
31436
+ def initialize(**args)
31437
+ update!(**args)
31438
+ end
31439
+
31440
+ # Update properties of this object
31441
+ def update!(**args)
31442
+ @export_params = args[:export_params] if args.key?(:export_params)
31443
+ end
31444
+ end
31445
+
30816
31446
  # Contains a list of region resources.
30817
31447
  class RegionList
30818
31448
  include Google::Apis::Core::Hashable
@@ -36159,6 +36789,12 @@ module Google
36159
36789
  # @return [Google::Apis::ComputeBeta::Expr]
36160
36790
  attr_accessor :expr
36161
36791
 
36792
+ # The configuration options available when specifying a user defined CEVAL
36793
+ # expression (i.e., 'expr').
36794
+ # Corresponds to the JSON property `exprOptions`
36795
+ # @return [Google::Apis::ComputeBeta::SecurityPolicyRuleMatcherExprOptions]
36796
+ attr_accessor :expr_options
36797
+
36162
36798
  # Preconfigured versioned expression. If this field is specified, config must
36163
36799
  # also be specified. Available preconfigured expressions along with their
36164
36800
  # requirements are: SRC_IPS_V1 - must specify the corresponding src_ip_range
@@ -36175,6 +36811,7 @@ module Google
36175
36811
  def update!(**args)
36176
36812
  @config = args[:config] if args.key?(:config)
36177
36813
  @expr = args[:expr] if args.key?(:expr)
36814
+ @expr_options = args[:expr_options] if args.key?(:expr_options)
36178
36815
  @versioned_expr = args[:versioned_expr] if args.key?(:versioned_expr)
36179
36816
  end
36180
36817
  end
@@ -36244,6 +36881,55 @@ module Google
36244
36881
  end
36245
36882
  end
36246
36883
 
36884
+ #
36885
+ class SecurityPolicyRuleMatcherExprOptions
36886
+ include Google::Apis::Core::Hashable
36887
+
36888
+ # reCAPTCHA configuration options to be applied for the rule. If the rule does
36889
+ # not evaluate reCAPTCHA tokens, this field will have no effect.
36890
+ # Corresponds to the JSON property `recaptchaOptions`
36891
+ # @return [Google::Apis::ComputeBeta::SecurityPolicyRuleMatcherExprOptionsRecaptchaOptions]
36892
+ attr_accessor :recaptcha_options
36893
+
36894
+ def initialize(**args)
36895
+ update!(**args)
36896
+ end
36897
+
36898
+ # Update properties of this object
36899
+ def update!(**args)
36900
+ @recaptcha_options = args[:recaptcha_options] if args.key?(:recaptcha_options)
36901
+ end
36902
+ end
36903
+
36904
+ #
36905
+ class SecurityPolicyRuleMatcherExprOptionsRecaptchaOptions
36906
+ include Google::Apis::Core::Hashable
36907
+
36908
+ # A list of site keys to be used during the validation of reCAPTCHA action-
36909
+ # tokens. The provided site keys need to be created from reCAPTCHA API under the
36910
+ # same project where the security policy is created.
36911
+ # Corresponds to the JSON property `actionTokenSiteKeys`
36912
+ # @return [Array<String>]
36913
+ attr_accessor :action_token_site_keys
36914
+
36915
+ # A list of site keys to be used during the validation of reCAPTCHA session-
36916
+ # tokens. The provided site keys need to be created from reCAPTCHA API under the
36917
+ # same project where the security policy is created.
36918
+ # Corresponds to the JSON property `sessionTokenSiteKeys`
36919
+ # @return [Array<String>]
36920
+ attr_accessor :session_token_site_keys
36921
+
36922
+ def initialize(**args)
36923
+ update!(**args)
36924
+ end
36925
+
36926
+ # Update properties of this object
36927
+ def update!(**args)
36928
+ @action_token_site_keys = args[:action_token_site_keys] if args.key?(:action_token_site_keys)
36929
+ @session_token_site_keys = args[:session_token_site_keys] if args.key?(:session_token_site_keys)
36930
+ end
36931
+ end
36932
+
36247
36933
  # Represents a match condition that incoming network traffic is evaluated
36248
36934
  # against.
36249
36935
  class SecurityPolicyRuleNetworkMatcher
@@ -36714,7 +37400,7 @@ module Google
36714
37400
  # describes how clients should authenticate with this service's backends.
36715
37401
  # clientTlsPolicy only applies to a global BackendService with the
36716
37402
  # loadBalancingScheme set to INTERNAL_SELF_MANAGED. If left blank,
36717
- # communications are not encrypted. Note: This field currently has no impact.
37403
+ # communications are not encrypted.
36718
37404
  # Corresponds to the JSON property `clientTlsPolicy`
36719
37405
  # @return [String]
36720
37406
  attr_accessor :client_tls_policy
@@ -36730,7 +37416,7 @@ module Google
36730
37416
  # provisions server identities. Only applies to a global BackendService with
36731
37417
  # loadBalancingScheme set to INTERNAL_SELF_MANAGED. Only applies when
36732
37418
  # BackendService has an attached clientTlsPolicy with clientCertificate (mTLS
36733
- # mode). Note: This field currently has no impact.
37419
+ # mode).
36734
37420
  # Corresponds to the JSON property `subjectAltNames`
36735
37421
  # @return [Array<String>]
36736
37422
  attr_accessor :subject_alt_names
@@ -37882,6 +38568,25 @@ module Google
37882
38568
  # @return [String]
37883
38569
  attr_accessor :source_disk_id
37884
38570
 
38571
+ # The source instant snapshot used to create this snapshot. You can provide this
38572
+ # as a partial or full URL to the resource. For example, the following are valid
38573
+ # values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /
38574
+ # instantSnapshots/instantSnapshot - projects/project/zones/zone/
38575
+ # instantSnapshots/instantSnapshot - zones/zone/instantSnapshots/instantSnapshot
38576
+ # Corresponds to the JSON property `sourceInstantSnapshot`
38577
+ # @return [String]
38578
+ attr_accessor :source_instant_snapshot
38579
+
38580
+ # [Output Only] The unique ID of the instant snapshot used to create this
38581
+ # snapshot. This value identifies the exact instant snapshot that was used to
38582
+ # create this persistent disk. For example, if you created the persistent disk
38583
+ # from an instant snapshot that was later deleted and recreated under the same
38584
+ # name, the source instant snapshot ID would identify the exact instant snapshot
38585
+ # that was used.
38586
+ # Corresponds to the JSON property `sourceInstantSnapshotId`
38587
+ # @return [String]
38588
+ attr_accessor :source_instant_snapshot_id
38589
+
37885
38590
  # [Output Only] URL of the resource policy which created this scheduled snapshot.
37886
38591
  # Corresponds to the JSON property `sourceSnapshotSchedulePolicy`
37887
38592
  # @return [String]
@@ -37954,6 +38659,8 @@ module Google
37954
38659
  @source_disk = args[:source_disk] if args.key?(:source_disk)
37955
38660
  @source_disk_encryption_key = args[:source_disk_encryption_key] if args.key?(:source_disk_encryption_key)
37956
38661
  @source_disk_id = args[:source_disk_id] if args.key?(:source_disk_id)
38662
+ @source_instant_snapshot = args[:source_instant_snapshot] if args.key?(:source_instant_snapshot)
38663
+ @source_instant_snapshot_id = args[:source_instant_snapshot_id] if args.key?(:source_instant_snapshot_id)
37957
38664
  @source_snapshot_schedule_policy = args[:source_snapshot_schedule_policy] if args.key?(:source_snapshot_schedule_policy)
37958
38665
  @source_snapshot_schedule_policy_id = args[:source_snapshot_schedule_policy_id] if args.key?(:source_snapshot_schedule_policy_id)
37959
38666
  @status = args[:status] if args.key?(:status)
@@ -40652,6 +41359,16 @@ module Google
40652
41359
  # @return [Array<String>]
40653
41360
  attr_accessor :http_filters
40654
41361
 
41362
+ # Specifies how long to keep a connection open, after completing a response,
41363
+ # while there is no matching traffic (in seconds). If an HTTP keep-alive is not
41364
+ # specified, a default value (610 seconds) will be used. For Global external
41365
+ # HTTP(S) load balancer, the minimum allowed value is 5 seconds and the maximum
41366
+ # allowed value is 1200 seconds. For Global external HTTP(S) load balancer (
41367
+ # classic), this option is not available publicly.
41368
+ # Corresponds to the JSON property `httpKeepAliveTimeoutSec`
41369
+ # @return [Fixnum]
41370
+ attr_accessor :http_keep_alive_timeout_sec
41371
+
40655
41372
  # [Output Only] The unique identifier for the resource. This identifier is
40656
41373
  # defined by the server.
40657
41374
  # Corresponds to the JSON property `id`
@@ -40714,6 +41431,7 @@ module Google
40714
41431
  @description = args[:description] if args.key?(:description)
40715
41432
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
40716
41433
  @http_filters = args[:http_filters] if args.key?(:http_filters)
41434
+ @http_keep_alive_timeout_sec = args[:http_keep_alive_timeout_sec] if args.key?(:http_keep_alive_timeout_sec)
40717
41435
  @id = args[:id] if args.key?(:id)
40718
41436
  @kind = args[:kind] if args.key?(:kind)
40719
41437
  @name = args[:name] if args.key?(:name)
@@ -41197,6 +41915,16 @@ module Google
41197
41915
  # @return [Array<String>]
41198
41916
  attr_accessor :http_filters
41199
41917
 
41918
+ # Specifies how long to keep a connection open, after completing a response,
41919
+ # while there is no matching traffic (in seconds). If an HTTP keep-alive is not
41920
+ # specified, a default value (610 seconds) will be used. For Global external
41921
+ # HTTP(S) load balancer, the minimum allowed value is 5 seconds and the maximum
41922
+ # allowed value is 1200 seconds. For Global external HTTP(S) load balancer (
41923
+ # classic), this option is not available publicly.
41924
+ # Corresponds to the JSON property `httpKeepAliveTimeoutSec`
41925
+ # @return [Fixnum]
41926
+ attr_accessor :http_keep_alive_timeout_sec
41927
+
41200
41928
  # [Output Only] The unique identifier for the resource. This identifier is
41201
41929
  # defined by the server.
41202
41930
  # Corresponds to the JSON property `id`
@@ -41305,6 +42033,7 @@ module Google
41305
42033
  @description = args[:description] if args.key?(:description)
41306
42034
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
41307
42035
  @http_filters = args[:http_filters] if args.key?(:http_filters)
42036
+ @http_keep_alive_timeout_sec = args[:http_keep_alive_timeout_sec] if args.key?(:http_keep_alive_timeout_sec)
41308
42037
  @id = args[:id] if args.key?(:id)
41309
42038
  @kind = args[:kind] if args.key?(:kind)
41310
42039
  @name = args[:name] if args.key?(:name)