google-apis-compute_alpha 0.40.0 → 0.43.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)
@@ -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)