google-apis-compute_beta 0.122.0 → 0.124.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.
@@ -643,6 +643,18 @@ module Google
643
643
  # @return [Fixnum]
644
644
  attr_accessor :id
645
645
 
646
+ # Reference to the source of external IPv4 addresses, like a
647
+ # PublicDelegatedPrefix (PDP) for BYOIP. The PDP must support enhanced IPv4
648
+ # allocations. Use one of the following formats to specify a PDP when reserving
649
+ # an external IPv4 address using BYOIP. - Full resource URL, as in https://www.
650
+ # googleapis.com/compute/v1/projects/projectId/regions/region /
651
+ # publicDelegatedPrefixes/pdp-name - Partial URL, as in - projects/projectId/
652
+ # regions/region/publicDelegatedPrefixes/pdp-name - regions/region/
653
+ # publicDelegatedPrefixes/pdp-name
654
+ # Corresponds to the JSON property `ipCollection`
655
+ # @return [String]
656
+ attr_accessor :ip_collection
657
+
646
658
  # The IP version that will be used by this address. Valid options are IPV4 or
647
659
  # IPV6.
648
660
  # Corresponds to the JSON property `ipVersion`
@@ -773,6 +785,7 @@ module Google
773
785
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
774
786
  @description = args[:description] if args.key?(:description)
775
787
  @id = args[:id] if args.key?(:id)
788
+ @ip_collection = args[:ip_collection] if args.key?(:ip_collection)
776
789
  @ip_version = args[:ip_version] if args.key?(:ip_version)
777
790
  @ipv6_endpoint_type = args[:ipv6_endpoint_type] if args.key?(:ipv6_endpoint_type)
778
791
  @kind = args[:kind] if args.key?(:kind)
@@ -15083,6 +15096,444 @@ module Google
15083
15096
  end
15084
15097
  end
15085
15098
 
15099
+ # Represents a health source. A health source resource specifies the source
15100
+ # resources and the health aggregation policy applied to the source resources to
15101
+ # determine the aggregated health status.
15102
+ class HealthSource
15103
+ include Google::Apis::Core::Hashable
15104
+
15105
+ # [Output Only] Creation timestamp in RFC3339 text format.
15106
+ # Corresponds to the JSON property `creationTimestamp`
15107
+ # @return [String]
15108
+ attr_accessor :creation_timestamp
15109
+
15110
+ # An optional description of this resource. Provide this property when you
15111
+ # create the resource.
15112
+ # Corresponds to the JSON property `description`
15113
+ # @return [String]
15114
+ attr_accessor :description
15115
+
15116
+ # Fingerprint of this resource. A hash of the contents stored in this object.
15117
+ # This field is used in optimistic locking. This field will be ignored when
15118
+ # inserting a HealthSource. An up-to-date fingerprint must be provided in order
15119
+ # to patch the HealthSource; Otherwise, the request will fail with error 412
15120
+ # conditionNotMet. To see the latest fingerprint, make a get() request to
15121
+ # retrieve the HealthSource.
15122
+ # Corresponds to the JSON property `fingerprint`
15123
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
15124
+ # @return [String]
15125
+ attr_accessor :fingerprint
15126
+
15127
+ # URL to the HealthAggregationPolicy resource. Must be set. Must be regional and
15128
+ # in the same region as the HealthSource. Can be mutated.
15129
+ # Corresponds to the JSON property `healthAggregationPolicy`
15130
+ # @return [String]
15131
+ attr_accessor :health_aggregation_policy
15132
+
15133
+ # [Output Only] A unique identifier for this resource type. The server generates
15134
+ # this identifier.
15135
+ # Corresponds to the JSON property `id`
15136
+ # @return [Fixnum]
15137
+ attr_accessor :id
15138
+
15139
+ # [Output Only] Type of the resource. Always compute#healthSource for health
15140
+ # sources.
15141
+ # Corresponds to the JSON property `kind`
15142
+ # @return [String]
15143
+ attr_accessor :kind
15144
+
15145
+ # Name of the resource. Provided by the client when the resource is created. The
15146
+ # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
15147
+ # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
15148
+ # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
15149
+ # and all following characters must be a dash, lowercase letter, or digit,
15150
+ # except the last character, which cannot be a dash.
15151
+ # Corresponds to the JSON property `name`
15152
+ # @return [String]
15153
+ attr_accessor :name
15154
+
15155
+ # [Output Only] URL of the region where the health source resides. This field
15156
+ # applies only to the regional resource. You must specify this field as part of
15157
+ # the HTTP request URL. It is not settable as a field in the request body.
15158
+ # Corresponds to the JSON property `region`
15159
+ # @return [String]
15160
+ attr_accessor :region
15161
+
15162
+ # [Output Only] Server-defined URL for the resource.
15163
+ # Corresponds to the JSON property `selfLink`
15164
+ # @return [String]
15165
+ attr_accessor :self_link
15166
+
15167
+ # [Output Only] Server-defined URL with id for the resource.
15168
+ # Corresponds to the JSON property `selfLinkWithId`
15169
+ # @return [String]
15170
+ attr_accessor :self_link_with_id
15171
+
15172
+ # Specifies the type of the HealthSource. The only allowed value is
15173
+ # BACKEND_SERVICE. Must be specified when the HealthSource is created, and
15174
+ # cannot be mutated.
15175
+ # Corresponds to the JSON property `sourceType`
15176
+ # @return [String]
15177
+ attr_accessor :source_type
15178
+
15179
+ # URLs to the source resources. Must be size 1. Must be a BackendService if the
15180
+ # sourceType is BACKEND_SERVICE. The BackendService must have load balancing
15181
+ # scheme INTERNAL or INTERNAL_MANAGED and must be regional and in the same
15182
+ # region as the HealthSource (cross-region deployment for INTERNAL_MANAGED is
15183
+ # not supported). The BackendService may use only IGs, MIGs, or NEGs of type
15184
+ # GCE_VM_IP or GCE_VM_IP_PORT. The BackendService may not use haPolicy. Can be
15185
+ # mutated.
15186
+ # Corresponds to the JSON property `sources`
15187
+ # @return [Array<String>]
15188
+ attr_accessor :sources
15189
+
15190
+ def initialize(**args)
15191
+ update!(**args)
15192
+ end
15193
+
15194
+ # Update properties of this object
15195
+ def update!(**args)
15196
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
15197
+ @description = args[:description] if args.key?(:description)
15198
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
15199
+ @health_aggregation_policy = args[:health_aggregation_policy] if args.key?(:health_aggregation_policy)
15200
+ @id = args[:id] if args.key?(:id)
15201
+ @kind = args[:kind] if args.key?(:kind)
15202
+ @name = args[:name] if args.key?(:name)
15203
+ @region = args[:region] if args.key?(:region)
15204
+ @self_link = args[:self_link] if args.key?(:self_link)
15205
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
15206
+ @source_type = args[:source_type] if args.key?(:source_type)
15207
+ @sources = args[:sources] if args.key?(:sources)
15208
+ end
15209
+ end
15210
+
15211
+ # Contains a list of HealthSourcesScopedList.
15212
+ class HealthSourceAggregatedList
15213
+ include Google::Apis::Core::Hashable
15214
+
15215
+ # [Output Only] Unique identifier for the resource; defined by the server.
15216
+ # Corresponds to the JSON property `id`
15217
+ # @return [String]
15218
+ attr_accessor :id
15219
+
15220
+ # A list of HealthSourcesScopedList resources.
15221
+ # Corresponds to the JSON property `items`
15222
+ # @return [Hash<String,Google::Apis::ComputeBeta::HealthSourcesScopedList>]
15223
+ attr_accessor :items
15224
+
15225
+ # Type of resource.
15226
+ # Corresponds to the JSON property `kind`
15227
+ # @return [String]
15228
+ attr_accessor :kind
15229
+
15230
+ # [Output Only] This token allows you to get the next page of results for list
15231
+ # requests. If the number of results is larger than maxResults, use the
15232
+ # nextPageToken as a value for the query parameter pageToken in the next list
15233
+ # request. Subsequent list requests will have their own nextPageToken to
15234
+ # continue paging through the results.
15235
+ # Corresponds to the JSON property `nextPageToken`
15236
+ # @return [String]
15237
+ attr_accessor :next_page_token
15238
+
15239
+ # [Output Only] Server-defined URL for this resource.
15240
+ # Corresponds to the JSON property `selfLink`
15241
+ # @return [String]
15242
+ attr_accessor :self_link
15243
+
15244
+ # [Output Only] Informational warning message.
15245
+ # Corresponds to the JSON property `warning`
15246
+ # @return [Google::Apis::ComputeBeta::HealthSourceAggregatedList::Warning]
15247
+ attr_accessor :warning
15248
+
15249
+ def initialize(**args)
15250
+ update!(**args)
15251
+ end
15252
+
15253
+ # Update properties of this object
15254
+ def update!(**args)
15255
+ @id = args[:id] if args.key?(:id)
15256
+ @items = args[:items] if args.key?(:items)
15257
+ @kind = args[:kind] if args.key?(:kind)
15258
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
15259
+ @self_link = args[:self_link] if args.key?(:self_link)
15260
+ @warning = args[:warning] if args.key?(:warning)
15261
+ end
15262
+
15263
+ # [Output Only] Informational warning message.
15264
+ class Warning
15265
+ include Google::Apis::Core::Hashable
15266
+
15267
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
15268
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
15269
+ # Corresponds to the JSON property `code`
15270
+ # @return [String]
15271
+ attr_accessor :code
15272
+
15273
+ # [Output Only] Metadata about this warning in key: value format. For example: "
15274
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
15275
+ # Corresponds to the JSON property `data`
15276
+ # @return [Array<Google::Apis::ComputeBeta::HealthSourceAggregatedList::Warning::Datum>]
15277
+ attr_accessor :data
15278
+
15279
+ # [Output Only] A human-readable description of the warning code.
15280
+ # Corresponds to the JSON property `message`
15281
+ # @return [String]
15282
+ attr_accessor :message
15283
+
15284
+ def initialize(**args)
15285
+ update!(**args)
15286
+ end
15287
+
15288
+ # Update properties of this object
15289
+ def update!(**args)
15290
+ @code = args[:code] if args.key?(:code)
15291
+ @data = args[:data] if args.key?(:data)
15292
+ @message = args[:message] if args.key?(:message)
15293
+ end
15294
+
15295
+ #
15296
+ class Datum
15297
+ include Google::Apis::Core::Hashable
15298
+
15299
+ # [Output Only] A key that provides more detail on the warning being returned.
15300
+ # For example, for warnings where there are no results in a list request for a
15301
+ # particular zone, this key might be scope and the key value might be the zone
15302
+ # name. Other examples might be a key indicating a deprecated resource and a
15303
+ # suggested replacement, or a warning about invalid network settings (for
15304
+ # example, if an instance attempts to perform IP forwarding but is not enabled
15305
+ # for IP forwarding).
15306
+ # Corresponds to the JSON property `key`
15307
+ # @return [String]
15308
+ attr_accessor :key
15309
+
15310
+ # [Output Only] A warning data value corresponding to the key.
15311
+ # Corresponds to the JSON property `value`
15312
+ # @return [String]
15313
+ attr_accessor :value
15314
+
15315
+ def initialize(**args)
15316
+ update!(**args)
15317
+ end
15318
+
15319
+ # Update properties of this object
15320
+ def update!(**args)
15321
+ @key = args[:key] if args.key?(:key)
15322
+ @value = args[:value] if args.key?(:value)
15323
+ end
15324
+ end
15325
+ end
15326
+ end
15327
+
15328
+ #
15329
+ class HealthSourceList
15330
+ include Google::Apis::Core::Hashable
15331
+
15332
+ # [Output Only] Unique identifier for the resource; defined by the server.
15333
+ # Corresponds to the JSON property `id`
15334
+ # @return [String]
15335
+ attr_accessor :id
15336
+
15337
+ # A list of HealthSource resources.
15338
+ # Corresponds to the JSON property `items`
15339
+ # @return [Array<Google::Apis::ComputeBeta::HealthSource>]
15340
+ attr_accessor :items
15341
+
15342
+ # [Output Only] Type of the resource. Always compute#healthSource for health
15343
+ # sources.
15344
+ # Corresponds to the JSON property `kind`
15345
+ # @return [String]
15346
+ attr_accessor :kind
15347
+
15348
+ # [Output Only] This token allows you to get the next page of results for list
15349
+ # requests. If the number of results is larger than maxResults, use the
15350
+ # nextPageToken as a value for the query parameter pageToken in the next list
15351
+ # request. Subsequent list requests will have their own nextPageToken to
15352
+ # continue paging through the results.
15353
+ # Corresponds to the JSON property `nextPageToken`
15354
+ # @return [String]
15355
+ attr_accessor :next_page_token
15356
+
15357
+ # [Output Only] Server-defined URL for this resource.
15358
+ # Corresponds to the JSON property `selfLink`
15359
+ # @return [String]
15360
+ attr_accessor :self_link
15361
+
15362
+ # [Output Only] Informational warning message.
15363
+ # Corresponds to the JSON property `warning`
15364
+ # @return [Google::Apis::ComputeBeta::HealthSourceList::Warning]
15365
+ attr_accessor :warning
15366
+
15367
+ def initialize(**args)
15368
+ update!(**args)
15369
+ end
15370
+
15371
+ # Update properties of this object
15372
+ def update!(**args)
15373
+ @id = args[:id] if args.key?(:id)
15374
+ @items = args[:items] if args.key?(:items)
15375
+ @kind = args[:kind] if args.key?(:kind)
15376
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
15377
+ @self_link = args[:self_link] if args.key?(:self_link)
15378
+ @warning = args[:warning] if args.key?(:warning)
15379
+ end
15380
+
15381
+ # [Output Only] Informational warning message.
15382
+ class Warning
15383
+ include Google::Apis::Core::Hashable
15384
+
15385
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
15386
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
15387
+ # Corresponds to the JSON property `code`
15388
+ # @return [String]
15389
+ attr_accessor :code
15390
+
15391
+ # [Output Only] Metadata about this warning in key: value format. For example: "
15392
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
15393
+ # Corresponds to the JSON property `data`
15394
+ # @return [Array<Google::Apis::ComputeBeta::HealthSourceList::Warning::Datum>]
15395
+ attr_accessor :data
15396
+
15397
+ # [Output Only] A human-readable description of the warning code.
15398
+ # Corresponds to the JSON property `message`
15399
+ # @return [String]
15400
+ attr_accessor :message
15401
+
15402
+ def initialize(**args)
15403
+ update!(**args)
15404
+ end
15405
+
15406
+ # Update properties of this object
15407
+ def update!(**args)
15408
+ @code = args[:code] if args.key?(:code)
15409
+ @data = args[:data] if args.key?(:data)
15410
+ @message = args[:message] if args.key?(:message)
15411
+ end
15412
+
15413
+ #
15414
+ class Datum
15415
+ include Google::Apis::Core::Hashable
15416
+
15417
+ # [Output Only] A key that provides more detail on the warning being returned.
15418
+ # For example, for warnings where there are no results in a list request for a
15419
+ # particular zone, this key might be scope and the key value might be the zone
15420
+ # name. Other examples might be a key indicating a deprecated resource and a
15421
+ # suggested replacement, or a warning about invalid network settings (for
15422
+ # example, if an instance attempts to perform IP forwarding but is not enabled
15423
+ # for IP forwarding).
15424
+ # Corresponds to the JSON property `key`
15425
+ # @return [String]
15426
+ attr_accessor :key
15427
+
15428
+ # [Output Only] A warning data value corresponding to the key.
15429
+ # Corresponds to the JSON property `value`
15430
+ # @return [String]
15431
+ attr_accessor :value
15432
+
15433
+ def initialize(**args)
15434
+ update!(**args)
15435
+ end
15436
+
15437
+ # Update properties of this object
15438
+ def update!(**args)
15439
+ @key = args[:key] if args.key?(:key)
15440
+ @value = args[:value] if args.key?(:value)
15441
+ end
15442
+ end
15443
+ end
15444
+ end
15445
+
15446
+ #
15447
+ class HealthSourcesScopedList
15448
+ include Google::Apis::Core::Hashable
15449
+
15450
+ # A list of HealthSources contained in this scope.
15451
+ # Corresponds to the JSON property `healthSources`
15452
+ # @return [Array<Google::Apis::ComputeBeta::HealthSource>]
15453
+ attr_accessor :health_sources
15454
+
15455
+ # Informational warning which replaces the list of health sources when the list
15456
+ # is empty.
15457
+ # Corresponds to the JSON property `warning`
15458
+ # @return [Google::Apis::ComputeBeta::HealthSourcesScopedList::Warning]
15459
+ attr_accessor :warning
15460
+
15461
+ def initialize(**args)
15462
+ update!(**args)
15463
+ end
15464
+
15465
+ # Update properties of this object
15466
+ def update!(**args)
15467
+ @health_sources = args[:health_sources] if args.key?(:health_sources)
15468
+ @warning = args[:warning] if args.key?(:warning)
15469
+ end
15470
+
15471
+ # Informational warning which replaces the list of health sources when the list
15472
+ # is empty.
15473
+ class Warning
15474
+ include Google::Apis::Core::Hashable
15475
+
15476
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
15477
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
15478
+ # Corresponds to the JSON property `code`
15479
+ # @return [String]
15480
+ attr_accessor :code
15481
+
15482
+ # [Output Only] Metadata about this warning in key: value format. For example: "
15483
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
15484
+ # Corresponds to the JSON property `data`
15485
+ # @return [Array<Google::Apis::ComputeBeta::HealthSourcesScopedList::Warning::Datum>]
15486
+ attr_accessor :data
15487
+
15488
+ # [Output Only] A human-readable description of the warning code.
15489
+ # Corresponds to the JSON property `message`
15490
+ # @return [String]
15491
+ attr_accessor :message
15492
+
15493
+ def initialize(**args)
15494
+ update!(**args)
15495
+ end
15496
+
15497
+ # Update properties of this object
15498
+ def update!(**args)
15499
+ @code = args[:code] if args.key?(:code)
15500
+ @data = args[:data] if args.key?(:data)
15501
+ @message = args[:message] if args.key?(:message)
15502
+ end
15503
+
15504
+ #
15505
+ class Datum
15506
+ include Google::Apis::Core::Hashable
15507
+
15508
+ # [Output Only] A key that provides more detail on the warning being returned.
15509
+ # For example, for warnings where there are no results in a list request for a
15510
+ # particular zone, this key might be scope and the key value might be the zone
15511
+ # name. Other examples might be a key indicating a deprecated resource and a
15512
+ # suggested replacement, or a warning about invalid network settings (for
15513
+ # example, if an instance attempts to perform IP forwarding but is not enabled
15514
+ # for IP forwarding).
15515
+ # Corresponds to the JSON property `key`
15516
+ # @return [String]
15517
+ attr_accessor :key
15518
+
15519
+ # [Output Only] A warning data value corresponding to the key.
15520
+ # Corresponds to the JSON property `value`
15521
+ # @return [String]
15522
+ attr_accessor :value
15523
+
15524
+ def initialize(**args)
15525
+ update!(**args)
15526
+ end
15527
+
15528
+ # Update properties of this object
15529
+ def update!(**args)
15530
+ @key = args[:key] if args.key?(:key)
15531
+ @value = args[:value] if args.key?(:value)
15532
+ end
15533
+ end
15534
+ end
15535
+ end
15536
+
15086
15537
  #
15087
15538
  class HealthStatus
15088
15539
  include Google::Apis::Core::Hashable
@@ -16667,6 +17118,11 @@ module Google
16667
17118
  # @return [String]
16668
17119
  attr_accessor :name
16669
17120
 
17121
+ # Additional image params.
17122
+ # Corresponds to the JSON property `params`
17123
+ # @return [Google::Apis::ComputeBeta::ImageParams]
17124
+ attr_accessor :params
17125
+
16670
17126
  # The parameters of the raw disk image.
16671
17127
  # Corresponds to the JSON property `rawDisk`
16672
17128
  # @return [Google::Apis::ComputeBeta::Image::RawDisk]
@@ -16822,6 +17278,7 @@ module Google
16822
17278
  @licenses = args[:licenses] if args.key?(:licenses)
16823
17279
  @locked = args[:locked] if args.key?(:locked)
16824
17280
  @name = args[:name] if args.key?(:name)
17281
+ @params = args[:params] if args.key?(:params)
16825
17282
  @raw_disk = args[:raw_disk] if args.key?(:raw_disk)
16826
17283
  @rollout_override = args[:rollout_override] if args.key?(:rollout_override)
16827
17284
  @satisfies_pzi = args[:satisfies_pzi] if args.key?(:satisfies_pzi)
@@ -17020,6 +17477,28 @@ module Google
17020
17477
  end
17021
17478
  end
17022
17479
 
17480
+ # Additional image params.
17481
+ class ImageParams
17482
+ include Google::Apis::Core::Hashable
17483
+
17484
+ # Resource manager tags to be bound to the image. Tag keys and values have the
17485
+ # same definition as resource manager tags. Keys must be in the format `tagKeys/`
17486
+ # tag_key_id``, and values are in the format `tagValues/456`. The field is
17487
+ # ignored (both PUT & PATCH) when empty.
17488
+ # Corresponds to the JSON property `resourceManagerTags`
17489
+ # @return [Hash<String,String>]
17490
+ attr_accessor :resource_manager_tags
17491
+
17492
+ def initialize(**args)
17493
+ update!(**args)
17494
+ end
17495
+
17496
+ # Update properties of this object
17497
+ def update!(**args)
17498
+ @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
17499
+ end
17500
+ end
17501
+
17023
17502
  # Initial State for shielded instance, these are public keys which are safe to
17024
17503
  # store in public
17025
17504
  class InitialStateConfig
@@ -23365,6 +23844,12 @@ module Google
23365
23844
  # @return [String]
23366
23845
  attr_accessor :state
23367
23846
 
23847
+ # Specific subzone in the InterconnectLocation that represents where this
23848
+ # connection is to be provisioned.
23849
+ # Corresponds to the JSON property `subzone`
23850
+ # @return [String]
23851
+ attr_accessor :subzone
23852
+
23368
23853
  # [Output Only] A list of the URLs of all CrossSiteNetwork WireGroups configured
23369
23854
  # to use this Interconnect. The Interconnect cannot be deleted if this list is
23370
23855
  # non-empty.
@@ -23411,6 +23896,7 @@ module Google
23411
23896
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
23412
23897
  @self_link = args[:self_link] if args.key?(:self_link)
23413
23898
  @state = args[:state] if args.key?(:state)
23899
+ @subzone = args[:subzone] if args.key?(:subzone)
23414
23900
  @wire_groups = args[:wire_groups] if args.key?(:wire_groups)
23415
23901
  end
23416
23902
  end
@@ -26259,6 +26745,13 @@ module Google
26259
26745
  # @return [String]
26260
26746
  attr_accessor :self_link
26261
26747
 
26748
+ # [Output Only] URLs of the other locations that can pair up with this location
26749
+ # to support Single-Region 99.99% SLA. E.g. iad-zone1-1 and iad-zone2-5467 are
26750
+ # Single-Region 99.99% peer locations of each other.
26751
+ # Corresponds to the JSON property `singleRegionProductionCriticalPeerLocations`
26752
+ # @return [Array<String>]
26753
+ attr_accessor :single_region_production_critical_peer_locations
26754
+
26262
26755
  # [Output Only] The status of this InterconnectLocation, which can take one of
26263
26756
  # the following values: - CLOSED: The InterconnectLocation is closed and is
26264
26757
  # unavailable for provisioning new Interconnects. - AVAILABLE: The
@@ -26296,6 +26789,7 @@ module Google
26296
26789
  @peeringdb_facility_id = args[:peeringdb_facility_id] if args.key?(:peeringdb_facility_id)
26297
26790
  @region_infos = args[:region_infos] if args.key?(:region_infos)
26298
26791
  @self_link = args[:self_link] if args.key?(:self_link)
26792
+ @single_region_production_critical_peer_locations = args[:single_region_production_critical_peer_locations] if args.key?(:single_region_production_critical_peer_locations)
26299
26793
  @status = args[:status] if args.key?(:status)
26300
26794
  @supports_pzs = args[:supports_pzs] if args.key?(:supports_pzs)
26301
26795
  end
@@ -31916,140 +32410,811 @@ module Google
31916
32410
  end
31917
32411
  end
31918
32412
 
31919
- # Additional network parameters.
31920
- class NetworkParams
32413
+ # Additional network parameters.
32414
+ class NetworkParams
32415
+ include Google::Apis::Core::Hashable
32416
+
32417
+ # Tag keys/values directly bound to this resource. Tag keys and values have the
32418
+ # same definition as resource manager tags. The field is allowed for INSERT only.
32419
+ # The keys/values to set on the resource should be specified in either ID ` : `
32420
+ # or Namespaced format ` : `. For example the following are valid inputs: * `"
32421
+ # tagKeys/333" : "tagValues/444", "tagKeys/123" : "tagValues/456"` * `"123/
32422
+ # environment" : "production", "345/abc" : "xyz"` Note: * Invalid combinations
32423
+ # of ID & namespaced format is not supported. For instance: `"123/environment" :
32424
+ # "tagValues/444"` is invalid.
32425
+ # Corresponds to the JSON property `resourceManagerTags`
32426
+ # @return [Hash<String,String>]
32427
+ attr_accessor :resource_manager_tags
32428
+
32429
+ def initialize(**args)
32430
+ update!(**args)
32431
+ end
32432
+
32433
+ # Update properties of this object
32434
+ def update!(**args)
32435
+ @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
32436
+ end
32437
+ end
32438
+
32439
+ # A network peering attached to a network resource. The message includes the
32440
+ # peering name, peer network, peering state, and a flag indicating whether
32441
+ # Google Compute Engine should automatically create routes for the peering.
32442
+ class NetworkPeering
32443
+ include Google::Apis::Core::Hashable
32444
+
32445
+ # This field will be deprecated soon. Use the exchange_subnet_routes field
32446
+ # instead. Indicates whether full mesh connectivity is created and managed
32447
+ # automatically between peered networks. Currently this field should always be
32448
+ # true since Google Compute Engine will automatically create and manage
32449
+ # subnetwork routes between two networks when peering state is ACTIVE.
32450
+ # Corresponds to the JSON property `autoCreateRoutes`
32451
+ # @return [Boolean]
32452
+ attr_accessor :auto_create_routes
32453
+ alias_method :auto_create_routes?, :auto_create_routes
32454
+
32455
+ # [Output Only] Describes the state of a peering connection, not just the local
32456
+ # peering. This field provides information about the effective settings for the
32457
+ # connection as a whole, including pending delete/update requests for CONSENSUS
32458
+ # peerings.
32459
+ # Corresponds to the JSON property `connectionStatus`
32460
+ # @return [Google::Apis::ComputeBeta::NetworkPeeringConnectionStatus]
32461
+ attr_accessor :connection_status
32462
+
32463
+ # Indicates whether full mesh connectivity is created and managed automatically
32464
+ # between peered networks. Currently this field should always be true since
32465
+ # Google Compute Engine will automatically create and manage subnetwork routes
32466
+ # between two networks when peering state is ACTIVE.
32467
+ # Corresponds to the JSON property `exchangeSubnetRoutes`
32468
+ # @return [Boolean]
32469
+ attr_accessor :exchange_subnet_routes
32470
+ alias_method :exchange_subnet_routes?, :exchange_subnet_routes
32471
+
32472
+ # Whether to export the custom routes to peer network. The default value is
32473
+ # false.
32474
+ # Corresponds to the JSON property `exportCustomRoutes`
32475
+ # @return [Boolean]
32476
+ attr_accessor :export_custom_routes
32477
+ alias_method :export_custom_routes?, :export_custom_routes
32478
+
32479
+ # Whether subnet routes with public IP range are exported. The default value is
32480
+ # true, all subnet routes are exported. IPv4 special-use ranges are always
32481
+ # exported to peers and are not controlled by this field.
32482
+ # Corresponds to the JSON property `exportSubnetRoutesWithPublicIp`
32483
+ # @return [Boolean]
32484
+ attr_accessor :export_subnet_routes_with_public_ip
32485
+ alias_method :export_subnet_routes_with_public_ip?, :export_subnet_routes_with_public_ip
32486
+
32487
+ # Whether to import the custom routes from peer network. The default value is
32488
+ # false.
32489
+ # Corresponds to the JSON property `importCustomRoutes`
32490
+ # @return [Boolean]
32491
+ attr_accessor :import_custom_routes
32492
+ alias_method :import_custom_routes?, :import_custom_routes
32493
+
32494
+ # Whether subnet routes with public IP range are imported. The default value is
32495
+ # false. IPv4 special-use ranges are always imported from peers and are not
32496
+ # controlled by this field.
32497
+ # Corresponds to the JSON property `importSubnetRoutesWithPublicIp`
32498
+ # @return [Boolean]
32499
+ attr_accessor :import_subnet_routes_with_public_ip
32500
+ alias_method :import_subnet_routes_with_public_ip?, :import_subnet_routes_with_public_ip
32501
+
32502
+ # Name of this peering. Provided by the client when the peering is created. The
32503
+ # name must comply with RFC1035. Specifically, the name must be 1-63 characters
32504
+ # long and match regular expression `[a-z]([-a-z0-9]*[a-z0-9])?`. The first
32505
+ # character must be a lowercase letter, and all the following characters must be
32506
+ # a dash, lowercase letter, or digit, except the last character, which cannot be
32507
+ # a dash.
32508
+ # Corresponds to the JSON property `name`
32509
+ # @return [String]
32510
+ attr_accessor :name
32511
+
32512
+ # The URL of the peer network. It can be either full URL or partial URL. The
32513
+ # peer network may belong to a different project. If the partial URL does not
32514
+ # contain project, it is assumed that the peer network is in the same project as
32515
+ # the current network.
32516
+ # Corresponds to the JSON property `network`
32517
+ # @return [String]
32518
+ attr_accessor :network
32519
+
32520
+ # [Output Only] Maximum Transmission Unit in bytes of the peer network.
32521
+ # Corresponds to the JSON property `peerMtu`
32522
+ # @return [Fixnum]
32523
+ attr_accessor :peer_mtu
32524
+
32525
+ # Which IP version(s) of traffic and routes are allowed to be imported or
32526
+ # exported between peer networks. The default value is IPV4_ONLY.
32527
+ # Corresponds to the JSON property `stackType`
32528
+ # @return [String]
32529
+ attr_accessor :stack_type
32530
+
32531
+ # [Output Only] State for the peering, either `ACTIVE` or `INACTIVE`. The
32532
+ # peering is `ACTIVE` when there's a matching configuration in the peer network.
32533
+ # Corresponds to the JSON property `state`
32534
+ # @return [String]
32535
+ attr_accessor :state
32536
+
32537
+ # [Output Only] Details about the current state of the peering.
32538
+ # Corresponds to the JSON property `stateDetails`
32539
+ # @return [String]
32540
+ attr_accessor :state_details
32541
+
32542
+ # The update strategy determines the semantics for updates and deletes to the
32543
+ # peering connection configuration.
32544
+ # Corresponds to the JSON property `updateStrategy`
32545
+ # @return [String]
32546
+ attr_accessor :update_strategy
32547
+
32548
+ def initialize(**args)
32549
+ update!(**args)
32550
+ end
32551
+
32552
+ # Update properties of this object
32553
+ def update!(**args)
32554
+ @auto_create_routes = args[:auto_create_routes] if args.key?(:auto_create_routes)
32555
+ @connection_status = args[:connection_status] if args.key?(:connection_status)
32556
+ @exchange_subnet_routes = args[:exchange_subnet_routes] if args.key?(:exchange_subnet_routes)
32557
+ @export_custom_routes = args[:export_custom_routes] if args.key?(:export_custom_routes)
32558
+ @export_subnet_routes_with_public_ip = args[:export_subnet_routes_with_public_ip] if args.key?(:export_subnet_routes_with_public_ip)
32559
+ @import_custom_routes = args[:import_custom_routes] if args.key?(:import_custom_routes)
32560
+ @import_subnet_routes_with_public_ip = args[:import_subnet_routes_with_public_ip] if args.key?(:import_subnet_routes_with_public_ip)
32561
+ @name = args[:name] if args.key?(:name)
32562
+ @network = args[:network] if args.key?(:network)
32563
+ @peer_mtu = args[:peer_mtu] if args.key?(:peer_mtu)
32564
+ @stack_type = args[:stack_type] if args.key?(:stack_type)
32565
+ @state = args[:state] if args.key?(:state)
32566
+ @state_details = args[:state_details] if args.key?(:state_details)
32567
+ @update_strategy = args[:update_strategy] if args.key?(:update_strategy)
32568
+ end
32569
+ end
32570
+
32571
+ # [Output Only] Describes the state of a peering connection, not just the local
32572
+ # peering. This field provides information about the effective settings for the
32573
+ # connection as a whole, including pending delete/update requests for CONSENSUS
32574
+ # peerings.
32575
+ class NetworkPeeringConnectionStatus
32576
+ include Google::Apis::Core::Hashable
32577
+
32578
+ # The status of update/delete for a consensus peering connection. Only set when
32579
+ # connection_status.update_strategy is CONSENSUS or a network peering is
32580
+ # proposing to update the strategy to CONSENSUS.
32581
+ # Corresponds to the JSON property `consensusState`
32582
+ # @return [Google::Apis::ComputeBeta::NetworkPeeringConnectionStatusConsensusState]
32583
+ attr_accessor :consensus_state
32584
+
32585
+ # The active connectivity settings for the peering connection based on the
32586
+ # settings of the network peerings.
32587
+ # Corresponds to the JSON property `trafficConfiguration`
32588
+ # @return [Google::Apis::ComputeBeta::NetworkPeeringConnectionStatusTrafficConfiguration]
32589
+ attr_accessor :traffic_configuration
32590
+
32591
+ # The update strategy determines the update/delete semantics for this peering
32592
+ # connection.
32593
+ # Corresponds to the JSON property `updateStrategy`
32594
+ # @return [String]
32595
+ attr_accessor :update_strategy
32596
+
32597
+ def initialize(**args)
32598
+ update!(**args)
32599
+ end
32600
+
32601
+ # Update properties of this object
32602
+ def update!(**args)
32603
+ @consensus_state = args[:consensus_state] if args.key?(:consensus_state)
32604
+ @traffic_configuration = args[:traffic_configuration] if args.key?(:traffic_configuration)
32605
+ @update_strategy = args[:update_strategy] if args.key?(:update_strategy)
32606
+ end
32607
+ end
32608
+
32609
+ # The status of update/delete for a consensus peering connection. Only set when
32610
+ # connection_status.update_strategy is CONSENSUS or a network peering is
32611
+ # proposing to update the strategy to CONSENSUS.
32612
+ class NetworkPeeringConnectionStatusConsensusState
32613
+ include Google::Apis::Core::Hashable
32614
+
32615
+ # The status of the delete request.
32616
+ # Corresponds to the JSON property `deleteStatus`
32617
+ # @return [String]
32618
+ attr_accessor :delete_status
32619
+
32620
+ # The status of the update request.
32621
+ # Corresponds to the JSON property `updateStatus`
32622
+ # @return [String]
32623
+ attr_accessor :update_status
32624
+
32625
+ def initialize(**args)
32626
+ update!(**args)
32627
+ end
32628
+
32629
+ # Update properties of this object
32630
+ def update!(**args)
32631
+ @delete_status = args[:delete_status] if args.key?(:delete_status)
32632
+ @update_status = args[:update_status] if args.key?(:update_status)
32633
+ end
32634
+ end
32635
+
32636
+ #
32637
+ class NetworkPeeringConnectionStatusTrafficConfiguration
32638
+ include Google::Apis::Core::Hashable
32639
+
32640
+ # Whether custom routes are being exported to the peer network.
32641
+ # Corresponds to the JSON property `exportCustomRoutesToPeer`
32642
+ # @return [Boolean]
32643
+ attr_accessor :export_custom_routes_to_peer
32644
+ alias_method :export_custom_routes_to_peer?, :export_custom_routes_to_peer
32645
+
32646
+ # Whether subnet routes with public IP ranges are being exported to the peer
32647
+ # network.
32648
+ # Corresponds to the JSON property `exportSubnetRoutesWithPublicIpToPeer`
32649
+ # @return [Boolean]
32650
+ attr_accessor :export_subnet_routes_with_public_ip_to_peer
32651
+ alias_method :export_subnet_routes_with_public_ip_to_peer?, :export_subnet_routes_with_public_ip_to_peer
32652
+
32653
+ # Whether custom routes are being imported from the peer network.
32654
+ # Corresponds to the JSON property `importCustomRoutesFromPeer`
32655
+ # @return [Boolean]
32656
+ attr_accessor :import_custom_routes_from_peer
32657
+ alias_method :import_custom_routes_from_peer?, :import_custom_routes_from_peer
32658
+
32659
+ # Whether subnet routes with public IP ranges are being imported from the peer
32660
+ # network.
32661
+ # Corresponds to the JSON property `importSubnetRoutesWithPublicIpFromPeer`
32662
+ # @return [Boolean]
32663
+ attr_accessor :import_subnet_routes_with_public_ip_from_peer
32664
+ alias_method :import_subnet_routes_with_public_ip_from_peer?, :import_subnet_routes_with_public_ip_from_peer
32665
+
32666
+ # Which IP version(s) of traffic and routes are being imported or exported
32667
+ # between peer networks.
32668
+ # Corresponds to the JSON property `stackType`
32669
+ # @return [String]
32670
+ attr_accessor :stack_type
32671
+
32672
+ def initialize(**args)
32673
+ update!(**args)
32674
+ end
32675
+
32676
+ # Update properties of this object
32677
+ def update!(**args)
32678
+ @export_custom_routes_to_peer = args[:export_custom_routes_to_peer] if args.key?(:export_custom_routes_to_peer)
32679
+ @export_subnet_routes_with_public_ip_to_peer = args[:export_subnet_routes_with_public_ip_to_peer] if args.key?(:export_subnet_routes_with_public_ip_to_peer)
32680
+ @import_custom_routes_from_peer = args[:import_custom_routes_from_peer] if args.key?(:import_custom_routes_from_peer)
32681
+ @import_subnet_routes_with_public_ip_from_peer = args[:import_subnet_routes_with_public_ip_from_peer] if args.key?(:import_subnet_routes_with_public_ip_from_peer)
32682
+ @stack_type = args[:stack_type] if args.key?(:stack_type)
32683
+ end
32684
+ end
32685
+
32686
+ #
32687
+ class NetworkPerformanceConfig
32688
+ include Google::Apis::Core::Hashable
32689
+
32690
+ #
32691
+ # Corresponds to the JSON property `totalEgressBandwidthTier`
32692
+ # @return [String]
32693
+ attr_accessor :total_egress_bandwidth_tier
32694
+
32695
+ def initialize(**args)
32696
+ update!(**args)
32697
+ end
32698
+
32699
+ # Update properties of this object
32700
+ def update!(**args)
32701
+ @total_egress_bandwidth_tier = args[:total_egress_bandwidth_tier] if args.key?(:total_egress_bandwidth_tier)
32702
+ end
32703
+ end
32704
+
32705
+ #
32706
+ class NetworkPoliciesScopedList
32707
+ include Google::Apis::Core::Hashable
32708
+
32709
+ # A list of network policies contained in this scope.
32710
+ # Corresponds to the JSON property `networkPolicies`
32711
+ # @return [Array<Google::Apis::ComputeBeta::NetworkPolicy>]
32712
+ attr_accessor :network_policies
32713
+
32714
+ # Informational warning which replaces the list of network policies when the
32715
+ # list is empty.
32716
+ # Corresponds to the JSON property `warning`
32717
+ # @return [Google::Apis::ComputeBeta::NetworkPoliciesScopedList::Warning]
32718
+ attr_accessor :warning
32719
+
32720
+ def initialize(**args)
32721
+ update!(**args)
32722
+ end
32723
+
32724
+ # Update properties of this object
32725
+ def update!(**args)
32726
+ @network_policies = args[:network_policies] if args.key?(:network_policies)
32727
+ @warning = args[:warning] if args.key?(:warning)
32728
+ end
32729
+
32730
+ # Informational warning which replaces the list of network policies when the
32731
+ # list is empty.
32732
+ class Warning
32733
+ include Google::Apis::Core::Hashable
32734
+
32735
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
32736
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
32737
+ # Corresponds to the JSON property `code`
32738
+ # @return [String]
32739
+ attr_accessor :code
32740
+
32741
+ # [Output Only] Metadata about this warning in key: value format. For example: "
32742
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
32743
+ # Corresponds to the JSON property `data`
32744
+ # @return [Array<Google::Apis::ComputeBeta::NetworkPoliciesScopedList::Warning::Datum>]
32745
+ attr_accessor :data
32746
+
32747
+ # [Output Only] A human-readable description of the warning code.
32748
+ # Corresponds to the JSON property `message`
32749
+ # @return [String]
32750
+ attr_accessor :message
32751
+
32752
+ def initialize(**args)
32753
+ update!(**args)
32754
+ end
32755
+
32756
+ # Update properties of this object
32757
+ def update!(**args)
32758
+ @code = args[:code] if args.key?(:code)
32759
+ @data = args[:data] if args.key?(:data)
32760
+ @message = args[:message] if args.key?(:message)
32761
+ end
32762
+
32763
+ #
32764
+ class Datum
32765
+ include Google::Apis::Core::Hashable
32766
+
32767
+ # [Output Only] A key that provides more detail on the warning being returned.
32768
+ # For example, for warnings where there are no results in a list request for a
32769
+ # particular zone, this key might be scope and the key value might be the zone
32770
+ # name. Other examples might be a key indicating a deprecated resource and a
32771
+ # suggested replacement, or a warning about invalid network settings (for
32772
+ # example, if an instance attempts to perform IP forwarding but is not enabled
32773
+ # for IP forwarding).
32774
+ # Corresponds to the JSON property `key`
32775
+ # @return [String]
32776
+ attr_accessor :key
32777
+
32778
+ # [Output Only] A warning data value corresponding to the key.
32779
+ # Corresponds to the JSON property `value`
32780
+ # @return [String]
32781
+ attr_accessor :value
32782
+
32783
+ def initialize(**args)
32784
+ update!(**args)
32785
+ end
32786
+
32787
+ # Update properties of this object
32788
+ def update!(**args)
32789
+ @key = args[:key] if args.key?(:key)
32790
+ @value = args[:value] if args.key?(:value)
32791
+ end
32792
+ end
32793
+ end
32794
+ end
32795
+
32796
+ # Represents a Network Policy resource.
32797
+ class NetworkPolicy
32798
+ include Google::Apis::Core::Hashable
32799
+
32800
+ # [Output Only] A list of associations that belong to this network policy.
32801
+ # Corresponds to the JSON property `associations`
32802
+ # @return [Array<Google::Apis::ComputeBeta::NetworkPolicyAssociation>]
32803
+ attr_accessor :associations
32804
+
32805
+ # [Output Only] Creation timestamp in RFC3339 text format.
32806
+ # Corresponds to the JSON property `creationTimestamp`
32807
+ # @return [String]
32808
+ attr_accessor :creation_timestamp
32809
+
32810
+ # An optional description of this resource. Provide this property when you
32811
+ # create the resource.
32812
+ # Corresponds to the JSON property `description`
32813
+ # @return [String]
32814
+ attr_accessor :description
32815
+
32816
+ # [Output Only] The unique identifier for the resource. This identifier is
32817
+ # defined by the server.
32818
+ # Corresponds to the JSON property `id`
32819
+ # @return [Fixnum]
32820
+ attr_accessor :id
32821
+
32822
+ # [Output only] Type of the resource. Always compute#networkPolicy for network
32823
+ # policies
32824
+ # Corresponds to the JSON property `kind`
32825
+ # @return [String]
32826
+ attr_accessor :kind
32827
+
32828
+ # Name of the resource.
32829
+ # Corresponds to the JSON property `name`
32830
+ # @return [String]
32831
+ attr_accessor :name
32832
+
32833
+ # [Output Only] URL of the region where the regional network policy resides. You
32834
+ # must specify this field as part of the HTTP request URL. It is not settable as
32835
+ # a field in the request body.
32836
+ # Corresponds to the JSON property `region`
32837
+ # @return [String]
32838
+ attr_accessor :region
32839
+
32840
+ # [Output Only] Total count of all network policy rule tuples. A network policy
32841
+ # can not exceed a set number of tuples.
32842
+ # Corresponds to the JSON property `ruleTupleCount`
32843
+ # @return [Fixnum]
32844
+ attr_accessor :rule_tuple_count
32845
+
32846
+ # [Output Only] Server-defined URL for the resource.
32847
+ # Corresponds to the JSON property `selfLink`
32848
+ # @return [String]
32849
+ attr_accessor :self_link
32850
+
32851
+ # [Output Only] Server-defined URL for this resource with the resource id.
32852
+ # Corresponds to the JSON property `selfLinkWithId`
32853
+ # @return [String]
32854
+ attr_accessor :self_link_with_id
32855
+
32856
+ # [Output Only] A list of traffic classification rules that belong to this
32857
+ # policy.
32858
+ # Corresponds to the JSON property `trafficClassificationRules`
32859
+ # @return [Array<Google::Apis::ComputeBeta::NetworkPolicyTrafficClassificationRule>]
32860
+ attr_accessor :traffic_classification_rules
32861
+
32862
+ def initialize(**args)
32863
+ update!(**args)
32864
+ end
32865
+
32866
+ # Update properties of this object
32867
+ def update!(**args)
32868
+ @associations = args[:associations] if args.key?(:associations)
32869
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
32870
+ @description = args[:description] if args.key?(:description)
32871
+ @id = args[:id] if args.key?(:id)
32872
+ @kind = args[:kind] if args.key?(:kind)
32873
+ @name = args[:name] if args.key?(:name)
32874
+ @region = args[:region] if args.key?(:region)
32875
+ @rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
32876
+ @self_link = args[:self_link] if args.key?(:self_link)
32877
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
32878
+ @traffic_classification_rules = args[:traffic_classification_rules] if args.key?(:traffic_classification_rules)
32879
+ end
32880
+ end
32881
+
32882
+ #
32883
+ class NetworkPolicyAggregatedList
32884
+ include Google::Apis::Core::Hashable
32885
+
32886
+ # [Output Only] Unique identifier for the resource; defined by the server.
32887
+ # Corresponds to the JSON property `id`
32888
+ # @return [String]
32889
+ attr_accessor :id
32890
+
32891
+ # A list of NetworkPoliciesScopedList resources.
32892
+ # Corresponds to the JSON property `items`
32893
+ # @return [Hash<String,Google::Apis::ComputeBeta::NetworkPoliciesScopedList>]
32894
+ attr_accessor :items
32895
+
32896
+ # [Output Only] Type of resource. Always compute#networkPolicyAggregatedList for
32897
+ # lists of network policies.
32898
+ # Corresponds to the JSON property `kind`
32899
+ # @return [String]
32900
+ attr_accessor :kind
32901
+
32902
+ # [Output Only] This token allows you to get the next page of results for list
32903
+ # requests. If the number of results is larger than maxResults, use the
32904
+ # nextPageToken as a value for the query parameter pageToken in the next list
32905
+ # request. Subsequent list requests will have their own nextPageToken to
32906
+ # continue paging through the results.
32907
+ # Corresponds to the JSON property `nextPageToken`
32908
+ # @return [String]
32909
+ attr_accessor :next_page_token
32910
+
32911
+ # [Output Only] Server-defined URL for this resource.
32912
+ # Corresponds to the JSON property `selfLink`
32913
+ # @return [String]
32914
+ attr_accessor :self_link
32915
+
32916
+ # [Output Only] Unreachable resources.
32917
+ # Corresponds to the JSON property `unreachables`
32918
+ # @return [Array<String>]
32919
+ attr_accessor :unreachables
32920
+
32921
+ # [Output Only] Informational warning message.
32922
+ # Corresponds to the JSON property `warning`
32923
+ # @return [Google::Apis::ComputeBeta::NetworkPolicyAggregatedList::Warning]
32924
+ attr_accessor :warning
32925
+
32926
+ def initialize(**args)
32927
+ update!(**args)
32928
+ end
32929
+
32930
+ # Update properties of this object
32931
+ def update!(**args)
32932
+ @id = args[:id] if args.key?(:id)
32933
+ @items = args[:items] if args.key?(:items)
32934
+ @kind = args[:kind] if args.key?(:kind)
32935
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
32936
+ @self_link = args[:self_link] if args.key?(:self_link)
32937
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
32938
+ @warning = args[:warning] if args.key?(:warning)
32939
+ end
32940
+
32941
+ # [Output Only] Informational warning message.
32942
+ class Warning
32943
+ include Google::Apis::Core::Hashable
32944
+
32945
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
32946
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
32947
+ # Corresponds to the JSON property `code`
32948
+ # @return [String]
32949
+ attr_accessor :code
32950
+
32951
+ # [Output Only] Metadata about this warning in key: value format. For example: "
32952
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
32953
+ # Corresponds to the JSON property `data`
32954
+ # @return [Array<Google::Apis::ComputeBeta::NetworkPolicyAggregatedList::Warning::Datum>]
32955
+ attr_accessor :data
32956
+
32957
+ # [Output Only] A human-readable description of the warning code.
32958
+ # Corresponds to the JSON property `message`
32959
+ # @return [String]
32960
+ attr_accessor :message
32961
+
32962
+ def initialize(**args)
32963
+ update!(**args)
32964
+ end
32965
+
32966
+ # Update properties of this object
32967
+ def update!(**args)
32968
+ @code = args[:code] if args.key?(:code)
32969
+ @data = args[:data] if args.key?(:data)
32970
+ @message = args[:message] if args.key?(:message)
32971
+ end
32972
+
32973
+ #
32974
+ class Datum
32975
+ include Google::Apis::Core::Hashable
32976
+
32977
+ # [Output Only] A key that provides more detail on the warning being returned.
32978
+ # For example, for warnings where there are no results in a list request for a
32979
+ # particular zone, this key might be scope and the key value might be the zone
32980
+ # name. Other examples might be a key indicating a deprecated resource and a
32981
+ # suggested replacement, or a warning about invalid network settings (for
32982
+ # example, if an instance attempts to perform IP forwarding but is not enabled
32983
+ # for IP forwarding).
32984
+ # Corresponds to the JSON property `key`
32985
+ # @return [String]
32986
+ attr_accessor :key
32987
+
32988
+ # [Output Only] A warning data value corresponding to the key.
32989
+ # Corresponds to the JSON property `value`
32990
+ # @return [String]
32991
+ attr_accessor :value
32992
+
32993
+ def initialize(**args)
32994
+ update!(**args)
32995
+ end
32996
+
32997
+ # Update properties of this object
32998
+ def update!(**args)
32999
+ @key = args[:key] if args.key?(:key)
33000
+ @value = args[:value] if args.key?(:value)
33001
+ end
33002
+ end
33003
+ end
33004
+ end
33005
+
33006
+ #
33007
+ class NetworkPolicyAssociation
33008
+ include Google::Apis::Core::Hashable
33009
+
33010
+ # The target that the network policy is attached to.
33011
+ # Corresponds to the JSON property `attachmentTarget`
33012
+ # @return [String]
33013
+ attr_accessor :attachment_target
33014
+
33015
+ # The name for an association.
33016
+ # Corresponds to the JSON property `name`
33017
+ # @return [String]
33018
+ attr_accessor :name
33019
+
33020
+ def initialize(**args)
33021
+ update!(**args)
33022
+ end
33023
+
33024
+ # Update properties of this object
33025
+ def update!(**args)
33026
+ @attachment_target = args[:attachment_target] if args.key?(:attachment_target)
33027
+ @name = args[:name] if args.key?(:name)
33028
+ end
33029
+ end
33030
+
33031
+ #
33032
+ class NetworkPolicyList
33033
+ include Google::Apis::Core::Hashable
33034
+
33035
+ # [Output Only] Unique identifier for the resource; defined by the server.
33036
+ # Corresponds to the JSON property `id`
33037
+ # @return [String]
33038
+ attr_accessor :id
33039
+
33040
+ # A list of NetworkPolicy resources.
33041
+ # Corresponds to the JSON property `items`
33042
+ # @return [Array<Google::Apis::ComputeBeta::NetworkPolicy>]
33043
+ attr_accessor :items
33044
+
33045
+ # [Output Only] Type of resource. Always compute#networkPolicyList for lists of
33046
+ # network policies.
33047
+ # Corresponds to the JSON property `kind`
33048
+ # @return [String]
33049
+ attr_accessor :kind
33050
+
33051
+ # [Output Only] This token allows you to get the next page of results for list
33052
+ # requests. If the number of results is larger than maxResults, use the
33053
+ # nextPageToken as a value for the query parameter pageToken in the next list
33054
+ # request. Subsequent list requests will have their own nextPageToken to
33055
+ # continue paging through the results.
33056
+ # Corresponds to the JSON property `nextPageToken`
33057
+ # @return [String]
33058
+ attr_accessor :next_page_token
33059
+
33060
+ # [Output Only] Informational warning message.
33061
+ # Corresponds to the JSON property `warning`
33062
+ # @return [Google::Apis::ComputeBeta::NetworkPolicyList::Warning]
33063
+ attr_accessor :warning
33064
+
33065
+ def initialize(**args)
33066
+ update!(**args)
33067
+ end
33068
+
33069
+ # Update properties of this object
33070
+ def update!(**args)
33071
+ @id = args[:id] if args.key?(:id)
33072
+ @items = args[:items] if args.key?(:items)
33073
+ @kind = args[:kind] if args.key?(:kind)
33074
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
33075
+ @warning = args[:warning] if args.key?(:warning)
33076
+ end
33077
+
33078
+ # [Output Only] Informational warning message.
33079
+ class Warning
33080
+ include Google::Apis::Core::Hashable
33081
+
33082
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
33083
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
33084
+ # Corresponds to the JSON property `code`
33085
+ # @return [String]
33086
+ attr_accessor :code
33087
+
33088
+ # [Output Only] Metadata about this warning in key: value format. For example: "
33089
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
33090
+ # Corresponds to the JSON property `data`
33091
+ # @return [Array<Google::Apis::ComputeBeta::NetworkPolicyList::Warning::Datum>]
33092
+ attr_accessor :data
33093
+
33094
+ # [Output Only] A human-readable description of the warning code.
33095
+ # Corresponds to the JSON property `message`
33096
+ # @return [String]
33097
+ attr_accessor :message
33098
+
33099
+ def initialize(**args)
33100
+ update!(**args)
33101
+ end
33102
+
33103
+ # Update properties of this object
33104
+ def update!(**args)
33105
+ @code = args[:code] if args.key?(:code)
33106
+ @data = args[:data] if args.key?(:data)
33107
+ @message = args[:message] if args.key?(:message)
33108
+ end
33109
+
33110
+ #
33111
+ class Datum
33112
+ include Google::Apis::Core::Hashable
33113
+
33114
+ # [Output Only] A key that provides more detail on the warning being returned.
33115
+ # For example, for warnings where there are no results in a list request for a
33116
+ # particular zone, this key might be scope and the key value might be the zone
33117
+ # name. Other examples might be a key indicating a deprecated resource and a
33118
+ # suggested replacement, or a warning about invalid network settings (for
33119
+ # example, if an instance attempts to perform IP forwarding but is not enabled
33120
+ # for IP forwarding).
33121
+ # Corresponds to the JSON property `key`
33122
+ # @return [String]
33123
+ attr_accessor :key
33124
+
33125
+ # [Output Only] A warning data value corresponding to the key.
33126
+ # Corresponds to the JSON property `value`
33127
+ # @return [String]
33128
+ attr_accessor :value
33129
+
33130
+ def initialize(**args)
33131
+ update!(**args)
33132
+ end
33133
+
33134
+ # Update properties of this object
33135
+ def update!(**args)
33136
+ @key = args[:key] if args.key?(:key)
33137
+ @value = args[:value] if args.key?(:value)
33138
+ end
33139
+ end
33140
+ end
33141
+ end
33142
+
33143
+ # Represents a traffic classification rule that describes one or more match
33144
+ # conditions along with the action to be taken when traffic matches this
33145
+ # condition.
33146
+ class NetworkPolicyTrafficClassificationRule
31921
33147
  include Google::Apis::Core::Hashable
31922
33148
 
31923
- # Tag keys/values directly bound to this resource. Tag keys and values have the
31924
- # same definition as resource manager tags. The field is allowed for INSERT only.
31925
- # The keys/values to set on the resource should be specified in either ID ` : `
31926
- # or Namespaced format ` : `. For example the following are valid inputs: * `"
31927
- # tagKeys/333" : "tagValues/444", "tagKeys/123" : "tagValues/456"` * `"123/
31928
- # environment" : "production", "345/abc" : "xyz"` Note: * Invalid combinations
31929
- # of ID & namespaced format is not supported. For instance: `"123/environment" :
31930
- # "tagValues/444"` is invalid.
31931
- # Corresponds to the JSON property `resourceManagerTags`
31932
- # @return [Hash<String,String>]
31933
- attr_accessor :resource_manager_tags
31934
-
31935
- def initialize(**args)
31936
- update!(**args)
31937
- end
31938
-
31939
- # Update properties of this object
31940
- def update!(**args)
31941
- @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
31942
- end
31943
- end
31944
-
31945
- # A network peering attached to a network resource. The message includes the
31946
- # peering name, peer network, peering state, and a flag indicating whether
31947
- # Google Compute Engine should automatically create routes for the peering.
31948
- class NetworkPeering
31949
- include Google::Apis::Core::Hashable
31950
-
31951
- # This field will be deprecated soon. Use the exchange_subnet_routes field
31952
- # instead. Indicates whether full mesh connectivity is created and managed
31953
- # automatically between peered networks. Currently this field should always be
31954
- # true since Google Compute Engine will automatically create and manage
31955
- # subnetwork routes between two networks when peering state is ACTIVE.
31956
- # Corresponds to the JSON property `autoCreateRoutes`
31957
- # @return [Boolean]
31958
- attr_accessor :auto_create_routes
31959
- alias_method :auto_create_routes?, :auto_create_routes
31960
-
31961
- # [Output Only] Describes the state of a peering connection, not just the local
31962
- # peering. This field provides information about the effective settings for the
31963
- # connection as a whole, including pending delete/update requests for CONSENSUS
31964
- # peerings.
31965
- # Corresponds to the JSON property `connectionStatus`
31966
- # @return [Google::Apis::ComputeBeta::NetworkPeeringConnectionStatus]
31967
- attr_accessor :connection_status
31968
-
31969
- # Indicates whether full mesh connectivity is created and managed automatically
31970
- # between peered networks. Currently this field should always be true since
31971
- # Google Compute Engine will automatically create and manage subnetwork routes
31972
- # between two networks when peering state is ACTIVE.
31973
- # Corresponds to the JSON property `exchangeSubnetRoutes`
31974
- # @return [Boolean]
31975
- attr_accessor :exchange_subnet_routes
31976
- alias_method :exchange_subnet_routes?, :exchange_subnet_routes
31977
-
31978
- # Whether to export the custom routes to peer network. The default value is
31979
- # false.
31980
- # Corresponds to the JSON property `exportCustomRoutes`
31981
- # @return [Boolean]
31982
- attr_accessor :export_custom_routes
31983
- alias_method :export_custom_routes?, :export_custom_routes
31984
-
31985
- # Whether subnet routes with public IP range are exported. The default value is
31986
- # true, all subnet routes are exported. IPv4 special-use ranges are always
31987
- # exported to peers and are not controlled by this field.
31988
- # Corresponds to the JSON property `exportSubnetRoutesWithPublicIp`
31989
- # @return [Boolean]
31990
- attr_accessor :export_subnet_routes_with_public_ip
31991
- alias_method :export_subnet_routes_with_public_ip?, :export_subnet_routes_with_public_ip
33149
+ # The Action to perform when the client connection triggers the rule.
33150
+ # Corresponds to the JSON property `action`
33151
+ # @return [Google::Apis::ComputeBeta::NetworkPolicyTrafficClassificationRuleAction]
33152
+ attr_accessor :action
31992
33153
 
31993
- # Whether to import the custom routes from peer network. The default value is
31994
- # false.
31995
- # Corresponds to the JSON property `importCustomRoutes`
31996
- # @return [Boolean]
31997
- attr_accessor :import_custom_routes
31998
- alias_method :import_custom_routes?, :import_custom_routes
33154
+ # An optional description for this resource.
33155
+ # Corresponds to the JSON property `description`
33156
+ # @return [String]
33157
+ attr_accessor :description
31999
33158
 
32000
- # Whether subnet routes with public IP range are imported. The default value is
32001
- # false. IPv4 special-use ranges are always imported from peers and are not
32002
- # controlled by this field.
32003
- # Corresponds to the JSON property `importSubnetRoutesWithPublicIp`
33159
+ # Denotes whether the network policy rule is disabled. When set to true, the
33160
+ # network policy rule is not enforced and traffic behaves as if it did not exist.
33161
+ # If this is unspecified, the network policy rule will be enabled.
33162
+ # Corresponds to the JSON property `disabled`
32004
33163
  # @return [Boolean]
32005
- attr_accessor :import_subnet_routes_with_public_ip
32006
- alias_method :import_subnet_routes_with_public_ip?, :import_subnet_routes_with_public_ip
33164
+ attr_accessor :disabled
33165
+ alias_method :disabled?, :disabled
32007
33166
 
32008
- # Name of this peering. Provided by the client when the peering is created. The
32009
- # name must comply with RFC1035. Specifically, the name must be 1-63 characters
32010
- # long and match regular expression `[a-z]([-a-z0-9]*[a-z0-9])?`. The first
32011
- # character must be a lowercase letter, and all the following characters must be
32012
- # a dash, lowercase letter, or digit, except the last character, which cannot be
32013
- # a dash.
32014
- # Corresponds to the JSON property `name`
33167
+ # [Output only] Type of the resource. Always compute#
33168
+ # networkPolicyTrafficClassificationRule for network policy traffic
33169
+ # classification rules
33170
+ # Corresponds to the JSON property `kind`
32015
33171
  # @return [String]
32016
- attr_accessor :name
33172
+ attr_accessor :kind
32017
33173
 
32018
- # The URL of the peer network. It can be either full URL or partial URL. The
32019
- # peer network may belong to a different project. If the partial URL does not
32020
- # contain project, it is assumed that the peer network is in the same project as
32021
- # the current network.
32022
- # Corresponds to the JSON property `network`
32023
- # @return [String]
32024
- attr_accessor :network
33174
+ # Represents a match condition that incoming traffic is evaluated against.
33175
+ # Exactly one field must be specified.
33176
+ # Corresponds to the JSON property `match`
33177
+ # @return [Google::Apis::ComputeBeta::NetworkPolicyTrafficClassificationRuleMatcher]
33178
+ attr_accessor :match
32025
33179
 
32026
- # [Output Only] Maximum Transmission Unit in bytes of the peer network.
32027
- # Corresponds to the JSON property `peerMtu`
33180
+ # An integer indicating the priority of a rule in the list. The priority must be
33181
+ # a positive value between 1 and 2147482647. The priority values from 2147482648
33182
+ # to 2147483647 (1000) are reserved for system default network policy rules.
33183
+ # Rules are evaluated from highest to lowest priority where 1 is the highest
33184
+ # priority and 2147483647 is the lowest priority.
33185
+ # Corresponds to the JSON property `priority`
32028
33186
  # @return [Fixnum]
32029
- attr_accessor :peer_mtu
33187
+ attr_accessor :priority
32030
33188
 
32031
- # Which IP version(s) of traffic and routes are allowed to be imported or
32032
- # exported between peer networks. The default value is IPV4_ONLY.
32033
- # Corresponds to the JSON property `stackType`
33189
+ # An optional name for the rule. This field is not a unique identifier and can
33190
+ # be updated.
33191
+ # Corresponds to the JSON property `ruleName`
32034
33192
  # @return [String]
32035
- attr_accessor :stack_type
33193
+ attr_accessor :rule_name
32036
33194
 
32037
- # [Output Only] State for the peering, either `ACTIVE` or `INACTIVE`. The
32038
- # peering is `ACTIVE` when there's a matching configuration in the peer network.
32039
- # Corresponds to the JSON property `state`
32040
- # @return [String]
32041
- attr_accessor :state
33195
+ # [Output Only] Calculation of the complexity of a single network policy rule.
33196
+ # Corresponds to the JSON property `ruleTupleCount`
33197
+ # @return [Fixnum]
33198
+ attr_accessor :rule_tuple_count
32042
33199
 
32043
- # [Output Only] Details about the current state of the peering.
32044
- # Corresponds to the JSON property `stateDetails`
32045
- # @return [String]
32046
- attr_accessor :state_details
33200
+ # A list of secure tags that controls which instances the traffic classification
33201
+ # rule applies to. If targetSecureTag are specified, then the traffic
33202
+ # classification rule applies only to instances in the VPC network that have one
33203
+ # of those EFFECTIVE secure tags, if all the targetSecureTag are in INEFFECTIVE
33204
+ # state, then this rule will be ignored. targetSecureTag may not be set at the
33205
+ # same time as targetServiceAccounts. If neither targetServiceAccounts nor
33206
+ # targetSecureTag are specified, the traffic classification rule applies to all
33207
+ # instances on the specified network. Maximum number of target label tags
33208
+ # allowed is 256.
33209
+ # Corresponds to the JSON property `targetSecureTags`
33210
+ # @return [Array<Google::Apis::ComputeBeta::NetworkPolicyTrafficClassificationRuleSecureTag>]
33211
+ attr_accessor :target_secure_tags
32047
33212
 
32048
- # The update strategy determines the semantics for updates and deletes to the
32049
- # peering connection configuration.
32050
- # Corresponds to the JSON property `updateStrategy`
32051
- # @return [String]
32052
- attr_accessor :update_strategy
33213
+ # A list of service accounts indicating the sets of instances that are applied
33214
+ # with this rule.
33215
+ # Corresponds to the JSON property `targetServiceAccounts`
33216
+ # @return [Array<String>]
33217
+ attr_accessor :target_service_accounts
32053
33218
 
32054
33219
  def initialize(**args)
32055
33220
  update!(**args)
@@ -32057,48 +33222,42 @@ module Google
32057
33222
 
32058
33223
  # Update properties of this object
32059
33224
  def update!(**args)
32060
- @auto_create_routes = args[:auto_create_routes] if args.key?(:auto_create_routes)
32061
- @connection_status = args[:connection_status] if args.key?(:connection_status)
32062
- @exchange_subnet_routes = args[:exchange_subnet_routes] if args.key?(:exchange_subnet_routes)
32063
- @export_custom_routes = args[:export_custom_routes] if args.key?(:export_custom_routes)
32064
- @export_subnet_routes_with_public_ip = args[:export_subnet_routes_with_public_ip] if args.key?(:export_subnet_routes_with_public_ip)
32065
- @import_custom_routes = args[:import_custom_routes] if args.key?(:import_custom_routes)
32066
- @import_subnet_routes_with_public_ip = args[:import_subnet_routes_with_public_ip] if args.key?(:import_subnet_routes_with_public_ip)
32067
- @name = args[:name] if args.key?(:name)
32068
- @network = args[:network] if args.key?(:network)
32069
- @peer_mtu = args[:peer_mtu] if args.key?(:peer_mtu)
32070
- @stack_type = args[:stack_type] if args.key?(:stack_type)
32071
- @state = args[:state] if args.key?(:state)
32072
- @state_details = args[:state_details] if args.key?(:state_details)
32073
- @update_strategy = args[:update_strategy] if args.key?(:update_strategy)
33225
+ @action = args[:action] if args.key?(:action)
33226
+ @description = args[:description] if args.key?(:description)
33227
+ @disabled = args[:disabled] if args.key?(:disabled)
33228
+ @kind = args[:kind] if args.key?(:kind)
33229
+ @match = args[:match] if args.key?(:match)
33230
+ @priority = args[:priority] if args.key?(:priority)
33231
+ @rule_name = args[:rule_name] if args.key?(:rule_name)
33232
+ @rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
33233
+ @target_secure_tags = args[:target_secure_tags] if args.key?(:target_secure_tags)
33234
+ @target_service_accounts = args[:target_service_accounts] if args.key?(:target_service_accounts)
32074
33235
  end
32075
33236
  end
32076
33237
 
32077
- # [Output Only] Describes the state of a peering connection, not just the local
32078
- # peering. This field provides information about the effective settings for the
32079
- # connection as a whole, including pending delete/update requests for CONSENSUS
32080
- # peerings.
32081
- class NetworkPeeringConnectionStatus
33238
+ #
33239
+ class NetworkPolicyTrafficClassificationRuleAction
32082
33240
  include Google::Apis::Core::Hashable
32083
33241
 
32084
- # The status of update/delete for a consensus peering connection. Only set when
32085
- # connection_status.update_strategy is CONSENSUS or a network peering is
32086
- # proposing to update the strategy to CONSENSUS.
32087
- # Corresponds to the JSON property `consensusState`
32088
- # @return [Google::Apis::ComputeBeta::NetworkPeeringConnectionStatusConsensusState]
32089
- attr_accessor :consensus_state
33242
+ # The traffic class that should be applied to the matching packet.
33243
+ # Corresponds to the JSON property `dscpMode`
33244
+ # @return [String]
33245
+ attr_accessor :dscp_mode
32090
33246
 
32091
- # The active connectivity settings for the peering connection based on the
32092
- # settings of the network peerings.
32093
- # Corresponds to the JSON property `trafficConfiguration`
32094
- # @return [Google::Apis::ComputeBeta::NetworkPeeringConnectionStatusTrafficConfiguration]
32095
- attr_accessor :traffic_configuration
33247
+ # Custom DSCP value from 0-63 range.
33248
+ # Corresponds to the JSON property `dscpValue`
33249
+ # @return [Fixnum]
33250
+ attr_accessor :dscp_value
32096
33251
 
32097
- # The update strategy determines the update/delete semantics for this peering
32098
- # connection.
32099
- # Corresponds to the JSON property `updateStrategy`
33252
+ # The traffic class that should be applied to the matching packet.
33253
+ # Corresponds to the JSON property `trafficClass`
32100
33254
  # @return [String]
32101
- attr_accessor :update_strategy
33255
+ attr_accessor :traffic_class
33256
+
33257
+ # Always "apply_traffic_classification" for traffic classification rules.
33258
+ # Corresponds to the JSON property `type`
33259
+ # @return [String]
33260
+ attr_accessor :type
32102
33261
 
32103
33262
  def initialize(**args)
32104
33263
  update!(**args)
@@ -32106,27 +33265,33 @@ module Google
32106
33265
 
32107
33266
  # Update properties of this object
32108
33267
  def update!(**args)
32109
- @consensus_state = args[:consensus_state] if args.key?(:consensus_state)
32110
- @traffic_configuration = args[:traffic_configuration] if args.key?(:traffic_configuration)
32111
- @update_strategy = args[:update_strategy] if args.key?(:update_strategy)
33268
+ @dscp_mode = args[:dscp_mode] if args.key?(:dscp_mode)
33269
+ @dscp_value = args[:dscp_value] if args.key?(:dscp_value)
33270
+ @traffic_class = args[:traffic_class] if args.key?(:traffic_class)
33271
+ @type = args[:type] if args.key?(:type)
32112
33272
  end
32113
33273
  end
32114
33274
 
32115
- # The status of update/delete for a consensus peering connection. Only set when
32116
- # connection_status.update_strategy is CONSENSUS or a network peering is
32117
- # proposing to update the strategy to CONSENSUS.
32118
- class NetworkPeeringConnectionStatusConsensusState
33275
+ # Represents a match condition that incoming traffic is evaluated against.
33276
+ # Exactly one field must be specified.
33277
+ class NetworkPolicyTrafficClassificationRuleMatcher
32119
33278
  include Google::Apis::Core::Hashable
32120
33279
 
32121
- # The status of the delete request.
32122
- # Corresponds to the JSON property `deleteStatus`
32123
- # @return [String]
32124
- attr_accessor :delete_status
33280
+ # CIDR IP address range. Maximum number of destination CIDR IP ranges allowed is
33281
+ # 5000.
33282
+ # Corresponds to the JSON property `destIpRanges`
33283
+ # @return [Array<String>]
33284
+ attr_accessor :dest_ip_ranges
32125
33285
 
32126
- # The status of the update request.
32127
- # Corresponds to the JSON property `updateStatus`
32128
- # @return [String]
32129
- attr_accessor :update_status
33286
+ # Pairs of IP protocols and ports that the rule should match.
33287
+ # Corresponds to the JSON property `layer4Configs`
33288
+ # @return [Array<Google::Apis::ComputeBeta::NetworkPolicyTrafficClassificationRuleMatcherLayer4Config>]
33289
+ attr_accessor :layer4_configs
33290
+
33291
+ # CIDR IP address range. Maximum number of source CIDR IP ranges allowed is 5000.
33292
+ # Corresponds to the JSON property `srcIpRanges`
33293
+ # @return [Array<String>]
33294
+ attr_accessor :src_ip_ranges
32130
33295
 
32131
33296
  def initialize(**args)
32132
33297
  update!(**args)
@@ -32134,46 +33299,31 @@ module Google
32134
33299
 
32135
33300
  # Update properties of this object
32136
33301
  def update!(**args)
32137
- @delete_status = args[:delete_status] if args.key?(:delete_status)
32138
- @update_status = args[:update_status] if args.key?(:update_status)
33302
+ @dest_ip_ranges = args[:dest_ip_ranges] if args.key?(:dest_ip_ranges)
33303
+ @layer4_configs = args[:layer4_configs] if args.key?(:layer4_configs)
33304
+ @src_ip_ranges = args[:src_ip_ranges] if args.key?(:src_ip_ranges)
32139
33305
  end
32140
33306
  end
32141
33307
 
32142
33308
  #
32143
- class NetworkPeeringConnectionStatusTrafficConfiguration
33309
+ class NetworkPolicyTrafficClassificationRuleMatcherLayer4Config
32144
33310
  include Google::Apis::Core::Hashable
32145
33311
 
32146
- # Whether custom routes are being exported to the peer network.
32147
- # Corresponds to the JSON property `exportCustomRoutesToPeer`
32148
- # @return [Boolean]
32149
- attr_accessor :export_custom_routes_to_peer
32150
- alias_method :export_custom_routes_to_peer?, :export_custom_routes_to_peer
32151
-
32152
- # Whether subnet routes with public IP ranges are being exported to the peer
32153
- # network.
32154
- # Corresponds to the JSON property `exportSubnetRoutesWithPublicIpToPeer`
32155
- # @return [Boolean]
32156
- attr_accessor :export_subnet_routes_with_public_ip_to_peer
32157
- alias_method :export_subnet_routes_with_public_ip_to_peer?, :export_subnet_routes_with_public_ip_to_peer
32158
-
32159
- # Whether custom routes are being imported from the peer network.
32160
- # Corresponds to the JSON property `importCustomRoutesFromPeer`
32161
- # @return [Boolean]
32162
- attr_accessor :import_custom_routes_from_peer
32163
- alias_method :import_custom_routes_from_peer?, :import_custom_routes_from_peer
32164
-
32165
- # Whether subnet routes with public IP ranges are being imported from the peer
32166
- # network.
32167
- # Corresponds to the JSON property `importSubnetRoutesWithPublicIpFromPeer`
32168
- # @return [Boolean]
32169
- attr_accessor :import_subnet_routes_with_public_ip_from_peer
32170
- alias_method :import_subnet_routes_with_public_ip_from_peer?, :import_subnet_routes_with_public_ip_from_peer
32171
-
32172
- # Which IP version(s) of traffic and routes are being imported or exported
32173
- # between peer networks.
32174
- # Corresponds to the JSON property `stackType`
33312
+ # The IP protocol to which this rule applies. The protocol type is required when
33313
+ # creating a traffic classification rule. This value can either be one of the
33314
+ # following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp),
33315
+ # or the IP protocol number.
33316
+ # Corresponds to the JSON property `ipProtocol`
32175
33317
  # @return [String]
32176
- attr_accessor :stack_type
33318
+ attr_accessor :ip_protocol
33319
+
33320
+ # An optional list of ports to which this rule applies. This field is only
33321
+ # applicable for UDP or TCP protocol. Each entry must be either an integer or a
33322
+ # range. If not specified, this rule applies to connections through any port.
33323
+ # Example inputs include: ["22"], ["80","443"], and ["12345-12349"].
33324
+ # Corresponds to the JSON property `ports`
33325
+ # @return [Array<String>]
33326
+ attr_accessor :ports
32177
33327
 
32178
33328
  def initialize(**args)
32179
33329
  update!(**args)
@@ -32181,22 +33331,25 @@ module Google
32181
33331
 
32182
33332
  # Update properties of this object
32183
33333
  def update!(**args)
32184
- @export_custom_routes_to_peer = args[:export_custom_routes_to_peer] if args.key?(:export_custom_routes_to_peer)
32185
- @export_subnet_routes_with_public_ip_to_peer = args[:export_subnet_routes_with_public_ip_to_peer] if args.key?(:export_subnet_routes_with_public_ip_to_peer)
32186
- @import_custom_routes_from_peer = args[:import_custom_routes_from_peer] if args.key?(:import_custom_routes_from_peer)
32187
- @import_subnet_routes_with_public_ip_from_peer = args[:import_subnet_routes_with_public_ip_from_peer] if args.key?(:import_subnet_routes_with_public_ip_from_peer)
32188
- @stack_type = args[:stack_type] if args.key?(:stack_type)
33334
+ @ip_protocol = args[:ip_protocol] if args.key?(:ip_protocol)
33335
+ @ports = args[:ports] if args.key?(:ports)
32189
33336
  end
32190
33337
  end
32191
33338
 
32192
33339
  #
32193
- class NetworkPerformanceConfig
33340
+ class NetworkPolicyTrafficClassificationRuleSecureTag
32194
33341
  include Google::Apis::Core::Hashable
32195
33342
 
32196
- #
32197
- # Corresponds to the JSON property `totalEgressBandwidthTier`
33343
+ # Name of the secure tag, created with TagManager's TagValue API.
33344
+ # Corresponds to the JSON property `name`
32198
33345
  # @return [String]
32199
- attr_accessor :total_egress_bandwidth_tier
33346
+ attr_accessor :name
33347
+
33348
+ # [Output Only] State of the secure tag, either `EFFECTIVE` or `INEFFECTIVE`. A
33349
+ # secure tag is `INEFFECTIVE` when it is deleted or its network is deleted.
33350
+ # Corresponds to the JSON property `state`
33351
+ # @return [String]
33352
+ attr_accessor :state
32200
33353
 
32201
33354
  def initialize(**args)
32202
33355
  update!(**args)
@@ -32204,7 +33357,8 @@ module Google
32204
33357
 
32205
33358
  # Update properties of this object
32206
33359
  def update!(**args)
32207
- @total_egress_bandwidth_tier = args[:total_egress_bandwidth_tier] if args.key?(:total_egress_bandwidth_tier)
33360
+ @name = args[:name] if args.key?(:name)
33361
+ @state = args[:state] if args.key?(:state)
32208
33362
  end
32209
33363
  end
32210
33364
 
@@ -37867,6 +39021,13 @@ module Google
37867
39021
  # @return [String]
37868
39022
  attr_accessor :description
37869
39023
 
39024
+ # [Output Only] Whether this PDP supports enhanced IPv4 allocations. Applicable
39025
+ # for IPv4 PDPs only.
39026
+ # Corresponds to the JSON property `enableEnhancedIpv4Allocation`
39027
+ # @return [Boolean]
39028
+ attr_accessor :enable_enhanced_ipv4_allocation
39029
+ alias_method :enable_enhanced_ipv4_allocation?, :enable_enhanced_ipv4_allocation
39030
+
37870
39031
  # Fingerprint of this resource. A hash of the contents stored in this object.
37871
39032
  # This field is used in optimistic locking. This field will be ignored when
37872
39033
  # inserting a new PublicDelegatedPrefix. An up-to-date fingerprint must be
@@ -37962,6 +39123,7 @@ module Google
37962
39123
  @byoip_api_version = args[:byoip_api_version] if args.key?(:byoip_api_version)
37963
39124
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
37964
39125
  @description = args[:description] if args.key?(:description)
39126
+ @enable_enhanced_ipv4_allocation = args[:enable_enhanced_ipv4_allocation] if args.key?(:enable_enhanced_ipv4_allocation)
37965
39127
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
37966
39128
  @id = args[:id] if args.key?(:id)
37967
39129
  @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
@@ -38240,6 +39402,13 @@ module Google
38240
39402
  # @return [String]
38241
39403
  attr_accessor :description
38242
39404
 
39405
+ # [Output Only] Whether this PDP supports enhanced IPv4 allocations. Applicable
39406
+ # for IPv4 PDPs only.
39407
+ # Corresponds to the JSON property `enableEnhancedIpv4Allocation`
39408
+ # @return [Boolean]
39409
+ attr_accessor :enable_enhanced_ipv4_allocation
39410
+ alias_method :enable_enhanced_ipv4_allocation?, :enable_enhanced_ipv4_allocation
39411
+
38243
39412
  # The IP address range, in CIDR format, represented by this sub public delegated
38244
39413
  # prefix.
38245
39414
  # Corresponds to the JSON property `ipCidrRange`
@@ -38283,6 +39452,7 @@ module Google
38283
39452
  @allocatable_prefix_length = args[:allocatable_prefix_length] if args.key?(:allocatable_prefix_length)
38284
39453
  @delegatee_project = args[:delegatee_project] if args.key?(:delegatee_project)
38285
39454
  @description = args[:description] if args.key?(:description)
39455
+ @enable_enhanced_ipv4_allocation = args[:enable_enhanced_ipv4_allocation] if args.key?(:enable_enhanced_ipv4_allocation)
38286
39456
  @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
38287
39457
  @is_address = args[:is_address] if args.key?(:is_address)
38288
39458
  @mode = args[:mode] if args.key?(:mode)
@@ -41432,194 +42602,341 @@ module Google
41432
42602
  end
41433
42603
  end
41434
42604
 
41435
- # Represents a reservation subBlock resource.
41436
- class ReservationSubBlock
41437
- include Google::Apis::Core::Hashable
41438
-
41439
- # [Output Only] The number of hosts that are allocated in this reservation
41440
- # subBlock.
41441
- # Corresponds to the JSON property `count`
41442
- # @return [Fixnum]
41443
- attr_accessor :count
41444
-
41445
- # [Output Only] Creation timestamp in RFC3339 text format.
41446
- # Corresponds to the JSON property `creationTimestamp`
41447
- # @return [String]
41448
- attr_accessor :creation_timestamp
41449
-
41450
- # Health information for the reservation subBlock.
41451
- # Corresponds to the JSON property `healthInfo`
41452
- # @return [Google::Apis::ComputeBeta::ReservationSubBlockHealthInfo]
41453
- attr_accessor :health_info
41454
-
41455
- # [Output Only] The unique identifier for the resource. This identifier is
41456
- # defined by the server.
41457
- # Corresponds to the JSON property `id`
41458
- # @return [Fixnum]
41459
- attr_accessor :id
41460
-
41461
- # [Output Only] The number of instances that are currently in use on this
41462
- # reservation subBlock.
41463
- # Corresponds to the JSON property `inUseCount`
41464
- # @return [Fixnum]
41465
- attr_accessor :in_use_count
41466
-
41467
- # Number of hosts currently in use. If there is one or more Instances running on
41468
- # the host, it is considered in use.
41469
- # Corresponds to the JSON property `inUseHostCount`
41470
- # @return [Fixnum]
41471
- attr_accessor :in_use_host_count
41472
-
41473
- # [Output Only] Type of the resource. Always compute#reservationSubBlock for
41474
- # reservation subBlocks.
41475
- # Corresponds to the JSON property `kind`
41476
- # @return [String]
41477
- attr_accessor :kind
41478
-
41479
- # [Output Only] The name of this reservation subBlock generated by Google
41480
- # Compute Engine. The name must be 1-63 characters long, and comply with RFC1035
41481
- # @pattern [a-z](?:[-a-z0-9]`0,61`[a-z0-9])?
41482
- # Corresponds to the JSON property `name`
41483
- # @return [String]
41484
- attr_accessor :name
41485
-
41486
- # [Output Only] The physical topology of the reservation subBlock.
41487
- # Corresponds to the JSON property `physicalTopology`
41488
- # @return [Google::Apis::ComputeBeta::ReservationSubBlockPhysicalTopology]
41489
- attr_accessor :physical_topology
41490
-
41491
- # Maintenance Info for ReservationBlocks.
41492
- # Corresponds to the JSON property `reservationSubBlockMaintenance`
41493
- # @return [Google::Apis::ComputeBeta::GroupMaintenanceInfo]
41494
- attr_accessor :reservation_sub_block_maintenance
41495
-
41496
- # [Output Only] Server-defined fully-qualified URL for this resource.
41497
- # Corresponds to the JSON property `selfLink`
41498
- # @return [String]
41499
- attr_accessor :self_link
41500
-
41501
- # [Output Only] Server-defined URL for this resource with the resource id.
41502
- # Corresponds to the JSON property `selfLinkWithId`
41503
- # @return [String]
41504
- attr_accessor :self_link_with_id
41505
-
41506
- # [Output Only] Status of the reservation subBlock.
41507
- # Corresponds to the JSON property `status`
41508
- # @return [String]
41509
- attr_accessor :status
41510
-
41511
- # [Output Only] Zone in which the reservation subBlock resides.
41512
- # Corresponds to the JSON property `zone`
41513
- # @return [String]
41514
- attr_accessor :zone
41515
-
41516
- def initialize(**args)
41517
- update!(**args)
41518
- end
41519
-
41520
- # Update properties of this object
41521
- def update!(**args)
41522
- @count = args[:count] if args.key?(:count)
41523
- @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
41524
- @health_info = args[:health_info] if args.key?(:health_info)
41525
- @id = args[:id] if args.key?(:id)
41526
- @in_use_count = args[:in_use_count] if args.key?(:in_use_count)
41527
- @in_use_host_count = args[:in_use_host_count] if args.key?(:in_use_host_count)
41528
- @kind = args[:kind] if args.key?(:kind)
41529
- @name = args[:name] if args.key?(:name)
41530
- @physical_topology = args[:physical_topology] if args.key?(:physical_topology)
41531
- @reservation_sub_block_maintenance = args[:reservation_sub_block_maintenance] if args.key?(:reservation_sub_block_maintenance)
41532
- @self_link = args[:self_link] if args.key?(:self_link)
41533
- @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
41534
- @status = args[:status] if args.key?(:status)
41535
- @zone = args[:zone] if args.key?(:zone)
41536
- end
41537
- end
41538
-
41539
- # Health information for the reservation subBlock.
41540
- class ReservationSubBlockHealthInfo
41541
- include Google::Apis::Core::Hashable
41542
-
41543
- # The number of degraded hosts in the reservation subBlock.
41544
- # Corresponds to the JSON property `degradedHostCount`
41545
- # @return [Fixnum]
41546
- attr_accessor :degraded_host_count
41547
-
41548
- # The number of degraded infrastructure (e.g NV link domain) in the reservation
41549
- # subblock.
41550
- # Corresponds to the JSON property `degradedInfraCount`
41551
- # @return [Fixnum]
41552
- attr_accessor :degraded_infra_count
41553
-
41554
- # The health status of the reservation subBlock.
41555
- # Corresponds to the JSON property `healthStatus`
41556
- # @return [String]
41557
- attr_accessor :health_status
41558
-
41559
- # The number of healthy hosts in the reservation subBlock.
41560
- # Corresponds to the JSON property `healthyHostCount`
41561
- # @return [Fixnum]
41562
- attr_accessor :healthy_host_count
41563
-
41564
- # The number of healthy infrastructure (e.g NV link domain) in the reservation
41565
- # subblock.
41566
- # Corresponds to the JSON property `healthyInfraCount`
41567
- # @return [Fixnum]
41568
- attr_accessor :healthy_infra_count
41569
-
41570
- def initialize(**args)
41571
- update!(**args)
41572
- end
41573
-
41574
- # Update properties of this object
41575
- def update!(**args)
41576
- @degraded_host_count = args[:degraded_host_count] if args.key?(:degraded_host_count)
41577
- @degraded_infra_count = args[:degraded_infra_count] if args.key?(:degraded_infra_count)
41578
- @health_status = args[:health_status] if args.key?(:health_status)
41579
- @healthy_host_count = args[:healthy_host_count] if args.key?(:healthy_host_count)
41580
- @healthy_infra_count = args[:healthy_infra_count] if args.key?(:healthy_infra_count)
41581
- end
41582
- end
41583
-
42605
+ # Represents a reservation subBlock resource.
42606
+ class ReservationSubBlock
42607
+ include Google::Apis::Core::Hashable
42608
+
42609
+ # [Output Only] The number of hosts that are allocated in this reservation
42610
+ # subBlock.
42611
+ # Corresponds to the JSON property `count`
42612
+ # @return [Fixnum]
42613
+ attr_accessor :count
42614
+
42615
+ # [Output Only] Creation timestamp in RFC3339 text format.
42616
+ # Corresponds to the JSON property `creationTimestamp`
42617
+ # @return [String]
42618
+ attr_accessor :creation_timestamp
42619
+
42620
+ # Health information for the reservation subBlock.
42621
+ # Corresponds to the JSON property `healthInfo`
42622
+ # @return [Google::Apis::ComputeBeta::ReservationSubBlockHealthInfo]
42623
+ attr_accessor :health_info
42624
+
42625
+ # [Output Only] The unique identifier for the resource. This identifier is
42626
+ # defined by the server.
42627
+ # Corresponds to the JSON property `id`
42628
+ # @return [Fixnum]
42629
+ attr_accessor :id
42630
+
42631
+ # [Output Only] The number of instances that are currently in use on this
42632
+ # reservation subBlock.
42633
+ # Corresponds to the JSON property `inUseCount`
42634
+ # @return [Fixnum]
42635
+ attr_accessor :in_use_count
42636
+
42637
+ # Number of hosts currently in use. If there is one or more Instances running on
42638
+ # the host, it is considered in use.
42639
+ # Corresponds to the JSON property `inUseHostCount`
42640
+ # @return [Fixnum]
42641
+ attr_accessor :in_use_host_count
42642
+
42643
+ # [Output Only] Type of the resource. Always compute#reservationSubBlock for
42644
+ # reservation subBlocks.
42645
+ # Corresponds to the JSON property `kind`
42646
+ # @return [String]
42647
+ attr_accessor :kind
42648
+
42649
+ # [Output Only] The name of this reservation subBlock generated by Google
42650
+ # Compute Engine. The name must be 1-63 characters long, and comply with RFC1035
42651
+ # @pattern [a-z](?:[-a-z0-9]`0,61`[a-z0-9])?
42652
+ # Corresponds to the JSON property `name`
42653
+ # @return [String]
42654
+ attr_accessor :name
42655
+
42656
+ # [Output Only] The physical topology of the reservation subBlock.
42657
+ # Corresponds to the JSON property `physicalTopology`
42658
+ # @return [Google::Apis::ComputeBeta::ReservationSubBlockPhysicalTopology]
42659
+ attr_accessor :physical_topology
42660
+
42661
+ # Maintenance Info for ReservationBlocks.
42662
+ # Corresponds to the JSON property `reservationSubBlockMaintenance`
42663
+ # @return [Google::Apis::ComputeBeta::GroupMaintenanceInfo]
42664
+ attr_accessor :reservation_sub_block_maintenance
42665
+
42666
+ # [Output Only] Server-defined fully-qualified URL for this resource.
42667
+ # Corresponds to the JSON property `selfLink`
42668
+ # @return [String]
42669
+ attr_accessor :self_link
42670
+
42671
+ # [Output Only] Server-defined URL for this resource with the resource id.
42672
+ # Corresponds to the JSON property `selfLinkWithId`
42673
+ # @return [String]
42674
+ attr_accessor :self_link_with_id
42675
+
42676
+ # [Output Only] Status of the reservation subBlock.
42677
+ # Corresponds to the JSON property `status`
42678
+ # @return [String]
42679
+ attr_accessor :status
42680
+
42681
+ # [Output Only] Zone in which the reservation subBlock resides.
42682
+ # Corresponds to the JSON property `zone`
42683
+ # @return [String]
42684
+ attr_accessor :zone
42685
+
42686
+ def initialize(**args)
42687
+ update!(**args)
42688
+ end
42689
+
42690
+ # Update properties of this object
42691
+ def update!(**args)
42692
+ @count = args[:count] if args.key?(:count)
42693
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
42694
+ @health_info = args[:health_info] if args.key?(:health_info)
42695
+ @id = args[:id] if args.key?(:id)
42696
+ @in_use_count = args[:in_use_count] if args.key?(:in_use_count)
42697
+ @in_use_host_count = args[:in_use_host_count] if args.key?(:in_use_host_count)
42698
+ @kind = args[:kind] if args.key?(:kind)
42699
+ @name = args[:name] if args.key?(:name)
42700
+ @physical_topology = args[:physical_topology] if args.key?(:physical_topology)
42701
+ @reservation_sub_block_maintenance = args[:reservation_sub_block_maintenance] if args.key?(:reservation_sub_block_maintenance)
42702
+ @self_link = args[:self_link] if args.key?(:self_link)
42703
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
42704
+ @status = args[:status] if args.key?(:status)
42705
+ @zone = args[:zone] if args.key?(:zone)
42706
+ end
42707
+ end
42708
+
42709
+ # Health information for the reservation subBlock.
42710
+ class ReservationSubBlockHealthInfo
42711
+ include Google::Apis::Core::Hashable
42712
+
42713
+ # The number of degraded hosts in the reservation subBlock.
42714
+ # Corresponds to the JSON property `degradedHostCount`
42715
+ # @return [Fixnum]
42716
+ attr_accessor :degraded_host_count
42717
+
42718
+ # The number of degraded infrastructure (e.g NV link domain) in the reservation
42719
+ # subblock.
42720
+ # Corresponds to the JSON property `degradedInfraCount`
42721
+ # @return [Fixnum]
42722
+ attr_accessor :degraded_infra_count
42723
+
42724
+ # The health status of the reservation subBlock.
42725
+ # Corresponds to the JSON property `healthStatus`
42726
+ # @return [String]
42727
+ attr_accessor :health_status
42728
+
42729
+ # The number of healthy hosts in the reservation subBlock.
42730
+ # Corresponds to the JSON property `healthyHostCount`
42731
+ # @return [Fixnum]
42732
+ attr_accessor :healthy_host_count
42733
+
42734
+ # The number of healthy infrastructure (e.g NV link domain) in the reservation
42735
+ # subblock.
42736
+ # Corresponds to the JSON property `healthyInfraCount`
42737
+ # @return [Fixnum]
42738
+ attr_accessor :healthy_infra_count
42739
+
42740
+ def initialize(**args)
42741
+ update!(**args)
42742
+ end
42743
+
42744
+ # Update properties of this object
42745
+ def update!(**args)
42746
+ @degraded_host_count = args[:degraded_host_count] if args.key?(:degraded_host_count)
42747
+ @degraded_infra_count = args[:degraded_infra_count] if args.key?(:degraded_infra_count)
42748
+ @health_status = args[:health_status] if args.key?(:health_status)
42749
+ @healthy_host_count = args[:healthy_host_count] if args.key?(:healthy_host_count)
42750
+ @healthy_infra_count = args[:healthy_infra_count] if args.key?(:healthy_infra_count)
42751
+ end
42752
+ end
42753
+
42754
+ #
42755
+ class ReservationSubBlockPhysicalTopology
42756
+ include Google::Apis::Core::Hashable
42757
+
42758
+ # The hash of the capacity block within the cluster.
42759
+ # Corresponds to the JSON property `block`
42760
+ # @return [String]
42761
+ attr_accessor :block
42762
+
42763
+ # The cluster name of the reservation subBlock.
42764
+ # Corresponds to the JSON property `cluster`
42765
+ # @return [String]
42766
+ attr_accessor :cluster
42767
+
42768
+ # The hash of the capacity sub-block within the capacity block.
42769
+ # Corresponds to the JSON property `subBlock`
42770
+ # @return [String]
42771
+ attr_accessor :sub_block
42772
+
42773
+ def initialize(**args)
42774
+ update!(**args)
42775
+ end
42776
+
42777
+ # Update properties of this object
42778
+ def update!(**args)
42779
+ @block = args[:block] if args.key?(:block)
42780
+ @cluster = args[:cluster] if args.key?(:cluster)
42781
+ @sub_block = args[:sub_block] if args.key?(:sub_block)
42782
+ end
42783
+ end
42784
+
42785
+ #
42786
+ class ReservationSubBlocksGetResponse
42787
+ include Google::Apis::Core::Hashable
42788
+
42789
+ # Represents a reservation subBlock resource.
42790
+ # Corresponds to the JSON property `resource`
42791
+ # @return [Google::Apis::ComputeBeta::ReservationSubBlock]
42792
+ attr_accessor :resource
42793
+
42794
+ def initialize(**args)
42795
+ update!(**args)
42796
+ end
42797
+
42798
+ # Update properties of this object
42799
+ def update!(**args)
42800
+ @resource = args[:resource] if args.key?(:resource)
42801
+ end
42802
+ end
42803
+
42804
+ # A list of reservation subBlocks under a single reservation.
42805
+ class ReservationSubBlocksListResponse
42806
+ include Google::Apis::Core::Hashable
42807
+
42808
+ # Unique identifier for the resource; defined by the server.
42809
+ # Corresponds to the JSON property `id`
42810
+ # @return [String]
42811
+ attr_accessor :id
42812
+
42813
+ # A list of reservation subBlock resources.
42814
+ # Corresponds to the JSON property `items`
42815
+ # @return [Array<Google::Apis::ComputeBeta::ReservationSubBlock>]
42816
+ attr_accessor :items
42817
+
42818
+ # Type of the resource. Always compute#reservationSubBlock for a list of
42819
+ # reservation subBlocks.
42820
+ # Corresponds to the JSON property `kind`
42821
+ # @return [String]
42822
+ attr_accessor :kind
42823
+
42824
+ # This token allows you to get the next page of results for list requests. If
42825
+ # the number of results is larger than maxResults, use the nextPageToken as a
42826
+ # value for the query parameter pageToken in the next list request. Subsequent
42827
+ # list requests will have their own nextPageToken to continue paging through the
42828
+ # results.
42829
+ # Corresponds to the JSON property `nextPageToken`
42830
+ # @return [String]
42831
+ attr_accessor :next_page_token
42832
+
42833
+ # Server-defined URL for this resource.
42834
+ # Corresponds to the JSON property `selfLink`
42835
+ # @return [String]
42836
+ attr_accessor :self_link
42837
+
42838
+ # Informational warning message.
42839
+ # Corresponds to the JSON property `warning`
42840
+ # @return [Google::Apis::ComputeBeta::ReservationSubBlocksListResponse::Warning]
42841
+ attr_accessor :warning
42842
+
42843
+ def initialize(**args)
42844
+ update!(**args)
42845
+ end
42846
+
42847
+ # Update properties of this object
42848
+ def update!(**args)
42849
+ @id = args[:id] if args.key?(:id)
42850
+ @items = args[:items] if args.key?(:items)
42851
+ @kind = args[:kind] if args.key?(:kind)
42852
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
42853
+ @self_link = args[:self_link] if args.key?(:self_link)
42854
+ @warning = args[:warning] if args.key?(:warning)
42855
+ end
42856
+
42857
+ # Informational warning message.
42858
+ class Warning
42859
+ include Google::Apis::Core::Hashable
42860
+
42861
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
42862
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
42863
+ # Corresponds to the JSON property `code`
42864
+ # @return [String]
42865
+ attr_accessor :code
42866
+
42867
+ # [Output Only] Metadata about this warning in key: value format. For example: "
42868
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
42869
+ # Corresponds to the JSON property `data`
42870
+ # @return [Array<Google::Apis::ComputeBeta::ReservationSubBlocksListResponse::Warning::Datum>]
42871
+ attr_accessor :data
42872
+
42873
+ # [Output Only] A human-readable description of the warning code.
42874
+ # Corresponds to the JSON property `message`
42875
+ # @return [String]
42876
+ attr_accessor :message
42877
+
42878
+ def initialize(**args)
42879
+ update!(**args)
42880
+ end
42881
+
42882
+ # Update properties of this object
42883
+ def update!(**args)
42884
+ @code = args[:code] if args.key?(:code)
42885
+ @data = args[:data] if args.key?(:data)
42886
+ @message = args[:message] if args.key?(:message)
42887
+ end
42888
+
42889
+ #
42890
+ class Datum
42891
+ include Google::Apis::Core::Hashable
42892
+
42893
+ # [Output Only] A key that provides more detail on the warning being returned.
42894
+ # For example, for warnings where there are no results in a list request for a
42895
+ # particular zone, this key might be scope and the key value might be the zone
42896
+ # name. Other examples might be a key indicating a deprecated resource and a
42897
+ # suggested replacement, or a warning about invalid network settings (for
42898
+ # example, if an instance attempts to perform IP forwarding but is not enabled
42899
+ # for IP forwarding).
42900
+ # Corresponds to the JSON property `key`
42901
+ # @return [String]
42902
+ attr_accessor :key
42903
+
42904
+ # [Output Only] A warning data value corresponding to the key.
42905
+ # Corresponds to the JSON property `value`
42906
+ # @return [String]
42907
+ attr_accessor :value
42908
+
42909
+ def initialize(**args)
42910
+ update!(**args)
42911
+ end
42912
+
42913
+ # Update properties of this object
42914
+ def update!(**args)
42915
+ @key = args[:key] if args.key?(:key)
42916
+ @value = args[:value] if args.key?(:value)
42917
+ end
42918
+ end
42919
+ end
42920
+ end
42921
+
41584
42922
  #
41585
- class ReservationSubBlockPhysicalTopology
42923
+ class ReservationSubBlocksReportFaultyRequest
41586
42924
  include Google::Apis::Core::Hashable
41587
42925
 
41588
- # The hash of the capacity block within the cluster.
41589
- # Corresponds to the JSON property `block`
41590
- # @return [String]
41591
- attr_accessor :block
41592
-
41593
- # The cluster name of the reservation subBlock.
41594
- # Corresponds to the JSON property `cluster`
42926
+ # The disruption schedule for the subBlock.
42927
+ # Corresponds to the JSON property `disruptionSchedule`
41595
42928
  # @return [String]
41596
- attr_accessor :cluster
42929
+ attr_accessor :disruption_schedule
41597
42930
 
41598
- # The hash of the capacity sub-block within the capacity block.
41599
- # Corresponds to the JSON property `subBlock`
42931
+ # The component that experienced the fault.
42932
+ # Corresponds to the JSON property `failureComponent`
41600
42933
  # @return [String]
41601
- attr_accessor :sub_block
41602
-
41603
- def initialize(**args)
41604
- update!(**args)
41605
- end
41606
-
41607
- # Update properties of this object
41608
- def update!(**args)
41609
- @block = args[:block] if args.key?(:block)
41610
- @cluster = args[:cluster] if args.key?(:cluster)
41611
- @sub_block = args[:sub_block] if args.key?(:sub_block)
41612
- end
41613
- end
42934
+ attr_accessor :failure_component
41614
42935
 
41615
- #
41616
- class ReservationSubBlocksGetResponse
41617
- include Google::Apis::Core::Hashable
41618
-
41619
- # Represents a reservation subBlock resource.
41620
- # Corresponds to the JSON property `resource`
41621
- # @return [Google::Apis::ComputeBeta::ReservationSubBlock]
41622
- attr_accessor :resource
42936
+ # The reasons for the fault experienced with the subBlock.
42937
+ # Corresponds to the JSON property `faultReasons`
42938
+ # @return [Array<Google::Apis::ComputeBeta::ReservationSubBlocksReportFaultyRequestFaultReason>]
42939
+ attr_accessor :fault_reasons
41623
42940
 
41624
42941
  def initialize(**args)
41625
42942
  update!(**args)
@@ -41627,48 +42944,25 @@ module Google
41627
42944
 
41628
42945
  # Update properties of this object
41629
42946
  def update!(**args)
41630
- @resource = args[:resource] if args.key?(:resource)
42947
+ @disruption_schedule = args[:disruption_schedule] if args.key?(:disruption_schedule)
42948
+ @failure_component = args[:failure_component] if args.key?(:failure_component)
42949
+ @fault_reasons = args[:fault_reasons] if args.key?(:fault_reasons)
41631
42950
  end
41632
42951
  end
41633
42952
 
41634
- # A list of reservation subBlocks under a single reservation.
41635
- class ReservationSubBlocksListResponse
42953
+ # The reason for the fault experienced with the subBlock.
42954
+ class ReservationSubBlocksReportFaultyRequestFaultReason
41636
42955
  include Google::Apis::Core::Hashable
41637
42956
 
41638
- # Unique identifier for the resource; defined by the server.
41639
- # Corresponds to the JSON property `id`
41640
- # @return [String]
41641
- attr_accessor :id
41642
-
41643
- # A list of reservation subBlock resources.
41644
- # Corresponds to the JSON property `items`
41645
- # @return [Array<Google::Apis::ComputeBeta::ReservationSubBlock>]
41646
- attr_accessor :items
41647
-
41648
- # Type of the resource. Always compute#reservationSubBlock for a list of
41649
- # reservation subBlocks.
41650
- # Corresponds to the JSON property `kind`
41651
- # @return [String]
41652
- attr_accessor :kind
41653
-
41654
- # This token allows you to get the next page of results for list requests. If
41655
- # the number of results is larger than maxResults, use the nextPageToken as a
41656
- # value for the query parameter pageToken in the next list request. Subsequent
41657
- # list requests will have their own nextPageToken to continue paging through the
41658
- # results.
41659
- # Corresponds to the JSON property `nextPageToken`
42957
+ # The behavior of the fault experienced with the subBlock.
42958
+ # Corresponds to the JSON property `behavior`
41660
42959
  # @return [String]
41661
- attr_accessor :next_page_token
42960
+ attr_accessor :behavior
41662
42961
 
41663
- # Server-defined URL for this resource.
41664
- # Corresponds to the JSON property `selfLink`
42962
+ # The description of the fault experienced with the subBlock.
42963
+ # Corresponds to the JSON property `description`
41665
42964
  # @return [String]
41666
- attr_accessor :self_link
41667
-
41668
- # Informational warning message.
41669
- # Corresponds to the JSON property `warning`
41670
- # @return [Google::Apis::ComputeBeta::ReservationSubBlocksListResponse::Warning]
41671
- attr_accessor :warning
42965
+ attr_accessor :description
41672
42966
 
41673
42967
  def initialize(**args)
41674
42968
  update!(**args)
@@ -41676,76 +42970,8 @@ module Google
41676
42970
 
41677
42971
  # Update properties of this object
41678
42972
  def update!(**args)
41679
- @id = args[:id] if args.key?(:id)
41680
- @items = args[:items] if args.key?(:items)
41681
- @kind = args[:kind] if args.key?(:kind)
41682
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
41683
- @self_link = args[:self_link] if args.key?(:self_link)
41684
- @warning = args[:warning] if args.key?(:warning)
41685
- end
41686
-
41687
- # Informational warning message.
41688
- class Warning
41689
- include Google::Apis::Core::Hashable
41690
-
41691
- # [Output Only] A warning code, if applicable. For example, Compute Engine
41692
- # returns NO_RESULTS_ON_PAGE if there are no results in the response.
41693
- # Corresponds to the JSON property `code`
41694
- # @return [String]
41695
- attr_accessor :code
41696
-
41697
- # [Output Only] Metadata about this warning in key: value format. For example: "
41698
- # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
41699
- # Corresponds to the JSON property `data`
41700
- # @return [Array<Google::Apis::ComputeBeta::ReservationSubBlocksListResponse::Warning::Datum>]
41701
- attr_accessor :data
41702
-
41703
- # [Output Only] A human-readable description of the warning code.
41704
- # Corresponds to the JSON property `message`
41705
- # @return [String]
41706
- attr_accessor :message
41707
-
41708
- def initialize(**args)
41709
- update!(**args)
41710
- end
41711
-
41712
- # Update properties of this object
41713
- def update!(**args)
41714
- @code = args[:code] if args.key?(:code)
41715
- @data = args[:data] if args.key?(:data)
41716
- @message = args[:message] if args.key?(:message)
41717
- end
41718
-
41719
- #
41720
- class Datum
41721
- include Google::Apis::Core::Hashable
41722
-
41723
- # [Output Only] A key that provides more detail on the warning being returned.
41724
- # For example, for warnings where there are no results in a list request for a
41725
- # particular zone, this key might be scope and the key value might be the zone
41726
- # name. Other examples might be a key indicating a deprecated resource and a
41727
- # suggested replacement, or a warning about invalid network settings (for
41728
- # example, if an instance attempts to perform IP forwarding but is not enabled
41729
- # for IP forwarding).
41730
- # Corresponds to the JSON property `key`
41731
- # @return [String]
41732
- attr_accessor :key
41733
-
41734
- # [Output Only] A warning data value corresponding to the key.
41735
- # Corresponds to the JSON property `value`
41736
- # @return [String]
41737
- attr_accessor :value
41738
-
41739
- def initialize(**args)
41740
- update!(**args)
41741
- end
41742
-
41743
- # Update properties of this object
41744
- def update!(**args)
41745
- @key = args[:key] if args.key?(:key)
41746
- @value = args[:value] if args.key?(:value)
41747
- end
41748
- end
42973
+ @behavior = args[:behavior] if args.key?(:behavior)
42974
+ @description = args[:description] if args.key?(:description)
41749
42975
  end
41750
42976
  end
41751
42977
 
@@ -49242,7 +50468,7 @@ module Google
49242
50468
 
49243
50469
  # Represents a Persistent Disk Snapshot resource. You can use snapshots to back
49244
50470
  # up data on a regular interval. For more information, read Creating persistent
49245
- # disk snapshots. LINT.IfChange
50471
+ # disk snapshots.
49246
50472
  class Snapshot
49247
50473
  include Google::Apis::Core::Hashable
49248
50474
 
@@ -49375,6 +50601,11 @@ module Google
49375
50601
  # @return [String]
49376
50602
  attr_accessor :name
49377
50603
 
50604
+ # Additional snapshot params.
50605
+ # Corresponds to the JSON property `params`
50606
+ # @return [Google::Apis::ComputeBeta::SnapshotParams]
50607
+ attr_accessor :params
50608
+
49378
50609
  # [Output Only] URL of the region where the snapshot resides. Only applicable
49379
50610
  # for regional snapshots.
49380
50611
  # Corresponds to the JSON property `region`
@@ -49528,6 +50759,7 @@ module Google
49528
50759
  @licenses = args[:licenses] if args.key?(:licenses)
49529
50760
  @location_hint = args[:location_hint] if args.key?(:location_hint)
49530
50761
  @name = args[:name] if args.key?(:name)
50762
+ @params = args[:params] if args.key?(:params)
49531
50763
  @region = args[:region] if args.key?(:region)
49532
50764
  @satisfies_pzi = args[:satisfies_pzi] if args.key?(:satisfies_pzi)
49533
50765
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
@@ -49798,6 +51030,28 @@ module Google
49798
51030
  end
49799
51031
  end
49800
51032
 
51033
+ # Additional snapshot params.
51034
+ class SnapshotParams
51035
+ include Google::Apis::Core::Hashable
51036
+
51037
+ # Resource manager tags to be bound to the snapshot. Tag keys and values have
51038
+ # the same definition as resource manager tags. Keys must be in the format `
51039
+ # tagKeys/`tag_key_id``, and values are in the format `tagValues/456`. The field
51040
+ # is ignored (both PUT & PATCH) when empty.
51041
+ # Corresponds to the JSON property `resourceManagerTags`
51042
+ # @return [Hash<String,String>]
51043
+ attr_accessor :resource_manager_tags
51044
+
51045
+ def initialize(**args)
51046
+ update!(**args)
51047
+ end
51048
+
51049
+ # Update properties of this object
51050
+ def update!(**args)
51051
+ @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
51052
+ end
51053
+ end
51054
+
49801
51055
  #
49802
51056
  class SnapshotSettings
49803
51057
  include Google::Apis::Core::Hashable