google-apis-compute_beta 0.15.0 → 0.19.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.
@@ -510,13 +510,17 @@ module Google
510
510
  attr_accessor :network_tier
511
511
 
512
512
  # The DNS domain name for the public PTR record. You can set this field only if
513
- # the `setPublicPtr` field is enabled.
513
+ # the `setPublicPtr` field is enabled in accessConfig. If this field is
514
+ # unspecified in ipv6AccessConfig, a default PTR record will be createc for
515
+ # first IP in associated external IPv6 range.
514
516
  # Corresponds to the JSON property `publicPtrDomainName`
515
517
  # @return [String]
516
518
  attr_accessor :public_ptr_domain_name
517
519
 
518
520
  # Specifies whether a public DNS 'PTR' record should be created to map the
519
- # external IP address of the instance to a DNS domain name.
521
+ # external IP address of the instance to a DNS domain name. This field is not
522
+ # used in ipv6AccessConfig. A default PTR record will be created if the VM has
523
+ # external IPv6 range associated.
520
524
  # Corresponds to the JSON property `setPublicPtr`
521
525
  # @return [Boolean]
522
526
  attr_accessor :set_public_ptr
@@ -613,8 +617,8 @@ module Google
613
617
 
614
618
  # Name of the resource. Provided by the client when the resource is created. The
615
619
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
616
- # name must be 1-63 characters long and match the regular expression [a-z]([-a-
617
- # z0-9]*[a-z0-9])?. The first character must be a lowercase letter, and all
620
+ # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
621
+ # z0-9]*[a-z0-9])?`. The first character must be a lowercase letter, and all
618
622
  # following characters (except for the last character) must be a dash, lowercase
619
623
  # letter, or digit. The last character must be a lowercase letter or digit.
620
624
  # Corresponds to the JSON property `name`
@@ -1205,6 +1209,7 @@ module Google
1205
1209
  end
1206
1210
 
1207
1211
  # This reservation type allows to pre allocate specific instance configuration.
1212
+ # Next ID: 5
1208
1213
  class AllocationSpecificSkuReservation
1209
1214
  include Google::Apis::Core::Hashable
1210
1215
 
@@ -1328,6 +1333,17 @@ module Google
1328
1333
  # @return [Array<String>]
1329
1334
  attr_accessor :licenses
1330
1335
 
1336
+ # [Output Only] Whether to indicate the attached disk is locked. The locked disk
1337
+ # is not allowed to be detached from the instance, or to be used as the source
1338
+ # of the snapshot creation, and the image creation. The instance with at least
1339
+ # one locked attached disk is not allow to be used as source of machine image
1340
+ # creation, instant snapshot creation, and not allowed to be deleted with --keep-
1341
+ # disk parameter set to true for locked disks.
1342
+ # Corresponds to the JSON property `locked`
1343
+ # @return [Boolean]
1344
+ attr_accessor :locked
1345
+ alias_method :locked?, :locked
1346
+
1331
1347
  # The mode in which to attach this disk, either READ_WRITE or READ_ONLY. If not
1332
1348
  # specified, the default is to attach the disk in READ_WRITE mode.
1333
1349
  # Corresponds to the JSON property `mode`
@@ -1380,6 +1396,7 @@ module Google
1380
1396
  @interface = args[:interface] if args.key?(:interface)
1381
1397
  @kind = args[:kind] if args.key?(:kind)
1382
1398
  @licenses = args[:licenses] if args.key?(:licenses)
1399
+ @locked = args[:locked] if args.key?(:locked)
1383
1400
  @mode = args[:mode] if args.key?(:mode)
1384
1401
  @shielded_instance_initial_state = args[:shielded_instance_initial_state] if args.key?(:shielded_instance_initial_state)
1385
1402
  @source = args[:source] if args.key?(:source)
@@ -2509,7 +2526,13 @@ module Google
2509
2526
 
2510
2527
  # Specifies how to determine whether the backend of a load balancer can handle
2511
2528
  # additional traffic or is fully loaded. For usage guidelines, see Connection
2512
- # balancing mode.
2529
+ # balancing mode. Backends must use compatible balancing modes. For more
2530
+ # information, see Supported balancing modes and target capacity settings and
2531
+ # Restrictions and guidance for instance groups. Note: Currently, if you use the
2532
+ # API to configure incompatible balancing modes, the configuration might be
2533
+ # accepted even though it has no impact and is ignored. Specifically, Backend.
2534
+ # maxUtilization is ignored when Backend.balancingMode is RATE. In the future,
2535
+ # this incompatible combination will be rejected.
2513
2536
  # Corresponds to the JSON property `balancingMode`
2514
2537
  # @return [String]
2515
2538
  attr_accessor :balancing_mode
@@ -2590,7 +2613,9 @@ module Google
2590
2613
  # @return [Float]
2591
2614
  attr_accessor :max_rate_per_instance
2592
2615
 
2593
- #
2616
+ # Optional parameter to define a target capacity for the UTILIZATIONbalancing
2617
+ # mode. The valid range is [0.0, 1.0]. For usage guidelines, see Utilization
2618
+ # balancing mode.
2594
2619
  # Corresponds to the JSON property `maxUtilization`
2595
2620
  # @return [Float]
2596
2621
  attr_accessor :max_utilization
@@ -2753,7 +2778,7 @@ module Google
2753
2778
  # specified), or else sets the response max-age directive to the lesser of the
2754
2779
  # client_ttl and default_ttl, and also ensures a "public" cache-control
2755
2780
  # directive is present. If a client TTL is not specified, a default value (1
2756
- # hour) will be used. The maximum allowed value is 86400s (1 day).
2781
+ # hour) will be used. The maximum allowed value is 31,622,400s (1 year).
2757
2782
  # Corresponds to the JSON property `clientTtl`
2758
2783
  # @return [Fixnum]
2759
2784
  attr_accessor :client_ttl
@@ -3568,7 +3593,7 @@ module Google
3568
3593
  # specified), or else sets the response max-age directive to the lesser of the
3569
3594
  # client_ttl and default_ttl, and also ensures a "public" cache-control
3570
3595
  # directive is present. If a client TTL is not specified, a default value (1
3571
- # hour) will be used. The maximum allowed value is 86400s (1 day).
3596
+ # hour) will be used. The maximum allowed value is 31,622,400s (1 year).
3572
3597
  # Corresponds to the JSON property `clientTtl`
3573
3598
  # @return [Fixnum]
3574
3599
  attr_accessor :client_ttl
@@ -3753,8 +3778,8 @@ module Google
3753
3778
  # @return [String]
3754
3779
  attr_accessor :connection_persistence_on_unhealthy_backends
3755
3780
 
3756
- # Enable Strong Session Affinity. This is only available in External TCP/UDP
3757
- # load balancer.
3781
+ # Enable Strong Session Affinity for Network Load Balancing. This option is not
3782
+ # available publicly.
3758
3783
  # Corresponds to the JSON property `enableStrongAffinity`
3759
3784
  # @return [Boolean]
3760
3785
  attr_accessor :enable_strong_affinity
@@ -3762,9 +3787,9 @@ module Google
3762
3787
 
3763
3788
  # Specifies how long to keep a Connection Tracking entry while there is no
3764
3789
  # matching traffic (in seconds). For L4 ILB the minimum(default) is 10 minutes
3765
- # and maximum is 16 hours. For NLB the minimum(default) is 60 seconds and the
3766
- # maximum is 16 hours. This field will be supported only if the Connection
3767
- # Tracking key is less than 5-tuple.
3790
+ # and maximum is 16 hours. For Network Load Balancer the default is 60 seconds.
3791
+ # This option is not available publicly. This field will be supported only if
3792
+ # the Connection Tracking key is less than 5-tuple.
3768
3793
  # Corresponds to the JSON property `idleTimeoutSec`
3769
3794
  # @return [Fixnum]
3770
3795
  attr_accessor :idle_timeout_sec
@@ -5461,30 +5486,39 @@ module Google
5461
5486
  class CustomerEncryptionKey
5462
5487
  include Google::Apis::Core::Hashable
5463
5488
 
5464
- # The name of the encryption key that is stored in Google Cloud KMS.
5489
+ # The name of the encryption key that is stored in Google Cloud KMS. For example:
5490
+ # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ key_region/
5491
+ # cryptoKeys/key
5465
5492
  # Corresponds to the JSON property `kmsKeyName`
5466
5493
  # @return [String]
5467
5494
  attr_accessor :kms_key_name
5468
5495
 
5469
5496
  # The service account being used for the encryption request for the given KMS
5470
- # key. If absent, the Compute Engine default service account is used.
5497
+ # key. If absent, the Compute Engine default service account is used. For
5498
+ # example: "kmsKeyServiceAccount": "name@project_id.iam.gserviceaccount.com/
5471
5499
  # Corresponds to the JSON property `kmsKeyServiceAccount`
5472
5500
  # @return [String]
5473
5501
  attr_accessor :kms_key_service_account
5474
5502
 
5475
5503
  # Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648
5476
- # base64 to either encrypt or decrypt this resource.
5504
+ # base64 to either encrypt or decrypt this resource. You can provide either the
5505
+ # rawKey or the rsaEncryptedKey. For example: "rawKey": "
5506
+ # SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0="
5477
5507
  # Corresponds to the JSON property `rawKey`
5478
5508
  # @return [String]
5479
5509
  attr_accessor :raw_key
5480
5510
 
5481
5511
  # Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit customer-supplied
5482
- # encryption key to either encrypt or decrypt this resource. The key must meet
5483
- # the following requirements before you can provide it to Compute Engine: 1. The
5484
- # key is wrapped using a RSA public key certificate provided by Google. 2. After
5485
- # being wrapped, the key must be encoded in RFC 4648 base64 encoding. Gets the
5486
- # RSA public key certificate provided by Google at: https://cloud-certs.storage.
5487
- # googleapis.com/google-cloud-csek-ingress.pem
5512
+ # encryption key to either encrypt or decrypt this resource. You can provide
5513
+ # either the rawKey or the rsaEncryptedKey. For example: "rsaEncryptedKey": "
5514
+ # ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH
5515
+ # z0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD
5516
+ # D6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==" The
5517
+ # key must meet the following requirements before you can provide it to Compute
5518
+ # Engine: 1. The key is wrapped using a RSA public key certificate provided by
5519
+ # Google. 2. After being wrapped, the key must be encoded in RFC 4648 base64
5520
+ # encoding. Gets the RSA public key certificate provided by Google at: https://
5521
+ # cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem
5488
5522
  # Corresponds to the JSON property `rsaEncryptedKey`
5489
5523
  # @return [String]
5490
5524
  attr_accessor :rsa_encrypted_key
@@ -5519,7 +5553,8 @@ module Google
5519
5553
  attr_accessor :disk_encryption_key
5520
5554
 
5521
5555
  # Specifies a valid partial or full URL to an existing Persistent Disk resource.
5522
- # This field is only applicable for persistent disks.
5556
+ # This field is only applicable for persistent disks. For example: "source": "/
5557
+ # compute/v1/projects/project_id/zones/zone/disks/ disk_name
5523
5558
  # Corresponds to the JSON property `source`
5524
5559
  # @return [String]
5525
5560
  attr_accessor :source
@@ -5620,14 +5655,20 @@ module Google
5620
5655
  # @return [String]
5621
5656
  attr_accessor :description
5622
5657
 
5623
- # Encrypts the disk using a customer-supplied encryption key. After you encrypt
5624
- # a disk with a customer-supplied key, you must provide the same key if you use
5625
- # the disk later (e.g. to create a disk snapshot, to create a disk image, to
5626
- # create a machine image, or to attach the disk to a virtual machine). Customer-
5627
- # supplied encryption keys do not protect access to metadata of the disk. If you
5628
- # do not provide an encryption key when creating the disk, then the disk will be
5629
- # encrypted using an automatically generated key and you do not need to provide
5630
- # a key to use the disk later.
5658
+ # Encrypts the disk using a customer-supplied encryption key or a customer-
5659
+ # managed encryption key. Encryption keys do not protect access to metadata of
5660
+ # the disk. After you encrypt a disk with a customer-supplied key, you must
5661
+ # provide the same key if you use the disk later. For example, to create a disk
5662
+ # snapshot, to create a disk image, to create a machine image, or to attach the
5663
+ # disk to a virtual machine. After you encrypt a disk with a customer-managed
5664
+ # key, the diskEncryptionKey.kmsKeyName is set to a key *version* name once the
5665
+ # disk is created. The disk is encrypted with this version of the key. In the
5666
+ # response, diskEncryptionKey.kmsKeyName appears in the following format: "
5667
+ # diskEncryptionKey.kmsKeyName": "projects/kms_project_id/locations/region/
5668
+ # keyRings/ key_region/cryptoKeys/key /cryptoKeysVersions/version If you do not
5669
+ # provide an encryption key when creating the disk, then the disk is encrypted
5670
+ # using an automatically generated key and you don't need to provide a key to
5671
+ # use the disk later.
5631
5672
  # Corresponds to the JSON property `diskEncryptionKey`
5632
5673
  # @return [Google::Apis::ComputeBeta::CustomerEncryptionKey]
5633
5674
  attr_accessor :disk_encryption_key
@@ -5652,8 +5693,8 @@ module Google
5652
5693
  # @return [Fixnum]
5653
5694
  attr_accessor :id
5654
5695
 
5655
- # Specifies the disk interface to use for attaching this disk, which is either
5656
- # SCSI or NVME. The default is SCSI.
5696
+ # [Deprecated] Specifies the disk interface to use for attaching this disk,
5697
+ # which is either SCSI or NVME. The default is SCSI.
5657
5698
  # Corresponds to the JSON property `interface`
5658
5699
  # @return [String]
5659
5700
  attr_accessor :interface
@@ -5707,6 +5748,22 @@ module Google
5707
5748
  # @return [String]
5708
5749
  attr_accessor :location_hint
5709
5750
 
5751
+ # [Output Only] The field indicates if the disk is created from a locked source
5752
+ # image. Attachment of a disk created from a locked source image will cause the
5753
+ # following operations to become irreversibly prohibited: - R/W or R/O disk
5754
+ # attachment to any other instance - Disk detachment. And the disk can only be
5755
+ # deleted when the instance is deleted - Creation of images or snapshots - Disk
5756
+ # cloning Furthermore, the instance with at least one disk with locked flag set
5757
+ # to true will be prohibited from performing the operations below: - Further
5758
+ # attachment of secondary disks. - Detachment of any disks - Create machine
5759
+ # images - Create instance template - Delete the instance with --keep-disk
5760
+ # parameter set to true for locked disks - Attach a locked disk with --auto-
5761
+ # delete parameter set to false
5762
+ # Corresponds to the JSON property `locked`
5763
+ # @return [Boolean]
5764
+ attr_accessor :locked
5765
+ alias_method :locked?, :locked
5766
+
5710
5767
  # Indicates whether or not the disk can be read/write attached to more than one
5711
5768
  # instance.
5712
5769
  # Corresponds to the JSON property `multiWriter`
@@ -5927,6 +5984,7 @@ module Google
5927
5984
  @license_codes = args[:license_codes] if args.key?(:license_codes)
5928
5985
  @licenses = args[:licenses] if args.key?(:licenses)
5929
5986
  @location_hint = args[:location_hint] if args.key?(:location_hint)
5987
+ @locked = args[:locked] if args.key?(:locked)
5930
5988
  @multi_writer = args[:multi_writer] if args.key?(:multi_writer)
5931
5989
  @name = args[:name] if args.key?(:name)
5932
5990
  @options = args[:options] if args.key?(:options)
@@ -7481,7 +7539,7 @@ module Google
7481
7539
 
7482
7540
  # If destination ranges are specified, the firewall rule applies only to traffic
7483
7541
  # that has destination IP address in these ranges. These ranges must be
7484
- # expressed in CIDR format. Only IPv4 is supported.
7542
+ # expressed in CIDR format. Both IPv4 and IPv6 are supported.
7485
7543
  # Corresponds to the JSON property `destinationRanges`
7486
7544
  # @return [Array<String>]
7487
7545
  attr_accessor :destination_ranges
@@ -7529,7 +7587,7 @@ module Google
7529
7587
  # Name of the resource; provided by the client when the resource is created. The
7530
7588
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
7531
7589
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
7532
- # z0-9]*[a-z0-9])?. The first character must be a lowercase letter, and all
7590
+ # z0-9]*[a-z0-9])?`. The first character must be a lowercase letter, and all
7533
7591
  # following characters (except for the last character) must be a dash, lowercase
7534
7592
  # letter, or digit. The last character must be a lowercase letter or digit.
7535
7593
  # Corresponds to the JSON property `name`
@@ -7569,7 +7627,7 @@ module Google
7569
7627
  # fields are set, the rule applies to traffic that has a source IP address
7570
7628
  # within sourceRanges OR a source IP from a resource with a matching tag listed
7571
7629
  # in the sourceTags field. The connection does not need to match both fields for
7572
- # the rule to apply. Only IPv4 is supported.
7630
+ # the rule to apply. Both IPv4 and IPv6 are supported.
7573
7631
  # Corresponds to the JSON property `sourceRanges`
7574
7632
  # @return [Array<String>]
7575
7633
  attr_accessor :source_ranges
@@ -7904,7 +7962,7 @@ module Google
7904
7962
  attr_accessor :description
7905
7963
 
7906
7964
  # Deprecated, please use short name instead. User-provided name of the
7907
- # Organization firewall plicy. The name should be unique in the organization in
7965
+ # Organization firewall policy. The name should be unique in the organization in
7908
7966
  # which the firewall policy is created. This name must be set on creation and
7909
7967
  # cannot be changed. The name must be 1-63 characters long, and comply with
7910
7968
  # RFC1035. Specifically, the name must be 1-63 characters long and match the
@@ -8631,6 +8689,16 @@ module Google
8631
8689
  # @return [String]
8632
8690
  attr_accessor :service_name
8633
8691
 
8692
+ # If not empty, this Forwarding Rule will only forward the traffic when the
8693
+ # source IP address matches one of the IP addresses or CIDR ranges set here.
8694
+ # Note that a Forwarding Rule can only have up to 64 source IP ranges, and this
8695
+ # field can only be used with a regional Forwarding Rule whose scheme is
8696
+ # EXTERNAL. Each source_ip_range entry should be either an IP address (for
8697
+ # example, 1.2.3.4) or a CIDR range (for example, 1.2.3.0/24).
8698
+ # Corresponds to the JSON property `sourceIpRanges`
8699
+ # @return [Array<String>]
8700
+ attr_accessor :source_ip_ranges
8701
+
8634
8702
  # This field identifies the subnetwork that the load balanced IP should belong
8635
8703
  # to for this Forwarding Rule, used in internal load balancing and network load
8636
8704
  # balancing with IPv6. If the network specified is in auto subnet mode, this
@@ -8679,6 +8747,7 @@ module Google
8679
8747
  @service_directory_registrations = args[:service_directory_registrations] if args.key?(:service_directory_registrations)
8680
8748
  @service_label = args[:service_label] if args.key?(:service_label)
8681
8749
  @service_name = args[:service_name] if args.key?(:service_name)
8750
+ @source_ip_ranges = args[:source_ip_ranges] if args.key?(:source_ip_ranges)
8682
8751
  @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
8683
8752
  @target = args[:target] if args.key?(:target)
8684
8753
  end
@@ -9201,7 +9270,7 @@ module Google
9201
9270
  # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
9202
9271
  # roles/resourcemanager.organizationViewer condition: title: expirable access
9203
9272
  # description: Does not grant access after Sep 2020 expression: request.time <
9204
- # timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a
9273
+ # timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a
9205
9274
  # description of IAM and its features, see the [IAM documentation](https://cloud.
9206
9275
  # google.com/iam/docs/).
9207
9276
  # Corresponds to the JSON property `policy`
@@ -9298,7 +9367,7 @@ module Google
9298
9367
  # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
9299
9368
  # roles/resourcemanager.organizationViewer condition: title: expirable access
9300
9369
  # description: Does not grant access after Sep 2020 expression: request.time <
9301
- # timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a
9370
+ # timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a
9302
9371
  # description of IAM and its features, see the [IAM documentation](https://cloud.
9303
9372
  # google.com/iam/docs/).
9304
9373
  # Corresponds to the JSON property `policy`
@@ -11901,6 +11970,24 @@ module Google
11901
11970
  # @return [Array<String>]
11902
11971
  attr_accessor :licenses
11903
11972
 
11973
+ # A flag for marketplace VM disk created from the image, which is designed for
11974
+ # marketplace VM disk to prevent the proprietary data on the disk from being
11975
+ # accessed unwantedly. The flag will be inherited by the disk created from the
11976
+ # image. The disk with locked flag set to true will be prohibited from
11977
+ # performing the operations below: - R/W or R/O disk attach - Disk detach, if
11978
+ # disk is created via create-on-create - Create images - Create snapshots -
11979
+ # Create disk clone (create disk from the current disk) The image with the
11980
+ # locked field set to true will be prohibited from performing the operations
11981
+ # below: - Create images from the current image - Update the locked field for
11982
+ # the current image The instance with at least one disk with locked flag set to
11983
+ # true will be prohibited from performing the operations below: - Secondary disk
11984
+ # attach - Create instant snapshot - Create machine images - Create instance
11985
+ # template - Delete the instance with --keep-disk parameter set to true
11986
+ # Corresponds to the JSON property `locked`
11987
+ # @return [Boolean]
11988
+ attr_accessor :locked
11989
+ alias_method :locked?, :locked
11990
+
11904
11991
  # Name of the resource; provided by the client when the resource is created. The
11905
11992
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
11906
11993
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
@@ -11961,10 +12048,12 @@ module Google
11961
12048
  # @return [String]
11962
12049
  attr_accessor :source_disk_id
11963
12050
 
11964
- # URL of the source image used to create this image. In order to create an image,
11965
- # you must provide the full or partial URL of one of the following: - The
11966
- # rawDisk.source URL - The sourceDisk URL - The sourceImage URL - The
11967
- # sourceSnapshot URL
12051
+ # URL of the source image used to create this image. The following are valid
12052
+ # formats for the URL: - https://www.googleapis.com/compute/v1/projects/
12053
+ # project_id/global/ images/image_name - projects/project_id/global/images/
12054
+ # image_name In order to create an image, you must provide the full or partial
12055
+ # URL of one of the following: - The rawDisk.source URL - The sourceDisk URL -
12056
+ # The sourceImage URL - The sourceSnapshot URL
11968
12057
  # Corresponds to the JSON property `sourceImage`
11969
12058
  # @return [String]
11970
12059
  attr_accessor :source_image
@@ -11982,10 +12071,12 @@ module Google
11982
12071
  # @return [String]
11983
12072
  attr_accessor :source_image_id
11984
12073
 
11985
- # URL of the source snapshot used to create this image. In order to create an
11986
- # image, you must provide the full or partial URL of one of the following: - The
11987
- # rawDisk.source URL - The sourceDisk URL - The sourceImage URL - The
11988
- # sourceSnapshot URL
12074
+ # URL of the source snapshot used to create this image. The following are valid
12075
+ # formats for the URL: - https://www.googleapis.com/compute/v1/projects/
12076
+ # project_id/global/ snapshots/snapshot_name - projects/project_id/global/
12077
+ # snapshots/snapshot_name In order to create an image, you must provide the full
12078
+ # or partial URL of one of the following: - The rawDisk.source URL - The
12079
+ # sourceDisk URL - The sourceImage URL - The sourceSnapshot URL
11989
12080
  # Corresponds to the JSON property `sourceSnapshot`
11990
12081
  # @return [String]
11991
12082
  attr_accessor :source_snapshot
@@ -12052,6 +12143,7 @@ module Google
12052
12143
  @labels = args[:labels] if args.key?(:labels)
12053
12144
  @license_codes = args[:license_codes] if args.key?(:license_codes)
12054
12145
  @licenses = args[:licenses] if args.key?(:licenses)
12146
+ @locked = args[:locked] if args.key?(:locked)
12055
12147
  @name = args[:name] if args.key?(:name)
12056
12148
  @raw_disk = args[:raw_disk] if args.key?(:raw_disk)
12057
12149
  @rollout_override = args[:rollout_override] if args.key?(:rollout_override)
@@ -12090,10 +12182,12 @@ module Google
12090
12182
  # @return [String]
12091
12183
  attr_accessor :sha1_checksum
12092
12184
 
12093
- # The full Google Cloud Storage URL where the disk image is stored. In order to
12094
- # create an image, you must provide the full or partial URL of one of the
12095
- # following: - The rawDisk.source URL - The sourceDisk URL - The sourceImage URL
12096
- # - The sourceSnapshot URL
12185
+ # The full Google Cloud Storage URL where the raw disk image archive is stored.
12186
+ # The following are valid formats for the URL: - https://storage.googleapis.com/
12187
+ # bucket_name/image_archive_name - https://storage.googleapis.com/bucket_name/
12188
+ # folder_name/ image_archive_name In order to create an image, you must provide
12189
+ # the full or partial URL of one of the following: - The rawDisk.source URL -
12190
+ # The sourceDisk URL - The sourceImage URL - The sourceSnapshot URL
12097
12191
  # Corresponds to the JSON property `source`
12098
12192
  # @return [String]
12099
12193
  attr_accessor :source
@@ -15238,7 +15332,7 @@ module Google
15238
15332
  # @return [Array<Google::Apis::ComputeBeta::NetworkInterface>]
15239
15333
  attr_accessor :network_interfaces
15240
15334
 
15241
- #
15335
+ # Note that for MachineImage, this is not supported yet.
15242
15336
  # Corresponds to the JSON property `networkPerformanceConfig`
15243
15337
  # @return [Google::Apis::ComputeBeta::NetworkPerformanceConfig]
15244
15338
  attr_accessor :network_performance_config
@@ -15249,7 +15343,8 @@ module Google
15249
15343
  attr_accessor :post_key_revocation_action_type
15250
15344
 
15251
15345
  # The private IPv6 google access type for VMs. If not specified, use
15252
- # INHERIT_FROM_SUBNETWORK as default.
15346
+ # INHERIT_FROM_SUBNETWORK as default. Note that for MachineImage, this is not
15347
+ # supported yet.
15253
15348
  # Corresponds to the JSON property `privateIpv6GoogleAccess`
15254
15349
  # @return [String]
15255
15350
  attr_accessor :private_ipv6_google_access
@@ -15260,7 +15355,7 @@ module Google
15260
15355
  attr_accessor :reservation_affinity
15261
15356
 
15262
15357
  # Resource policies (names, not ULRs) applied to instances created from these
15263
- # properties.
15358
+ # properties. Note that for MachineImage, this is not supported yet.
15264
15359
  # Corresponds to the JSON property `resourcePolicies`
15265
15360
  # @return [Array<String>]
15266
15361
  attr_accessor :resource_policies
@@ -16184,6 +16279,14 @@ module Google
16184
16279
  # @return [Fixnum]
16185
16280
  attr_accessor :requested_link_count
16186
16281
 
16282
+ # [Output Only] Set to true if the resource satisfies the zone separation
16283
+ # organization policy constraints and false otherwise. Defaults to false if the
16284
+ # field is not present.
16285
+ # Corresponds to the JSON property `satisfiesPzs`
16286
+ # @return [Boolean]
16287
+ attr_accessor :satisfies_pzs
16288
+ alias_method :satisfies_pzs?, :satisfies_pzs
16289
+
16187
16290
  # [Output Only] Server-defined URL for the resource.
16188
16291
  # Corresponds to the JSON property `selfLink`
16189
16292
  # @return [String]
@@ -16228,6 +16331,7 @@ module Google
16228
16331
  @peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address)
16229
16332
  @provisioned_link_count = args[:provisioned_link_count] if args.key?(:provisioned_link_count)
16230
16333
  @requested_link_count = args[:requested_link_count] if args.key?(:requested_link_count)
16334
+ @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
16231
16335
  @self_link = args[:self_link] if args.key?(:self_link)
16232
16336
  @state = args[:state] if args.key?(:state)
16233
16337
  end
@@ -16453,6 +16557,14 @@ module Google
16453
16557
  # @return [String]
16454
16558
  attr_accessor :router
16455
16559
 
16560
+ # [Output Only] Set to true if the resource satisfies the zone separation
16561
+ # organization policy constraints and false otherwise. Defaults to false if the
16562
+ # field is not present.
16563
+ # Corresponds to the JSON property `satisfiesPzs`
16564
+ # @return [Boolean]
16565
+ attr_accessor :satisfies_pzs
16566
+ alias_method :satisfies_pzs?, :satisfies_pzs
16567
+
16456
16568
  # [Output Only] Server-defined URL for the resource.
16457
16569
  # Corresponds to the JSON property `selfLink`
16458
16570
  # @return [String]
@@ -16524,6 +16636,7 @@ module Google
16524
16636
  @private_interconnect_info = args[:private_interconnect_info] if args.key?(:private_interconnect_info)
16525
16637
  @region = args[:region] if args.key?(:region)
16526
16638
  @router = args[:router] if args.key?(:router)
16639
+ @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
16527
16640
  @self_link = args[:self_link] if args.key?(:self_link)
16528
16641
  @state = args[:state] if args.key?(:state)
16529
16642
  @type = args[:type] if args.key?(:type)
@@ -17351,6 +17464,13 @@ module Google
17351
17464
  # @return [String]
17352
17465
  attr_accessor :status
17353
17466
 
17467
+ # [Output Only] Set to true for locations that support physical zone separation.
17468
+ # Defaults to false if the field is not present.
17469
+ # Corresponds to the JSON property `supportsPzs`
17470
+ # @return [Boolean]
17471
+ attr_accessor :supports_pzs
17472
+ alias_method :supports_pzs?, :supports_pzs
17473
+
17354
17474
  def initialize(**args)
17355
17475
  update!(**args)
17356
17476
  end
@@ -17372,6 +17492,7 @@ module Google
17372
17492
  @region_infos = args[:region_infos] if args.key?(:region_infos)
17373
17493
  @self_link = args[:self_link] if args.key?(:self_link)
17374
17494
  @status = args[:status] if args.key?(:status)
17495
+ @supports_pzs = args[:supports_pzs] if args.key?(:supports_pzs)
17375
17496
  end
17376
17497
  end
17377
17498
 
@@ -19325,7 +19446,7 @@ module Google
19325
19446
  attr_accessor :kind
19326
19447
 
19327
19448
  # Maximum Transmission Unit in bytes. The minimum value for this field is 1460
19328
- # and the maximum value is 1500 bytes.
19449
+ # and the maximum value is 1500 bytes. If unspecified, defaults to 1460.
19329
19450
  # Corresponds to the JSON property `mtu`
19330
19451
  # @return [Fixnum]
19331
19452
  attr_accessor :mtu
@@ -20653,9 +20774,8 @@ module Google
20653
20774
  alias_method :export_custom_routes?, :export_custom_routes
20654
20775
 
20655
20776
  # Whether subnet routes with public IP range are exported. The default value is
20656
- # true, all subnet routes are exported. The IPv4 special-use ranges (https://en.
20657
- # wikipedia.org/wiki/IPv4#Special_addresses) are always exported to peers and
20658
- # are not controlled by this field.
20777
+ # true, all subnet routes are exported. IPv4 special-use ranges are always
20778
+ # exported to peers and are not controlled by this field.
20659
20779
  # Corresponds to the JSON property `exportSubnetRoutesWithPublicIp`
20660
20780
  # @return [Boolean]
20661
20781
  attr_accessor :export_subnet_routes_with_public_ip
@@ -20668,9 +20788,8 @@ module Google
20668
20788
  alias_method :import_custom_routes?, :import_custom_routes
20669
20789
 
20670
20790
  # Whether subnet routes with public IP range are imported. The default value is
20671
- # false. The IPv4 special-use ranges (https://en.wikipedia.org/wiki/IPv4#
20672
- # Special_addresses) are always imported from peers and are not controlled by
20673
- # this field.
20791
+ # false. IPv4 special-use ranges are always imported from peers and are not
20792
+ # controlled by this field.
20674
20793
  # Corresponds to the JSON property `importSubnetRoutesWithPublicIp`
20675
20794
  # @return [Boolean]
20676
20795
  attr_accessor :import_subnet_routes_with_public_ip
@@ -20961,7 +21080,7 @@ module Google
20961
21080
  end
20962
21081
  end
20963
21082
 
20964
- # Represent a sole-tenant Node Group resource. A sole-tenant node is a physical
21083
+ # Represents a sole-tenant Node Group resource. A sole-tenant node is a physical
20965
21084
  # server that is dedicated to hosting VM instances only for your specific
20966
21085
  # project. Use sole-tenant nodes to keep your instances physically separated
20967
21086
  # from instances in other projects, or to group your instances together on the
@@ -24564,7 +24683,7 @@ module Google
24564
24683
  # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
24565
24684
  # roles/resourcemanager.organizationViewer condition: title: expirable access
24566
24685
  # description: Does not grant access after Sep 2020 expression: request.time <
24567
- # timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a
24686
+ # timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a
24568
24687
  # description of IAM and its features, see the [IAM documentation](https://cloud.
24569
24688
  # google.com/iam/docs/).
24570
24689
  class Policy
@@ -26784,6 +26903,47 @@ module Google
26784
26903
  end
26785
26904
  end
26786
26905
 
26906
+ #
26907
+ class RegionInstanceGroupManagersResizeAdvancedRequest
26908
+ include Google::Apis::Core::Hashable
26909
+
26910
+ # If this flag is true, the managed instance group attempts to create all
26911
+ # instances initiated by this resize request only once. If there is an error
26912
+ # during creation, the managed instance group does not retry create this
26913
+ # instance, and we will decrease the targetSize of the request instead. If the
26914
+ # flag is false, the group attempts to recreate each instance continuously until
26915
+ # it succeeds. This flag matters only in the first attempt of creation of an
26916
+ # instance. After an instance is successfully created while this flag is enabled,
26917
+ # the instance behaves the same way as all the other instances created with a
26918
+ # regular resize request. In particular, if a running instance dies unexpectedly
26919
+ # at a later time and needs to be recreated, this mode does not affect the
26920
+ # recreation behavior in that scenario. This flag is applicable only to the
26921
+ # current resize request. It does not influence other resize requests in any way.
26922
+ # You can see which instances ar being created in which mode by calling the get
26923
+ # or listManagedInstances API.
26924
+ # Corresponds to the JSON property `noCreationRetries`
26925
+ # @return [Boolean]
26926
+ attr_accessor :no_creation_retries
26927
+ alias_method :no_creation_retries?, :no_creation_retries
26928
+
26929
+ # The number of running instances that the managed instance group should
26930
+ # maintain at any given time. The group automatically adds or removes instances
26931
+ # to maintain the number of instances specified by this parameter.
26932
+ # Corresponds to the JSON property `targetSize`
26933
+ # @return [Fixnum]
26934
+ attr_accessor :target_size
26935
+
26936
+ def initialize(**args)
26937
+ update!(**args)
26938
+ end
26939
+
26940
+ # Update properties of this object
26941
+ def update!(**args)
26942
+ @no_creation_retries = args[:no_creation_retries] if args.key?(:no_creation_retries)
26943
+ @target_size = args[:target_size] if args.key?(:target_size)
26944
+ end
26945
+ end
26946
+
26787
26947
  #
26788
26948
  class RegionInstanceGroupManagersSetAutoHealingRequest
26789
26949
  include Google::Apis::Core::Hashable
@@ -27217,7 +27377,7 @@ module Google
27217
27377
  # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
27218
27378
  # roles/resourcemanager.organizationViewer condition: title: expirable access
27219
27379
  # description: Does not grant access after Sep 2020 expression: request.time <
27220
- # timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a
27380
+ # timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a
27221
27381
  # description of IAM and its features, see the [IAM documentation](https://cloud.
27222
27382
  # google.com/iam/docs/).
27223
27383
  # Corresponds to the JSON property `policy`
@@ -27374,6 +27534,7 @@ module Google
27374
27534
  attr_accessor :share_settings
27375
27535
 
27376
27536
  # This reservation type allows to pre allocate specific instance configuration.
27537
+ # Next ID: 5
27377
27538
  # Corresponds to the JSON property `specificReservation`
27378
27539
  # @return [Google::Apis::ComputeBeta::AllocationSpecificSkuReservation]
27379
27540
  attr_accessor :specific_reservation
@@ -28750,6 +28911,11 @@ module Google
28750
28911
  class Route
28751
28912
  include Google::Apis::Core::Hashable
28752
28913
 
28914
+ # [Output Only] AS path.
28915
+ # Corresponds to the JSON property `asPaths`
28916
+ # @return [Array<Google::Apis::ComputeBeta::RouteAsPath>]
28917
+ attr_accessor :as_paths
28918
+
28753
28919
  # [Output Only] Creation timestamp in RFC3339 text format.
28754
28920
  # Corresponds to the JSON property `creationTimestamp`
28755
28921
  # @return [String]
@@ -28854,6 +29020,15 @@ module Google
28854
29020
  # @return [Fixnum]
28855
29021
  attr_accessor :priority
28856
29022
 
29023
+ # [Output Only] The type of this route, which can be one of the following values:
29024
+ # - 'TRANSIT' for a transit route that this router learned from another Cloud
29025
+ # Router and will readvertise to one of its BGP peers - 'SUBNET' for a route
29026
+ # from a subnet of the VPC - 'BGP' for a route learned from a BGP peer of this
29027
+ # router - 'STATIC' for a static route
29028
+ # Corresponds to the JSON property `routeType`
29029
+ # @return [String]
29030
+ attr_accessor :route_type
29031
+
28857
29032
  # [Output Only] Server-defined fully-qualified URL for this resource.
28858
29033
  # Corresponds to the JSON property `selfLink`
28859
29034
  # @return [String]
@@ -28876,6 +29051,7 @@ module Google
28876
29051
 
28877
29052
  # Update properties of this object
28878
29053
  def update!(**args)
29054
+ @as_paths = args[:as_paths] if args.key?(:as_paths)
28879
29055
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
28880
29056
  @description = args[:description] if args.key?(:description)
28881
29057
  @dest_range = args[:dest_range] if args.key?(:dest_range)
@@ -28892,6 +29068,7 @@ module Google
28892
29068
  @next_hop_peering = args[:next_hop_peering] if args.key?(:next_hop_peering)
28893
29069
  @next_hop_vpn_tunnel = args[:next_hop_vpn_tunnel] if args.key?(:next_hop_vpn_tunnel)
28894
29070
  @priority = args[:priority] if args.key?(:priority)
29071
+ @route_type = args[:route_type] if args.key?(:route_type)
28895
29072
  @self_link = args[:self_link] if args.key?(:self_link)
28896
29073
  @tags = args[:tags] if args.key?(:tags)
28897
29074
  @warnings = args[:warnings] if args.key?(:warnings)
@@ -28962,6 +29139,37 @@ module Google
28962
29139
  end
28963
29140
  end
28964
29141
 
29142
+ #
29143
+ class RouteAsPath
29144
+ include Google::Apis::Core::Hashable
29145
+
29146
+ # [Output Only] The AS numbers of the AS Path.
29147
+ # Corresponds to the JSON property `asLists`
29148
+ # @return [Array<Fixnum>]
29149
+ attr_accessor :as_lists
29150
+
29151
+ # [Output Only] The type of the AS Path, which can be one of the following
29152
+ # values: - 'AS_SET': unordered set of autonomous systems that the route in has
29153
+ # traversed - 'AS_SEQUENCE': ordered set of autonomous systems that the route
29154
+ # has traversed - 'AS_CONFED_SEQUENCE': ordered set of Member Autonomous Systems
29155
+ # in the local confederation that the route has traversed - 'AS_CONFED_SET':
29156
+ # unordered set of Member Autonomous Systems in the local confederation that the
29157
+ # route has traversed
29158
+ # Corresponds to the JSON property `pathSegmentType`
29159
+ # @return [String]
29160
+ attr_accessor :path_segment_type
29161
+
29162
+ def initialize(**args)
29163
+ update!(**args)
29164
+ end
29165
+
29166
+ # Update properties of this object
29167
+ def update!(**args)
29168
+ @as_lists = args[:as_lists] if args.key?(:as_lists)
29169
+ @path_segment_type = args[:path_segment_type] if args.key?(:path_segment_type)
29170
+ end
29171
+ end
29172
+
28965
29173
  # Contains a list of Route resources.
28966
29174
  class RouteList
28967
29175
  include Google::Apis::Core::Hashable
@@ -29428,7 +29636,7 @@ module Google
29428
29636
  # @return [Fixnum]
29429
29637
  attr_accessor :advertised_route_priority
29430
29638
 
29431
- # BFD configuration for the BGP peering. Not currently available publicly.
29639
+ # BFD configuration for the BGP peering.
29432
29640
  # Corresponds to the JSON property `bfd`
29433
29641
  # @return [Google::Apis::ComputeBeta::RouterBgpPeerBfd]
29434
29642
  attr_accessor :bfd
@@ -29521,8 +29729,8 @@ module Google
29521
29729
  # The minimum interval, in milliseconds, between BFD control packets received
29522
29730
  # from the peer router. The actual value is negotiated between the two routers
29523
29731
  # and is equal to the greater of this value and the transmit interval of the
29524
- # other router. Not currently available publicly. If set, this value must be
29525
- # between 100 and 30000. The default is 300.
29732
+ # other router. If set, this value must be between 1000 and 30000. The default
29733
+ # is 1000.
29526
29734
  # Corresponds to the JSON property `minReceiveInterval`
29527
29735
  # @return [Fixnum]
29528
29736
  attr_accessor :min_receive_interval
@@ -29530,24 +29738,24 @@ module Google
29530
29738
  # The minimum interval, in milliseconds, between BFD control packets transmitted
29531
29739
  # to the peer router. The actual value is negotiated between the two routers and
29532
29740
  # is equal to the greater of this value and the corresponding receive interval
29533
- # of the other router. Not currently available publicly. If set, this value must
29534
- # be between 100 and 30000. The default is 300.
29741
+ # of the other router. If set, this value must be between 1000 and 30000. The
29742
+ # default is 1000.
29535
29743
  # Corresponds to the JSON property `minTransmitInterval`
29536
29744
  # @return [Fixnum]
29537
29745
  attr_accessor :min_transmit_interval
29538
29746
 
29539
29747
  # The number of consecutive BFD packets that must be missed before BFD declares
29540
- # that a peer is unavailable. Not currently available publicly. If set, the
29541
- # value must be a value between 2 and 16. The default is 3.
29748
+ # that a peer is unavailable. If set, the value must be a value between 5 and 16.
29749
+ # The default is 5.
29542
29750
  # Corresponds to the JSON property `multiplier`
29543
29751
  # @return [Fixnum]
29544
29752
  attr_accessor :multiplier
29545
29753
 
29546
- # The BFD session initialization mode for this BGP peer. Not currently available
29547
- # publicly. If set to ACTIVE, the Cloud Router will initiate the BFD session for
29548
- # this BGP peer. If set to PASSIVE, the Cloud Router will wait for the peer
29549
- # router to initiate the BFD session for this BGP peer. If set to DISABLED, BFD
29550
- # is disabled for this BGP peer. The default is PASSIVE.
29754
+ # The BFD session initialization mode for this BGP peer. If set to ACTIVE, the
29755
+ # Cloud Router will initiate the BFD session for this BGP peer. If set to
29756
+ # PASSIVE, the Cloud Router will wait for the peer router to initiate the BFD
29757
+ # session for this BGP peer. If set to DISABLED, BFD is disabled for this BGP
29758
+ # peer. The default is PASSIVE.
29551
29759
  # Corresponds to the JSON property `sessionInitializationMode`
29552
29760
  # @return [String]
29553
29761
  attr_accessor :session_initialization_mode
@@ -29789,6 +29997,17 @@ module Google
29789
29997
  # @return [Array<String>]
29790
29998
  attr_accessor :drain_nat_ips
29791
29999
 
30000
+ # Enable Dynamic Port Allocation. If not specified, it is disabled by default.
30001
+ # If set to true, - Dynamic Port Allocation will be enabled on this NAT config. -
30002
+ # enableEndpointIndependentMapping cannot be set to true. - If minPorts is set,
30003
+ # minPortsPerVm must be set to a power of two greater than or equal to 32. If
30004
+ # minPortsPerVm is not set, a minimum of 32 ports will be allocated to a VM from
30005
+ # this NAT config.
30006
+ # Corresponds to the JSON property `enableDynamicPortAllocation`
30007
+ # @return [Boolean]
30008
+ attr_accessor :enable_dynamic_port_allocation
30009
+ alias_method :enable_dynamic_port_allocation?, :enable_dynamic_port_allocation
30010
+
29792
30011
  #
29793
30012
  # Corresponds to the JSON property `enableEndpointIndependentMapping`
29794
30013
  # @return [Boolean]
@@ -29805,6 +30024,17 @@ module Google
29805
30024
  # @return [Google::Apis::ComputeBeta::RouterNatLogConfig]
29806
30025
  attr_accessor :log_config
29807
30026
 
30027
+ # Maximum number of ports allocated to a VM from this NAT config when Dynamic
30028
+ # Port Allocation is enabled. If Dynamic Port Allocation is not enabled, this
30029
+ # field has no effect. If Dynamic Port Allocation is enabled, and this field is
30030
+ # set, it must be set to a power of two greater than minPortsPerVm, or 64 if
30031
+ # minPortsPerVm is not set. If Dynamic Port Allocation is enabled and this field
30032
+ # is not set, a maximum of 65536 ports will be allocated to a VM from this NAT
30033
+ # config.
30034
+ # Corresponds to the JSON property `maxPortsPerVm`
30035
+ # @return [Fixnum]
30036
+ attr_accessor :max_ports_per_vm
30037
+
29808
30038
  # Minimum number of ports allocated to a VM from this NAT config. If not set, a
29809
30039
  # default number of ports is allocated to a VM. This is rounded up to the
29810
30040
  # nearest power of 2. For example, if the value of this field is 50, at least 64
@@ -29834,6 +30064,11 @@ module Google
29834
30064
  # @return [Array<String>]
29835
30065
  attr_accessor :nat_ips
29836
30066
 
30067
+ # A list of rules associated with this NAT.
30068
+ # Corresponds to the JSON property `rules`
30069
+ # @return [Array<Google::Apis::ComputeBeta::RouterNatRule>]
30070
+ attr_accessor :rules
30071
+
29837
30072
  # Specify the Nat option, which can take one of the following values: -
29838
30073
  # ALL_SUBNETWORKS_ALL_IP_RANGES: All of the IP ranges in every Subnetwork are
29839
30074
  # allowed to Nat. - ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES: All of the primary IP
@@ -29860,6 +30095,12 @@ module Google
29860
30095
  # @return [Fixnum]
29861
30096
  attr_accessor :tcp_established_idle_timeout_sec
29862
30097
 
30098
+ # Timeout (in seconds) for TCP connections that are in TIME_WAIT state. Defaults
30099
+ # to 120s if not set.
30100
+ # Corresponds to the JSON property `tcpTimeWaitTimeoutSec`
30101
+ # @return [Fixnum]
30102
+ attr_accessor :tcp_time_wait_timeout_sec
30103
+
29863
30104
  # Timeout (in seconds) for TCP transitory connections. Defaults to 30s if not
29864
30105
  # set.
29865
30106
  # Corresponds to the JSON property `tcpTransitoryIdleTimeoutSec`
@@ -29878,16 +30119,20 @@ module Google
29878
30119
  # Update properties of this object
29879
30120
  def update!(**args)
29880
30121
  @drain_nat_ips = args[:drain_nat_ips] if args.key?(:drain_nat_ips)
30122
+ @enable_dynamic_port_allocation = args[:enable_dynamic_port_allocation] if args.key?(:enable_dynamic_port_allocation)
29881
30123
  @enable_endpoint_independent_mapping = args[:enable_endpoint_independent_mapping] if args.key?(:enable_endpoint_independent_mapping)
29882
30124
  @icmp_idle_timeout_sec = args[:icmp_idle_timeout_sec] if args.key?(:icmp_idle_timeout_sec)
29883
30125
  @log_config = args[:log_config] if args.key?(:log_config)
30126
+ @max_ports_per_vm = args[:max_ports_per_vm] if args.key?(:max_ports_per_vm)
29884
30127
  @min_ports_per_vm = args[:min_ports_per_vm] if args.key?(:min_ports_per_vm)
29885
30128
  @name = args[:name] if args.key?(:name)
29886
30129
  @nat_ip_allocate_option = args[:nat_ip_allocate_option] if args.key?(:nat_ip_allocate_option)
29887
30130
  @nat_ips = args[:nat_ips] if args.key?(:nat_ips)
30131
+ @rules = args[:rules] if args.key?(:rules)
29888
30132
  @source_subnetwork_ip_ranges_to_nat = args[:source_subnetwork_ip_ranges_to_nat] if args.key?(:source_subnetwork_ip_ranges_to_nat)
29889
30133
  @subnetworks = args[:subnetworks] if args.key?(:subnetworks)
29890
30134
  @tcp_established_idle_timeout_sec = args[:tcp_established_idle_timeout_sec] if args.key?(:tcp_established_idle_timeout_sec)
30135
+ @tcp_time_wait_timeout_sec = args[:tcp_time_wait_timeout_sec] if args.key?(:tcp_time_wait_timeout_sec)
29891
30136
  @tcp_transitory_idle_timeout_sec = args[:tcp_transitory_idle_timeout_sec] if args.key?(:tcp_transitory_idle_timeout_sec)
29892
30137
  @udp_idle_timeout_sec = args[:udp_idle_timeout_sec] if args.key?(:udp_idle_timeout_sec)
29893
30138
  end
@@ -29923,6 +30168,80 @@ module Google
29923
30168
  end
29924
30169
  end
29925
30170
 
30171
+ #
30172
+ class RouterNatRule
30173
+ include Google::Apis::Core::Hashable
30174
+
30175
+ # The action to be enforced for traffic that matches this rule.
30176
+ # Corresponds to the JSON property `action`
30177
+ # @return [Google::Apis::ComputeBeta::RouterNatRuleAction]
30178
+ attr_accessor :action
30179
+
30180
+ # An optional description of this rule.
30181
+ # Corresponds to the JSON property `description`
30182
+ # @return [String]
30183
+ attr_accessor :description
30184
+
30185
+ # CEL expression that specifies the match condition that egress traffic from a
30186
+ # VM is evaluated against. If it evaluates to true, the corresponding `action`
30187
+ # is enforced. The following examples are valid match expressions for public NAT:
30188
+ # "inIpRange(destination.ip, '1.1.0.0/16') || inIpRange(destination.ip, '2.2.0.
30189
+ # 0/16')" "destination.ip == '1.1.0.1' || destination.ip == '8.8.8.8'" The
30190
+ # following example is a valid match expression for private NAT: "nexthop.hub ==
30191
+ # '/projects/my-project/global/hub/hub-1'"
30192
+ # Corresponds to the JSON property `match`
30193
+ # @return [String]
30194
+ attr_accessor :match
30195
+
30196
+ # An integer uniquely identifying a rule in the list. The rule number must be a
30197
+ # positive value between 0 and 65000, and must be unique among rules within a
30198
+ # NAT.
30199
+ # Corresponds to the JSON property `ruleNumber`
30200
+ # @return [Fixnum]
30201
+ attr_accessor :rule_number
30202
+
30203
+ def initialize(**args)
30204
+ update!(**args)
30205
+ end
30206
+
30207
+ # Update properties of this object
30208
+ def update!(**args)
30209
+ @action = args[:action] if args.key?(:action)
30210
+ @description = args[:description] if args.key?(:description)
30211
+ @match = args[:match] if args.key?(:match)
30212
+ @rule_number = args[:rule_number] if args.key?(:rule_number)
30213
+ end
30214
+ end
30215
+
30216
+ #
30217
+ class RouterNatRuleAction
30218
+ include Google::Apis::Core::Hashable
30219
+
30220
+ # A list of URLs of the IP resources used for this NAT rule. These IP addresses
30221
+ # must be valid static external IP addresses assigned to the project. This field
30222
+ # is used for public NAT.
30223
+ # Corresponds to the JSON property `sourceNatActiveIps`
30224
+ # @return [Array<String>]
30225
+ attr_accessor :source_nat_active_ips
30226
+
30227
+ # A list of URLs of the IP resources to be drained. These IPs must be valid
30228
+ # static external IPs that have been assigned to the NAT. These IPs should be
30229
+ # used for updating/patching a NAT rule only. This field is used for public NAT.
30230
+ # Corresponds to the JSON property `sourceNatDrainIps`
30231
+ # @return [Array<String>]
30232
+ attr_accessor :source_nat_drain_ips
30233
+
30234
+ def initialize(**args)
30235
+ update!(**args)
30236
+ end
30237
+
30238
+ # Update properties of this object
30239
+ def update!(**args)
30240
+ @source_nat_active_ips = args[:source_nat_active_ips] if args.key?(:source_nat_active_ips)
30241
+ @source_nat_drain_ips = args[:source_nat_drain_ips] if args.key?(:source_nat_drain_ips)
30242
+ end
30243
+ end
30244
+
29926
30245
  # Defines the IP ranges that want to use NAT for a subnetwork.
29927
30246
  class RouterNatSubnetworkToNat
29928
30247
  include Google::Apis::Core::Hashable
@@ -30128,6 +30447,11 @@ module Google
30128
30447
  # @return [Fixnum]
30129
30448
  attr_accessor :num_vm_endpoints_with_nat_mappings
30130
30449
 
30450
+ # Status of rules in this NAT.
30451
+ # Corresponds to the JSON property `ruleStatus`
30452
+ # @return [Array<Google::Apis::ComputeBeta::RouterStatusNatStatusNatRuleStatus>]
30453
+ attr_accessor :rule_status
30454
+
30131
30455
  # A list of fully qualified URLs of reserved IP address resources.
30132
30456
  # Corresponds to the JSON property `userAllocatedNatIpResources`
30133
30457
  # @return [Array<String>]
@@ -30151,11 +30475,58 @@ module Google
30151
30475
  @min_extra_nat_ips_needed = args[:min_extra_nat_ips_needed] if args.key?(:min_extra_nat_ips_needed)
30152
30476
  @name = args[:name] if args.key?(:name)
30153
30477
  @num_vm_endpoints_with_nat_mappings = args[:num_vm_endpoints_with_nat_mappings] if args.key?(:num_vm_endpoints_with_nat_mappings)
30478
+ @rule_status = args[:rule_status] if args.key?(:rule_status)
30154
30479
  @user_allocated_nat_ip_resources = args[:user_allocated_nat_ip_resources] if args.key?(:user_allocated_nat_ip_resources)
30155
30480
  @user_allocated_nat_ips = args[:user_allocated_nat_ips] if args.key?(:user_allocated_nat_ips)
30156
30481
  end
30157
30482
  end
30158
30483
 
30484
+ # Status of a NAT Rule contained in this NAT.
30485
+ class RouterStatusNatStatusNatRuleStatus
30486
+ include Google::Apis::Core::Hashable
30487
+
30488
+ # A list of active IPs for NAT. Example: ["1.1.1.1", "179.12.26.133"].
30489
+ # Corresponds to the JSON property `activeNatIps`
30490
+ # @return [Array<String>]
30491
+ attr_accessor :active_nat_ips
30492
+
30493
+ # A list of IPs for NAT that are in drain mode. Example: ["1.1.1.1", "179.12.26.
30494
+ # 133"].
30495
+ # Corresponds to the JSON property `drainNatIps`
30496
+ # @return [Array<String>]
30497
+ attr_accessor :drain_nat_ips
30498
+
30499
+ # The number of extra IPs to allocate. This will be greater than 0 only if the
30500
+ # existing IPs in this NAT Rule are NOT enough to allow all configured VMs to
30501
+ # use NAT.
30502
+ # Corresponds to the JSON property `minExtraIpsNeeded`
30503
+ # @return [Fixnum]
30504
+ attr_accessor :min_extra_ips_needed
30505
+
30506
+ # Number of VM endpoints (i.e., NICs) that have NAT Mappings from this NAT Rule.
30507
+ # Corresponds to the JSON property `numVmEndpointsWithNatMappings`
30508
+ # @return [Fixnum]
30509
+ attr_accessor :num_vm_endpoints_with_nat_mappings
30510
+
30511
+ # Rule number of the rule.
30512
+ # Corresponds to the JSON property `ruleNumber`
30513
+ # @return [Fixnum]
30514
+ attr_accessor :rule_number
30515
+
30516
+ def initialize(**args)
30517
+ update!(**args)
30518
+ end
30519
+
30520
+ # Update properties of this object
30521
+ def update!(**args)
30522
+ @active_nat_ips = args[:active_nat_ips] if args.key?(:active_nat_ips)
30523
+ @drain_nat_ips = args[:drain_nat_ips] if args.key?(:drain_nat_ips)
30524
+ @min_extra_ips_needed = args[:min_extra_ips_needed] if args.key?(:min_extra_ips_needed)
30525
+ @num_vm_endpoints_with_nat_mappings = args[:num_vm_endpoints_with_nat_mappings] if args.key?(:num_vm_endpoints_with_nat_mappings)
30526
+ @rule_number = args[:rule_number] if args.key?(:rule_number)
30527
+ end
30528
+ end
30529
+
30159
30530
  #
30160
30531
  class RouterStatusResponse
30161
30532
  include Google::Apis::Core::Hashable
@@ -30589,6 +30960,11 @@ module Google
30589
30960
  # @return [Fixnum]
30590
30961
  attr_accessor :host_error_timeout_seconds
30591
30962
 
30963
+ # Specifies the termination action for the instance.
30964
+ # Corresponds to the JSON property `instanceTerminationAction`
30965
+ # @return [String]
30966
+ attr_accessor :instance_termination_action
30967
+
30592
30968
  # An opaque location hint used to place the instance close to other resources.
30593
30969
  # This field is for use by internal tools that use the public API.
30594
30970
  # Corresponds to the JSON property `locationHint`
@@ -30636,6 +31012,11 @@ module Google
30636
31012
  attr_accessor :preemptible
30637
31013
  alias_method :preemptible?, :preemptible
30638
31014
 
31015
+ # Specifies the provisioning model of the instance.
31016
+ # Corresponds to the JSON property `provisioningModel`
31017
+ # @return [String]
31018
+ attr_accessor :provisioning_model
31019
+
30639
31020
  def initialize(**args)
30640
31021
  update!(**args)
30641
31022
  end
@@ -30644,6 +31025,7 @@ module Google
30644
31025
  def update!(**args)
30645
31026
  @automatic_restart = args[:automatic_restart] if args.key?(:automatic_restart)
30646
31027
  @host_error_timeout_seconds = args[:host_error_timeout_seconds] if args.key?(:host_error_timeout_seconds)
31028
+ @instance_termination_action = args[:instance_termination_action] if args.key?(:instance_termination_action)
30647
31029
  @location_hint = args[:location_hint] if args.key?(:location_hint)
30648
31030
  @maintenance_freeze_duration_hours = args[:maintenance_freeze_duration_hours] if args.key?(:maintenance_freeze_duration_hours)
30649
31031
  @maintenance_interval = args[:maintenance_interval] if args.key?(:maintenance_interval)
@@ -30651,6 +31033,7 @@ module Google
30651
31033
  @node_affinities = args[:node_affinities] if args.key?(:node_affinities)
30652
31034
  @on_host_maintenance = args[:on_host_maintenance] if args.key?(:on_host_maintenance)
30653
31035
  @preemptible = args[:preemptible] if args.key?(:preemptible)
31036
+ @provisioning_model = args[:provisioning_model] if args.key?(:provisioning_model)
30654
31037
  end
30655
31038
  end
30656
31039
 
@@ -30881,8 +31264,8 @@ module Google
30881
31264
  # HTTP requests targeting backend services. They filter requests before they hit
30882
31265
  # the origin servers. CLOUD_ARMOR_EDGE - Cloud Armor edge security policies can
30883
31266
  # be configured to filter incoming HTTP requests targeting backend services (
30884
- # including Cloud CDN-enabled) as well as backend buckets (GCS). They filter
30885
- # requests before the request is served from Googles cache.
31267
+ # including Cloud CDN-enabled) as well as backend buckets (Cloud Storage). They
31268
+ # filter requests before the request is served from Google's cache.
30886
31269
  # Corresponds to the JSON property `type`
30887
31270
  # @return [String]
30888
31271
  attr_accessor :type
@@ -31467,23 +31850,23 @@ module Google
31467
31850
  attr_accessor :conform_action
31468
31851
 
31469
31852
  # Determines the key to enforce the rate_limit_threshold on. Possible values are:
31470
- # ALL -- A single rate limit threshold is applied to all the requests
31853
+ # "ALL" -- A single rate limit threshold is applied to all the requests
31471
31854
  # matching this rule. This is the default value if this field 'enforce_on_key'
31472
- # is not configured. ALL_IPS -- This definition, equivalent to "ALL", has been
31473
- # depprecated. IP -- The source IP address of the request is the key. Each IP
31474
- # has this limit enforced separately. HTTP_HEADER -- The value of the HTTP
31475
- # Header whose name is configured under enforce_on_key_name”. The key value is
31476
- # truncated to the first 128 bytes of the Header value. If no such header is
31477
- # present in the request, the key type defaults to ALL”. XFF_IP -- The first
31855
+ # is not configured. "ALL_IPS" -- This definition, equivalent to "ALL", has been
31856
+ # depprecated. "IP" -- The source IP address of the request is the key. Each IP
31857
+ # has this limit enforced separately. "HTTP_HEADER" -- The value of the HTTP
31858
+ # header whose name is configured under "enforce_on_key_name". The key value is
31859
+ # truncated to the first 128 bytes of the header value. If no such header is
31860
+ # present in the request, the key type defaults to "ALL". "XFF_IP" -- The first
31478
31861
  # IP address (i.e. the originating client IP address) specified in the list of
31479
- # IPs under X-Forwarded-For HTTP Header. If no such header is present or the
31480
- # value is not a valid IP, the key type defaults to ALL”.
31862
+ # IPs under X-Forwarded-For HTTP header. If no such header is present or the
31863
+ # value is not a valid IP, the key type defaults to "ALL".
31481
31864
  # Corresponds to the JSON property `enforceOnKey`
31482
31865
  # @return [String]
31483
31866
  attr_accessor :enforce_on_key
31484
31867
 
31485
31868
  # Rate limit key name applicable only for the following key types: HTTP_HEADER --
31486
- # Name of the HTTP Header whose value is taken as the key value.
31869
+ # Name of the HTTP header whose value is taken as the key value.
31487
31870
  # Corresponds to the JSON property `enforceOnKeyName`
31488
31871
  # @return [String]
31489
31872
  attr_accessor :enforce_on_key_name
@@ -31710,7 +32093,7 @@ module Google
31710
32093
  # Represents a ServiceAttachment resource. A service attachment represents a
31711
32094
  # service that a producer has exposed. It encapsulates the load balancer which
31712
32095
  # fronts the service runs and a list of NAT IP ranges that the producers uses to
31713
- # represent the consumers connecting to the service. next tag = 19
32096
+ # represent the consumers connecting to the service. next tag = 20
31714
32097
  class ServiceAttachment
31715
32098
  include Google::Apis::Core::Hashable
31716
32099
 
@@ -32243,6 +32626,13 @@ module Google
32243
32626
  class ShareSettings
32244
32627
  include Google::Apis::Core::Hashable
32245
32628
 
32629
+ # A map of project id and project config. Using map format to ease add-to/remove-
32630
+ # from the Project list in PATCH command. In future we will deprecate (And later
32631
+ # remove) the array one.
32632
+ # Corresponds to the JSON property `projectMap`
32633
+ # @return [Hash<String,Google::Apis::ComputeBeta::ShareSettingsProjectConfig>]
32634
+ attr_accessor :project_map
32635
+
32246
32636
  # A List of Project names to specify consumer projects for this shared-
32247
32637
  # reservation. This is only valid when share_type's value is SPECIFIC_PROJECTS.
32248
32638
  # Corresponds to the JSON property `projects`
@@ -32260,11 +32650,32 @@ module Google
32260
32650
 
32261
32651
  # Update properties of this object
32262
32652
  def update!(**args)
32653
+ @project_map = args[:project_map] if args.key?(:project_map)
32263
32654
  @projects = args[:projects] if args.key?(:projects)
32264
32655
  @share_type = args[:share_type] if args.key?(:share_type)
32265
32656
  end
32266
32657
  end
32267
32658
 
32659
+ # Config for each project in the share settings.
32660
+ class ShareSettingsProjectConfig
32661
+ include Google::Apis::Core::Hashable
32662
+
32663
+ # The project ID, should be same as the key of this project config in the parent
32664
+ # map.
32665
+ # Corresponds to the JSON property `projectId`
32666
+ # @return [String]
32667
+ attr_accessor :project_id
32668
+
32669
+ def initialize(**args)
32670
+ update!(**args)
32671
+ end
32672
+
32673
+ # Update properties of this object
32674
+ def update!(**args)
32675
+ @project_id = args[:project_id] if args.key?(:project_id)
32676
+ end
32677
+ end
32678
+
32268
32679
  # A set of Shielded Instance options.
32269
32680
  class ShieldedInstanceConfig
32270
32681
  include Google::Apis::Core::Hashable
@@ -33941,16 +34352,19 @@ module Google
33941
34352
  class Subnetwork
33942
34353
  include Google::Apis::Core::Hashable
33943
34354
 
33944
- # Whether this subnetwork can conflict with static routes. Setting this to true
33945
- # allows this subnetwork's primary and secondary ranges to conflict with routes
33946
- # that have already been configured on the corresponding network. Static routes
33947
- # will take precedence over the subnetwork route if the route prefix length is
33948
- # at least as large as the subnetwork prefix length. Also, packets destined to
33949
- # IPs within subnetwork may contain private/sensitive data and are prevented
33950
- # from leaving the virtual network. Setting this field to true will disable this
33951
- # feature. The default value is false and applies to all existing subnetworks
33952
- # and automatically created subnetworks. This field cannot be set to true at
33953
- # resource creation time.
34355
+ # Whether this subnetwork's ranges can conflict with existing static routes.
34356
+ # Setting this to true allows this subnetwork's primary and secondary ranges to
34357
+ # overlap with (and contain) static routes that have already been configured on
34358
+ # the corresponding network. For example if a static route has range 10.1.0.0/16,
34359
+ # a subnet range 10.0.0.0/8 could only be created if allow_conflicting_routes=
34360
+ # true. Overlapping is only allowed on subnetwork operations; routes whose
34361
+ # ranges conflict with this subnetwork's ranges won't be allowed unless route.
34362
+ # allow_conflicting_subnetworks is set to true. Typically packets destined to
34363
+ # IPs within the subnetwork (which may contain private/sensitive data) are
34364
+ # prevented from leaving the virtual network. Setting this field to true will
34365
+ # disable this feature. The default value is false and applies to all existing
34366
+ # subnetworks and automatically created subnetworks. This field cannot be set to
34367
+ # true at resource creation time.
33954
34368
  # Corresponds to the JSON property `allowSubnetCidrRoutesOverlap`
33955
34369
  # @return [Boolean]
33956
34370
  attr_accessor :allow_subnet_cidr_routes_overlap
@@ -34051,9 +34465,8 @@ module Google
34051
34465
  attr_accessor :name
34052
34466
 
34053
34467
  # The URL of the network to which this subnetwork belongs, provided by the
34054
- # client when initially creating the subnetwork. Only networks that are in the
34055
- # distributed mode can have subnetworks. This field can be set only at resource
34056
- # creation time.
34468
+ # client when initially creating the subnetwork. This field can be set only at
34469
+ # resource creation time.
34057
34470
  # Corresponds to the JSON property `network`
34058
34471
  # @return [String]
34059
34472
  attr_accessor :network
@@ -34641,6 +35054,20 @@ module Google
34641
35054
  # @return [String]
34642
35055
  attr_accessor :policy
34643
35056
 
35057
+ # The number of backends per backend group assigned to each proxy instance or
35058
+ # each service mesh client. An input parameter to the `
35059
+ # CONSISTENT_HASH_SUBSETTING` algorithm. Can only be set if `policy` is set to `
35060
+ # CONSISTENT_HASH_SUBSETTING`. Can only be set if load balancing scheme is `
35061
+ # INTERNAL_MANAGED` or `INTERNAL_SELF_MANAGED`. `subset_size` is optional for
35062
+ # Internal HTTP(S) load balancing and required for Traffic Director. If you do
35063
+ # not provide this value, Cloud Load Balancing will calculate it dynamically to
35064
+ # optimize the number of proxies/clients visible to each backend and vice versa.
35065
+ # Must be greater than 0. If `subset_size` is larger than the number of backends/
35066
+ # endpoints, then subsetting is disabled.
35067
+ # Corresponds to the JSON property `subsetSize`
35068
+ # @return [Fixnum]
35069
+ attr_accessor :subset_size
35070
+
34644
35071
  def initialize(**args)
34645
35072
  update!(**args)
34646
35073
  end
@@ -34648,6 +35075,7 @@ module Google
34648
35075
  # Update properties of this object
34649
35076
  def update!(**args)
34650
35077
  @policy = args[:policy] if args.key?(:policy)
35078
+ @subset_size = args[:subset_size] if args.key?(:subset_size)
34651
35079
  end
34652
35080
  end
34653
35081
 
@@ -35509,6 +35937,25 @@ module Google
35509
35937
  end
35510
35938
  end
35511
35939
 
35940
+ #
35941
+ class TargetHttpsProxiesSetCertificateMapRequest
35942
+ include Google::Apis::Core::Hashable
35943
+
35944
+ # URL of the Certificate Map to associate with this TargetHttpsProxy.
35945
+ # Corresponds to the JSON property `certificateMap`
35946
+ # @return [String]
35947
+ attr_accessor :certificate_map
35948
+
35949
+ def initialize(**args)
35950
+ update!(**args)
35951
+ end
35952
+
35953
+ # Update properties of this object
35954
+ def update!(**args)
35955
+ @certificate_map = args[:certificate_map] if args.key?(:certificate_map)
35956
+ end
35957
+ end
35958
+
35512
35959
  #
35513
35960
  class TargetHttpsProxiesSetQuicOverrideRequest
35514
35961
  include Google::Apis::Core::Hashable
@@ -35582,6 +36029,13 @@ module Google
35582
36029
  # @return [String]
35583
36030
  attr_accessor :authorization_policy
35584
36031
 
36032
+ # URL of a certificate map that identifies a certificate map associated with the
36033
+ # given target proxy. This field can only be set for global target proxies. If
36034
+ # set, sslCertificates will be ignored.
36035
+ # Corresponds to the JSON property `certificateMap`
36036
+ # @return [String]
36037
+ attr_accessor :certificate_map
36038
+
35585
36039
  # [Output Only] Creation timestamp in RFC3339 text format.
35586
36040
  # Corresponds to the JSON property `creationTimestamp`
35587
36041
  # @return [String]
@@ -35719,6 +36173,7 @@ module Google
35719
36173
  @authentication = args[:authentication] if args.key?(:authentication)
35720
36174
  @authorization = args[:authorization] if args.key?(:authorization)
35721
36175
  @authorization_policy = args[:authorization_policy] if args.key?(:authorization_policy)
36176
+ @certificate_map = args[:certificate_map] if args.key?(:certificate_map)
35722
36177
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
35723
36178
  @description = args[:description] if args.key?(:description)
35724
36179
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
@@ -37007,6 +37462,25 @@ module Google
37007
37462
  end
37008
37463
  end
37009
37464
 
37465
+ #
37466
+ class TargetSslProxiesSetCertificateMapRequest
37467
+ include Google::Apis::Core::Hashable
37468
+
37469
+ # URL of the Certificate Map to associate with this TargetSslProxy.
37470
+ # Corresponds to the JSON property `certificateMap`
37471
+ # @return [String]
37472
+ attr_accessor :certificate_map
37473
+
37474
+ def initialize(**args)
37475
+ update!(**args)
37476
+ end
37477
+
37478
+ # Update properties of this object
37479
+ def update!(**args)
37480
+ @certificate_map = args[:certificate_map] if args.key?(:certificate_map)
37481
+ end
37482
+ end
37483
+
37010
37484
  #
37011
37485
  class TargetSslProxiesSetProxyHeaderRequest
37012
37486
  include Google::Apis::Core::Hashable
@@ -37055,6 +37529,13 @@ module Google
37055
37529
  class TargetSslProxy
37056
37530
  include Google::Apis::Core::Hashable
37057
37531
 
37532
+ # URL of a certificate map that identifies a certificate map associated with the
37533
+ # given target proxy. This field can only be set for global target proxies. If
37534
+ # set, sslCertificates will be ignored.
37535
+ # Corresponds to the JSON property `certificateMap`
37536
+ # @return [String]
37537
+ attr_accessor :certificate_map
37538
+
37058
37539
  # [Output Only] Creation timestamp in RFC3339 text format.
37059
37540
  # Corresponds to the JSON property `creationTimestamp`
37060
37541
  # @return [String]
@@ -37125,6 +37606,7 @@ module Google
37125
37606
 
37126
37607
  # Update properties of this object
37127
37608
  def update!(**args)
37609
+ @certificate_map = args[:certificate_map] if args.key?(:certificate_map)
37128
37610
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
37129
37611
  @description = args[:description] if args.key?(:description)
37130
37612
  @id = args[:id] if args.key?(:id)
@@ -40902,7 +41384,7 @@ module Google
40902
41384
  # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
40903
41385
  # roles/resourcemanager.organizationViewer condition: title: expirable access
40904
41386
  # description: Does not grant access after Sep 2020 expression: request.time <
40905
- # timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a
41387
+ # timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a
40906
41388
  # description of IAM and its features, see the [IAM documentation](https://cloud.
40907
41389
  # google.com/iam/docs/).
40908
41390
  # Corresponds to the JSON property `policy`