google-apis-compute_alpha 0.50.0 → 0.52.0

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