google-apis-compute_alpha 0.15.0 → 0.16.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 67f3b74d9c71ddc12eb013e1d925f136b43f3a080ef0992ba134d82f7ee4460b
4
- data.tar.gz: 540ee33a6860b91793f247072dc15e10f6a82257ae155d5a107c25b9204b5580
3
+ metadata.gz: fd2b7c1f0e2b5a439039691eb9b49de7450f6352fbe959c860d8df2d00c1b01a
4
+ data.tar.gz: f6f06b5a23097d907094d1eeb62c53bbc200227f7b1b5419b546566e1d6deeb3
5
5
  SHA512:
6
- metadata.gz: 0d1f1a98483d38e27f315a3a7b8ecc36a2871e00057a5a082530cce58bfe6d3b07d4caed3b036e07e5f140fc70f2daf8b201205aecb0cd13cde5948797f99366
7
- data.tar.gz: a01bf9c485486fd8ee067a44b57ff4af724745a278f02642a14c19381db4d132e3ecebeb749ca99f342ed3b656e18185476bcf6e285a448ab0759b98420e550d
6
+ metadata.gz: 8efd6f0fea6511c59cd49e6347751cd805effaf0c0394532ee6e0d78d41500e339b3df9e45411f09d6ed8da3a0ed50c7212946979a0cc1a81eb98b722b78af3d
7
+ data.tar.gz: 4ef02a140320ce5a052571e29b3d2d9d50f63e8766dd534e7e21622d16b328cc65103499f062e279a354b15e85c2325477641730cadfd9ef3e0e144a4e6e982c
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Release history for google-apis-compute_alpha
2
2
 
3
+ ### v0.16.0 (2021-09-04)
4
+
5
+ * Regenerated from discovery document revision 20210820
6
+
3
7
  ### v0.15.0 (2021-07-29)
4
8
 
5
9
  * Regenerated from discovery document revision 20210719
@@ -633,8 +633,8 @@ module Google
633
633
 
634
634
  # Name of the resource. Provided by the client when the resource is created. The
635
635
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
636
- # name must be 1-63 characters long and match the regular expression [a-z]([-a-
637
- # z0-9]*[a-z0-9])?. The first character must be a lowercase letter, and all
636
+ # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
637
+ # z0-9]*[a-z0-9])?`. The first character must be a lowercase letter, and all
638
638
  # following characters (except for the last character) must be a dash, lowercase
639
639
  # letter, or digit. The last character must be a lowercase letter or digit.
640
640
  # Corresponds to the JSON property `name`
@@ -1246,6 +1246,7 @@ module Google
1246
1246
  end
1247
1247
 
1248
1248
  # This reservation type allows to pre allocate specific instance configuration.
1249
+ # Next ID: 5
1249
1250
  class AllocationSpecificSkuReservation
1250
1251
  include Google::Apis::Core::Hashable
1251
1252
 
@@ -1377,6 +1378,17 @@ module Google
1377
1378
  # @return [Array<String>]
1378
1379
  attr_accessor :licenses
1379
1380
 
1381
+ # [Output Only] Whether to indicate the attached disk is locked. The locked disk
1382
+ # is not allowed to be detached from the instance, or to be used as the source
1383
+ # of the snapshot creation, and the image creation. The instance with at least
1384
+ # one locked attached disk is not allow to be used as source of machine image
1385
+ # creation, instant snapshot creation, and not allowed to be deleted with --keep-
1386
+ # disk parameter set to true for locked disks.
1387
+ # Corresponds to the JSON property `locked`
1388
+ # @return [Boolean]
1389
+ attr_accessor :locked
1390
+ alias_method :locked?, :locked
1391
+
1380
1392
  # The mode in which to attach this disk, either READ_WRITE or READ_ONLY. If not
1381
1393
  # specified, the default is to attach the disk in READ_WRITE mode.
1382
1394
  # Corresponds to the JSON property `mode`
@@ -1438,6 +1450,7 @@ module Google
1438
1450
  @interface = args[:interface] if args.key?(:interface)
1439
1451
  @kind = args[:kind] if args.key?(:kind)
1440
1452
  @licenses = args[:licenses] if args.key?(:licenses)
1453
+ @locked = args[:locked] if args.key?(:locked)
1441
1454
  @mode = args[:mode] if args.key?(:mode)
1442
1455
  @saved_state = args[:saved_state] if args.key?(:saved_state)
1443
1456
  @shielded_instance_initial_state = args[:shielded_instance_initial_state] if args.key?(:shielded_instance_initial_state)
@@ -1497,8 +1510,8 @@ module Google
1497
1510
  # @return [Array<Google::Apis::ComputeAlpha::GuestOsFeature>]
1498
1511
  attr_accessor :guest_os_features
1499
1512
 
1500
- # Specifies the disk interface to use for attaching this disk, which is either
1501
- # SCSI or NVME. The default is SCSI.
1513
+ # [Deprecated] Specifies the disk interface to use for attaching this disk,
1514
+ # which is either SCSI or NVME. The default is SCSI.
1502
1515
  # Corresponds to the JSON property `interface`
1503
1516
  # @return [String]
1504
1517
  attr_accessor :interface
@@ -2673,7 +2686,13 @@ module Google
2673
2686
 
2674
2687
  # Specifies how to determine whether the backend of a load balancer can handle
2675
2688
  # additional traffic or is fully loaded. For usage guidelines, see Connection
2676
- # balancing mode.
2689
+ # balancing mode. Backends must use compatible balancing modes. For more
2690
+ # information, see Supported balancing modes and target capacity settings and
2691
+ # Restrictions and guidance for instance groups. Note: Currently, if you use the
2692
+ # API to configure incompatible balancing modes, the configuration might be
2693
+ # accepted even though it has no impact and is ignored. Specifically, Backend.
2694
+ # maxUtilization is ignored when Backend.balancingMode is RATE. In the future,
2695
+ # this incompatible combination will be rejected.
2677
2696
  # Corresponds to the JSON property `balancingMode`
2678
2697
  # @return [String]
2679
2698
  attr_accessor :balancing_mode
@@ -2754,7 +2773,9 @@ module Google
2754
2773
  # @return [Float]
2755
2774
  attr_accessor :max_rate_per_instance
2756
2775
 
2757
- #
2776
+ # Optional parameter to define a target capacity for the UTILIZATIONbalancing
2777
+ # mode. The valid range is [0.0, 1.0]. For usage guidelines, see Utilization
2778
+ # balancing mode.
2758
2779
  # Corresponds to the JSON property `maxUtilization`
2759
2780
  # @return [Float]
2760
2781
  attr_accessor :max_utilization
@@ -3510,6 +3531,21 @@ module Google
3510
3531
  # @return [String]
3511
3532
  attr_accessor :self_link_with_id
3512
3533
 
3534
+ # URLs of networkservices.ServiceBinding resources. Can only be set if load
3535
+ # balancing scheme is INTERNAL_SELF_MANAGED. If set, lists of backends and
3536
+ # health checks must be both empty.
3537
+ # Corresponds to the JSON property `serviceBindings`
3538
+ # @return [Array<String>]
3539
+ attr_accessor :service_bindings
3540
+
3541
+ # URL to networkservices.ServiceLbPolicy resource. Can only be set if load
3542
+ # balancing scheme is EXTERNAL, INTERNAL_MANAGED or INTERNAL_SELF_MANAGED. If
3543
+ # used with a backend service, must reference a global policy. If used with a
3544
+ # regional backend service, must reference a regional policy.
3545
+ # Corresponds to the JSON property `serviceLbPolicy`
3546
+ # @return [String]
3547
+ attr_accessor :service_lb_policy
3548
+
3513
3549
  # Type of session affinity to use. The default is NONE. For a detailed
3514
3550
  # description of session affinity options, see: [Session affinity](https://cloud.
3515
3551
  # google.com/load-balancing/docs/backend-service#session_affinity). Not
@@ -3574,6 +3610,8 @@ module Google
3574
3610
  @security_settings = args[:security_settings] if args.key?(:security_settings)
3575
3611
  @self_link = args[:self_link] if args.key?(:self_link)
3576
3612
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
3613
+ @service_bindings = args[:service_bindings] if args.key?(:service_bindings)
3614
+ @service_lb_policy = args[:service_lb_policy] if args.key?(:service_lb_policy)
3577
3615
  @session_affinity = args[:session_affinity] if args.key?(:session_affinity)
3578
3616
  @subsetting = args[:subsetting] if args.key?(:subsetting)
3579
3617
  @timeout_sec = args[:timeout_sec] if args.key?(:timeout_sec)
@@ -4804,13 +4842,6 @@ module Google
4804
4842
  # @return [Hash<String,Google::Apis::ComputeAlpha::BulkInsertInstanceResourcePerInstanceProperties>]
4805
4843
  attr_accessor :per_instance_properties
4806
4844
 
4807
- # DEPRECATED: Please use instance_properties.secure_tag instead. Secure tags to
4808
- # apply to this instance. These can be later modified by the update method.
4809
- # Maximum number of secure tags allowed is 50.
4810
- # Corresponds to the JSON property `secureTags`
4811
- # @return [Array<String>]
4812
- attr_accessor :secure_tags
4813
-
4814
4845
  # Specifies the instance template from which to create instances. You may
4815
4846
  # combine sourceInstanceTemplate with instanceProperties to override specific
4816
4847
  # values from an existing instance template. Bulk API follows the semantics of
@@ -4836,7 +4867,6 @@ module Google
4836
4867
  @min_count = args[:min_count] if args.key?(:min_count)
4837
4868
  @name_pattern = args[:name_pattern] if args.key?(:name_pattern)
4838
4869
  @per_instance_properties = args[:per_instance_properties] if args.key?(:per_instance_properties)
4839
- @secure_tags = args[:secure_tags] if args.key?(:secure_tags)
4840
4870
  @source_instance_template = args[:source_instance_template] if args.key?(:source_instance_template)
4841
4871
  end
4842
4872
  end
@@ -6000,14 +6030,20 @@ module Google
6000
6030
  # @return [String]
6001
6031
  attr_accessor :description
6002
6032
 
6003
- # Encrypts the disk using a customer-supplied encryption key. After you encrypt
6004
- # a disk with a customer-supplied key, you must provide the same key if you use
6005
- # the disk later (e.g. to create a disk snapshot, to create a disk image, to
6006
- # create a machine image, or to attach the disk to a virtual machine). Customer-
6007
- # supplied encryption keys do not protect access to metadata of the disk. If you
6008
- # do not provide an encryption key when creating the disk, then the disk will be
6009
- # encrypted using an automatically generated key and you do not need to provide
6010
- # a key to use the disk later.
6033
+ # Encrypts the disk using a customer-supplied encryption key or a customer-
6034
+ # managed encryption key. Encryption keys do not protect access to metadata of
6035
+ # the disk. After you encrypt a disk with a customer-supplied key, you must
6036
+ # provide the same key if you use the disk later. For example, to create a disk
6037
+ # snapshot, to create a disk image, to create a machine image, or to attach the
6038
+ # disk to a virtual machine. After you encrypt a disk with a customer-managed
6039
+ # key, the diskEncryptionKey.kmsKeyName is set to a key *version* name once the
6040
+ # disk is created. The disk is encrypted with this version of the key. In the
6041
+ # response, diskEncryptionKey.kmsKeyName appears in the following format: "
6042
+ # diskEncryptionKey.kmsKeyName": "projects/kms_project_id/locations/region/
6043
+ # keyRings/ key_region/cryptoKeys/key /cryptoKeysVersions/version If you do not
6044
+ # provide an encryption key when creating the disk, then the disk is encrypted
6045
+ # using an automatically generated key and you don't need to provide a key to
6046
+ # use the disk later.
6011
6047
  # Corresponds to the JSON property `diskEncryptionKey`
6012
6048
  # @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey]
6013
6049
  attr_accessor :disk_encryption_key
@@ -6032,8 +6068,8 @@ module Google
6032
6068
  # @return [Fixnum]
6033
6069
  attr_accessor :id
6034
6070
 
6035
- # Specifies the disk interface to use for attaching this disk, which is either
6036
- # SCSI or NVME. The default is SCSI.
6071
+ # [Deprecated] Specifies the disk interface to use for attaching this disk,
6072
+ # which is either SCSI or NVME. The default is SCSI.
6037
6073
  # Corresponds to the JSON property `interface`
6038
6074
  # @return [String]
6039
6075
  attr_accessor :interface
@@ -6087,6 +6123,22 @@ module Google
6087
6123
  # @return [String]
6088
6124
  attr_accessor :location_hint
6089
6125
 
6126
+ # [Output Only] The field indicates if the disk is created from a locked source
6127
+ # image. Attachment of a disk created from a locked source image will cause the
6128
+ # following operations to become irreversibly prohibited: - R/W or R/O disk
6129
+ # attachment to any other instance - Disk detachment. And the disk can only be
6130
+ # deleted when the instance is deleted - Creation of images or snapshots - Disk
6131
+ # cloning Furthermore, the instance with at least one disk with locked flag set
6132
+ # to true will be prohibited from performing the operations below: - Further
6133
+ # attachment of secondary disks. - Detachment of any disks - Create machine
6134
+ # images - Create instance template - Delete the instance with --keep-disk
6135
+ # parameter set to true for locked disks - Attach a locked disk with --auto-
6136
+ # delete parameter set to false
6137
+ # Corresponds to the JSON property `locked`
6138
+ # @return [Boolean]
6139
+ attr_accessor :locked
6140
+ alias_method :locked?, :locked
6141
+
6090
6142
  # Indicates whether or not the disk can be read/write attached to more than one
6091
6143
  # instance.
6092
6144
  # Corresponds to the JSON property `multiWriter`
@@ -6350,6 +6402,7 @@ module Google
6350
6402
  @license_codes = args[:license_codes] if args.key?(:license_codes)
6351
6403
  @licenses = args[:licenses] if args.key?(:licenses)
6352
6404
  @location_hint = args[:location_hint] if args.key?(:location_hint)
6405
+ @locked = args[:locked] if args.key?(:locked)
6353
6406
  @multi_writer = args[:multi_writer] if args.key?(:multi_writer)
6354
6407
  @name = args[:name] if args.key?(:name)
6355
6408
  @options = args[:options] if args.key?(:options)
@@ -7915,7 +7968,7 @@ module Google
7915
7968
 
7916
7969
  # If destination ranges are specified, the firewall rule applies only to traffic
7917
7970
  # that has destination IP address in these ranges. These ranges must be
7918
- # expressed in CIDR format. Only IPv4 is supported.
7971
+ # expressed in CIDR format. Both IPv4 and IPv6 are supported.
7919
7972
  # Corresponds to the JSON property `destinationRanges`
7920
7973
  # @return [Array<String>]
7921
7974
  attr_accessor :destination_ranges
@@ -8008,7 +8061,7 @@ module Google
8008
8061
  # fields are set, the rule applies to traffic that has a source IP address
8009
8062
  # within sourceRanges OR a source IP from a resource with a matching tag listed
8010
8063
  # in the sourceTags field. The connection does not need to match both fields for
8011
- # the rule to apply. Only IPv4 is supported.
8064
+ # the rule to apply. Both IPv4 and IPv6 are supported.
8012
8065
  # Corresponds to the JSON property `sourceRanges`
8013
8066
  # @return [Array<String>]
8014
8067
  attr_accessor :source_ranges
@@ -10289,7 +10342,7 @@ module Google
10289
10342
  # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
10290
10343
  # roles/resourcemanager.organizationViewer condition: title: expirable access
10291
10344
  # description: Does not grant access after Sep 2020 expression: request.time <
10292
- # timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a
10345
+ # timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a
10293
10346
  # description of IAM and its features, see the [IAM documentation](https://cloud.
10294
10347
  # google.com/iam/docs/).
10295
10348
  # Corresponds to the JSON property `policy`
@@ -10386,7 +10439,7 @@ module Google
10386
10439
  # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
10387
10440
  # roles/resourcemanager.organizationViewer condition: title: expirable access
10388
10441
  # description: Does not grant access after Sep 2020 expression: request.time <
10389
- # timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a
10442
+ # timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a
10390
10443
  # description of IAM and its features, see the [IAM documentation](https://cloud.
10391
10444
  # google.com/iam/docs/).
10392
10445
  # Corresponds to the JSON property `policy`
@@ -13285,6 +13338,24 @@ module Google
13285
13338
  # @return [Array<String>]
13286
13339
  attr_accessor :licenses
13287
13340
 
13341
+ # A flag for marketplace VM disk created from the image, which is designed for
13342
+ # marketplace VM disk to prevent the proprietary data on the disk from being
13343
+ # accessed unwantedly. The flag will be inherited by the disk created from the
13344
+ # image. The disk with locked flag set to true will be prohibited from
13345
+ # performing the operations below: - R/W or R/O disk attach - Disk detach, if
13346
+ # disk is created via create-on-create - Create images - Create snapshots -
13347
+ # Create disk clone (create disk from the current disk) The image with the
13348
+ # locked field set to true will be prohibited from performing the operations
13349
+ # below: - Create images from the current image - Update the locked field for
13350
+ # the current image The instance with at least one disk with locked flag set to
13351
+ # true will be prohibited from performing the operations below: - Secondary disk
13352
+ # attach - Create instant snapshot - Create machine images - Create instance
13353
+ # template - Delete the instance with --keep-disk parameter set to true
13354
+ # Corresponds to the JSON property `locked`
13355
+ # @return [Boolean]
13356
+ attr_accessor :locked
13357
+ alias_method :locked?, :locked
13358
+
13288
13359
  # Name of the resource; provided by the client when the resource is created. The
13289
13360
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
13290
13361
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
@@ -13350,10 +13421,12 @@ module Google
13350
13421
  # @return [String]
13351
13422
  attr_accessor :source_disk_id
13352
13423
 
13353
- # URL of the source image used to create this image. In order to create an image,
13354
- # you must provide the full or partial URL of one of the following: - The
13355
- # rawDisk.source URL - The sourceDisk URL - The sourceImage URL - The
13356
- # sourceSnapshot URL
13424
+ # URL of the source image used to create this image. The following are valid
13425
+ # formats for the URL: - https://www.googleapis.com/compute/v1/projects/
13426
+ # project_id/global/ images/image_name - projects/project_id/global/images/
13427
+ # image_name In order to create an image, you must provide the full or partial
13428
+ # URL of one of the following: - The rawDisk.source URL - The sourceDisk URL -
13429
+ # The sourceImage URL - The sourceSnapshot URL
13357
13430
  # Corresponds to the JSON property `sourceImage`
13358
13431
  # @return [String]
13359
13432
  attr_accessor :source_image
@@ -13371,10 +13444,12 @@ module Google
13371
13444
  # @return [String]
13372
13445
  attr_accessor :source_image_id
13373
13446
 
13374
- # URL of the source snapshot used to create this image. In order to create an
13375
- # image, you must provide the full or partial URL of one of the following: - The
13376
- # rawDisk.source URL - The sourceDisk URL - The sourceImage URL - The
13377
- # sourceSnapshot URL
13447
+ # URL of the source snapshot used to create this image. The following are valid
13448
+ # formats for the URL: - https://www.googleapis.com/compute/v1/projects/
13449
+ # project_id/global/ snapshots/snapshot_name - projects/project_id/global/
13450
+ # snapshots/snapshot_name In order to create an image, you must provide the full
13451
+ # or partial URL of one of the following: - The rawDisk.source URL - The
13452
+ # sourceDisk URL - The sourceImage URL - The sourceSnapshot URL
13378
13453
  # Corresponds to the JSON property `sourceSnapshot`
13379
13454
  # @return [String]
13380
13455
  attr_accessor :source_snapshot
@@ -13441,6 +13516,7 @@ module Google
13441
13516
  @labels = args[:labels] if args.key?(:labels)
13442
13517
  @license_codes = args[:license_codes] if args.key?(:license_codes)
13443
13518
  @licenses = args[:licenses] if args.key?(:licenses)
13519
+ @locked = args[:locked] if args.key?(:locked)
13444
13520
  @name = args[:name] if args.key?(:name)
13445
13521
  @raw_disk = args[:raw_disk] if args.key?(:raw_disk)
13446
13522
  @rollout_override = args[:rollout_override] if args.key?(:rollout_override)
@@ -13480,10 +13556,12 @@ module Google
13480
13556
  # @return [String]
13481
13557
  attr_accessor :sha1_checksum
13482
13558
 
13483
- # The full Google Cloud Storage URL where the disk image is stored. In order to
13484
- # create an image, you must provide the full or partial URL of one of the
13485
- # following: - The rawDisk.source URL - The sourceDisk URL - The sourceImage URL
13486
- # - The sourceSnapshot URL
13559
+ # The full Google Cloud Storage URL where the raw disk image archive is stored.
13560
+ # The following are valid formats for the URL: - https://storage.googleapis.com/
13561
+ # bucket_name/image_archive_name - https://storage.googleapis.com/bucket_name/
13562
+ # folder_name/ image_archive_name In order to create an image, you must provide
13563
+ # the full or partial URL of one of the following: - The rawDisk.source URL -
13564
+ # The sourceDisk URL - The sourceImage URL - The sourceSnapshot URL
13487
13565
  # Corresponds to the JSON property `source`
13488
13566
  # @return [String]
13489
13567
  attr_accessor :source
@@ -18284,6 +18362,25 @@ module Google
18284
18362
  end
18285
18363
  end
18286
18364
 
18365
+ #
18366
+ class InstantSnapshotsExportRequest
18367
+ include Google::Apis::Core::Hashable
18368
+
18369
+ # Parameters to export the changed blocks.
18370
+ # Corresponds to the JSON property `exportParams`
18371
+ # @return [Google::Apis::ComputeAlpha::InstantSnapshotExportParams]
18372
+ attr_accessor :export_params
18373
+
18374
+ def initialize(**args)
18375
+ update!(**args)
18376
+ end
18377
+
18378
+ # Update properties of this object
18379
+ def update!(**args)
18380
+ @export_params = args[:export_params] if args.key?(:export_params)
18381
+ end
18382
+ end
18383
+
18287
18384
  # HttpRouteRuleMatch criteria for field values that must stay within the
18288
18385
  # specified integer range.
18289
18386
  class Int64RangeMatch
@@ -19366,11 +19463,6 @@ module Google
19366
19463
  # @return [String]
19367
19464
  attr_accessor :mac_address
19368
19465
 
19369
- # Describes the status of MACsec encryption on the link.
19370
- # Corresponds to the JSON property `macsec`
19371
- # @return [Google::Apis::ComputeAlpha::InterconnectDiagnosticsMacsecStatus]
19372
- attr_accessor :macsec
19373
-
19374
19466
  def initialize(**args)
19375
19467
  update!(**args)
19376
19468
  end
@@ -19380,7 +19472,6 @@ module Google
19380
19472
  @arp_caches = args[:arp_caches] if args.key?(:arp_caches)
19381
19473
  @links = args[:links] if args.key?(:links)
19382
19474
  @mac_address = args[:mac_address] if args.key?(:mac_address)
19383
- @macsec = args[:macsec] if args.key?(:macsec)
19384
19475
  end
19385
19476
  end
19386
19477
 
@@ -19502,6 +19593,11 @@ module Google
19502
19593
  # @return [Google::Apis::ComputeAlpha::InterconnectDiagnosticsLinkLacpStatus]
19503
19594
  attr_accessor :lacp_status
19504
19595
 
19596
+ # Describes the status of MACsec encryption on the link.
19597
+ # Corresponds to the JSON property `macsec`
19598
+ # @return [Google::Apis::ComputeAlpha::InterconnectDiagnosticsMacsecStatus]
19599
+ attr_accessor :macsec
19600
+
19505
19601
  # An InterconnectDiagnostics.LinkOpticalPower object, describing the current
19506
19602
  # value and status of the received light level.
19507
19603
  # Corresponds to the JSON property `receivingOpticalPower`
@@ -19524,6 +19620,7 @@ module Google
19524
19620
  @circuit_id = args[:circuit_id] if args.key?(:circuit_id)
19525
19621
  @google_demarc = args[:google_demarc] if args.key?(:google_demarc)
19526
19622
  @lacp_status = args[:lacp_status] if args.key?(:lacp_status)
19623
+ @macsec = args[:macsec] if args.key?(:macsec)
19527
19624
  @receiving_optical_power = args[:receiving_optical_power] if args.key?(:receiving_optical_power)
19528
19625
  @transmitting_optical_power = args[:transmitting_optical_power] if args.key?(:transmitting_optical_power)
19529
19626
  end
@@ -19539,18 +19636,11 @@ module Google
19539
19636
  # @return [String]
19540
19637
  attr_accessor :ckn
19541
19638
 
19542
- # The current state of MACsec configuration on this Interconnect, which can take
19543
- # one of the following values: - INITIALIZED: MACsec has been configured on the
19544
- # bundle interface. The Google edge router is waiting to establish a MACsec
19545
- # session with the customer router on the other side of this Interconnect. In
19546
- # addition, when key rollover fails between the two routers, the bundle
19547
- # interface will return to the initialized state. - SECURED: MACsec session has
19548
- # been successfully established between the Google edge router and the customer
19549
- # router. - FAILED: MACsec configuration on the bundle interface encountered an
19550
- # error. - DISABLED: MACsec is explicitly disabled on this Interconnect.
19551
- # Corresponds to the JSON property `state`
19552
- # @return [String]
19553
- attr_accessor :state
19639
+ # Indicates whether or not MACsec is operational on this link.
19640
+ # Corresponds to the JSON property `operational`
19641
+ # @return [Boolean]
19642
+ attr_accessor :operational
19643
+ alias_method :operational?, :operational
19554
19644
 
19555
19645
  def initialize(**args)
19556
19646
  update!(**args)
@@ -19559,7 +19649,7 @@ module Google
19559
19649
  # Update properties of this object
19560
19650
  def update!(**args)
19561
19651
  @ckn = args[:ckn] if args.key?(:ckn)
19562
- @state = args[:state] if args.key?(:state)
19652
+ @operational = args[:operational] if args.key?(:operational)
19563
19653
  end
19564
19654
  end
19565
19655
 
@@ -22427,7 +22517,7 @@ module Google
22427
22517
  attr_accessor :kind
22428
22518
 
22429
22519
  # Maximum Transmission Unit in bytes. The minimum value for this field is 1460
22430
- # and the maximum value is 1500 bytes.
22520
+ # and the maximum value is 1500 bytes. If unspecified, defaults to 1460.
22431
22521
  # Corresponds to the JSON property `mtu`
22432
22522
  # @return [Fixnum]
22433
22523
  attr_accessor :mtu
@@ -24150,9 +24240,8 @@ module Google
24150
24240
  alias_method :export_custom_routes?, :export_custom_routes
24151
24241
 
24152
24242
  # Whether subnet routes with public IP range are exported. The default value is
24153
- # true, all subnet routes are exported. The IPv4 special-use ranges (https://en.
24154
- # wikipedia.org/wiki/IPv4#Special_addresses) are always exported to peers and
24155
- # are not controlled by this field.
24243
+ # true, all subnet routes are exported. IPv4 special-use ranges are always
24244
+ # exported to peers and are not controlled by this field.
24156
24245
  # Corresponds to the JSON property `exportSubnetRoutesWithPublicIp`
24157
24246
  # @return [Boolean]
24158
24247
  attr_accessor :export_subnet_routes_with_public_ip
@@ -24165,9 +24254,8 @@ module Google
24165
24254
  alias_method :import_custom_routes?, :import_custom_routes
24166
24255
 
24167
24256
  # Whether subnet routes with public IP range are imported. The default value is
24168
- # false. The IPv4 special-use ranges (https://en.wikipedia.org/wiki/IPv4#
24169
- # Special_addresses) are always imported from peers and are not controlled by
24170
- # this field.
24257
+ # false. IPv4 special-use ranges are always imported from peers and are not
24258
+ # controlled by this field.
24171
24259
  # Corresponds to the JSON property `importSubnetRoutesWithPublicIp`
24172
24260
  # @return [Boolean]
24173
24261
  attr_accessor :import_subnet_routes_with_public_ip
@@ -24481,7 +24569,7 @@ module Google
24481
24569
  end
24482
24570
  end
24483
24571
 
24484
- # Represent a sole-tenant Node Group resource. A sole-tenant node is a physical
24572
+ # Represents a sole-tenant Node Group resource. A sole-tenant node is a physical
24485
24573
  # server that is dedicated to hosting VM instances only for your specific
24486
24574
  # project. Use sole-tenant nodes to keep your instances physically separated
24487
24575
  # from instances in other projects, or to group your instances together on the
@@ -28478,7 +28566,7 @@ module Google
28478
28566
  # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
28479
28567
  # roles/resourcemanager.organizationViewer condition: title: expirable access
28480
28568
  # description: Does not grant access after Sep 2020 expression: request.time <
28481
- # timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a
28569
+ # timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a
28482
28570
  # description of IAM and its features, see the [IAM documentation](https://cloud.
28483
28571
  # google.com/iam/docs/).
28484
28572
  class Policy
@@ -28971,6 +29059,16 @@ module Google
28971
29059
  # @return [String]
28972
29060
  attr_accessor :organization
28973
29061
 
29062
+ # Opt-in for partial page behavior which provides a partial filled page (number
29063
+ # of items on which may be smaller than maxResults) within the API deadline. If
29064
+ # opt-in, then the user should rely on if nextPageToken is empty in the response
29065
+ # to determine if there is a next page. Empty page is also valid and possible.
29066
+ # The default value is false.
29067
+ # Corresponds to the JSON property `returnPartialPage`
29068
+ # @return [Boolean]
29069
+ attr_accessor :return_partial_page
29070
+ alias_method :return_partial_page?, :return_partial_page
29071
+
28974
29072
  def initialize(**args)
28975
29073
  update!(**args)
28976
29074
  end
@@ -28978,6 +29076,7 @@ module Google
28978
29076
  # Update properties of this object
28979
29077
  def update!(**args)
28980
29078
  @organization = args[:organization] if args.key?(:organization)
29079
+ @return_partial_page = args[:return_partial_page] if args.key?(:return_partial_page)
28981
29080
  end
28982
29081
  end
28983
29082
 
@@ -31579,7 +31678,7 @@ module Google
31579
31678
  # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
31580
31679
  # roles/resourcemanager.organizationViewer condition: title: expirable access
31581
31680
  # description: Does not grant access after Sep 2020 expression: request.time <
31582
- # timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a
31681
+ # timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a
31583
31682
  # description of IAM and its features, see the [IAM documentation](https://cloud.
31584
31683
  # google.com/iam/docs/).
31585
31684
  # Corresponds to the JSON property `policy`
@@ -31741,6 +31840,7 @@ module Google
31741
31840
  attr_accessor :share_settings
31742
31841
 
31743
31842
  # This reservation type allows to pre allocate specific instance configuration.
31843
+ # Next ID: 5
31744
31844
  # Corresponds to the JSON property `specificReservation`
31745
31845
  # @return [Google::Apis::ComputeAlpha::AllocationSpecificSkuReservation]
31746
31846
  attr_accessor :specific_reservation
@@ -34117,7 +34217,7 @@ module Google
34117
34217
  # from the peer router. The actual value is negotiated between the two routers
34118
34218
  # and is equal to the greater of this value and the transmit interval of the
34119
34219
  # other router. Not currently available publicly. If set, this value must be
34120
- # between 100 and 30000. The default is 300.
34220
+ # between 1000 and 30000. The default is 1000.
34121
34221
  # Corresponds to the JSON property `minReceiveInterval`
34122
34222
  # @return [Fixnum]
34123
34223
  attr_accessor :min_receive_interval
@@ -34126,7 +34226,7 @@ module Google
34126
34226
  # to the peer router. The actual value is negotiated between the two routers and
34127
34227
  # is equal to the greater of this value and the corresponding receive interval
34128
34228
  # of the other router. Not currently available publicly. If set, this value must
34129
- # be between 100 and 30000. The default is 300.
34229
+ # be between 1000 and 30000. The default is 1000.
34130
34230
  # Corresponds to the JSON property `minTransmitInterval`
34131
34231
  # @return [Fixnum]
34132
34232
  attr_accessor :min_transmit_interval
@@ -34142,7 +34242,7 @@ module Google
34142
34242
 
34143
34243
  # The number of consecutive BFD packets that must be missed before BFD declares
34144
34244
  # that a peer is unavailable. Not currently available publicly. If set, the
34145
- # value must be a value between 2 and 16. The default is 3.
34245
+ # value must be a value between 5 and 16. The default is 5.
34146
34246
  # Corresponds to the JSON property `multiplier`
34147
34247
  # @return [Fixnum]
34148
34248
  attr_accessor :multiplier
@@ -34605,9 +34705,11 @@ module Google
34605
34705
 
34606
34706
  # CEL expression that specifies the match condition that egress traffic from a
34607
34707
  # VM is evaluated against. If it evaluates to true, the corresponding `action`
34608
- # is enforced. The following examples are valid match expressions: "inIpRange(
34609
- # destination.ip, '1.1.0.0/16') || inIpRange(destination.ip, '2.2.0.0/16')" "
34610
- # destination.ip == '1.1.0.1' || destination.ip == '8.8.8.8'"
34708
+ # is enforced. The following examples are valid match expressions for public NAT:
34709
+ # "inIpRange(destination.ip, '1.1.0.0/16') || inIpRange(destination.ip, '2.2.0.
34710
+ # 0/16')" "destination.ip == '1.1.0.1' || destination.ip == '8.8.8.8'" The
34711
+ # following example is a valid match expression for private NAT: "nexthop.hub ==
34712
+ # '/projects/my-project/global/hub/hub-1'"
34611
34713
  # Corresponds to the JSON property `match`
34612
34714
  # @return [String]
34613
34715
  attr_accessor :match
@@ -34637,14 +34739,15 @@ module Google
34637
34739
  include Google::Apis::Core::Hashable
34638
34740
 
34639
34741
  # A list of URLs of the IP resources used for this NAT rule. These IP addresses
34640
- # must be valid static external IP addresses assigned to the project.
34742
+ # must be valid static external IP addresses assigned to the project. This field
34743
+ # is used for public NAT.
34641
34744
  # Corresponds to the JSON property `sourceNatActiveIps`
34642
34745
  # @return [Array<String>]
34643
34746
  attr_accessor :source_nat_active_ips
34644
34747
 
34645
34748
  # A list of URLs of the IP resources to be drained. These IPs must be valid
34646
34749
  # static external IPs that have been assigned to the NAT. These IPs should be
34647
- # used for updating/patching a NAT rule only.
34750
+ # used for updating/patching a NAT rule only. This field is used for public NAT.
34648
34751
  # Corresponds to the JSON property `sourceNatDrainIps`
34649
34752
  # @return [Array<String>]
34650
34753
  attr_accessor :source_nat_drain_ips
@@ -35418,6 +35521,11 @@ module Google
35418
35521
  # @return [Fixnum]
35419
35522
  attr_accessor :host_error_timeout_seconds
35420
35523
 
35524
+ # Specifies the termination action for the instance.
35525
+ # Corresponds to the JSON property `instanceTerminationAction`
35526
+ # @return [String]
35527
+ attr_accessor :instance_termination_action
35528
+
35421
35529
  # Defines whether the instance is tolerant of higher cpu latency. This can only
35422
35530
  # be set during instance creation, or when the instance is not currently running.
35423
35531
  # It must not be set if the preemptible option is also set.
@@ -35489,6 +35597,7 @@ module Google
35489
35597
  @current_cpus = args[:current_cpus] if args.key?(:current_cpus)
35490
35598
  @current_memory_mb = args[:current_memory_mb] if args.key?(:current_memory_mb)
35491
35599
  @host_error_timeout_seconds = args[:host_error_timeout_seconds] if args.key?(:host_error_timeout_seconds)
35600
+ @instance_termination_action = args[:instance_termination_action] if args.key?(:instance_termination_action)
35492
35601
  @latency_tolerant = args[:latency_tolerant] if args.key?(:latency_tolerant)
35493
35602
  @location_hint = args[:location_hint] if args.key?(:location_hint)
35494
35603
  @maintenance_freeze_duration_hours = args[:maintenance_freeze_duration_hours] if args.key?(:maintenance_freeze_duration_hours)
@@ -35986,8 +36095,8 @@ module Google
35986
36095
  # HTTP requests targeting backend services. They filter requests before they hit
35987
36096
  # the origin servers. CLOUD_ARMOR_EDGE - Cloud Armor edge security policies can
35988
36097
  # be configured to filter incoming HTTP requests targeting backend services (
35989
- # including Cloud CDN-enabled) as well as backend buckets (GCS). They filter
35990
- # requests before the request is served from Googles cache.
36098
+ # including Cloud CDN-enabled) as well as backend buckets (Cloud Storage). They
36099
+ # filter requests before the request is served from Google's cache.
35991
36100
  # Corresponds to the JSON property `type`
35992
36101
  # @return [String]
35993
36102
  attr_accessor :type
@@ -36672,23 +36781,23 @@ module Google
36672
36781
  attr_accessor :conform_action
36673
36782
 
36674
36783
  # Determines the key to enforce the rate_limit_threshold on. Possible values are:
36675
- # ALL -- A single rate limit threshold is applied to all the requests
36784
+ # "ALL" -- A single rate limit threshold is applied to all the requests
36676
36785
  # matching this rule. This is the default value if this field 'enforce_on_key'
36677
- # is not configured. ALL_IPS -- This definition, equivalent to "ALL", has been
36678
- # depprecated. IP -- The source IP address of the request is the key. Each IP
36679
- # has this limit enforced separately. HTTP_HEADER -- The value of the HTTP
36680
- # Header whose name is configured under enforce_on_key_name”. The key value is
36681
- # truncated to the first 128 bytes of the Header value. If no such header is
36682
- # present in the request, the key type defaults to ALL”. XFF_IP -- The first
36786
+ # is not configured. "ALL_IPS" -- This definition, equivalent to "ALL", has been
36787
+ # depprecated. "IP" -- The source IP address of the request is the key. Each IP
36788
+ # has this limit enforced separately. "HTTP_HEADER" -- The value of the HTTP
36789
+ # header whose name is configured under "enforce_on_key_name". The key value is
36790
+ # truncated to the first 128 bytes of the header value. If no such header is
36791
+ # present in the request, the key type defaults to "ALL". "XFF_IP" -- The first
36683
36792
  # IP address (i.e. the originating client IP address) specified in the list of
36684
- # IPs under X-Forwarded-For HTTP Header. If no such header is present or the
36685
- # value is not a valid IP, the key type defaults to ALL”.
36793
+ # IPs under X-Forwarded-For HTTP header. If no such header is present or the
36794
+ # value is not a valid IP, the key type defaults to "ALL".
36686
36795
  # Corresponds to the JSON property `enforceOnKey`
36687
36796
  # @return [String]
36688
36797
  attr_accessor :enforce_on_key
36689
36798
 
36690
36799
  # Rate limit key name applicable only for the following key types: HTTP_HEADER --
36691
- # Name of the HTTP Header whose value is taken as the key value.
36800
+ # Name of the HTTP header whose value is taken as the key value.
36692
36801
  # Corresponds to the JSON property `enforceOnKeyName`
36693
36802
  # @return [String]
36694
36803
  attr_accessor :enforce_on_key_name
@@ -36973,7 +37082,7 @@ module Google
36973
37082
  # Represents a ServiceAttachment resource. A service attachment represents a
36974
37083
  # service that a producer has exposed. It encapsulates the load balancer which
36975
37084
  # fronts the service runs and a list of NAT IP ranges that the producers uses to
36976
- # represent the consumers connecting to the service. next tag = 19
37085
+ # represent the consumers connecting to the service. next tag = 20
36977
37086
  class ServiceAttachment
36978
37087
  include Google::Apis::Core::Hashable
36979
37088
 
@@ -37506,6 +37615,13 @@ module Google
37506
37615
  class ShareSettings
37507
37616
  include Google::Apis::Core::Hashable
37508
37617
 
37618
+ # A map of folder id and folder config to specify consumer projects for this
37619
+ # shared-reservation. This is only valid when share_type's value is
37620
+ # DIRECT_PROJECTS_UNDER_SPECIFIC_FOLDERS.
37621
+ # Corresponds to the JSON property `folderMap`
37622
+ # @return [Hash<String,Google::Apis::ComputeAlpha::ShareSettingsFolderConfig>]
37623
+ attr_accessor :folder_map
37624
+
37509
37625
  # A List of Project names to specify consumer projects for this shared-
37510
37626
  # reservation. This is only valid when share_type's value is SPECIFIC_PROJECTS.
37511
37627
  # Corresponds to the JSON property `projects`
@@ -37523,11 +37639,32 @@ module Google
37523
37639
 
37524
37640
  # Update properties of this object
37525
37641
  def update!(**args)
37642
+ @folder_map = args[:folder_map] if args.key?(:folder_map)
37526
37643
  @projects = args[:projects] if args.key?(:projects)
37527
37644
  @share_type = args[:share_type] if args.key?(:share_type)
37528
37645
  end
37529
37646
  end
37530
37647
 
37648
+ # Config for each folder in the share settings.
37649
+ class ShareSettingsFolderConfig
37650
+ include Google::Apis::Core::Hashable
37651
+
37652
+ # The folder ID, should be same as the key of this folder config in the parent
37653
+ # map.
37654
+ # Corresponds to the JSON property `folderId`
37655
+ # @return [String]
37656
+ attr_accessor :folder_id
37657
+
37658
+ def initialize(**args)
37659
+ update!(**args)
37660
+ end
37661
+
37662
+ # Update properties of this object
37663
+ def update!(**args)
37664
+ @folder_id = args[:folder_id] if args.key?(:folder_id)
37665
+ end
37666
+ end
37667
+
37531
37668
  # A set of Shielded Instance options.
37532
37669
  class ShieldedInstanceConfig
37533
37670
  include Google::Apis::Core::Hashable
@@ -39317,16 +39454,19 @@ module Google
39317
39454
  # @return [String]
39318
39455
  attr_accessor :aggregation_interval
39319
39456
 
39320
- # Whether this subnetwork can conflict with static routes. Setting this to true
39321
- # allows this subnetwork's primary and secondary ranges to conflict with routes
39322
- # that have already been configured on the corresponding network. Static routes
39323
- # will take precedence over the subnetwork route if the route prefix length is
39324
- # at least as large as the subnetwork prefix length. Also, packets destined to
39325
- # IPs within subnetwork may contain private/sensitive data and are prevented
39326
- # from leaving the virtual network. Setting this field to true will disable this
39327
- # feature. The default value is false and applies to all existing subnetworks
39328
- # and automatically created subnetworks. This field cannot be set to true at
39329
- # resource creation time.
39457
+ # Whether this subnetwork's ranges can conflict with existing static routes.
39458
+ # Setting this to true allows this subnetwork's primary and secondary ranges to
39459
+ # overlap with (and contain) static routes that have already been configured on
39460
+ # the corresponding network. For example if a static route has range 10.1.0.0/16,
39461
+ # a subnet range 10.0.0.0/8 could only be created if allow_conflicting_routes=
39462
+ # true. Overlapping is only allowed on subnetwork operations; routes whose
39463
+ # ranges conflict with this subnetwork's ranges won't be allowed unless route.
39464
+ # allow_conflicting_subnetworks is set to true. Typically packets destined to
39465
+ # IPs within the subnetwork (which may contain private/sensitive data) are
39466
+ # prevented from leaving the virtual network. Setting this field to true will
39467
+ # disable this feature. The default value is false and applies to all existing
39468
+ # subnetworks and automatically created subnetworks. This field cannot be set to
39469
+ # true at resource creation time.
39330
39470
  # Corresponds to the JSON property `allowSubnetCidrRoutesOverlap`
39331
39471
  # @return [Boolean]
39332
39472
  attr_accessor :allow_subnet_cidr_routes_overlap
@@ -45146,6 +45286,12 @@ module Google
45146
45286
  # @return [String]
45147
45287
  attr_accessor :self_link
45148
45288
 
45289
+ # The stack type for this VPN gateway to identify the IP protocols that are
45290
+ # enabled. If not specified, IPV4_ONLY will be used.
45291
+ # Corresponds to the JSON property `stackType`
45292
+ # @return [String]
45293
+ attr_accessor :stack_type
45294
+
45149
45295
  # The list of VPN interfaces associated with this VPN gateway.
45150
45296
  # Corresponds to the JSON property `vpnInterfaces`
45151
45297
  # @return [Array<Google::Apis::ComputeAlpha::VpnGatewayVpnGatewayInterface>]
@@ -45167,6 +45313,7 @@ module Google
45167
45313
  @network = args[:network] if args.key?(:network)
45168
45314
  @region = args[:region] if args.key?(:region)
45169
45315
  @self_link = args[:self_link] if args.key?(:self_link)
45316
+ @stack_type = args[:stack_type] if args.key?(:stack_type)
45170
45317
  @vpn_interfaces = args[:vpn_interfaces] if args.key?(:vpn_interfaces)
45171
45318
  end
45172
45319
  end
@@ -46558,25 +46705,6 @@ module Google
46558
46705
  end
46559
46706
  end
46560
46707
 
46561
- #
46562
- class ZoneInstantSnapshotsExportRequest
46563
- include Google::Apis::Core::Hashable
46564
-
46565
- # Parameters to export the changed blocks.
46566
- # Corresponds to the JSON property `exportParams`
46567
- # @return [Google::Apis::ComputeAlpha::InstantSnapshotExportParams]
46568
- attr_accessor :export_params
46569
-
46570
- def initialize(**args)
46571
- update!(**args)
46572
- end
46573
-
46574
- # Update properties of this object
46575
- def update!(**args)
46576
- @export_params = args[:export_params] if args.key?(:export_params)
46577
- end
46578
- end
46579
-
46580
46708
  # Contains a list of zone resources.
46581
46709
  class ZoneList
46582
46710
  include Google::Apis::Core::Hashable
@@ -46765,7 +46893,7 @@ module Google
46765
46893
  # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
46766
46894
  # roles/resourcemanager.organizationViewer condition: title: expirable access
46767
46895
  # description: Does not grant access after Sep 2020 expression: request.time <
46768
- # timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a
46896
+ # timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a
46769
46897
  # description of IAM and its features, see the [IAM documentation](https://cloud.
46770
46898
  # google.com/iam/docs/).
46771
46899
  # Corresponds to the JSON property `policy`