google-apis-compute_beta 0.15.0 → 0.19.0

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