google-apis-compute_alpha 0.40.0 → 0.43.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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)
@@ -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
@@ -21418,41 +21649,129 @@ module Google
21418
21649
  end
21419
21650
  end
21420
21651
 
21421
- # Response for the InterconnectsGetDiagnosticsRequest.
21422
- class InterconnectsGetDiagnosticsResponse
21652
+ # Represents an Cross-Cloud Interconnect Remote Location resource. You can use
21653
+ # this resource to find remote location details about an Interconnect attachment
21654
+ # (VLAN).
21655
+ class InterconnectRemoteLocation
21423
21656
  include Google::Apis::Core::Hashable
21424
21657
 
21425
- # Diagnostics information about interconnect, contains detailed and current
21426
- # technical information about Google's side of the connection.
21427
- # Corresponds to the JSON property `result`
21428
- # @return [Google::Apis::ComputeAlpha::InterconnectDiagnostics]
21429
- attr_accessor :result
21658
+ # [Output Only] The postal address of the Point of Presence, each line in the
21659
+ # address is separated by a newline character.
21660
+ # Corresponds to the JSON property `address`
21661
+ # @return [String]
21662
+ attr_accessor :address
21430
21663
 
21431
- def initialize(**args)
21432
- update!(**args)
21433
- end
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
21434
21670
 
21435
- # Update properties of this object
21436
- def update!(**args)
21437
- @result = args[:result] if args.key?(:result)
21438
- end
21439
- end
21671
+ # [Output Only] Metropolitan area designator that indicates which city an
21672
+ # interconnect is located. For example: "Chicago, IL", "Amsterdam, Netherlands".
21673
+ # Corresponds to the JSON property `city`
21674
+ # @return [String]
21675
+ attr_accessor :city
21440
21676
 
21441
- # Response for the InterconnectsGetMacsecConfigRequest.
21442
- class InterconnectsGetMacsecConfigResponse
21443
- include Google::Apis::Core::Hashable
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
21444
21682
 
21445
- # end_interface: MixerGetResponseWithEtagBuilder
21446
- # Corresponds to the JSON property `etag`
21683
+ # [Output Only] Continent for this location, which can take one of the following
21684
+ # values: - AFRICA - ASIA_PAC - EUROPE - NORTH_AMERICA - SOUTH_AMERICA
21685
+ # Corresponds to the JSON property `continent`
21447
21686
  # @return [String]
21448
- attr_accessor :etag
21687
+ attr_accessor :continent
21449
21688
 
21450
- # MACsec configuration information for the Interconnect. Contains the generated
21451
- # Connectivity Association Key Name (CKN) and the key (CAK) for this
21452
- # Interconnect.
21453
- # Corresponds to the JSON property `result`
21454
- # @return [Google::Apis::ComputeAlpha::InterconnectMacsecConfig]
21455
- attr_accessor :result
21689
+ # [Output Only] Creation timestamp in RFC3339 text format.
21690
+ # Corresponds to the JSON property `creationTimestamp`
21691
+ # @return [String]
21692
+ attr_accessor :creation_timestamp
21693
+
21694
+ # [Output Only] An optional description of the resource.
21695
+ # Corresponds to the JSON property `description`
21696
+ # @return [String]
21697
+ attr_accessor :description
21698
+
21699
+ # [Output Only] The name of the provider for this facility (e.g., EQUINIX).
21700
+ # Corresponds to the JSON property `facilityProvider`
21701
+ # @return [String]
21702
+ attr_accessor :facility_provider
21703
+
21704
+ # [Output Only] A provider-assigned Identifier for this facility (e.g., Ashburn-
21705
+ # DC1).
21706
+ # Corresponds to the JSON property `facilityProviderFacilityId`
21707
+ # @return [String]
21708
+ attr_accessor :facility_provider_facility_id
21709
+
21710
+ # [Output Only] The unique identifier for the resource. This identifier is
21711
+ # defined by the server.
21712
+ # Corresponds to the JSON property `id`
21713
+ # @return [Fixnum]
21714
+ attr_accessor :id
21715
+
21716
+ # [Output Only] Type of the resource. Always compute#interconnectRemoteLocation
21717
+ # for interconnect remote locations.
21718
+ # Corresponds to the JSON property `kind`
21719
+ # @return [String]
21720
+ attr_accessor :kind
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
+
21735
+ # [Output Only] Name of the resource.
21736
+ # Corresponds to the JSON property `name`
21737
+ # @return [String]
21738
+ attr_accessor :name
21739
+
21740
+ # [Output Only] The peeringdb identifier for this facility (corresponding with a
21741
+ # netfac type in peeringdb).
21742
+ # Corresponds to the JSON property `peeringdbFacilityId`
21743
+ # @return [String]
21744
+ attr_accessor :peeringdb_facility_id
21745
+
21746
+ # [Output Only] Permitted connections.
21747
+ # Corresponds to the JSON property `permittedConnections`
21748
+ # @return [Array<Google::Apis::ComputeAlpha::InterconnectRemoteLocationPermittedConnections>]
21749
+ attr_accessor :permitted_connections
21750
+
21751
+ # [Output Only] Indicates the service provider present at the remote location.
21752
+ # Example values: "Amazon Web Services", "Microsoft Azure".
21753
+ # Corresponds to the JSON property `remoteService`
21754
+ # @return [String]
21755
+ attr_accessor :remote_service
21756
+
21757
+ # [Output Only] Server-defined URL for the resource.
21758
+ # Corresponds to the JSON property `selfLink`
21759
+ # @return [String]
21760
+ attr_accessor :self_link
21761
+
21762
+ # [Output Only] Server-defined URL for this resource with the resource id.
21763
+ # Corresponds to the JSON property `selfLinkWithId`
21764
+ # @return [String]
21765
+ attr_accessor :self_link_with_id
21766
+
21767
+ # [Output Only] The status of this InterconnectRemoteLocation, which can take
21768
+ # one of the following values: - CLOSED: The InterconnectRemoteLocation is
21769
+ # closed and is unavailable for provisioning new Cross-Cloud Interconnects. -
21770
+ # AVAILABLE: The InterconnectRemoteLocation is available for provisioning new
21771
+ # Cross-Cloud Interconnects.
21772
+ # Corresponds to the JSON property `status`
21773
+ # @return [String]
21774
+ attr_accessor :status
21456
21775
 
21457
21776
  def initialize(**args)
21458
21777
  update!(**args)
@@ -21460,39 +21779,62 @@ module Google
21460
21779
 
21461
21780
  # Update properties of this object
21462
21781
  def update!(**args)
21463
- @etag = args[:etag] if args.key?(:etag)
21464
- @result = args[:result] if args.key?(:result)
21782
+ @address = args[:address] if args.key?(:address)
21783
+ @attachment_configuration_constraints = args[:attachment_configuration_constraints] if args.key?(:attachment_configuration_constraints)
21784
+ @city = args[:city] if args.key?(:city)
21785
+ @constraints = args[:constraints] if args.key?(:constraints)
21786
+ @continent = args[:continent] if args.key?(:continent)
21787
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
21788
+ @description = args[:description] if args.key?(:description)
21789
+ @facility_provider = args[:facility_provider] if args.key?(:facility_provider)
21790
+ @facility_provider_facility_id = args[:facility_provider_facility_id] if args.key?(:facility_provider_facility_id)
21791
+ @id = args[:id] if args.key?(:id)
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)
21795
+ @name = args[:name] if args.key?(:name)
21796
+ @peeringdb_facility_id = args[:peeringdb_facility_id] if args.key?(:peeringdb_facility_id)
21797
+ @permitted_connections = args[:permitted_connections] if args.key?(:permitted_connections)
21798
+ @remote_service = args[:remote_service] if args.key?(:remote_service)
21799
+ @self_link = args[:self_link] if args.key?(:self_link)
21800
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
21801
+ @status = args[:status] if args.key?(:status)
21465
21802
  end
21466
21803
  end
21467
21804
 
21468
21805
  #
21469
- class InternalIpAddress
21806
+ class InterconnectRemoteLocationConstraints
21470
21807
  include Google::Apis::Core::Hashable
21471
21808
 
21472
- # IP CIDR address or range.
21473
- # Corresponds to the JSON property `cidr`
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`
21474
21819
  # @return [String]
21475
- attr_accessor :cidr
21820
+ attr_accessor :port_pair_remote_location
21476
21821
 
21477
- # The owner of the internal IP address.
21478
- # Corresponds to the JSON property `owner`
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`
21479
21825
  # @return [String]
21480
- attr_accessor :owner
21826
+ attr_accessor :port_pair_vlan
21481
21827
 
21482
- # The purpose of the internal IP address if applicable.
21483
- # Corresponds to the JSON property `purpose`
21484
- # @return [String]
21485
- attr_accessor :purpose
21486
-
21487
- # The region of the internal IP address if applicable.
21488
- # Corresponds to the JSON property `region`
21489
- # @return [String]
21490
- attr_accessor :region
21491
-
21492
- # The type of the internal IP address.
21493
- # Corresponds to the JSON property `type`
21494
- # @return [String]
21495
- attr_accessor :type
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
21496
21838
 
21497
21839
  def initialize(**args)
21498
21840
  update!(**args)
@@ -21500,33 +21842,25 @@ module Google
21500
21842
 
21501
21843
  # Update properties of this object
21502
21844
  def update!(**args)
21503
- @cidr = args[:cidr] if args.key?(:cidr)
21504
- @owner = args[:owner] if args.key?(:owner)
21505
- @purpose = args[:purpose] if args.key?(:purpose)
21506
- @region = args[:region] if args.key?(:region)
21507
- @type = args[:type] if args.key?(:type)
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)
21508
21848
  end
21509
21849
  end
21510
21850
 
21511
21851
  #
21512
- class InternalIpOwner
21852
+ class InterconnectRemoteLocationConstraintsSubnetLengthRange
21513
21853
  include Google::Apis::Core::Hashable
21514
21854
 
21515
- # IP CIDR range being owned.
21516
- # Corresponds to the JSON property `ipCidrRange`
21517
- # @return [String]
21518
- attr_accessor :ip_cidr_range
21519
-
21520
- # URLs of the IP owners of the IP CIDR range.
21521
- # Corresponds to the JSON property `owners`
21522
- # @return [Array<String>]
21523
- attr_accessor :owners
21855
+ #
21856
+ # Corresponds to the JSON property `max`
21857
+ # @return [Fixnum]
21858
+ attr_accessor :max
21524
21859
 
21525
- # Whether this IP CIDR range is reserved for system use.
21526
- # Corresponds to the JSON property `systemOwned`
21527
- # @return [Boolean]
21528
- attr_accessor :system_owned
21529
- alias_method :system_owned?, :system_owned
21860
+ #
21861
+ # Corresponds to the JSON property `min`
21862
+ # @return [Fixnum]
21863
+ attr_accessor :min
21530
21864
 
21531
21865
  def initialize(**args)
21532
21866
  update!(**args)
@@ -21534,14 +21868,14 @@ module Google
21534
21868
 
21535
21869
  # Update properties of this object
21536
21870
  def update!(**args)
21537
- @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
21538
- @owners = args[:owners] if args.key?(:owners)
21539
- @system_owned = args[:system_owned] if args.key?(:system_owned)
21871
+ @max = args[:max] if args.key?(:max)
21872
+ @min = args[:min] if args.key?(:min)
21540
21873
  end
21541
21874
  end
21542
21875
 
21543
- #
21544
- class IpAddressesList
21876
+ # Response to the list request, and contains a list of interconnect remote
21877
+ # locations.
21878
+ class InterconnectRemoteLocationList
21545
21879
  include Google::Apis::Core::Hashable
21546
21880
 
21547
21881
  # [Output Only] Unique identifier for the resource; defined by the server.
@@ -21549,13 +21883,13 @@ module Google
21549
21883
  # @return [String]
21550
21884
  attr_accessor :id
21551
21885
 
21552
- # A list of InternalIpAddress resources.
21886
+ # A list of InterconnectRemoteLocation resources.
21553
21887
  # Corresponds to the JSON property `items`
21554
- # @return [Array<Google::Apis::ComputeAlpha::InternalIpAddress>]
21888
+ # @return [Array<Google::Apis::ComputeAlpha::InterconnectRemoteLocation>]
21555
21889
  attr_accessor :items
21556
21890
 
21557
- # [Output Only] Type of resource. Always compute#ipAddressesList for IP
21558
- # addresses lists.
21891
+ # [Output Only] Type of resource. Always compute#interconnectRemoteLocationList
21892
+ # for lists of interconnect remote locations.
21559
21893
  # Corresponds to the JSON property `kind`
21560
21894
  # @return [String]
21561
21895
  attr_accessor :kind
@@ -21576,7 +21910,267 @@ module Google
21576
21910
 
21577
21911
  # [Output Only] Informational warning message.
21578
21912
  # Corresponds to the JSON property `warning`
21579
- # @return [Google::Apis::ComputeAlpha::IpAddressesList::Warning]
21913
+ # @return [Google::Apis::ComputeAlpha::InterconnectRemoteLocationList::Warning]
21914
+ attr_accessor :warning
21915
+
21916
+ def initialize(**args)
21917
+ update!(**args)
21918
+ end
21919
+
21920
+ # Update properties of this object
21921
+ def update!(**args)
21922
+ @id = args[:id] if args.key?(:id)
21923
+ @items = args[:items] if args.key?(:items)
21924
+ @kind = args[:kind] if args.key?(:kind)
21925
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
21926
+ @self_link = args[:self_link] if args.key?(:self_link)
21927
+ @warning = args[:warning] if args.key?(:warning)
21928
+ end
21929
+
21930
+ # [Output Only] Informational warning message.
21931
+ class Warning
21932
+ include Google::Apis::Core::Hashable
21933
+
21934
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
21935
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
21936
+ # Corresponds to the JSON property `code`
21937
+ # @return [String]
21938
+ attr_accessor :code
21939
+
21940
+ # [Output Only] Metadata about this warning in key: value format. For example: "
21941
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
21942
+ # Corresponds to the JSON property `data`
21943
+ # @return [Array<Google::Apis::ComputeAlpha::InterconnectRemoteLocationList::Warning::Datum>]
21944
+ attr_accessor :data
21945
+
21946
+ # [Output Only] A human-readable description of the warning code.
21947
+ # Corresponds to the JSON property `message`
21948
+ # @return [String]
21949
+ attr_accessor :message
21950
+
21951
+ def initialize(**args)
21952
+ update!(**args)
21953
+ end
21954
+
21955
+ # Update properties of this object
21956
+ def update!(**args)
21957
+ @code = args[:code] if args.key?(:code)
21958
+ @data = args[:data] if args.key?(:data)
21959
+ @message = args[:message] if args.key?(:message)
21960
+ end
21961
+
21962
+ #
21963
+ class Datum
21964
+ include Google::Apis::Core::Hashable
21965
+
21966
+ # [Output Only] A key that provides more detail on the warning being returned.
21967
+ # For example, for warnings where there are no results in a list request for a
21968
+ # particular zone, this key might be scope and the key value might be the zone
21969
+ # name. Other examples might be a key indicating a deprecated resource and a
21970
+ # suggested replacement, or a warning about invalid network settings (for
21971
+ # example, if an instance attempts to perform IP forwarding but is not enabled
21972
+ # for IP forwarding).
21973
+ # Corresponds to the JSON property `key`
21974
+ # @return [String]
21975
+ attr_accessor :key
21976
+
21977
+ # [Output Only] A warning data value corresponding to the key.
21978
+ # Corresponds to the JSON property `value`
21979
+ # @return [String]
21980
+ attr_accessor :value
21981
+
21982
+ def initialize(**args)
21983
+ update!(**args)
21984
+ end
21985
+
21986
+ # Update properties of this object
21987
+ def update!(**args)
21988
+ @key = args[:key] if args.key?(:key)
21989
+ @value = args[:value] if args.key?(:value)
21990
+ end
21991
+ end
21992
+ end
21993
+ end
21994
+
21995
+ #
21996
+ class InterconnectRemoteLocationPermittedConnections
21997
+ include Google::Apis::Core::Hashable
21998
+
21999
+ # [Output Only] URL of an Interconnect location that is permitted to connect to
22000
+ # this Interconnect remote location.
22001
+ # Corresponds to the JSON property `interconnectLocation`
22002
+ # @return [String]
22003
+ attr_accessor :interconnect_location
22004
+
22005
+ def initialize(**args)
22006
+ update!(**args)
22007
+ end
22008
+
22009
+ # Update properties of this object
22010
+ def update!(**args)
22011
+ @interconnect_location = args[:interconnect_location] if args.key?(:interconnect_location)
22012
+ end
22013
+ end
22014
+
22015
+ # Response for the InterconnectsGetDiagnosticsRequest.
22016
+ class InterconnectsGetDiagnosticsResponse
22017
+ include Google::Apis::Core::Hashable
22018
+
22019
+ # Diagnostics information about interconnect, contains detailed and current
22020
+ # technical information about Google's side of the connection.
22021
+ # Corresponds to the JSON property `result`
22022
+ # @return [Google::Apis::ComputeAlpha::InterconnectDiagnostics]
22023
+ attr_accessor :result
22024
+
22025
+ def initialize(**args)
22026
+ update!(**args)
22027
+ end
22028
+
22029
+ # Update properties of this object
22030
+ def update!(**args)
22031
+ @result = args[:result] if args.key?(:result)
22032
+ end
22033
+ end
22034
+
22035
+ # Response for the InterconnectsGetMacsecConfigRequest.
22036
+ class InterconnectsGetMacsecConfigResponse
22037
+ include Google::Apis::Core::Hashable
22038
+
22039
+ # end_interface: MixerGetResponseWithEtagBuilder
22040
+ # Corresponds to the JSON property `etag`
22041
+ # @return [String]
22042
+ attr_accessor :etag
22043
+
22044
+ # MACsec configuration information for the Interconnect. Contains the generated
22045
+ # Connectivity Association Key Name (CKN) and the key (CAK) for this
22046
+ # Interconnect.
22047
+ # Corresponds to the JSON property `result`
22048
+ # @return [Google::Apis::ComputeAlpha::InterconnectMacsecConfig]
22049
+ attr_accessor :result
22050
+
22051
+ def initialize(**args)
22052
+ update!(**args)
22053
+ end
22054
+
22055
+ # Update properties of this object
22056
+ def update!(**args)
22057
+ @etag = args[:etag] if args.key?(:etag)
22058
+ @result = args[:result] if args.key?(:result)
22059
+ end
22060
+ end
22061
+
22062
+ #
22063
+ class InternalIpAddress
22064
+ include Google::Apis::Core::Hashable
22065
+
22066
+ # IP CIDR address or range.
22067
+ # Corresponds to the JSON property `cidr`
22068
+ # @return [String]
22069
+ attr_accessor :cidr
22070
+
22071
+ # The owner of the internal IP address.
22072
+ # Corresponds to the JSON property `owner`
22073
+ # @return [String]
22074
+ attr_accessor :owner
22075
+
22076
+ # The purpose of the internal IP address if applicable.
22077
+ # Corresponds to the JSON property `purpose`
22078
+ # @return [String]
22079
+ attr_accessor :purpose
22080
+
22081
+ # The region of the internal IP address if applicable.
22082
+ # Corresponds to the JSON property `region`
22083
+ # @return [String]
22084
+ attr_accessor :region
22085
+
22086
+ # The type of the internal IP address.
22087
+ # Corresponds to the JSON property `type`
22088
+ # @return [String]
22089
+ attr_accessor :type
22090
+
22091
+ def initialize(**args)
22092
+ update!(**args)
22093
+ end
22094
+
22095
+ # Update properties of this object
22096
+ def update!(**args)
22097
+ @cidr = args[:cidr] if args.key?(:cidr)
22098
+ @owner = args[:owner] if args.key?(:owner)
22099
+ @purpose = args[:purpose] if args.key?(:purpose)
22100
+ @region = args[:region] if args.key?(:region)
22101
+ @type = args[:type] if args.key?(:type)
22102
+ end
22103
+ end
22104
+
22105
+ #
22106
+ class InternalIpOwner
22107
+ include Google::Apis::Core::Hashable
22108
+
22109
+ # IP CIDR range being owned.
22110
+ # Corresponds to the JSON property `ipCidrRange`
22111
+ # @return [String]
22112
+ attr_accessor :ip_cidr_range
22113
+
22114
+ # URLs of the IP owners of the IP CIDR range.
22115
+ # Corresponds to the JSON property `owners`
22116
+ # @return [Array<String>]
22117
+ attr_accessor :owners
22118
+
22119
+ # Whether this IP CIDR range is reserved for system use.
22120
+ # Corresponds to the JSON property `systemOwned`
22121
+ # @return [Boolean]
22122
+ attr_accessor :system_owned
22123
+ alias_method :system_owned?, :system_owned
22124
+
22125
+ def initialize(**args)
22126
+ update!(**args)
22127
+ end
22128
+
22129
+ # Update properties of this object
22130
+ def update!(**args)
22131
+ @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
22132
+ @owners = args[:owners] if args.key?(:owners)
22133
+ @system_owned = args[:system_owned] if args.key?(:system_owned)
22134
+ end
22135
+ end
22136
+
22137
+ #
22138
+ class IpAddressesList
22139
+ include Google::Apis::Core::Hashable
22140
+
22141
+ # [Output Only] Unique identifier for the resource; defined by the server.
22142
+ # Corresponds to the JSON property `id`
22143
+ # @return [String]
22144
+ attr_accessor :id
22145
+
22146
+ # A list of InternalIpAddress resources.
22147
+ # Corresponds to the JSON property `items`
22148
+ # @return [Array<Google::Apis::ComputeAlpha::InternalIpAddress>]
22149
+ attr_accessor :items
22150
+
22151
+ # [Output Only] Type of resource. Always compute#ipAddressesList for IP
22152
+ # addresses lists.
22153
+ # Corresponds to the JSON property `kind`
22154
+ # @return [String]
22155
+ attr_accessor :kind
22156
+
22157
+ # [Output Only] This token allows you to get the next page of results for list
22158
+ # requests. If the number of results is larger than maxResults, use the
22159
+ # nextPageToken as a value for the query parameter pageToken in the next list
22160
+ # request. Subsequent list requests will have their own nextPageToken to
22161
+ # continue paging through the results.
22162
+ # Corresponds to the JSON property `nextPageToken`
22163
+ # @return [String]
22164
+ attr_accessor :next_page_token
22165
+
22166
+ # [Output Only] Server-defined URL for this resource.
22167
+ # Corresponds to the JSON property `selfLink`
22168
+ # @return [String]
22169
+ attr_accessor :self_link
22170
+
22171
+ # [Output Only] Informational warning message.
22172
+ # Corresponds to the JSON property `warning`
22173
+ # @return [Google::Apis::ComputeAlpha::IpAddressesList::Warning]
21580
22174
  attr_accessor :warning
21581
22175
 
21582
22176
  def initialize(**args)
@@ -22316,7 +22910,7 @@ module Google
22316
22910
  # @return [Google::Apis::ComputeAlpha::LocationPolicyLocationConstraints]
22317
22911
  attr_accessor :constraints
22318
22912
 
22319
- # Preference for a given location.
22913
+ # Preference for a given location. Set to either ALLOW or DENY.
22320
22914
  # Corresponds to the JSON property `preference`
22321
22915
  # @return [String]
22322
22916
  attr_accessor :preference
@@ -24615,9 +25209,9 @@ module Google
24615
25209
  # allows for routing to multiple App Engine services without having to create
24616
25210
  # multiple Network Endpoint Groups and backend services. For example, the
24617
25211
  # request URLs "foo1-dot-appname.appspot.com/v1" and "foo1-dot-appname.appspot.
24618
- # com/v2" can be backed by the same Serverless NEG with URL mask "-dot-appname.
24619
- # appspot.com/". The URL mask will parse them to ` service = "foo1", version = "
24620
- # 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.
24621
25215
  # Corresponds to the JSON property `urlMask`
24622
25216
  # @return [String]
24623
25217
  attr_accessor :url_mask
@@ -24656,8 +25250,8 @@ module Google
24656
25250
  # routing to multiple Cloud Functions without having to create multiple Network
24657
25251
  # Endpoint Groups and backend services. For example, request URLs " mydomain.com/
24658
25252
  # function1" and "mydomain.com/function2" can be backed by the same Serverless
24659
- # NEG with URL mask "/". The URL mask will parse them to ` function = "function1"
24660
- # ` and ` function = "function2" ` respectively.
25253
+ # NEG with URL mask "/<function>". The URL mask will parse them to ` function = "
25254
+ # function1" ` and ` function = "function2" ` respectively.
24661
25255
  # Corresponds to the JSON property `urlMask`
24662
25256
  # @return [String]
24663
25257
  attr_accessor :url_mask
@@ -29679,6 +30273,12 @@ module Google
29679
30273
  class PathMatcher
29680
30274
  include Google::Apis::Core::Hashable
29681
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
+
29682
30282
  # defaultRouteAction takes effect when none of the pathRules or routeRules match.
29683
30283
  # The load balancer performs advanced routing actions, such as URL rewrites and
29684
30284
  # header transformations, before forwarding the request to the selected backend.
@@ -29756,6 +30356,7 @@ module Google
29756
30356
 
29757
30357
  # Update properties of this object
29758
30358
  def update!(**args)
30359
+ @default_custom_error_response_policy = args[:default_custom_error_response_policy] if args.key?(:default_custom_error_response_policy)
29759
30360
  @default_route_action = args[:default_route_action] if args.key?(:default_route_action)
29760
30361
  @default_service = args[:default_service] if args.key?(:default_service)
29761
30362
  @default_url_redirect = args[:default_url_redirect] if args.key?(:default_url_redirect)
@@ -29772,6 +30373,12 @@ module Google
29772
30373
  class PathRule
29773
30374
  include Google::Apis::Core::Hashable
29774
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
+
29775
30382
  # The list of path patterns to match. Each must start with / and the only place
29776
30383
  # a * is allowed is at the end following a /. The string fed to the path matcher
29777
30384
  # does not include any text after the first ? or #, and those chars are not
@@ -29813,6 +30420,7 @@ module Google
29813
30420
 
29814
30421
  # Update properties of this object
29815
30422
  def update!(**args)
30423
+ @custom_error_response_policy = args[:custom_error_response_policy] if args.key?(:custom_error_response_policy)
29816
30424
  @paths = args[:paths] if args.key?(:paths)
29817
30425
  @route_action = args[:route_action] if args.key?(:route_action)
29818
30426
  @service = args[:service] if args.key?(:service)
@@ -31217,14 +31825,173 @@ module Google
31217
31825
  end
31218
31826
  end
31219
31827
 
31220
- # Represents a sub PublicDelegatedPrefix.
31221
- class PublicDelegatedPrefixPublicDelegatedSubPrefix
31828
+ # Represents a sub PublicDelegatedPrefix.
31829
+ class PublicDelegatedPrefixPublicDelegatedSubPrefix
31830
+ include Google::Apis::Core::Hashable
31831
+
31832
+ # Name of the project scoping this PublicDelegatedSubPrefix.
31833
+ # Corresponds to the JSON property `delegateeProject`
31834
+ # @return [String]
31835
+ attr_accessor :delegatee_project
31836
+
31837
+ # An optional description of this resource. Provide this property when you
31838
+ # create the resource.
31839
+ # Corresponds to the JSON property `description`
31840
+ # @return [String]
31841
+ attr_accessor :description
31842
+
31843
+ # The IPv4 address range, in CIDR format, represented by this sub public
31844
+ # delegated prefix.
31845
+ # Corresponds to the JSON property `ipCidrRange`
31846
+ # @return [String]
31847
+ attr_accessor :ip_cidr_range
31848
+
31849
+ # Whether the sub prefix is delegated to create Address resources in the
31850
+ # delegatee project.
31851
+ # Corresponds to the JSON property `isAddress`
31852
+ # @return [Boolean]
31853
+ attr_accessor :is_address
31854
+ alias_method :is_address?, :is_address
31855
+
31856
+ # The name of the sub public delegated prefix.
31857
+ # Corresponds to the JSON property `name`
31858
+ # @return [String]
31859
+ attr_accessor :name
31860
+
31861
+ # [Output Only] The region of the sub public delegated prefix if it is regional.
31862
+ # If absent, the sub prefix is global.
31863
+ # Corresponds to the JSON property `region`
31864
+ # @return [String]
31865
+ attr_accessor :region
31866
+
31867
+ # [Output Only] The status of the sub public delegated prefix.
31868
+ # Corresponds to the JSON property `status`
31869
+ # @return [String]
31870
+ attr_accessor :status
31871
+
31872
+ def initialize(**args)
31873
+ update!(**args)
31874
+ end
31875
+
31876
+ # Update properties of this object
31877
+ def update!(**args)
31878
+ @delegatee_project = args[:delegatee_project] if args.key?(:delegatee_project)
31879
+ @description = args[:description] if args.key?(:description)
31880
+ @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
31881
+ @is_address = args[:is_address] if args.key?(:is_address)
31882
+ @name = args[:name] if args.key?(:name)
31883
+ @region = args[:region] if args.key?(:region)
31884
+ @status = args[:status] if args.key?(:status)
31885
+ end
31886
+ end
31887
+
31888
+ #
31889
+ class PublicDelegatedPrefixesScopedList
31890
+ include Google::Apis::Core::Hashable
31891
+
31892
+ # [Output Only] A list of PublicDelegatedPrefixes contained in this scope.
31893
+ # Corresponds to the JSON property `publicDelegatedPrefixes`
31894
+ # @return [Array<Google::Apis::ComputeAlpha::PublicDelegatedPrefix>]
31895
+ attr_accessor :public_delegated_prefixes
31896
+
31897
+ # [Output Only] Informational warning which replaces the list of public
31898
+ # delegated prefixes when the list is empty.
31899
+ # Corresponds to the JSON property `warning`
31900
+ # @return [Google::Apis::ComputeAlpha::PublicDelegatedPrefixesScopedList::Warning]
31901
+ attr_accessor :warning
31902
+
31903
+ def initialize(**args)
31904
+ update!(**args)
31905
+ end
31906
+
31907
+ # Update properties of this object
31908
+ def update!(**args)
31909
+ @public_delegated_prefixes = args[:public_delegated_prefixes] if args.key?(:public_delegated_prefixes)
31910
+ @warning = args[:warning] if args.key?(:warning)
31911
+ end
31912
+
31913
+ # [Output Only] Informational warning which replaces the list of public
31914
+ # delegated prefixes when the list is empty.
31915
+ class Warning
31916
+ include Google::Apis::Core::Hashable
31917
+
31918
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
31919
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
31920
+ # Corresponds to the JSON property `code`
31921
+ # @return [String]
31922
+ attr_accessor :code
31923
+
31924
+ # [Output Only] Metadata about this warning in key: value format. For example: "
31925
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
31926
+ # Corresponds to the JSON property `data`
31927
+ # @return [Array<Google::Apis::ComputeAlpha::PublicDelegatedPrefixesScopedList::Warning::Datum>]
31928
+ attr_accessor :data
31929
+
31930
+ # [Output Only] A human-readable description of the warning code.
31931
+ # Corresponds to the JSON property `message`
31932
+ # @return [String]
31933
+ attr_accessor :message
31934
+
31935
+ def initialize(**args)
31936
+ update!(**args)
31937
+ end
31938
+
31939
+ # Update properties of this object
31940
+ def update!(**args)
31941
+ @code = args[:code] if args.key?(:code)
31942
+ @data = args[:data] if args.key?(:data)
31943
+ @message = args[:message] if args.key?(:message)
31944
+ end
31945
+
31946
+ #
31947
+ class Datum
31948
+ include Google::Apis::Core::Hashable
31949
+
31950
+ # [Output Only] A key that provides more detail on the warning being returned.
31951
+ # For example, for warnings where there are no results in a list request for a
31952
+ # particular zone, this key might be scope and the key value might be the zone
31953
+ # name. Other examples might be a key indicating a deprecated resource and a
31954
+ # suggested replacement, or a warning about invalid network settings (for
31955
+ # example, if an instance attempts to perform IP forwarding but is not enabled
31956
+ # for IP forwarding).
31957
+ # Corresponds to the JSON property `key`
31958
+ # @return [String]
31959
+ attr_accessor :key
31960
+
31961
+ # [Output Only] A warning data value corresponding to the key.
31962
+ # Corresponds to the JSON property `value`
31963
+ # @return [String]
31964
+ attr_accessor :value
31965
+
31966
+ def initialize(**args)
31967
+ update!(**args)
31968
+ end
31969
+
31970
+ # Update properties of this object
31971
+ def update!(**args)
31972
+ @key = args[:key] if args.key?(:key)
31973
+ @value = args[:value] if args.key?(:value)
31974
+ end
31975
+ end
31976
+ end
31977
+ end
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
31222
31982
  include Google::Apis::Core::Hashable
31223
31983
 
31224
- # Name of the project scoping this PublicDelegatedSubPrefix.
31225
- # Corresponds to the JSON property `delegateeProject`
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`
31226
31993
  # @return [String]
31227
- attr_accessor :delegatee_project
31994
+ attr_accessor :creation_timestamp
31228
31995
 
31229
31996
  # An optional description of this resource. Provide this property when you
31230
31997
  # create the resource.
@@ -31232,64 +31999,134 @@ module Google
31232
31999
  # @return [String]
31233
32000
  attr_accessor :description
31234
32001
 
31235
- # The IPv4 address range, in CIDR format, represented by this sub public
31236
- # delegated prefix.
31237
- # Corresponds to the JSON property `ipCidrRange`
31238
- # @return [String]
31239
- attr_accessor :ip_cidr_range
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
31240
32007
 
31241
- # Whether the sub prefix is delegated to create Address resources in the
31242
- # delegatee project.
31243
- # Corresponds to the JSON property `isAddress`
31244
- # @return [Boolean]
31245
- attr_accessor :is_address
31246
- alias_method :is_address?, :is_address
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
31247
32013
 
31248
- # The name of the sub public delegated prefix.
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.
31249
32020
  # Corresponds to the JSON property `name`
31250
32021
  # @return [String]
31251
32022
  attr_accessor :name
31252
32023
 
31253
- # [Output Only] The region of the sub public delegated prefix if it is regional.
31254
- # If absent, the sub prefix is global.
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.
31255
32032
  # Corresponds to the JSON property `region`
31256
32033
  # @return [String]
31257
32034
  attr_accessor :region
31258
32035
 
31259
- # [Output Only] The status of the sub public delegated prefix.
31260
- # Corresponds to the JSON property `status`
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`
31261
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]
31262
32054
  attr_accessor :status
31263
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
+
31264
32063
  def initialize(**args)
31265
32064
  update!(**args)
31266
32065
  end
31267
32066
 
31268
32067
  # Update properties of this object
31269
32068
  def update!(**args)
31270
- @delegatee_project = args[:delegatee_project] if args.key?(:delegatee_project)
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)
31271
32071
  @description = args[:description] if args.key?(:description)
31272
- @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
31273
- @is_address = args[:is_address] if args.key?(:is_address)
32072
+ @id = args[:id] if args.key?(:id)
32073
+ @kind = args[:kind] if args.key?(:kind)
31274
32074
  @name = args[:name] if args.key?(:name)
32075
+ @queuing_policy = args[:queuing_policy] if args.key?(:queuing_policy)
31275
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)
31276
32080
  @status = args[:status] if args.key?(:status)
32081
+ @zone = args[:zone] if args.key?(:zone)
31277
32082
  end
31278
32083
  end
31279
32084
 
31280
32085
  #
31281
- class PublicDelegatedPrefixesScopedList
32086
+ class QueuedResourceList
31282
32087
  include Google::Apis::Core::Hashable
31283
32088
 
31284
- # [Output Only] A list of PublicDelegatedPrefixes contained in this scope.
31285
- # Corresponds to the JSON property `publicDelegatedPrefixes`
31286
- # @return [Array<Google::Apis::ComputeAlpha::PublicDelegatedPrefix>]
31287
- attr_accessor :public_delegated_prefixes
32089
+ #
32090
+ # Corresponds to the JSON property `etag`
32091
+ # @return [String]
32092
+ attr_accessor :etag
31288
32093
 
31289
- # [Output Only] Informational warning which replaces the list of public
31290
- # delegated prefixes when the list is empty.
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.
31291
32128
  # Corresponds to the JSON property `warning`
31292
- # @return [Google::Apis::ComputeAlpha::PublicDelegatedPrefixesScopedList::Warning]
32129
+ # @return [Google::Apis::ComputeAlpha::QueuedResourceList::Warning]
31293
32130
  attr_accessor :warning
31294
32131
 
31295
32132
  def initialize(**args)
@@ -31298,12 +32135,17 @@ module Google
31298
32135
 
31299
32136
  # Update properties of this object
31300
32137
  def update!(**args)
31301
- @public_delegated_prefixes = args[:public_delegated_prefixes] if args.key?(:public_delegated_prefixes)
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)
31302
32145
  @warning = args[:warning] if args.key?(:warning)
31303
32146
  end
31304
32147
 
31305
- # [Output Only] Informational warning which replaces the list of public
31306
- # delegated prefixes when the list is empty.
32148
+ # Informational warning message.
31307
32149
  class Warning
31308
32150
  include Google::Apis::Core::Hashable
31309
32151
 
@@ -31316,7 +32158,7 @@ module Google
31316
32158
  # [Output Only] Metadata about this warning in key: value format. For example: "
31317
32159
  # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
31318
32160
  # Corresponds to the JSON property `data`
31319
- # @return [Array<Google::Apis::ComputeAlpha::PublicDelegatedPrefixesScopedList::Warning::Datum>]
32161
+ # @return [Array<Google::Apis::ComputeAlpha::QueuedResourceList::Warning::Datum>]
31320
32162
  attr_accessor :data
31321
32163
 
31322
32164
  # [Output Only] A human-readable description of the warning code.
@@ -31368,6 +32210,166 @@ module Google
31368
32210
  end
31369
32211
  end
31370
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
+
31371
32373
  # Queuing parameters for the requested deferred capacity.
31372
32374
  class QueuingPolicy
31373
32375
  include Google::Apis::Core::Hashable
@@ -33334,7 +34336,7 @@ module Google
33334
34336
  include Google::Apis::Core::Hashable
33335
34337
 
33336
34338
  # New set of SslCertificate resources to associate with this TargetHttpsProxy
33337
- # resource. Currently exactly one SslCertificate resource must be specified.
34339
+ # resource.
33338
34340
  # Corresponds to the JSON property `sslCertificates`
33339
34341
  # @return [Array<String>]
33340
34342
  attr_accessor :ssl_certificates
@@ -33389,7 +34391,11 @@ module Google
33389
34391
  class RequestMirrorPolicy
33390
34392
  include Google::Apis::Core::Hashable
33391
34393
 
33392
- # 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.
33393
34399
  # Corresponds to the JSON property `backendService`
33394
34400
  # @return [String]
33395
34401
  attr_accessor :backend_service
@@ -34959,6 +35965,11 @@ module Google
34959
35965
  class ResourceStatus
34960
35966
  include Google::Apis::Core::Hashable
34961
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
+
34962
35973
  #
34963
35974
  # Corresponds to the JSON property `scheduling`
34964
35975
  # @return [Google::Apis::ComputeAlpha::ResourceStatusScheduling]
@@ -34975,6 +35986,7 @@ module Google
34975
35986
 
34976
35987
  # Update properties of this object
34977
35988
  def update!(**args)
35989
+ @physical_host = args[:physical_host] if args.key?(:physical_host)
34978
35990
  @scheduling = args[:scheduling] if args.key?(:scheduling)
34979
35991
  @upcoming_maintenance = args[:upcoming_maintenance] if args.key?(:upcoming_maintenance)
34980
35992
  end
@@ -37258,6 +38270,11 @@ module Google
37258
38270
  class SavedDisk
37259
38271
  include Google::Apis::Core::Hashable
37260
38272
 
38273
+ # [Output Only] The architecture of the attached disk.
38274
+ # Corresponds to the JSON property `architecture`
38275
+ # @return [String]
38276
+ attr_accessor :architecture
38277
+
37261
38278
  # [Output Only] Type of the resource. Always compute#savedDisk for attached
37262
38279
  # disks.
37263
38280
  # Corresponds to the JSON property `kind`
@@ -37288,6 +38305,7 @@ module Google
37288
38305
 
37289
38306
  # Update properties of this object
37290
38307
  def update!(**args)
38308
+ @architecture = args[:architecture] if args.key?(:architecture)
37291
38309
  @kind = args[:kind] if args.key?(:kind)
37292
38310
  @source_disk = args[:source_disk] if args.key?(:source_disk)
37293
38311
  @storage_bytes = args[:storage_bytes] if args.key?(:storage_bytes)
@@ -40092,6 +41110,12 @@ module Google
40092
41110
  # @return [String]
40093
41111
  attr_accessor :location_hint
40094
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
+
40095
41119
  # Name of the resource; provided by the client when the resource is created. The
40096
41120
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
40097
41121
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
@@ -40237,6 +41261,7 @@ module Google
40237
41261
  @license_codes = args[:license_codes] if args.key?(:license_codes)
40238
41262
  @licenses = args[:licenses] if args.key?(:licenses)
40239
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)
40240
41265
  @name = args[:name] if args.key?(:name)
40241
41266
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
40242
41267
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -43973,8 +44998,9 @@ module Google
43973
44998
  # @return [String]
43974
44999
  attr_accessor :name
43975
45000
 
43976
- # NAT option controlling how IPs are NAT'ed to the instance. Currently only
43977
- # 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.
43978
45004
  # Corresponds to the JSON property `natPolicy`
43979
45005
  # @return [String]
43980
45006
  attr_accessor :nat_policy
@@ -46338,6 +47364,12 @@ module Google
46338
47364
  # @return [String]
46339
47365
  attr_accessor :creation_timestamp
46340
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
+
46341
47373
  # defaultRouteAction takes effect when none of the hostRules match. The load
46342
47374
  # balancer performs advanced routing actions, such as URL rewrites and header
46343
47375
  # transformations, before forwarding the request to the selected backend. If
@@ -46451,6 +47483,7 @@ module Google
46451
47483
  # Update properties of this object
46452
47484
  def update!(**args)
46453
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)
46454
47487
  @default_route_action = args[:default_route_action] if args.key?(:default_route_action)
46455
47488
  @default_service = args[:default_service] if args.key?(:default_service)
46456
47489
  @default_url_redirect = args[:default_url_redirect] if args.key?(:default_url_redirect)