google-apis-compute_alpha 0.41.0 → 0.44.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1598,6 +1598,14 @@ module Google
1598
1598
  # @return [Array<String>]
1599
1599
  attr_accessor :replica_zones
1600
1600
 
1601
+ # Resource manager tags to be bound to the disk. Tag keys and values have the
1602
+ # same definition as resource manager tags. Keys must be in the format `tagKeys/`
1603
+ # tag_key_id``, and values are in the format `tagValues/456`. The field is
1604
+ # ignored (both PUT & PATCH) when empty.
1605
+ # Corresponds to the JSON property `resourceManagerTags`
1606
+ # @return [Hash<String,String>]
1607
+ attr_accessor :resource_manager_tags
1608
+
1601
1609
  # Resource policies applied to this disk for automatic snapshot creations.
1602
1610
  # Specified using the full or partial URL. For instance template, specify only
1603
1611
  # the resource policy name.
@@ -1677,6 +1685,7 @@ module Google
1677
1685
  @on_update_action = args[:on_update_action] if args.key?(:on_update_action)
1678
1686
  @provisioned_iops = args[:provisioned_iops] if args.key?(:provisioned_iops)
1679
1687
  @replica_zones = args[:replica_zones] if args.key?(:replica_zones)
1688
+ @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
1680
1689
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
1681
1690
  @source_image = args[:source_image] if args.key?(:source_image)
1682
1691
  @source_image_encryption_key = args[:source_image_encryption_key] if args.key?(:source_image_encryption_key)
@@ -2826,7 +2835,7 @@ module Google
2826
2835
  # @return [Float]
2827
2836
  attr_accessor :max_rate_per_instance
2828
2837
 
2829
- # Optional parameter to define a target capacity for the UTILIZATIONbalancing
2838
+ # Optional parameter to define a target capacity for the UTILIZATION balancing
2830
2839
  # mode. The valid range is [0.0, 1.0]. For usage guidelines, see Utilization
2831
2840
  # balancing mode.
2832
2841
  # Corresponds to the JSON property `maxUtilization`
@@ -6070,6 +6079,95 @@ module Google
6070
6079
  end
6071
6080
  end
6072
6081
 
6082
+ # Specifies the custom error response policy that must be applied when the
6083
+ # backend service or backend bucket responds with an error.
6084
+ class CustomErrorResponsePolicy
6085
+ include Google::Apis::Core::Hashable
6086
+
6087
+ # Specifies rules for returning error responses. In a given policy, if you
6088
+ # specify rules for both a range of error codes as well as rules for specific
6089
+ # error codes then rules with specific error codes have a higher priority. For
6090
+ # example, assume that you configure a rule for 401 (Un-authorized) code, and
6091
+ # another for all 4 series error codes (4XX). If the backend service returns a
6092
+ # 401, then the rule for 401 will be applied. However if the backend service
6093
+ # returns a 403, the rule for 4xx takes effect.
6094
+ # Corresponds to the JSON property `errorResponseRules`
6095
+ # @return [Array<Google::Apis::ComputeAlpha::CustomErrorResponsePolicyCustomErrorResponseRule>]
6096
+ attr_accessor :error_response_rules
6097
+
6098
+ # The full or partial URL to the BackendBucket resource that contains the custom
6099
+ # error content. Examples are: - https://www.googleapis.com/compute/v1/projects/
6100
+ # project/global/backendBuckets/myBackendBucket - compute/v1/projects/project/
6101
+ # global/backendBuckets/myBackendBucket - global/backendBuckets/myBackendBucket
6102
+ # If errorService is not specified at lower levels like pathMatcher, pathRule
6103
+ # and routeRule, an errorService specified at a higher level in the UrlMap will
6104
+ # be used. If UrlMap.defaultCustomErrorResponsePolicy contains one or more
6105
+ # errorResponseRules[], it must specify errorService. If load balancer cannot
6106
+ # reach the backendBucket, a simple Not Found Error will be returned, with the
6107
+ # original response code (or overrideResponseCode if configured). errorService
6108
+ # is not supported for internal or regional HTTP/HTTPS load balancers.
6109
+ # Corresponds to the JSON property `errorService`
6110
+ # @return [String]
6111
+ attr_accessor :error_service
6112
+
6113
+ def initialize(**args)
6114
+ update!(**args)
6115
+ end
6116
+
6117
+ # Update properties of this object
6118
+ def update!(**args)
6119
+ @error_response_rules = args[:error_response_rules] if args.key?(:error_response_rules)
6120
+ @error_service = args[:error_service] if args.key?(:error_service)
6121
+ end
6122
+ end
6123
+
6124
+ # Specifies the mapping between the response code that will be returned along
6125
+ # with the custom error content and the response code returned by the backend
6126
+ # service.
6127
+ class CustomErrorResponsePolicyCustomErrorResponseRule
6128
+ include Google::Apis::Core::Hashable
6129
+
6130
+ # Valid values include: - A number between 400 and 599: For example 401 or 503,
6131
+ # in which case the load balancer applies the policy if the error code exactly
6132
+ # matches this value. - 5xx: Load Balancer will apply the policy if the backend
6133
+ # service responds with any response code in the range of 500 to 599. - 4xx:
6134
+ # Load Balancer will apply the policy if the backend service responds with any
6135
+ # response code in the range of 400 to 499. Values must be unique within
6136
+ # matchResponseCodes and across all errorResponseRules of
6137
+ # CustomErrorResponsePolicy.
6138
+ # Corresponds to the JSON property `matchResponseCodes`
6139
+ # @return [Array<String>]
6140
+ attr_accessor :match_response_codes
6141
+
6142
+ # The HTTP status code returned with the response containing the custom error
6143
+ # content. If overrideResponseCode is not supplied, the same response code
6144
+ # returned by the original backend bucket or backend service is returned to the
6145
+ # client.
6146
+ # Corresponds to the JSON property `overrideResponseCode`
6147
+ # @return [Fixnum]
6148
+ attr_accessor :override_response_code
6149
+
6150
+ # The full path to a file within backendBucket . For example: /errors/
6151
+ # defaultError.html path must start with a leading slash. path cannot have
6152
+ # trailing slashes. If the file is not available in backendBucket or the load
6153
+ # balancer cannot reach the BackendBucket, a simple Not Found Error is returned
6154
+ # to the client. The value must be from 1 to 1024 characters
6155
+ # Corresponds to the JSON property `path`
6156
+ # @return [String]
6157
+ attr_accessor :path
6158
+
6159
+ def initialize(**args)
6160
+ update!(**args)
6161
+ end
6162
+
6163
+ # Update properties of this object
6164
+ def update!(**args)
6165
+ @match_response_codes = args[:match_response_codes] if args.key?(:match_response_codes)
6166
+ @override_response_code = args[:override_response_code] if args.key?(:override_response_code)
6167
+ @path = args[:path] if args.key?(:path)
6168
+ end
6169
+ end
6170
+
6073
6171
  #
6074
6172
  class CustomerEncryptionKey
6075
6173
  include Google::Apis::Core::Hashable
@@ -6389,6 +6487,11 @@ module Google
6389
6487
  # @return [String]
6390
6488
  attr_accessor :options
6391
6489
 
6490
+ # Additional disk params.
6491
+ # Corresponds to the JSON property `params`
6492
+ # @return [Google::Apis::ComputeAlpha::DiskParams]
6493
+ attr_accessor :params
6494
+
6392
6495
  # Physical block size of the persistent disk, in bytes. If not present in a
6393
6496
  # request, a default value is used. The currently supported size is 4096, other
6394
6497
  # sizes may be added in the future. If an unsupported value is requested, the
@@ -6635,6 +6738,7 @@ module Google
6635
6738
  @multi_writer = args[:multi_writer] if args.key?(:multi_writer)
6636
6739
  @name = args[:name] if args.key?(:name)
6637
6740
  @options = args[:options] if args.key?(:options)
6741
+ @params = args[:params] if args.key?(:params)
6638
6742
  @physical_block_size_bytes = args[:physical_block_size_bytes] if args.key?(:physical_block_size_bytes)
6639
6743
  @provisioned_iops = args[:provisioned_iops] if args.key?(:provisioned_iops)
6640
6744
  @region = args[:region] if args.key?(:region)
@@ -7042,6 +7146,28 @@ module Google
7042
7146
  end
7043
7147
  end
7044
7148
 
7149
+ # Additional disk params.
7150
+ class DiskParams
7151
+ include Google::Apis::Core::Hashable
7152
+
7153
+ # Resource manager tags to be bound to the disk. Tag keys and values have the
7154
+ # same definition as resource manager tags. Keys must be in the format `tagKeys/`
7155
+ # tag_key_id``, and values are in the format `tagValues/456`. The field is
7156
+ # ignored (both PUT & PATCH) when empty.
7157
+ # Corresponds to the JSON property `resourceManagerTags`
7158
+ # @return [Hash<String,String>]
7159
+ attr_accessor :resource_manager_tags
7160
+
7161
+ def initialize(**args)
7162
+ update!(**args)
7163
+ end
7164
+
7165
+ # Update properties of this object
7166
+ def update!(**args)
7167
+ @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
7168
+ end
7169
+ end
7170
+
7045
7171
  #
7046
7172
  class DiskResourceStatus
7047
7173
  include Google::Apis::Core::Hashable
@@ -13461,6 +13587,12 @@ module Google
13461
13587
  class HttpRouteRule
13462
13588
  include Google::Apis::Core::Hashable
13463
13589
 
13590
+ # Specifies the custom error response policy that must be applied when the
13591
+ # backend service or backend bucket responds with an error.
13592
+ # Corresponds to the JSON property `customErrorResponsePolicy`
13593
+ # @return [Google::Apis::ComputeAlpha::CustomErrorResponsePolicy]
13594
+ attr_accessor :custom_error_response_policy
13595
+
13464
13596
  # The short description conveying the intent of this routeRule. The description
13465
13597
  # can have a maximum length of 1024 characters.
13466
13598
  # Corresponds to the JSON property `description`
@@ -13550,6 +13682,7 @@ module Google
13550
13682
 
13551
13683
  # Update properties of this object
13552
13684
  def update!(**args)
13685
+ @custom_error_response_policy = args[:custom_error_response_policy] if args.key?(:custom_error_response_policy)
13553
13686
  @description = args[:description] if args.key?(:description)
13554
13687
  @header_action = args[:header_action] if args.key?(:header_action)
13555
13688
  @http_filter_configs = args[:http_filter_configs] if args.key?(:http_filter_configs)
@@ -14651,7 +14784,7 @@ module Google
14651
14784
  attr_accessor :satisfies_pzs
14652
14785
  alias_method :satisfies_pzs?, :satisfies_pzs
14653
14786
 
14654
- # Sets the scheduling options for an Instance. NextID: 21
14787
+ # Sets the scheduling options for an Instance.
14655
14788
  # Corresponds to the JSON property `scheduling`
14656
14789
  # @return [Google::Apis::ComputeAlpha::Scheduling]
14657
14790
  attr_accessor :scheduling
@@ -18152,7 +18285,7 @@ module Google
18152
18285
  # @return [Array<String>]
18153
18286
  attr_accessor :resource_policies
18154
18287
 
18155
- # Sets the scheduling options for an Instance. NextID: 21
18288
+ # Sets the scheduling options for an Instance.
18156
18289
  # Corresponds to the JSON property `scheduling`
18157
18290
  # @return [Google::Apis::ComputeAlpha::Scheduling]
18158
18291
  attr_accessor :scheduling
@@ -19856,6 +19989,12 @@ module Google
19856
19989
  # @return [String]
19857
19990
  attr_accessor :cloud_router_ipv6_interface_id
19858
19991
 
19992
+ # [Output Only] Constraints for this attachment, if any. The attachment does not
19993
+ # work if these constraints are not met.
19994
+ # Corresponds to the JSON property `configurationConstraints`
19995
+ # @return [Google::Apis::ComputeAlpha::InterconnectAttachmentConfigurationConstraints]
19996
+ attr_accessor :configuration_constraints
19997
+
19859
19998
  # [Output Only] Creation timestamp in RFC3339 text format.
19860
19999
  # Corresponds to the JSON property `creationTimestamp`
19861
20000
  # @return [String]
@@ -20037,6 +20176,15 @@ module Google
20037
20176
  # @return [String]
20038
20177
  attr_accessor :region
20039
20178
 
20179
+ # [Output Only] If the attachment is on a Cross-Cloud Interconnect connection,
20180
+ # this field contains the interconnect's remote location service provider.
20181
+ # Example values: "Amazon Web Services" "Microsoft Azure". The field is set only
20182
+ # for attachments on Cross-Cloud Interconnect connections. Its value is copied
20183
+ # from the InterconnectRemoteLocation remoteService field.
20184
+ # Corresponds to the JSON property `remoteService`
20185
+ # @return [String]
20186
+ attr_accessor :remote_service
20187
+
20040
20188
  # URL of the Cloud Router to be used for dynamic routing. This router must be in
20041
20189
  # the same region as this InterconnectAttachment. The InterconnectAttachment
20042
20190
  # will automatically connect the Interconnect to the network & region within
@@ -20090,6 +20238,17 @@ module Google
20090
20238
  # @return [String]
20091
20239
  attr_accessor :state
20092
20240
 
20241
+ # Length of the IPv4 subnet mask. Allowed values: - 29 (default) - 30 The
20242
+ # default value is 29, except for Cross-Cloud Interconnect connections that use
20243
+ # an InterconnectRemoteLocation with a constraints.subnetLengthRange.min equal
20244
+ # to 30. For example, connections that use an Azure remote location fall into
20245
+ # this category. In these cases, the default value is 30, and requesting 29
20246
+ # returns an error. Where both 29 and 30 are allowed, 29 is preferred, because
20247
+ # it gives Google Cloud Support more debugging visibility.
20248
+ # Corresponds to the JSON property `subnetLength`
20249
+ # @return [Fixnum]
20250
+ attr_accessor :subnet_length
20251
+
20093
20252
  # The type of interconnect attachment this is, which can take one of the
20094
20253
  # following values: - DEDICATED: an attachment to a Dedicated Interconnect. -
20095
20254
  # PARTNER: an attachment to a Partner Interconnect, created by the customer. -
@@ -20118,6 +20277,7 @@ module Google
20118
20277
  @cloud_router_ip_address = args[:cloud_router_ip_address] if args.key?(:cloud_router_ip_address)
20119
20278
  @cloud_router_ipv6_address = args[:cloud_router_ipv6_address] if args.key?(:cloud_router_ipv6_address)
20120
20279
  @cloud_router_ipv6_interface_id = args[:cloud_router_ipv6_interface_id] if args.key?(:cloud_router_ipv6_interface_id)
20280
+ @configuration_constraints = args[:configuration_constraints] if args.key?(:configuration_constraints)
20121
20281
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
20122
20282
  @customer_router_ip_address = args[:customer_router_ip_address] if args.key?(:customer_router_ip_address)
20123
20283
  @customer_router_ipv6_address = args[:customer_router_ipv6_address] if args.key?(:customer_router_ipv6_address)
@@ -20141,12 +20301,14 @@ module Google
20141
20301
  @partner_metadata = args[:partner_metadata] if args.key?(:partner_metadata)
20142
20302
  @private_interconnect_info = args[:private_interconnect_info] if args.key?(:private_interconnect_info)
20143
20303
  @region = args[:region] if args.key?(:region)
20304
+ @remote_service = args[:remote_service] if args.key?(:remote_service)
20144
20305
  @router = args[:router] if args.key?(:router)
20145
20306
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
20146
20307
  @self_link = args[:self_link] if args.key?(:self_link)
20147
20308
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
20148
20309
  @stack_type = args[:stack_type] if args.key?(:stack_type)
20149
20310
  @state = args[:state] if args.key?(:state)
20311
+ @subnet_length = args[:subnet_length] if args.key?(:subnet_length)
20150
20312
  @type = args[:type] if args.key?(:type)
20151
20313
  @vlan_tag8021q = args[:vlan_tag8021q] if args.key?(:vlan_tag8021q)
20152
20314
  end
@@ -20277,6 +20439,75 @@ module Google
20277
20439
  end
20278
20440
  end
20279
20441
 
20442
+ #
20443
+ class InterconnectAttachmentConfigurationConstraints
20444
+ include Google::Apis::Core::Hashable
20445
+
20446
+ # [Output Only] Whether the attachment's BGP session requires/allows/disallows
20447
+ # BGP MD5 authentication. This can take one of the following values:
20448
+ # MD5_OPTIONAL, MD5_REQUIRED, MD5_UNSUPPORTED. For example, a Cross-Cloud
20449
+ # Interconnect connection to a remote cloud provider that requires BGP MD5
20450
+ # authentication has the interconnectRemoteLocation
20451
+ # attachment_configuration_constraints.bgp_md5 field set to MD5_REQUIRED, and
20452
+ # that property is propagated to the attachment. Similarly, if BGP MD5 is
20453
+ # MD5_UNSUPPORTED, an error is returned if MD5 is requested.
20454
+ # Corresponds to the JSON property `bgpMd5`
20455
+ # @return [String]
20456
+ attr_accessor :bgp_md5
20457
+
20458
+ # [Output Only] List of ASN ranges that the remote location is known to support.
20459
+ # Formatted as an array of inclusive ranges `min: min-value, max: max-value`.
20460
+ # For example, [`min: 123, max: 123`, `min: 64512, max: 65534`] allows the peer
20461
+ # ASN to be 123 or anything in the range 64512-65534. This field is only
20462
+ # advisory. Although the API accepts other ranges, these are the ranges that we
20463
+ # recommend.
20464
+ # Corresponds to the JSON property `bgpPeerAsnRanges`
20465
+ # @return [Array<Google::Apis::ComputeAlpha::InterconnectAttachmentConfigurationConstraintsBgpPeerAsnRange>]
20466
+ attr_accessor :bgp_peer_asn_ranges
20467
+
20468
+ # [Output Only] Network Connectivity Center constraints, which can take one of
20469
+ # the following values: NCC_UNCONSTRAINED, NCC_SPOKE_REQUIRED
20470
+ # Corresponds to the JSON property `networkConnectivityCenter`
20471
+ # @return [String]
20472
+ attr_accessor :network_connectivity_center
20473
+
20474
+ def initialize(**args)
20475
+ update!(**args)
20476
+ end
20477
+
20478
+ # Update properties of this object
20479
+ def update!(**args)
20480
+ @bgp_md5 = args[:bgp_md5] if args.key?(:bgp_md5)
20481
+ @bgp_peer_asn_ranges = args[:bgp_peer_asn_ranges] if args.key?(:bgp_peer_asn_ranges)
20482
+ @network_connectivity_center = args[:network_connectivity_center] if args.key?(:network_connectivity_center)
20483
+ end
20484
+ end
20485
+
20486
+ #
20487
+ class InterconnectAttachmentConfigurationConstraintsBgpPeerAsnRange
20488
+ include Google::Apis::Core::Hashable
20489
+
20490
+ #
20491
+ # Corresponds to the JSON property `max`
20492
+ # @return [Fixnum]
20493
+ attr_accessor :max
20494
+
20495
+ #
20496
+ # Corresponds to the JSON property `min`
20497
+ # @return [Fixnum]
20498
+ attr_accessor :min
20499
+
20500
+ def initialize(**args)
20501
+ update!(**args)
20502
+ end
20503
+
20504
+ # Update properties of this object
20505
+ def update!(**args)
20506
+ @max = args[:max] if args.key?(:max)
20507
+ @min = args[:min] if args.key?(:min)
20508
+ end
20509
+ end
20510
+
20280
20511
  # Response to the list request, and contains a list of interconnect attachments.
20281
20512
  class InterconnectAttachmentList
20282
20513
  include Google::Apis::Core::Hashable
@@ -21430,12 +21661,25 @@ module Google
21430
21661
  # @return [String]
21431
21662
  attr_accessor :address
21432
21663
 
21664
+ # [Output Only] Subset of fields from InterconnectAttachment's |
21665
+ # configurationConstraints| field that apply to all attachments for this remote
21666
+ # location.
21667
+ # Corresponds to the JSON property `attachmentConfigurationConstraints`
21668
+ # @return [Google::Apis::ComputeAlpha::InterconnectAttachmentConfigurationConstraints]
21669
+ attr_accessor :attachment_configuration_constraints
21670
+
21433
21671
  # [Output Only] Metropolitan area designator that indicates which city an
21434
21672
  # interconnect is located. For example: "Chicago, IL", "Amsterdam, Netherlands".
21435
21673
  # Corresponds to the JSON property `city`
21436
21674
  # @return [String]
21437
21675
  attr_accessor :city
21438
21676
 
21677
+ # [Output Only] Constraints on the parameters for creating Cross-Cloud
21678
+ # Interconnect and associated InterconnectAttachments.
21679
+ # Corresponds to the JSON property `constraints`
21680
+ # @return [Google::Apis::ComputeAlpha::InterconnectRemoteLocationConstraints]
21681
+ attr_accessor :constraints
21682
+
21439
21683
  # [Output Only] Continent for this location, which can take one of the following
21440
21684
  # values: - AFRICA - ASIA_PAC - EUROPE - NORTH_AMERICA - SOUTH_AMERICA
21441
21685
  # Corresponds to the JSON property `continent`
@@ -21475,6 +21719,19 @@ module Google
21475
21719
  # @return [String]
21476
21720
  attr_accessor :kind
21477
21721
 
21722
+ # [Output Only] Link Aggregation Control Protocol (LACP) constraints, which can
21723
+ # take one of the following values: LACP_SUPPORTED, LACP_UNSUPPORTED
21724
+ # Corresponds to the JSON property `lacp`
21725
+ # @return [String]
21726
+ attr_accessor :lacp
21727
+
21728
+ # [Output Only] The maximum number of 100 Gbps ports supported in a link
21729
+ # aggregation group (LAG). When linkType is 100 Gbps, requestedLinkCount cannot
21730
+ # exceed max_lag_size_100_gbps.
21731
+ # Corresponds to the JSON property `maxLagSize100Gbps`
21732
+ # @return [Fixnum]
21733
+ attr_accessor :max_lag_size100_gbps
21734
+
21478
21735
  # [Output Only] Name of the resource.
21479
21736
  # Corresponds to the JSON property `name`
21480
21737
  # @return [String]
@@ -21486,9 +21743,9 @@ module Google
21486
21743
  # @return [String]
21487
21744
  attr_accessor :peeringdb_facility_id
21488
21745
 
21489
- # [Output-only] Permitted connections.
21746
+ # [Output Only] Permitted connections.
21490
21747
  # Corresponds to the JSON property `permittedConnections`
21491
- # @return [Google::Apis::ComputeAlpha::InterconnectRemoteLocationPermittedConnections]
21748
+ # @return [Array<Google::Apis::ComputeAlpha::InterconnectRemoteLocationPermittedConnections>]
21492
21749
  attr_accessor :permitted_connections
21493
21750
 
21494
21751
  # [Output Only] Indicates the service provider present at the remote location.
@@ -21523,7 +21780,9 @@ module Google
21523
21780
  # Update properties of this object
21524
21781
  def update!(**args)
21525
21782
  @address = args[:address] if args.key?(:address)
21783
+ @attachment_configuration_constraints = args[:attachment_configuration_constraints] if args.key?(:attachment_configuration_constraints)
21526
21784
  @city = args[:city] if args.key?(:city)
21785
+ @constraints = args[:constraints] if args.key?(:constraints)
21527
21786
  @continent = args[:continent] if args.key?(:continent)
21528
21787
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
21529
21788
  @description = args[:description] if args.key?(:description)
@@ -21531,6 +21790,8 @@ module Google
21531
21790
  @facility_provider_facility_id = args[:facility_provider_facility_id] if args.key?(:facility_provider_facility_id)
21532
21791
  @id = args[:id] if args.key?(:id)
21533
21792
  @kind = args[:kind] if args.key?(:kind)
21793
+ @lacp = args[:lacp] if args.key?(:lacp)
21794
+ @max_lag_size100_gbps = args[:max_lag_size100_gbps] if args.key?(:max_lag_size100_gbps)
21534
21795
  @name = args[:name] if args.key?(:name)
21535
21796
  @peeringdb_facility_id = args[:peeringdb_facility_id] if args.key?(:peeringdb_facility_id)
21536
21797
  @permitted_connections = args[:permitted_connections] if args.key?(:permitted_connections)
@@ -21541,6 +21802,77 @@ module Google
21541
21802
  end
21542
21803
  end
21543
21804
 
21805
+ #
21806
+ class InterconnectRemoteLocationConstraints
21807
+ include Google::Apis::Core::Hashable
21808
+
21809
+ # [Output Only] Port pair remote location constraints, which can take one of the
21810
+ # following values: PORT_PAIR_UNCONSTRAINED_REMOTE_LOCATION,
21811
+ # PORT_PAIR_MATCHING_REMOTE_LOCATION. GCP's API refers only to individual ports,
21812
+ # but the UI uses this field when ordering a pair of ports, to prevent users
21813
+ # from accidentally ordering something that is incompatible with their cloud
21814
+ # provider. Specifically, when ordering a redundant pair of Cross-Cloud
21815
+ # Interconnect ports, and one of them uses a remote location with
21816
+ # portPairMatchingRemoteLocation set to matching, the UI will require that both
21817
+ # ports use the same remote location.
21818
+ # Corresponds to the JSON property `portPairRemoteLocation`
21819
+ # @return [String]
21820
+ attr_accessor :port_pair_remote_location
21821
+
21822
+ # [Output Only] Port pair VLAN constraints, which can take one of the following
21823
+ # values: PORT_PAIR_UNCONSTRAINED_VLAN, PORT_PAIR_MATCHING_VLAN
21824
+ # Corresponds to the JSON property `portPairVlan`
21825
+ # @return [String]
21826
+ attr_accessor :port_pair_vlan
21827
+
21828
+ # [Output Only] [min-length, max-length] The minimum and maximum value (
21829
+ # inclusive) for the IPv4 subnet length. For example, an
21830
+ # interconnectRemoteLocation for Azure has `min: 30, max: 30` because Azure
21831
+ # requires /30 subnets. This range specifies the values supported by both cloud
21832
+ # providers. Interconnect currently supports /29 and /30 IPv4 subnet lengths. If
21833
+ # a remote cloud has no constraint on IPv4 subnet length, the range would thus
21834
+ # be `min: 29, max: 30`.
21835
+ # Corresponds to the JSON property `subnetLengthRange`
21836
+ # @return [Google::Apis::ComputeAlpha::InterconnectRemoteLocationConstraintsSubnetLengthRange]
21837
+ attr_accessor :subnet_length_range
21838
+
21839
+ def initialize(**args)
21840
+ update!(**args)
21841
+ end
21842
+
21843
+ # Update properties of this object
21844
+ def update!(**args)
21845
+ @port_pair_remote_location = args[:port_pair_remote_location] if args.key?(:port_pair_remote_location)
21846
+ @port_pair_vlan = args[:port_pair_vlan] if args.key?(:port_pair_vlan)
21847
+ @subnet_length_range = args[:subnet_length_range] if args.key?(:subnet_length_range)
21848
+ end
21849
+ end
21850
+
21851
+ #
21852
+ class InterconnectRemoteLocationConstraintsSubnetLengthRange
21853
+ include Google::Apis::Core::Hashable
21854
+
21855
+ #
21856
+ # Corresponds to the JSON property `max`
21857
+ # @return [Fixnum]
21858
+ attr_accessor :max
21859
+
21860
+ #
21861
+ # Corresponds to the JSON property `min`
21862
+ # @return [Fixnum]
21863
+ attr_accessor :min
21864
+
21865
+ def initialize(**args)
21866
+ update!(**args)
21867
+ end
21868
+
21869
+ # Update properties of this object
21870
+ def update!(**args)
21871
+ @max = args[:max] if args.key?(:max)
21872
+ @min = args[:min] if args.key?(:min)
21873
+ end
21874
+ end
21875
+
21544
21876
  # Response to the list request, and contains a list of interconnect remote
21545
21877
  # locations.
21546
21878
  class InterconnectRemoteLocationList
@@ -21664,7 +21996,7 @@ module Google
21664
21996
  class InterconnectRemoteLocationPermittedConnections
21665
21997
  include Google::Apis::Core::Hashable
21666
21998
 
21667
- # [Output-only] URL of an Interconnect location that is permitted to connect to
21999
+ # [Output Only] URL of an Interconnect location that is permitted to connect to
21668
22000
  # this Interconnect remote location.
21669
22001
  # Corresponds to the JSON property `interconnectLocation`
21670
22002
  # @return [String]
@@ -22578,7 +22910,7 @@ module Google
22578
22910
  # @return [Google::Apis::ComputeAlpha::LocationPolicyLocationConstraints]
22579
22911
  attr_accessor :constraints
22580
22912
 
22581
- # Preference for a given location.
22913
+ # Preference for a given location. Set to either ALLOW or DENY.
22582
22914
  # Corresponds to the JSON property `preference`
22583
22915
  # @return [String]
22584
22916
  attr_accessor :preference
@@ -24877,9 +25209,9 @@ module Google
24877
25209
  # allows for routing to multiple App Engine services without having to create
24878
25210
  # multiple Network Endpoint Groups and backend services. For example, the
24879
25211
  # request URLs "foo1-dot-appname.appspot.com/v1" and "foo1-dot-appname.appspot.
24880
- # com/v2" can be backed by the same Serverless NEG with URL mask "-dot-appname.
24881
- # appspot.com/". The URL mask will parse them to ` service = "foo1", version = "
24882
- # v1" ` and ` service = "foo1", version = "v2" ` respectively.
25212
+ # com/v2" can be backed by the same Serverless NEG with URL mask "<service>-dot-
25213
+ # appname.appspot.com/<version>". The URL mask will parse them to ` service = "
25214
+ # foo1", version = "v1" ` and ` service = "foo1", version = "v2" ` respectively.
24883
25215
  # Corresponds to the JSON property `urlMask`
24884
25216
  # @return [String]
24885
25217
  attr_accessor :url_mask
@@ -24918,8 +25250,8 @@ module Google
24918
25250
  # routing to multiple Cloud Functions without having to create multiple Network
24919
25251
  # Endpoint Groups and backend services. For example, request URLs " mydomain.com/
24920
25252
  # function1" and "mydomain.com/function2" can be backed by the same Serverless
24921
- # NEG with URL mask "/". The URL mask will parse them to ` function = "function1"
24922
- # ` and ` function = "function2" ` respectively.
25253
+ # NEG with URL mask "/<function>". The URL mask will parse them to ` function = "
25254
+ # function1" ` and ` function = "function2" ` respectively.
24923
25255
  # Corresponds to the JSON property `urlMask`
24924
25256
  # @return [String]
24925
25257
  attr_accessor :url_mask
@@ -29941,6 +30273,12 @@ module Google
29941
30273
  class PathMatcher
29942
30274
  include Google::Apis::Core::Hashable
29943
30275
 
30276
+ # Specifies the custom error response policy that must be applied when the
30277
+ # backend service or backend bucket responds with an error.
30278
+ # Corresponds to the JSON property `defaultCustomErrorResponsePolicy`
30279
+ # @return [Google::Apis::ComputeAlpha::CustomErrorResponsePolicy]
30280
+ attr_accessor :default_custom_error_response_policy
30281
+
29944
30282
  # defaultRouteAction takes effect when none of the pathRules or routeRules match.
29945
30283
  # The load balancer performs advanced routing actions, such as URL rewrites and
29946
30284
  # header transformations, before forwarding the request to the selected backend.
@@ -30018,6 +30356,7 @@ module Google
30018
30356
 
30019
30357
  # Update properties of this object
30020
30358
  def update!(**args)
30359
+ @default_custom_error_response_policy = args[:default_custom_error_response_policy] if args.key?(:default_custom_error_response_policy)
30021
30360
  @default_route_action = args[:default_route_action] if args.key?(:default_route_action)
30022
30361
  @default_service = args[:default_service] if args.key?(:default_service)
30023
30362
  @default_url_redirect = args[:default_url_redirect] if args.key?(:default_url_redirect)
@@ -30034,6 +30373,12 @@ module Google
30034
30373
  class PathRule
30035
30374
  include Google::Apis::Core::Hashable
30036
30375
 
30376
+ # Specifies the custom error response policy that must be applied when the
30377
+ # backend service or backend bucket responds with an error.
30378
+ # Corresponds to the JSON property `customErrorResponsePolicy`
30379
+ # @return [Google::Apis::ComputeAlpha::CustomErrorResponsePolicy]
30380
+ attr_accessor :custom_error_response_policy
30381
+
30037
30382
  # The list of path patterns to match. Each must start with / and the only place
30038
30383
  # a * is allowed is at the end following a /. The string fed to the path matcher
30039
30384
  # does not include any text after the first ? or #, and those chars are not
@@ -30075,6 +30420,7 @@ module Google
30075
30420
 
30076
30421
  # Update properties of this object
30077
30422
  def update!(**args)
30423
+ @custom_error_response_policy = args[:custom_error_response_policy] if args.key?(:custom_error_response_policy)
30078
30424
  @paths = args[:paths] if args.key?(:paths)
30079
30425
  @route_action = args[:route_action] if args.key?(:route_action)
30080
30426
  @service = args[:service] if args.key?(:service)
@@ -31630,6 +31976,400 @@ module Google
31630
31976
  end
31631
31977
  end
31632
31978
 
31979
+ # QueuedResource represents a request for future capacity. The capacity is
31980
+ # delivered in the form of other GCE resources, either Instances or Reservations.
31981
+ class QueuedResource
31982
+ include Google::Apis::Core::Hashable
31983
+
31984
+ # A transient resource used in compute.instances.bulkInsert and compute.
31985
+ # regionInstances.bulkInsert . This resource is not persisted anywhere, it is
31986
+ # used only for processing the requests.
31987
+ # Corresponds to the JSON property `bulkInsertInstanceResource`
31988
+ # @return [Google::Apis::ComputeAlpha::BulkInsertInstanceResource]
31989
+ attr_accessor :bulk_insert_instance_resource
31990
+
31991
+ # [Output Only] Creation timestamp in RFC3339 text format.
31992
+ # Corresponds to the JSON property `creationTimestamp`
31993
+ # @return [String]
31994
+ attr_accessor :creation_timestamp
31995
+
31996
+ # An optional description of this resource. Provide this property when you
31997
+ # create the resource.
31998
+ # Corresponds to the JSON property `description`
31999
+ # @return [String]
32000
+ attr_accessor :description
32001
+
32002
+ # [Output Only] The unique identifier for the resource. This identifier is
32003
+ # defined by the server.
32004
+ # Corresponds to the JSON property `id`
32005
+ # @return [Fixnum]
32006
+ attr_accessor :id
32007
+
32008
+ # [Output Only] Type of the resource. Always compute#queuedResource for
32009
+ # QueuedResources.
32010
+ # Corresponds to the JSON property `kind`
32011
+ # @return [String]
32012
+ attr_accessor :kind
32013
+
32014
+ # Name of the resource. Provided by the client when the resource is created. The
32015
+ # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
32016
+ # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
32017
+ # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
32018
+ # and all following characters must be a dash, lowercase letter, or digit,
32019
+ # except the last character, which cannot be a dash.
32020
+ # Corresponds to the JSON property `name`
32021
+ # @return [String]
32022
+ attr_accessor :name
32023
+
32024
+ # Queuing parameters for the requested deferred capacity.
32025
+ # Corresponds to the JSON property `queuingPolicy`
32026
+ # @return [Google::Apis::ComputeAlpha::QueuingPolicy]
32027
+ attr_accessor :queuing_policy
32028
+
32029
+ # [Output Only] URL of the region where the resource resides. Only applicable
32030
+ # for regional resources. You must specify this field as part of the HTTP
32031
+ # request URL. It is not settable as a field in the request body.
32032
+ # Corresponds to the JSON property `region`
32033
+ # @return [String]
32034
+ attr_accessor :region
32035
+
32036
+ # [Output only] Server-defined URL for the resource.
32037
+ # Corresponds to the JSON property `selfLink`
32038
+ # @return [String]
32039
+ attr_accessor :self_link
32040
+
32041
+ # [Output Only] Server-defined URL for this resource with the resource id.
32042
+ # Corresponds to the JSON property `selfLinkWithId`
32043
+ # @return [String]
32044
+ attr_accessor :self_link_with_id
32045
+
32046
+ # [Output only] High-level status of the request.
32047
+ # Corresponds to the JSON property `state`
32048
+ # @return [String]
32049
+ attr_accessor :state
32050
+
32051
+ # [Output only] Result of queuing and provisioning based on deferred capacity.
32052
+ # Corresponds to the JSON property `status`
32053
+ # @return [Google::Apis::ComputeAlpha::QueuedResourceStatus]
32054
+ attr_accessor :status
32055
+
32056
+ # [Output Only] URL of the zone where the resource resides. Only applicable for
32057
+ # zonal resources. You must specify this field as part of the HTTP request URL.
32058
+ # It is not settable as a field in the request body.
32059
+ # Corresponds to the JSON property `zone`
32060
+ # @return [String]
32061
+ attr_accessor :zone
32062
+
32063
+ def initialize(**args)
32064
+ update!(**args)
32065
+ end
32066
+
32067
+ # Update properties of this object
32068
+ def update!(**args)
32069
+ @bulk_insert_instance_resource = args[:bulk_insert_instance_resource] if args.key?(:bulk_insert_instance_resource)
32070
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
32071
+ @description = args[:description] if args.key?(:description)
32072
+ @id = args[:id] if args.key?(:id)
32073
+ @kind = args[:kind] if args.key?(:kind)
32074
+ @name = args[:name] if args.key?(:name)
32075
+ @queuing_policy = args[:queuing_policy] if args.key?(:queuing_policy)
32076
+ @region = args[:region] if args.key?(:region)
32077
+ @self_link = args[:self_link] if args.key?(:self_link)
32078
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
32079
+ @state = args[:state] if args.key?(:state)
32080
+ @status = args[:status] if args.key?(:status)
32081
+ @zone = args[:zone] if args.key?(:zone)
32082
+ end
32083
+ end
32084
+
32085
+ #
32086
+ class QueuedResourceList
32087
+ include Google::Apis::Core::Hashable
32088
+
32089
+ #
32090
+ # Corresponds to the JSON property `etag`
32091
+ # @return [String]
32092
+ attr_accessor :etag
32093
+
32094
+ # Unique identifier for the resource; defined by the server.
32095
+ # Corresponds to the JSON property `id`
32096
+ # @return [String]
32097
+ attr_accessor :id
32098
+
32099
+ # A list of QueuedResource resources.
32100
+ # Corresponds to the JSON property `items`
32101
+ # @return [Array<Google::Apis::ComputeAlpha::QueuedResource>]
32102
+ attr_accessor :items
32103
+
32104
+ # Type of resource.
32105
+ # Corresponds to the JSON property `kind`
32106
+ # @return [String]
32107
+ attr_accessor :kind
32108
+
32109
+ # This token allows you to get the next page of results for maxResults, use the
32110
+ # nextPageToken as a value for the query parameter pageToken in the next list
32111
+ # request. Subsequent list requests will have their own nextPageToken to
32112
+ # continue paging through the results.
32113
+ # Corresponds to the JSON property `nextPageToken`
32114
+ # @return [String]
32115
+ attr_accessor :next_page_token
32116
+
32117
+ # [Output only] Server-defined URL for this resource.
32118
+ # Corresponds to the JSON property `selfLink`
32119
+ # @return [String]
32120
+ attr_accessor :self_link
32121
+
32122
+ # [Output only] Unreachable resources.
32123
+ # Corresponds to the JSON property `unreachables`
32124
+ # @return [Array<String>]
32125
+ attr_accessor :unreachables
32126
+
32127
+ # Informational warning message.
32128
+ # Corresponds to the JSON property `warning`
32129
+ # @return [Google::Apis::ComputeAlpha::QueuedResourceList::Warning]
32130
+ attr_accessor :warning
32131
+
32132
+ def initialize(**args)
32133
+ update!(**args)
32134
+ end
32135
+
32136
+ # Update properties of this object
32137
+ def update!(**args)
32138
+ @etag = args[:etag] if args.key?(:etag)
32139
+ @id = args[:id] if args.key?(:id)
32140
+ @items = args[:items] if args.key?(:items)
32141
+ @kind = args[:kind] if args.key?(:kind)
32142
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
32143
+ @self_link = args[:self_link] if args.key?(:self_link)
32144
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
32145
+ @warning = args[:warning] if args.key?(:warning)
32146
+ end
32147
+
32148
+ # Informational warning message.
32149
+ class Warning
32150
+ include Google::Apis::Core::Hashable
32151
+
32152
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
32153
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
32154
+ # Corresponds to the JSON property `code`
32155
+ # @return [String]
32156
+ attr_accessor :code
32157
+
32158
+ # [Output Only] Metadata about this warning in key: value format. For example: "
32159
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
32160
+ # Corresponds to the JSON property `data`
32161
+ # @return [Array<Google::Apis::ComputeAlpha::QueuedResourceList::Warning::Datum>]
32162
+ attr_accessor :data
32163
+
32164
+ # [Output Only] A human-readable description of the warning code.
32165
+ # Corresponds to the JSON property `message`
32166
+ # @return [String]
32167
+ attr_accessor :message
32168
+
32169
+ def initialize(**args)
32170
+ update!(**args)
32171
+ end
32172
+
32173
+ # Update properties of this object
32174
+ def update!(**args)
32175
+ @code = args[:code] if args.key?(:code)
32176
+ @data = args[:data] if args.key?(:data)
32177
+ @message = args[:message] if args.key?(:message)
32178
+ end
32179
+
32180
+ #
32181
+ class Datum
32182
+ include Google::Apis::Core::Hashable
32183
+
32184
+ # [Output Only] A key that provides more detail on the warning being returned.
32185
+ # For example, for warnings where there are no results in a list request for a
32186
+ # particular zone, this key might be scope and the key value might be the zone
32187
+ # name. Other examples might be a key indicating a deprecated resource and a
32188
+ # suggested replacement, or a warning about invalid network settings (for
32189
+ # example, if an instance attempts to perform IP forwarding but is not enabled
32190
+ # for IP forwarding).
32191
+ # Corresponds to the JSON property `key`
32192
+ # @return [String]
32193
+ attr_accessor :key
32194
+
32195
+ # [Output Only] A warning data value corresponding to the key.
32196
+ # Corresponds to the JSON property `value`
32197
+ # @return [String]
32198
+ attr_accessor :value
32199
+
32200
+ def initialize(**args)
32201
+ update!(**args)
32202
+ end
32203
+
32204
+ # Update properties of this object
32205
+ def update!(**args)
32206
+ @key = args[:key] if args.key?(:key)
32207
+ @value = args[:value] if args.key?(:value)
32208
+ end
32209
+ end
32210
+ end
32211
+ end
32212
+
32213
+ # [Output only] Result of queuing and provisioning based on deferred capacity.
32214
+ class QueuedResourceStatus
32215
+ include Google::Apis::Core::Hashable
32216
+
32217
+ # Additional status detail for the FAILED state.
32218
+ # Corresponds to the JSON property `failedData`
32219
+ # @return [Google::Apis::ComputeAlpha::QueuedResourceStatusFailedData]
32220
+ attr_accessor :failed_data
32221
+
32222
+ # [Output only] Fully qualified URL of the provisioning GCE operation to track
32223
+ # the provisioning along with provisioning errors. The referenced operation may
32224
+ # not exist after having been deleted or expired.
32225
+ # Corresponds to the JSON property `provisioningOperations`
32226
+ # @return [Array<String>]
32227
+ attr_accessor :provisioning_operations
32228
+
32229
+ # Queuing parameters for the requested deferred capacity.
32230
+ # Corresponds to the JSON property `queuingPolicy`
32231
+ # @return [Google::Apis::ComputeAlpha::QueuingPolicy]
32232
+ attr_accessor :queuing_policy
32233
+
32234
+ def initialize(**args)
32235
+ update!(**args)
32236
+ end
32237
+
32238
+ # Update properties of this object
32239
+ def update!(**args)
32240
+ @failed_data = args[:failed_data] if args.key?(:failed_data)
32241
+ @provisioning_operations = args[:provisioning_operations] if args.key?(:provisioning_operations)
32242
+ @queuing_policy = args[:queuing_policy] if args.key?(:queuing_policy)
32243
+ end
32244
+ end
32245
+
32246
+ # Additional status detail for the FAILED state.
32247
+ class QueuedResourceStatusFailedData
32248
+ include Google::Apis::Core::Hashable
32249
+
32250
+ # The error(s) that caused the QueuedResource to enter the FAILED state.
32251
+ # Corresponds to the JSON property `error`
32252
+ # @return [Google::Apis::ComputeAlpha::QueuedResourceStatusFailedData::Error]
32253
+ attr_accessor :error
32254
+
32255
+ def initialize(**args)
32256
+ update!(**args)
32257
+ end
32258
+
32259
+ # Update properties of this object
32260
+ def update!(**args)
32261
+ @error = args[:error] if args.key?(:error)
32262
+ end
32263
+
32264
+ # The error(s) that caused the QueuedResource to enter the FAILED state.
32265
+ class Error
32266
+ include Google::Apis::Core::Hashable
32267
+
32268
+ # [Output Only] The array of errors encountered while processing this operation.
32269
+ # Corresponds to the JSON property `errors`
32270
+ # @return [Array<Google::Apis::ComputeAlpha::QueuedResourceStatusFailedData::Error::Error>]
32271
+ attr_accessor :errors
32272
+
32273
+ def initialize(**args)
32274
+ update!(**args)
32275
+ end
32276
+
32277
+ # Update properties of this object
32278
+ def update!(**args)
32279
+ @errors = args[:errors] if args.key?(:errors)
32280
+ end
32281
+
32282
+ #
32283
+ class Error
32284
+ include Google::Apis::Core::Hashable
32285
+
32286
+ # [Output Only] The error type identifier for this error.
32287
+ # Corresponds to the JSON property `code`
32288
+ # @return [String]
32289
+ attr_accessor :code
32290
+
32291
+ # [Output Only] An optional list of messages that contain the error details.
32292
+ # There is a set of defined message types to use for providing details.The
32293
+ # syntax depends on the error code. For example, QuotaExceededInfo will have
32294
+ # details when the error code is QUOTA_EXCEEDED.
32295
+ # Corresponds to the JSON property `errorDetails`
32296
+ # @return [Array<Google::Apis::ComputeAlpha::QueuedResourceStatusFailedData::Error::Error::ErrorDetail>]
32297
+ attr_accessor :error_details
32298
+
32299
+ # [Output Only] Indicates the field in the request that caused the error. This
32300
+ # property is optional.
32301
+ # Corresponds to the JSON property `location`
32302
+ # @return [String]
32303
+ attr_accessor :location
32304
+
32305
+ # [Output Only] An optional, human-readable error message.
32306
+ # Corresponds to the JSON property `message`
32307
+ # @return [String]
32308
+ attr_accessor :message
32309
+
32310
+ def initialize(**args)
32311
+ update!(**args)
32312
+ end
32313
+
32314
+ # Update properties of this object
32315
+ def update!(**args)
32316
+ @code = args[:code] if args.key?(:code)
32317
+ @error_details = args[:error_details] if args.key?(:error_details)
32318
+ @location = args[:location] if args.key?(:location)
32319
+ @message = args[:message] if args.key?(:message)
32320
+ end
32321
+
32322
+ #
32323
+ class ErrorDetail
32324
+ include Google::Apis::Core::Hashable
32325
+
32326
+ # Describes the cause of the error with structured details. Example of an error
32327
+ # when contacting the "pubsub.googleapis.com" API when it is not enabled: ` "
32328
+ # reason": "API_DISABLED" "domain": "googleapis.com" "metadata": ` "resource": "
32329
+ # projects/123", "service": "pubsub.googleapis.com" ` ` This response indicates
32330
+ # that the pubsub.googleapis.com API is not enabled. Example of an error that is
32331
+ # returned when attempting to create a Spanner instance in a region that is out
32332
+ # of stock: ` "reason": "STOCKOUT" "domain": "spanner.googleapis.com", "metadata"
32333
+ # : ` "availableRegions": "us-central1,us-east2" ` `
32334
+ # Corresponds to the JSON property `errorInfo`
32335
+ # @return [Google::Apis::ComputeAlpha::ErrorInfo]
32336
+ attr_accessor :error_info
32337
+
32338
+ # Provides links to documentation or for performing an out of band action. For
32339
+ # example, if a quota check failed with an error indicating the calling project
32340
+ # hasn't enabled the accessed service, this can contain a URL pointing directly
32341
+ # to the right place in the developer console to flip the bit.
32342
+ # Corresponds to the JSON property `help`
32343
+ # @return [Google::Apis::ComputeAlpha::Help]
32344
+ attr_accessor :help
32345
+
32346
+ # Provides a localized error message that is safe to return to the user which
32347
+ # can be attached to an RPC error.
32348
+ # Corresponds to the JSON property `localizedMessage`
32349
+ # @return [Google::Apis::ComputeAlpha::LocalizedMessage]
32350
+ attr_accessor :localized_message
32351
+
32352
+ # Additional details for quota exceeded error for resource quota.
32353
+ # Corresponds to the JSON property `quotaInfo`
32354
+ # @return [Google::Apis::ComputeAlpha::QuotaExceededInfo]
32355
+ attr_accessor :quota_info
32356
+
32357
+ def initialize(**args)
32358
+ update!(**args)
32359
+ end
32360
+
32361
+ # Update properties of this object
32362
+ def update!(**args)
32363
+ @error_info = args[:error_info] if args.key?(:error_info)
32364
+ @help = args[:help] if args.key?(:help)
32365
+ @localized_message = args[:localized_message] if args.key?(:localized_message)
32366
+ @quota_info = args[:quota_info] if args.key?(:quota_info)
32367
+ end
32368
+ end
32369
+ end
32370
+ end
32371
+ end
32372
+
31633
32373
  # Queuing parameters for the requested deferred capacity.
31634
32374
  class QueuingPolicy
31635
32375
  include Google::Apis::Core::Hashable
@@ -33596,7 +34336,7 @@ module Google
33596
34336
  include Google::Apis::Core::Hashable
33597
34337
 
33598
34338
  # New set of SslCertificate resources to associate with this TargetHttpsProxy
33599
- # resource. Currently exactly one SslCertificate resource must be specified.
34339
+ # resource.
33600
34340
  # Corresponds to the JSON property `sslCertificates`
33601
34341
  # @return [Array<String>]
33602
34342
  attr_accessor :ssl_certificates
@@ -33651,7 +34391,11 @@ module Google
33651
34391
  class RequestMirrorPolicy
33652
34392
  include Google::Apis::Core::Hashable
33653
34393
 
33654
- # The full or partial URL to the BackendService resource being mirrored to.
34394
+ # The full or partial URL to the BackendService resource being mirrored to. The
34395
+ # backend service configured for a mirroring policy must reference backends that
34396
+ # are of the same type as the original backend service matched in the URL map.
34397
+ # Serverless NEG backends are not currently supported as a mirrored backend
34398
+ # service.
33655
34399
  # Corresponds to the JSON property `backendService`
33656
34400
  # @return [String]
33657
34401
  attr_accessor :backend_service
@@ -35221,6 +35965,11 @@ module Google
35221
35965
  class ResourceStatus
35222
35966
  include Google::Apis::Core::Hashable
35223
35967
 
35968
+ # [Output Only] An opaque ID of the host on which the VM is running.
35969
+ # Corresponds to the JSON property `physicalHost`
35970
+ # @return [String]
35971
+ attr_accessor :physical_host
35972
+
35224
35973
  #
35225
35974
  # Corresponds to the JSON property `scheduling`
35226
35975
  # @return [Google::Apis::ComputeAlpha::ResourceStatusScheduling]
@@ -35237,6 +35986,7 @@ module Google
35237
35986
 
35238
35987
  # Update properties of this object
35239
35988
  def update!(**args)
35989
+ @physical_host = args[:physical_host] if args.key?(:physical_host)
35240
35990
  @scheduling = args[:scheduling] if args.key?(:scheduling)
35241
35991
  @upcoming_maintenance = args[:upcoming_maintenance] if args.key?(:upcoming_maintenance)
35242
35992
  end
@@ -37598,7 +38348,7 @@ module Google
37598
38348
  end
37599
38349
  end
37600
38350
 
37601
- # Sets the scheduling options for an Instance. NextID: 21
38351
+ # Sets the scheduling options for an Instance.
37602
38352
  class Scheduling
37603
38353
  include Google::Apis::Core::Hashable
37604
38354
 
@@ -40360,6 +41110,12 @@ module Google
40360
41110
  # @return [String]
40361
41111
  attr_accessor :location_hint
40362
41112
 
41113
+ # Number of days the snapshot should be retained before being deleted
41114
+ # automatically.
41115
+ # Corresponds to the JSON property `maxRetentionDays`
41116
+ # @return [Fixnum]
41117
+ attr_accessor :max_retention_days
41118
+
40363
41119
  # Name of the resource; provided by the client when the resource is created. The
40364
41120
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
40365
41121
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
@@ -40505,6 +41261,7 @@ module Google
40505
41261
  @license_codes = args[:license_codes] if args.key?(:license_codes)
40506
41262
  @licenses = args[:licenses] if args.key?(:licenses)
40507
41263
  @location_hint = args[:location_hint] if args.key?(:location_hint)
41264
+ @max_retention_days = args[:max_retention_days] if args.key?(:max_retention_days)
40508
41265
  @name = args[:name] if args.key?(:name)
40509
41266
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
40510
41267
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -40776,7 +41533,7 @@ module Google
40776
41533
  # @return [String]
40777
41534
  attr_accessor :post_key_revocation_action_type
40778
41535
 
40779
- # Sets the scheduling options for an Instance. NextID: 21
41536
+ # Sets the scheduling options for an Instance.
40780
41537
  # Corresponds to the JSON property `scheduling`
40781
41538
  # @return [Google::Apis::ComputeAlpha::Scheduling]
40782
41539
  attr_accessor :scheduling
@@ -44241,8 +44998,9 @@ module Google
44241
44998
  # @return [String]
44242
44999
  attr_accessor :name
44243
45000
 
44244
- # NAT option controlling how IPs are NAT'ed to the instance. Currently only
44245
- # NO_NAT (default value) is supported.
45001
+ # Must have a value of NO_NAT. Protocol forwarding delivers packets while
45002
+ # preserving the destination IP address of the forwarding rule referencing the
45003
+ # target instance.
44246
45004
  # Corresponds to the JSON property `natPolicy`
44247
45005
  # @return [String]
44248
45006
  attr_accessor :nat_policy
@@ -46606,6 +47364,12 @@ module Google
46606
47364
  # @return [String]
46607
47365
  attr_accessor :creation_timestamp
46608
47366
 
47367
+ # Specifies the custom error response policy that must be applied when the
47368
+ # backend service or backend bucket responds with an error.
47369
+ # Corresponds to the JSON property `defaultCustomErrorResponsePolicy`
47370
+ # @return [Google::Apis::ComputeAlpha::CustomErrorResponsePolicy]
47371
+ attr_accessor :default_custom_error_response_policy
47372
+
46609
47373
  # defaultRouteAction takes effect when none of the hostRules match. The load
46610
47374
  # balancer performs advanced routing actions, such as URL rewrites and header
46611
47375
  # transformations, before forwarding the request to the selected backend. If
@@ -46719,6 +47483,7 @@ module Google
46719
47483
  # Update properties of this object
46720
47484
  def update!(**args)
46721
47485
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
47486
+ @default_custom_error_response_policy = args[:default_custom_error_response_policy] if args.key?(:default_custom_error_response_policy)
46722
47487
  @default_route_action = args[:default_route_action] if args.key?(:default_route_action)
46723
47488
  @default_service = args[:default_service] if args.key?(:default_service)
46724
47489
  @default_url_redirect = args[:default_url_redirect] if args.key?(:default_url_redirect)