google-apis-compute_beta 0.63.0 → 0.65.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,16 +510,18 @@ module Google
510
510
  class AccessConfig
511
511
  include Google::Apis::Core::Hashable
512
512
 
513
- # The first IPv6 address of the external IPv6 range associated with this
514
- # instance, prefix length is stored in externalIpv6PrefixLength in
515
- # ipv6AccessConfig. To use a static external IP address, it must be unused and
516
- # in the same region as the instance's zone. If not specified, Google Cloud will
517
- # automatically assign an external IPv6 address from the instance's subnetwork.
513
+ # Applies to ipv6AccessConfigs only. The first IPv6 address of the external IPv6
514
+ # range associated with this instance, prefix length is stored in
515
+ # externalIpv6PrefixLength in ipv6AccessConfig. To use a static external IP
516
+ # address, it must be unused and in the same region as the instance's zone. If
517
+ # not specified, Google Cloud will automatically assign an external IPv6 address
518
+ # from the instance's subnetwork.
518
519
  # Corresponds to the JSON property `externalIpv6`
519
520
  # @return [String]
520
521
  attr_accessor :external_ipv6
521
522
 
522
- # The prefix length of the external IPv6 range.
523
+ # Applies to ipv6AccessConfigs only. The prefix length of the external IPv6
524
+ # range.
523
525
  # Corresponds to the JSON property `externalIpv6PrefixLength`
524
526
  # @return [Fixnum]
525
527
  attr_accessor :external_ipv6_prefix_length
@@ -530,18 +532,19 @@ module Google
530
532
  # @return [String]
531
533
  attr_accessor :kind
532
534
 
533
- # The name of this access configuration. The default and recommended name is
534
- # External NAT, but you can use any arbitrary string, such as My external IP or
535
- # Network Access.
535
+ # The name of this access configuration. In accessConfigs (IPv4), the default
536
+ # and recommended name is External NAT, but you can use any arbitrary string,
537
+ # such as My external IP or Network Access. In ipv6AccessConfigs, the recommend
538
+ # name is External IPv6.
536
539
  # Corresponds to the JSON property `name`
537
540
  # @return [String]
538
541
  attr_accessor :name
539
542
 
540
- # An external IP address associated with this instance. Specify an unused static
541
- # external IP address available to the project or leave this field undefined to
542
- # use an IP from a shared ephemeral IP address pool. If you specify a static
543
- # external IP address, it must live in the same region as the zone of the
544
- # instance.
543
+ # Applies to accessConfigs (IPv4) only. An external IP address associated with
544
+ # this instance. Specify an unused static external IP address available to the
545
+ # project or leave this field undefined to use an IP from a shared ephemeral IP
546
+ # address pool. If you specify a static external IP address, it must live in the
547
+ # same region as the zone of the instance.
545
548
  # Corresponds to the JSON property `natIP`
546
549
  # @return [String]
547
550
  attr_accessor :nat_ip
@@ -573,7 +576,9 @@ module Google
573
576
  attr_accessor :set_public_ptr
574
577
  alias_method :set_public_ptr?, :set_public_ptr
575
578
 
576
- # The type of configuration. The default and only option is ONE_TO_ONE_NAT.
579
+ # The type of configuration. In accessConfigs (IPv4), the default and only
580
+ # option is ONE_TO_ONE_NAT. In ipv6AccessConfigs, the default and only option is
581
+ # DIRECT_IPV6.
577
582
  # Corresponds to the JSON property `type`
578
583
  # @return [String]
579
584
  attr_accessor :type
@@ -1644,6 +1649,14 @@ module Google
1644
1649
  # @return [Fixnum]
1645
1650
  attr_accessor :provisioned_throughput
1646
1651
 
1652
+ # Required for each regional disk associated with the instance. Specify the URLs
1653
+ # of the zones where the disk should be replicated to. You must provide exactly
1654
+ # two replica zones, and one zone must be the same as the instance zone. You can'
1655
+ # t use this option with boot disks.
1656
+ # Corresponds to the JSON property `replicaZones`
1657
+ # @return [Array<String>]
1658
+ attr_accessor :replica_zones
1659
+
1647
1660
  # Resource manager tags to be bound to the disk. Tag keys and values have the
1648
1661
  # same definition as resource manager tags. Keys must be in the format `tagKeys/`
1649
1662
  # tag_key_id``, and values are in the format `tagValues/456`. The field is
@@ -1718,6 +1731,7 @@ module Google
1718
1731
  @on_update_action = args[:on_update_action] if args.key?(:on_update_action)
1719
1732
  @provisioned_iops = args[:provisioned_iops] if args.key?(:provisioned_iops)
1720
1733
  @provisioned_throughput = args[:provisioned_throughput] if args.key?(:provisioned_throughput)
1734
+ @replica_zones = args[:replica_zones] if args.key?(:replica_zones)
1721
1735
  @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
1722
1736
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
1723
1737
  @source_image = args[:source_image] if args.key?(:source_image)
@@ -4851,6 +4865,30 @@ module Google
4851
4865
  end
4852
4866
  end
4853
4867
 
4868
+ # A transient resource used in compute.disks.bulkInsert and compute.regionDisks.
4869
+ # bulkInsert. It is only used to process requests and is not persisted.
4870
+ class BulkInsertDiskResource
4871
+ include Google::Apis::Core::Hashable
4872
+
4873
+ # The URL of the DiskConsistencyGroupPolicy for the group of disks to clone.
4874
+ # This may be a full or partial URL, such as: - https://www.googleapis.com/
4875
+ # compute/v1/projects/project/regions/region /resourcePolicies/resourcePolicy -
4876
+ # projects/project/regions/region/resourcePolicies/resourcePolicy - regions/
4877
+ # region/resourcePolicies/resourcePolicy
4878
+ # Corresponds to the JSON property `sourceConsistencyGroupPolicy`
4879
+ # @return [String]
4880
+ attr_accessor :source_consistency_group_policy
4881
+
4882
+ def initialize(**args)
4883
+ update!(**args)
4884
+ end
4885
+
4886
+ # Update properties of this object
4887
+ def update!(**args)
4888
+ @source_consistency_group_policy = args[:source_consistency_group_policy] if args.key?(:source_consistency_group_policy)
4889
+ end
4890
+ end
4891
+
4854
4892
  # A transient resource used in compute.instances.bulkInsert and compute.
4855
4893
  # regionInstances.bulkInsert . This resource is not persisted anywhere, it is
4856
4894
  # used only for processing the requests.
@@ -6118,6 +6156,16 @@ module Google
6118
6156
  # @return [String]
6119
6157
  attr_accessor :architecture
6120
6158
 
6159
+ # Disk asynchronously replicated into this disk.
6160
+ # Corresponds to the JSON property `asyncPrimaryDisk`
6161
+ # @return [Google::Apis::ComputeBeta::DiskAsyncReplication]
6162
+ attr_accessor :async_primary_disk
6163
+
6164
+ # [Output Only] A list of disks this disk is asynchronously replicated to.
6165
+ # Corresponds to the JSON property `asyncSecondaryDisks`
6166
+ # @return [Hash<String,Google::Apis::ComputeBeta::DiskAsyncReplicationList>]
6167
+ attr_accessor :async_secondary_disks
6168
+
6121
6169
  # [Output Only] Creation timestamp in RFC3339 text format.
6122
6170
  # Corresponds to the JSON property `creationTimestamp`
6123
6171
  # @return [String]
@@ -6305,6 +6353,11 @@ module Google
6305
6353
  # @return [Array<String>]
6306
6354
  attr_accessor :resource_policies
6307
6355
 
6356
+ # [Output Only] Status information for the disk resource.
6357
+ # Corresponds to the JSON property `resourceStatus`
6358
+ # @return [Google::Apis::ComputeBeta::DiskResourceStatus]
6359
+ attr_accessor :resource_status
6360
+
6308
6361
  # [Output Only] Reserved for future use.
6309
6362
  # Corresponds to the JSON property `satisfiesPzs`
6310
6363
  # @return [Boolean]
@@ -6325,6 +6378,18 @@ module Google
6325
6378
  # @return [Fixnum]
6326
6379
  attr_accessor :size_gb
6327
6380
 
6381
+ # [Output Only] URL of the DiskConsistencyGroupPolicy for a secondary disk that
6382
+ # was created using a consistency group.
6383
+ # Corresponds to the JSON property `sourceConsistencyGroupPolicy`
6384
+ # @return [String]
6385
+ attr_accessor :source_consistency_group_policy
6386
+
6387
+ # [Output Only] ID of the DiskConsistencyGroupPolicy for a secondary disk that
6388
+ # was created using a consistency group.
6389
+ # Corresponds to the JSON property `sourceConsistencyGroupPolicyId`
6390
+ # @return [String]
6391
+ attr_accessor :source_consistency_group_policy_id
6392
+
6328
6393
  # The source disk used to create this disk. You can provide this as a partial or
6329
6394
  # full URL to the resource. For example, the following are valid values: - https:
6330
6395
  # //www.googleapis.com/compute/v1/projects/project/zones/zone /disks/disk -
@@ -6456,6 +6521,8 @@ module Google
6456
6521
  # Update properties of this object
6457
6522
  def update!(**args)
6458
6523
  @architecture = args[:architecture] if args.key?(:architecture)
6524
+ @async_primary_disk = args[:async_primary_disk] if args.key?(:async_primary_disk)
6525
+ @async_secondary_disks = args[:async_secondary_disks] if args.key?(:async_secondary_disks)
6459
6526
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
6460
6527
  @description = args[:description] if args.key?(:description)
6461
6528
  @disk_encryption_key = args[:disk_encryption_key] if args.key?(:disk_encryption_key)
@@ -6482,9 +6549,12 @@ module Google
6482
6549
  @region = args[:region] if args.key?(:region)
6483
6550
  @replica_zones = args[:replica_zones] if args.key?(:replica_zones)
6484
6551
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
6552
+ @resource_status = args[:resource_status] if args.key?(:resource_status)
6485
6553
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
6486
6554
  @self_link = args[:self_link] if args.key?(:self_link)
6487
6555
  @size_gb = args[:size_gb] if args.key?(:size_gb)
6556
+ @source_consistency_group_policy = args[:source_consistency_group_policy] if args.key?(:source_consistency_group_policy)
6557
+ @source_consistency_group_policy_id = args[:source_consistency_group_policy_id] if args.key?(:source_consistency_group_policy_id)
6488
6558
  @source_disk = args[:source_disk] if args.key?(:source_disk)
6489
6559
  @source_disk_id = args[:source_disk_id] if args.key?(:source_disk_id)
6490
6560
  @source_image = args[:source_image] if args.key?(:source_image)
@@ -6627,6 +6697,73 @@ module Google
6627
6697
  end
6628
6698
  end
6629
6699
 
6700
+ #
6701
+ class DiskAsyncReplication
6702
+ include Google::Apis::Core::Hashable
6703
+
6704
+ # [Output Only] URL of the DiskConsistencyGroupPolicy if replication was started
6705
+ # on the disk as a member of a group.
6706
+ # Corresponds to the JSON property `consistencyGroupPolicy`
6707
+ # @return [String]
6708
+ attr_accessor :consistency_group_policy
6709
+
6710
+ # [Output Only] ID of the DiskConsistencyGroupPolicy if replication was started
6711
+ # on the disk as a member of a group.
6712
+ # Corresponds to the JSON property `consistencyGroupPolicyId`
6713
+ # @return [String]
6714
+ attr_accessor :consistency_group_policy_id
6715
+
6716
+ # The other disk asynchronously replicated to or from the current disk. You can
6717
+ # provide this as a partial or full URL to the resource. For example, the
6718
+ # following are valid values: - https://www.googleapis.com/compute/v1/projects/
6719
+ # project/zones/zone /disks/disk - projects/project/zones/zone/disks/disk -
6720
+ # zones/zone/disks/disk
6721
+ # Corresponds to the JSON property `disk`
6722
+ # @return [String]
6723
+ attr_accessor :disk
6724
+
6725
+ # [Output Only] The unique ID of the other disk asynchronously replicated to or
6726
+ # from the current disk. This value identifies the exact disk that was used to
6727
+ # create this replication. For example, if you started replicating the
6728
+ # persistent disk from a disk that was later deleted and recreated under the
6729
+ # same name, the disk ID would identify the exact version of the disk that was
6730
+ # used.
6731
+ # Corresponds to the JSON property `diskId`
6732
+ # @return [String]
6733
+ attr_accessor :disk_id
6734
+
6735
+ def initialize(**args)
6736
+ update!(**args)
6737
+ end
6738
+
6739
+ # Update properties of this object
6740
+ def update!(**args)
6741
+ @consistency_group_policy = args[:consistency_group_policy] if args.key?(:consistency_group_policy)
6742
+ @consistency_group_policy_id = args[:consistency_group_policy_id] if args.key?(:consistency_group_policy_id)
6743
+ @disk = args[:disk] if args.key?(:disk)
6744
+ @disk_id = args[:disk_id] if args.key?(:disk_id)
6745
+ end
6746
+ end
6747
+
6748
+ #
6749
+ class DiskAsyncReplicationList
6750
+ include Google::Apis::Core::Hashable
6751
+
6752
+ #
6753
+ # Corresponds to the JSON property `asyncReplicationDisk`
6754
+ # @return [Google::Apis::ComputeBeta::DiskAsyncReplication]
6755
+ attr_accessor :async_replication_disk
6756
+
6757
+ def initialize(**args)
6758
+ update!(**args)
6759
+ end
6760
+
6761
+ # Update properties of this object
6762
+ def update!(**args)
6763
+ @async_replication_disk = args[:async_replication_disk] if args.key?(:async_replication_disk)
6764
+ end
6765
+ end
6766
+
6630
6767
  # A specification of the desired way to instantiate a disk in the instance
6631
6768
  # template when its created from a source instance.
6632
6769
  class DiskInstantiationConfig
@@ -6847,6 +6984,50 @@ module Google
6847
6984
  end
6848
6985
  end
6849
6986
 
6987
+ #
6988
+ class DiskResourceStatus
6989
+ include Google::Apis::Core::Hashable
6990
+
6991
+ #
6992
+ # Corresponds to the JSON property `asyncPrimaryDisk`
6993
+ # @return [Google::Apis::ComputeBeta::DiskResourceStatusAsyncReplicationStatus]
6994
+ attr_accessor :async_primary_disk
6995
+
6996
+ # Key: disk, value: AsyncReplicationStatus message
6997
+ # Corresponds to the JSON property `asyncSecondaryDisks`
6998
+ # @return [Hash<String,Google::Apis::ComputeBeta::DiskResourceStatusAsyncReplicationStatus>]
6999
+ attr_accessor :async_secondary_disks
7000
+
7001
+ def initialize(**args)
7002
+ update!(**args)
7003
+ end
7004
+
7005
+ # Update properties of this object
7006
+ def update!(**args)
7007
+ @async_primary_disk = args[:async_primary_disk] if args.key?(:async_primary_disk)
7008
+ @async_secondary_disks = args[:async_secondary_disks] if args.key?(:async_secondary_disks)
7009
+ end
7010
+ end
7011
+
7012
+ #
7013
+ class DiskResourceStatusAsyncReplicationStatus
7014
+ include Google::Apis::Core::Hashable
7015
+
7016
+ #
7017
+ # Corresponds to the JSON property `state`
7018
+ # @return [String]
7019
+ attr_accessor :state
7020
+
7021
+ def initialize(**args)
7022
+ update!(**args)
7023
+ end
7024
+
7025
+ # Update properties of this object
7026
+ def update!(**args)
7027
+ @state = args[:state] if args.key?(:state)
7028
+ end
7029
+ end
7030
+
6850
7031
  # Represents a Disk Type resource. Google Compute Engine has two Disk Type
6851
7032
  # resources: * [Regional](/compute/docs/reference/rest/beta/regionDiskTypes) * [
6852
7033
  # Zonal](/compute/docs/reference/rest/beta/diskTypes) You can choose from a
@@ -7419,6 +7600,55 @@ module Google
7419
7600
  end
7420
7601
  end
7421
7602
 
7603
+ #
7604
+ class DisksStartAsyncReplicationRequest
7605
+ include Google::Apis::Core::Hashable
7606
+
7607
+ # The secondary disk to start asynchronous replication to. You can provide this
7608
+ # as a partial or full URL to the resource. For example, the following are valid
7609
+ # values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /
7610
+ # disks/disk - https://www.googleapis.com/compute/v1/projects/project/regions/
7611
+ # region /disks/disk - projects/project/zones/zone/disks/disk - projects/project/
7612
+ # regions/region/disks/disk - zones/zone/disks/disk - regions/region/disks/disk
7613
+ # Corresponds to the JSON property `asyncSecondaryDisk`
7614
+ # @return [String]
7615
+ attr_accessor :async_secondary_disk
7616
+
7617
+ def initialize(**args)
7618
+ update!(**args)
7619
+ end
7620
+
7621
+ # Update properties of this object
7622
+ def update!(**args)
7623
+ @async_secondary_disk = args[:async_secondary_disk] if args.key?(:async_secondary_disk)
7624
+ end
7625
+ end
7626
+
7627
+ # A transient resource used in compute.disks.stopGroupAsyncReplication and
7628
+ # compute.regionDisks.stopGroupAsyncReplication. It is only used to process
7629
+ # requests and is not persisted.
7630
+ class DisksStopGroupAsyncReplicationResource
7631
+ include Google::Apis::Core::Hashable
7632
+
7633
+ # The URL of the DiskConsistencyGroupPolicy for the group of disks to stop. This
7634
+ # may be a full or partial URL, such as: - https://www.googleapis.com/compute/v1/
7635
+ # projects/project/regions/region /resourcePolicies/resourcePolicy - projects/
7636
+ # project/regions/region/resourcePolicies/resourcePolicy - regions/region/
7637
+ # resourcePolicies/resourcePolicy
7638
+ # Corresponds to the JSON property `resourcePolicy`
7639
+ # @return [String]
7640
+ attr_accessor :resource_policy
7641
+
7642
+ def initialize(**args)
7643
+ update!(**args)
7644
+ end
7645
+
7646
+ # Update properties of this object
7647
+ def update!(**args)
7648
+ @resource_policy = args[:resource_policy] if args.key?(:resource_policy)
7649
+ end
7650
+ end
7651
+
7422
7652
  # A set of Display Device options
7423
7653
  class DisplayDevice
7424
7654
  include Google::Apis::Core::Hashable
@@ -9307,9 +9537,11 @@ module Google
9307
9537
 
9308
9538
  # This field is not used for external load balancing. For Internal TCP/UDP Load
9309
9539
  # Balancing, this field identifies the network that the load balanced IP should
9310
- # belong to for this Forwarding Rule. If this field is not specified, the
9311
- # default network will be used. For Private Service Connect forwarding rules
9312
- # that forward traffic to Google APIs, a network must be provided.
9540
+ # belong to for this Forwarding Rule. If the subnetwork is specified, the
9541
+ # network of the subnetwork will be used. If neither subnetwork nor this field
9542
+ # is specified, the default network will be used. For Private Service Connect
9543
+ # forwarding rules that forward traffic to Google APIs, a network must be
9544
+ # provided.
9313
9545
  # Corresponds to the JSON property `network`
9314
9546
  # @return [String]
9315
9547
  attr_accessor :network
@@ -9935,6 +10167,37 @@ module Google
9935
10167
  end
9936
10168
  end
9937
10169
 
10170
+ #
10171
+ class GlobalAddressesMoveRequest
10172
+ include Google::Apis::Core::Hashable
10173
+
10174
+ # An optional destination address description if intended to be different from
10175
+ # the source.
10176
+ # Corresponds to the JSON property `description`
10177
+ # @return [String]
10178
+ attr_accessor :description
10179
+
10180
+ # The URL of the destination address to move to. This can be a full or partial
10181
+ # URL. For example, the following are all valid URLs to a address: - https://www.
10182
+ # googleapis.com/compute/v1/projects/project /global/addresses/address -
10183
+ # projects/project/global/addresses/address Note that destination project must
10184
+ # be different from the source project. So /global/addresses/address is not
10185
+ # valid partial url.
10186
+ # Corresponds to the JSON property `destinationAddress`
10187
+ # @return [String]
10188
+ attr_accessor :destination_address
10189
+
10190
+ def initialize(**args)
10191
+ update!(**args)
10192
+ end
10193
+
10194
+ # Update properties of this object
10195
+ def update!(**args)
10196
+ @description = args[:description] if args.key?(:description)
10197
+ @destination_address = args[:destination_address] if args.key?(:destination_address)
10198
+ end
10199
+ end
10200
+
9938
10201
  #
9939
10202
  class GlobalNetworkEndpointGroupsAttachEndpointsRequest
9940
10203
  include Google::Apis::Core::Hashable
@@ -10234,8 +10497,8 @@ module Google
10234
10497
  # The ID of a supported feature. To add multiple values, use commas to separate
10235
10498
  # values. Set to one or more of the following values: - VIRTIO_SCSI_MULTIQUEUE -
10236
10499
  # WINDOWS - MULTI_IP_SUBNET - UEFI_COMPATIBLE - GVNIC - SEV_CAPABLE -
10237
- # SUSPEND_RESUME_COMPATIBLE - SEV_SNP_CAPABLE - TDX_CAPABLE For more information,
10238
- # see Enabling guest operating system features.
10500
+ # SUSPEND_RESUME_COMPATIBLE - SEV_LIVE_MIGRATABLE - SEV_SNP_CAPABLE -
10501
+ # TDX_CAPABLE For more information, see Enabling guest operating system features.
10239
10502
  # Corresponds to the JSON property `type`
10240
10503
  # @return [String]
10241
10504
  attr_accessor :type
@@ -11325,7 +11588,7 @@ module Google
11325
11588
  # @return [String]
11326
11589
  attr_accessor :forwarding_rule_ip
11327
11590
 
11328
- # Health state of the instance.
11591
+ # Health state of the IPv4 address of the instance.
11329
11592
  # Corresponds to the JSON property `healthState`
11330
11593
  # @return [String]
11331
11594
  attr_accessor :health_state
@@ -15208,7 +15471,9 @@ module Google
15208
15471
  include Google::Apis::Core::Hashable
15209
15472
 
15210
15473
  # The URLs of one or more instances to delete. This can be a full URL or a
15211
- # partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
15474
+ # partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. Queued instances
15475
+ # do not have URL and can be deleted only by name. One cannot specify both URLs
15476
+ # and names in a single request.
15212
15477
  # Corresponds to the JSON property `instances`
15213
15478
  # @return [Array<String>]
15214
15479
  attr_accessor :instances
@@ -17492,8 +17757,8 @@ module Google
17492
17757
  end
17493
17758
 
17494
17759
  # Represents an Interconnect resource. An Interconnect resource is a dedicated
17495
- # connection between the GCP network and your on-premises network. For more
17496
- # information, read the Dedicated Interconnect Overview.
17760
+ # connection between the Google Cloud network and your on-premises network. For
17761
+ # more information, read the Dedicated Interconnect Overview.
17497
17762
  class Interconnect
17498
17763
  include Google::Apis::Core::Hashable
17499
17764
 
@@ -17860,7 +18125,7 @@ module Google
17860
18125
  # specified for this VLAN attachment. If this field is not specified when
17861
18126
  # creating the VLAN attachment, then later on when creating an HA VPN gateway on
17862
18127
  # this VLAN attachment, the HA VPN gateway's IP address is allocated from the
17863
- # regional external IP address pool. Not currently available publicly.
18128
+ # regional external IP address pool.
17864
18129
  # Corresponds to the JSON property `ipsecInternalAddresses`
17865
18130
  # @return [Array<String>]
17866
18131
  attr_accessor :ipsec_internal_addresses
@@ -21034,7 +21299,7 @@ module Google
21034
21299
  attr_accessor :firewall_policy
21035
21300
 
21036
21301
  # [Output Only] The gateway address for default routing out of the network,
21037
- # selected by GCP.
21302
+ # selected by Google Cloud.
21038
21303
  # Corresponds to the JSON property `gatewayIPv4`
21039
21304
  # @return [String]
21040
21305
  attr_accessor :gateway_i_pv4
@@ -21392,7 +21657,7 @@ module Google
21392
21657
  # @return [String]
21393
21658
  attr_accessor :project_id_or_num
21394
21659
 
21395
- # Alias IP ranges from the same subnetwork
21660
+ # Alias IP ranges from the same subnetwork.
21396
21661
  # Corresponds to the JSON property `secondaryIpCidrRanges`
21397
21662
  # @return [Array<String>]
21398
21663
  attr_accessor :secondary_ip_cidr_ranges
@@ -23074,9 +23339,10 @@ module Google
23074
23339
  # @return [Fixnum]
23075
23340
  attr_accessor :queue_count
23076
23341
 
23077
- # The stack type for this network interface to identify whether the IPv6 feature
23078
- # is enabled or not. If not specified, IPV4_ONLY will be used. This field can be
23079
- # both set at instance creation and update network interface operations.
23342
+ # The stack type for this network interface. To assign only IPv4 addresses, use
23343
+ # IPV4_ONLY. To assign both IPv4 and IPv6 addresses, use IPV4_IPV6. If not
23344
+ # specified, IPV4_ONLY is used. This field can be both set at instance creation
23345
+ # and update network interface operations.
23080
23346
  # Corresponds to the JSON property `stackType`
23081
23347
  # @return [String]
23082
23348
  attr_accessor :stack_type
@@ -28741,6 +29007,37 @@ module Google
28741
29007
  end
28742
29008
  end
28743
29009
 
29010
+ #
29011
+ class RegionAddressesMoveRequest
29012
+ include Google::Apis::Core::Hashable
29013
+
29014
+ # An optional destination address description if intended to be different from
29015
+ # the source.
29016
+ # Corresponds to the JSON property `description`
29017
+ # @return [String]
29018
+ attr_accessor :description
29019
+
29020
+ # The URL of the destination address to move to. This can be a full or partial
29021
+ # URL. For example, the following are all valid URLs to a address: - https://www.
29022
+ # googleapis.com/compute/v1/projects/project/regions/region /addresses/address -
29023
+ # projects/project/regions/region/addresses/address Note that destination
29024
+ # project must be different from the source project. So /regions/region/
29025
+ # addresses/address is not valid partial url.
29026
+ # Corresponds to the JSON property `destinationAddress`
29027
+ # @return [String]
29028
+ attr_accessor :destination_address
29029
+
29030
+ def initialize(**args)
29031
+ update!(**args)
29032
+ end
29033
+
29034
+ # Update properties of this object
29035
+ def update!(**args)
29036
+ @description = args[:description] if args.key?(:description)
29037
+ @destination_address = args[:destination_address] if args.key?(:destination_address)
29038
+ end
29039
+ end
29040
+
28744
29041
  # Contains a list of autoscalers.
28745
29042
  class RegionAutoscalerList
28746
29043
  include Google::Apis::Core::Hashable
@@ -29052,6 +29349,30 @@ module Google
29052
29349
  end
29053
29350
  end
29054
29351
 
29352
+ #
29353
+ class RegionDisksStartAsyncReplicationRequest
29354
+ include Google::Apis::Core::Hashable
29355
+
29356
+ # The secondary disk to start asynchronous replication to. You can provide this
29357
+ # as a partial or full URL to the resource. For example, the following are valid
29358
+ # values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /
29359
+ # disks/disk - https://www.googleapis.com/compute/v1/projects/project/regions/
29360
+ # region /disks/disk - projects/project/zones/zone/disks/disk - projects/project/
29361
+ # regions/region/disks/disk - zones/zone/disks/disk - regions/region/disks/disk
29362
+ # Corresponds to the JSON property `asyncSecondaryDisk`
29363
+ # @return [String]
29364
+ attr_accessor :async_secondary_disk
29365
+
29366
+ def initialize(**args)
29367
+ update!(**args)
29368
+ end
29369
+
29370
+ # Update properties of this object
29371
+ def update!(**args)
29372
+ @async_secondary_disk = args[:async_secondary_disk] if args.key?(:async_secondary_disk)
29373
+ end
29374
+ end
29375
+
29055
29376
  # Contains a list of InstanceGroup resources.
29056
29377
  class RegionInstanceGroupList
29057
29378
  include Google::Apis::Core::Hashable
@@ -30961,6 +31282,11 @@ module Google
30961
31282
  # @return [String]
30962
31283
  attr_accessor :description
30963
31284
 
31285
+ # Resource policy for disk consistency groups.
31286
+ # Corresponds to the JSON property `diskConsistencyGroupPolicy`
31287
+ # @return [Google::Apis::ComputeBeta::ResourcePolicyDiskConsistencyGroupPolicy]
31288
+ attr_accessor :disk_consistency_group_policy
31289
+
30964
31290
  # A GroupPlacementPolicy specifies resource placement configuration. It
30965
31291
  # specifies the failure bucket separation as well as network locality
30966
31292
  # Corresponds to the JSON property `groupPlacementPolicy`
@@ -31033,6 +31359,7 @@ module Google
31033
31359
  def update!(**args)
31034
31360
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
31035
31361
  @description = args[:description] if args.key?(:description)
31362
+ @disk_consistency_group_policy = args[:disk_consistency_group_policy] if args.key?(:disk_consistency_group_policy)
31036
31363
  @group_placement_policy = args[:group_placement_policy] if args.key?(:group_placement_policy)
31037
31364
  @id = args[:id] if args.key?(:id)
31038
31365
  @instance_schedule_policy = args[:instance_schedule_policy] if args.key?(:instance_schedule_policy)
@@ -31210,6 +31537,19 @@ module Google
31210
31537
  end
31211
31538
  end
31212
31539
 
31540
+ # Resource policy for disk consistency groups.
31541
+ class ResourcePolicyDiskConsistencyGroupPolicy
31542
+ include Google::Apis::Core::Hashable
31543
+
31544
+ def initialize(**args)
31545
+ update!(**args)
31546
+ end
31547
+
31548
+ # Update properties of this object
31549
+ def update!(**args)
31550
+ end
31551
+ end
31552
+
31213
31553
  # A GroupPlacementPolicy specifies resource placement configuration. It
31214
31554
  # specifies the failure bucket separation as well as network locality
31215
31555
  class ResourcePolicyGroupPlacementPolicy
@@ -32938,6 +33278,12 @@ module Google
32938
33278
  class RouterNat
32939
33279
  include Google::Apis::Core::Hashable
32940
33280
 
33281
+ # The network tier to use when automatically reserving IP addresses. Must be one
33282
+ # of: PREMIUM, STANDARD. If not specified, PREMIUM tier will be used.
33283
+ # Corresponds to the JSON property `autoNetworkTier`
33284
+ # @return [String]
33285
+ attr_accessor :auto_network_tier
33286
+
32941
33287
  # A list of URLs of the IP resources to be drained. These IPs must be valid
32942
33288
  # static external IPs that have been assigned to the NAT. These IPs should be
32943
33289
  # used for updating/patching a NAT only.
@@ -33072,6 +33418,7 @@ module Google
33072
33418
 
33073
33419
  # Update properties of this object
33074
33420
  def update!(**args)
33421
+ @auto_network_tier = args[:auto_network_tier] if args.key?(:auto_network_tier)
33075
33422
  @drain_nat_ips = args[:drain_nat_ips] if args.key?(:drain_nat_ips)
33076
33423
  @enable_dynamic_port_allocation = args[:enable_dynamic_port_allocation] if args.key?(:enable_dynamic_port_allocation)
33077
33424
  @enable_endpoint_independent_mapping = args[:enable_endpoint_independent_mapping] if args.key?(:enable_endpoint_independent_mapping)
@@ -34620,7 +34967,8 @@ module Google
34620
34967
  # @return [Google::Apis::ComputeBeta::SecurityPolicyAdaptiveProtectionConfigAutoDeployConfig]
34621
34968
  attr_accessor :auto_deploy_config
34622
34969
 
34623
- # Configuration options for L7 DDoS detection.
34970
+ # Configuration options for L7 DDoS detection. This field is only supported in
34971
+ # Global Security Policies of type CLOUD_ARMOR.
34624
34972
  # Corresponds to the JSON property `layer7DdosDefenseConfig`
34625
34973
  # @return [Google::Apis::ComputeBeta::SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig]
34626
34974
  attr_accessor :layer7_ddos_defense_config
@@ -34673,18 +35021,21 @@ module Google
34673
35021
  end
34674
35022
  end
34675
35023
 
34676
- # Configuration options for L7 DDoS detection.
35024
+ # Configuration options for L7 DDoS detection. This field is only supported in
35025
+ # Global Security Policies of type CLOUD_ARMOR.
34677
35026
  class SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig
34678
35027
  include Google::Apis::Core::Hashable
34679
35028
 
34680
- # If set to true, enables CAAP for L7 DDoS detection.
35029
+ # If set to true, enables CAAP for L7 DDoS detection. This field is only
35030
+ # supported in Global Security Policies of type CLOUD_ARMOR.
34681
35031
  # Corresponds to the JSON property `enable`
34682
35032
  # @return [Boolean]
34683
35033
  attr_accessor :enable
34684
35034
  alias_method :enable?, :enable
34685
35035
 
34686
35036
  # Rule visibility can be one of the following: STANDARD - opaque rules. (default)
34687
- # PREMIUM - transparent rules.
35037
+ # PREMIUM - transparent rules. This field is only supported in Global Security
35038
+ # Policies of type CLOUD_ARMOR.
34688
35039
  # Corresponds to the JSON property `ruleVisibility`
34689
35040
  # @return [String]
34690
35041
  attr_accessor :rule_visibility
@@ -34720,6 +35071,12 @@ module Google
34720
35071
  # @return [String]
34721
35072
  attr_accessor :log_level
34722
35073
 
35074
+ # An optional list of case-insensitive request header names to use for resolving
35075
+ # the callers client IP address.
35076
+ # Corresponds to the JSON property `userIpRequestHeaders`
35077
+ # @return [Array<String>]
35078
+ attr_accessor :user_ip_request_headers
35079
+
34723
35080
  def initialize(**args)
34724
35081
  update!(**args)
34725
35082
  end
@@ -34729,6 +35086,7 @@ module Google
34729
35086
  @json_custom_config = args[:json_custom_config] if args.key?(:json_custom_config)
34730
35087
  @json_parsing = args[:json_parsing] if args.key?(:json_parsing)
34731
35088
  @log_level = args[:log_level] if args.key?(:log_level)
35089
+ @user_ip_request_headers = args[:user_ip_request_headers] if args.key?(:user_ip_request_headers)
34732
35090
  end
34733
35091
  end
34734
35092
 
@@ -34931,7 +35289,8 @@ module Google
34931
35289
  # using the redirect action with the type of GOOGLE_RECAPTCHA under the security
34932
35290
  # policy. The specified site key needs to be created from the reCAPTCHA API. The
34933
35291
  # user is responsible for the validity of the specified site key. If not
34934
- # specified, a Google-managed site key is used.
35292
+ # specified, a Google-managed site key is used. This field is only supported in
35293
+ # Global Security Policies of type CLOUD_ARMOR.
34935
35294
  # Corresponds to the JSON property `redirectSiteKey`
34936
35295
  # @return [String]
34937
35296
  attr_accessor :redirect_site_key
@@ -34979,7 +35338,8 @@ module Google
34979
35338
  # rate_limit_options to be set. - redirect: redirect to a different target. This
34980
35339
  # can either be an internal reCAPTCHA redirect, or an external URL-based
34981
35340
  # redirect via a 302 response. Parameters for this action can be configured via
34982
- # redirectOptions. - throttle: limit client traffic to the configured threshold.
35341
+ # redirectOptions. This action is only supported in Global Security Policies of
35342
+ # type CLOUD_ARMOR. - throttle: limit client traffic to the configured threshold.
34983
35343
  # Configure parameters for this action in rateLimitOptions. Requires
34984
35344
  # rate_limit_options to be set for this.
34985
35345
  # Corresponds to the JSON property `action`
@@ -35008,7 +35368,8 @@ module Google
35008
35368
  attr_accessor :enable_logging
35009
35369
  alias_method :enable_logging?, :enable_logging
35010
35370
 
35011
- # Optional, additional actions that are performed on headers.
35371
+ # Optional, additional actions that are performed on headers. This field is only
35372
+ # supported in Global Security Policies of type CLOUD_ARMOR.
35012
35373
  # Corresponds to the JSON property `headerAction`
35013
35374
  # @return [Google::Apis::ComputeBeta::SecurityPolicyRuleHttpHeaderAction]
35014
35375
  attr_accessor :header_action
@@ -35053,7 +35414,8 @@ module Google
35053
35414
  attr_accessor :rate_limit_options
35054
35415
 
35055
35416
  # Parameters defining the redirect action. Cannot be specified for any other
35056
- # actions.
35417
+ # actions. This field is only supported in Global Security Policies of type
35418
+ # CLOUD_ARMOR.
35057
35419
  # Corresponds to the JSON property `redirectOptions`
35058
35420
  # @return [Google::Apis::ComputeBeta::SecurityPolicyRuleRedirectOptions]
35059
35421
  attr_accessor :redirect_options
@@ -35438,13 +35800,15 @@ module Google
35438
35800
  # to either deny with a specified HTTP response code, or redirect to a
35439
35801
  # different endpoint. Valid options are `deny(STATUS)`, where valid values for `
35440
35802
  # STATUS` are 403, 404, 429, and 502, and `redirect`, where the redirect
35441
- # parameters come from `exceedRedirectOptions` below.
35803
+ # parameters come from `exceedRedirectOptions` below. The `redirect` action is
35804
+ # only supported in Global Security Policies of type CLOUD_ARMOR.
35442
35805
  # Corresponds to the JSON property `exceedAction`
35443
35806
  # @return [String]
35444
35807
  attr_accessor :exceed_action
35445
35808
 
35446
35809
  # Parameters defining the redirect action that is used as the exceed action.
35447
- # Cannot be specified if the exceed action is not redirect.
35810
+ # Cannot be specified if the exceed action is not redirect. This field is only
35811
+ # supported in Global Security Policies of type CLOUD_ARMOR.
35448
35812
  # Corresponds to the JSON property `exceedRedirectOptions`
35449
35813
  # @return [Google::Apis::ComputeBeta::SecurityPolicyRuleRedirectOptions]
35450
35814
  attr_accessor :exceed_redirect_options
@@ -35721,7 +36085,7 @@ module Google
35721
36085
  # Represents a ServiceAttachment resource. A service attachment represents a
35722
36086
  # service that a producer has exposed. It encapsulates the load balancer which
35723
36087
  # fronts the service runs and a list of NAT IP ranges that the producers uses to
35724
- # represent the consumers connecting to the service. next tag = 20
36088
+ # represent the consumers connecting to the service.
35725
36089
  class ServiceAttachment
35726
36090
  include Google::Apis::Core::Hashable
35727
36091
 
@@ -40106,8 +40470,11 @@ module Google
40106
40470
  # Optional. A URL referring to a networksecurity.ServerTlsPolicy resource that
40107
40471
  # describes how the proxy should authenticate inbound traffic. serverTlsPolicy
40108
40472
  # only applies to a global TargetHttpsProxy attached to globalForwardingRules
40109
- # with the loadBalancingScheme set to INTERNAL_SELF_MANAGED. If left blank,
40110
- # communications are not encrypted. Note: This field currently has no impact.
40473
+ # with the loadBalancingScheme set to INTERNAL_SELF_MANAGED or EXTERNAL or
40474
+ # EXTERNAL_MANAGED. For details which ServerTlsPolicy resources are accepted
40475
+ # with INTERNAL_SELF_MANAGED and which with EXTERNAL, EXTERNAL_MANAGED
40476
+ # loadBalancingScheme consult ServerTlsPolicy documentation. If left blank,
40477
+ # communications are not encrypted.
40111
40478
  # Corresponds to the JSON property `serverTlsPolicy`
40112
40479
  # @return [String]
40113
40480
  attr_accessor :server_tls_policy