google-apis-compute_beta 0.63.0 → 0.65.0

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