google-apis-compute_beta 0.123.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
@@ -31924,140 +32410,811 @@ module Google
31924
32410
  end
31925
32411
  end
31926
32412
 
31927
- # Additional network parameters.
31928
- 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
31929
33147
  include Google::Apis::Core::Hashable
31930
33148
 
31931
- # Tag keys/values directly bound to this resource. Tag keys and values have the
31932
- # same definition as resource manager tags. The field is allowed for INSERT only.
31933
- # The keys/values to set on the resource should be specified in either ID ` : `
31934
- # or Namespaced format ` : `. For example the following are valid inputs: * `"
31935
- # tagKeys/333" : "tagValues/444", "tagKeys/123" : "tagValues/456"` * `"123/
31936
- # environment" : "production", "345/abc" : "xyz"` Note: * Invalid combinations
31937
- # of ID & namespaced format is not supported. For instance: `"123/environment" :
31938
- # "tagValues/444"` is invalid.
31939
- # Corresponds to the JSON property `resourceManagerTags`
31940
- # @return [Hash<String,String>]
31941
- attr_accessor :resource_manager_tags
31942
-
31943
- def initialize(**args)
31944
- update!(**args)
31945
- end
31946
-
31947
- # Update properties of this object
31948
- def update!(**args)
31949
- @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
31950
- end
31951
- end
31952
-
31953
- # A network peering attached to a network resource. The message includes the
31954
- # peering name, peer network, peering state, and a flag indicating whether
31955
- # Google Compute Engine should automatically create routes for the peering.
31956
- class NetworkPeering
31957
- include Google::Apis::Core::Hashable
31958
-
31959
- # This field will be deprecated soon. Use the exchange_subnet_routes field
31960
- # instead. Indicates whether full mesh connectivity is created and managed
31961
- # automatically between peered networks. Currently this field should always be
31962
- # true since Google Compute Engine will automatically create and manage
31963
- # subnetwork routes between two networks when peering state is ACTIVE.
31964
- # Corresponds to the JSON property `autoCreateRoutes`
31965
- # @return [Boolean]
31966
- attr_accessor :auto_create_routes
31967
- alias_method :auto_create_routes?, :auto_create_routes
31968
-
31969
- # [Output Only] Describes the state of a peering connection, not just the local
31970
- # peering. This field provides information about the effective settings for the
31971
- # connection as a whole, including pending delete/update requests for CONSENSUS
31972
- # peerings.
31973
- # Corresponds to the JSON property `connectionStatus`
31974
- # @return [Google::Apis::ComputeBeta::NetworkPeeringConnectionStatus]
31975
- attr_accessor :connection_status
31976
-
31977
- # Indicates whether full mesh connectivity is created and managed automatically
31978
- # between peered networks. Currently this field should always be true since
31979
- # Google Compute Engine will automatically create and manage subnetwork routes
31980
- # between two networks when peering state is ACTIVE.
31981
- # Corresponds to the JSON property `exchangeSubnetRoutes`
31982
- # @return [Boolean]
31983
- attr_accessor :exchange_subnet_routes
31984
- alias_method :exchange_subnet_routes?, :exchange_subnet_routes
31985
-
31986
- # Whether to export the custom routes to peer network. The default value is
31987
- # false.
31988
- # Corresponds to the JSON property `exportCustomRoutes`
31989
- # @return [Boolean]
31990
- attr_accessor :export_custom_routes
31991
- alias_method :export_custom_routes?, :export_custom_routes
31992
-
31993
- # Whether subnet routes with public IP range are exported. The default value is
31994
- # true, all subnet routes are exported. IPv4 special-use ranges are always
31995
- # exported to peers and are not controlled by this field.
31996
- # Corresponds to the JSON property `exportSubnetRoutesWithPublicIp`
31997
- # @return [Boolean]
31998
- attr_accessor :export_subnet_routes_with_public_ip
31999
- 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
32000
33153
 
32001
- # Whether to import the custom routes from peer network. The default value is
32002
- # false.
32003
- # Corresponds to the JSON property `importCustomRoutes`
32004
- # @return [Boolean]
32005
- attr_accessor :import_custom_routes
32006
- 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
32007
33158
 
32008
- # Whether subnet routes with public IP range are imported. The default value is
32009
- # false. IPv4 special-use ranges are always imported from peers and are not
32010
- # controlled by this field.
32011
- # 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`
32012
33163
  # @return [Boolean]
32013
- attr_accessor :import_subnet_routes_with_public_ip
32014
- alias_method :import_subnet_routes_with_public_ip?, :import_subnet_routes_with_public_ip
33164
+ attr_accessor :disabled
33165
+ alias_method :disabled?, :disabled
32015
33166
 
32016
- # Name of this peering. Provided by the client when the peering is created. The
32017
- # name must comply with RFC1035. Specifically, the name must be 1-63 characters
32018
- # long and match regular expression `[a-z]([-a-z0-9]*[a-z0-9])?`. The first
32019
- # character must be a lowercase letter, and all the following characters must be
32020
- # a dash, lowercase letter, or digit, except the last character, which cannot be
32021
- # a dash.
32022
- # 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`
32023
33171
  # @return [String]
32024
- attr_accessor :name
33172
+ attr_accessor :kind
32025
33173
 
32026
- # The URL of the peer network. It can be either full URL or partial URL. The
32027
- # peer network may belong to a different project. If the partial URL does not
32028
- # contain project, it is assumed that the peer network is in the same project as
32029
- # the current network.
32030
- # Corresponds to the JSON property `network`
32031
- # @return [String]
32032
- 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
32033
33179
 
32034
- # [Output Only] Maximum Transmission Unit in bytes of the peer network.
32035
- # 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`
32036
33186
  # @return [Fixnum]
32037
- attr_accessor :peer_mtu
33187
+ attr_accessor :priority
32038
33188
 
32039
- # Which IP version(s) of traffic and routes are allowed to be imported or
32040
- # exported between peer networks. The default value is IPV4_ONLY.
32041
- # 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`
32042
33192
  # @return [String]
32043
- attr_accessor :stack_type
33193
+ attr_accessor :rule_name
32044
33194
 
32045
- # [Output Only] State for the peering, either `ACTIVE` or `INACTIVE`. The
32046
- # peering is `ACTIVE` when there's a matching configuration in the peer network.
32047
- # Corresponds to the JSON property `state`
32048
- # @return [String]
32049
- 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
32050
33199
 
32051
- # [Output Only] Details about the current state of the peering.
32052
- # Corresponds to the JSON property `stateDetails`
32053
- # @return [String]
32054
- 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
32055
33212
 
32056
- # The update strategy determines the semantics for updates and deletes to the
32057
- # peering connection configuration.
32058
- # Corresponds to the JSON property `updateStrategy`
32059
- # @return [String]
32060
- 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
32061
33218
 
32062
33219
  def initialize(**args)
32063
33220
  update!(**args)
@@ -32065,48 +33222,42 @@ module Google
32065
33222
 
32066
33223
  # Update properties of this object
32067
33224
  def update!(**args)
32068
- @auto_create_routes = args[:auto_create_routes] if args.key?(:auto_create_routes)
32069
- @connection_status = args[:connection_status] if args.key?(:connection_status)
32070
- @exchange_subnet_routes = args[:exchange_subnet_routes] if args.key?(:exchange_subnet_routes)
32071
- @export_custom_routes = args[:export_custom_routes] if args.key?(:export_custom_routes)
32072
- @export_subnet_routes_with_public_ip = args[:export_subnet_routes_with_public_ip] if args.key?(:export_subnet_routes_with_public_ip)
32073
- @import_custom_routes = args[:import_custom_routes] if args.key?(:import_custom_routes)
32074
- @import_subnet_routes_with_public_ip = args[:import_subnet_routes_with_public_ip] if args.key?(:import_subnet_routes_with_public_ip)
32075
- @name = args[:name] if args.key?(:name)
32076
- @network = args[:network] if args.key?(:network)
32077
- @peer_mtu = args[:peer_mtu] if args.key?(:peer_mtu)
32078
- @stack_type = args[:stack_type] if args.key?(:stack_type)
32079
- @state = args[:state] if args.key?(:state)
32080
- @state_details = args[:state_details] if args.key?(:state_details)
32081
- @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)
32082
33235
  end
32083
33236
  end
32084
33237
 
32085
- # [Output Only] Describes the state of a peering connection, not just the local
32086
- # peering. This field provides information about the effective settings for the
32087
- # connection as a whole, including pending delete/update requests for CONSENSUS
32088
- # peerings.
32089
- class NetworkPeeringConnectionStatus
33238
+ #
33239
+ class NetworkPolicyTrafficClassificationRuleAction
32090
33240
  include Google::Apis::Core::Hashable
32091
33241
 
32092
- # The status of update/delete for a consensus peering connection. Only set when
32093
- # connection_status.update_strategy is CONSENSUS or a network peering is
32094
- # proposing to update the strategy to CONSENSUS.
32095
- # Corresponds to the JSON property `consensusState`
32096
- # @return [Google::Apis::ComputeBeta::NetworkPeeringConnectionStatusConsensusState]
32097
- 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
32098
33246
 
32099
- # The active connectivity settings for the peering connection based on the
32100
- # settings of the network peerings.
32101
- # Corresponds to the JSON property `trafficConfiguration`
32102
- # @return [Google::Apis::ComputeBeta::NetworkPeeringConnectionStatusTrafficConfiguration]
32103
- 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
32104
33251
 
32105
- # The update strategy determines the update/delete semantics for this peering
32106
- # connection.
32107
- # 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`
32108
33254
  # @return [String]
32109
- 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
32110
33261
 
32111
33262
  def initialize(**args)
32112
33263
  update!(**args)
@@ -32114,27 +33265,33 @@ module Google
32114
33265
 
32115
33266
  # Update properties of this object
32116
33267
  def update!(**args)
32117
- @consensus_state = args[:consensus_state] if args.key?(:consensus_state)
32118
- @traffic_configuration = args[:traffic_configuration] if args.key?(:traffic_configuration)
32119
- @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)
32120
33272
  end
32121
33273
  end
32122
33274
 
32123
- # The status of update/delete for a consensus peering connection. Only set when
32124
- # connection_status.update_strategy is CONSENSUS or a network peering is
32125
- # proposing to update the strategy to CONSENSUS.
32126
- class NetworkPeeringConnectionStatusConsensusState
33275
+ # Represents a match condition that incoming traffic is evaluated against.
33276
+ # Exactly one field must be specified.
33277
+ class NetworkPolicyTrafficClassificationRuleMatcher
32127
33278
  include Google::Apis::Core::Hashable
32128
33279
 
32129
- # The status of the delete request.
32130
- # Corresponds to the JSON property `deleteStatus`
32131
- # @return [String]
32132
- 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
32133
33285
 
32134
- # The status of the update request.
32135
- # Corresponds to the JSON property `updateStatus`
32136
- # @return [String]
32137
- 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
32138
33295
 
32139
33296
  def initialize(**args)
32140
33297
  update!(**args)
@@ -32142,46 +33299,31 @@ module Google
32142
33299
 
32143
33300
  # Update properties of this object
32144
33301
  def update!(**args)
32145
- @delete_status = args[:delete_status] if args.key?(:delete_status)
32146
- @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)
32147
33305
  end
32148
33306
  end
32149
33307
 
32150
33308
  #
32151
- class NetworkPeeringConnectionStatusTrafficConfiguration
33309
+ class NetworkPolicyTrafficClassificationRuleMatcherLayer4Config
32152
33310
  include Google::Apis::Core::Hashable
32153
33311
 
32154
- # Whether custom routes are being exported to the peer network.
32155
- # Corresponds to the JSON property `exportCustomRoutesToPeer`
32156
- # @return [Boolean]
32157
- attr_accessor :export_custom_routes_to_peer
32158
- alias_method :export_custom_routes_to_peer?, :export_custom_routes_to_peer
32159
-
32160
- # Whether subnet routes with public IP ranges are being exported to the peer
32161
- # network.
32162
- # Corresponds to the JSON property `exportSubnetRoutesWithPublicIpToPeer`
32163
- # @return [Boolean]
32164
- attr_accessor :export_subnet_routes_with_public_ip_to_peer
32165
- alias_method :export_subnet_routes_with_public_ip_to_peer?, :export_subnet_routes_with_public_ip_to_peer
32166
-
32167
- # Whether custom routes are being imported from the peer network.
32168
- # Corresponds to the JSON property `importCustomRoutesFromPeer`
32169
- # @return [Boolean]
32170
- attr_accessor :import_custom_routes_from_peer
32171
- alias_method :import_custom_routes_from_peer?, :import_custom_routes_from_peer
32172
-
32173
- # Whether subnet routes with public IP ranges are being imported from the peer
32174
- # network.
32175
- # Corresponds to the JSON property `importSubnetRoutesWithPublicIpFromPeer`
32176
- # @return [Boolean]
32177
- attr_accessor :import_subnet_routes_with_public_ip_from_peer
32178
- alias_method :import_subnet_routes_with_public_ip_from_peer?, :import_subnet_routes_with_public_ip_from_peer
32179
-
32180
- # Which IP version(s) of traffic and routes are being imported or exported
32181
- # between peer networks.
32182
- # 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`
32183
33317
  # @return [String]
32184
- 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
32185
33327
 
32186
33328
  def initialize(**args)
32187
33329
  update!(**args)
@@ -32189,22 +33331,25 @@ module Google
32189
33331
 
32190
33332
  # Update properties of this object
32191
33333
  def update!(**args)
32192
- @export_custom_routes_to_peer = args[:export_custom_routes_to_peer] if args.key?(:export_custom_routes_to_peer)
32193
- @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)
32194
- @import_custom_routes_from_peer = args[:import_custom_routes_from_peer] if args.key?(:import_custom_routes_from_peer)
32195
- @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)
32196
- @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)
32197
33336
  end
32198
33337
  end
32199
33338
 
32200
33339
  #
32201
- class NetworkPerformanceConfig
33340
+ class NetworkPolicyTrafficClassificationRuleSecureTag
32202
33341
  include Google::Apis::Core::Hashable
32203
33342
 
32204
- #
32205
- # 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`
32206
33345
  # @return [String]
32207
- 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
32208
33353
 
32209
33354
  def initialize(**args)
32210
33355
  update!(**args)
@@ -32212,7 +33357,8 @@ module Google
32212
33357
 
32213
33358
  # Update properties of this object
32214
33359
  def update!(**args)
32215
- @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)
32216
33362
  end
32217
33363
  end
32218
33364
 
@@ -37875,6 +39021,13 @@ module Google
37875
39021
  # @return [String]
37876
39022
  attr_accessor :description
37877
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
+
37878
39031
  # Fingerprint of this resource. A hash of the contents stored in this object.
37879
39032
  # This field is used in optimistic locking. This field will be ignored when
37880
39033
  # inserting a new PublicDelegatedPrefix. An up-to-date fingerprint must be
@@ -37970,6 +39123,7 @@ module Google
37970
39123
  @byoip_api_version = args[:byoip_api_version] if args.key?(:byoip_api_version)
37971
39124
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
37972
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)
37973
39127
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
37974
39128
  @id = args[:id] if args.key?(:id)
37975
39129
  @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
@@ -38248,6 +39402,13 @@ module Google
38248
39402
  # @return [String]
38249
39403
  attr_accessor :description
38250
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
+
38251
39412
  # The IP address range, in CIDR format, represented by this sub public delegated
38252
39413
  # prefix.
38253
39414
  # Corresponds to the JSON property `ipCidrRange`
@@ -38291,6 +39452,7 @@ module Google
38291
39452
  @allocatable_prefix_length = args[:allocatable_prefix_length] if args.key?(:allocatable_prefix_length)
38292
39453
  @delegatee_project = args[:delegatee_project] if args.key?(:delegatee_project)
38293
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)
38294
39456
  @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
38295
39457
  @is_address = args[:is_address] if args.key?(:is_address)
38296
39458
  @mode = args[:mode] if args.key?(:mode)
@@ -41440,194 +42602,341 @@ module Google
41440
42602
  end
41441
42603
  end
41442
42604
 
41443
- # Represents a reservation subBlock resource.
41444
- class ReservationSubBlock
41445
- include Google::Apis::Core::Hashable
41446
-
41447
- # [Output Only] The number of hosts that are allocated in this reservation
41448
- # subBlock.
41449
- # Corresponds to the JSON property `count`
41450
- # @return [Fixnum]
41451
- attr_accessor :count
41452
-
41453
- # [Output Only] Creation timestamp in RFC3339 text format.
41454
- # Corresponds to the JSON property `creationTimestamp`
41455
- # @return [String]
41456
- attr_accessor :creation_timestamp
41457
-
41458
- # Health information for the reservation subBlock.
41459
- # Corresponds to the JSON property `healthInfo`
41460
- # @return [Google::Apis::ComputeBeta::ReservationSubBlockHealthInfo]
41461
- attr_accessor :health_info
41462
-
41463
- # [Output Only] The unique identifier for the resource. This identifier is
41464
- # defined by the server.
41465
- # Corresponds to the JSON property `id`
41466
- # @return [Fixnum]
41467
- attr_accessor :id
41468
-
41469
- # [Output Only] The number of instances that are currently in use on this
41470
- # reservation subBlock.
41471
- # Corresponds to the JSON property `inUseCount`
41472
- # @return [Fixnum]
41473
- attr_accessor :in_use_count
41474
-
41475
- # Number of hosts currently in use. If there is one or more Instances running on
41476
- # the host, it is considered in use.
41477
- # Corresponds to the JSON property `inUseHostCount`
41478
- # @return [Fixnum]
41479
- attr_accessor :in_use_host_count
41480
-
41481
- # [Output Only] Type of the resource. Always compute#reservationSubBlock for
41482
- # reservation subBlocks.
41483
- # Corresponds to the JSON property `kind`
41484
- # @return [String]
41485
- attr_accessor :kind
41486
-
41487
- # [Output Only] The name of this reservation subBlock generated by Google
41488
- # Compute Engine. The name must be 1-63 characters long, and comply with RFC1035
41489
- # @pattern [a-z](?:[-a-z0-9]`0,61`[a-z0-9])?
41490
- # Corresponds to the JSON property `name`
41491
- # @return [String]
41492
- attr_accessor :name
41493
-
41494
- # [Output Only] The physical topology of the reservation subBlock.
41495
- # Corresponds to the JSON property `physicalTopology`
41496
- # @return [Google::Apis::ComputeBeta::ReservationSubBlockPhysicalTopology]
41497
- attr_accessor :physical_topology
41498
-
41499
- # Maintenance Info for ReservationBlocks.
41500
- # Corresponds to the JSON property `reservationSubBlockMaintenance`
41501
- # @return [Google::Apis::ComputeBeta::GroupMaintenanceInfo]
41502
- attr_accessor :reservation_sub_block_maintenance
41503
-
41504
- # [Output Only] Server-defined fully-qualified URL for this resource.
41505
- # Corresponds to the JSON property `selfLink`
41506
- # @return [String]
41507
- attr_accessor :self_link
41508
-
41509
- # [Output Only] Server-defined URL for this resource with the resource id.
41510
- # Corresponds to the JSON property `selfLinkWithId`
41511
- # @return [String]
41512
- attr_accessor :self_link_with_id
41513
-
41514
- # [Output Only] Status of the reservation subBlock.
41515
- # Corresponds to the JSON property `status`
41516
- # @return [String]
41517
- attr_accessor :status
41518
-
41519
- # [Output Only] Zone in which the reservation subBlock resides.
41520
- # Corresponds to the JSON property `zone`
41521
- # @return [String]
41522
- attr_accessor :zone
41523
-
41524
- def initialize(**args)
41525
- update!(**args)
41526
- end
41527
-
41528
- # Update properties of this object
41529
- def update!(**args)
41530
- @count = args[:count] if args.key?(:count)
41531
- @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
41532
- @health_info = args[:health_info] if args.key?(:health_info)
41533
- @id = args[:id] if args.key?(:id)
41534
- @in_use_count = args[:in_use_count] if args.key?(:in_use_count)
41535
- @in_use_host_count = args[:in_use_host_count] if args.key?(:in_use_host_count)
41536
- @kind = args[:kind] if args.key?(:kind)
41537
- @name = args[:name] if args.key?(:name)
41538
- @physical_topology = args[:physical_topology] if args.key?(:physical_topology)
41539
- @reservation_sub_block_maintenance = args[:reservation_sub_block_maintenance] if args.key?(:reservation_sub_block_maintenance)
41540
- @self_link = args[:self_link] if args.key?(:self_link)
41541
- @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
41542
- @status = args[:status] if args.key?(:status)
41543
- @zone = args[:zone] if args.key?(:zone)
41544
- end
41545
- end
41546
-
41547
- # Health information for the reservation subBlock.
41548
- class ReservationSubBlockHealthInfo
41549
- include Google::Apis::Core::Hashable
41550
-
41551
- # The number of degraded hosts in the reservation subBlock.
41552
- # Corresponds to the JSON property `degradedHostCount`
41553
- # @return [Fixnum]
41554
- attr_accessor :degraded_host_count
41555
-
41556
- # The number of degraded infrastructure (e.g NV link domain) in the reservation
41557
- # subblock.
41558
- # Corresponds to the JSON property `degradedInfraCount`
41559
- # @return [Fixnum]
41560
- attr_accessor :degraded_infra_count
41561
-
41562
- # The health status of the reservation subBlock.
41563
- # Corresponds to the JSON property `healthStatus`
41564
- # @return [String]
41565
- attr_accessor :health_status
41566
-
41567
- # The number of healthy hosts in the reservation subBlock.
41568
- # Corresponds to the JSON property `healthyHostCount`
41569
- # @return [Fixnum]
41570
- attr_accessor :healthy_host_count
41571
-
41572
- # The number of healthy infrastructure (e.g NV link domain) in the reservation
41573
- # subblock.
41574
- # Corresponds to the JSON property `healthyInfraCount`
41575
- # @return [Fixnum]
41576
- attr_accessor :healthy_infra_count
41577
-
41578
- def initialize(**args)
41579
- update!(**args)
41580
- end
41581
-
41582
- # Update properties of this object
41583
- def update!(**args)
41584
- @degraded_host_count = args[:degraded_host_count] if args.key?(:degraded_host_count)
41585
- @degraded_infra_count = args[:degraded_infra_count] if args.key?(:degraded_infra_count)
41586
- @health_status = args[:health_status] if args.key?(:health_status)
41587
- @healthy_host_count = args[:healthy_host_count] if args.key?(:healthy_host_count)
41588
- @healthy_infra_count = args[:healthy_infra_count] if args.key?(:healthy_infra_count)
41589
- end
41590
- end
41591
-
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
+
41592
42922
  #
41593
- class ReservationSubBlockPhysicalTopology
42923
+ class ReservationSubBlocksReportFaultyRequest
41594
42924
  include Google::Apis::Core::Hashable
41595
42925
 
41596
- # The hash of the capacity block within the cluster.
41597
- # Corresponds to the JSON property `block`
41598
- # @return [String]
41599
- attr_accessor :block
41600
-
41601
- # The cluster name of the reservation subBlock.
41602
- # Corresponds to the JSON property `cluster`
42926
+ # The disruption schedule for the subBlock.
42927
+ # Corresponds to the JSON property `disruptionSchedule`
41603
42928
  # @return [String]
41604
- attr_accessor :cluster
42929
+ attr_accessor :disruption_schedule
41605
42930
 
41606
- # The hash of the capacity sub-block within the capacity block.
41607
- # Corresponds to the JSON property `subBlock`
42931
+ # The component that experienced the fault.
42932
+ # Corresponds to the JSON property `failureComponent`
41608
42933
  # @return [String]
41609
- attr_accessor :sub_block
41610
-
41611
- def initialize(**args)
41612
- update!(**args)
41613
- end
41614
-
41615
- # Update properties of this object
41616
- def update!(**args)
41617
- @block = args[:block] if args.key?(:block)
41618
- @cluster = args[:cluster] if args.key?(:cluster)
41619
- @sub_block = args[:sub_block] if args.key?(:sub_block)
41620
- end
41621
- end
42934
+ attr_accessor :failure_component
41622
42935
 
41623
- #
41624
- class ReservationSubBlocksGetResponse
41625
- include Google::Apis::Core::Hashable
41626
-
41627
- # Represents a reservation subBlock resource.
41628
- # Corresponds to the JSON property `resource`
41629
- # @return [Google::Apis::ComputeBeta::ReservationSubBlock]
41630
- 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
41631
42940
 
41632
42941
  def initialize(**args)
41633
42942
  update!(**args)
@@ -41635,48 +42944,25 @@ module Google
41635
42944
 
41636
42945
  # Update properties of this object
41637
42946
  def update!(**args)
41638
- @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)
41639
42950
  end
41640
42951
  end
41641
42952
 
41642
- # A list of reservation subBlocks under a single reservation.
41643
- class ReservationSubBlocksListResponse
42953
+ # The reason for the fault experienced with the subBlock.
42954
+ class ReservationSubBlocksReportFaultyRequestFaultReason
41644
42955
  include Google::Apis::Core::Hashable
41645
42956
 
41646
- # Unique identifier for the resource; defined by the server.
41647
- # Corresponds to the JSON property `id`
41648
- # @return [String]
41649
- attr_accessor :id
41650
-
41651
- # A list of reservation subBlock resources.
41652
- # Corresponds to the JSON property `items`
41653
- # @return [Array<Google::Apis::ComputeBeta::ReservationSubBlock>]
41654
- attr_accessor :items
41655
-
41656
- # Type of the resource. Always compute#reservationSubBlock for a list of
41657
- # reservation subBlocks.
41658
- # Corresponds to the JSON property `kind`
41659
- # @return [String]
41660
- attr_accessor :kind
41661
-
41662
- # This token allows you to get the next page of results for list requests. If
41663
- # the number of results is larger than maxResults, use the nextPageToken as a
41664
- # value for the query parameter pageToken in the next list request. Subsequent
41665
- # list requests will have their own nextPageToken to continue paging through the
41666
- # results.
41667
- # Corresponds to the JSON property `nextPageToken`
42957
+ # The behavior of the fault experienced with the subBlock.
42958
+ # Corresponds to the JSON property `behavior`
41668
42959
  # @return [String]
41669
- attr_accessor :next_page_token
42960
+ attr_accessor :behavior
41670
42961
 
41671
- # Server-defined URL for this resource.
41672
- # Corresponds to the JSON property `selfLink`
42962
+ # The description of the fault experienced with the subBlock.
42963
+ # Corresponds to the JSON property `description`
41673
42964
  # @return [String]
41674
- attr_accessor :self_link
41675
-
41676
- # Informational warning message.
41677
- # Corresponds to the JSON property `warning`
41678
- # @return [Google::Apis::ComputeBeta::ReservationSubBlocksListResponse::Warning]
41679
- attr_accessor :warning
42965
+ attr_accessor :description
41680
42966
 
41681
42967
  def initialize(**args)
41682
42968
  update!(**args)
@@ -41684,76 +42970,8 @@ module Google
41684
42970
 
41685
42971
  # Update properties of this object
41686
42972
  def update!(**args)
41687
- @id = args[:id] if args.key?(:id)
41688
- @items = args[:items] if args.key?(:items)
41689
- @kind = args[:kind] if args.key?(:kind)
41690
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
41691
- @self_link = args[:self_link] if args.key?(:self_link)
41692
- @warning = args[:warning] if args.key?(:warning)
41693
- end
41694
-
41695
- # Informational warning message.
41696
- class Warning
41697
- include Google::Apis::Core::Hashable
41698
-
41699
- # [Output Only] A warning code, if applicable. For example, Compute Engine
41700
- # returns NO_RESULTS_ON_PAGE if there are no results in the response.
41701
- # Corresponds to the JSON property `code`
41702
- # @return [String]
41703
- attr_accessor :code
41704
-
41705
- # [Output Only] Metadata about this warning in key: value format. For example: "
41706
- # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
41707
- # Corresponds to the JSON property `data`
41708
- # @return [Array<Google::Apis::ComputeBeta::ReservationSubBlocksListResponse::Warning::Datum>]
41709
- attr_accessor :data
41710
-
41711
- # [Output Only] A human-readable description of the warning code.
41712
- # Corresponds to the JSON property `message`
41713
- # @return [String]
41714
- attr_accessor :message
41715
-
41716
- def initialize(**args)
41717
- update!(**args)
41718
- end
41719
-
41720
- # Update properties of this object
41721
- def update!(**args)
41722
- @code = args[:code] if args.key?(:code)
41723
- @data = args[:data] if args.key?(:data)
41724
- @message = args[:message] if args.key?(:message)
41725
- end
41726
-
41727
- #
41728
- class Datum
41729
- include Google::Apis::Core::Hashable
41730
-
41731
- # [Output Only] A key that provides more detail on the warning being returned.
41732
- # For example, for warnings where there are no results in a list request for a
41733
- # particular zone, this key might be scope and the key value might be the zone
41734
- # name. Other examples might be a key indicating a deprecated resource and a
41735
- # suggested replacement, or a warning about invalid network settings (for
41736
- # example, if an instance attempts to perform IP forwarding but is not enabled
41737
- # for IP forwarding).
41738
- # Corresponds to the JSON property `key`
41739
- # @return [String]
41740
- attr_accessor :key
41741
-
41742
- # [Output Only] A warning data value corresponding to the key.
41743
- # Corresponds to the JSON property `value`
41744
- # @return [String]
41745
- attr_accessor :value
41746
-
41747
- def initialize(**args)
41748
- update!(**args)
41749
- end
41750
-
41751
- # Update properties of this object
41752
- def update!(**args)
41753
- @key = args[:key] if args.key?(:key)
41754
- @value = args[:value] if args.key?(:value)
41755
- end
41756
- end
42973
+ @behavior = args[:behavior] if args.key?(:behavior)
42974
+ @description = args[:description] if args.key?(:description)
41757
42975
  end
41758
42976
  end
41759
42977
 
@@ -49250,7 +50468,7 @@ module Google
49250
50468
 
49251
50469
  # Represents a Persistent Disk Snapshot resource. You can use snapshots to back
49252
50470
  # up data on a regular interval. For more information, read Creating persistent
49253
- # disk snapshots. LINT.IfChange
50471
+ # disk snapshots.
49254
50472
  class Snapshot
49255
50473
  include Google::Apis::Core::Hashable
49256
50474
 
@@ -49383,6 +50601,11 @@ module Google
49383
50601
  # @return [String]
49384
50602
  attr_accessor :name
49385
50603
 
50604
+ # Additional snapshot params.
50605
+ # Corresponds to the JSON property `params`
50606
+ # @return [Google::Apis::ComputeBeta::SnapshotParams]
50607
+ attr_accessor :params
50608
+
49386
50609
  # [Output Only] URL of the region where the snapshot resides. Only applicable
49387
50610
  # for regional snapshots.
49388
50611
  # Corresponds to the JSON property `region`
@@ -49536,6 +50759,7 @@ module Google
49536
50759
  @licenses = args[:licenses] if args.key?(:licenses)
49537
50760
  @location_hint = args[:location_hint] if args.key?(:location_hint)
49538
50761
  @name = args[:name] if args.key?(:name)
50762
+ @params = args[:params] if args.key?(:params)
49539
50763
  @region = args[:region] if args.key?(:region)
49540
50764
  @satisfies_pzi = args[:satisfies_pzi] if args.key?(:satisfies_pzi)
49541
50765
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
@@ -49806,6 +51030,28 @@ module Google
49806
51030
  end
49807
51031
  end
49808
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
+
49809
51055
  #
49810
51056
  class SnapshotSettings
49811
51057
  include Google::Apis::Core::Hashable