google-apis-compute_beta 0.20.0 → 0.21.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3af9d52072c365a85bcc069f64b118d98f3e98f55fb425d272f5320b4f02570f
4
- data.tar.gz: f8711386c69b3c9379626580874d23adeda79895c5e6aaa11df815669e97cf71
3
+ metadata.gz: d516b3110327bb6582cf6e8ae1d0bb57d47ad827eeaf241d4964fa6101fd03a7
4
+ data.tar.gz: b96852fd5e7dee87efc3d2f583ebc3673e1ec80e9b96c191874c4ad85772bc01
5
5
  SHA512:
6
- metadata.gz: fc2ca2694c4d6e3e97219d0825d4d24d6d62b37cf75522a605fb753336de8516bb6f3095ec56f916ae011741ec3bbd71e8fbd5a7d1b4d1bb89d52b6594460ec5
7
- data.tar.gz: 48500ea5a8570e0e773f385980795a8e99c92f470ad0ee1b2f74e910feeaace8564c3a516d28ccdc0cbacd8869319c383b3267a14bd1d47856fa8d63d8336311
6
+ metadata.gz: 2441311d6940330e935d96f4aef2e3610a528606b4181c402a18061038f3b548ac70cb883105748098f4b90a8a6776ed99d841acae2f85844fd5adc9bfb96717
7
+ data.tar.gz: 16f8d48e0670632f4e08d796b5d144b10e12f7d38319e33be27b770b217b01b664de5136320bf19c36ce010574669c8049ec6d0d0d4e90cdaa25e48ab2310d46
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Release history for google-apis-compute_beta
2
2
 
3
+ ### v0.21.0 (2021-12-02)
4
+
5
+ * Regenerated from discovery document revision 20211130
6
+
3
7
  ### v0.20.0 (2021-11-10)
4
8
 
5
9
  * Regenerated from discovery document revision 20211025
@@ -652,14 +652,14 @@ module Google
652
652
  # regional internal IP address in a subnet of a VPC network) - VPC_PEERING for
653
653
  # global internal IP addresses used for private services access allocated ranges.
654
654
  # - NAT_AUTO for the regional external IP addresses used by Cloud NAT when
655
- # allocating addresses using . - IPSEC_INTERCONNECT for addresses created from a
656
- # private IP range that are reserved for a VLAN attachment in an *IPsec-
657
- # encrypted Cloud Interconnect* configuration. These addresses are regional
658
- # resources. Not currently available publicly. - `SHARED_LOADBALANCER_VIP` for
659
- # an internal IP address that is assigned to multiple internal forwarding rules.
660
- # - `PRIVATE_SERVICE_CONNECT` for a private network address that is used to
661
- # configure Private Service Connect. Only global internal addresses can use this
662
- # purpose.
655
+ # allocating addresses using automatic NAT IP address allocation. -
656
+ # IPSEC_INTERCONNECT for addresses created from a private IP range that are
657
+ # reserved for a VLAN attachment in an *IPsec-encrypted Cloud Interconnect*
658
+ # configuration. These addresses are regional resources. Not currently available
659
+ # publicly. - `SHARED_LOADBALANCER_VIP` for an internal IP address that is
660
+ # assigned to multiple internal forwarding rules. - `PRIVATE_SERVICE_CONNECT`
661
+ # for a private network address that is used to configure Private Service
662
+ # Connect. Only global internal addresses can use this purpose.
663
663
  # Corresponds to the JSON property `purpose`
664
664
  # @return [String]
665
665
  attr_accessor :purpose
@@ -1361,7 +1361,8 @@ module Google
1361
1361
  # initializeParams.sourceSnapshot or disks.source is required except for local
1362
1362
  # SSD. If desired, you can also attach existing non-root persistent disks using
1363
1363
  # this property. This field is only applicable for persistent disks. Note that
1364
- # for InstanceTemplate, specify the disk name, not the URL for the disk.
1364
+ # for InstanceTemplate, specify the disk name for zonal disk, and the URL for
1365
+ # regional disk.
1365
1366
  # Corresponds to the JSON property `source`
1366
1367
  # @return [String]
1367
1368
  attr_accessor :source
@@ -3188,14 +3189,14 @@ module Google
3188
3189
 
3189
3190
  # For load balancers that have configurable failover: [Internal TCP/UDP Load
3190
3191
  # Balancing](https://cloud.google.com/load-balancing/docs/internal/failover-
3191
- # overview) and [external TCP/UDP Load Balancing](/network/networklb-failover-
3192
- # overview). On failover or failback, this field indicates whether connection
3193
- # draining will be honored. Google Cloud has a fixed connection draining timeout
3194
- # of 10 minutes. A setting of true terminates existing TCP connections to the
3195
- # active pool during failover and failback, immediately draining traffic. A
3196
- # setting of false allows existing TCP connections to persist, even on VMs no
3197
- # longer in the active pool, for up to the duration of the connection draining
3198
- # timeout (10 minutes).
3192
+ # overview) and [external TCP/UDP Load Balancing](https://cloud.google.com/load-
3193
+ # balancing/docs/network/networklb-failover-overview). On failover or failback,
3194
+ # this field indicates whether connection draining will be honored. Google Cloud
3195
+ # has a fixed connection draining timeout of 10 minutes. A setting of true
3196
+ # terminates existing TCP connections to the active pool during failover and
3197
+ # failback, immediately draining traffic. A setting of false allows existing TCP
3198
+ # connections to persist, even on VMs no longer in the active pool, for up to
3199
+ # the duration of the connection draining timeout (10 minutes).
3199
3200
  # Corresponds to the JSON property `failoverPolicy`
3200
3201
  # @return [Google::Apis::ComputeBeta::BackendServiceFailoverPolicy]
3201
3202
  attr_accessor :failover_policy
@@ -3836,14 +3837,14 @@ module Google
3836
3837
 
3837
3838
  # For load balancers that have configurable failover: [Internal TCP/UDP Load
3838
3839
  # Balancing](https://cloud.google.com/load-balancing/docs/internal/failover-
3839
- # overview) and [external TCP/UDP Load Balancing](/network/networklb-failover-
3840
- # overview). On failover or failback, this field indicates whether connection
3841
- # draining will be honored. Google Cloud has a fixed connection draining timeout
3842
- # of 10 minutes. A setting of true terminates existing TCP connections to the
3843
- # active pool during failover and failback, immediately draining traffic. A
3844
- # setting of false allows existing TCP connections to persist, even on VMs no
3845
- # longer in the active pool, for up to the duration of the connection draining
3846
- # timeout (10 minutes).
3840
+ # overview) and [external TCP/UDP Load Balancing](https://cloud.google.com/load-
3841
+ # balancing/docs/network/networklb-failover-overview). On failover or failback,
3842
+ # this field indicates whether connection draining will be honored. Google Cloud
3843
+ # has a fixed connection draining timeout of 10 minutes. A setting of true
3844
+ # terminates existing TCP connections to the active pool during failover and
3845
+ # failback, immediately draining traffic. A setting of false allows existing TCP
3846
+ # connections to persist, even on VMs no longer in the active pool, for up to
3847
+ # the duration of the connection draining timeout (10 minutes).
3847
3848
  class BackendServiceFailoverPolicy
3848
3849
  include Google::Apis::Core::Hashable
3849
3850
 
@@ -3858,8 +3859,9 @@ module Google
3858
3859
  # distributed among all primary VMs when all primary and all backup backend VMs
3859
3860
  # are unhealthy. For load balancers that have configurable failover: [Internal
3860
3861
  # TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/internal/
3861
- # failover-overview) and [external TCP/UDP Load Balancing](/network/networklb-
3862
- # failover-overview). The default is false.
3862
+ # failover-overview) and [external TCP/UDP Load Balancing](https://cloud.google.
3863
+ # com/load-balancing/docs/network/networklb-failover-overview). The default is
3864
+ # false.
3863
3865
  # Corresponds to the JSON property `dropTrafficIfUnhealthy`
3864
3866
  # @return [Boolean]
3865
3867
  attr_accessor :drop_traffic_if_unhealthy
@@ -3871,7 +3873,8 @@ module Google
3871
3873
  # the total number of healthy primary VMs is less than this ratio. For load
3872
3874
  # balancers that have configurable failover: [Internal TCP/UDP Load Balancing](
3873
3875
  # https://cloud.google.com/load-balancing/docs/internal/failover-overview) and [
3874
- # external TCP/UDP Load Balancing](/network/networklb-failover-overview).
3876
+ # external TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/
3877
+ # network/networklb-failover-overview).
3875
3878
  # Corresponds to the JSON property `failoverRatio`
3876
3879
  # @return [Float]
3877
3880
  attr_accessor :failover_ratio
@@ -4809,6 +4812,16 @@ module Google
4809
4812
  class Commitment
4810
4813
  include Google::Apis::Core::Hashable
4811
4814
 
4815
+ # Specifies whether to enable automatic renewal for the commitment. The default
4816
+ # value is false if not specified. The field can be updated until the day of the
4817
+ # commitment expiration at 12:00am PST. If the field is set to true, the
4818
+ # commitment will be automatically renewed for either one or three years
4819
+ # according to the terms of the existing commitment.
4820
+ # Corresponds to the JSON property `autoRenew`
4821
+ # @return [Boolean]
4822
+ attr_accessor :auto_renew
4823
+ alias_method :auto_renew?, :auto_renew
4824
+
4812
4825
  # The category of the commitment. Category MACHINE specifies commitments
4813
4826
  # composed of machine resources such as VCPU or MEMORY, listed in resources.
4814
4827
  # Category LICENSE specifies commitments composed of software licenses, listed
@@ -4919,6 +4932,7 @@ module Google
4919
4932
 
4920
4933
  # Update properties of this object
4921
4934
  def update!(**args)
4935
+ @auto_renew = args[:auto_renew] if args.key?(:auto_renew)
4922
4936
  @category = args[:category] if args.key?(:category)
4923
4937
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
4924
4938
  @description = args[:description] if args.key?(:description)
@@ -8684,8 +8698,7 @@ module Google
8684
8698
  attr_accessor :self_link
8685
8699
 
8686
8700
  # Service Directory resources to register this forwarding rule with. Currently,
8687
- # only supports a single Service Directory resource. It is only supported for
8688
- # internal load balancing.
8701
+ # only supports a single Service Directory resource.
8689
8702
  # Corresponds to the JSON property `serviceDirectoryRegistrations`
8690
8703
  # @return [Array<Google::Apis::ComputeBeta::ForwardingRuleServiceDirectoryRegistration>]
8691
8704
  attr_accessor :service_directory_registrations
@@ -9848,8 +9861,8 @@ module Google
9848
9861
  attr_accessor :timeout_sec
9849
9862
 
9850
9863
  # Specifies the type of the healthCheck, either TCP, SSL, HTTP, HTTPS or HTTP2.
9851
- # If not specified, the default is TCP. Exactly one of the protocol-specific
9852
- # health check field must be specified, which must match type field.
9864
+ # Exactly one of the protocol-specific health check field must be specified,
9865
+ # which must match type field.
9853
9866
  # Corresponds to the JSON property `type`
9854
9867
  # @return [String]
9855
9868
  attr_accessor :type
@@ -16417,7 +16430,10 @@ module Google
16417
16430
  # @return [String]
16418
16431
  attr_accessor :customer_router_ip_address
16419
16432
 
16420
- # [Output Only] Dataplane version for this InterconnectAttachment.
16433
+ # [Output only for types PARTNER and DEDICATED. Not present for PARTNER_PROVIDER.
16434
+ # ] Dataplane version for this InterconnectAttachment. This field is only
16435
+ # present for Dataplane version 2 and higher. Absence of this field in the API
16436
+ # output indicates that the Dataplane is version 1.
16421
16437
  # Corresponds to the JSON property `dataplaneVersion`
16422
16438
  # @return [Fixnum]
16423
16439
  attr_accessor :dataplane_version
@@ -18363,6 +18379,11 @@ module Google
18363
18379
  # @return [Fixnum]
18364
18380
  attr_accessor :id
18365
18381
 
18382
+ # [Output Only] Properties of source instance
18383
+ # Corresponds to the JSON property `instanceProperties`
18384
+ # @return [Google::Apis::ComputeBeta::InstanceProperties]
18385
+ attr_accessor :instance_properties
18386
+
18366
18387
  # [Output Only] The resource type, which is always compute#machineImage for
18367
18388
  # machine image.
18368
18389
  # Corresponds to the JSON property `kind`
@@ -18398,6 +18419,12 @@ module Google
18398
18419
  attr_accessor :satisfies_pzs
18399
18420
  alias_method :satisfies_pzs?, :satisfies_pzs
18400
18421
 
18422
+ # An array of Machine Image specific properties for disks attached to the source
18423
+ # instance
18424
+ # Corresponds to the JSON property `savedDisks`
18425
+ # @return [Array<Google::Apis::ComputeBeta::SavedDisk>]
18426
+ attr_accessor :saved_disks
18427
+
18401
18428
  # [Output Only] The URL for this machine image. The server defines this URL.
18402
18429
  # Corresponds to the JSON property `selfLink`
18403
18430
  # @return [String]
@@ -18418,7 +18445,8 @@ module Google
18418
18445
  # @return [String]
18419
18446
  attr_accessor :source_instance
18420
18447
 
18421
- # [Output Only] Properties of source instance.
18448
+ # DEPRECATED: Please use compute#instanceProperties instead. New properties will
18449
+ # not be added to this field.
18422
18450
  # Corresponds to the JSON property `sourceInstanceProperties`
18423
18451
  # @return [Google::Apis::ComputeBeta::SourceInstanceProperties]
18424
18452
  attr_accessor :source_instance_properties
@@ -18450,10 +18478,12 @@ module Google
18450
18478
  @description = args[:description] if args.key?(:description)
18451
18479
  @guest_flush = args[:guest_flush] if args.key?(:guest_flush)
18452
18480
  @id = args[:id] if args.key?(:id)
18481
+ @instance_properties = args[:instance_properties] if args.key?(:instance_properties)
18453
18482
  @kind = args[:kind] if args.key?(:kind)
18454
18483
  @machine_image_encryption_key = args[:machine_image_encryption_key] if args.key?(:machine_image_encryption_key)
18455
18484
  @name = args[:name] if args.key?(:name)
18456
18485
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
18486
+ @saved_disks = args[:saved_disks] if args.key?(:saved_disks)
18457
18487
  @self_link = args[:self_link] if args.key?(:self_link)
18458
18488
  @source_disk_encryption_keys = args[:source_disk_encryption_keys] if args.key?(:source_disk_encryption_keys)
18459
18489
  @source_instance = args[:source_instance] if args.key?(:source_instance)
@@ -24823,6 +24853,18 @@ module Google
24823
24853
  # @return [Hash<String,Google::Apis::ComputeBeta::PreservedStatePreservedDisk>]
24824
24854
  attr_accessor :disks
24825
24855
 
24856
+ # Preserved external IPs defined for this instance. This map is keyed with the
24857
+ # name of the network interface.
24858
+ # Corresponds to the JSON property `externalIPs`
24859
+ # @return [Hash<String,Google::Apis::ComputeBeta::PreservedStatePreservedNetworkIp>]
24860
+ attr_accessor :external_i_ps
24861
+
24862
+ # Preserved internal IPs defined for this instance. This map is keyed with the
24863
+ # name of the network interface.
24864
+ # Corresponds to the JSON property `internalIPs`
24865
+ # @return [Hash<String,Google::Apis::ComputeBeta::PreservedStatePreservedNetworkIp>]
24866
+ attr_accessor :internal_i_ps
24867
+
24826
24868
  # Preserved metadata defined for this instance.
24827
24869
  # Corresponds to the JSON property `metadata`
24828
24870
  # @return [Hash<String,String>]
@@ -24835,6 +24877,8 @@ module Google
24835
24877
  # Update properties of this object
24836
24878
  def update!(**args)
24837
24879
  @disks = args[:disks] if args.key?(:disks)
24880
+ @external_i_ps = args[:external_i_ps] if args.key?(:external_i_ps)
24881
+ @internal_i_ps = args[:internal_i_ps] if args.key?(:internal_i_ps)
24838
24882
  @metadata = args[:metadata] if args.key?(:metadata)
24839
24883
  end
24840
24884
  end
@@ -24876,6 +24920,60 @@ module Google
24876
24920
  end
24877
24921
  end
24878
24922
 
24923
+ #
24924
+ class PreservedStatePreservedNetworkIp
24925
+ include Google::Apis::Core::Hashable
24926
+
24927
+ # These stateful IPs will never be released during autohealing, update or VM
24928
+ # instance recreate operations. This flag is used to configure if the IP
24929
+ # reservation should be deleted after it is no longer used by the group, e.g.
24930
+ # when the given instance or the whole group is deleted.
24931
+ # Corresponds to the JSON property `autoDelete`
24932
+ # @return [String]
24933
+ attr_accessor :auto_delete
24934
+
24935
+ # Ip address representation
24936
+ # Corresponds to the JSON property `ipAddress`
24937
+ # @return [Google::Apis::ComputeBeta::PreservedStatePreservedNetworkIpIpAddress]
24938
+ attr_accessor :ip_address
24939
+
24940
+ def initialize(**args)
24941
+ update!(**args)
24942
+ end
24943
+
24944
+ # Update properties of this object
24945
+ def update!(**args)
24946
+ @auto_delete = args[:auto_delete] if args.key?(:auto_delete)
24947
+ @ip_address = args[:ip_address] if args.key?(:ip_address)
24948
+ end
24949
+ end
24950
+
24951
+ #
24952
+ class PreservedStatePreservedNetworkIpIpAddress
24953
+ include Google::Apis::Core::Hashable
24954
+
24955
+ # The URL of the reservation for this IP address.
24956
+ # Corresponds to the JSON property `address`
24957
+ # @return [String]
24958
+ attr_accessor :address
24959
+
24960
+ # An IPv4 internal network address to assign to the instance for this network
24961
+ # interface.
24962
+ # Corresponds to the JSON property `literal`
24963
+ # @return [String]
24964
+ attr_accessor :literal
24965
+
24966
+ def initialize(**args)
24967
+ update!(**args)
24968
+ end
24969
+
24970
+ # Update properties of this object
24971
+ def update!(**args)
24972
+ @address = args[:address] if args.key?(:address)
24973
+ @literal = args[:literal] if args.key?(:literal)
24974
+ end
24975
+ end
24976
+
24879
24977
  # Represents a Project resource. A project is used to organize resources in a
24880
24978
  # Google Cloud Platform environment. For more information, read about the
24881
24979
  # Resource Hierarchy.
@@ -29692,6 +29790,12 @@ module Google
29692
29790
  # @return [String]
29693
29791
  attr_accessor :enable
29694
29792
 
29793
+ # Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default.
29794
+ # Corresponds to the JSON property `enableIpv6`
29795
+ # @return [Boolean]
29796
+ attr_accessor :enable_ipv6
29797
+ alias_method :enable_ipv6?, :enable_ipv6
29798
+
29695
29799
  # Name of the interface the BGP peer is associated with.
29696
29800
  # Corresponds to the JSON property `interfaceName`
29697
29801
  # @return [String]
@@ -29703,6 +29807,11 @@ module Google
29703
29807
  # @return [String]
29704
29808
  attr_accessor :ip_address
29705
29809
 
29810
+ # IPv6 address of the interface inside Google Cloud Platform.
29811
+ # Corresponds to the JSON property `ipv6NexthopAddress`
29812
+ # @return [String]
29813
+ attr_accessor :ipv6_nexthop_address
29814
+
29706
29815
  # [Output Only] The resource that configures and manages this BGP peer. -
29707
29816
  # MANAGED_BY_USER is the default value and can be managed by you or other users -
29708
29817
  # MANAGED_BY_ATTACHMENT is a BGP peer that is configured and managed by Cloud
@@ -29735,6 +29844,11 @@ module Google
29735
29844
  # @return [String]
29736
29845
  attr_accessor :peer_ip_address
29737
29846
 
29847
+ # IPv6 address of the BGP interface outside Google Cloud Platform.
29848
+ # Corresponds to the JSON property `peerIpv6NexthopAddress`
29849
+ # @return [String]
29850
+ attr_accessor :peer_ipv6_nexthop_address
29851
+
29738
29852
  # URI of the VM instance that is used as third-party router appliances such as
29739
29853
  # Next Gen Firewalls, Virtual Routers, or Router Appliances. The VM instance
29740
29854
  # must be located in zones contained in the same region as this Cloud Router.
@@ -29755,12 +29869,15 @@ module Google
29755
29869
  @advertised_route_priority = args[:advertised_route_priority] if args.key?(:advertised_route_priority)
29756
29870
  @bfd = args[:bfd] if args.key?(:bfd)
29757
29871
  @enable = args[:enable] if args.key?(:enable)
29872
+ @enable_ipv6 = args[:enable_ipv6] if args.key?(:enable_ipv6)
29758
29873
  @interface_name = args[:interface_name] if args.key?(:interface_name)
29759
29874
  @ip_address = args[:ip_address] if args.key?(:ip_address)
29875
+ @ipv6_nexthop_address = args[:ipv6_nexthop_address] if args.key?(:ipv6_nexthop_address)
29760
29876
  @management_type = args[:management_type] if args.key?(:management_type)
29761
29877
  @name = args[:name] if args.key?(:name)
29762
29878
  @peer_asn = args[:peer_asn] if args.key?(:peer_asn)
29763
29879
  @peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address)
29880
+ @peer_ipv6_nexthop_address = args[:peer_ipv6_nexthop_address] if args.key?(:peer_ipv6_nexthop_address)
29764
29881
  @router_appliance_instance = args[:router_appliance_instance] if args.key?(:router_appliance_instance)
29765
29882
  end
29766
29883
  end
@@ -30825,7 +30942,8 @@ module Google
30825
30942
  end
30826
30943
  end
30827
30944
 
30828
- # An instance-attached disk resource.
30945
+ # DEPRECATED: Please use compute#savedDisk instead. An instance-attached disk
30946
+ # resource.
30829
30947
  class SavedAttachedDisk
30830
30948
  include Google::Apis::Core::Hashable
30831
30949
 
@@ -30948,6 +31066,47 @@ module Google
30948
31066
  end
30949
31067
  end
30950
31068
 
31069
+ # An instance-attached disk resource.
31070
+ class SavedDisk
31071
+ include Google::Apis::Core::Hashable
31072
+
31073
+ # [Output Only] Type of the resource. Always compute#savedDisk for attached
31074
+ # disks.
31075
+ # Corresponds to the JSON property `kind`
31076
+ # @return [String]
31077
+ attr_accessor :kind
31078
+
31079
+ # Specifies a URL of the disk attached to the source instance.
31080
+ # Corresponds to the JSON property `sourceDisk`
31081
+ # @return [String]
31082
+ attr_accessor :source_disk
31083
+
31084
+ # [Output Only] Size of the individual disk snapshot used by this machine image.
31085
+ # Corresponds to the JSON property `storageBytes`
31086
+ # @return [Fixnum]
31087
+ attr_accessor :storage_bytes
31088
+
31089
+ # [Output Only] An indicator whether storageBytes is in a stable state or it is
31090
+ # being adjusted as a result of shared storage reallocation. This status can
31091
+ # either be UPDATING, meaning the size of the snapshot is being updated, or
31092
+ # UP_TO_DATE, meaning the size of the snapshot is up-to-date.
31093
+ # Corresponds to the JSON property `storageBytesStatus`
31094
+ # @return [String]
31095
+ attr_accessor :storage_bytes_status
31096
+
31097
+ def initialize(**args)
31098
+ update!(**args)
31099
+ end
31100
+
31101
+ # Update properties of this object
31102
+ def update!(**args)
31103
+ @kind = args[:kind] if args.key?(:kind)
31104
+ @source_disk = args[:source_disk] if args.key?(:source_disk)
31105
+ @storage_bytes = args[:storage_bytes] if args.key?(:storage_bytes)
31106
+ @storage_bytes_status = args[:storage_bytes_status] if args.key?(:storage_bytes_status)
31107
+ end
31108
+ end
31109
+
30951
31110
  #
30952
31111
  class ScalingScheduleStatus
30953
31112
  include Google::Apis::Core::Hashable
@@ -31279,6 +31438,11 @@ module Google
31279
31438
  # @return [String]
31280
31439
  attr_accessor :parent
31281
31440
 
31441
+ #
31442
+ # Corresponds to the JSON property `recaptchaOptionsConfig`
31443
+ # @return [Google::Apis::ComputeBeta::SecurityPolicyRecaptchaOptionsConfig]
31444
+ attr_accessor :recaptcha_options_config
31445
+
31282
31446
  # [Output Only] Total count of all security policy rule tuples. A security
31283
31447
  # policy can not exceed a set number of tuples.
31284
31448
  # Corresponds to the JSON property `ruleTupleCount`
@@ -31333,6 +31497,7 @@ module Google
31333
31497
  @labels = args[:labels] if args.key?(:labels)
31334
31498
  @name = args[:name] if args.key?(:name)
31335
31499
  @parent = args[:parent] if args.key?(:parent)
31500
+ @recaptcha_options_config = args[:recaptcha_options_config] if args.key?(:recaptcha_options_config)
31336
31501
  @rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
31337
31502
  @rules = args[:rules] if args.key?(:rules)
31338
31503
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -31561,6 +31726,29 @@ module Google
31561
31726
  end
31562
31727
  end
31563
31728
 
31729
+ #
31730
+ class SecurityPolicyRecaptchaOptionsConfig
31731
+ include Google::Apis::Core::Hashable
31732
+
31733
+ # An optional field to supply a reCAPTCHA site key to be used for all the rules
31734
+ # using the redirect action with the type of GOOGLE_RECAPTCHA under the security
31735
+ # policy. The specified site key needs to be created from the reCAPTCHA API. The
31736
+ # user is responsible for the validity of the specified site key. If not
31737
+ # specified, a Google-managed site key is used.
31738
+ # Corresponds to the JSON property `redirectSiteKey`
31739
+ # @return [String]
31740
+ attr_accessor :redirect_site_key
31741
+
31742
+ def initialize(**args)
31743
+ update!(**args)
31744
+ end
31745
+
31746
+ # Update properties of this object
31747
+ def update!(**args)
31748
+ @redirect_site_key = args[:redirect_site_key] if args.key?(:redirect_site_key)
31749
+ end
31750
+ end
31751
+
31564
31752
  #
31565
31753
  class SecurityPolicyReference
31566
31754
  include Google::Apis::Core::Hashable
@@ -31585,9 +31773,17 @@ module Google
31585
31773
  class SecurityPolicyRule
31586
31774
  include Google::Apis::Core::Hashable
31587
31775
 
31588
- # The Action to perform when the client connection triggers the rule. Can
31589
- # currently be either "allow" or "deny()" where valid values for status are 403,
31590
- # 404, and 502.
31776
+ # The Action to perform when the rule is matched. The following are the valid
31777
+ # actions: - allow: allow access to target. - deny(): deny access to target,
31778
+ # returns the HTTP response code specified (valid values are 403, 404, and 502).
31779
+ # - rate_based_ban: limit client traffic to the configured threshold and ban the
31780
+ # client if the traffic exceeds the threshold. Configure parameters for this
31781
+ # action in RateLimitOptions. Requires rate_limit_options to be set. - redirect:
31782
+ # redirect to a different target. This can either be an internal reCAPTCHA
31783
+ # redirect, or an external URL-based redirect via a 302 response. Parameters for
31784
+ # this action can be configured via redirectOptions. - throttle: limit client
31785
+ # traffic to the configured threshold. Configure parameters for this action in
31786
+ # rateLimitOptions. Requires rate_limit_options to be set for this.
31591
31787
  # Corresponds to the JSON property `action`
31592
31788
  # @return [String]
31593
31789
  attr_accessor :action
@@ -31894,33 +32090,45 @@ module Google
31894
32090
  attr_accessor :conform_action
31895
32091
 
31896
32092
  # Determines the key to enforce the rate_limit_threshold on. Possible values are:
31897
- # "ALL" -- A single rate limit threshold is applied to all the requests
31898
- # matching this rule. This is the default value if this field 'enforce_on_key'
31899
- # is not configured. "ALL_IPS" -- This definition, equivalent to "ALL", has been
31900
- # depprecated. "IP" -- The source IP address of the request is the key. Each IP
31901
- # has this limit enforced separately. "HTTP_HEADER" -- The value of the HTTP
31902
- # header whose name is configured under "enforce_on_key_name". The key value is
32093
+ # - ALL: A single rate limit threshold is applied to all the requests matching
32094
+ # this rule. This is the default value if this field 'enforce_on_key' is not
32095
+ # configured. - IP: The source IP address of the request is the key. Each IP has
32096
+ # this limit enforced separately. - HTTP_HEADER: The value of the HTTP header
32097
+ # whose name is configured under "enforce_on_key_name". The key value is
31903
32098
  # truncated to the first 128 bytes of the header value. If no such header is
31904
- # present in the request, the key type defaults to "ALL". "XFF_IP" -- The first
31905
- # IP address (i.e. the originating client IP address) specified in the list of
31906
- # IPs under X-Forwarded-For HTTP header. If no such header is present or the
31907
- # value is not a valid IP, the key type defaults to "ALL".
32099
+ # present in the request, the key type defaults to ALL. - XFF_IP: The first IP
32100
+ # address (i.e. the originating client IP address) specified in the list of IPs
32101
+ # under X-Forwarded-For HTTP header. If no such header is present or the value
32102
+ # is not a valid IP, the key type defaults to ALL. - HTTP_COOKIE: The value of
32103
+ # the HTTP cookie whose name is configured under "enforce_on_key_name". The key
32104
+ # value is truncated to the first 128 bytes of the cookie value. If no such
32105
+ # cookie is present in the request, the key type defaults to ALL.
31908
32106
  # Corresponds to the JSON property `enforceOnKey`
31909
32107
  # @return [String]
31910
32108
  attr_accessor :enforce_on_key
31911
32109
 
31912
32110
  # Rate limit key name applicable only for the following key types: HTTP_HEADER --
31913
- # Name of the HTTP header whose value is taken as the key value.
32111
+ # Name of the HTTP header whose value is taken as the key value. HTTP_COOKIE --
32112
+ # Name of the HTTP cookie whose value is taken as the key value.
31914
32113
  # Corresponds to the JSON property `enforceOnKeyName`
31915
32114
  # @return [String]
31916
32115
  attr_accessor :enforce_on_key_name
31917
32116
 
31918
- # When a request is denied, returns the HTTP response code specified. Valid
31919
- # options are "deny()" where valid values for status are 403, 404, 429, and 502.
32117
+ # Action to take for requests that are above the configured rate limit threshold,
32118
+ # to either deny with a specified HTTP response code, or redirect to a
32119
+ # different endpoint. Valid options are "deny()" where valid values for status
32120
+ # are 403, 404, 429, and 502, and "redirect" where the redirect parameters come
32121
+ # from exceed_redirect_options below.
31920
32122
  # Corresponds to the JSON property `exceedAction`
31921
32123
  # @return [String]
31922
32124
  attr_accessor :exceed_action
31923
32125
 
32126
+ # Parameters defining the redirect action that is used as the exceed action.
32127
+ # Cannot be specified if the exceed action is not redirect.
32128
+ # Corresponds to the JSON property `exceedRedirectOptions`
32129
+ # @return [Google::Apis::ComputeBeta::SecurityPolicyRuleRedirectOptions]
32130
+ attr_accessor :exceed_redirect_options
32131
+
31924
32132
  # Threshold at which to begin ratelimiting.
31925
32133
  # Corresponds to the JSON property `rateLimitThreshold`
31926
32134
  # @return [Google::Apis::ComputeBeta::SecurityPolicyRuleRateLimitOptionsThreshold]
@@ -31938,6 +32146,7 @@ module Google
31938
32146
  @enforce_on_key = args[:enforce_on_key] if args.key?(:enforce_on_key)
31939
32147
  @enforce_on_key_name = args[:enforce_on_key_name] if args.key?(:enforce_on_key_name)
31940
32148
  @exceed_action = args[:exceed_action] if args.key?(:exceed_action)
32149
+ @exceed_redirect_options = args[:exceed_redirect_options] if args.key?(:exceed_redirect_options)
31941
32150
  @rate_limit_threshold = args[:rate_limit_threshold] if args.key?(:rate_limit_threshold)
31942
32151
  end
31943
32152
  end
@@ -33365,7 +33574,8 @@ module Google
33365
33574
  end
33366
33575
  end
33367
33576
 
33368
- #
33577
+ # DEPRECATED: Please use compute#instanceProperties instead. New properties will
33578
+ # not be added to this field.
33369
33579
  class SourceInstanceProperties
33370
33580
  include Google::Apis::Core::Hashable
33371
33581
 
@@ -34355,6 +34565,20 @@ module Google
34355
34565
  # @return [Hash<String,Google::Apis::ComputeBeta::StatefulPolicyPreservedStateDiskDevice>]
34356
34566
  attr_accessor :disks
34357
34567
 
34568
+ # External network IPs assigned to the instances that will be preserved on
34569
+ # instance delete, update, etc. This map is keyed with the network interface
34570
+ # name.
34571
+ # Corresponds to the JSON property `externalIPs`
34572
+ # @return [Hash<String,Google::Apis::ComputeBeta::StatefulPolicyPreservedStateNetworkIp>]
34573
+ attr_accessor :external_i_ps
34574
+
34575
+ # Internal network IPs assigned to the instances that will be preserved on
34576
+ # instance delete, update, etc. This map is keyed with the network interface
34577
+ # name.
34578
+ # Corresponds to the JSON property `internalIPs`
34579
+ # @return [Hash<String,Google::Apis::ComputeBeta::StatefulPolicyPreservedStateNetworkIp>]
34580
+ attr_accessor :internal_i_ps
34581
+
34358
34582
  def initialize(**args)
34359
34583
  update!(**args)
34360
34584
  end
@@ -34362,6 +34586,8 @@ module Google
34362
34586
  # Update properties of this object
34363
34587
  def update!(**args)
34364
34588
  @disks = args[:disks] if args.key?(:disks)
34589
+ @external_i_ps = args[:external_i_ps] if args.key?(:external_i_ps)
34590
+ @internal_i_ps = args[:internal_i_ps] if args.key?(:internal_i_ps)
34365
34591
  end
34366
34592
  end
34367
34593
 
@@ -34388,6 +34614,28 @@ module Google
34388
34614
  end
34389
34615
  end
34390
34616
 
34617
+ #
34618
+ class StatefulPolicyPreservedStateNetworkIp
34619
+ include Google::Apis::Core::Hashable
34620
+
34621
+ # These stateful IPs will never be released during autohealing, update or VM
34622
+ # instance recreate operations. This flag is used to configure if the IP
34623
+ # reservation should be deleted after it is no longer used by the group, e.g.
34624
+ # when the given instance or the whole group is deleted.
34625
+ # Corresponds to the JSON property `autoDelete`
34626
+ # @return [String]
34627
+ attr_accessor :auto_delete
34628
+
34629
+ def initialize(**args)
34630
+ update!(**args)
34631
+ end
34632
+
34633
+ # Update properties of this object
34634
+ def update!(**args)
34635
+ @auto_delete = args[:auto_delete] if args.key?(:auto_delete)
34636
+ end
34637
+ end
34638
+
34391
34639
  # Represents a Subnetwork resource. A subnetwork (also known as a subnet) is a
34392
34640
  # logical partition of a Virtual Private Cloud network with one primary IP range
34393
34641
  # and zero or more secondary IP ranges. For more information, read Virtual
@@ -39845,6 +40093,12 @@ module Google
39845
40093
  # @return [String]
39846
40094
  attr_accessor :self_link
39847
40095
 
40096
+ # The stack type for this VPN gateway to identify the IP protocols that are
40097
+ # enabled. If not specified, IPV4_ONLY will be used.
40098
+ # Corresponds to the JSON property `stackType`
40099
+ # @return [String]
40100
+ attr_accessor :stack_type
40101
+
39848
40102
  # The list of VPN interfaces associated with this VPN gateway.
39849
40103
  # Corresponds to the JSON property `vpnInterfaces`
39850
40104
  # @return [Array<Google::Apis::ComputeBeta::VpnGatewayVpnGatewayInterface>]
@@ -39866,6 +40120,7 @@ module Google
39866
40120
  @network = args[:network] if args.key?(:network)
39867
40121
  @region = args[:region] if args.key?(:region)
39868
40122
  @self_link = args[:self_link] if args.key?(:self_link)
40123
+ @stack_type = args[:stack_type] if args.key?(:stack_type)
39869
40124
  @vpn_interfaces = args[:vpn_interfaces] if args.key?(:vpn_interfaces)
39870
40125
  end
39871
40126
  end
@@ -16,13 +16,13 @@ module Google
16
16
  module Apis
17
17
  module ComputeBeta
18
18
  # Version of the google-apis-compute_beta gem
19
- GEM_VERSION = "0.20.0"
19
+ GEM_VERSION = "0.21.0"
20
20
 
21
21
  # Version of the code generator used to generate this client
22
22
  GENERATOR_VERSION = "0.4.0"
23
23
 
24
24
  # Revision of the discovery document this client was generated from
25
- REVISION = "20211025"
25
+ REVISION = "20211130"
26
26
  end
27
27
  end
28
28
  end
@@ -3142,6 +3142,18 @@ module Google
3142
3142
  include Google::Apis::Core::JsonObjectSupport
3143
3143
  end
3144
3144
 
3145
+ class PreservedStatePreservedNetworkIp
3146
+ class Representation < Google::Apis::Core::JsonRepresentation; end
3147
+
3148
+ include Google::Apis::Core::JsonObjectSupport
3149
+ end
3150
+
3151
+ class PreservedStatePreservedNetworkIpIpAddress
3152
+ class Representation < Google::Apis::Core::JsonRepresentation; end
3153
+
3154
+ include Google::Apis::Core::JsonObjectSupport
3155
+ end
3156
+
3145
3157
  class Project
3146
3158
  class Representation < Google::Apis::Core::JsonRepresentation; end
3147
3159
 
@@ -4012,6 +4024,12 @@ module Google
4012
4024
  include Google::Apis::Core::JsonObjectSupport
4013
4025
  end
4014
4026
 
4027
+ class SavedDisk
4028
+ class Representation < Google::Apis::Core::JsonRepresentation; end
4029
+
4030
+ include Google::Apis::Core::JsonObjectSupport
4031
+ end
4032
+
4015
4033
  class ScalingScheduleStatus
4016
4034
  class Representation < Google::Apis::Core::JsonRepresentation; end
4017
4035
 
@@ -4096,6 +4114,12 @@ module Google
4096
4114
  include Google::Apis::Core::JsonObjectSupport
4097
4115
  end
4098
4116
 
4117
+ class SecurityPolicyRecaptchaOptionsConfig
4118
+ class Representation < Google::Apis::Core::JsonRepresentation; end
4119
+
4120
+ include Google::Apis::Core::JsonObjectSupport
4121
+ end
4122
+
4099
4123
  class SecurityPolicyReference
4100
4124
  class Representation < Google::Apis::Core::JsonRepresentation; end
4101
4125
 
@@ -4498,6 +4522,12 @@ module Google
4498
4522
  include Google::Apis::Core::JsonObjectSupport
4499
4523
  end
4500
4524
 
4525
+ class StatefulPolicyPreservedStateNetworkIp
4526
+ class Representation < Google::Apis::Core::JsonRepresentation; end
4527
+
4528
+ include Google::Apis::Core::JsonObjectSupport
4529
+ end
4530
+
4501
4531
  class Subnetwork
4502
4532
  class Representation < Google::Apis::Core::JsonRepresentation; end
4503
4533
 
@@ -6541,6 +6571,7 @@ module Google
6541
6571
  class Commitment
6542
6572
  # @private
6543
6573
  class Representation < Google::Apis::Core::JsonRepresentation
6574
+ property :auto_renew, as: 'autoRenew'
6544
6575
  property :category, as: 'category'
6545
6576
  property :creation_timestamp, as: 'creationTimestamp'
6546
6577
  property :description, as: 'description'
@@ -9808,11 +9839,15 @@ module Google
9808
9839
  property :description, as: 'description'
9809
9840
  property :guest_flush, as: 'guestFlush'
9810
9841
  property :id, :numeric_string => true, as: 'id'
9842
+ property :instance_properties, as: 'instanceProperties', class: Google::Apis::ComputeBeta::InstanceProperties, decorator: Google::Apis::ComputeBeta::InstanceProperties::Representation
9843
+
9811
9844
  property :kind, as: 'kind'
9812
9845
  property :machine_image_encryption_key, as: 'machineImageEncryptionKey', class: Google::Apis::ComputeBeta::CustomerEncryptionKey, decorator: Google::Apis::ComputeBeta::CustomerEncryptionKey::Representation
9813
9846
 
9814
9847
  property :name, as: 'name'
9815
9848
  property :satisfies_pzs, as: 'satisfiesPzs'
9849
+ collection :saved_disks, as: 'savedDisks', class: Google::Apis::ComputeBeta::SavedDisk, decorator: Google::Apis::ComputeBeta::SavedDisk::Representation
9850
+
9816
9851
  property :self_link, as: 'selfLink'
9817
9852
  collection :source_disk_encryption_keys, as: 'sourceDiskEncryptionKeys', class: Google::Apis::ComputeBeta::SourceDiskEncryptionKey, decorator: Google::Apis::ComputeBeta::SourceDiskEncryptionKey::Representation
9818
9853
 
@@ -11447,6 +11482,10 @@ module Google
11447
11482
  class Representation < Google::Apis::Core::JsonRepresentation
11448
11483
  hash :disks, as: 'disks', class: Google::Apis::ComputeBeta::PreservedStatePreservedDisk, decorator: Google::Apis::ComputeBeta::PreservedStatePreservedDisk::Representation
11449
11484
 
11485
+ hash :external_i_ps, as: 'externalIPs', class: Google::Apis::ComputeBeta::PreservedStatePreservedNetworkIp, decorator: Google::Apis::ComputeBeta::PreservedStatePreservedNetworkIp::Representation
11486
+
11487
+ hash :internal_i_ps, as: 'internalIPs', class: Google::Apis::ComputeBeta::PreservedStatePreservedNetworkIp, decorator: Google::Apis::ComputeBeta::PreservedStatePreservedNetworkIp::Representation
11488
+
11450
11489
  hash :metadata, as: 'metadata'
11451
11490
  end
11452
11491
  end
@@ -11460,6 +11499,23 @@ module Google
11460
11499
  end
11461
11500
  end
11462
11501
 
11502
+ class PreservedStatePreservedNetworkIp
11503
+ # @private
11504
+ class Representation < Google::Apis::Core::JsonRepresentation
11505
+ property :auto_delete, as: 'autoDelete'
11506
+ property :ip_address, as: 'ipAddress', class: Google::Apis::ComputeBeta::PreservedStatePreservedNetworkIpIpAddress, decorator: Google::Apis::ComputeBeta::PreservedStatePreservedNetworkIpIpAddress::Representation
11507
+
11508
+ end
11509
+ end
11510
+
11511
+ class PreservedStatePreservedNetworkIpIpAddress
11512
+ # @private
11513
+ class Representation < Google::Apis::Core::JsonRepresentation
11514
+ property :address, as: 'address'
11515
+ property :literal, as: 'literal'
11516
+ end
11517
+ end
11518
+
11463
11519
  class Project
11464
11520
  # @private
11465
11521
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -12736,12 +12792,15 @@ module Google
12736
12792
  property :bfd, as: 'bfd', class: Google::Apis::ComputeBeta::RouterBgpPeerBfd, decorator: Google::Apis::ComputeBeta::RouterBgpPeerBfd::Representation
12737
12793
 
12738
12794
  property :enable, as: 'enable'
12795
+ property :enable_ipv6, as: 'enableIpv6'
12739
12796
  property :interface_name, as: 'interfaceName'
12740
12797
  property :ip_address, as: 'ipAddress'
12798
+ property :ipv6_nexthop_address, as: 'ipv6NexthopAddress'
12741
12799
  property :management_type, as: 'managementType'
12742
12800
  property :name, as: 'name'
12743
12801
  property :peer_asn, as: 'peerAsn'
12744
12802
  property :peer_ip_address, as: 'peerIpAddress'
12803
+ property :peer_ipv6_nexthop_address, as: 'peerIpv6NexthopAddress'
12745
12804
  property :router_appliance_instance, as: 'routerApplianceInstance'
12746
12805
  end
12747
12806
  end
@@ -13022,6 +13081,16 @@ module Google
13022
13081
  end
13023
13082
  end
13024
13083
 
13084
+ class SavedDisk
13085
+ # @private
13086
+ class Representation < Google::Apis::Core::JsonRepresentation
13087
+ property :kind, as: 'kind'
13088
+ property :source_disk, as: 'sourceDisk'
13089
+ property :storage_bytes, :numeric_string => true, as: 'storageBytes'
13090
+ property :storage_bytes_status, as: 'storageBytesStatus'
13091
+ end
13092
+ end
13093
+
13025
13094
  class ScalingScheduleStatus
13026
13095
  # @private
13027
13096
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -13101,6 +13170,8 @@ module Google
13101
13170
  hash :labels, as: 'labels'
13102
13171
  property :name, as: 'name'
13103
13172
  property :parent, as: 'parent'
13173
+ property :recaptcha_options_config, as: 'recaptchaOptionsConfig', class: Google::Apis::ComputeBeta::SecurityPolicyRecaptchaOptionsConfig, decorator: Google::Apis::ComputeBeta::SecurityPolicyRecaptchaOptionsConfig::Representation
13174
+
13104
13175
  property :rule_tuple_count, as: 'ruleTupleCount'
13105
13176
  collection :rules, as: 'rules', class: Google::Apis::ComputeBeta::SecurityPolicyRule, decorator: Google::Apis::ComputeBeta::SecurityPolicyRule::Representation
13106
13177
 
@@ -13175,6 +13246,13 @@ module Google
13175
13246
  end
13176
13247
  end
13177
13248
 
13249
+ class SecurityPolicyRecaptchaOptionsConfig
13250
+ # @private
13251
+ class Representation < Google::Apis::Core::JsonRepresentation
13252
+ property :redirect_site_key, as: 'redirectSiteKey'
13253
+ end
13254
+ end
13255
+
13178
13256
  class SecurityPolicyReference
13179
13257
  # @private
13180
13258
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -13262,6 +13340,8 @@ module Google
13262
13340
  property :enforce_on_key, as: 'enforceOnKey'
13263
13341
  property :enforce_on_key_name, as: 'enforceOnKeyName'
13264
13342
  property :exceed_action, as: 'exceedAction'
13343
+ property :exceed_redirect_options, as: 'exceedRedirectOptions', class: Google::Apis::ComputeBeta::SecurityPolicyRuleRedirectOptions, decorator: Google::Apis::ComputeBeta::SecurityPolicyRuleRedirectOptions::Representation
13344
+
13265
13345
  property :rate_limit_threshold, as: 'rateLimitThreshold', class: Google::Apis::ComputeBeta::SecurityPolicyRuleRateLimitOptionsThreshold, decorator: Google::Apis::ComputeBeta::SecurityPolicyRuleRateLimitOptionsThreshold::Representation
13266
13346
 
13267
13347
  end
@@ -13887,6 +13967,10 @@ module Google
13887
13967
  class Representation < Google::Apis::Core::JsonRepresentation
13888
13968
  hash :disks, as: 'disks', class: Google::Apis::ComputeBeta::StatefulPolicyPreservedStateDiskDevice, decorator: Google::Apis::ComputeBeta::StatefulPolicyPreservedStateDiskDevice::Representation
13889
13969
 
13970
+ hash :external_i_ps, as: 'externalIPs', class: Google::Apis::ComputeBeta::StatefulPolicyPreservedStateNetworkIp, decorator: Google::Apis::ComputeBeta::StatefulPolicyPreservedStateNetworkIp::Representation
13971
+
13972
+ hash :internal_i_ps, as: 'internalIPs', class: Google::Apis::ComputeBeta::StatefulPolicyPreservedStateNetworkIp, decorator: Google::Apis::ComputeBeta::StatefulPolicyPreservedStateNetworkIp::Representation
13973
+
13890
13974
  end
13891
13975
  end
13892
13976
 
@@ -13897,6 +13981,13 @@ module Google
13897
13981
  end
13898
13982
  end
13899
13983
 
13984
+ class StatefulPolicyPreservedStateNetworkIp
13985
+ # @private
13986
+ class Representation < Google::Apis::Core::JsonRepresentation
13987
+ property :auto_delete, as: 'autoDelete'
13988
+ end
13989
+ end
13990
+
13900
13991
  class Subnetwork
13901
13992
  # @private
13902
13993
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -15247,6 +15338,7 @@ module Google
15247
15338
  property :network, as: 'network'
15248
15339
  property :region, as: 'region'
15249
15340
  property :self_link, as: 'selfLink'
15341
+ property :stack_type, as: 'stackType'
15250
15342
  collection :vpn_interfaces, as: 'vpnInterfaces', class: Google::Apis::ComputeBeta::VpnGatewayVpnGatewayInterface, decorator: Google::Apis::ComputeBeta::VpnGatewayVpnGatewayInterface::Representation
15251
15343
 
15252
15344
  end
@@ -19664,7 +19664,13 @@ module Google
19664
19664
  execute_or_queue_command(command, &block)
19665
19665
  end
19666
19666
 
19667
- # Returns the specified Project resource.
19667
+ # Returns the specified Project resource. To decrease latency for this method,
19668
+ # you can optionally omit any unneeded information from the response by using a
19669
+ # field mask. This practice is especially recommended for unused quota
19670
+ # information (the `quotas` field). To exclude one or more fields, set your
19671
+ # request's `fields` query parameter to only include the fields you need. For
19672
+ # example, to only include the `id` and `selfLink` fields, add the query
19673
+ # parameter `?fields=id,selfLink` to your request.
19668
19674
  # @param [String] project
19669
19675
  # Project ID for this request.
19670
19676
  # @param [String] fields
@@ -19936,7 +19942,12 @@ module Google
19936
19942
  execute_or_queue_command(command, &block)
19937
19943
  end
19938
19944
 
19939
- # Moves an instance and its attached persistent disks from one zone to another.
19945
+ # Moves an instance and its attached persistent disks from one zone to another. *
19946
+ # Note*: Moving VMs or disks by using this method might cause unexpected
19947
+ # behavior. For more information, see the [known issue](/compute/docs/
19948
+ # troubleshooting/known-issues#
19949
+ # ving_vms_or_disks_using_the_moveinstance_api_or_the_causes_unexpected_behavior)
19950
+ # .
19940
19951
  # @param [String] project
19941
19952
  # Project ID for this request.
19942
19953
  # @param [Google::Apis::ComputeBeta::MoveInstanceRequest] move_instance_request_object
@@ -21926,6 +21937,66 @@ module Google
21926
21937
  execute_or_queue_command(command, &block)
21927
21938
  end
21928
21939
 
21940
+ # Updates the specified commitment with the data included in the request. Update
21941
+ # is performed only on selected fields included as part of update-mask. Only the
21942
+ # following fields can be modified: auto_renew.
21943
+ # @param [String] project
21944
+ # Project ID for this request.
21945
+ # @param [String] region
21946
+ # Name of the region for this request.
21947
+ # @param [String] commitment
21948
+ # Name of the commitment for which auto renew is being updated.
21949
+ # @param [Google::Apis::ComputeBeta::Commitment] commitment_object
21950
+ # @param [Array<String>, String] paths
21951
+ # @param [String] request_id
21952
+ # An optional request ID to identify requests. Specify a unique request ID so
21953
+ # that if you must retry your request, the server will know to ignore the
21954
+ # request if it has already been completed. For example, consider a situation
21955
+ # where you make an initial request and the request times out. If you make the
21956
+ # request again with the same request ID, the server can check if original
21957
+ # operation with the same request ID was received, and if so, will ignore the
21958
+ # second request. This prevents clients from accidentally creating duplicate
21959
+ # commitments. The request ID must be a valid UUID with the exception that zero
21960
+ # UUID is not supported ( 00000000-0000-0000-0000-000000000000).
21961
+ # @param [String] update_mask
21962
+ # update_mask indicates fields to be updated as part of this request.
21963
+ # @param [String] fields
21964
+ # Selector specifying which fields to include in a partial response.
21965
+ # @param [String] quota_user
21966
+ # Available to use for quota purposes for server-side applications. Can be any
21967
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
21968
+ # @param [String] user_ip
21969
+ # Legacy name for parameter that has been superseded by `quotaUser`.
21970
+ # @param [Google::Apis::RequestOptions] options
21971
+ # Request-specific options
21972
+ #
21973
+ # @yield [result, err] Result & error if block supplied
21974
+ # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object
21975
+ # @yieldparam err [StandardError] error object if request failed
21976
+ #
21977
+ # @return [Google::Apis::ComputeBeta::Operation]
21978
+ #
21979
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
21980
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
21981
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
21982
+ def update_region_commitment(project, region, commitment, commitment_object = nil, paths: nil, request_id: nil, update_mask: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
21983
+ command = make_simple_command(:patch, 'projects/{project}/regions/{region}/commitments/{commitment}', options)
21984
+ command.request_representation = Google::Apis::ComputeBeta::Commitment::Representation
21985
+ command.request_object = commitment_object
21986
+ command.response_representation = Google::Apis::ComputeBeta::Operation::Representation
21987
+ command.response_class = Google::Apis::ComputeBeta::Operation
21988
+ command.params['project'] = project unless project.nil?
21989
+ command.params['region'] = region unless region.nil?
21990
+ command.params['commitment'] = commitment unless commitment.nil?
21991
+ command.query['paths'] = paths unless paths.nil?
21992
+ command.query['requestId'] = request_id unless request_id.nil?
21993
+ command.query['updateMask'] = update_mask unless update_mask.nil?
21994
+ command.query['fields'] = fields unless fields.nil?
21995
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
21996
+ command.query['userIp'] = user_ip unless user_ip.nil?
21997
+ execute_or_queue_command(command, &block)
21998
+ end
21999
+
21929
22000
  # Transfers GPUs or local SSDs between reservations within commitments.
21930
22001
  # @param [String] project
21931
22002
  # Project ID for this request.
@@ -27288,7 +27359,13 @@ module Google
27288
27359
  end
27289
27360
 
27290
27361
  # Returns the specified Region resource. Gets a list of available regions by
27291
- # making a list() request.
27362
+ # making a list() request. To decrease latency for this method, you can
27363
+ # optionally omit any unneeded information from the response by using a field
27364
+ # mask. This practice is especially recommended for unused quota information (
27365
+ # the `quotas` field). To exclude one or more fields, set your request's `fields`
27366
+ # query parameter to only include the fields you need. For example, to only
27367
+ # include the `id` and `selfLink` fields, add the query parameter `?fields=id,
27368
+ # selfLink` to your request.
27292
27369
  # @param [String] project
27293
27370
  # Project ID for this request.
27294
27371
  # @param [String] region
@@ -27324,7 +27401,14 @@ module Google
27324
27401
  execute_or_queue_command(command, &block)
27325
27402
  end
27326
27403
 
27327
- # Retrieves the list of region resources available to the specified project.
27404
+ # Retrieves the list of region resources available to the specified project. To
27405
+ # decrease latency for this method, you can optionally omit any unneeded
27406
+ # information from the response by using a field mask. This practice is
27407
+ # especially recommended for unused quota information (the `items.quotas` field).
27408
+ # To exclude one or more fields, set your request's `fields` query parameter to
27409
+ # only include the fields you need. For example, to only include the `id` and `
27410
+ # selfLink` fields, add the query parameter `?fields=id,selfLink` to your
27411
+ # request.
27328
27412
  # @param [String] project
27329
27413
  # Project ID for this request.
27330
27414
  # @param [String] filter
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-apis-compute_beta
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.20.0
4
+ version: 0.21.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-11-15 00:00:00.000000000 Z
11
+ date: 2021-12-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: google-apis-core
@@ -58,7 +58,7 @@ licenses:
58
58
  metadata:
59
59
  bug_tracker_uri: https://github.com/googleapis/google-api-ruby-client/issues
60
60
  changelog_uri: https://github.com/googleapis/google-api-ruby-client/tree/main/generated/google-apis-compute_beta/CHANGELOG.md
61
- documentation_uri: https://googleapis.dev/ruby/google-apis-compute_beta/v0.20.0
61
+ documentation_uri: https://googleapis.dev/ruby/google-apis-compute_beta/v0.21.0
62
62
  source_code_uri: https://github.com/googleapis/google-api-ruby-client/tree/main/generated/google-apis-compute_beta
63
63
  post_install_message:
64
64
  rdoc_options: []