google-apis-compute_alpha 0.50.0 → 0.52.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.
@@ -22,6 +22,52 @@ module Google
22
22
  module Apis
23
23
  module ComputeAlpha
24
24
 
25
+ # Contains the configurations necessary to generate a signature for access to
26
+ # private storage buckets that support Signature Version 4 for authentication.
27
+ # The service name for generating the authentication header will always default
28
+ # to 's3'.
29
+ class Awsv4Signature
30
+ include Google::Apis::Core::Hashable
31
+
32
+ # The access key used for s3 bucket authentication. Required for updating or
33
+ # creating a backend that uses AWS v4 signature authentication, but will not be
34
+ # returned as part of the configuration when queried with a REST API GET request.
35
+ # @InputOnly
36
+ # Corresponds to the JSON property `accessKey`
37
+ # @return [String]
38
+ attr_accessor :access_key
39
+
40
+ # The identifier of an access key used for s3 bucket authentication.
41
+ # Corresponds to the JSON property `accessKeyId`
42
+ # @return [String]
43
+ attr_accessor :access_key_id
44
+
45
+ # The optional version identifier for the access key. You can use this to keep
46
+ # track of different iterations of your access key.
47
+ # Corresponds to the JSON property `accessKeyVersion`
48
+ # @return [String]
49
+ attr_accessor :access_key_version
50
+
51
+ # The name of the cloud region of your origin. This is a free-form field with
52
+ # the name of the region your cloud uses to host your origin. For example, "us-
53
+ # east-1" for AWS or "us-ashburn-1" for OCI.
54
+ # Corresponds to the JSON property `originRegion`
55
+ # @return [String]
56
+ attr_accessor :origin_region
57
+
58
+ def initialize(**args)
59
+ update!(**args)
60
+ end
61
+
62
+ # Update properties of this object
63
+ def update!(**args)
64
+ @access_key = args[:access_key] if args.key?(:access_key)
65
+ @access_key_id = args[:access_key_id] if args.key?(:access_key_id)
66
+ @access_key_version = args[:access_key_version] if args.key?(:access_key_version)
67
+ @origin_region = args[:origin_region] if args.key?(:origin_region)
68
+ end
69
+ end
70
+
25
71
  # A specification of the type and number of accelerator cards attached to the
26
72
  # instance.
27
73
  class AcceleratorConfig
@@ -528,6 +574,12 @@ module Google
528
574
  # @return [String]
529
575
  attr_accessor :public_ptr_domain_name
530
576
 
577
+ # [Output Only] The resource URL for the security policy associated with this
578
+ # access config.
579
+ # Corresponds to the JSON property `securityPolicy`
580
+ # @return [String]
581
+ attr_accessor :security_policy
582
+
531
583
  # Specifies whether a public DNS 'A' record should be created for the external
532
584
  # IP address of this access configuration.
533
585
  # Corresponds to the JSON property `setPublicDns`
@@ -563,6 +615,7 @@ module Google
563
615
  @network_tier = args[:network_tier] if args.key?(:network_tier)
564
616
  @public_dns_name = args[:public_dns_name] if args.key?(:public_dns_name)
565
617
  @public_ptr_domain_name = args[:public_ptr_domain_name] if args.key?(:public_ptr_domain_name)
618
+ @security_policy = args[:security_policy] if args.key?(:security_policy)
566
619
  @set_public_dns = args[:set_public_dns] if args.key?(:set_public_dns)
567
620
  @set_public_ptr = args[:set_public_ptr] if args.key?(:set_public_ptr)
568
621
  @type = args[:type] if args.key?(:type)
@@ -611,9 +664,9 @@ module Google
611
664
  # @return [String]
612
665
  attr_accessor :ip_version
613
666
 
614
- # The endpoint type of this address, which should be VM. This is used for
615
- # deciding which endpoint this address will be assigned to during the IPv6
616
- # external IP address reservation.
667
+ # The endpoint type of this address, which should be VM or NETLB. This is used
668
+ # for deciding which type of endpoint this address can be used after the
669
+ # external IPv6 address reservation.
617
670
  # Corresponds to the JSON property `ipv6EndpointType`
618
671
  # @return [String]
619
672
  attr_accessor :ipv6_endpoint_type
@@ -1275,8 +1328,8 @@ module Google
1275
1328
  # @return [Fixnum]
1276
1329
  attr_accessor :maintenance_freeze_duration_hours
1277
1330
 
1278
- # For more information about maintenance intervals, see Setting maintenance
1279
- # intervals.
1331
+ # Specifies the frequency of planned maintenance events. The accepted values are:
1332
+ # `PERIODIC`.
1280
1333
  # Corresponds to the JSON property `maintenanceInterval`
1281
1334
  # @return [String]
1282
1335
  attr_accessor :maintenance_interval
@@ -1575,12 +1628,14 @@ module Google
1575
1628
  # Specifies the disk type to use to create the instance. If not specified, the
1576
1629
  # default is pd-standard, specified using the full URL. For example: https://www.
1577
1630
  # googleapis.com/compute/v1/projects/project/zones/zone /diskTypes/pd-standard
1578
- # For a full list of acceptable values, see Persistent disk types. If you define
1579
- # this field, you can provide either the full or partial URL. For example, the
1580
- # following are valid values: - https://www.googleapis.com/compute/v1/projects/
1581
- # project/zones/zone /diskTypes/diskType - projects/project/zones/zone/diskTypes/
1582
- # diskType - zones/zone/diskTypes/diskType Note that for InstanceTemplate, this
1583
- # is the name of the disk type, not URL.
1631
+ # For a full list of acceptable values, see Persistent disk types. If you
1632
+ # specify this field when creating a VM, you can provide either the full or
1633
+ # partial URL. For example, the following values are valid: - https://www.
1634
+ # googleapis.com/compute/v1/projects/project/zones/zone /diskTypes/diskType -
1635
+ # projects/project/zones/zone/diskTypes/diskType - zones/zone/diskTypes/diskType
1636
+ # If you specify this field when creating or updating an instance template or
1637
+ # all-instances configuration, specify the type of the disk, not the URL. For
1638
+ # example: pd-standard.
1584
1639
  # Corresponds to the JSON property `diskType`
1585
1640
  # @return [String]
1586
1641
  attr_accessor :disk_type
@@ -1681,10 +1736,10 @@ module Google
1681
1736
  attr_accessor :source_image
1682
1737
 
1683
1738
  # The customer-supplied encryption key of the source image. Required if the
1684
- # source image is protected by a customer-supplied encryption key. Instance
1685
- # templates do not store customer-supplied encryption keys, so you cannot create
1686
- # disks for instances in a managed instance group if the source images are
1687
- # encrypted with your own keys.
1739
+ # source image is protected by a customer-supplied encryption key.
1740
+ # InstanceTemplate and InstancePropertiesPatch do not store customer-supplied
1741
+ # encryption keys, so you cannot create disks for instances in a managed
1742
+ # instance group if the source images are encrypted with your own keys.
1688
1743
  # Corresponds to the JSON property `sourceImageEncryptionKey`
1689
1744
  # @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey]
1690
1745
  attr_accessor :source_image_encryption_key
@@ -5041,6 +5096,30 @@ module Google
5041
5096
  end
5042
5097
  end
5043
5098
 
5099
+ # A transient resource used in compute.disks.bulkInsert and compute.regionDisks.
5100
+ # bulkInsert. It is only used to process requests and is not persisted.
5101
+ class BulkInsertDiskResource
5102
+ include Google::Apis::Core::Hashable
5103
+
5104
+ # The URL of the DiskConsistencyGroupPolicy for the group of disks to clone.
5105
+ # This may be a full or partial URL, such as: - https://www.googleapis.com/
5106
+ # compute/v1/projects/project/regions/region /resourcePolicies/resourcePolicy -
5107
+ # projects/project/regions/region/resourcePolicies/resourcePolicy - regions/
5108
+ # region/resourcePolicies/resourcePolicy
5109
+ # Corresponds to the JSON property `sourceConsistencyGroupPolicy`
5110
+ # @return [String]
5111
+ attr_accessor :source_consistency_group_policy
5112
+
5113
+ def initialize(**args)
5114
+ update!(**args)
5115
+ end
5116
+
5117
+ # Update properties of this object
5118
+ def update!(**args)
5119
+ @source_consistency_group_policy = args[:source_consistency_group_policy] if args.key?(:source_consistency_group_policy)
5120
+ end
5121
+ end
5122
+
5044
5123
  # A transient resource used in compute.instances.bulkInsert and compute.
5045
5124
  # regionInstances.bulkInsert . This resource is not persisted anywhere, it is
5046
5125
  # used only for processing the requests.
@@ -5148,6 +5227,31 @@ module Google
5148
5227
  end
5149
5228
  end
5150
5229
 
5230
+ #
5231
+ class BundledLocalSsds
5232
+ include Google::Apis::Core::Hashable
5233
+
5234
+ # The default disk interface if the interface is not specified.
5235
+ # Corresponds to the JSON property `defaultInterface`
5236
+ # @return [String]
5237
+ attr_accessor :default_interface
5238
+
5239
+ # The number of partitions.
5240
+ # Corresponds to the JSON property `partitionCount`
5241
+ # @return [Fixnum]
5242
+ attr_accessor :partition_count
5243
+
5244
+ def initialize(**args)
5245
+ update!(**args)
5246
+ end
5247
+
5248
+ # Update properties of this object
5249
+ def update!(**args)
5250
+ @default_interface = args[:default_interface] if args.key?(:default_interface)
5251
+ @partition_count = args[:partition_count] if args.key?(:partition_count)
5252
+ end
5253
+ end
5254
+
5151
5255
  #
5152
5256
  class CacheInvalidationRule
5153
5257
  include Google::Apis::Core::Hashable
@@ -6106,7 +6210,8 @@ module Google
6106
6210
  # Specifies a regular expression that matches allowed origins. For more
6107
6211
  # information about the regular expression syntax, see Syntax. An origin is
6108
6212
  # allowed if it matches either an item in allowOrigins or an item in
6109
- # allowOriginRegexes.
6213
+ # allowOriginRegexes. Regular expressions can only be used when the
6214
+ # loadBalancingScheme is set to INTERNAL_SELF_MANAGED.
6110
6215
  # Corresponds to the JSON property `allowOriginRegexes`
6111
6216
  # @return [Array<String>]
6112
6217
  attr_accessor :allow_origin_regexes
@@ -9480,7 +9585,7 @@ module Google
9480
9585
  attr_accessor :dest_address_groups
9481
9586
 
9482
9587
  # Fully Qualified Domain Name (FQDN) which should be matched against traffic
9483
- # destination. Maximum number of destination fqdn allowed is 1000.
9588
+ # destination. Maximum number of destination fqdn allowed is 100.
9484
9589
  # Corresponds to the JSON property `destFqdns`
9485
9590
  # @return [Array<String>]
9486
9591
  attr_accessor :dest_fqdns
@@ -9517,7 +9622,7 @@ module Google
9517
9622
  attr_accessor :src_address_groups
9518
9623
 
9519
9624
  # Fully Qualified Domain Name (FQDN) which should be matched against traffic
9520
- # source. Maximum number of source fqdn allowed is 1000.
9625
+ # source. Maximum number of source fqdn allowed is 100.
9521
9626
  # Corresponds to the JSON property `srcFqdns`
9522
9627
  # @return [Array<String>]
9523
9628
  attr_accessor :src_fqdns
@@ -9685,16 +9790,17 @@ module Google
9685
9790
  # optionally specify an IP address that references an existing static (reserved)
9686
9791
  # IP address resource. When omitted, Google Cloud assigns an ephemeral IP
9687
9792
  # address. Use one of the following formats to specify an IP address while
9688
- # creating a forwarding rule: * IP address number, as in `100.1.2.3` * Full
9689
- # resource URL, as in https://www.googleapis.com/compute/v1/projects/project_id/
9690
- # regions/region /addresses/address-name * Partial URL or by name, as in: -
9691
- # projects/project_id/regions/region/addresses/address-name - regions/region/
9692
- # addresses/address-name - global/addresses/address-name - address-name The
9693
- # forwarding rule's target or backendService, and in most cases, also the
9694
- # loadBalancingScheme, determine the type of IP address that you can use. For
9695
- # detailed information, see [IP address specifications](https://cloud.google.com/
9696
- # load-balancing/docs/forwarding-rule-concepts#ip_address_specifications). When
9697
- # reading an IPAddress, the API always returns the IP address number.
9793
+ # creating a forwarding rule: * IP address number, as in `100.1.2.3` * IPv6
9794
+ # address range, as in `2600:1234::/96` * Full resource URL, as in https://www.
9795
+ # googleapis.com/compute/v1/projects/ project_id/regions/region/addresses/
9796
+ # address-name * Partial URL or by name, as in: - projects/project_id/regions/
9797
+ # region/addresses/address-name - regions/region/addresses/address-name - global/
9798
+ # addresses/address-name - address-name The forwarding rule's target or
9799
+ # backendService, and in most cases, also the loadBalancingScheme, determine the
9800
+ # type of IP address that you can use. For detailed information, see [IP address
9801
+ # specifications](https://cloud.google.com/load-balancing/docs/forwarding-rule-
9802
+ # concepts#ip_address_specifications). When reading an IPAddress, the API always
9803
+ # returns the IP address number.
9698
9804
  # Corresponds to the JSON property `IPAddress`
9699
9805
  # @return [String]
9700
9806
  attr_accessor :ip_address
@@ -9972,7 +10078,16 @@ module Google
9972
10078
  # @return [String]
9973
10079
  attr_accessor :subnetwork
9974
10080
 
9975
- #
10081
+ # The URL of the target resource to receive the matched traffic. For regional
10082
+ # forwarding rules, this target must be in the same region as the forwarding
10083
+ # rule. For global forwarding rules, this target must be a global load balancing
10084
+ # resource. The forwarded traffic must be of a type appropriate to the target
10085
+ # object. For more information, see the "Target" column in [Port specifications](
10086
+ # https://cloud.google.com/load-balancing/docs/forwarding-rule-concepts#
10087
+ # ip_address_specifications). For Private Service Connect forwarding rules that
10088
+ # forward traffic to Google APIs, provide the name of a supported Google API
10089
+ # bundle: - vpc-sc - APIs that support VPC Service Controls. - all-apis - All
10090
+ # supported Google APIs.
9976
10091
  # Corresponds to the JSON property `target`
9977
10092
  # @return [String]
9978
10093
  attr_accessor :target
@@ -11017,27 +11132,35 @@ module Google
11017
11132
  # @return [String]
11018
11133
  attr_accessor :grpc_service_name
11019
11134
 
11020
- # The port number for the health check request. Must be specified if port_name
11021
- # and port_specification are not set or if port_specification is USE_FIXED_PORT.
11022
- # Valid values are 1 through 65535.
11135
+ # The TCP port number to which the health check prober sends packets. Valid
11136
+ # values are 1 through 65535.
11023
11137
  # Corresponds to the JSON property `port`
11024
11138
  # @return [Fixnum]
11025
11139
  attr_accessor :port
11026
11140
 
11027
- # Port name as defined in InstanceGroup#NamedPort#name. If both port and
11028
- # port_name are defined, port takes precedence. The port_name should conform to
11029
- # RFC1035.
11141
+ # Not supported.
11030
11142
  # Corresponds to the JSON property `portName`
11031
11143
  # @return [String]
11032
11144
  attr_accessor :port_name
11033
11145
 
11034
- # Specifies how port is selected for health checking, can be one of following
11035
- # values: USE_FIXED_PORT: The port number in port is used for health checking.
11036
- # USE_NAMED_PORT: The portName is used for health checking. USE_SERVING_PORT:
11037
- # For NetworkEndpointGroup, the port specified for each network endpoint is used
11038
- # for health checking. For other backends, the port or named port specified in
11039
- # the Backend Service is used for health checking. If not specified, gRPC health
11040
- # check follows behavior specified in port and portName fields.
11146
+ # Specifies how a port is selected for health checking. Can be one of the
11147
+ # following values: USE_FIXED_PORT: Specifies a port number explicitly using the
11148
+ # port field in the health check. Supported by backend services for pass-through
11149
+ # load balancers and backend services for proxy load balancers. Not supported by
11150
+ # target pools. The health check supports all backends supported by the backend
11151
+ # service provided the backend can be health checked. For example, GCE_VM_IP
11152
+ # network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance
11153
+ # group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an
11154
+ # indirect method of specifying the health check port by referring to the
11155
+ # backend service. Only supported by backend services for proxy load balancers.
11156
+ # Not supported by target pools. Not supported by backend services for pass-
11157
+ # through load balancers. Supports all backends that can be health checked; for
11158
+ # example, GCE_VM_IP_PORT network endpoint groups and instance group backends.
11159
+ # For GCE_VM_IP_PORT network endpoint group backends, the health check uses the
11160
+ # port number specified for each endpoint in the network endpoint group. For
11161
+ # instance group backends, the health check uses the port number determined by
11162
+ # looking up the backend service's named port in the instance group's list of
11163
+ # named ports.
11041
11164
  # Corresponds to the JSON property `portSpecification`
11042
11165
  # @return [String]
11043
11166
  attr_accessor :port_specification
@@ -11459,31 +11582,43 @@ module Google
11459
11582
  include Google::Apis::Core::Hashable
11460
11583
 
11461
11584
  # The value of the host header in the HTTP/2 health check request. If left empty
11462
- # (default value), the IP on behalf of which this health check is performed will
11463
- # be used.
11585
+ # (default value), the host header is set to the destination IP address to which
11586
+ # health check packets are sent. The destination IP address depends on the type
11587
+ # of load balancer. For details, see: https://cloud.google.com/load-balancing/
11588
+ # docs/health-check-concepts#hc-packet-dest
11464
11589
  # Corresponds to the JSON property `host`
11465
11590
  # @return [String]
11466
11591
  attr_accessor :host
11467
11592
 
11468
- # The TCP port number for the health check request. The default value is 443.
11469
- # Valid values are 1 through 65535.
11593
+ # The TCP port number to which the health check prober sends packets. The
11594
+ # default value is 443. Valid values are 1 through 65535.
11470
11595
  # Corresponds to the JSON property `port`
11471
11596
  # @return [Fixnum]
11472
11597
  attr_accessor :port
11473
11598
 
11474
- # Port name as defined in InstanceGroup#NamedPort#name. If both port and
11475
- # port_name are defined, port takes precedence.
11599
+ # Not supported.
11476
11600
  # Corresponds to the JSON property `portName`
11477
11601
  # @return [String]
11478
11602
  attr_accessor :port_name
11479
11603
 
11480
- # Specifies how port is selected for health checking, can be one of following
11481
- # values: USE_FIXED_PORT: The port number in port is used for health checking.
11482
- # USE_NAMED_PORT: The portName is used for health checking. USE_SERVING_PORT:
11483
- # For NetworkEndpointGroup, the port specified for each network endpoint is used
11484
- # for health checking. For other backends, the port or named port specified in
11485
- # the Backend Service is used for health checking. If not specified, HTTP2
11486
- # health check follows behavior specified in port and portName fields.
11604
+ # Specifies how a port is selected for health checking. Can be one of the
11605
+ # following values: USE_FIXED_PORT: Specifies a port number explicitly using the
11606
+ # port field in the health check. Supported by backend services for pass-through
11607
+ # load balancers and backend services for proxy load balancers. Not supported by
11608
+ # target pools. The health check supports all backends supported by the backend
11609
+ # service provided the backend can be health checked. For example, GCE_VM_IP
11610
+ # network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance
11611
+ # group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an
11612
+ # indirect method of specifying the health check port by referring to the
11613
+ # backend service. Only supported by backend services for proxy load balancers.
11614
+ # Not supported by target pools. Not supported by backend services for pass-
11615
+ # through load balancers. Supports all backends that can be health checked; for
11616
+ # example, GCE_VM_IP_PORT network endpoint groups and instance group backends.
11617
+ # For GCE_VM_IP_PORT network endpoint group backends, the health check uses the
11618
+ # port number specified for each endpoint in the network endpoint group. For
11619
+ # instance group backends, the health check uses the port number determined by
11620
+ # looking up the backend service's named port in the instance group's list of
11621
+ # named ports.
11487
11622
  # Corresponds to the JSON property `portSpecification`
11488
11623
  # @return [String]
11489
11624
  attr_accessor :port_specification
@@ -11499,9 +11634,11 @@ module Google
11499
11634
  # @return [String]
11500
11635
  attr_accessor :request_path
11501
11636
 
11502
- # The string to match anywhere in the first 1024 bytes of the response body. If
11503
- # left empty (the default value), the status code determines health. The
11504
- # response data can only be ASCII.
11637
+ # Creates a content-based HTTP/2 health check. In addition to the required HTTP
11638
+ # 200 (OK) status code, you can configure the health check to pass only when the
11639
+ # backend sends this specific ASCII response string within the first 1024 bytes
11640
+ # of the HTTP response body. For details, see: https://cloud.google.com/load-
11641
+ # balancing/docs/health-check-concepts#criteria-protocol-http
11505
11642
  # Corresponds to the JSON property `response`
11506
11643
  # @return [String]
11507
11644
  attr_accessor :response
@@ -11533,31 +11670,43 @@ module Google
11533
11670
  include Google::Apis::Core::Hashable
11534
11671
 
11535
11672
  # The value of the host header in the HTTP health check request. If left empty (
11536
- # default value), the IP on behalf of which this health check is performed will
11537
- # be used.
11673
+ # default value), the host header is set to the destination IP address to which
11674
+ # health check packets are sent. The destination IP address depends on the type
11675
+ # of load balancer. For details, see: https://cloud.google.com/load-balancing/
11676
+ # docs/health-check-concepts#hc-packet-dest
11538
11677
  # Corresponds to the JSON property `host`
11539
11678
  # @return [String]
11540
11679
  attr_accessor :host
11541
11680
 
11542
- # The TCP port number for the health check request. The default value is 80.
11543
- # Valid values are 1 through 65535.
11681
+ # The TCP port number to which the health check prober sends packets. The
11682
+ # default value is 80. Valid values are 1 through 65535.
11544
11683
  # Corresponds to the JSON property `port`
11545
11684
  # @return [Fixnum]
11546
11685
  attr_accessor :port
11547
11686
 
11548
- # Port name as defined in InstanceGroup#NamedPort#name. If both port and
11549
- # port_name are defined, port takes precedence.
11687
+ # Not supported.
11550
11688
  # Corresponds to the JSON property `portName`
11551
11689
  # @return [String]
11552
11690
  attr_accessor :port_name
11553
11691
 
11554
- # Specifies how port is selected for health checking, can be one of following
11555
- # values: USE_FIXED_PORT: The port number in port is used for health checking.
11556
- # USE_NAMED_PORT: The portName is used for health checking. USE_SERVING_PORT:
11557
- # For NetworkEndpointGroup, the port specified for each network endpoint is used
11558
- # for health checking. For other backends, the port or named port specified in
11559
- # the Backend Service is used for health checking. If not specified, HTTP health
11560
- # check follows behavior specified in port and portName fields.
11692
+ # Specifies how a port is selected for health checking. Can be one of the
11693
+ # following values: USE_FIXED_PORT: Specifies a port number explicitly using the
11694
+ # port field in the health check. Supported by backend services for pass-through
11695
+ # load balancers and backend services for proxy load balancers. Also supported
11696
+ # in legacy HTTP health checks for target pools. The health check supports all
11697
+ # backends supported by the backend service provided the backend can be health
11698
+ # checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT
11699
+ # network endpoint groups, and instance group backends. USE_NAMED_PORT: Not
11700
+ # supported. USE_SERVING_PORT: Provides an indirect method of specifying the
11701
+ # health check port by referring to the backend service. Only supported by
11702
+ # backend services for proxy load balancers. Not supported by target pools. Not
11703
+ # supported by backend services for pass-through load balancers. Supports all
11704
+ # backends that can be health checked; for example, GCE_VM_IP_PORT network
11705
+ # endpoint groups and instance group backends. For GCE_VM_IP_PORT network
11706
+ # endpoint group backends, the health check uses the port number specified for
11707
+ # each endpoint in the network endpoint group. For instance group backends, the
11708
+ # health check uses the port number determined by looking up the backend service'
11709
+ # s named port in the instance group's list of named ports.
11561
11710
  # Corresponds to the JSON property `portSpecification`
11562
11711
  # @return [String]
11563
11712
  attr_accessor :port_specification
@@ -11573,9 +11722,11 @@ module Google
11573
11722
  # @return [String]
11574
11723
  attr_accessor :request_path
11575
11724
 
11576
- # The string to match anywhere in the first 1024 bytes of the response body. If
11577
- # left empty (the default value), the status code determines health. The
11578
- # response data can only be ASCII.
11725
+ # Creates a content-based HTTP health check. In addition to the required HTTP
11726
+ # 200 (OK) status code, you can configure the health check to pass only when the
11727
+ # backend sends this specific ASCII response string within the first 1024 bytes
11728
+ # of the HTTP response body. For details, see: https://cloud.google.com/load-
11729
+ # balancing/docs/health-check-concepts#criteria-protocol-http
11579
11730
  # Corresponds to the JSON property `response`
11580
11731
  # @return [String]
11581
11732
  attr_accessor :response
@@ -11607,31 +11758,43 @@ module Google
11607
11758
  include Google::Apis::Core::Hashable
11608
11759
 
11609
11760
  # The value of the host header in the HTTPS health check request. If left empty (
11610
- # default value), the IP on behalf of which this health check is performed will
11611
- # be used.
11761
+ # default value), the host header is set to the destination IP address to which
11762
+ # health check packets are sent. The destination IP address depends on the type
11763
+ # of load balancer. For details, see: https://cloud.google.com/load-balancing/
11764
+ # docs/health-check-concepts#hc-packet-dest
11612
11765
  # Corresponds to the JSON property `host`
11613
11766
  # @return [String]
11614
11767
  attr_accessor :host
11615
11768
 
11616
- # The TCP port number for the health check request. The default value is 443.
11617
- # Valid values are 1 through 65535.
11769
+ # The TCP port number to which the health check prober sends packets. The
11770
+ # default value is 443. Valid values are 1 through 65535.
11618
11771
  # Corresponds to the JSON property `port`
11619
11772
  # @return [Fixnum]
11620
11773
  attr_accessor :port
11621
11774
 
11622
- # Port name as defined in InstanceGroup#NamedPort#name. If both port and
11623
- # port_name are defined, port takes precedence.
11775
+ # Not supported.
11624
11776
  # Corresponds to the JSON property `portName`
11625
11777
  # @return [String]
11626
11778
  attr_accessor :port_name
11627
11779
 
11628
- # Specifies how port is selected for health checking, can be one of following
11629
- # values: USE_FIXED_PORT: The port number in port is used for health checking.
11630
- # USE_NAMED_PORT: The portName is used for health checking. USE_SERVING_PORT:
11631
- # For NetworkEndpointGroup, the port specified for each network endpoint is used
11632
- # for health checking. For other backends, the port or named port specified in
11633
- # the Backend Service is used for health checking. If not specified, HTTPS
11634
- # health check follows behavior specified in port and portName fields.
11780
+ # Specifies how a port is selected for health checking. Can be one of the
11781
+ # following values: USE_FIXED_PORT: Specifies a port number explicitly using the
11782
+ # port field in the health check. Supported by backend services for pass-through
11783
+ # load balancers and backend services for proxy load balancers. Not supported by
11784
+ # target pools. The health check supports all backends supported by the backend
11785
+ # service provided the backend can be health checked. For example, GCE_VM_IP
11786
+ # network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance
11787
+ # group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an
11788
+ # indirect method of specifying the health check port by referring to the
11789
+ # backend service. Only supported by backend services for proxy load balancers.
11790
+ # Not supported by target pools. Not supported by backend services for pass-
11791
+ # through load balancers. Supports all backends that can be health checked; for
11792
+ # example, GCE_VM_IP_PORT network endpoint groups and instance group backends.
11793
+ # For GCE_VM_IP_PORT network endpoint group backends, the health check uses the
11794
+ # port number specified for each endpoint in the network endpoint group. For
11795
+ # instance group backends, the health check uses the port number determined by
11796
+ # looking up the backend service's named port in the instance group's list of
11797
+ # named ports.
11635
11798
  # Corresponds to the JSON property `portSpecification`
11636
11799
  # @return [String]
11637
11800
  attr_accessor :port_specification
@@ -11647,9 +11810,11 @@ module Google
11647
11810
  # @return [String]
11648
11811
  attr_accessor :request_path
11649
11812
 
11650
- # The string to match anywhere in the first 1024 bytes of the response body. If
11651
- # left empty (the default value), the status code determines health. The
11652
- # response data can only be ASCII.
11813
+ # Creates a content-based HTTPS health check. In addition to the required HTTP
11814
+ # 200 (OK) status code, you can configure the health check to pass only when the
11815
+ # backend sends this specific ASCII response string within the first 1024 bytes
11816
+ # of the HTTP response body. For details, see: https://cloud.google.com/load-
11817
+ # balancing/docs/health-check-concepts#criteria-protocol-http
11653
11818
  # Corresponds to the JSON property `response`
11654
11819
  # @return [String]
11655
11820
  attr_accessor :response
@@ -13149,8 +13314,8 @@ module Google
13149
13314
  # For matching against a port specified in the HTTP request, use a headerMatch
13150
13315
  # with headerName set to PORT and a regular expression that satisfies the
13151
13316
  # RFC2616 Host header's port specifier. Only one of exactMatch, prefixMatch,
13152
- # suffixMatch, regexMatch, presentMatch or rangeMatch must be set. regexMatch
13153
- # only applies to load balancers that have loadBalancingScheme set to
13317
+ # suffixMatch, regexMatch, presentMatch or rangeMatch must be set. Regular
13318
+ # expressions can only be used when the loadBalancingScheme is set to
13154
13319
  # INTERNAL_SELF_MANAGED.
13155
13320
  # Corresponds to the JSON property `regexMatch`
13156
13321
  # @return [String]
@@ -13475,8 +13640,8 @@ module Google
13475
13640
  # The queryParameterMatch matches if the value of the parameter matches the
13476
13641
  # regular expression specified by regexMatch. For more information about regular
13477
13642
  # expression syntax, see Syntax. Only one of presentMatch, exactMatch, or
13478
- # regexMatch must be set. regexMatch only applies when the loadBalancingScheme
13479
- # is set to INTERNAL_SELF_MANAGED.
13643
+ # regexMatch must be set. Regular expressions can only be used when the
13644
+ # loadBalancingScheme is set to INTERNAL_SELF_MANAGED.
13480
13645
  # Corresponds to the JSON property `regexMatch`
13481
13646
  # @return [String]
13482
13647
  attr_accessor :regex_match
@@ -13866,6 +14031,16 @@ module Google
13866
14031
  # @return [Array<Google::Apis::ComputeAlpha::MetadataFilter>]
13867
14032
  attr_accessor :metadata_filters
13868
14033
 
14034
+ # If specified, the route is a pattern match expression that must match the :
14035
+ # path header once the query string is removed. A pattern match allows you to
14036
+ # match - The value must be between 1 and 1024 characters - The pattern must
14037
+ # start with a leading slash ("/") - There may be no more than 5 operators in
14038
+ # pattern Precisely one of prefix_match, full_path_match, regex_match or
14039
+ # path_template_match must be set.
14040
+ # Corresponds to the JSON property `pathTemplateMatch`
14041
+ # @return [String]
14042
+ attr_accessor :path_template_match
14043
+
13869
14044
  # For satisfying the matchRule condition, the request's path must begin with the
13870
14045
  # specified prefixMatch. prefixMatch must begin with a /. The value must be from
13871
14046
  # 1 to 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch
@@ -13885,8 +14060,8 @@ module Google
13885
14060
  # the regular expression specified in regexMatch after removing any query
13886
14061
  # parameters and anchor supplied with the original URL. For more information
13887
14062
  # about regular expression syntax, see Syntax. Only one of prefixMatch,
13888
- # fullPathMatch or regexMatch must be specified. regexMatch only applies to load
13889
- # balancers that have loadBalancingScheme set to INTERNAL_SELF_MANAGED.
14063
+ # fullPathMatch or regexMatch must be specified. Regular expressions can only be
14064
+ # used when the loadBalancingScheme is set to INTERNAL_SELF_MANAGED.
13890
14065
  # Corresponds to the JSON property `regexMatch`
13891
14066
  # @return [String]
13892
14067
  attr_accessor :regex_match
@@ -13901,6 +14076,7 @@ module Google
13901
14076
  @header_matches = args[:header_matches] if args.key?(:header_matches)
13902
14077
  @ignore_case = args[:ignore_case] if args.key?(:ignore_case)
13903
14078
  @metadata_filters = args[:metadata_filters] if args.key?(:metadata_filters)
14079
+ @path_template_match = args[:path_template_match] if args.key?(:path_template_match)
13904
14080
  @prefix_match = args[:prefix_match] if args.key?(:prefix_match)
13905
14081
  @query_parameter_matches = args[:query_parameter_matches] if args.key?(:query_parameter_matches)
13906
14082
  @regex_match = args[:regex_match] if args.key?(:regex_match)
@@ -16488,6 +16664,12 @@ module Google
16488
16664
  class InstanceGroupManagerResizeRequestStatus
16489
16665
  include Google::Apis::Core::Hashable
16490
16666
 
16667
+ # Errors encountered during the queueing or provisioning phases of the
16668
+ # ResizeRequest.
16669
+ # Corresponds to the JSON property `error`
16670
+ # @return [Google::Apis::ComputeAlpha::InstanceGroupManagerResizeRequestStatus::Error]
16671
+ attr_accessor :error
16672
+
16491
16673
  # Queuing parameters for the requested deferred capacity.
16492
16674
  # Corresponds to the JSON property `queuingPolicy`
16493
16675
  # @return [Google::Apis::ComputeAlpha::QueuingPolicy]
@@ -16499,8 +16681,118 @@ module Google
16499
16681
 
16500
16682
  # Update properties of this object
16501
16683
  def update!(**args)
16684
+ @error = args[:error] if args.key?(:error)
16502
16685
  @queuing_policy = args[:queuing_policy] if args.key?(:queuing_policy)
16503
16686
  end
16687
+
16688
+ # Errors encountered during the queueing or provisioning phases of the
16689
+ # ResizeRequest.
16690
+ class Error
16691
+ include Google::Apis::Core::Hashable
16692
+
16693
+ # [Output Only] The array of errors encountered while processing this operation.
16694
+ # Corresponds to the JSON property `errors`
16695
+ # @return [Array<Google::Apis::ComputeAlpha::InstanceGroupManagerResizeRequestStatus::Error::Error>]
16696
+ attr_accessor :errors
16697
+
16698
+ def initialize(**args)
16699
+ update!(**args)
16700
+ end
16701
+
16702
+ # Update properties of this object
16703
+ def update!(**args)
16704
+ @errors = args[:errors] if args.key?(:errors)
16705
+ end
16706
+
16707
+ #
16708
+ class Error
16709
+ include Google::Apis::Core::Hashable
16710
+
16711
+ # [Output Only] The error type identifier for this error.
16712
+ # Corresponds to the JSON property `code`
16713
+ # @return [String]
16714
+ attr_accessor :code
16715
+
16716
+ # [Output Only] An optional list of messages that contain the error details.
16717
+ # There is a set of defined message types to use for providing details.The
16718
+ # syntax depends on the error code. For example, QuotaExceededInfo will have
16719
+ # details when the error code is QUOTA_EXCEEDED.
16720
+ # Corresponds to the JSON property `errorDetails`
16721
+ # @return [Array<Google::Apis::ComputeAlpha::InstanceGroupManagerResizeRequestStatus::Error::Error::ErrorDetail>]
16722
+ attr_accessor :error_details
16723
+
16724
+ # [Output Only] Indicates the field in the request that caused the error. This
16725
+ # property is optional.
16726
+ # Corresponds to the JSON property `location`
16727
+ # @return [String]
16728
+ attr_accessor :location
16729
+
16730
+ # [Output Only] An optional, human-readable error message.
16731
+ # Corresponds to the JSON property `message`
16732
+ # @return [String]
16733
+ attr_accessor :message
16734
+
16735
+ def initialize(**args)
16736
+ update!(**args)
16737
+ end
16738
+
16739
+ # Update properties of this object
16740
+ def update!(**args)
16741
+ @code = args[:code] if args.key?(:code)
16742
+ @error_details = args[:error_details] if args.key?(:error_details)
16743
+ @location = args[:location] if args.key?(:location)
16744
+ @message = args[:message] if args.key?(:message)
16745
+ end
16746
+
16747
+ #
16748
+ class ErrorDetail
16749
+ include Google::Apis::Core::Hashable
16750
+
16751
+ # Describes the cause of the error with structured details. Example of an error
16752
+ # when contacting the "pubsub.googleapis.com" API when it is not enabled: ` "
16753
+ # reason": "API_DISABLED" "domain": "googleapis.com" "metadata": ` "resource": "
16754
+ # projects/123", "service": "pubsub.googleapis.com" ` ` This response indicates
16755
+ # that the pubsub.googleapis.com API is not enabled. Example of an error that is
16756
+ # returned when attempting to create a Spanner instance in a region that is out
16757
+ # of stock: ` "reason": "STOCKOUT" "domain": "spanner.googleapis.com", "metadata"
16758
+ # : ` "availableRegions": "us-central1,us-east2" ` `
16759
+ # Corresponds to the JSON property `errorInfo`
16760
+ # @return [Google::Apis::ComputeAlpha::ErrorInfo]
16761
+ attr_accessor :error_info
16762
+
16763
+ # Provides links to documentation or for performing an out of band action. For
16764
+ # example, if a quota check failed with an error indicating the calling project
16765
+ # hasn't enabled the accessed service, this can contain a URL pointing directly
16766
+ # to the right place in the developer console to flip the bit.
16767
+ # Corresponds to the JSON property `help`
16768
+ # @return [Google::Apis::ComputeAlpha::Help]
16769
+ attr_accessor :help
16770
+
16771
+ # Provides a localized error message that is safe to return to the user which
16772
+ # can be attached to an RPC error.
16773
+ # Corresponds to the JSON property `localizedMessage`
16774
+ # @return [Google::Apis::ComputeAlpha::LocalizedMessage]
16775
+ attr_accessor :localized_message
16776
+
16777
+ # Additional details for quota exceeded error for resource quota.
16778
+ # Corresponds to the JSON property `quotaInfo`
16779
+ # @return [Google::Apis::ComputeAlpha::QuotaExceededInfo]
16780
+ attr_accessor :quota_info
16781
+
16782
+ def initialize(**args)
16783
+ update!(**args)
16784
+ end
16785
+
16786
+ # Update properties of this object
16787
+ def update!(**args)
16788
+ @error_info = args[:error_info] if args.key?(:error_info)
16789
+ @help = args[:help] if args.key?(:help)
16790
+ @localized_message = args[:localized_message] if args.key?(:localized_message)
16791
+ @quota_info = args[:quota_info] if args.key?(:quota_info)
16792
+ end
16793
+ end
16794
+ end
16795
+ end
16504
16796
  end
16505
16797
 
16506
16798
  # [Output Only] A list of resize requests.
@@ -23040,6 +23332,12 @@ module Google
23040
23332
  # @return [Google::Apis::ComputeAlpha::LocationPolicyLocationConstraints]
23041
23333
  attr_accessor :constraints
23042
23334
 
23335
+ # Names of resources to be put in the location. Must contain unique, correct
23336
+ # resource names. If used, targetShape must be left unset.
23337
+ # Corresponds to the JSON property `names`
23338
+ # @return [Array<String>]
23339
+ attr_accessor :names
23340
+
23043
23341
  # Preference for a given location. Set to either ALLOW or DENY.
23044
23342
  # Corresponds to the JSON property `preference`
23045
23343
  # @return [String]
@@ -23052,6 +23350,7 @@ module Google
23052
23350
  # Update properties of this object
23053
23351
  def update!(**args)
23054
23352
  @constraints = args[:constraints] if args.key?(:constraints)
23353
+ @names = args[:names] if args.key?(:names)
23055
23354
  @preference = args[:preference] if args.key?(:preference)
23056
23355
  end
23057
23356
  end
@@ -23495,6 +23794,11 @@ module Google
23495
23794
  # @return [String]
23496
23795
  attr_accessor :architecture
23497
23796
 
23797
+ # [Output Only] The configuration of bundled local SSD for the machine type.
23798
+ # Corresponds to the JSON property `bundledLocalSsds`
23799
+ # @return [Google::Apis::ComputeAlpha::BundledLocalSsds]
23800
+ attr_accessor :bundled_local_ssds
23801
+
23498
23802
  # [Output Only] Creation timestamp in RFC3339 text format.
23499
23803
  # Corresponds to the JSON property `creationTimestamp`
23500
23804
  # @return [String]
@@ -23579,6 +23883,7 @@ module Google
23579
23883
  def update!(**args)
23580
23884
  @accelerators = args[:accelerators] if args.key?(:accelerators)
23581
23885
  @architecture = args[:architecture] if args.key?(:architecture)
23886
+ @bundled_local_ssds = args[:bundled_local_ssds] if args.key?(:bundled_local_ssds)
23582
23887
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
23583
23888
  @deprecated = args[:deprecated] if args.key?(:deprecated)
23584
23889
  @description = args[:description] if args.key?(:description)
@@ -26582,6 +26887,13 @@ module Google
26582
26887
  # @return [String]
26583
26888
  attr_accessor :network
26584
26889
 
26890
+ # The URL of the network attachment that this interface should connect to in the
26891
+ # following format: projects/`project_number`/regions/`region_name`/
26892
+ # networkAttachments/`network_attachment_name`.
26893
+ # Corresponds to the JSON property `networkAttachment`
26894
+ # @return [String]
26895
+ attr_accessor :network_attachment
26896
+
26585
26897
  # An IPv4 internal IP address to assign to the instance for this network
26586
26898
  # interface. If not specified by the user, an unused internal IP is assigned by
26587
26899
  # the system.
@@ -26644,6 +26956,7 @@ module Google
26644
26956
  @kind = args[:kind] if args.key?(:kind)
26645
26957
  @name = args[:name] if args.key?(:name)
26646
26958
  @network = args[:network] if args.key?(:network)
26959
+ @network_attachment = args[:network_attachment] if args.key?(:network_attachment)
26647
26960
  @network_ip = args[:network_ip] if args.key?(:network_ip)
26648
26961
  @nic_type = args[:nic_type] if args.key?(:nic_type)
26649
26962
  @queue_count = args[:queue_count] if args.key?(:queue_count)
@@ -30183,28 +30496,36 @@ module Google
30183
30496
 
30184
30497
  # Number of errors before a host is ejected from the connection pool. When the
30185
30498
  # backend host is accessed over HTTP, a 5xx return code qualifies as an error.
30186
- # Defaults to 5.
30499
+ # Defaults to 5. Not supported when the backend service is referenced by a URL
30500
+ # map that is bound to target gRPC proxy that has validateForProxyless field set
30501
+ # to true.
30187
30502
  # Corresponds to the JSON property `consecutiveErrors`
30188
30503
  # @return [Fixnum]
30189
30504
  attr_accessor :consecutive_errors
30190
30505
 
30191
30506
  # The number of consecutive gateway failures (502, 503, 504 status or connection
30192
30507
  # errors that are mapped to one of those status codes) before a consecutive
30193
- # gateway failure ejection occurs. Defaults to 3.
30508
+ # gateway failure ejection occurs. Defaults to 3. Not supported when the backend
30509
+ # service is referenced by a URL map that is bound to target gRPC proxy that has
30510
+ # validateForProxyless field set to true.
30194
30511
  # Corresponds to the JSON property `consecutiveGatewayFailure`
30195
30512
  # @return [Fixnum]
30196
30513
  attr_accessor :consecutive_gateway_failure
30197
30514
 
30198
30515
  # The percentage chance that a host will be actually ejected when an outlier
30199
30516
  # status is detected through consecutive 5xx. This setting can be used to
30200
- # disable ejection or to ramp it up slowly. Defaults to 0.
30517
+ # disable ejection or to ramp it up slowly. Defaults to 0. Not supported when
30518
+ # the backend service is referenced by a URL map that is bound to target gRPC
30519
+ # proxy that has validateForProxyless field set to true.
30201
30520
  # Corresponds to the JSON property `enforcingConsecutiveErrors`
30202
30521
  # @return [Fixnum]
30203
30522
  attr_accessor :enforcing_consecutive_errors
30204
30523
 
30205
30524
  # The percentage chance that a host will be actually ejected when an outlier
30206
30525
  # status is detected through consecutive gateway failures. This setting can be
30207
- # used to disable ejection or to ramp it up slowly. Defaults to 100.
30526
+ # used to disable ejection or to ramp it up slowly. Defaults to 100. Not
30527
+ # supported when the backend service is referenced by a URL map that is bound to
30528
+ # target gRPC proxy that has validateForProxyless field set to true.
30208
30529
  # Corresponds to the JSON property `enforcingConsecutiveGatewayFailure`
30209
30530
  # @return [Fixnum]
30210
30531
  attr_accessor :enforcing_consecutive_gateway_failure
@@ -31681,6 +32002,11 @@ module Google
31681
32002
  # @return [Google::Apis::ComputeAlpha::UsageExportLocation]
31682
32003
  attr_accessor :usage_export_location
31683
32004
 
32005
+ # [Output Only] Default internal DNS setting used by VMs running in this project.
32006
+ # Corresponds to the JSON property `vmDnsSetting`
32007
+ # @return [String]
32008
+ attr_accessor :vm_dns_setting
32009
+
31684
32010
  # [Output Only] The role this project has in a shared VPC configuration.
31685
32011
  # Currently, only projects with the host role, which is specified by the value
31686
32012
  # HOST, are differentiated.
@@ -31706,6 +32032,7 @@ module Google
31706
32032
  @quotas = args[:quotas] if args.key?(:quotas)
31707
32033
  @self_link = args[:self_link] if args.key?(:self_link)
31708
32034
  @usage_export_location = args[:usage_export_location] if args.key?(:usage_export_location)
32035
+ @vm_dns_setting = args[:vm_dns_setting] if args.key?(:vm_dns_setting)
31709
32036
  @xpn_project_status = args[:xpn_project_status] if args.key?(:xpn_project_status)
31710
32037
  end
31711
32038
  end
@@ -32716,13 +33043,6 @@ module Google
32716
33043
  # @return [Google::Apis::ComputeAlpha::QueuingPolicy]
32717
33044
  attr_accessor :queuing_policy
32718
33045
 
32719
- # [Output Only] URL of the region where the resource resides. Only applicable
32720
- # for regional resources. You must specify this field as part of the HTTP
32721
- # request URL. It is not settable as a field in the request body.
32722
- # Corresponds to the JSON property `region`
32723
- # @return [String]
32724
- attr_accessor :region
32725
-
32726
33046
  # [Output only] Server-defined URL for the resource.
32727
33047
  # Corresponds to the JSON property `selfLink`
32728
33048
  # @return [String]
@@ -32763,7 +33083,6 @@ module Google
32763
33083
  @kind = args[:kind] if args.key?(:kind)
32764
33084
  @name = args[:name] if args.key?(:name)
32765
33085
  @queuing_policy = args[:queuing_policy] if args.key?(:queuing_policy)
32766
- @region = args[:region] if args.key?(:region)
32767
33086
  @self_link = args[:self_link] if args.key?(:self_link)
32768
33087
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
32769
33088
  @state = args[:state] if args.key?(:state)
@@ -32776,11 +33095,6 @@ module Google
32776
33095
  class QueuedResourceList
32777
33096
  include Google::Apis::Core::Hashable
32778
33097
 
32779
- #
32780
- # Corresponds to the JSON property `etag`
32781
- # @return [String]
32782
- attr_accessor :etag
32783
-
32784
33098
  # Unique identifier for the resource; defined by the server.
32785
33099
  # Corresponds to the JSON property `id`
32786
33100
  # @return [String]
@@ -32825,7 +33139,6 @@ module Google
32825
33139
 
32826
33140
  # Update properties of this object
32827
33141
  def update!(**args)
32828
- @etag = args[:etag] if args.key?(:etag)
32829
33142
  @id = args[:id] if args.key?(:id)
32830
33143
  @items = args[:items] if args.key?(:items)
32831
33144
  @kind = args[:kind] if args.key?(:kind)
@@ -36073,6 +36386,11 @@ module Google
36073
36386
  # @return [String]
36074
36387
  attr_accessor :style
36075
36388
 
36389
+ # Specifies the shape of the TPU slice
36390
+ # Corresponds to the JSON property `tpuTopology`
36391
+ # @return [String]
36392
+ attr_accessor :tpu_topology
36393
+
36076
36394
  # Number of VMs in this placement group. Google does not recommend that you use
36077
36395
  # this field unless you use a compact policy and you want your policy to work
36078
36396
  # only if it contains this exact number of VMs.
@@ -36091,6 +36409,7 @@ module Google
36091
36409
  @locality = args[:locality] if args.key?(:locality)
36092
36410
  @scope = args[:scope] if args.key?(:scope)
36093
36411
  @style = args[:style] if args.key?(:style)
36412
+ @tpu_topology = args[:tpu_topology] if args.key?(:tpu_topology)
36094
36413
  @vm_count = args[:vm_count] if args.key?(:vm_count)
36095
36414
  end
36096
36415
  end
@@ -37959,6 +38278,12 @@ module Google
37959
38278
  class RouterNat
37960
38279
  include Google::Apis::Core::Hashable
37961
38280
 
38281
+ # The network tier to use when automatically reserving IP addresses. Must be one
38282
+ # of: PREMIUM, STANDARD. If not specified, PREMIUM tier will be used.
38283
+ # Corresponds to the JSON property `autoNetworkTier`
38284
+ # @return [String]
38285
+ attr_accessor :auto_network_tier
38286
+
37962
38287
  # A list of URLs of the IP resources to be drained. These IPs must be valid
37963
38288
  # static external IPs that have been assigned to the NAT. These IPs should be
37964
38289
  # used for updating/patching a NAT only.
@@ -38099,6 +38424,7 @@ module Google
38099
38424
 
38100
38425
  # Update properties of this object
38101
38426
  def update!(**args)
38427
+ @auto_network_tier = args[:auto_network_tier] if args.key?(:auto_network_tier)
38102
38428
  @drain_nat_ips = args[:drain_nat_ips] if args.key?(:drain_nat_ips)
38103
38429
  @enable_dynamic_port_allocation = args[:enable_dynamic_port_allocation] if args.key?(:enable_dynamic_port_allocation)
38104
38430
  @enable_endpoint_independent_mapping = args[:enable_endpoint_independent_mapping] if args.key?(:enable_endpoint_independent_mapping)
@@ -38756,25 +39082,35 @@ module Google
38756
39082
  class SslHealthCheck
38757
39083
  include Google::Apis::Core::Hashable
38758
39084
 
38759
- # The TCP port number for the health check request. The default value is 443.
38760
- # Valid values are 1 through 65535.
39085
+ # The TCP port number to which the health check prober sends packets. The
39086
+ # default value is 443. Valid values are 1 through 65535.
38761
39087
  # Corresponds to the JSON property `port`
38762
39088
  # @return [Fixnum]
38763
39089
  attr_accessor :port
38764
39090
 
38765
- # Port name as defined in InstanceGroup#NamedPort#name. If both port and
38766
- # port_name are defined, port takes precedence.
39091
+ # Not supported.
38767
39092
  # Corresponds to the JSON property `portName`
38768
39093
  # @return [String]
38769
39094
  attr_accessor :port_name
38770
39095
 
38771
- # Specifies how port is selected for health checking, can be one of following
38772
- # values: USE_FIXED_PORT: The port number in port is used for health checking.
38773
- # USE_NAMED_PORT: The portName is used for health checking. USE_SERVING_PORT:
38774
- # For NetworkEndpointGroup, the port specified for each network endpoint is used
38775
- # for health checking. For other backends, the port or named port specified in
38776
- # the Backend Service is used for health checking. If not specified, SSL health
38777
- # check follows behavior specified in port and portName fields.
39096
+ # Specifies how a port is selected for health checking. Can be one of the
39097
+ # following values: USE_FIXED_PORT: Specifies a port number explicitly using the
39098
+ # port field in the health check. Supported by backend services for pass-through
39099
+ # load balancers and backend services for proxy load balancers. Not supported by
39100
+ # target pools. The health check supports all backends supported by the backend
39101
+ # service provided the backend can be health checked. For example, GCE_VM_IP
39102
+ # network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance
39103
+ # group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an
39104
+ # indirect method of specifying the health check port by referring to the
39105
+ # backend service. Only supported by backend services for proxy load balancers.
39106
+ # Not supported by target pools. Not supported by backend services for pass-
39107
+ # through load balancers. Supports all backends that can be health checked; for
39108
+ # example, GCE_VM_IP_PORT network endpoint groups and instance group backends.
39109
+ # For GCE_VM_IP_PORT network endpoint group backends, the health check uses the
39110
+ # port number specified for each endpoint in the network endpoint group. For
39111
+ # instance group backends, the health check uses the port number determined by
39112
+ # looking up the backend service's named port in the instance group's list of
39113
+ # named ports.
38778
39114
  # Corresponds to the JSON property `portSpecification`
38779
39115
  # @return [String]
38780
39116
  attr_accessor :port_specification
@@ -38785,17 +39121,17 @@ module Google
38785
39121
  # @return [String]
38786
39122
  attr_accessor :proxy_header
38787
39123
 
38788
- # The application data to send once the SSL connection has been established (
38789
- # default value is empty). If both request and response are empty, the
38790
- # connection establishment alone will indicate health. The request data can only
38791
- # be ASCII.
39124
+ # Instructs the health check prober to send this exact ASCII string, up to 1024
39125
+ # bytes in length, after establishing the TCP connection and SSL handshake.
38792
39126
  # Corresponds to the JSON property `request`
38793
39127
  # @return [String]
38794
39128
  attr_accessor :request
38795
39129
 
38796
- # The bytes to match against the beginning of the response data. If left empty (
38797
- # the default value), any response will indicate health. The response data can
38798
- # only be ASCII.
39130
+ # Creates a content-based SSL health check. In addition to establishing a TCP
39131
+ # connection and the TLS handshake, you can configure the health check to pass
39132
+ # only when the backend sends this exact response ASCII string, up to 1024 bytes
39133
+ # in length. For details, see: https://cloud.google.com/load-balancing/docs/
39134
+ # health-check-concepts#criteria-protocol-ssl-tcp
38799
39135
  # Corresponds to the JSON property `response`
38800
39136
  # @return [String]
38801
39137
  attr_accessor :response
@@ -39056,12 +39392,6 @@ module Google
39056
39392
  # @return [Fixnum]
39057
39393
  attr_accessor :current_memory_mb
39058
39394
 
39059
- # Configuration for properties related to dynamic assignment of computing
39060
- # resources to VM (CPU and RAM).
39061
- # Corresponds to the JSON property `dynamicResizeProperties`
39062
- # @return [Google::Apis::ComputeAlpha::SchedulingDynamicResizeProperties]
39063
- attr_accessor :dynamic_resize_properties
39064
-
39065
39395
  # Specify the time in seconds for host error detection, the value must be within
39066
39396
  # the range of [90, 330] with the increment of 30, if unset, the default
39067
39397
  # behavior of host error recovery will be used.
@@ -39094,8 +39424,8 @@ module Google
39094
39424
  # @return [Fixnum]
39095
39425
  attr_accessor :maintenance_freeze_duration_hours
39096
39426
 
39097
- # For more information about maintenance intervals, see Setting maintenance
39098
- # intervals.
39427
+ # Specifies the frequency of planned maintenance events. The accepted values are:
39428
+ # `PERIODIC`.
39099
39429
  # Corresponds to the JSON property `maintenanceInterval`
39100
39430
  # @return [String]
39101
39431
  attr_accessor :maintenance_interval
@@ -39159,7 +39489,6 @@ module Google
39159
39489
  @availability_domain = args[:availability_domain] if args.key?(:availability_domain)
39160
39490
  @current_cpus = args[:current_cpus] if args.key?(:current_cpus)
39161
39491
  @current_memory_mb = args[:current_memory_mb] if args.key?(:current_memory_mb)
39162
- @dynamic_resize_properties = args[:dynamic_resize_properties] if args.key?(:dynamic_resize_properties)
39163
39492
  @host_error_timeout_seconds = args[:host_error_timeout_seconds] if args.key?(:host_error_timeout_seconds)
39164
39493
  @instance_termination_action = args[:instance_termination_action] if args.key?(:instance_termination_action)
39165
39494
  @latency_tolerant = args[:latency_tolerant] if args.key?(:latency_tolerant)
@@ -39176,33 +39505,6 @@ module Google
39176
39505
  end
39177
39506
  end
39178
39507
 
39179
- # Configuration for properties related to dynamic assignment of computing
39180
- # resources to VM (CPU and RAM).
39181
- class SchedulingDynamicResizeProperties
39182
- include Google::Apis::Core::Hashable
39183
-
39184
- # Set to true if this VM is supporting HotStandby modes (b/235044648).
39185
- # Corresponds to the JSON property `enableHotStandby`
39186
- # @return [Boolean]
39187
- attr_accessor :enable_hot_standby
39188
- alias_method :enable_hot_standby?, :enable_hot_standby
39189
-
39190
- # Current Hot Standby state of VM.
39191
- # Corresponds to the JSON property `hotStandbyState`
39192
- # @return [String]
39193
- attr_accessor :hot_standby_state
39194
-
39195
- def initialize(**args)
39196
- update!(**args)
39197
- end
39198
-
39199
- # Update properties of this object
39200
- def update!(**args)
39201
- @enable_hot_standby = args[:enable_hot_standby] if args.key?(:enable_hot_standby)
39202
- @hot_standby_state = args[:hot_standby_state] if args.key?(:hot_standby_state)
39203
- end
39204
- end
39205
-
39206
39508
  # Node Affinity: the configuration of desired nodes onto which this Instance
39207
39509
  # could be scheduled.
39208
39510
  class SchedulingNodeAffinity
@@ -39671,9 +39973,11 @@ module Google
39671
39973
  attr_accessor :rule_tuple_count
39672
39974
 
39673
39975
  # A list of rules that belong to this policy. There must always be a default
39674
- # rule (rule with priority 2147483647 and match "*"). If no rules are provided
39675
- # when creating a security policy, a default rule with action "allow" will be
39676
- # added.
39976
+ # rule which is a rule with priority 2147483647 and match all condition (for the
39977
+ # match condition this means match "*" for srcIpRanges and for the networkMatch
39978
+ # condition every field must be either match "*" or not set). If no rules are
39979
+ # provided when creating a security policy, a default rule with action "allow"
39980
+ # will be added.
39677
39981
  # Corresponds to the JSON property `rules`
39678
39982
  # @return [Array<Google::Apis::ComputeAlpha::SecurityPolicyRule>]
39679
39983
  attr_accessor :rules
@@ -39703,6 +40007,16 @@ module Google
39703
40007
  # @return [String]
39704
40008
  attr_accessor :type
39705
40009
 
40010
+ # Definitions of user-defined fields for CLOUD_ARMOR_NETWORK policies. A user-
40011
+ # defined field consists of up to 4 bytes extracted from a fixed offset in the
40012
+ # packet, relative to the IPv4, IPv6, TCP, or UDP header, with an optional mask
40013
+ # to select certain bits. Rules may then specify matching values for these
40014
+ # fields. Example: userDefinedFields: - name: "ipv4_fragment_offset" base: IPV4
40015
+ # offset: 6 size: 2 mask: "0x1fff"
40016
+ # Corresponds to the JSON property `userDefinedFields`
40017
+ # @return [Array<Google::Apis::ComputeAlpha::SecurityPolicyUserDefinedField>]
40018
+ attr_accessor :user_defined_fields
40019
+
39706
40020
  def initialize(**args)
39707
40021
  update!(**args)
39708
40022
  end
@@ -39731,6 +40045,7 @@ module Google
39731
40045
  @self_link = args[:self_link] if args.key?(:self_link)
39732
40046
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
39733
40047
  @type = args[:type] if args.key?(:type)
40048
+ @user_defined_fields = args[:user_defined_fields] if args.key?(:user_defined_fields)
39734
40049
  end
39735
40050
  end
39736
40051
 
@@ -40179,6 +40494,12 @@ module Google
40179
40494
  # @return [Google::Apis::ComputeAlpha::SecurityPolicyRuleMatcher]
40180
40495
  attr_accessor :match
40181
40496
 
40497
+ # Represents a match condition that incoming network traffic is evaluated
40498
+ # against.
40499
+ # Corresponds to the JSON property `networkMatch`
40500
+ # @return [Google::Apis::ComputeAlpha::SecurityPolicyRuleNetworkMatcher]
40501
+ attr_accessor :network_match
40502
+
40182
40503
  # Preconfigured WAF configuration to be applied for the rule. If the rule does
40183
40504
  # not evaluate preconfigured WAF rules, i.e., if evaluatePreconfiguredWaf() is
40184
40505
  # not used, this field will have no effect.
@@ -40263,6 +40584,7 @@ module Google
40263
40584
  @header_action = args[:header_action] if args.key?(:header_action)
40264
40585
  @kind = args[:kind] if args.key?(:kind)
40265
40586
  @match = args[:match] if args.key?(:match)
40587
+ @network_match = args[:network_match] if args.key?(:network_match)
40266
40588
  @preconfigured_waf_config = args[:preconfigured_waf_config] if args.key?(:preconfigured_waf_config)
40267
40589
  @preview = args[:preview] if args.key?(:preview)
40268
40590
  @priority = args[:priority] if args.key?(:priority)
@@ -40476,6 +40798,102 @@ module Google
40476
40798
  end
40477
40799
  end
40478
40800
 
40801
+ # Represents a match condition that incoming network traffic is evaluated
40802
+ # against.
40803
+ class SecurityPolicyRuleNetworkMatcher
40804
+ include Google::Apis::Core::Hashable
40805
+
40806
+ # Destination IPv4/IPv6 addresses or CIDR prefixes, in standard text format.
40807
+ # Corresponds to the JSON property `destIpRanges`
40808
+ # @return [Array<String>]
40809
+ attr_accessor :dest_ip_ranges
40810
+
40811
+ # Destination port numbers for TCP/UDP/SCTP. Each element can be a 16-bit
40812
+ # unsigned decimal number (e.g. "80") or range (e.g. "0-1023").
40813
+ # Corresponds to the JSON property `destPorts`
40814
+ # @return [Array<String>]
40815
+ attr_accessor :dest_ports
40816
+
40817
+ # IPv4 protocol / IPv6 next header (after extension headers). Each element can
40818
+ # be an 8-bit unsigned decimal number (e.g. "6"), range (e.g. "253-254"), or one
40819
+ # of the following protocol names: "tcp", "udp", "icmp", "esp", "ah", "ipip", or
40820
+ # "sctp".
40821
+ # Corresponds to the JSON property `ipProtocols`
40822
+ # @return [Array<String>]
40823
+ attr_accessor :ip_protocols
40824
+
40825
+ # BGP Autonomous System Number associated with the source IP address.
40826
+ # Corresponds to the JSON property `srcAsns`
40827
+ # @return [Array<Fixnum>]
40828
+ attr_accessor :src_asns
40829
+
40830
+ # Source IPv4/IPv6 addresses or CIDR prefixes, in standard text format.
40831
+ # Corresponds to the JSON property `srcIpRanges`
40832
+ # @return [Array<String>]
40833
+ attr_accessor :src_ip_ranges
40834
+
40835
+ # Source port numbers for TCP/UDP/SCTP. Each element can be a 16-bit unsigned
40836
+ # decimal number (e.g. "80") or range (e.g. "0-1023").
40837
+ # Corresponds to the JSON property `srcPorts`
40838
+ # @return [Array<String>]
40839
+ attr_accessor :src_ports
40840
+
40841
+ # Two-letter ISO 3166-1 alpha-2 country code associated with the source IP
40842
+ # address.
40843
+ # Corresponds to the JSON property `srcRegionCodes`
40844
+ # @return [Array<String>]
40845
+ attr_accessor :src_region_codes
40846
+
40847
+ # User-defined fields. Each element names a defined field and lists the matching
40848
+ # values for that field.
40849
+ # Corresponds to the JSON property `userDefinedFields`
40850
+ # @return [Array<Google::Apis::ComputeAlpha::SecurityPolicyRuleNetworkMatcherUserDefinedFieldMatch>]
40851
+ attr_accessor :user_defined_fields
40852
+
40853
+ def initialize(**args)
40854
+ update!(**args)
40855
+ end
40856
+
40857
+ # Update properties of this object
40858
+ def update!(**args)
40859
+ @dest_ip_ranges = args[:dest_ip_ranges] if args.key?(:dest_ip_ranges)
40860
+ @dest_ports = args[:dest_ports] if args.key?(:dest_ports)
40861
+ @ip_protocols = args[:ip_protocols] if args.key?(:ip_protocols)
40862
+ @src_asns = args[:src_asns] if args.key?(:src_asns)
40863
+ @src_ip_ranges = args[:src_ip_ranges] if args.key?(:src_ip_ranges)
40864
+ @src_ports = args[:src_ports] if args.key?(:src_ports)
40865
+ @src_region_codes = args[:src_region_codes] if args.key?(:src_region_codes)
40866
+ @user_defined_fields = args[:user_defined_fields] if args.key?(:user_defined_fields)
40867
+ end
40868
+ end
40869
+
40870
+ #
40871
+ class SecurityPolicyRuleNetworkMatcherUserDefinedFieldMatch
40872
+ include Google::Apis::Core::Hashable
40873
+
40874
+ # Name of the user-defined field, as given in the definition.
40875
+ # Corresponds to the JSON property `name`
40876
+ # @return [String]
40877
+ attr_accessor :name
40878
+
40879
+ # Matching values of the field. Each element can be a 32-bit unsigned decimal or
40880
+ # hexadecimal (starting with "0x") number (e.g. "64") or range (e.g. "0x400-
40881
+ # 0x7ff").
40882
+ # Corresponds to the JSON property `values`
40883
+ # @return [Array<String>]
40884
+ attr_accessor :values
40885
+
40886
+ def initialize(**args)
40887
+ update!(**args)
40888
+ end
40889
+
40890
+ # Update properties of this object
40891
+ def update!(**args)
40892
+ @name = args[:name] if args.key?(:name)
40893
+ @values = args[:values] if args.key?(:values)
40894
+ end
40895
+ end
40896
+
40479
40897
  #
40480
40898
  class SecurityPolicyRulePreconfiguredWafConfig
40481
40899
  include Google::Apis::Core::Hashable
@@ -40604,19 +41022,23 @@ module Google
40604
41022
 
40605
41023
  # Determines the key to enforce the rate_limit_threshold on. Possible values are:
40606
41024
  # - ALL: A single rate limit threshold is applied to all the requests matching
40607
- # this rule. This is the default value if this field 'enforce_on_key' is not
40608
- # configured. - IP: The source IP address of the request is the key. Each IP has
40609
- # this limit enforced separately. - HTTP_HEADER: The value of the HTTP header
40610
- # whose name is configured under "enforce_on_key_name". The key value is
40611
- # truncated to the first 128 bytes of the header value. If no such header is
40612
- # present in the request, the key type defaults to ALL. - XFF_IP: The first IP
40613
- # address (i.e. the originating client IP address) specified in the list of IPs
40614
- # under X-Forwarded-For HTTP header. If no such header is present or the value
40615
- # is not a valid IP, the key defaults to the source IP address of the request i.
40616
- # e. key type IP. - HTTP_COOKIE: The value of the HTTP cookie whose name is
40617
- # configured under "enforce_on_key_name". The key value is truncated to the
40618
- # first 128 bytes of the cookie value. If no such cookie is present in the
40619
- # request, the key type defaults to ALL.
41025
+ # this rule. This is the default value if "enforceOnKey" is not configured. - IP:
41026
+ # The source IP address of the request is the key. Each IP has this limit
41027
+ # enforced separately. - HTTP_HEADER: The value of the HTTP header whose name is
41028
+ # configured under "enforceOnKeyName". The key value is truncated to the first
41029
+ # 128 bytes of the header value. If no such header is present in the request,
41030
+ # the key type defaults to ALL. - XFF_IP: The first IP address (i.e. the
41031
+ # originating client IP address) specified in the list of IPs under X-Forwarded-
41032
+ # For HTTP header. If no such header is present or the value is not a valid IP,
41033
+ # the key defaults to the source IP address of the request i.e. key type IP. -
41034
+ # HTTP_COOKIE: The value of the HTTP cookie whose name is configured under "
41035
+ # enforceOnKeyName". The key value is truncated to the first 128 bytes of the
41036
+ # cookie value. If no such cookie is present in the request, the key type
41037
+ # defaults to ALL. - HTTP_PATH: The URL path of the HTTP request. The key value
41038
+ # is truncated to the first 128 bytes. - SNI: Server name indication in the TLS
41039
+ # session of the HTTPS request. The key value is truncated to the first 128
41040
+ # bytes. The key type defaults to ALL on a HTTP session. - REGION_CODE: The
41041
+ # country/region from which the request originates.
40620
41042
  # Corresponds to the JSON property `enforceOnKey`
40621
41043
  # @return [String]
40622
41044
  attr_accessor :enforce_on_key
@@ -40747,6 +41169,59 @@ module Google
40747
41169
  end
40748
41170
  end
40749
41171
 
41172
+ #
41173
+ class SecurityPolicyUserDefinedField
41174
+ include Google::Apis::Core::Hashable
41175
+
41176
+ # The base relative to which 'offset' is measured. Possible values are: - IPV4:
41177
+ # Points to the beginning of the IPv4 header. - IPV6: Points to the beginning of
41178
+ # the IPv6 header. - TCP: Points to the beginning of the TCP header, skipping
41179
+ # over any IPv4 options or IPv6 extension headers. Not present for non-first
41180
+ # fragments. - UDP: Points to the beginning of the UDP header, skipping over any
41181
+ # IPv4 options or IPv6 extension headers. Not present for non-first fragments.
41182
+ # required
41183
+ # Corresponds to the JSON property `base`
41184
+ # @return [String]
41185
+ attr_accessor :base
41186
+
41187
+ # If specified, apply this mask (bitwise AND) to the field to ignore bits before
41188
+ # matching. Encoded as a hexadecimal number (starting with "0x"). The last byte
41189
+ # of the field (in network byte order) corresponds to the least significant byte
41190
+ # of the mask.
41191
+ # Corresponds to the JSON property `mask`
41192
+ # @return [String]
41193
+ attr_accessor :mask
41194
+
41195
+ # The name of this field. Must be unique within the policy.
41196
+ # Corresponds to the JSON property `name`
41197
+ # @return [String]
41198
+ attr_accessor :name
41199
+
41200
+ # Offset of the first byte of the field (in network byte order) relative to '
41201
+ # base'.
41202
+ # Corresponds to the JSON property `offset`
41203
+ # @return [Fixnum]
41204
+ attr_accessor :offset
41205
+
41206
+ # Size of the field in bytes. Valid values: 1-4.
41207
+ # Corresponds to the JSON property `size`
41208
+ # @return [Fixnum]
41209
+ attr_accessor :size
41210
+
41211
+ def initialize(**args)
41212
+ update!(**args)
41213
+ end
41214
+
41215
+ # Update properties of this object
41216
+ def update!(**args)
41217
+ @base = args[:base] if args.key?(:base)
41218
+ @mask = args[:mask] if args.key?(:mask)
41219
+ @name = args[:name] if args.key?(:name)
41220
+ @offset = args[:offset] if args.key?(:offset)
41221
+ @size = args[:size] if args.key?(:size)
41222
+ end
41223
+ end
41224
+
40750
41225
  # The authentication and authorization settings for a BackendService.
40751
41226
  class SecuritySettings
40752
41227
  include Google::Apis::Core::Hashable
@@ -40768,6 +41243,14 @@ module Google
40768
41243
  # @return [Google::Apis::ComputeAlpha::AuthorizationConfig]
40769
41244
  attr_accessor :authorization_config
40770
41245
 
41246
+ # Contains the configurations necessary to generate a signature for access to
41247
+ # private storage buckets that support Signature Version 4 for authentication.
41248
+ # The service name for generating the authentication header will always default
41249
+ # to 's3'.
41250
+ # Corresponds to the JSON property `awsV4Authentication`
41251
+ # @return [Google::Apis::ComputeAlpha::Awsv4Signature]
41252
+ attr_accessor :aws_v4_authentication
41253
+
40771
41254
  # Optional. A URL referring to a networksecurity.ClientTlsPolicy resource that
40772
41255
  # describes how clients should authenticate with this service's backends.
40773
41256
  # clientTlsPolicy only applies to a global BackendService with the
@@ -40808,6 +41291,7 @@ module Google
40808
41291
  @authentication = args[:authentication] if args.key?(:authentication)
40809
41292
  @authentication_policy = args[:authentication_policy] if args.key?(:authentication_policy)
40810
41293
  @authorization_config = args[:authorization_config] if args.key?(:authorization_config)
41294
+ @aws_v4_authentication = args[:aws_v4_authentication] if args.key?(:aws_v4_authentication)
40811
41295
  @client_tls_policy = args[:client_tls_policy] if args.key?(:client_tls_policy)
40812
41296
  @client_tls_settings = args[:client_tls_settings] if args.key?(:client_tls_settings)
40813
41297
  @subject_alt_names = args[:subject_alt_names] if args.key?(:subject_alt_names)
@@ -43683,8 +44167,7 @@ module Google
43683
44167
  attr_accessor :enable_private_v6_access
43684
44168
  alias_method :enable_private_v6_access?, :enable_private_v6_access
43685
44169
 
43686
- # [Output Only] The external IPv6 address range that is assigned to this
43687
- # subnetwork.
44170
+ # The external IPv6 address range that is owned by this subnetwork.
43688
44171
  # Corresponds to the JSON property `externalIpv6Prefix`
43689
44172
  # @return [String]
43690
44173
  attr_accessor :external_ipv6_prefix
@@ -44431,25 +44914,35 @@ module Google
44431
44914
  class TcpHealthCheck
44432
44915
  include Google::Apis::Core::Hashable
44433
44916
 
44434
- # The TCP port number for the health check request. The default value is 80.
44435
- # Valid values are 1 through 65535.
44917
+ # The TCP port number to which the health check prober sends packets. The
44918
+ # default value is 80. Valid values are 1 through 65535.
44436
44919
  # Corresponds to the JSON property `port`
44437
44920
  # @return [Fixnum]
44438
44921
  attr_accessor :port
44439
44922
 
44440
- # Port name as defined in InstanceGroup#NamedPort#name. If both port and
44441
- # port_name are defined, port takes precedence.
44923
+ # Not supported.
44442
44924
  # Corresponds to the JSON property `portName`
44443
44925
  # @return [String]
44444
44926
  attr_accessor :port_name
44445
44927
 
44446
- # Specifies how port is selected for health checking, can be one of following
44447
- # values: USE_FIXED_PORT: The port number in port is used for health checking.
44448
- # USE_NAMED_PORT: The portName is used for health checking. USE_SERVING_PORT:
44449
- # For NetworkEndpointGroup, the port specified for each network endpoint is used
44450
- # for health checking. For other backends, the port or named port specified in
44451
- # the Backend Service is used for health checking. If not specified, TCP health
44452
- # check follows behavior specified in port and portName fields.
44928
+ # Specifies how a port is selected for health checking. Can be one of the
44929
+ # following values: USE_FIXED_PORT: Specifies a port number explicitly using the
44930
+ # port field in the health check. Supported by backend services for pass-through
44931
+ # load balancers and backend services for proxy load balancers. Not supported by
44932
+ # target pools. The health check supports all backends supported by the backend
44933
+ # service provided the backend can be health checked. For example, GCE_VM_IP
44934
+ # network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance
44935
+ # group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an
44936
+ # indirect method of specifying the health check port by referring to the
44937
+ # backend service. Only supported by backend services for proxy load balancers.
44938
+ # Not supported by target pools. Not supported by backend services for pass-
44939
+ # through load balancers. Supports all backends that can be health checked; for
44940
+ # example, GCE_VM_IP_PORT network endpoint groups and instance group backends.
44941
+ # For GCE_VM_IP_PORT network endpoint group backends, the health check uses the
44942
+ # port number specified for each endpoint in the network endpoint group. For
44943
+ # instance group backends, the health check uses the port number determined by
44944
+ # looking up the backend service's named port in the instance group's list of
44945
+ # named ports.
44453
44946
  # Corresponds to the JSON property `portSpecification`
44454
44947
  # @return [String]
44455
44948
  attr_accessor :port_specification
@@ -44460,17 +44953,17 @@ module Google
44460
44953
  # @return [String]
44461
44954
  attr_accessor :proxy_header
44462
44955
 
44463
- # The application data to send once the TCP connection has been established (
44464
- # default value is empty). If both request and response are empty, the
44465
- # connection establishment alone will indicate health. The request data can only
44466
- # be ASCII.
44956
+ # Instructs the health check prober to send this exact ASCII string, up to 1024
44957
+ # bytes in length, after establishing the TCP connection.
44467
44958
  # Corresponds to the JSON property `request`
44468
44959
  # @return [String]
44469
44960
  attr_accessor :request
44470
44961
 
44471
- # The bytes to match against the beginning of the response data. If left empty (
44472
- # the default value), any response will indicate health. The response data can
44473
- # only be ASCII.
44962
+ # Creates a content-based TCP health check. In addition to establishing a TCP
44963
+ # connection, you can configure the health check to pass only when the backend
44964
+ # sends this exact response ASCII string, up to 1024 bytes in length. For
44965
+ # details, see: https://cloud.google.com/load-balancing/docs/health-check-
44966
+ # concepts#criteria-protocol-ssl-tcp
44474
44967
  # Corresponds to the JSON property `response`
44475
44968
  # @return [String]
44476
44969
  attr_accessor :response
@@ -45858,6 +46351,12 @@ module Google
45858
46351
  # @return [String]
45859
46352
  attr_accessor :network
45860
46353
 
46354
+ # [Output Only] The resource URL for the security policy associated with this
46355
+ # target instance.
46356
+ # Corresponds to the JSON property `securityPolicy`
46357
+ # @return [String]
46358
+ attr_accessor :security_policy
46359
+
45861
46360
  # [Output Only] Server-defined URL for the resource.
45862
46361
  # Corresponds to the JSON property `selfLink`
45863
46362
  # @return [String]
@@ -45889,6 +46388,7 @@ module Google
45889
46388
  @name = args[:name] if args.key?(:name)
45890
46389
  @nat_policy = args[:nat_policy] if args.key?(:nat_policy)
45891
46390
  @network = args[:network] if args.key?(:network)
46391
+ @security_policy = args[:security_policy] if args.key?(:security_policy)
45892
46392
  @self_link = args[:self_link] if args.key?(:self_link)
45893
46393
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
45894
46394
  @zone = args[:zone] if args.key?(:zone)
@@ -46313,6 +46813,12 @@ module Google
46313
46813
  # @return [String]
46314
46814
  attr_accessor :region
46315
46815
 
46816
+ # [Output Only] The resource URL for the security policy associated with this
46817
+ # target pool.
46818
+ # Corresponds to the JSON property `securityPolicy`
46819
+ # @return [String]
46820
+ attr_accessor :security_policy
46821
+
46316
46822
  # [Output Only] Server-defined URL for the resource.
46317
46823
  # Corresponds to the JSON property `selfLink`
46318
46824
  # @return [String]
@@ -46349,6 +46855,7 @@ module Google
46349
46855
  @kind = args[:kind] if args.key?(:kind)
46350
46856
  @name = args[:name] if args.key?(:name)
46351
46857
  @region = args[:region] if args.key?(:region)
46858
+ @security_policy = args[:security_policy] if args.key?(:security_policy)
46352
46859
  @self_link = args[:self_link] if args.key?(:self_link)
46353
46860
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
46354
46861
  @session_affinity = args[:session_affinity] if args.key?(:session_affinity)
@@ -47110,6 +47617,97 @@ module Google
47110
47617
  end
47111
47618
  end
47112
47619
 
47620
+ #
47621
+ class TargetTcpProxiesScopedList
47622
+ include Google::Apis::Core::Hashable
47623
+
47624
+ # A list of TargetTcpProxies contained in this scope.
47625
+ # Corresponds to the JSON property `targetTcpProxies`
47626
+ # @return [Array<Google::Apis::ComputeAlpha::TargetTcpProxy>]
47627
+ attr_accessor :target_tcp_proxies
47628
+
47629
+ # Informational warning which replaces the list of backend services when the
47630
+ # list is empty.
47631
+ # Corresponds to the JSON property `warning`
47632
+ # @return [Google::Apis::ComputeAlpha::TargetTcpProxiesScopedList::Warning]
47633
+ attr_accessor :warning
47634
+
47635
+ def initialize(**args)
47636
+ update!(**args)
47637
+ end
47638
+
47639
+ # Update properties of this object
47640
+ def update!(**args)
47641
+ @target_tcp_proxies = args[:target_tcp_proxies] if args.key?(:target_tcp_proxies)
47642
+ @warning = args[:warning] if args.key?(:warning)
47643
+ end
47644
+
47645
+ # Informational warning which replaces the list of backend services when the
47646
+ # list is empty.
47647
+ class Warning
47648
+ include Google::Apis::Core::Hashable
47649
+
47650
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
47651
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
47652
+ # Corresponds to the JSON property `code`
47653
+ # @return [String]
47654
+ attr_accessor :code
47655
+
47656
+ # [Output Only] Metadata about this warning in key: value format. For example: "
47657
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
47658
+ # Corresponds to the JSON property `data`
47659
+ # @return [Array<Google::Apis::ComputeAlpha::TargetTcpProxiesScopedList::Warning::Datum>]
47660
+ attr_accessor :data
47661
+
47662
+ # [Output Only] A human-readable description of the warning code.
47663
+ # Corresponds to the JSON property `message`
47664
+ # @return [String]
47665
+ attr_accessor :message
47666
+
47667
+ def initialize(**args)
47668
+ update!(**args)
47669
+ end
47670
+
47671
+ # Update properties of this object
47672
+ def update!(**args)
47673
+ @code = args[:code] if args.key?(:code)
47674
+ @data = args[:data] if args.key?(:data)
47675
+ @message = args[:message] if args.key?(:message)
47676
+ end
47677
+
47678
+ #
47679
+ class Datum
47680
+ include Google::Apis::Core::Hashable
47681
+
47682
+ # [Output Only] A key that provides more detail on the warning being returned.
47683
+ # For example, for warnings where there are no results in a list request for a
47684
+ # particular zone, this key might be scope and the key value might be the zone
47685
+ # name. Other examples might be a key indicating a deprecated resource and a
47686
+ # suggested replacement, or a warning about invalid network settings (for
47687
+ # example, if an instance attempts to perform IP forwarding but is not enabled
47688
+ # for IP forwarding).
47689
+ # Corresponds to the JSON property `key`
47690
+ # @return [String]
47691
+ attr_accessor :key
47692
+
47693
+ # [Output Only] A warning data value corresponding to the key.
47694
+ # Corresponds to the JSON property `value`
47695
+ # @return [String]
47696
+ attr_accessor :value
47697
+
47698
+ def initialize(**args)
47699
+ update!(**args)
47700
+ end
47701
+
47702
+ # Update properties of this object
47703
+ def update!(**args)
47704
+ @key = args[:key] if args.key?(:key)
47705
+ @value = args[:value] if args.key?(:value)
47706
+ end
47707
+ end
47708
+ end
47709
+ end
47710
+
47113
47711
  #
47114
47712
  class TargetTcpProxiesSetBackendServiceRequest
47115
47713
  include Google::Apis::Core::Hashable
@@ -47243,6 +47841,130 @@ module Google
47243
47841
  end
47244
47842
  end
47245
47843
 
47844
+ #
47845
+ class TargetTcpProxyAggregatedList
47846
+ include Google::Apis::Core::Hashable
47847
+
47848
+ # [Output Only] Unique identifier for the resource; defined by the server.
47849
+ # Corresponds to the JSON property `id`
47850
+ # @return [String]
47851
+ attr_accessor :id
47852
+
47853
+ # A list of TargetTcpProxiesScopedList resources.
47854
+ # Corresponds to the JSON property `items`
47855
+ # @return [Hash<String,Google::Apis::ComputeAlpha::TargetTcpProxiesScopedList>]
47856
+ attr_accessor :items
47857
+
47858
+ # [Output Only] Type of resource. Always compute#targetTcpProxyAggregatedList
47859
+ # for lists of Target TCP Proxies.
47860
+ # Corresponds to the JSON property `kind`
47861
+ # @return [String]
47862
+ attr_accessor :kind
47863
+
47864
+ # [Output Only] This token allows you to get the next page of results for list
47865
+ # requests. If the number of results is larger than maxResults, use the
47866
+ # nextPageToken as a value for the query parameter pageToken in the next list
47867
+ # request. Subsequent list requests will have their own nextPageToken to
47868
+ # continue paging through the results.
47869
+ # Corresponds to the JSON property `nextPageToken`
47870
+ # @return [String]
47871
+ attr_accessor :next_page_token
47872
+
47873
+ # [Output Only] Server-defined URL for this resource.
47874
+ # Corresponds to the JSON property `selfLink`
47875
+ # @return [String]
47876
+ attr_accessor :self_link
47877
+
47878
+ # [Output Only] Unreachable resources.
47879
+ # Corresponds to the JSON property `unreachables`
47880
+ # @return [Array<String>]
47881
+ attr_accessor :unreachables
47882
+
47883
+ # [Output Only] Informational warning message.
47884
+ # Corresponds to the JSON property `warning`
47885
+ # @return [Google::Apis::ComputeAlpha::TargetTcpProxyAggregatedList::Warning]
47886
+ attr_accessor :warning
47887
+
47888
+ def initialize(**args)
47889
+ update!(**args)
47890
+ end
47891
+
47892
+ # Update properties of this object
47893
+ def update!(**args)
47894
+ @id = args[:id] if args.key?(:id)
47895
+ @items = args[:items] if args.key?(:items)
47896
+ @kind = args[:kind] if args.key?(:kind)
47897
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
47898
+ @self_link = args[:self_link] if args.key?(:self_link)
47899
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
47900
+ @warning = args[:warning] if args.key?(:warning)
47901
+ end
47902
+
47903
+ # [Output Only] Informational warning message.
47904
+ class Warning
47905
+ include Google::Apis::Core::Hashable
47906
+
47907
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
47908
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
47909
+ # Corresponds to the JSON property `code`
47910
+ # @return [String]
47911
+ attr_accessor :code
47912
+
47913
+ # [Output Only] Metadata about this warning in key: value format. For example: "
47914
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
47915
+ # Corresponds to the JSON property `data`
47916
+ # @return [Array<Google::Apis::ComputeAlpha::TargetTcpProxyAggregatedList::Warning::Datum>]
47917
+ attr_accessor :data
47918
+
47919
+ # [Output Only] A human-readable description of the warning code.
47920
+ # Corresponds to the JSON property `message`
47921
+ # @return [String]
47922
+ attr_accessor :message
47923
+
47924
+ def initialize(**args)
47925
+ update!(**args)
47926
+ end
47927
+
47928
+ # Update properties of this object
47929
+ def update!(**args)
47930
+ @code = args[:code] if args.key?(:code)
47931
+ @data = args[:data] if args.key?(:data)
47932
+ @message = args[:message] if args.key?(:message)
47933
+ end
47934
+
47935
+ #
47936
+ class Datum
47937
+ include Google::Apis::Core::Hashable
47938
+
47939
+ # [Output Only] A key that provides more detail on the warning being returned.
47940
+ # For example, for warnings where there are no results in a list request for a
47941
+ # particular zone, this key might be scope and the key value might be the zone
47942
+ # name. Other examples might be a key indicating a deprecated resource and a
47943
+ # suggested replacement, or a warning about invalid network settings (for
47944
+ # example, if an instance attempts to perform IP forwarding but is not enabled
47945
+ # for IP forwarding).
47946
+ # Corresponds to the JSON property `key`
47947
+ # @return [String]
47948
+ attr_accessor :key
47949
+
47950
+ # [Output Only] A warning data value corresponding to the key.
47951
+ # Corresponds to the JSON property `value`
47952
+ # @return [String]
47953
+ attr_accessor :value
47954
+
47955
+ def initialize(**args)
47956
+ update!(**args)
47957
+ end
47958
+
47959
+ # Update properties of this object
47960
+ def update!(**args)
47961
+ @key = args[:key] if args.key?(:key)
47962
+ @value = args[:value] if args.key?(:value)
47963
+ end
47964
+ end
47965
+ end
47966
+ end
47967
+
47246
47968
  # Contains a list of TargetTcpProxy resources.
47247
47969
  class TargetTcpProxyList
47248
47970
  include Google::Apis::Core::Hashable
@@ -48049,14 +48771,13 @@ module Google
48049
48771
  class UdpHealthCheck
48050
48772
  include Google::Apis::Core::Hashable
48051
48773
 
48052
- # The UDP port number for the health check request. Valid values are 1 through
48053
- # 65535.
48774
+ # The UDP port number to which the health check prober sends packets. Valid
48775
+ # values are 1 through 65535.
48054
48776
  # Corresponds to the JSON property `port`
48055
48777
  # @return [Fixnum]
48056
48778
  attr_accessor :port
48057
48779
 
48058
- # Port name as defined in InstanceGroup#NamedPort#name. If both port and
48059
- # port_name are defined, port takes precedence.
48780
+ # Not supported.
48060
48781
  # Corresponds to the JSON property `portName`
48061
48782
  # @return [String]
48062
48783
  attr_accessor :port_name
@@ -48937,6 +49658,22 @@ module Google
48937
49658
  # @return [String]
48938
49659
  attr_accessor :path_prefix_rewrite
48939
49660
 
49661
+ # If specified, the pattern rewrites the URL path (based on the :path header)
49662
+ # using the HTTP template syntax. A corresponding path_template_match must be
49663
+ # specified. Any template variables must exist in the path_template_match field.
49664
+ # - -At least one variable must be specified in the path_template_match field -
49665
+ # You can omit variables from the rewritten URL - The * and ** operators cannot
49666
+ # be matched unless they have a corresponding variable name - e.g. `format=*` or
49667
+ # `var=**`. For example, a path_template_match of /static/`format=**` could be
49668
+ # rewritten as /static/content/`format` to prefix /content to the URL. Variables
49669
+ # can also be re-ordered in a rewrite, so that /`country`/`format`/`suffix=**`
49670
+ # can be rewritten as /content/`format`/`country`/`suffix`. At least one non-
49671
+ # empty routeRules[].matchRules[].path_template_match is required. Only one of
49672
+ # path_prefix_rewrite or path_template_rewrite may be specified.
49673
+ # Corresponds to the JSON property `pathTemplateRewrite`
49674
+ # @return [String]
49675
+ attr_accessor :path_template_rewrite
49676
+
48940
49677
  def initialize(**args)
48941
49678
  update!(**args)
48942
49679
  end
@@ -48945,6 +49682,7 @@ module Google
48945
49682
  def update!(**args)
48946
49683
  @host_rewrite = args[:host_rewrite] if args.key?(:host_rewrite)
48947
49684
  @path_prefix_rewrite = args[:path_prefix_rewrite] if args.key?(:path_prefix_rewrite)
49685
+ @path_template_rewrite = args[:path_template_rewrite] if args.key?(:path_template_rewrite)
48948
49686
  end
48949
49687
  end
48950
49688
 
@@ -49552,7 +50290,8 @@ module Google
49552
50290
  attr_accessor :self_link
49553
50291
 
49554
50292
  # The stack type for this VPN gateway to identify the IP protocols that are
49555
- # enabled. If not specified, IPV4_ONLY will be used.
50293
+ # enabled. Possible values are: IPV4_ONLY, IPV4_IPV6. If not specified,
50294
+ # IPV4_ONLY will be used.
49556
50295
  # Corresponds to the JSON property `stackType`
49557
50296
  # @return [String]
49558
50297
  attr_accessor :stack_type
@@ -50182,7 +50921,9 @@ module Google
50182
50921
  attr_accessor :peer_external_gateway
50183
50922
 
50184
50923
  # The interface ID of the external VPN gateway to which this VPN tunnel is
50185
- # connected. Provided by the client when the VPN tunnel is created.
50924
+ # connected. Provided by the client when the VPN tunnel is created. Possible
50925
+ # values are: `0`, `1`, `2`, `3`. The number of IDs in use depends on the
50926
+ # external VPN gateway redundancy type.
50186
50927
  # Corresponds to the JSON property `peerExternalGatewayInterface`
50187
50928
  # @return [Fixnum]
50188
50929
  attr_accessor :peer_external_gateway_interface
@@ -50273,6 +51014,7 @@ module Google
50273
51014
  attr_accessor :vpn_gateway
50274
51015
 
50275
51016
  # The interface ID of the VPN gateway with which this VPN tunnel is associated.
51017
+ # Possible values are: `0`, `1`.
50276
51018
  # Corresponds to the JSON property `vpnGatewayInterface`
50277
51019
  # @return [Fixnum]
50278
51020
  attr_accessor :vpn_gateway_interface