google-apis-compute_beta 0.67.0 → 0.69.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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)