google-apis-compute_alpha 0.20.0 → 0.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -470,15 +470,15 @@ module Google
470
470
  class AccessConfig
471
471
  include Google::Apis::Core::Hashable
472
472
 
473
- # [Output Only] The first IPv6 address of the external IPv6 range associated
474
- # with this instance, prefix length is stored in externalIpv6PrefixLength in
473
+ # The first IPv6 address of the external IPv6 range associated with this
474
+ # instance, prefix length is stored in externalIpv6PrefixLength in
475
475
  # ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork
476
476
  # associated with the instance will be allocated dynamically.
477
477
  # Corresponds to the JSON property `externalIpv6`
478
478
  # @return [String]
479
479
  attr_accessor :external_ipv6
480
480
 
481
- # [Output Only] The prefix length of the external IPv6 range.
481
+ # The prefix length of the external IPv6 range.
482
482
  # Corresponds to the JSON property `externalIpv6PrefixLength`
483
483
  # @return [Fixnum]
484
484
  attr_accessor :external_ipv6_prefix_length
@@ -672,14 +672,14 @@ module Google
672
672
  # regional internal IP address in a subnet of a VPC network) - VPC_PEERING for
673
673
  # global internal IP addresses used for private services access allocated ranges.
674
674
  # - NAT_AUTO for the regional external IP addresses used by Cloud NAT when
675
- # allocating addresses using . - IPSEC_INTERCONNECT for addresses created from a
676
- # private IP range that are reserved for a VLAN attachment in an *IPsec-
677
- # encrypted Cloud Interconnect* configuration. These addresses are regional
678
- # resources. Not currently available publicly. - `SHARED_LOADBALANCER_VIP` for
679
- # an internal IP address that is assigned to multiple internal forwarding rules.
680
- # - `PRIVATE_SERVICE_CONNECT` for a private network address that is used to
681
- # configure Private Service Connect. Only global internal addresses can use this
682
- # purpose.
675
+ # allocating addresses using automatic NAT IP address allocation. -
676
+ # IPSEC_INTERCONNECT for addresses created from a private IP range that are
677
+ # reserved for a VLAN attachment in an *IPsec-encrypted Cloud Interconnect*
678
+ # configuration. These addresses are regional resources. Not currently available
679
+ # publicly. - `SHARED_LOADBALANCER_VIP` for an internal IP address that is
680
+ # assigned to multiple internal forwarding rules. - `PRIVATE_SERVICE_CONNECT`
681
+ # for a private network address that is used to configure Private Service
682
+ # Connect. Only global internal addresses can use this purpose.
683
683
  # Corresponds to the JSON property `purpose`
684
684
  # @return [String]
685
685
  attr_accessor :purpose
@@ -1431,7 +1431,8 @@ module Google
1431
1431
  # initializeParams.sourceSnapshot or disks.source is required except for local
1432
1432
  # SSD. If desired, you can also attach existing non-root persistent disks using
1433
1433
  # this property. This field is only applicable for persistent disks. Note that
1434
- # for InstanceTemplate, specify the disk name, not the URL for the disk.
1434
+ # for InstanceTemplate, specify the disk name for zonal disk, and the URL for
1435
+ # regional disk.
1435
1436
  # Corresponds to the JSON property `source`
1436
1437
  # @return [String]
1437
1438
  attr_accessor :source
@@ -1613,6 +1614,17 @@ module Google
1613
1614
  # @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey]
1614
1615
  attr_accessor :source_image_encryption_key
1615
1616
 
1617
+ # The source instant-snapshot to create this disk. When creating a new instance,
1618
+ # one of initializeParams.sourceSnapshot or initializeParams.
1619
+ # sourceInstantSnapshot initializeParams.sourceImage or disks.source is required
1620
+ # except for local SSD. To create a disk with a snapshot that you created,
1621
+ # specify the snapshot name in the following format: us-central1-a/
1622
+ # instantSnapshots/my-backup If the source instant-snapshot is deleted later,
1623
+ # this field will not be set.
1624
+ # Corresponds to the JSON property `sourceInstantSnapshot`
1625
+ # @return [String]
1626
+ attr_accessor :source_instant_snapshot
1627
+
1616
1628
  # The source snapshot to create this disk. When creating a new instance, one of
1617
1629
  # initializeParams.sourceSnapshot or initializeParams.sourceImage or disks.
1618
1630
  # source is required except for local SSD. To create a disk with a snapshot that
@@ -1651,6 +1663,7 @@ module Google
1651
1663
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
1652
1664
  @source_image = args[:source_image] if args.key?(:source_image)
1653
1665
  @source_image_encryption_key = args[:source_image_encryption_key] if args.key?(:source_image_encryption_key)
1666
+ @source_instant_snapshot = args[:source_instant_snapshot] if args.key?(:source_instant_snapshot)
1654
1667
  @source_snapshot = args[:source_snapshot] if args.key?(:source_snapshot)
1655
1668
  @source_snapshot_encryption_key = args[:source_snapshot_encryption_key] if args.key?(:source_snapshot_encryption_key)
1656
1669
  end
@@ -3377,14 +3390,14 @@ module Google
3377
3390
 
3378
3391
  # For load balancers that have configurable failover: [Internal TCP/UDP Load
3379
3392
  # Balancing](https://cloud.google.com/load-balancing/docs/internal/failover-
3380
- # overview) and [external TCP/UDP Load Balancing](/network/networklb-failover-
3381
- # overview). On failover or failback, this field indicates whether connection
3382
- # draining will be honored. Google Cloud has a fixed connection draining timeout
3383
- # of 10 minutes. A setting of true terminates existing TCP connections to the
3384
- # active pool during failover and failback, immediately draining traffic. A
3385
- # setting of false allows existing TCP connections to persist, even on VMs no
3386
- # longer in the active pool, for up to the duration of the connection draining
3387
- # timeout (10 minutes).
3393
+ # overview) and [external TCP/UDP Load Balancing](https://cloud.google.com/load-
3394
+ # balancing/docs/network/networklb-failover-overview). On failover or failback,
3395
+ # this field indicates whether connection draining will be honored. Google Cloud
3396
+ # has a fixed connection draining timeout of 10 minutes. A setting of true
3397
+ # terminates existing TCP connections to the active pool during failover and
3398
+ # failback, immediately draining traffic. A setting of false allows existing TCP
3399
+ # connections to persist, even on VMs no longer in the active pool, for up to
3400
+ # the duration of the connection draining timeout (10 minutes).
3388
3401
  # Corresponds to the JSON property `failoverPolicy`
3389
3402
  # @return [Google::Apis::ComputeAlpha::BackendServiceFailoverPolicy]
3390
3403
  attr_accessor :failover_policy
@@ -4040,14 +4053,14 @@ module Google
4040
4053
 
4041
4054
  # For load balancers that have configurable failover: [Internal TCP/UDP Load
4042
4055
  # Balancing](https://cloud.google.com/load-balancing/docs/internal/failover-
4043
- # overview) and [external TCP/UDP Load Balancing](/network/networklb-failover-
4044
- # overview). On failover or failback, this field indicates whether connection
4045
- # draining will be honored. Google Cloud has a fixed connection draining timeout
4046
- # of 10 minutes. A setting of true terminates existing TCP connections to the
4047
- # active pool during failover and failback, immediately draining traffic. A
4048
- # setting of false allows existing TCP connections to persist, even on VMs no
4049
- # longer in the active pool, for up to the duration of the connection draining
4050
- # timeout (10 minutes).
4056
+ # overview) and [external TCP/UDP Load Balancing](https://cloud.google.com/load-
4057
+ # balancing/docs/network/networklb-failover-overview). On failover or failback,
4058
+ # this field indicates whether connection draining will be honored. Google Cloud
4059
+ # has a fixed connection draining timeout of 10 minutes. A setting of true
4060
+ # terminates existing TCP connections to the active pool during failover and
4061
+ # failback, immediately draining traffic. A setting of false allows existing TCP
4062
+ # connections to persist, even on VMs no longer in the active pool, for up to
4063
+ # the duration of the connection draining timeout (10 minutes).
4051
4064
  class BackendServiceFailoverPolicy
4052
4065
  include Google::Apis::Core::Hashable
4053
4066
 
@@ -4062,8 +4075,9 @@ module Google
4062
4075
  # distributed among all primary VMs when all primary and all backup backend VMs
4063
4076
  # are unhealthy. For load balancers that have configurable failover: [Internal
4064
4077
  # TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/internal/
4065
- # failover-overview) and [external TCP/UDP Load Balancing](/network/networklb-
4066
- # failover-overview). The default is false.
4078
+ # failover-overview) and [external TCP/UDP Load Balancing](https://cloud.google.
4079
+ # com/load-balancing/docs/network/networklb-failover-overview). The default is
4080
+ # false.
4067
4081
  # Corresponds to the JSON property `dropTrafficIfUnhealthy`
4068
4082
  # @return [Boolean]
4069
4083
  attr_accessor :drop_traffic_if_unhealthy
@@ -4075,7 +4089,8 @@ module Google
4075
4089
  # the total number of healthy primary VMs is less than this ratio. For load
4076
4090
  # balancers that have configurable failover: [Internal TCP/UDP Load Balancing](
4077
4091
  # https://cloud.google.com/load-balancing/docs/internal/failover-overview) and [
4078
- # external TCP/UDP Load Balancing](/network/networklb-failover-overview).
4092
+ # external TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/
4093
+ # network/networklb-failover-overview).
4079
4094
  # Corresponds to the JSON property `failoverRatio`
4080
4095
  # @return [Float]
4081
4096
  attr_accessor :failover_ratio
@@ -5243,6 +5258,11 @@ module Google
5243
5258
  # @return [Google::Apis::ComputeAlpha::LicenseResourceCommitment]
5244
5259
  attr_accessor :license_resource
5245
5260
 
5261
+ # List of source commitments to be merged into a new commitment.
5262
+ # Corresponds to the JSON property `mergeSourceCommitments`
5263
+ # @return [Array<String>]
5264
+ attr_accessor :merge_source_commitments
5265
+
5246
5266
  # Name of the resource. Provided by the client when the resource is created. The
5247
5267
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
5248
5268
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
@@ -5286,6 +5306,11 @@ module Google
5286
5306
  # @return [String]
5287
5307
  attr_accessor :self_link_with_id
5288
5308
 
5309
+ # Source commitment to be splitted into a new commitment.
5310
+ # Corresponds to the JSON property `splitSourceCommitment`
5311
+ # @return [String]
5312
+ attr_accessor :split_source_commitment
5313
+
5289
5314
  # [Output Only] Commitment start time in RFC3339 text format.
5290
5315
  # Corresponds to the JSON property `startTimestamp`
5291
5316
  # @return [String]
@@ -5325,6 +5350,7 @@ module Google
5325
5350
  @id = args[:id] if args.key?(:id)
5326
5351
  @kind = args[:kind] if args.key?(:kind)
5327
5352
  @license_resource = args[:license_resource] if args.key?(:license_resource)
5353
+ @merge_source_commitments = args[:merge_source_commitments] if args.key?(:merge_source_commitments)
5328
5354
  @name = args[:name] if args.key?(:name)
5329
5355
  @plan = args[:plan] if args.key?(:plan)
5330
5356
  @region = args[:region] if args.key?(:region)
@@ -5332,6 +5358,7 @@ module Google
5332
5358
  @resources = args[:resources] if args.key?(:resources)
5333
5359
  @self_link = args[:self_link] if args.key?(:self_link)
5334
5360
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
5361
+ @split_source_commitment = args[:split_source_commitment] if args.key?(:split_source_commitment)
5335
5362
  @start_timestamp = args[:start_timestamp] if args.key?(:start_timestamp)
5336
5363
  @status = args[:status] if args.key?(:status)
5337
5364
  @status_message = args[:status_message] if args.key?(:status_message)
@@ -8517,6 +8544,17 @@ module Google
8517
8544
  # @return [String]
8518
8545
  attr_accessor :short_name
8519
8546
 
8547
+ # The scope of networks allowed to be associated with the firewall policy. This
8548
+ # field can be either GLOBAL_VPC_NETWORK or REGIONAL_VPC_NETWORK. A firewall
8549
+ # policy with the VPC scope set to GLOBAL_VPC_NETWORK is allowed to be attached
8550
+ # only to global networks. When the VPC scope is set to REGIONAL_VPC_NETWORK the
8551
+ # firewall policy is allowed to be attached only to regional networks in the
8552
+ # same scope as the firewall policy. Note: if not specified then
8553
+ # GLOBAL_VPC_NETWORK will be used.
8554
+ # Corresponds to the JSON property `vpcNetworkScope`
8555
+ # @return [String]
8556
+ attr_accessor :vpc_network_scope
8557
+
8520
8558
  def initialize(**args)
8521
8559
  update!(**args)
8522
8560
  end
@@ -8538,6 +8576,7 @@ module Google
8538
8576
  @self_link = args[:self_link] if args.key?(:self_link)
8539
8577
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
8540
8578
  @short_name = args[:short_name] if args.key?(:short_name)
8579
+ @vpc_network_scope = args[:vpc_network_scope] if args.key?(:vpc_network_scope)
8541
8580
  end
8542
8581
  end
8543
8582
 
@@ -8818,12 +8857,26 @@ module Google
8818
8857
  # @return [Array<String>]
8819
8858
  attr_accessor :dest_address_groups
8820
8859
 
8860
+ # Fully Qualified Domain Name (FQDN) which should be matched against traffic
8861
+ # destination. Maximum number of destination fqdn allowed is 1000.
8862
+ # Corresponds to the JSON property `destFqdns`
8863
+ # @return [Array<String>]
8864
+ attr_accessor :dest_fqdns
8865
+
8821
8866
  # CIDR IP address range. Maximum number of destination CIDR IP ranges allowed is
8822
8867
  # 5000.
8823
8868
  # Corresponds to the JSON property `destIpRanges`
8824
8869
  # @return [Array<String>]
8825
8870
  attr_accessor :dest_ip_ranges
8826
8871
 
8872
+ # Region codes whose IP addresses will be used to match for destination of
8873
+ # traffic. Should be specified as 2 letter country code defined as per ISO 3166
8874
+ # alpha-2 country codes. ex."US" Maximum number of dest region codes allowed is
8875
+ # 5000.
8876
+ # Corresponds to the JSON property `destRegionCodes`
8877
+ # @return [Array<String>]
8878
+ attr_accessor :dest_region_codes
8879
+
8827
8880
  # Pairs of IP protocols and ports that the rule should match.
8828
8881
  # Corresponds to the JSON property `layer4Configs`
8829
8882
  # @return [Array<Google::Apis::ComputeAlpha::FirewallPolicyRuleMatcherLayer4Config>]
@@ -8835,11 +8888,24 @@ module Google
8835
8888
  # @return [Array<String>]
8836
8889
  attr_accessor :src_address_groups
8837
8890
 
8891
+ # Fully Qualified Domain Name (FQDN) which should be matched against traffic
8892
+ # source. Maximum number of source fqdn allowed is 1000.
8893
+ # Corresponds to the JSON property `srcFqdns`
8894
+ # @return [Array<String>]
8895
+ attr_accessor :src_fqdns
8896
+
8838
8897
  # CIDR IP address range. Maximum number of source CIDR IP ranges allowed is 5000.
8839
8898
  # Corresponds to the JSON property `srcIpRanges`
8840
8899
  # @return [Array<String>]
8841
8900
  attr_accessor :src_ip_ranges
8842
8901
 
8902
+ # Region codes whose IP addresses will be used to match for source of traffic.
8903
+ # Should be specified as 2 letter country code defined as per ISO 3166 alpha-2
8904
+ # country codes. ex."US" Maximum number of source region codes allowed is 5000.
8905
+ # Corresponds to the JSON property `srcRegionCodes`
8906
+ # @return [Array<String>]
8907
+ attr_accessor :src_region_codes
8908
+
8843
8909
  # List of secure tag values, which should be matched at the source of the
8844
8910
  # traffic. For INGRESS rule, if all the srcSecureTag are INEFFECTIVE, and there
8845
8911
  # is no srcIpRange, this rule will be ignored. Maximum number of source tag
@@ -8855,10 +8921,14 @@ module Google
8855
8921
  # Update properties of this object
8856
8922
  def update!(**args)
8857
8923
  @dest_address_groups = args[:dest_address_groups] if args.key?(:dest_address_groups)
8924
+ @dest_fqdns = args[:dest_fqdns] if args.key?(:dest_fqdns)
8858
8925
  @dest_ip_ranges = args[:dest_ip_ranges] if args.key?(:dest_ip_ranges)
8926
+ @dest_region_codes = args[:dest_region_codes] if args.key?(:dest_region_codes)
8859
8927
  @layer4_configs = args[:layer4_configs] if args.key?(:layer4_configs)
8860
8928
  @src_address_groups = args[:src_address_groups] if args.key?(:src_address_groups)
8929
+ @src_fqdns = args[:src_fqdns] if args.key?(:src_fqdns)
8861
8930
  @src_ip_ranges = args[:src_ip_ranges] if args.key?(:src_ip_ranges)
8931
+ @src_region_codes = args[:src_region_codes] if args.key?(:src_region_codes)
8862
8932
  @src_secure_tags = args[:src_secure_tags] if args.key?(:src_secure_tags)
8863
8933
  end
8864
8934
  end
@@ -9017,6 +9087,13 @@ module Google
9017
9087
  attr_accessor :allow_global_access
9018
9088
  alias_method :allow_global_access?, :allow_global_access
9019
9089
 
9090
+ # This is used in PSC consumer ForwardingRule to control whether the PSC
9091
+ # endpoint can be accessed from another region.
9092
+ # Corresponds to the JSON property `allowPscGlobalAccess`
9093
+ # @return [Boolean]
9094
+ attr_accessor :allow_psc_global_access
9095
+ alias_method :allow_psc_global_access?, :allow_psc_global_access
9096
+
9020
9097
  # Identifies the backend service to which the forwarding rule sends traffic.
9021
9098
  # Required for Internal TCP/UDP Load Balancing and Network Load Balancing; must
9022
9099
  # be omitted for all other load balancer types.
@@ -9205,8 +9282,7 @@ module Google
9205
9282
  attr_accessor :self_link_with_id
9206
9283
 
9207
9284
  # Service Directory resources to register this forwarding rule with. Currently,
9208
- # only supports a single Service Directory resource. It is only supported for
9209
- # internal load balancing.
9285
+ # only supports a single Service Directory resource.
9210
9286
  # Corresponds to the JSON property `serviceDirectoryRegistrations`
9211
9287
  # @return [Array<Google::Apis::ComputeAlpha::ForwardingRuleServiceDirectoryRegistration>]
9212
9288
  attr_accessor :service_directory_registrations
@@ -9263,6 +9339,7 @@ module Google
9263
9339
  @ip_protocol = args[:ip_protocol] if args.key?(:ip_protocol)
9264
9340
  @all_ports = args[:all_ports] if args.key?(:all_ports)
9265
9341
  @allow_global_access = args[:allow_global_access] if args.key?(:allow_global_access)
9342
+ @allow_psc_global_access = args[:allow_psc_global_access] if args.key?(:allow_psc_global_access)
9266
9343
  @backend_service = args[:backend_service] if args.key?(:backend_service)
9267
9344
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
9268
9345
  @description = args[:description] if args.key?(:description)
@@ -11001,8 +11078,8 @@ module Google
11001
11078
  attr_accessor :timeout_sec
11002
11079
 
11003
11080
  # Specifies the type of the healthCheck, either TCP, SSL, HTTP, HTTPS or HTTP2.
11004
- # If not specified, the default is TCP. Exactly one of the protocol-specific
11005
- # health check field must be specified, which must match type field.
11081
+ # Exactly one of the protocol-specific health check field must be specified,
11082
+ # which must match type field.
11006
11083
  # Corresponds to the JSON property `type`
11007
11084
  # @return [String]
11008
11085
  attr_accessor :type
@@ -14014,6 +14091,11 @@ module Google
14014
14091
  # @return [Google::Apis::ComputeAlpha::NetworkPerformanceConfig]
14015
14092
  attr_accessor :network_performance_config
14016
14093
 
14094
+ # Additional instance params.
14095
+ # Corresponds to the JSON property `params`
14096
+ # @return [Google::Apis::ComputeAlpha::InstanceParams]
14097
+ attr_accessor :params
14098
+
14017
14099
  # PostKeyRevocationActionType of the instance.
14018
14100
  # Corresponds to the JSON property `postKeyRevocationActionType`
14019
14101
  # @return [String]
@@ -14189,6 +14271,7 @@ module Google
14189
14271
  @name = args[:name] if args.key?(:name)
14190
14272
  @network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces)
14191
14273
  @network_performance_config = args[:network_performance_config] if args.key?(:network_performance_config)
14274
+ @params = args[:params] if args.key?(:params)
14192
14275
  @post_key_revocation_action_type = args[:post_key_revocation_action_type] if args.key?(:post_key_revocation_action_type)
14193
14276
  @preserved_state_size_gb = args[:preserved_state_size_gb] if args.key?(:preserved_state_size_gb)
14194
14277
  @private_ipv6_google_access = args[:private_ipv6_google_access] if args.key?(:private_ipv6_google_access)
@@ -14340,6 +14423,68 @@ module Google
14340
14423
  end
14341
14424
  end
14342
14425
 
14426
+ #
14427
+ class InstanceConsumptionData
14428
+ include Google::Apis::Core::Hashable
14429
+
14430
+ # Resources consumed by the instance.
14431
+ # Corresponds to the JSON property `consumptionInfo`
14432
+ # @return [Google::Apis::ComputeAlpha::InstanceConsumptionInfo]
14433
+ attr_accessor :consumption_info
14434
+
14435
+ # Server-defined URL for the instance.
14436
+ # Corresponds to the JSON property `instance`
14437
+ # @return [String]
14438
+ attr_accessor :instance
14439
+
14440
+ def initialize(**args)
14441
+ update!(**args)
14442
+ end
14443
+
14444
+ # Update properties of this object
14445
+ def update!(**args)
14446
+ @consumption_info = args[:consumption_info] if args.key?(:consumption_info)
14447
+ @instance = args[:instance] if args.key?(:instance)
14448
+ end
14449
+ end
14450
+
14451
+ #
14452
+ class InstanceConsumptionInfo
14453
+ include Google::Apis::Core::Hashable
14454
+
14455
+ # The number of virtual CPUs that are available to the instance.
14456
+ # Corresponds to the JSON property `guestCpus`
14457
+ # @return [Fixnum]
14458
+ attr_accessor :guest_cpus
14459
+
14460
+ # The amount of local SSD storage available to the instance, defined in GiB.
14461
+ # Corresponds to the JSON property `localSsdGb`
14462
+ # @return [Fixnum]
14463
+ attr_accessor :local_ssd_gb
14464
+
14465
+ # The amount of physical memory available to the instance, defined in MiB.
14466
+ # Corresponds to the JSON property `memoryMb`
14467
+ # @return [Fixnum]
14468
+ attr_accessor :memory_mb
14469
+
14470
+ # The minimal guaranteed number of virtual CPUs that are reserved.
14471
+ # Corresponds to the JSON property `minNodeCpus`
14472
+ # @return [Fixnum]
14473
+ attr_accessor :min_node_cpus
14474
+
14475
+ def initialize(**args)
14476
+ update!(**args)
14477
+ end
14478
+
14479
+ # Update properties of this object
14480
+ def update!(**args)
14481
+ @guest_cpus = args[:guest_cpus] if args.key?(:guest_cpus)
14482
+ @local_ssd_gb = args[:local_ssd_gb] if args.key?(:local_ssd_gb)
14483
+ @memory_mb = args[:memory_mb] if args.key?(:memory_mb)
14484
+ @min_node_cpus = args[:min_node_cpus] if args.key?(:min_node_cpus)
14485
+ end
14486
+ end
14487
+
14343
14488
  # Represents an Instance Group resource. Instance Groups can be used to
14344
14489
  # configure a target for load balancing. Instance groups can either be managed
14345
14490
  # or unmanaged. To create managed instance groups, use the instanceGroupManager
@@ -17088,6 +17233,28 @@ module Google
17088
17233
  end
17089
17234
  end
17090
17235
 
17236
+ # Additional instance params.
17237
+ class InstanceParams
17238
+ include Google::Apis::Core::Hashable
17239
+
17240
+ # Resource manager tags to be bound to the instance. Tag keys and values have
17241
+ # the same definition as resource manager tags. Keys must be in the format `
17242
+ # tagKeys/`tag_key_id``, and values are in the format `tagValues/456`. The field
17243
+ # is ignored (both PUT & PATCH) when empty.
17244
+ # Corresponds to the JSON property `resourceManagerTags`
17245
+ # @return [Hash<String,String>]
17246
+ attr_accessor :resource_manager_tags
17247
+
17248
+ def initialize(**args)
17249
+ update!(**args)
17250
+ end
17251
+
17252
+ # Update properties of this object
17253
+ def update!(**args)
17254
+ @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
17255
+ end
17256
+ end
17257
+
17091
17258
  #
17092
17259
  class InstanceProperties
17093
17260
  include Google::Apis::Core::Hashable
@@ -17196,7 +17363,15 @@ module Google
17196
17363
  # @return [Google::Apis::ComputeAlpha::ReservationAffinity]
17197
17364
  attr_accessor :reservation_affinity
17198
17365
 
17199
- # Resource policies (names, not ULRs) applied to instances created from these
17366
+ # Resource manager tags to be bound to the instance. Tag keys and values have
17367
+ # the same definition as resource manager tags. Keys must be in the format `
17368
+ # tagKeys/`tag_key_id``, and values are in the format `tagValues/456`. The field
17369
+ # is ignored (both PUT & PATCH) when empty.
17370
+ # Corresponds to the JSON property `resourceManagerTags`
17371
+ # @return [Hash<String,String>]
17372
+ attr_accessor :resource_manager_tags
17373
+
17374
+ # Resource policies (names, not URLs) applied to instances created from these
17200
17375
  # properties. Note that for MachineImage, this is not supported yet.
17201
17376
  # Corresponds to the JSON property `resourcePolicies`
17202
17377
  # @return [Array<String>]
@@ -17259,6 +17434,7 @@ module Google
17259
17434
  @post_key_revocation_action_type = args[:post_key_revocation_action_type] if args.key?(:post_key_revocation_action_type)
17260
17435
  @private_ipv6_google_access = args[:private_ipv6_google_access] if args.key?(:private_ipv6_google_access)
17261
17436
  @reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
17437
+ @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
17262
17438
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
17263
17439
  @scheduling = args[:scheduling] if args.key?(:scheduling)
17264
17440
  @secure_tags = args[:secure_tags] if args.key?(:secure_tags)
@@ -18064,6 +18240,11 @@ module Google
18064
18240
  # @return [String]
18065
18241
  attr_accessor :region
18066
18242
 
18243
+ # [Output Only] Status information for the instant snapshot resource.
18244
+ # Corresponds to the JSON property `resourceStatus`
18245
+ # @return [Google::Apis::ComputeAlpha::InstantSnapshotResourceStatus]
18246
+ attr_accessor :resource_status
18247
+
18067
18248
  # [Output Only] Reserved for future use.
18068
18249
  # Corresponds to the JSON property `satisfiesPzs`
18069
18250
  # @return [Boolean]
@@ -18129,6 +18310,7 @@ module Google
18129
18310
  @labels = args[:labels] if args.key?(:labels)
18130
18311
  @name = args[:name] if args.key?(:name)
18131
18312
  @region = args[:region] if args.key?(:region)
18313
+ @resource_status = args[:resource_status] if args.key?(:resource_status)
18132
18314
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
18133
18315
  @self_link = args[:self_link] if args.key?(:self_link)
18134
18316
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
@@ -18429,6 +18611,25 @@ module Google
18429
18611
  end
18430
18612
  end
18431
18613
 
18614
+ #
18615
+ class InstantSnapshotResourceStatus
18616
+ include Google::Apis::Core::Hashable
18617
+
18618
+ # [Output Only] The storage size of this instant snapshot.
18619
+ # Corresponds to the JSON property `storageSizeBytes`
18620
+ # @return [Fixnum]
18621
+ attr_accessor :storage_size_bytes
18622
+
18623
+ def initialize(**args)
18624
+ update!(**args)
18625
+ end
18626
+
18627
+ # Update properties of this object
18628
+ def update!(**args)
18629
+ @storage_size_bytes = args[:storage_size_bytes] if args.key?(:storage_size_bytes)
18630
+ end
18631
+ end
18632
+
18432
18633
  #
18433
18634
  class InstantSnapshotsExportRequest
18434
18635
  include Google::Apis::Core::Hashable
@@ -18900,7 +19101,10 @@ module Google
18900
19101
  # @return [String]
18901
19102
  attr_accessor :customer_router_ipv6_interface_id
18902
19103
 
18903
- # [Output Only] Dataplane version for this InterconnectAttachment.
19104
+ # [Output only for types PARTNER and DEDICATED. Not present for PARTNER_PROVIDER.
19105
+ # ] Dataplane version for this InterconnectAttachment. This field is only
19106
+ # present for Dataplane version 2 and higher. Absence of this field in the API
19107
+ # output indicates that the Dataplane is version 1.
18904
19108
  # Corresponds to the JSON property `dataplaneVersion`
18905
19109
  # @return [Fixnum]
18906
19110
  attr_accessor :dataplane_version
@@ -21286,7 +21490,7 @@ module Google
21286
21490
  class LocationPolicyLocation
21287
21491
  include Google::Apis::Core::Hashable
21288
21492
 
21289
- # Preference for a given location: ALLOW or DENY.
21493
+ # Preference for a given location.
21290
21494
  # Corresponds to the JSON property `preference`
21291
21495
  # @return [String]
21292
21496
  attr_accessor :preference
@@ -21536,7 +21740,8 @@ module Google
21536
21740
  # @return [String]
21537
21741
  attr_accessor :source_instance
21538
21742
 
21539
- # [Output Only] Properties of source instance.
21743
+ # DEPRECATED: Please use compute#instanceProperties instead. New properties will
21744
+ # not be added to this field.
21540
21745
  # Corresponds to the JSON property `sourceInstanceProperties`
21541
21746
  # @return [Google::Apis::ComputeAlpha::SourceInstanceProperties]
21542
21747
  attr_accessor :source_instance_properties
@@ -22755,6 +22960,13 @@ module Google
22755
22960
  # @return [Array<Google::Apis::ComputeAlpha::NetworkPeering>]
22756
22961
  attr_accessor :peerings
22757
22962
 
22963
+ # [Output Only] URL of the region where the regional network resides. This field
22964
+ # is not applicable to global network. You must specify this field as part of
22965
+ # the HTTP request URL. It is not settable as a field in the request body.
22966
+ # Corresponds to the JSON property `region`
22967
+ # @return [String]
22968
+ attr_accessor :region
22969
+
22758
22970
  # A routing configuration attached to a network resource. The message includes
22759
22971
  # the list of routers associated with the network, and a flag indicating the
22760
22972
  # type of routing behavior to enforce network-wide.
@@ -22798,6 +23010,7 @@ module Google
22798
23010
  @name = args[:name] if args.key?(:name)
22799
23011
  @network_firewall_policy_enforcement_order = args[:network_firewall_policy_enforcement_order] if args.key?(:network_firewall_policy_enforcement_order)
22800
23012
  @peerings = args[:peerings] if args.key?(:peerings)
23013
+ @region = args[:region] if args.key?(:region)
22801
23014
  @routing_config = args[:routing_config] if args.key?(:routing_config)
22802
23015
  @self_link = args[:self_link] if args.key?(:self_link)
22803
23016
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
@@ -24141,7 +24354,7 @@ module Google
24141
24354
  # @return [String]
24142
24355
  attr_accessor :fingerprint
24143
24356
 
24144
- # [Output Only] The prefix length of the primary internal IPv6 range.
24357
+ # The prefix length of the primary internal IPv6 range.
24145
24358
  # Corresponds to the JSON property `internalIpv6PrefixLength`
24146
24359
  # @return [Fixnum]
24147
24360
  attr_accessor :internal_ipv6_prefix_length
@@ -24160,7 +24373,7 @@ module Google
24160
24373
  # @return [String]
24161
24374
  attr_accessor :ipv6_access_type
24162
24375
 
24163
- # [Output Only] An IPv6 internal network address for this network interface.
24376
+ # An IPv6 internal network address for this network interface.
24164
24377
  # Corresponds to the JSON property `ipv6Address`
24165
24378
  # @return [String]
24166
24379
  attr_accessor :ipv6_address
@@ -25251,6 +25464,11 @@ module Google
25251
25464
  # @return [Array<Google::Apis::ComputeAlpha::AcceleratorConfig>]
25252
25465
  attr_accessor :accelerators
25253
25466
 
25467
+ # Node resources that are reserved by all instances.
25468
+ # Corresponds to the JSON property `consumedResources`
25469
+ # @return [Google::Apis::ComputeAlpha::InstanceConsumptionInfo]
25470
+ attr_accessor :consumed_resources
25471
+
25254
25472
  # CPU overcommit.
25255
25473
  # Corresponds to the JSON property `cpuOvercommitType`
25256
25474
  # @return [String]
@@ -25261,6 +25479,11 @@ module Google
25261
25479
  # @return [Array<Google::Apis::ComputeAlpha::LocalDisk>]
25262
25480
  attr_accessor :disks
25263
25481
 
25482
+ # Instance data that shows consumed resources on the node.
25483
+ # Corresponds to the JSON property `instanceConsumptionData`
25484
+ # @return [Array<Google::Apis::ComputeAlpha::InstanceConsumptionData>]
25485
+ attr_accessor :instance_consumption_data
25486
+
25264
25487
  # Instances scheduled on this node.
25265
25488
  # Corresponds to the JSON property `instances`
25266
25489
  # @return [Array<String>]
@@ -25297,6 +25520,11 @@ module Google
25297
25520
  # @return [String]
25298
25521
  attr_accessor :status
25299
25522
 
25523
+ # Total amount of available resources on the node.
25524
+ # Corresponds to the JSON property `totalResources`
25525
+ # @return [Google::Apis::ComputeAlpha::InstanceConsumptionInfo]
25526
+ attr_accessor :total_resources
25527
+
25300
25528
  def initialize(**args)
25301
25529
  update!(**args)
25302
25530
  end
@@ -25304,8 +25532,10 @@ module Google
25304
25532
  # Update properties of this object
25305
25533
  def update!(**args)
25306
25534
  @accelerators = args[:accelerators] if args.key?(:accelerators)
25535
+ @consumed_resources = args[:consumed_resources] if args.key?(:consumed_resources)
25307
25536
  @cpu_overcommit_type = args[:cpu_overcommit_type] if args.key?(:cpu_overcommit_type)
25308
25537
  @disks = args[:disks] if args.key?(:disks)
25538
+ @instance_consumption_data = args[:instance_consumption_data] if args.key?(:instance_consumption_data)
25309
25539
  @instances = args[:instances] if args.key?(:instances)
25310
25540
  @name = args[:name] if args.key?(:name)
25311
25541
  @node_type = args[:node_type] if args.key?(:node_type)
@@ -25313,6 +25543,7 @@ module Google
25313
25543
  @server_binding = args[:server_binding] if args.key?(:server_binding)
25314
25544
  @server_id = args[:server_id] if args.key?(:server_id)
25315
25545
  @status = args[:status] if args.key?(:status)
25546
+ @total_resources = args[:total_resources] if args.key?(:total_resources)
25316
25547
  end
25317
25548
  end
25318
25549
 
@@ -33760,6 +33991,11 @@ module Google
33760
33991
  # @return [Fixnum]
33761
33992
  attr_accessor :priority
33762
33993
 
33994
+ # [Output only] The status of the route.
33995
+ # Corresponds to the JSON property `routeStatus`
33996
+ # @return [String]
33997
+ attr_accessor :route_status
33998
+
33763
33999
  # [Output Only] The type of this route, which can be one of the following values:
33764
34000
  # - 'TRANSIT' for a transit route that this router learned from another Cloud
33765
34001
  # Router and will readvertise to one of its BGP peers - 'SUBNET' for a route
@@ -33815,6 +34051,7 @@ module Google
33815
34051
  @next_hop_peering = args[:next_hop_peering] if args.key?(:next_hop_peering)
33816
34052
  @next_hop_vpn_tunnel = args[:next_hop_vpn_tunnel] if args.key?(:next_hop_vpn_tunnel)
33817
34053
  @priority = args[:priority] if args.key?(:priority)
34054
+ @route_status = args[:route_status] if args.key?(:route_status)
33818
34055
  @route_type = args[:route_type] if args.key?(:route_type)
33819
34056
  @self_link = args[:self_link] if args.key?(:self_link)
33820
34057
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
@@ -34088,6 +34325,11 @@ module Google
34088
34325
  # @return [String]
34089
34326
  attr_accessor :kind
34090
34327
 
34328
+ # Keys used for MD5 authentication.
34329
+ # Corresponds to the JSON property `md5AuthenticationKeys`
34330
+ # @return [Array<Google::Apis::ComputeAlpha::RouterMd5AuthenticationKey>]
34331
+ attr_accessor :md5_authentication_keys
34332
+
34091
34333
  # Name of the resource. Provided by the client when the resource is created. The
34092
34334
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
34093
34335
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
@@ -34139,6 +34381,7 @@ module Google
34139
34381
  @id = args[:id] if args.key?(:id)
34140
34382
  @interfaces = args[:interfaces] if args.key?(:interfaces)
34141
34383
  @kind = args[:kind] if args.key?(:kind)
34384
+ @md5_authentication_keys = args[:md5_authentication_keys] if args.key?(:md5_authentication_keys)
34142
34385
  @name = args[:name] if args.key?(:name)
34143
34386
  @nats = args[:nats] if args.key?(:nats)
34144
34387
  @network = args[:network] if args.key?(:network)
@@ -34435,6 +34678,13 @@ module Google
34435
34678
  # @return [String]
34436
34679
  attr_accessor :management_type
34437
34680
 
34681
+ # Present if MD5 authentication is enabled for the peering. Must be the name of
34682
+ # one of the entries in the Router.md5_authentication_keys. The field must
34683
+ # comply with RFC1035.
34684
+ # Corresponds to the JSON property `md5AuthenticationKeyName`
34685
+ # @return [String]
34686
+ attr_accessor :md5_authentication_key_name
34687
+
34438
34688
  # Name of this BGP peer. The name must be 1-63 characters long, and comply with
34439
34689
  # RFC1035. Specifically, the name must be 1-63 characters long and match the
34440
34690
  # regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first
@@ -34487,6 +34737,7 @@ module Google
34487
34737
  @ip_address = args[:ip_address] if args.key?(:ip_address)
34488
34738
  @ipv6_nexthop_address = args[:ipv6_nexthop_address] if args.key?(:ipv6_nexthop_address)
34489
34739
  @management_type = args[:management_type] if args.key?(:management_type)
34740
+ @md5_authentication_key_name = args[:md5_authentication_key_name] if args.key?(:md5_authentication_key_name)
34490
34741
  @name = args[:name] if args.key?(:name)
34491
34742
  @peer_asn = args[:peer_asn] if args.key?(:peer_asn)
34492
34743
  @peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address)
@@ -34789,6 +35040,35 @@ module Google
34789
35040
  end
34790
35041
  end
34791
35042
 
35043
+ #
35044
+ class RouterMd5AuthenticationKey
35045
+ include Google::Apis::Core::Hashable
35046
+
35047
+ # [Input only] Value of the key. For patch and update calls, it can be skipped
35048
+ # to copy the value from the previous configuration. This is allowed if the key
35049
+ # with the same name existed before the operation. Maximum length is 80
35050
+ # characters. Can only contain printable ASCII characters.
35051
+ # Corresponds to the JSON property `key`
35052
+ # @return [String]
35053
+ attr_accessor :key
35054
+
35055
+ # Name used to identify the key. Must be unique within a router. Must be
35056
+ # referenced by at least one bgpPeer. Must comply with RFC1035.
35057
+ # Corresponds to the JSON property `name`
35058
+ # @return [String]
35059
+ attr_accessor :name
35060
+
35061
+ def initialize(**args)
35062
+ update!(**args)
35063
+ end
35064
+
35065
+ # Update properties of this object
35066
+ def update!(**args)
35067
+ @key = args[:key] if args.key?(:key)
35068
+ @name = args[:name] if args.key?(:name)
35069
+ end
35070
+ end
35071
+
34792
35072
  # Represents a Nat resource. It enables the VMs within the specified subnetworks
34793
35073
  # to access Internet without external IP addresses. It specifies a list of
34794
35074
  # subnetworks (and the ranges within) that want to use NAT. Customers can also
@@ -35188,6 +35468,12 @@ module Google
35188
35468
  # @return [String]
35189
35469
  attr_accessor :linked_vpn_tunnel
35190
35470
 
35471
+ # Informs whether MD5 authentication is enabled on this BGP peer.
35472
+ # Corresponds to the JSON property `md5AuthEnabled`
35473
+ # @return [Boolean]
35474
+ attr_accessor :md5_auth_enabled
35475
+ alias_method :md5_auth_enabled?, :md5_auth_enabled
35476
+
35191
35477
  # Name of this BGP peer. Unique within the Routers resource.
35192
35478
  # Corresponds to the JSON property `name`
35193
35479
  # @return [String]
@@ -35225,6 +35511,11 @@ module Google
35225
35511
  # @return [String]
35226
35512
  attr_accessor :status
35227
35513
 
35514
+ # Indicates why particular status was returned.
35515
+ # Corresponds to the JSON property `statusReason`
35516
+ # @return [String]
35517
+ attr_accessor :status_reason
35518
+
35228
35519
  # Time this session has been up. Format: 14 years, 51 weeks, 6 days, 23 hours,
35229
35520
  # 59 minutes, 59 seconds
35230
35521
  # Corresponds to the JSON property `uptime`
@@ -35248,6 +35539,7 @@ module Google
35248
35539
  @ip_address = args[:ip_address] if args.key?(:ip_address)
35249
35540
  @ipv6_nexthop_address = args[:ipv6_nexthop_address] if args.key?(:ipv6_nexthop_address)
35250
35541
  @linked_vpn_tunnel = args[:linked_vpn_tunnel] if args.key?(:linked_vpn_tunnel)
35542
+ @md5_auth_enabled = args[:md5_auth_enabled] if args.key?(:md5_auth_enabled)
35251
35543
  @name = args[:name] if args.key?(:name)
35252
35544
  @num_learned_routes = args[:num_learned_routes] if args.key?(:num_learned_routes)
35253
35545
  @peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address)
@@ -35255,6 +35547,7 @@ module Google
35255
35547
  @router_appliance_instance = args[:router_appliance_instance] if args.key?(:router_appliance_instance)
35256
35548
  @state = args[:state] if args.key?(:state)
35257
35549
  @status = args[:status] if args.key?(:status)
35550
+ @status_reason = args[:status_reason] if args.key?(:status_reason)
35258
35551
  @uptime = args[:uptime] if args.key?(:uptime)
35259
35552
  @uptime_seconds = args[:uptime_seconds] if args.key?(:uptime_seconds)
35260
35553
  end
@@ -35632,7 +35925,8 @@ module Google
35632
35925
  end
35633
35926
  end
35634
35927
 
35635
- # An instance-attached disk resource.
35928
+ # DEPRECATED: Please use compute#savedDisk instead. An instance-attached disk
35929
+ # resource.
35636
35930
  class SavedAttachedDisk
35637
35931
  include Google::Apis::Core::Hashable
35638
35932
 
@@ -35926,8 +36220,8 @@ module Google
35926
36220
 
35927
36221
  # Defines the maintenance behavior for this instance. For standard instances,
35928
36222
  # the default behavior is MIGRATE. For preemptible instances, the default and
35929
- # only possible behavior is TERMINATE. For more information, see Setting
35930
- # Instance Scheduling Options.
36223
+ # only possible behavior is TERMINATE. For more information, see Set VM
36224
+ # availability policies.
35931
36225
  # Corresponds to the JSON property `onHostMaintenance`
35932
36226
  # @return [String]
35933
36227
  attr_accessor :on_host_maintenance
@@ -36429,6 +36723,11 @@ module Google
36429
36723
  # @return [String]
36430
36724
  attr_accessor :parent
36431
36725
 
36726
+ #
36727
+ # Corresponds to the JSON property `recaptchaOptionsConfig`
36728
+ # @return [Google::Apis::ComputeAlpha::SecurityPolicyRecaptchaOptionsConfig]
36729
+ attr_accessor :recaptcha_options_config
36730
+
36432
36731
  # [Output Only] URL of the region where the regional security policy resides.
36433
36732
  # This field is not applicable to global security policies.
36434
36733
  # Corresponds to the JSON property `region`
@@ -36491,6 +36790,7 @@ module Google
36491
36790
  @labels = args[:labels] if args.key?(:labels)
36492
36791
  @name = args[:name] if args.key?(:name)
36493
36792
  @parent = args[:parent] if args.key?(:parent)
36793
+ @recaptcha_options_config = args[:recaptcha_options_config] if args.key?(:recaptcha_options_config)
36494
36794
  @region = args[:region] if args.key?(:region)
36495
36795
  @rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
36496
36796
  @rules = args[:rules] if args.key?(:rules)
@@ -36771,6 +37071,29 @@ module Google
36771
37071
  end
36772
37072
  end
36773
37073
 
37074
+ #
37075
+ class SecurityPolicyRecaptchaOptionsConfig
37076
+ include Google::Apis::Core::Hashable
37077
+
37078
+ # An optional field to supply a reCAPTCHA site key to be used for all the rules
37079
+ # using the redirect action with the type of GOOGLE_RECAPTCHA under the security
37080
+ # policy. The specified site key needs to be created from the reCAPTCHA API. The
37081
+ # user is responsible for the validity of the specified site key. If not
37082
+ # specified, a Google-managed site key is used.
37083
+ # Corresponds to the JSON property `redirectSiteKey`
37084
+ # @return [String]
37085
+ attr_accessor :redirect_site_key
37086
+
37087
+ def initialize(**args)
37088
+ update!(**args)
37089
+ end
37090
+
37091
+ # Update properties of this object
37092
+ def update!(**args)
37093
+ @redirect_site_key = args[:redirect_site_key] if args.key?(:redirect_site_key)
37094
+ end
37095
+ end
37096
+
36774
37097
  #
36775
37098
  class SecurityPolicyReference
36776
37099
  include Google::Apis::Core::Hashable
@@ -36795,9 +37118,17 @@ module Google
36795
37118
  class SecurityPolicyRule
36796
37119
  include Google::Apis::Core::Hashable
36797
37120
 
36798
- # The Action to perform when the client connection triggers the rule. Can
36799
- # currently be either "allow" or "deny()" where valid values for status are 403,
36800
- # 404, and 502.
37121
+ # The Action to perform when the rule is matched. The following are the valid
37122
+ # actions: - allow: allow access to target. - deny(): deny access to target,
37123
+ # returns the HTTP response code specified (valid values are 403, 404, and 502).
37124
+ # - rate_based_ban: limit client traffic to the configured threshold and ban the
37125
+ # client if the traffic exceeds the threshold. Configure parameters for this
37126
+ # action in RateLimitOptions. Requires rate_limit_options to be set. - redirect:
37127
+ # redirect to a different target. This can either be an internal reCAPTCHA
37128
+ # redirect, or an external URL-based redirect via a 302 response. Parameters for
37129
+ # this action can be configured via redirectOptions. - throttle: limit client
37130
+ # traffic to the configured threshold. Configure parameters for this action in
37131
+ # rateLimitOptions. Requires rate_limit_options to be set for this.
36801
37132
  # Corresponds to the JSON property `action`
36802
37133
  # @return [String]
36803
37134
  attr_accessor :action
@@ -37150,33 +37481,45 @@ module Google
37150
37481
  attr_accessor :conform_action
37151
37482
 
37152
37483
  # Determines the key to enforce the rate_limit_threshold on. Possible values are:
37153
- # "ALL" -- A single rate limit threshold is applied to all the requests
37154
- # matching this rule. This is the default value if this field 'enforce_on_key'
37155
- # is not configured. "ALL_IPS" -- This definition, equivalent to "ALL", has been
37156
- # depprecated. "IP" -- The source IP address of the request is the key. Each IP
37157
- # has this limit enforced separately. "HTTP_HEADER" -- The value of the HTTP
37158
- # header whose name is configured under "enforce_on_key_name". The key value is
37484
+ # - ALL: A single rate limit threshold is applied to all the requests matching
37485
+ # this rule. This is the default value if this field 'enforce_on_key' is not
37486
+ # configured. - IP: The source IP address of the request is the key. Each IP has
37487
+ # this limit enforced separately. - HTTP_HEADER: The value of the HTTP header
37488
+ # whose name is configured under "enforce_on_key_name". The key value is
37159
37489
  # truncated to the first 128 bytes of the header value. If no such header is
37160
- # present in the request, the key type defaults to "ALL". "XFF_IP" -- The first
37161
- # IP address (i.e. the originating client IP address) specified in the list of
37162
- # IPs under X-Forwarded-For HTTP header. If no such header is present or the
37163
- # value is not a valid IP, the key type defaults to "ALL".
37490
+ # present in the request, the key type defaults to ALL. - XFF_IP: The first IP
37491
+ # address (i.e. the originating client IP address) specified in the list of IPs
37492
+ # under X-Forwarded-For HTTP header. If no such header is present or the value
37493
+ # is not a valid IP, the key type defaults to ALL. - HTTP_COOKIE: The value of
37494
+ # the HTTP cookie whose name is configured under "enforce_on_key_name". The key
37495
+ # value is truncated to the first 128 bytes of the cookie value. If no such
37496
+ # cookie is present in the request, the key type defaults to ALL.
37164
37497
  # Corresponds to the JSON property `enforceOnKey`
37165
37498
  # @return [String]
37166
37499
  attr_accessor :enforce_on_key
37167
37500
 
37168
37501
  # Rate limit key name applicable only for the following key types: HTTP_HEADER --
37169
- # Name of the HTTP header whose value is taken as the key value.
37502
+ # Name of the HTTP header whose value is taken as the key value. HTTP_COOKIE --
37503
+ # Name of the HTTP cookie whose value is taken as the key value.
37170
37504
  # Corresponds to the JSON property `enforceOnKeyName`
37171
37505
  # @return [String]
37172
37506
  attr_accessor :enforce_on_key_name
37173
37507
 
37174
- # When a request is denied, returns the HTTP response code specified. Valid
37175
- # options are "deny()" where valid values for status are 403, 404, 429, and 502.
37508
+ # Action to take for requests that are above the configured rate limit threshold,
37509
+ # to either deny with a specified HTTP response code, or redirect to a
37510
+ # different endpoint. Valid options are "deny()" where valid values for status
37511
+ # are 403, 404, 429, and 502, and "redirect" where the redirect parameters come
37512
+ # from exceed_redirect_options below.
37176
37513
  # Corresponds to the JSON property `exceedAction`
37177
37514
  # @return [String]
37178
37515
  attr_accessor :exceed_action
37179
37516
 
37517
+ # Parameters defining the redirect action that is used as the exceed action.
37518
+ # Cannot be specified if the exceed action is not redirect.
37519
+ # Corresponds to the JSON property `exceedRedirectOptions`
37520
+ # @return [Google::Apis::ComputeAlpha::SecurityPolicyRuleRedirectOptions]
37521
+ attr_accessor :exceed_redirect_options
37522
+
37180
37523
  # Threshold at which to begin ratelimiting.
37181
37524
  # Corresponds to the JSON property `rateLimitThreshold`
37182
37525
  # @return [Google::Apis::ComputeAlpha::SecurityPolicyRuleRateLimitOptionsThreshold]
@@ -37194,6 +37537,7 @@ module Google
37194
37537
  @enforce_on_key = args[:enforce_on_key] if args.key?(:enforce_on_key)
37195
37538
  @enforce_on_key_name = args[:enforce_on_key_name] if args.key?(:enforce_on_key_name)
37196
37539
  @exceed_action = args[:exceed_action] if args.key?(:exceed_action)
37540
+ @exceed_redirect_options = args[:exceed_redirect_options] if args.key?(:exceed_redirect_options)
37197
37541
  @rate_limit_threshold = args[:rate_limit_threshold] if args.key?(:rate_limit_threshold)
37198
37542
  end
37199
37543
  end
@@ -37492,7 +37836,7 @@ module Google
37492
37836
 
37493
37837
  # If specified, the domain name will be used during the integration between the
37494
37838
  # PSC connected endpoints and the Cloud DNS. For example, this is a valid domain
37495
- # name: "p.mycompany.com".
37839
+ # name: "p.mycompany.com.". Current max number of domain names supported is 1.
37496
37840
  # Corresponds to the JSON property `domainNames`
37497
37841
  # @return [Array<String>]
37498
37842
  attr_accessor :domain_names
@@ -37994,7 +38338,8 @@ module Google
37994
38338
 
37995
38339
  # A map of folder id and folder config to specify consumer projects for this
37996
38340
  # shared-reservation. This is only valid when share_type's value is
37997
- # DIRECT_PROJECTS_UNDER_SPECIFIC_FOLDERS.
38341
+ # DIRECT_PROJECTS_UNDER_SPECIFIC_FOLDERS. Folder id should be a string of number,
38342
+ # and without "folders/" prefix.
37998
38343
  # Corresponds to the JSON property `folderMap`
37999
38344
  # @return [Hash<String,Google::Apis::ComputeAlpha::ShareSettingsFolderConfig>]
38000
38345
  attr_accessor :folder_map
@@ -38034,7 +38379,7 @@ module Google
38034
38379
  include Google::Apis::Core::Hashable
38035
38380
 
38036
38381
  # The folder ID, should be same as the key of this folder config in the parent
38037
- # map.
38382
+ # map. Folder id should be a string of number, and without "folders/" prefix.
38038
38383
  # Corresponds to the JSON property `folderId`
38039
38384
  # @return [String]
38040
38385
  attr_accessor :folder_id
@@ -38491,6 +38836,11 @@ module Google
38491
38836
  # @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey]
38492
38837
  attr_accessor :snapshot_encryption_key
38493
38838
 
38839
+ # Indicates the type of the snapshot.
38840
+ # Corresponds to the JSON property `snapshotType`
38841
+ # @return [String]
38842
+ attr_accessor :snapshot_type
38843
+
38494
38844
  # The source disk used to create this snapshot.
38495
38845
  # Corresponds to the JSON property `sourceDisk`
38496
38846
  # @return [String]
@@ -38587,6 +38937,7 @@ module Google
38587
38937
  @self_link = args[:self_link] if args.key?(:self_link)
38588
38938
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
38589
38939
  @snapshot_encryption_key = args[:snapshot_encryption_key] if args.key?(:snapshot_encryption_key)
38940
+ @snapshot_type = args[:snapshot_type] if args.key?(:snapshot_type)
38590
38941
  @source_disk = args[:source_disk] if args.key?(:source_disk)
38591
38942
  @source_disk_encryption_key = args[:source_disk_encryption_key] if args.key?(:source_disk_encryption_key)
38592
38943
  @source_disk_id = args[:source_disk_id] if args.key?(:source_disk_id)
@@ -38769,7 +39120,8 @@ module Google
38769
39120
  end
38770
39121
  end
38771
39122
 
38772
- #
39123
+ # DEPRECATED: Please use compute#instanceProperties instead. New properties will
39124
+ # not be added to this field.
38773
39125
  class SourceInstanceProperties
38774
39126
  include Google::Apis::Core::Hashable
38775
39127
 
@@ -39413,6 +39765,136 @@ module Google
39413
39765
  end
39414
39766
  end
39415
39767
 
39768
+ #
39769
+ class SslPoliciesAggregatedList
39770
+ include Google::Apis::Core::Hashable
39771
+
39772
+ #
39773
+ # Corresponds to the JSON property `etag`
39774
+ # @return [String]
39775
+ attr_accessor :etag
39776
+
39777
+ # [Output Only] Unique identifier for the resource; defined by the server.
39778
+ # Corresponds to the JSON property `id`
39779
+ # @return [String]
39780
+ attr_accessor :id
39781
+
39782
+ # A list of SslPoliciesScopedList resources.
39783
+ # Corresponds to the JSON property `items`
39784
+ # @return [Hash<String,Google::Apis::ComputeAlpha::SslPoliciesScopedList>]
39785
+ attr_accessor :items
39786
+
39787
+ # [Output Only] Type of resource. Always compute#sslPolicyAggregatedList for
39788
+ # lists of SSL Policies.
39789
+ # Corresponds to the JSON property `kind`
39790
+ # @return [String]
39791
+ attr_accessor :kind
39792
+
39793
+ # [Output Only] This token allows you to get the next page of results for list
39794
+ # requests. If the number of results is larger than maxResults, use the
39795
+ # nextPageToken as a value for the query parameter pageToken in the next list
39796
+ # request. Subsequent list requests will have their own nextPageToken to
39797
+ # continue paging through the results.
39798
+ # Corresponds to the JSON property `nextPageToken`
39799
+ # @return [String]
39800
+ attr_accessor :next_page_token
39801
+
39802
+ # [Output Only] Server-defined URL for this resource.
39803
+ # Corresponds to the JSON property `selfLink`
39804
+ # @return [String]
39805
+ attr_accessor :self_link
39806
+
39807
+ # [Output Only] Unreachable resources.
39808
+ # Corresponds to the JSON property `unreachables`
39809
+ # @return [Array<String>]
39810
+ attr_accessor :unreachables
39811
+
39812
+ # [Output Only] Informational warning message.
39813
+ # Corresponds to the JSON property `warning`
39814
+ # @return [Google::Apis::ComputeAlpha::SslPoliciesAggregatedList::Warning]
39815
+ attr_accessor :warning
39816
+
39817
+ def initialize(**args)
39818
+ update!(**args)
39819
+ end
39820
+
39821
+ # Update properties of this object
39822
+ def update!(**args)
39823
+ @etag = args[:etag] if args.key?(:etag)
39824
+ @id = args[:id] if args.key?(:id)
39825
+ @items = args[:items] if args.key?(:items)
39826
+ @kind = args[:kind] if args.key?(:kind)
39827
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
39828
+ @self_link = args[:self_link] if args.key?(:self_link)
39829
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
39830
+ @warning = args[:warning] if args.key?(:warning)
39831
+ end
39832
+
39833
+ # [Output Only] Informational warning message.
39834
+ class Warning
39835
+ include Google::Apis::Core::Hashable
39836
+
39837
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
39838
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
39839
+ # Corresponds to the JSON property `code`
39840
+ # @return [String]
39841
+ attr_accessor :code
39842
+
39843
+ # [Output Only] Metadata about this warning in key: value format. For example: "
39844
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
39845
+ # Corresponds to the JSON property `data`
39846
+ # @return [Array<Google::Apis::ComputeAlpha::SslPoliciesAggregatedList::Warning::Datum>]
39847
+ attr_accessor :data
39848
+
39849
+ # [Output Only] A human-readable description of the warning code.
39850
+ # Corresponds to the JSON property `message`
39851
+ # @return [String]
39852
+ attr_accessor :message
39853
+
39854
+ def initialize(**args)
39855
+ update!(**args)
39856
+ end
39857
+
39858
+ # Update properties of this object
39859
+ def update!(**args)
39860
+ @code = args[:code] if args.key?(:code)
39861
+ @data = args[:data] if args.key?(:data)
39862
+ @message = args[:message] if args.key?(:message)
39863
+ end
39864
+
39865
+ #
39866
+ class Datum
39867
+ include Google::Apis::Core::Hashable
39868
+
39869
+ # [Output Only] A key that provides more detail on the warning being returned.
39870
+ # For example, for warnings where there are no results in a list request for a
39871
+ # particular zone, this key might be scope and the key value might be the zone
39872
+ # name. Other examples might be a key indicating a deprecated resource and a
39873
+ # suggested replacement, or a warning about invalid network settings (for
39874
+ # example, if an instance attempts to perform IP forwarding but is not enabled
39875
+ # for IP forwarding).
39876
+ # Corresponds to the JSON property `key`
39877
+ # @return [String]
39878
+ attr_accessor :key
39879
+
39880
+ # [Output Only] A warning data value corresponding to the key.
39881
+ # Corresponds to the JSON property `value`
39882
+ # @return [String]
39883
+ attr_accessor :value
39884
+
39885
+ def initialize(**args)
39886
+ update!(**args)
39887
+ end
39888
+
39889
+ # Update properties of this object
39890
+ def update!(**args)
39891
+ @key = args[:key] if args.key?(:key)
39892
+ @value = args[:value] if args.key?(:value)
39893
+ end
39894
+ end
39895
+ end
39896
+ end
39897
+
39416
39898
  #
39417
39899
  class SslPoliciesList
39418
39900
  include Google::Apis::Core::Hashable
@@ -39550,6 +40032,97 @@ module Google
39550
40032
  end
39551
40033
  end
39552
40034
 
40035
+ #
40036
+ class SslPoliciesScopedList
40037
+ include Google::Apis::Core::Hashable
40038
+
40039
+ # A list of SslPolicies contained in this scope.
40040
+ # Corresponds to the JSON property `sslPolicies`
40041
+ # @return [Array<Google::Apis::ComputeAlpha::SslPolicy>]
40042
+ attr_accessor :ssl_policies
40043
+
40044
+ # Informational warning which replaces the list of SSL policies when the list is
40045
+ # empty.
40046
+ # Corresponds to the JSON property `warning`
40047
+ # @return [Google::Apis::ComputeAlpha::SslPoliciesScopedList::Warning]
40048
+ attr_accessor :warning
40049
+
40050
+ def initialize(**args)
40051
+ update!(**args)
40052
+ end
40053
+
40054
+ # Update properties of this object
40055
+ def update!(**args)
40056
+ @ssl_policies = args[:ssl_policies] if args.key?(:ssl_policies)
40057
+ @warning = args[:warning] if args.key?(:warning)
40058
+ end
40059
+
40060
+ # Informational warning which replaces the list of SSL policies when the list is
40061
+ # empty.
40062
+ class Warning
40063
+ include Google::Apis::Core::Hashable
40064
+
40065
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
40066
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
40067
+ # Corresponds to the JSON property `code`
40068
+ # @return [String]
40069
+ attr_accessor :code
40070
+
40071
+ # [Output Only] Metadata about this warning in key: value format. For example: "
40072
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
40073
+ # Corresponds to the JSON property `data`
40074
+ # @return [Array<Google::Apis::ComputeAlpha::SslPoliciesScopedList::Warning::Datum>]
40075
+ attr_accessor :data
40076
+
40077
+ # [Output Only] A human-readable description of the warning code.
40078
+ # Corresponds to the JSON property `message`
40079
+ # @return [String]
40080
+ attr_accessor :message
40081
+
40082
+ def initialize(**args)
40083
+ update!(**args)
40084
+ end
40085
+
40086
+ # Update properties of this object
40087
+ def update!(**args)
40088
+ @code = args[:code] if args.key?(:code)
40089
+ @data = args[:data] if args.key?(:data)
40090
+ @message = args[:message] if args.key?(:message)
40091
+ end
40092
+
40093
+ #
40094
+ class Datum
40095
+ include Google::Apis::Core::Hashable
40096
+
40097
+ # [Output Only] A key that provides more detail on the warning being returned.
40098
+ # For example, for warnings where there are no results in a list request for a
40099
+ # particular zone, this key might be scope and the key value might be the zone
40100
+ # name. Other examples might be a key indicating a deprecated resource and a
40101
+ # suggested replacement, or a warning about invalid network settings (for
40102
+ # example, if an instance attempts to perform IP forwarding but is not enabled
40103
+ # for IP forwarding).
40104
+ # Corresponds to the JSON property `key`
40105
+ # @return [String]
40106
+ attr_accessor :key
40107
+
40108
+ # [Output Only] A warning data value corresponding to the key.
40109
+ # Corresponds to the JSON property `value`
40110
+ # @return [String]
40111
+ attr_accessor :value
40112
+
40113
+ def initialize(**args)
40114
+ update!(**args)
40115
+ end
40116
+
40117
+ # Update properties of this object
40118
+ def update!(**args)
40119
+ @key = args[:key] if args.key?(:key)
40120
+ @value = args[:value] if args.key?(:value)
40121
+ end
40122
+ end
40123
+ end
40124
+ end
40125
+
39553
40126
  # Represents an SSL Policy resource. Use SSL policies to control the SSL
39554
40127
  # features, such as versions and cipher suites, offered by an HTTPS or SSL Proxy
39555
40128
  # load balancer. For more information, read SSL Policy Concepts.
@@ -39626,6 +40199,12 @@ module Google
39626
40199
  # @return [String]
39627
40200
  attr_accessor :profile
39628
40201
 
40202
+ # [Output Only] URL of the region where the regional SSL policy resides. This
40203
+ # field is not applicable to global SSL policies.
40204
+ # Corresponds to the JSON property `region`
40205
+ # @return [String]
40206
+ attr_accessor :region
40207
+
39629
40208
  # [Output Only] Server-defined URL for the resource.
39630
40209
  # Corresponds to the JSON property `selfLink`
39631
40210
  # @return [String]
@@ -39663,6 +40242,7 @@ module Google
39663
40242
  @min_tls_version = args[:min_tls_version] if args.key?(:min_tls_version)
39664
40243
  @name = args[:name] if args.key?(:name)
39665
40244
  @profile = args[:profile] if args.key?(:profile)
40245
+ @region = args[:region] if args.key?(:region)
39666
40246
  @self_link = args[:self_link] if args.key?(:self_link)
39667
40247
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
39668
40248
  @tls_settings = args[:tls_settings] if args.key?(:tls_settings)
@@ -39981,7 +40561,7 @@ module Google
39981
40561
  attr_accessor :ipv6_access_type
39982
40562
 
39983
40563
  # [Output Only] The range of internal IPv6 addresses that are owned by this
39984
- # subnetwork.
40564
+ # subnetwork. Note this will be for private google access only eventually.
39985
40565
  # Corresponds to the JSON property `ipv6CidrRange`
39986
40566
  # @return [String]
39987
40567
  attr_accessor :ipv6_cidr_range