google-apis-compute_alpha 0.121.0 → 0.122.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.
@@ -3403,6 +3403,123 @@ module Google
3403
3403
  end
3404
3404
  end
3405
3405
 
3406
+ #
3407
+ class BackendBucketAggregatedList
3408
+ include Google::Apis::Core::Hashable
3409
+
3410
+ # [Output Only] Unique identifier for the resource; defined by the server.
3411
+ # Corresponds to the JSON property `id`
3412
+ # @return [String]
3413
+ attr_accessor :id
3414
+
3415
+ # A list of BackendBucketsScopedList resources.
3416
+ # Corresponds to the JSON property `items`
3417
+ # @return [Hash<String,Google::Apis::ComputeAlpha::BackendBucketsScopedList>]
3418
+ attr_accessor :items
3419
+
3420
+ # Type of resource.
3421
+ # Corresponds to the JSON property `kind`
3422
+ # @return [String]
3423
+ attr_accessor :kind
3424
+
3425
+ # [Output Only] This token allows you to get the next page of results for list
3426
+ # requests. If the number of results is larger than maxResults, use the
3427
+ # nextPageToken as a value for the query parameter pageToken in the next list
3428
+ # request. Subsequent list requests will have their own nextPageToken to
3429
+ # continue paging through the results.
3430
+ # Corresponds to the JSON property `nextPageToken`
3431
+ # @return [String]
3432
+ attr_accessor :next_page_token
3433
+
3434
+ # [Output Only] Server-defined URL for this resource.
3435
+ # Corresponds to the JSON property `selfLink`
3436
+ # @return [String]
3437
+ attr_accessor :self_link
3438
+
3439
+ # [Output Only] Informational warning message.
3440
+ # Corresponds to the JSON property `warning`
3441
+ # @return [Google::Apis::ComputeAlpha::BackendBucketAggregatedList::Warning]
3442
+ attr_accessor :warning
3443
+
3444
+ def initialize(**args)
3445
+ update!(**args)
3446
+ end
3447
+
3448
+ # Update properties of this object
3449
+ def update!(**args)
3450
+ @id = args[:id] if args.key?(:id)
3451
+ @items = args[:items] if args.key?(:items)
3452
+ @kind = args[:kind] if args.key?(:kind)
3453
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
3454
+ @self_link = args[:self_link] if args.key?(:self_link)
3455
+ @warning = args[:warning] if args.key?(:warning)
3456
+ end
3457
+
3458
+ # [Output Only] Informational warning message.
3459
+ class Warning
3460
+ include Google::Apis::Core::Hashable
3461
+
3462
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
3463
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
3464
+ # Corresponds to the JSON property `code`
3465
+ # @return [String]
3466
+ attr_accessor :code
3467
+
3468
+ # [Output Only] Metadata about this warning in key: value format. For example: "
3469
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
3470
+ # Corresponds to the JSON property `data`
3471
+ # @return [Array<Google::Apis::ComputeAlpha::BackendBucketAggregatedList::Warning::Datum>]
3472
+ attr_accessor :data
3473
+
3474
+ # [Output Only] A human-readable description of the warning code.
3475
+ # Corresponds to the JSON property `message`
3476
+ # @return [String]
3477
+ attr_accessor :message
3478
+
3479
+ def initialize(**args)
3480
+ update!(**args)
3481
+ end
3482
+
3483
+ # Update properties of this object
3484
+ def update!(**args)
3485
+ @code = args[:code] if args.key?(:code)
3486
+ @data = args[:data] if args.key?(:data)
3487
+ @message = args[:message] if args.key?(:message)
3488
+ end
3489
+
3490
+ #
3491
+ class Datum
3492
+ include Google::Apis::Core::Hashable
3493
+
3494
+ # [Output Only] A key that provides more detail on the warning being returned.
3495
+ # For example, for warnings where there are no results in a list request for a
3496
+ # particular zone, this key might be scope and the key value might be the zone
3497
+ # name. Other examples might be a key indicating a deprecated resource and a
3498
+ # suggested replacement, or a warning about invalid network settings (for
3499
+ # example, if an instance attempts to perform IP forwarding but is not enabled
3500
+ # for IP forwarding).
3501
+ # Corresponds to the JSON property `key`
3502
+ # @return [String]
3503
+ attr_accessor :key
3504
+
3505
+ # [Output Only] A warning data value corresponding to the key.
3506
+ # Corresponds to the JSON property `value`
3507
+ # @return [String]
3508
+ attr_accessor :value
3509
+
3510
+ def initialize(**args)
3511
+ update!(**args)
3512
+ end
3513
+
3514
+ # Update properties of this object
3515
+ def update!(**args)
3516
+ @key = args[:key] if args.key?(:key)
3517
+ @value = args[:value] if args.key?(:value)
3518
+ end
3519
+ end
3520
+ end
3521
+ end
3522
+
3406
3523
  # Message containing Cloud CDN configuration for a backend bucket.
3407
3524
  class BackendBucketCdnPolicy
3408
3525
  include Google::Apis::Core::Hashable
@@ -3485,8 +3602,8 @@ module Google
3485
3602
  # CDN will apply the following default TTLs to these status codes: HTTP 300 (
3486
3603
  # Multiple Choice), 301, 308 (Permanent Redirects): 10m HTTP 404 (Not Found),
3487
3604
  # 410 (Gone), 451 (Unavailable For Legal Reasons): 120s HTTP 405 (Method Not
3488
- # Found), 421 (Misdirected Request), 501 (Not Implemented): 60s. These defaults
3489
- # can be overridden in negative_caching_policy.
3605
+ # Found), 501 (Not Implemented): 60s. These defaults can be overridden in
3606
+ # negative_caching_policy.
3490
3607
  # Corresponds to the JSON property `negativeCaching`
3491
3608
  # @return [Boolean]
3492
3609
  attr_accessor :negative_caching
@@ -3918,6 +4035,97 @@ module Google
3918
4035
  end
3919
4036
  end
3920
4037
 
4038
+ #
4039
+ class BackendBucketsScopedList
4040
+ include Google::Apis::Core::Hashable
4041
+
4042
+ # A list of BackendBuckets contained in this scope.
4043
+ # Corresponds to the JSON property `backendBuckets`
4044
+ # @return [Array<Google::Apis::ComputeAlpha::BackendBucket>]
4045
+ attr_accessor :backend_buckets
4046
+
4047
+ # Informational warning which replaces the list of backend services when the
4048
+ # list is empty.
4049
+ # Corresponds to the JSON property `warning`
4050
+ # @return [Google::Apis::ComputeAlpha::BackendBucketsScopedList::Warning]
4051
+ attr_accessor :warning
4052
+
4053
+ def initialize(**args)
4054
+ update!(**args)
4055
+ end
4056
+
4057
+ # Update properties of this object
4058
+ def update!(**args)
4059
+ @backend_buckets = args[:backend_buckets] if args.key?(:backend_buckets)
4060
+ @warning = args[:warning] if args.key?(:warning)
4061
+ end
4062
+
4063
+ # Informational warning which replaces the list of backend services when the
4064
+ # list is empty.
4065
+ class Warning
4066
+ include Google::Apis::Core::Hashable
4067
+
4068
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
4069
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
4070
+ # Corresponds to the JSON property `code`
4071
+ # @return [String]
4072
+ attr_accessor :code
4073
+
4074
+ # [Output Only] Metadata about this warning in key: value format. For example: "
4075
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
4076
+ # Corresponds to the JSON property `data`
4077
+ # @return [Array<Google::Apis::ComputeAlpha::BackendBucketsScopedList::Warning::Datum>]
4078
+ attr_accessor :data
4079
+
4080
+ # [Output Only] A human-readable description of the warning code.
4081
+ # Corresponds to the JSON property `message`
4082
+ # @return [String]
4083
+ attr_accessor :message
4084
+
4085
+ def initialize(**args)
4086
+ update!(**args)
4087
+ end
4088
+
4089
+ # Update properties of this object
4090
+ def update!(**args)
4091
+ @code = args[:code] if args.key?(:code)
4092
+ @data = args[:data] if args.key?(:data)
4093
+ @message = args[:message] if args.key?(:message)
4094
+ end
4095
+
4096
+ #
4097
+ class Datum
4098
+ include Google::Apis::Core::Hashable
4099
+
4100
+ # [Output Only] A key that provides more detail on the warning being returned.
4101
+ # For example, for warnings where there are no results in a list request for a
4102
+ # particular zone, this key might be scope and the key value might be the zone
4103
+ # name. Other examples might be a key indicating a deprecated resource and a
4104
+ # suggested replacement, or a warning about invalid network settings (for
4105
+ # example, if an instance attempts to perform IP forwarding but is not enabled
4106
+ # for IP forwarding).
4107
+ # Corresponds to the JSON property `key`
4108
+ # @return [String]
4109
+ attr_accessor :key
4110
+
4111
+ # [Output Only] A warning data value corresponding to the key.
4112
+ # Corresponds to the JSON property `value`
4113
+ # @return [String]
4114
+ attr_accessor :value
4115
+
4116
+ def initialize(**args)
4117
+ update!(**args)
4118
+ end
4119
+
4120
+ # Update properties of this object
4121
+ def update!(**args)
4122
+ @key = args[:key] if args.key?(:key)
4123
+ @value = args[:value] if args.key?(:value)
4124
+ end
4125
+ end
4126
+ end
4127
+ end
4128
+
3921
4129
  # Custom Metrics are used for CUSTOM_METRICS balancing_mode.
3922
4130
  class BackendCustomMetric
3923
4131
  include Google::Apis::Core::Hashable
@@ -4704,8 +4912,8 @@ module Google
4704
4912
  # CDN will apply the following default TTLs to these status codes: HTTP 300 (
4705
4913
  # Multiple Choice), 301, 308 (Permanent Redirects): 10m HTTP 404 (Not Found),
4706
4914
  # 410 (Gone), 451 (Unavailable For Legal Reasons): 120s HTTP 405 (Method Not
4707
- # Found), 421 (Misdirected Request), 501 (Not Implemented): 60s. These defaults
4708
- # can be overridden in negative_caching_policy.
4915
+ # Found), 501 (Not Implemented): 60s. These defaults can be overridden in
4916
+ # negative_caching_policy.
4709
4917
  # Corresponds to the JSON property `negativeCaching`
4710
4918
  # @return [Boolean]
4711
4919
  attr_accessor :negative_caching
@@ -7176,13 +7384,21 @@ module Google
7176
7384
  # @return [Float]
7177
7385
  attr_accessor :obtainability
7178
7386
 
7179
- # The preemption score indicates the likelihood that your Spot VMs is preempted.
7180
- # For more information about the preemption process, see Preemption of Spot VMs.
7181
- # The score range is 0.0 through 1.0. Higher is better.
7387
+ # [Deprecated] Use uptime_score field instead. The preemption score indicates
7388
+ # the likelihood that your Spot VMs is preempted. For more information about the
7389
+ # preemption process, see Preemption of Spot VMs. The score range is 0.0 through
7390
+ # 1.0. Higher is better.
7182
7391
  # Corresponds to the JSON property `spotPreemption`
7183
7392
  # @return [Float]
7184
7393
  attr_accessor :spot_preemption
7185
7394
 
7395
+ # The uptime score indicates the availability of your Spot VMs. For more
7396
+ # information about the preemption process, see Preemption of Spot VMs. The
7397
+ # score range is 0.0 through 1.0. Higher is better.
7398
+ # Corresponds to the JSON property `uptimeScore`
7399
+ # @return [Float]
7400
+ attr_accessor :uptime_score
7401
+
7186
7402
  def initialize(**args)
7187
7403
  update!(**args)
7188
7404
  end
@@ -7191,6 +7407,7 @@ module Google
7191
7407
  def update!(**args)
7192
7408
  @obtainability = args[:obtainability] if args.key?(:obtainability)
7193
7409
  @spot_preemption = args[:spot_preemption] if args.key?(:spot_preemption)
7410
+ @uptime_score = args[:uptime_score] if args.key?(:uptime_score)
7194
7411
  end
7195
7412
  end
7196
7413
 
@@ -12236,6 +12453,12 @@ module Google
12236
12453
  # @return [String]
12237
12454
  attr_accessor :parent
12238
12455
 
12456
+ # [Output Only] Source of this Firewall Policy. USER_DEFINED if created by a
12457
+ # Cloud user, or SYSTEM if created by managed services like GKE.
12458
+ # Corresponds to the JSON property `policySource`
12459
+ # @return [String]
12460
+ attr_accessor :policy_source
12461
+
12239
12462
  # The type of the firewall policy. This field can be either VPC_POLICY or
12240
12463
  # RDMA_ROCE_POLICY. Note: if not specified then VPC_POLICY will be used.
12241
12464
  # Corresponds to the JSON property `policyType`
@@ -12314,6 +12537,7 @@ module Google
12314
12537
  @name = args[:name] if args.key?(:name)
12315
12538
  @packet_mirroring_rules = args[:packet_mirroring_rules] if args.key?(:packet_mirroring_rules)
12316
12539
  @parent = args[:parent] if args.key?(:parent)
12540
+ @policy_source = args[:policy_source] if args.key?(:policy_source)
12317
12541
  @policy_type = args[:policy_type] if args.key?(:policy_type)
12318
12542
  @region = args[:region] if args.key?(:region)
12319
12543
  @rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
@@ -15291,144 +15515,88 @@ module Google
15291
15515
  end
15292
15516
  end
15293
15517
 
15294
- # Maintenance Info for ReservationBlocks.
15295
- class GroupMaintenanceInfo
15518
+ # Message describing GlobalVmExtensionPolicy object.
15519
+ class GlobalVmExtensionPolicy
15296
15520
  include Google::Apis::Core::Hashable
15297
15521
 
15298
- # Describes number of instances that have ongoing maintenance.
15299
- # Corresponds to the JSON property `instanceMaintenanceOngoingCount`
15300
- # @return [Fixnum]
15301
- attr_accessor :instance_maintenance_ongoing_count
15302
-
15303
- # Describes number of instances that have pending maintenance.
15304
- # Corresponds to the JSON property `instanceMaintenancePendingCount`
15305
- # @return [Fixnum]
15306
- attr_accessor :instance_maintenance_pending_count
15307
-
15308
- # Progress for ongoing maintenance for this group of VMs/hosts. Describes number
15309
- # of hosts in the block that have ongoing maintenance.
15310
- # Corresponds to the JSON property `maintenanceOngoingCount`
15311
- # @return [Fixnum]
15312
- attr_accessor :maintenance_ongoing_count
15313
-
15314
- # Progress for ongoing maintenance for this group of VMs/hosts. Describes number
15315
- # of hosts in the block that have pending maintenance.
15316
- # Corresponds to the JSON property `maintenancePendingCount`
15317
- # @return [Fixnum]
15318
- attr_accessor :maintenance_pending_count
15319
-
15320
- # The type of maintenance for the reservation.
15321
- # Corresponds to the JSON property `schedulingType`
15522
+ # [Output Only] Creation timestamp in RFC3339 text format.
15523
+ # Corresponds to the JSON property `creationTimestamp`
15322
15524
  # @return [String]
15323
- attr_accessor :scheduling_type
15324
-
15325
- # Describes number of subblock Infrastructure that has ongoing maintenance. Here,
15326
- # Subblock Infrastructure Maintenance pertains to upstream hardware contained
15327
- # in the Subblock that is necessary for a VM Family(e.g. NVLink Domains). Not
15328
- # all VM Families will support this field.
15329
- # Corresponds to the JSON property `subblockInfraMaintenanceOngoingCount`
15330
- # @return [Fixnum]
15331
- attr_accessor :subblock_infra_maintenance_ongoing_count
15332
-
15333
- # Describes number of subblock Infrastructure that has pending maintenance. Here,
15334
- # Subblock Infrastructure Maintenance pertains to upstream hardware contained
15335
- # in the Subblock that is necessary for a VM Family (e.g. NVLink Domains). Not
15336
- # all VM Families will support this field.
15337
- # Corresponds to the JSON property `subblockInfraMaintenancePendingCount`
15338
- # @return [Fixnum]
15339
- attr_accessor :subblock_infra_maintenance_pending_count
15340
-
15341
- # Upcoming Maintenance notification information.
15342
- # Corresponds to the JSON property `upcomingGroupMaintenance`
15343
- # @return [Google::Apis::ComputeAlpha::UpcomingMaintenance]
15344
- attr_accessor :upcoming_group_maintenance
15345
-
15346
- def initialize(**args)
15347
- update!(**args)
15348
- end
15349
-
15350
- # Update properties of this object
15351
- def update!(**args)
15352
- @instance_maintenance_ongoing_count = args[:instance_maintenance_ongoing_count] if args.key?(:instance_maintenance_ongoing_count)
15353
- @instance_maintenance_pending_count = args[:instance_maintenance_pending_count] if args.key?(:instance_maintenance_pending_count)
15354
- @maintenance_ongoing_count = args[:maintenance_ongoing_count] if args.key?(:maintenance_ongoing_count)
15355
- @maintenance_pending_count = args[:maintenance_pending_count] if args.key?(:maintenance_pending_count)
15356
- @scheduling_type = args[:scheduling_type] if args.key?(:scheduling_type)
15357
- @subblock_infra_maintenance_ongoing_count = args[:subblock_infra_maintenance_ongoing_count] if args.key?(:subblock_infra_maintenance_ongoing_count)
15358
- @subblock_infra_maintenance_pending_count = args[:subblock_infra_maintenance_pending_count] if args.key?(:subblock_infra_maintenance_pending_count)
15359
- @upcoming_group_maintenance = args[:upcoming_group_maintenance] if args.key?(:upcoming_group_maintenance)
15360
- end
15361
- end
15362
-
15363
- # [Deprecated] gRPC config to access the SDS server. gRPC config to access the
15364
- # SDS server.
15365
- class GrpcServiceConfig
15366
- include Google::Apis::Core::Hashable
15367
-
15368
- # [Deprecated] gRPC call credentials to access the SDS server. gRPC call
15369
- # credentials to access the SDS server.
15370
- # Corresponds to the JSON property `callCredentials`
15371
- # @return [Google::Apis::ComputeAlpha::CallCredentials]
15372
- attr_accessor :call_credentials
15373
-
15374
- # [Deprecated] gRPC channel credentials to access the SDS server. gRPC channel
15375
- # credentials to access the SDS server.
15376
- # Corresponds to the JSON property `channelCredentials`
15377
- # @return [Google::Apis::ComputeAlpha::ChannelCredentials]
15378
- attr_accessor :channel_credentials
15525
+ attr_accessor :creation_timestamp
15379
15526
 
15380
- # The target URI of the SDS server.
15381
- # Corresponds to the JSON property `targetUri`
15527
+ # An optional description of this resource. Provide this property when you
15528
+ # create the resource.
15529
+ # Corresponds to the JSON property `description`
15382
15530
  # @return [String]
15383
- attr_accessor :target_uri
15531
+ attr_accessor :description
15384
15532
 
15385
- def initialize(**args)
15386
- update!(**args)
15387
- end
15533
+ # Required. Map from extension (eg: "cloudops") to its policy configuration. The
15534
+ # key is the name of the extension.
15535
+ # Corresponds to the JSON property `extensionPolicies`
15536
+ # @return [Hash<String,Google::Apis::ComputeAlpha::GlobalVmExtensionPolicyExtensionPolicy>]
15537
+ attr_accessor :extension_policies
15388
15538
 
15389
- # Update properties of this object
15390
- def update!(**args)
15391
- @call_credentials = args[:call_credentials] if args.key?(:call_credentials)
15392
- @channel_credentials = args[:channel_credentials] if args.key?(:channel_credentials)
15393
- @target_uri = args[:target_uri] if args.key?(:target_uri)
15394
- end
15395
- end
15539
+ # [Output Only] The unique identifier for the resource. This identifier is
15540
+ # defined by the server.
15541
+ # Corresponds to the JSON property `id`
15542
+ # @return [Fixnum]
15543
+ attr_accessor :id
15396
15544
 
15397
- # A guest attributes entry.
15398
- class GuestAttributes
15399
- include Google::Apis::Core::Hashable
15545
+ # Optional. Selector to target VMs for a policy. There is a logical "AND"
15546
+ # between instance_selectors.
15547
+ # Corresponds to the JSON property `instanceSelectors`
15548
+ # @return [Array<Google::Apis::ComputeAlpha::GlobalVmExtensionPolicyInstanceSelector>]
15549
+ attr_accessor :instance_selectors
15400
15550
 
15401
- # [Output Only] Type of the resource. Always compute#guestAttributes for guest
15402
- # attributes entry.
15551
+ # [Output Only] Type of the resource. Always compute#globalVmExtensionPolicy for
15552
+ # globalVmExtensionPolicies.
15403
15553
  # Corresponds to the JSON property `kind`
15404
15554
  # @return [String]
15405
15555
  attr_accessor :kind
15406
15556
 
15407
- # The path to be queried. This can be the default namespace ('') or a nested
15408
- # namespace ('\/') or a specified key ('\/\').
15409
- # Corresponds to the JSON property `queryPath`
15557
+ # Name of the resource. Provided by the client when the resource is created. The
15558
+ # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
15559
+ # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
15560
+ # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
15561
+ # and all following characters must be a dash, lowercase letter, or digit,
15562
+ # except the last character, which cannot be a dash.
15563
+ # Corresponds to the JSON property `name`
15410
15564
  # @return [String]
15411
- attr_accessor :query_path
15565
+ attr_accessor :name
15412
15566
 
15413
- # Array of guest attribute namespace/key/value tuples.
15414
- # Corresponds to the JSON property `queryValue`
15415
- # @return [Google::Apis::ComputeAlpha::GuestAttributesValue]
15416
- attr_accessor :query_value
15567
+ # Optional. Used to resolve conflicts when multiple policies are active for the
15568
+ # same extension. Defaults to 0. Larger the number, higher the priority. When
15569
+ # the priority is the same, the policy with the newer create time has higher
15570
+ # priority.
15571
+ # Corresponds to the JSON property `priority`
15572
+ # @return [Fixnum]
15573
+ attr_accessor :priority
15417
15574
 
15418
- # [Output Only] Server-defined URL for this resource.
15575
+ # Represents the rollout operation
15576
+ # Corresponds to the JSON property `rolloutOperation`
15577
+ # @return [Google::Apis::ComputeAlpha::GlobalVmExtensionPolicyRolloutOperation]
15578
+ attr_accessor :rollout_operation
15579
+
15580
+ # [Output Only] The scoped resource status. It's only for tracking the purging
15581
+ # status of the policy.
15582
+ # Corresponds to the JSON property `scopedResourceStatus`
15583
+ # @return [String]
15584
+ attr_accessor :scoped_resource_status
15585
+
15586
+ # [Output Only] Server-defined fully-qualified URL for this resource.
15419
15587
  # Corresponds to the JSON property `selfLink`
15420
15588
  # @return [String]
15421
15589
  attr_accessor :self_link
15422
15590
 
15423
- # The key to search for.
15424
- # Corresponds to the JSON property `variableKey`
15591
+ # [Output Only] Server-defined URL for this resource's resource id.
15592
+ # Corresponds to the JSON property `selfLinkWithId`
15425
15593
  # @return [String]
15426
- attr_accessor :variable_key
15594
+ attr_accessor :self_link_with_id
15427
15595
 
15428
- # [Output Only] The value found for the requested key.
15429
- # Corresponds to the JSON property `variableValue`
15596
+ # [Output Only] Update timestamp in RFC3339 text format.
15597
+ # Corresponds to the JSON property `updateTimestamp`
15430
15598
  # @return [String]
15431
- attr_accessor :variable_value
15599
+ attr_accessor :update_timestamp
15432
15600
 
15433
15601
  def initialize(**args)
15434
15602
  update!(**args)
@@ -15436,33 +15604,37 @@ module Google
15436
15604
 
15437
15605
  # Update properties of this object
15438
15606
  def update!(**args)
15607
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
15608
+ @description = args[:description] if args.key?(:description)
15609
+ @extension_policies = args[:extension_policies] if args.key?(:extension_policies)
15610
+ @id = args[:id] if args.key?(:id)
15611
+ @instance_selectors = args[:instance_selectors] if args.key?(:instance_selectors)
15439
15612
  @kind = args[:kind] if args.key?(:kind)
15440
- @query_path = args[:query_path] if args.key?(:query_path)
15441
- @query_value = args[:query_value] if args.key?(:query_value)
15613
+ @name = args[:name] if args.key?(:name)
15614
+ @priority = args[:priority] if args.key?(:priority)
15615
+ @rollout_operation = args[:rollout_operation] if args.key?(:rollout_operation)
15616
+ @scoped_resource_status = args[:scoped_resource_status] if args.key?(:scoped_resource_status)
15442
15617
  @self_link = args[:self_link] if args.key?(:self_link)
15443
- @variable_key = args[:variable_key] if args.key?(:variable_key)
15444
- @variable_value = args[:variable_value] if args.key?(:variable_value)
15618
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
15619
+ @update_timestamp = args[:update_timestamp] if args.key?(:update_timestamp)
15445
15620
  end
15446
15621
  end
15447
15622
 
15448
- # A guest attributes namespace/key/value entry.
15449
- class GuestAttributesEntry
15623
+ # Policy for a single extension.
15624
+ class GlobalVmExtensionPolicyExtensionPolicy
15450
15625
  include Google::Apis::Core::Hashable
15451
15626
 
15452
- # Key for the guest attribute entry.
15453
- # Corresponds to the JSON property `key`
15454
- # @return [String]
15455
- attr_accessor :key
15456
-
15457
- # Namespace for the guest attribute entry.
15458
- # Corresponds to the JSON property `namespace`
15627
+ # Optional. The version pinning for the extension. If empty, the extension will
15628
+ # be installed with the latest version released by the extension producer.
15629
+ # Corresponds to the JSON property `pinnedVersion`
15459
15630
  # @return [String]
15460
- attr_accessor :namespace
15631
+ attr_accessor :pinned_version
15461
15632
 
15462
- # Value for the guest attribute entry.
15463
- # Corresponds to the JSON property `value`
15633
+ # Optional. String configuration. Any string payload that the extension
15634
+ # understands.
15635
+ # Corresponds to the JSON property `stringConfig`
15464
15636
  # @return [String]
15465
- attr_accessor :value
15637
+ attr_accessor :string_config
15466
15638
 
15467
15639
  def initialize(**args)
15468
15640
  update!(**args)
@@ -15470,20 +15642,20 @@ module Google
15470
15642
 
15471
15643
  # Update properties of this object
15472
15644
  def update!(**args)
15473
- @key = args[:key] if args.key?(:key)
15474
- @namespace = args[:namespace] if args.key?(:namespace)
15475
- @value = args[:value] if args.key?(:value)
15645
+ @pinned_version = args[:pinned_version] if args.key?(:pinned_version)
15646
+ @string_config = args[:string_config] if args.key?(:string_config)
15476
15647
  end
15477
15648
  end
15478
15649
 
15479
- # Array of guest attribute namespace/key/value tuples.
15480
- class GuestAttributesValue
15650
+ # Selector to target VMs for a zone VM extension policy.
15651
+ class GlobalVmExtensionPolicyInstanceSelector
15481
15652
  include Google::Apis::Core::Hashable
15482
15653
 
15483
- #
15484
- # Corresponds to the JSON property `items`
15485
- # @return [Array<Google::Apis::ComputeAlpha::GuestAttributesEntry>]
15486
- attr_accessor :items
15654
+ # A LabelSelector is applicable for a VM only if it matches all labels in the
15655
+ # LabelSelector.
15656
+ # Corresponds to the JSON property `labelSelector`
15657
+ # @return [Google::Apis::ComputeAlpha::GlobalVmExtensionPolicyLabelSelector]
15658
+ attr_accessor :label_selector
15487
15659
 
15488
15660
  def initialize(**args)
15489
15661
  update!(**args)
@@ -15491,23 +15663,21 @@ module Google
15491
15663
 
15492
15664
  # Update properties of this object
15493
15665
  def update!(**args)
15494
- @items = args[:items] if args.key?(:items)
15666
+ @label_selector = args[:label_selector] if args.key?(:label_selector)
15495
15667
  end
15496
15668
  end
15497
15669
 
15498
- # Guest OS features.
15499
- class GuestOsFeature
15670
+ # A LabelSelector is applicable for a VM only if it matches all labels in the
15671
+ # LabelSelector.
15672
+ class GlobalVmExtensionPolicyLabelSelector
15500
15673
  include Google::Apis::Core::Hashable
15501
15674
 
15502
- # The ID of a supported feature. To add multiple values, use commas to separate
15503
- # values. Set to one or more of the following values: - VIRTIO_SCSI_MULTIQUEUE -
15504
- # WINDOWS - MULTI_IP_SUBNET - UEFI_COMPATIBLE - GVNIC - SEV_CAPABLE -
15505
- # SUSPEND_RESUME_COMPATIBLE - SEV_LIVE_MIGRATABLE_V2 - SEV_SNP_CAPABLE -
15506
- # TDX_CAPABLE - IDPF - SNP_SVSM_CAPABLE For more information, see Enabling guest
15507
- # operating system features.
15508
- # Corresponds to the JSON property `type`
15509
- # @return [String]
15510
- attr_accessor :type
15675
+ # Optional. Labels as key value pairs. A VM should contain all the pairs
15676
+ # specified in this map to be selected; Labels within the LabelSelector are OR'
15677
+ # ed.
15678
+ # Corresponds to the JSON property `inclusionLabels`
15679
+ # @return [Hash<String,String>]
15680
+ attr_accessor :inclusion_labels
15511
15681
 
15512
15682
  def initialize(**args)
15513
15683
  update!(**args)
@@ -15515,81 +15685,57 @@ module Google
15515
15685
 
15516
15686
  # Update properties of this object
15517
15687
  def update!(**args)
15518
- @type = args[:type] if args.key?(:type)
15688
+ @inclusion_labels = args[:inclusion_labels] if args.key?(:inclusion_labels)
15519
15689
  end
15520
15690
  end
15521
15691
 
15522
- #
15523
- class Http2HealthCheck
15692
+ # Response to list global VM extension policy resources.
15693
+ class GlobalVmExtensionPolicyList
15524
15694
  include Google::Apis::Core::Hashable
15525
15695
 
15526
- # The value of the host header in the HTTP/2 health check request. If left empty
15527
- # (default value), the host header is set to the destination IP address to which
15528
- # health check packets are sent. The destination IP address depends on the type
15529
- # of load balancer. For details, see: https://cloud.google.com/load-balancing/
15530
- # docs/health-check-concepts#hc-packet-dest
15531
- # Corresponds to the JSON property `host`
15696
+ #
15697
+ # Corresponds to the JSON property `etag`
15532
15698
  # @return [String]
15533
- attr_accessor :host
15534
-
15535
- # The TCP port number to which the health check prober sends packets. The
15536
- # default value is 443. Valid values are 1 through 65535.
15537
- # Corresponds to the JSON property `port`
15538
- # @return [Fixnum]
15539
- attr_accessor :port
15699
+ attr_accessor :etag
15540
15700
 
15541
- # Not supported.
15542
- # Corresponds to the JSON property `portName`
15701
+ # [Output Only] Unique identifier for the resource; defined by the server.
15702
+ # Corresponds to the JSON property `id`
15543
15703
  # @return [String]
15544
- attr_accessor :port_name
15704
+ attr_accessor :id
15545
15705
 
15546
- # Specifies how a port is selected for health checking. Can be one of the
15547
- # following values: USE_FIXED_PORT: Specifies a port number explicitly using the
15548
- # port field in the health check. Supported by backend services for passthrough
15549
- # load balancers and backend services for proxy load balancers. Not supported by
15550
- # target pools. The health check supports all backends supported by the backend
15551
- # service provided the backend can be health checked. For example, GCE_VM_IP
15552
- # network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance
15553
- # group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an
15554
- # indirect method of specifying the health check port by referring to the
15555
- # backend service. Only supported by backend services for proxy load balancers.
15556
- # Not supported by target pools. Not supported by backend services for
15557
- # passthrough load balancers. Supports all backends that can be health checked;
15558
- # for example, GCE_VM_IP_PORT network endpoint groups and instance group
15559
- # backends. For GCE_VM_IP_PORT network endpoint group backends, the health check
15560
- # uses the port number specified for each endpoint in the network endpoint group.
15561
- # For instance group backends, the health check uses the port number determined
15562
- # by looking up the backend service's named port in the instance group's list of
15563
- # named ports.
15564
- # Corresponds to the JSON property `portSpecification`
15565
- # @return [String]
15566
- attr_accessor :port_specification
15706
+ # A list of GlobalVmExtensionPolicy resources.
15707
+ # Corresponds to the JSON property `items`
15708
+ # @return [Array<Google::Apis::ComputeAlpha::GlobalVmExtensionPolicy>]
15709
+ attr_accessor :items
15567
15710
 
15568
- # Specifies the type of proxy header to append before sending data to the
15569
- # backend, either NONE or PROXY_V1. The default is NONE.
15570
- # Corresponds to the JSON property `proxyHeader`
15711
+ # Type of resource.
15712
+ # Corresponds to the JSON property `kind`
15571
15713
  # @return [String]
15572
- attr_accessor :proxy_header
15714
+ attr_accessor :kind
15573
15715
 
15574
- # The request path of the HTTP/2 health check request. The default value is /.
15575
- # Must comply with RFC3986.
15576
- # Corresponds to the JSON property `requestPath`
15716
+ # [Output Only] This token allows you to get the next page of results for list
15717
+ # requests. If the number of results is larger than maxResults, use the
15718
+ # nextPageToken as a value for the query parameter pageToken in the next list
15719
+ # request. Subsequent list requests will have their own nextPageToken to
15720
+ # continue paging through the results.
15721
+ # Corresponds to the JSON property `nextPageToken`
15577
15722
  # @return [String]
15578
- attr_accessor :request_path
15723
+ attr_accessor :next_page_token
15579
15724
 
15580
- # Creates a content-based HTTP/2 health check. In addition to the required HTTP
15581
- # 200 (OK) status code, you can configure the health check to pass only when the
15582
- # backend sends this specific ASCII response string within the first 1024 bytes
15583
- # of the HTTP response body. For details, see: https://cloud.google.com/load-
15584
- # balancing/docs/health-check-concepts#criteria-protocol-http
15585
- # Corresponds to the JSON property `response`
15725
+ # [Output Only] Server-defined URL for this resource.
15726
+ # Corresponds to the JSON property `selfLink`
15586
15727
  # @return [String]
15587
- attr_accessor :response
15728
+ attr_accessor :self_link
15588
15729
 
15589
- # Weight report mode. used for weighted Load Balancing.
15590
- # Corresponds to the JSON property `weightReportMode`
15591
- # @return [String]
15592
- attr_accessor :weight_report_mode
15730
+ # [Output Only] Unreachable resources.
15731
+ # Corresponds to the JSON property `unreachables`
15732
+ # @return [Array<String>]
15733
+ attr_accessor :unreachables
15734
+
15735
+ # [Output Only] Informational warning message.
15736
+ # Corresponds to the JSON property `warning`
15737
+ # @return [Google::Apis::ComputeAlpha::GlobalVmExtensionPolicyList::Warning]
15738
+ attr_accessor :warning
15593
15739
 
15594
15740
  def initialize(**args)
15595
15741
  update!(**args)
@@ -15597,13 +15743,527 @@ module Google
15597
15743
 
15598
15744
  # Update properties of this object
15599
15745
  def update!(**args)
15600
- @host = args[:host] if args.key?(:host)
15601
- @port = args[:port] if args.key?(:port)
15602
- @port_name = args[:port_name] if args.key?(:port_name)
15603
- @port_specification = args[:port_specification] if args.key?(:port_specification)
15604
- @proxy_header = args[:proxy_header] if args.key?(:proxy_header)
15605
- @request_path = args[:request_path] if args.key?(:request_path)
15606
- @response = args[:response] if args.key?(:response)
15746
+ @etag = args[:etag] if args.key?(:etag)
15747
+ @id = args[:id] if args.key?(:id)
15748
+ @items = args[:items] if args.key?(:items)
15749
+ @kind = args[:kind] if args.key?(:kind)
15750
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
15751
+ @self_link = args[:self_link] if args.key?(:self_link)
15752
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
15753
+ @warning = args[:warning] if args.key?(:warning)
15754
+ end
15755
+
15756
+ # [Output Only] Informational warning message.
15757
+ class Warning
15758
+ include Google::Apis::Core::Hashable
15759
+
15760
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
15761
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
15762
+ # Corresponds to the JSON property `code`
15763
+ # @return [String]
15764
+ attr_accessor :code
15765
+
15766
+ # [Output Only] Metadata about this warning in key: value format. For example: "
15767
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
15768
+ # Corresponds to the JSON property `data`
15769
+ # @return [Array<Google::Apis::ComputeAlpha::GlobalVmExtensionPolicyList::Warning::Datum>]
15770
+ attr_accessor :data
15771
+
15772
+ # [Output Only] A human-readable description of the warning code.
15773
+ # Corresponds to the JSON property `message`
15774
+ # @return [String]
15775
+ attr_accessor :message
15776
+
15777
+ def initialize(**args)
15778
+ update!(**args)
15779
+ end
15780
+
15781
+ # Update properties of this object
15782
+ def update!(**args)
15783
+ @code = args[:code] if args.key?(:code)
15784
+ @data = args[:data] if args.key?(:data)
15785
+ @message = args[:message] if args.key?(:message)
15786
+ end
15787
+
15788
+ #
15789
+ class Datum
15790
+ include Google::Apis::Core::Hashable
15791
+
15792
+ # [Output Only] A key that provides more detail on the warning being returned.
15793
+ # For example, for warnings where there are no results in a list request for a
15794
+ # particular zone, this key might be scope and the key value might be the zone
15795
+ # name. Other examples might be a key indicating a deprecated resource and a
15796
+ # suggested replacement, or a warning about invalid network settings (for
15797
+ # example, if an instance attempts to perform IP forwarding but is not enabled
15798
+ # for IP forwarding).
15799
+ # Corresponds to the JSON property `key`
15800
+ # @return [String]
15801
+ attr_accessor :key
15802
+
15803
+ # [Output Only] A warning data value corresponding to the key.
15804
+ # Corresponds to the JSON property `value`
15805
+ # @return [String]
15806
+ attr_accessor :value
15807
+
15808
+ def initialize(**args)
15809
+ update!(**args)
15810
+ end
15811
+
15812
+ # Update properties of this object
15813
+ def update!(**args)
15814
+ @key = args[:key] if args.key?(:key)
15815
+ @value = args[:value] if args.key?(:value)
15816
+ end
15817
+ end
15818
+ end
15819
+ end
15820
+
15821
+ # Represents the rollout operation
15822
+ class GlobalVmExtensionPolicyRolloutOperation
15823
+ include Google::Apis::Core::Hashable
15824
+
15825
+ # Required. The rollout input which defines the rollout plan.
15826
+ # Corresponds to the JSON property `rolloutInput`
15827
+ # @return [Google::Apis::ComputeAlpha::GlobalVmExtensionPolicyRolloutOperationRolloutInput]
15828
+ attr_accessor :rollout_input
15829
+
15830
+ # [Output Only] The rollout status of the policy.
15831
+ # Corresponds to the JSON property `rolloutStatus`
15832
+ # @return [Google::Apis::ComputeAlpha::GlobalVmExtensionPolicyRolloutOperationRolloutStatus]
15833
+ attr_accessor :rollout_status
15834
+
15835
+ def initialize(**args)
15836
+ update!(**args)
15837
+ end
15838
+
15839
+ # Update properties of this object
15840
+ def update!(**args)
15841
+ @rollout_input = args[:rollout_input] if args.key?(:rollout_input)
15842
+ @rollout_status = args[:rollout_status] if args.key?(:rollout_status)
15843
+ end
15844
+ end
15845
+
15846
+ #
15847
+ class GlobalVmExtensionPolicyRolloutOperationRolloutInput
15848
+ include Google::Apis::Core::Hashable
15849
+
15850
+ # Optional. [Optional] Specifies the behavior of the Rollout if a conflict is
15851
+ # detected in a project during a Rollout. It can be one of the following values:
15852
+ # 1) empty : don't overwrite the local value if conflict happens. This is the
15853
+ # default behavior. 2) "overwrite" : Overwrite the local value with the rollout
15854
+ # value. The concept of "conflict" applies to: 1) Insert action. If the zonal
15855
+ # policy already exists when Insert happens, it's a conflict. 2) Update action.
15856
+ # If the zonal policy was updated out of band by a zonal API, it's a conflict.
15857
+ # Corresponds to the JSON property `conflictBehavior`
15858
+ # @return [String]
15859
+ attr_accessor :conflict_behavior
15860
+
15861
+ # Optional. The name of the rollout plan. Ex. projects//locations/global/
15862
+ # rolloutPlans/.
15863
+ # Corresponds to the JSON property `name`
15864
+ # @return [String]
15865
+ attr_accessor :name
15866
+
15867
+ # Optional. Predefined rollout plan.
15868
+ # Corresponds to the JSON property `predefinedRolloutPlan`
15869
+ # @return [String]
15870
+ attr_accessor :predefined_rollout_plan
15871
+
15872
+ # Optional. The UUID of the retry action. Only set it if this is a retry for an
15873
+ # existing resource. This is for the user re-populate the resource without
15874
+ # changes. An error will be returned if the retry_uuid is set but the resource
15875
+ # get modified.
15876
+ # Corresponds to the JSON property `retryUuid`
15877
+ # @return [String]
15878
+ attr_accessor :retry_uuid
15879
+
15880
+ def initialize(**args)
15881
+ update!(**args)
15882
+ end
15883
+
15884
+ # Update properties of this object
15885
+ def update!(**args)
15886
+ @conflict_behavior = args[:conflict_behavior] if args.key?(:conflict_behavior)
15887
+ @name = args[:name] if args.key?(:name)
15888
+ @predefined_rollout_plan = args[:predefined_rollout_plan] if args.key?(:predefined_rollout_plan)
15889
+ @retry_uuid = args[:retry_uuid] if args.key?(:retry_uuid)
15890
+ end
15891
+ end
15892
+
15893
+ #
15894
+ class GlobalVmExtensionPolicyRolloutOperationRolloutStatus
15895
+ include Google::Apis::Core::Hashable
15896
+
15897
+ # [Output Only] The current rollouts for the latest version of the resource.
15898
+ # There should be only one current rollout, but for scalability, we make it
15899
+ # repeated.
15900
+ # Corresponds to the JSON property `currentRollouts`
15901
+ # @return [Array<Google::Apis::ComputeAlpha::GlobalVmExtensionPolicyRolloutOperationRolloutStatusRolloutMetadata>]
15902
+ attr_accessor :current_rollouts
15903
+
15904
+ # [Output Only] The last completed rollout resource. This field will not be
15905
+ # populated until the first rollout is completed.
15906
+ # Corresponds to the JSON property `previousRollout`
15907
+ # @return [Google::Apis::ComputeAlpha::GlobalVmExtensionPolicyRolloutOperationRolloutStatusRolloutMetadata]
15908
+ attr_accessor :previous_rollout
15909
+
15910
+ def initialize(**args)
15911
+ update!(**args)
15912
+ end
15913
+
15914
+ # Update properties of this object
15915
+ def update!(**args)
15916
+ @current_rollouts = args[:current_rollouts] if args.key?(:current_rollouts)
15917
+ @previous_rollout = args[:previous_rollout] if args.key?(:previous_rollout)
15918
+ end
15919
+ end
15920
+
15921
+ #
15922
+ class GlobalVmExtensionPolicyRolloutOperationRolloutStatusRolloutMetadata
15923
+ include Google::Apis::Core::Hashable
15924
+
15925
+ # [Output Only] The name of the rollout. Ex. projects//locations/global/rollouts/
15926
+ # .
15927
+ # Corresponds to the JSON property `rollout`
15928
+ # @return [String]
15929
+ attr_accessor :rollout
15930
+
15931
+ # [Output Only] The name of the rollout plan. Ex. projects//locations/global/
15932
+ # rolloutPlans/.
15933
+ # Corresponds to the JSON property `rolloutPlan`
15934
+ # @return [String]
15935
+ attr_accessor :rollout_plan
15936
+
15937
+ # [Output Only] The overall state of the rollout.
15938
+ # Corresponds to the JSON property `state`
15939
+ # @return [String]
15940
+ attr_accessor :state
15941
+
15942
+ def initialize(**args)
15943
+ update!(**args)
15944
+ end
15945
+
15946
+ # Update properties of this object
15947
+ def update!(**args)
15948
+ @rollout = args[:rollout] if args.key?(:rollout)
15949
+ @rollout_plan = args[:rollout_plan] if args.key?(:rollout_plan)
15950
+ @state = args[:state] if args.key?(:state)
15951
+ end
15952
+ end
15953
+
15954
+ # Maintenance Info for ReservationBlocks.
15955
+ class GroupMaintenanceInfo
15956
+ include Google::Apis::Core::Hashable
15957
+
15958
+ # Describes number of instances that have ongoing maintenance.
15959
+ # Corresponds to the JSON property `instanceMaintenanceOngoingCount`
15960
+ # @return [Fixnum]
15961
+ attr_accessor :instance_maintenance_ongoing_count
15962
+
15963
+ # Describes number of instances that have pending maintenance.
15964
+ # Corresponds to the JSON property `instanceMaintenancePendingCount`
15965
+ # @return [Fixnum]
15966
+ attr_accessor :instance_maintenance_pending_count
15967
+
15968
+ # Progress for ongoing maintenance for this group of VMs/hosts. Describes number
15969
+ # of hosts in the block that have ongoing maintenance.
15970
+ # Corresponds to the JSON property `maintenanceOngoingCount`
15971
+ # @return [Fixnum]
15972
+ attr_accessor :maintenance_ongoing_count
15973
+
15974
+ # Progress for ongoing maintenance for this group of VMs/hosts. Describes number
15975
+ # of hosts in the block that have pending maintenance.
15976
+ # Corresponds to the JSON property `maintenancePendingCount`
15977
+ # @return [Fixnum]
15978
+ attr_accessor :maintenance_pending_count
15979
+
15980
+ # The type of maintenance for the reservation.
15981
+ # Corresponds to the JSON property `schedulingType`
15982
+ # @return [String]
15983
+ attr_accessor :scheduling_type
15984
+
15985
+ # Describes number of subblock Infrastructure that has ongoing maintenance. Here,
15986
+ # Subblock Infrastructure Maintenance pertains to upstream hardware contained
15987
+ # in the Subblock that is necessary for a VM Family(e.g. NVLink Domains). Not
15988
+ # all VM Families will support this field.
15989
+ # Corresponds to the JSON property `subblockInfraMaintenanceOngoingCount`
15990
+ # @return [Fixnum]
15991
+ attr_accessor :subblock_infra_maintenance_ongoing_count
15992
+
15993
+ # Describes number of subblock Infrastructure that has pending maintenance. Here,
15994
+ # Subblock Infrastructure Maintenance pertains to upstream hardware contained
15995
+ # in the Subblock that is necessary for a VM Family (e.g. NVLink Domains). Not
15996
+ # all VM Families will support this field.
15997
+ # Corresponds to the JSON property `subblockInfraMaintenancePendingCount`
15998
+ # @return [Fixnum]
15999
+ attr_accessor :subblock_infra_maintenance_pending_count
16000
+
16001
+ # Upcoming Maintenance notification information.
16002
+ # Corresponds to the JSON property `upcomingGroupMaintenance`
16003
+ # @return [Google::Apis::ComputeAlpha::UpcomingMaintenance]
16004
+ attr_accessor :upcoming_group_maintenance
16005
+
16006
+ def initialize(**args)
16007
+ update!(**args)
16008
+ end
16009
+
16010
+ # Update properties of this object
16011
+ def update!(**args)
16012
+ @instance_maintenance_ongoing_count = args[:instance_maintenance_ongoing_count] if args.key?(:instance_maintenance_ongoing_count)
16013
+ @instance_maintenance_pending_count = args[:instance_maintenance_pending_count] if args.key?(:instance_maintenance_pending_count)
16014
+ @maintenance_ongoing_count = args[:maintenance_ongoing_count] if args.key?(:maintenance_ongoing_count)
16015
+ @maintenance_pending_count = args[:maintenance_pending_count] if args.key?(:maintenance_pending_count)
16016
+ @scheduling_type = args[:scheduling_type] if args.key?(:scheduling_type)
16017
+ @subblock_infra_maintenance_ongoing_count = args[:subblock_infra_maintenance_ongoing_count] if args.key?(:subblock_infra_maintenance_ongoing_count)
16018
+ @subblock_infra_maintenance_pending_count = args[:subblock_infra_maintenance_pending_count] if args.key?(:subblock_infra_maintenance_pending_count)
16019
+ @upcoming_group_maintenance = args[:upcoming_group_maintenance] if args.key?(:upcoming_group_maintenance)
16020
+ end
16021
+ end
16022
+
16023
+ # [Deprecated] gRPC config to access the SDS server. gRPC config to access the
16024
+ # SDS server.
16025
+ class GrpcServiceConfig
16026
+ include Google::Apis::Core::Hashable
16027
+
16028
+ # [Deprecated] gRPC call credentials to access the SDS server. gRPC call
16029
+ # credentials to access the SDS server.
16030
+ # Corresponds to the JSON property `callCredentials`
16031
+ # @return [Google::Apis::ComputeAlpha::CallCredentials]
16032
+ attr_accessor :call_credentials
16033
+
16034
+ # [Deprecated] gRPC channel credentials to access the SDS server. gRPC channel
16035
+ # credentials to access the SDS server.
16036
+ # Corresponds to the JSON property `channelCredentials`
16037
+ # @return [Google::Apis::ComputeAlpha::ChannelCredentials]
16038
+ attr_accessor :channel_credentials
16039
+
16040
+ # The target URI of the SDS server.
16041
+ # Corresponds to the JSON property `targetUri`
16042
+ # @return [String]
16043
+ attr_accessor :target_uri
16044
+
16045
+ def initialize(**args)
16046
+ update!(**args)
16047
+ end
16048
+
16049
+ # Update properties of this object
16050
+ def update!(**args)
16051
+ @call_credentials = args[:call_credentials] if args.key?(:call_credentials)
16052
+ @channel_credentials = args[:channel_credentials] if args.key?(:channel_credentials)
16053
+ @target_uri = args[:target_uri] if args.key?(:target_uri)
16054
+ end
16055
+ end
16056
+
16057
+ # A guest attributes entry.
16058
+ class GuestAttributes
16059
+ include Google::Apis::Core::Hashable
16060
+
16061
+ # [Output Only] Type of the resource. Always compute#guestAttributes for guest
16062
+ # attributes entry.
16063
+ # Corresponds to the JSON property `kind`
16064
+ # @return [String]
16065
+ attr_accessor :kind
16066
+
16067
+ # The path to be queried. This can be the default namespace ('') or a nested
16068
+ # namespace ('\/') or a specified key ('\/\').
16069
+ # Corresponds to the JSON property `queryPath`
16070
+ # @return [String]
16071
+ attr_accessor :query_path
16072
+
16073
+ # Array of guest attribute namespace/key/value tuples.
16074
+ # Corresponds to the JSON property `queryValue`
16075
+ # @return [Google::Apis::ComputeAlpha::GuestAttributesValue]
16076
+ attr_accessor :query_value
16077
+
16078
+ # [Output Only] Server-defined URL for this resource.
16079
+ # Corresponds to the JSON property `selfLink`
16080
+ # @return [String]
16081
+ attr_accessor :self_link
16082
+
16083
+ # The key to search for.
16084
+ # Corresponds to the JSON property `variableKey`
16085
+ # @return [String]
16086
+ attr_accessor :variable_key
16087
+
16088
+ # [Output Only] The value found for the requested key.
16089
+ # Corresponds to the JSON property `variableValue`
16090
+ # @return [String]
16091
+ attr_accessor :variable_value
16092
+
16093
+ def initialize(**args)
16094
+ update!(**args)
16095
+ end
16096
+
16097
+ # Update properties of this object
16098
+ def update!(**args)
16099
+ @kind = args[:kind] if args.key?(:kind)
16100
+ @query_path = args[:query_path] if args.key?(:query_path)
16101
+ @query_value = args[:query_value] if args.key?(:query_value)
16102
+ @self_link = args[:self_link] if args.key?(:self_link)
16103
+ @variable_key = args[:variable_key] if args.key?(:variable_key)
16104
+ @variable_value = args[:variable_value] if args.key?(:variable_value)
16105
+ end
16106
+ end
16107
+
16108
+ # A guest attributes namespace/key/value entry.
16109
+ class GuestAttributesEntry
16110
+ include Google::Apis::Core::Hashable
16111
+
16112
+ # Key for the guest attribute entry.
16113
+ # Corresponds to the JSON property `key`
16114
+ # @return [String]
16115
+ attr_accessor :key
16116
+
16117
+ # Namespace for the guest attribute entry.
16118
+ # Corresponds to the JSON property `namespace`
16119
+ # @return [String]
16120
+ attr_accessor :namespace
16121
+
16122
+ # Value for the guest attribute entry.
16123
+ # Corresponds to the JSON property `value`
16124
+ # @return [String]
16125
+ attr_accessor :value
16126
+
16127
+ def initialize(**args)
16128
+ update!(**args)
16129
+ end
16130
+
16131
+ # Update properties of this object
16132
+ def update!(**args)
16133
+ @key = args[:key] if args.key?(:key)
16134
+ @namespace = args[:namespace] if args.key?(:namespace)
16135
+ @value = args[:value] if args.key?(:value)
16136
+ end
16137
+ end
16138
+
16139
+ # Array of guest attribute namespace/key/value tuples.
16140
+ class GuestAttributesValue
16141
+ include Google::Apis::Core::Hashable
16142
+
16143
+ #
16144
+ # Corresponds to the JSON property `items`
16145
+ # @return [Array<Google::Apis::ComputeAlpha::GuestAttributesEntry>]
16146
+ attr_accessor :items
16147
+
16148
+ def initialize(**args)
16149
+ update!(**args)
16150
+ end
16151
+
16152
+ # Update properties of this object
16153
+ def update!(**args)
16154
+ @items = args[:items] if args.key?(:items)
16155
+ end
16156
+ end
16157
+
16158
+ # Guest OS features.
16159
+ class GuestOsFeature
16160
+ include Google::Apis::Core::Hashable
16161
+
16162
+ # The ID of a supported feature. To add multiple values, use commas to separate
16163
+ # values. Set to one or more of the following values: - VIRTIO_SCSI_MULTIQUEUE -
16164
+ # WINDOWS - MULTI_IP_SUBNET - UEFI_COMPATIBLE - GVNIC - SEV_CAPABLE -
16165
+ # SUSPEND_RESUME_COMPATIBLE - SEV_LIVE_MIGRATABLE_V2 - SEV_SNP_CAPABLE -
16166
+ # TDX_CAPABLE - IDPF - SNP_SVSM_CAPABLE For more information, see Enabling guest
16167
+ # operating system features.
16168
+ # Corresponds to the JSON property `type`
16169
+ # @return [String]
16170
+ attr_accessor :type
16171
+
16172
+ def initialize(**args)
16173
+ update!(**args)
16174
+ end
16175
+
16176
+ # Update properties of this object
16177
+ def update!(**args)
16178
+ @type = args[:type] if args.key?(:type)
16179
+ end
16180
+ end
16181
+
16182
+ #
16183
+ class Http2HealthCheck
16184
+ include Google::Apis::Core::Hashable
16185
+
16186
+ # The value of the host header in the HTTP/2 health check request. If left empty
16187
+ # (default value), the host header is set to the destination IP address to which
16188
+ # health check packets are sent. The destination IP address depends on the type
16189
+ # of load balancer. For details, see: https://cloud.google.com/load-balancing/
16190
+ # docs/health-check-concepts#hc-packet-dest
16191
+ # Corresponds to the JSON property `host`
16192
+ # @return [String]
16193
+ attr_accessor :host
16194
+
16195
+ # The TCP port number to which the health check prober sends packets. The
16196
+ # default value is 443. Valid values are 1 through 65535.
16197
+ # Corresponds to the JSON property `port`
16198
+ # @return [Fixnum]
16199
+ attr_accessor :port
16200
+
16201
+ # Not supported.
16202
+ # Corresponds to the JSON property `portName`
16203
+ # @return [String]
16204
+ attr_accessor :port_name
16205
+
16206
+ # Specifies how a port is selected for health checking. Can be one of the
16207
+ # following values: USE_FIXED_PORT: Specifies a port number explicitly using the
16208
+ # port field in the health check. Supported by backend services for passthrough
16209
+ # load balancers and backend services for proxy load balancers. Not supported by
16210
+ # target pools. The health check supports all backends supported by the backend
16211
+ # service provided the backend can be health checked. For example, GCE_VM_IP
16212
+ # network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance
16213
+ # group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an
16214
+ # indirect method of specifying the health check port by referring to the
16215
+ # backend service. Only supported by backend services for proxy load balancers.
16216
+ # Not supported by target pools. Not supported by backend services for
16217
+ # passthrough load balancers. Supports all backends that can be health checked;
16218
+ # for example, GCE_VM_IP_PORT network endpoint groups and instance group
16219
+ # backends. For GCE_VM_IP_PORT network endpoint group backends, the health check
16220
+ # uses the port number specified for each endpoint in the network endpoint group.
16221
+ # For instance group backends, the health check uses the port number determined
16222
+ # by looking up the backend service's named port in the instance group's list of
16223
+ # named ports.
16224
+ # Corresponds to the JSON property `portSpecification`
16225
+ # @return [String]
16226
+ attr_accessor :port_specification
16227
+
16228
+ # Specifies the type of proxy header to append before sending data to the
16229
+ # backend, either NONE or PROXY_V1. The default is NONE.
16230
+ # Corresponds to the JSON property `proxyHeader`
16231
+ # @return [String]
16232
+ attr_accessor :proxy_header
16233
+
16234
+ # The request path of the HTTP/2 health check request. The default value is /.
16235
+ # Must comply with RFC3986.
16236
+ # Corresponds to the JSON property `requestPath`
16237
+ # @return [String]
16238
+ attr_accessor :request_path
16239
+
16240
+ # Creates a content-based HTTP/2 health check. In addition to the required HTTP
16241
+ # 200 (OK) status code, you can configure the health check to pass only when the
16242
+ # backend sends this specific ASCII response string within the first 1024 bytes
16243
+ # of the HTTP response body. For details, see: https://cloud.google.com/load-
16244
+ # balancing/docs/health-check-concepts#criteria-protocol-http
16245
+ # Corresponds to the JSON property `response`
16246
+ # @return [String]
16247
+ attr_accessor :response
16248
+
16249
+ # Weight report mode. used for weighted Load Balancing.
16250
+ # Corresponds to the JSON property `weightReportMode`
16251
+ # @return [String]
16252
+ attr_accessor :weight_report_mode
16253
+
16254
+ def initialize(**args)
16255
+ update!(**args)
16256
+ end
16257
+
16258
+ # Update properties of this object
16259
+ def update!(**args)
16260
+ @host = args[:host] if args.key?(:host)
16261
+ @port = args[:port] if args.key?(:port)
16262
+ @port_name = args[:port_name] if args.key?(:port_name)
16263
+ @port_specification = args[:port_specification] if args.key?(:port_specification)
16264
+ @proxy_header = args[:proxy_header] if args.key?(:proxy_header)
16265
+ @request_path = args[:request_path] if args.key?(:request_path)
16266
+ @response = args[:response] if args.key?(:response)
15607
16267
  @weight_report_mode = args[:weight_report_mode] if args.key?(:weight_report_mode)
15608
16268
  end
15609
16269
  end
@@ -15790,6 +16450,12 @@ module Google
15790
16450
  class HaController
15791
16451
  include Google::Apis::Core::Hashable
15792
16452
 
16453
+ # Advanced configuration option. If specified, these Backend Services need to be
16454
+ # pre-created and configured as managed.
16455
+ # Corresponds to the JSON property `backendServices`
16456
+ # @return [Array<String>]
16457
+ attr_accessor :backend_services
16458
+
15793
16459
  # [Output Only] Creation timestamp in RFC3339 text format.
15794
16460
  # Corresponds to the JSON property `creationTimestamp`
15795
16461
  # @return [String]
@@ -15839,6 +16505,12 @@ module Google
15839
16505
  # @return [String]
15840
16506
  attr_accessor :name
15841
16507
 
16508
+ # Basic networking configuration. Required backend services and forwarding rules
16509
+ # will be automatically created with default parameters.
16510
+ # Corresponds to the JSON property `networkingAutoConfiguration`
16511
+ # @return [Google::Apis::ComputeAlpha::HaControllerNetworkingAutoConfiguration]
16512
+ attr_accessor :networking_auto_configuration
16513
+
15842
16514
  # [Output Only] URL of the region where the resource resides. You must specify
15843
16515
  # this field as part of the HTTP request URL. It is not settable as a field in
15844
16516
  # the request body.
@@ -15877,6 +16549,7 @@ module Google
15877
16549
 
15878
16550
  # Update properties of this object
15879
16551
  def update!(**args)
16552
+ @backend_services = args[:backend_services] if args.key?(:backend_services)
15880
16553
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
15881
16554
  @description = args[:description] if args.key?(:description)
15882
16555
  @failover_initiation = args[:failover_initiation] if args.key?(:failover_initiation)
@@ -15884,6 +16557,7 @@ module Google
15884
16557
  @instance_name = args[:instance_name] if args.key?(:instance_name)
15885
16558
  @kind = args[:kind] if args.key?(:kind)
15886
16559
  @name = args[:name] if args.key?(:name)
16560
+ @networking_auto_configuration = args[:networking_auto_configuration] if args.key?(:networking_auto_configuration)
15887
16561
  @region = args[:region] if args.key?(:region)
15888
16562
  @secondary_zone_capacity = args[:secondary_zone_capacity] if args.key?(:secondary_zone_capacity)
15889
16563
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -15893,37 +16567,95 @@ module Google
15893
16567
  end
15894
16568
  end
15895
16569
 
15896
- # Contains information about current status of the HaController.
15897
- class HaControllerStatus
16570
+ # Basic networking configuration. Required backend services and forwarding rules
16571
+ # will be automatically created with default parameters.
16572
+ class HaControllerNetworkingAutoConfiguration
15898
16573
  include Google::Apis::Core::Hashable
15899
16574
 
15900
- # Contains information about the current failover operation.
15901
- # Corresponds to the JSON property `failoverProgress`
15902
- # @return [Google::Apis::ComputeAlpha::HaControllerStatusFailoverProgress]
15903
- attr_accessor :failover_progress
16575
+ # Internal networking configuration
16576
+ # Corresponds to the JSON property `internal`
16577
+ # @return [Google::Apis::ComputeAlpha::HaControllerNetworkingAutoConfigurationInternal]
16578
+ attr_accessor :internal
15904
16579
 
15905
- # [Output Only] Indicates if the failover is currently in-progress.
15906
- # Corresponds to the JSON property `ongoingFailover`
15907
- # @return [Boolean]
15908
- attr_accessor :ongoing_failover
15909
- alias_method :ongoing_failover?, :ongoing_failover
16580
+ def initialize(**args)
16581
+ update!(**args)
16582
+ end
15910
16583
 
15911
- # [Output Only] The URL to the instance that is intended to be primary at this
15912
- # moment. Primary instance will be changed at the very beginning of a failover
15913
- # operation.
15914
- # Corresponds to the JSON property `primaryInstance`
15915
- # @return [String]
15916
- attr_accessor :primary_instance
16584
+ # Update properties of this object
16585
+ def update!(**args)
16586
+ @internal = args[:internal] if args.key?(:internal)
16587
+ end
16588
+ end
15917
16589
 
15918
- # [Output Only] The name of the zone that is intended to be primary at this
15919
- # moment. Primary zone will be changed at the very beginning of a failover
15920
- # operation. The zone may not be operational in the middle of a failover
15921
- # operation.
15922
- # Corresponds to the JSON property `primaryZone`
16590
+ # Internal networking configuration
16591
+ class HaControllerNetworkingAutoConfigurationInternal
16592
+ include Google::Apis::Core::Hashable
16593
+
16594
+ # Optional. IP addresses will be automatically allocated according to StackType
16595
+ # if not provided.
16596
+ # Corresponds to the JSON property `ipAddress`
15923
16597
  # @return [String]
15924
- attr_accessor :primary_zone
16598
+ attr_accessor :ip_address
15925
16599
 
15926
- # [Output Only] Indicates if the resource is ready for initiating a failover to
16600
+ #
16601
+ # Corresponds to the JSON property `ipv6Address`
16602
+ # @return [String]
16603
+ attr_accessor :ipv6_address
16604
+
16605
+ # Determine which IP addresses to automatically create. Field and option naming
16606
+ # consistent with NetworkInterface configuration on Instances.
16607
+ # Corresponds to the JSON property `stackType`
16608
+ # @return [String]
16609
+ attr_accessor :stack_type
16610
+
16611
+ def initialize(**args)
16612
+ update!(**args)
16613
+ end
16614
+
16615
+ # Update properties of this object
16616
+ def update!(**args)
16617
+ @ip_address = args[:ip_address] if args.key?(:ip_address)
16618
+ @ipv6_address = args[:ipv6_address] if args.key?(:ipv6_address)
16619
+ @stack_type = args[:stack_type] if args.key?(:stack_type)
16620
+ end
16621
+ end
16622
+
16623
+ # Contains information about current status of the HaController.
16624
+ class HaControllerStatus
16625
+ include Google::Apis::Core::Hashable
16626
+
16627
+ # Contains information about the current failover operation.
16628
+ # Corresponds to the JSON property `failoverProgress`
16629
+ # @return [Google::Apis::ComputeAlpha::HaControllerStatusFailoverProgress]
16630
+ attr_accessor :failover_progress
16631
+
16632
+ # Contains information about the current failover operation.
16633
+ # Corresponds to the JSON property `lastFailoverInfo`
16634
+ # @return [Google::Apis::ComputeAlpha::HaControllerStatusFailoverProgress]
16635
+ attr_accessor :last_failover_info
16636
+
16637
+ # [Output Only] Indicates if the failover is currently in-progress.
16638
+ # Corresponds to the JSON property `ongoingFailover`
16639
+ # @return [Boolean]
16640
+ attr_accessor :ongoing_failover
16641
+ alias_method :ongoing_failover?, :ongoing_failover
16642
+
16643
+ # [Output Only] The URL to the instance that is intended to be primary at this
16644
+ # moment. Primary instance will be changed at the very beginning of a failover
16645
+ # operation.
16646
+ # Corresponds to the JSON property `primaryInstance`
16647
+ # @return [String]
16648
+ attr_accessor :primary_instance
16649
+
16650
+ # [Output Only] The name of the zone that is intended to be primary at this
16651
+ # moment. Primary zone will be changed at the very beginning of a failover
16652
+ # operation. The zone may not be operational in the middle of a failover
16653
+ # operation.
16654
+ # Corresponds to the JSON property `primaryZone`
16655
+ # @return [String]
16656
+ attr_accessor :primary_zone
16657
+
16658
+ # [Output Only] Indicates if the resource is ready for initiating a failover to
15927
16659
  # the secondary zone.
15928
16660
  # Corresponds to the JSON property `readyForFailover`
15929
16661
  # @return [Boolean]
@@ -15942,6 +16674,7 @@ module Google
15942
16674
  # Update properties of this object
15943
16675
  def update!(**args)
15944
16676
  @failover_progress = args[:failover_progress] if args.key?(:failover_progress)
16677
+ @last_failover_info = args[:last_failover_info] if args.key?(:last_failover_info)
15945
16678
  @ongoing_failover = args[:ongoing_failover] if args.key?(:ongoing_failover)
15946
16679
  @primary_instance = args[:primary_instance] if args.key?(:primary_instance)
15947
16680
  @primary_zone = args[:primary_zone] if args.key?(:primary_zone)
@@ -15954,6 +16687,12 @@ module Google
15954
16687
  class HaControllerStatusFailoverProgress
15955
16688
  include Google::Apis::Core::Hashable
15956
16689
 
16690
+ # [Output Only] Timestamp of the failover completion. Filled only if the
16691
+ # failover is completed, in lastFailoverInfo.
16692
+ # Corresponds to the JSON property `failoverCompleteTimestamp`
16693
+ # @return [String]
16694
+ attr_accessor :failover_complete_timestamp
16695
+
15957
16696
  # [Output Only] Indicates if failover has been triggered automatically or
15958
16697
  # manually.
15959
16698
  # Corresponds to the JSON property `failoverTrigger`
@@ -15977,6 +16716,7 @@ module Google
15977
16716
 
15978
16717
  # Update properties of this object
15979
16718
  def update!(**args)
16719
+ @failover_complete_timestamp = args[:failover_complete_timestamp] if args.key?(:failover_complete_timestamp)
15980
16720
  @failover_trigger = args[:failover_trigger] if args.key?(:failover_trigger)
15981
16721
  @failover_trigger_timestamp = args[:failover_trigger_timestamp] if args.key?(:failover_trigger_timestamp)
15982
16722
  @last_failover_attempt = args[:last_failover_attempt] if args.key?(:last_failover_attempt)
@@ -23761,6 +24501,50 @@ module Google
23761
24501
  end
23762
24502
  end
23763
24503
 
24504
+ #
24505
+ class InstanceGroupManagersGetAvailableAcceleratorTopologiesResponse
24506
+ include Google::Apis::Core::Hashable
24507
+
24508
+ # The accelerator topology information returned per id of the topology location.
24509
+ # Corresponds to the JSON property `acceleratorTopologiesInfo`
24510
+ # @return [Hash<String,Google::Apis::ComputeAlpha::InstanceGroupManagersGetAvailableAcceleratorTopologiesResponseAcceleratorTopologyInfo>]
24511
+ attr_accessor :accelerator_topologies_info
24512
+
24513
+ def initialize(**args)
24514
+ update!(**args)
24515
+ end
24516
+
24517
+ # Update properties of this object
24518
+ def update!(**args)
24519
+ @accelerator_topologies_info = args[:accelerator_topologies_info] if args.key?(:accelerator_topologies_info)
24520
+ end
24521
+ end
24522
+
24523
+ #
24524
+ class InstanceGroupManagersGetAvailableAcceleratorTopologiesResponseAcceleratorTopologyInfo
24525
+ include Google::Apis::Core::Hashable
24526
+
24527
+ # Topology in the format of: "16x16", "4x4x4", etc.
24528
+ # Corresponds to the JSON property `acceleratorTopology`
24529
+ # @return [String]
24530
+ attr_accessor :accelerator_topology
24531
+
24532
+ #
24533
+ # Corresponds to the JSON property `acceleratorTopologyHealth`
24534
+ # @return [String]
24535
+ attr_accessor :accelerator_topology_health
24536
+
24537
+ def initialize(**args)
24538
+ update!(**args)
24539
+ end
24540
+
24541
+ # Update properties of this object
24542
+ def update!(**args)
24543
+ @accelerator_topology = args[:accelerator_topology] if args.key?(:accelerator_topology)
24544
+ @accelerator_topology_health = args[:accelerator_topology_health] if args.key?(:accelerator_topology_health)
24545
+ end
24546
+ end
24547
+
23764
24548
  #
23765
24549
  class InstanceGroupManagersListErrorsResponse
23766
24550
  include Google::Apis::Core::Hashable
@@ -29031,9 +29815,7 @@ module Google
29031
29815
  # @return [String]
29032
29816
  attr_accessor :is_active
29033
29817
 
29034
- # Whether this Attachment is active, and if so, whether BGP is up. This is based
29035
- # on the statuses available in the Pantheon UI here: http://google3/java/com/
29036
- # google/cloud/boq/clientapi/gce/hybrid/api/interconnect_models.proto
29818
+ # Whether this Attachment is active, and if so, whether BGP is up.
29037
29819
  # Corresponds to the JSON property `status`
29038
29820
  # @return [String]
29039
29821
  attr_accessor :status
@@ -31248,6 +32030,13 @@ module Google
31248
32030
  # @return [Fixnum]
31249
32031
  attr_accessor :max_lag_size10_gbps
31250
32032
 
32033
+ # [Output Only] The maximum number of 400 Gbps ports supported in a link
32034
+ # aggregation group (LAG). When linkType is 400 Gbps, requestedLinkCount cannot
32035
+ # exceed max_lag_size_400_gbps.
32036
+ # Corresponds to the JSON property `maxLagSize400Gbps`
32037
+ # @return [Fixnum]
32038
+ attr_accessor :max_lag_size400_gbps
32039
+
31251
32040
  # [Output Only] Name of the resource.
31252
32041
  # Corresponds to the JSON property `name`
31253
32042
  # @return [String]
@@ -31309,6 +32098,7 @@ module Google
31309
32098
  @lacp = args[:lacp] if args.key?(:lacp)
31310
32099
  @max_lag_size100_gbps = args[:max_lag_size100_gbps] if args.key?(:max_lag_size100_gbps)
31311
32100
  @max_lag_size10_gbps = args[:max_lag_size10_gbps] if args.key?(:max_lag_size10_gbps)
32101
+ @max_lag_size400_gbps = args[:max_lag_size400_gbps] if args.key?(:max_lag_size400_gbps)
31312
32102
  @name = args[:name] if args.key?(:name)
31313
32103
  @peeringdb_facility_id = args[:peeringdb_facility_id] if args.key?(:peeringdb_facility_id)
31314
32104
  @permitted_connections = args[:permitted_connections] if args.key?(:permitted_connections)
@@ -36997,44 +37787,1001 @@ module Google
36997
37787
 
36998
37788
  # Update properties of this object
36999
37789
  def update!(**args)
37000
- @network_endpoint = args[:network_endpoint] if args.key?(:network_endpoint)
37790
+ @network_endpoint = args[:network_endpoint] if args.key?(:network_endpoint)
37791
+ end
37792
+ end
37793
+
37794
+ #
37795
+ class NetworkEndpointGroupsListNetworkEndpoints
37796
+ include Google::Apis::Core::Hashable
37797
+
37798
+ # [Output Only] Unique identifier for the resource; defined by the server.
37799
+ # Corresponds to the JSON property `id`
37800
+ # @return [String]
37801
+ attr_accessor :id
37802
+
37803
+ # A list of NetworkEndpointWithHealthStatus resources.
37804
+ # Corresponds to the JSON property `items`
37805
+ # @return [Array<Google::Apis::ComputeAlpha::NetworkEndpointWithHealthStatus>]
37806
+ attr_accessor :items
37807
+
37808
+ # [Output Only] The resource type, which is always compute#
37809
+ # networkEndpointGroupsListNetworkEndpoints for the list of network endpoints in
37810
+ # the specified network endpoint group.
37811
+ # Corresponds to the JSON property `kind`
37812
+ # @return [String]
37813
+ attr_accessor :kind
37814
+
37815
+ # [Output Only] This token allows you to get the next page of results for list
37816
+ # requests. If the number of results is larger than maxResults, use the
37817
+ # nextPageToken as a value for the query parameter pageToken in the next list
37818
+ # request. Subsequent list requests will have their own nextPageToken to
37819
+ # continue paging through the results.
37820
+ # Corresponds to the JSON property `nextPageToken`
37821
+ # @return [String]
37822
+ attr_accessor :next_page_token
37823
+
37824
+ # [Output Only] Informational warning message.
37825
+ # Corresponds to the JSON property `warning`
37826
+ # @return [Google::Apis::ComputeAlpha::NetworkEndpointGroupsListNetworkEndpoints::Warning]
37827
+ attr_accessor :warning
37828
+
37829
+ def initialize(**args)
37830
+ update!(**args)
37831
+ end
37832
+
37833
+ # Update properties of this object
37834
+ def update!(**args)
37835
+ @id = args[:id] if args.key?(:id)
37836
+ @items = args[:items] if args.key?(:items)
37837
+ @kind = args[:kind] if args.key?(:kind)
37838
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
37839
+ @warning = args[:warning] if args.key?(:warning)
37840
+ end
37841
+
37842
+ # [Output Only] Informational warning message.
37843
+ class Warning
37844
+ include Google::Apis::Core::Hashable
37845
+
37846
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
37847
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
37848
+ # Corresponds to the JSON property `code`
37849
+ # @return [String]
37850
+ attr_accessor :code
37851
+
37852
+ # [Output Only] Metadata about this warning in key: value format. For example: "
37853
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
37854
+ # Corresponds to the JSON property `data`
37855
+ # @return [Array<Google::Apis::ComputeAlpha::NetworkEndpointGroupsListNetworkEndpoints::Warning::Datum>]
37856
+ attr_accessor :data
37857
+
37858
+ # [Output Only] A human-readable description of the warning code.
37859
+ # Corresponds to the JSON property `message`
37860
+ # @return [String]
37861
+ attr_accessor :message
37862
+
37863
+ def initialize(**args)
37864
+ update!(**args)
37865
+ end
37866
+
37867
+ # Update properties of this object
37868
+ def update!(**args)
37869
+ @code = args[:code] if args.key?(:code)
37870
+ @data = args[:data] if args.key?(:data)
37871
+ @message = args[:message] if args.key?(:message)
37872
+ end
37873
+
37874
+ #
37875
+ class Datum
37876
+ include Google::Apis::Core::Hashable
37877
+
37878
+ # [Output Only] A key that provides more detail on the warning being returned.
37879
+ # For example, for warnings where there are no results in a list request for a
37880
+ # particular zone, this key might be scope and the key value might be the zone
37881
+ # name. Other examples might be a key indicating a deprecated resource and a
37882
+ # suggested replacement, or a warning about invalid network settings (for
37883
+ # example, if an instance attempts to perform IP forwarding but is not enabled
37884
+ # for IP forwarding).
37885
+ # Corresponds to the JSON property `key`
37886
+ # @return [String]
37887
+ attr_accessor :key
37888
+
37889
+ # [Output Only] A warning data value corresponding to the key.
37890
+ # Corresponds to the JSON property `value`
37891
+ # @return [String]
37892
+ attr_accessor :value
37893
+
37894
+ def initialize(**args)
37895
+ update!(**args)
37896
+ end
37897
+
37898
+ # Update properties of this object
37899
+ def update!(**args)
37900
+ @key = args[:key] if args.key?(:key)
37901
+ @value = args[:value] if args.key?(:value)
37902
+ end
37903
+ end
37904
+ end
37905
+ end
37906
+
37907
+ #
37908
+ class NetworkEndpointGroupsScopedList
37909
+ include Google::Apis::Core::Hashable
37910
+
37911
+ # [Output Only] The list of network endpoint groups that are contained in this
37912
+ # scope.
37913
+ # Corresponds to the JSON property `networkEndpointGroups`
37914
+ # @return [Array<Google::Apis::ComputeAlpha::NetworkEndpointGroup>]
37915
+ attr_accessor :network_endpoint_groups
37916
+
37917
+ # [Output Only] An informational warning that replaces the list of network
37918
+ # endpoint groups when the list is empty.
37919
+ # Corresponds to the JSON property `warning`
37920
+ # @return [Google::Apis::ComputeAlpha::NetworkEndpointGroupsScopedList::Warning]
37921
+ attr_accessor :warning
37922
+
37923
+ def initialize(**args)
37924
+ update!(**args)
37925
+ end
37926
+
37927
+ # Update properties of this object
37928
+ def update!(**args)
37929
+ @network_endpoint_groups = args[:network_endpoint_groups] if args.key?(:network_endpoint_groups)
37930
+ @warning = args[:warning] if args.key?(:warning)
37931
+ end
37932
+
37933
+ # [Output Only] An informational warning that replaces the list of network
37934
+ # endpoint groups when the list is empty.
37935
+ class Warning
37936
+ include Google::Apis::Core::Hashable
37937
+
37938
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
37939
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
37940
+ # Corresponds to the JSON property `code`
37941
+ # @return [String]
37942
+ attr_accessor :code
37943
+
37944
+ # [Output Only] Metadata about this warning in key: value format. For example: "
37945
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
37946
+ # Corresponds to the JSON property `data`
37947
+ # @return [Array<Google::Apis::ComputeAlpha::NetworkEndpointGroupsScopedList::Warning::Datum>]
37948
+ attr_accessor :data
37949
+
37950
+ # [Output Only] A human-readable description of the warning code.
37951
+ # Corresponds to the JSON property `message`
37952
+ # @return [String]
37953
+ attr_accessor :message
37954
+
37955
+ def initialize(**args)
37956
+ update!(**args)
37957
+ end
37958
+
37959
+ # Update properties of this object
37960
+ def update!(**args)
37961
+ @code = args[:code] if args.key?(:code)
37962
+ @data = args[:data] if args.key?(:data)
37963
+ @message = args[:message] if args.key?(:message)
37964
+ end
37965
+
37966
+ #
37967
+ class Datum
37968
+ include Google::Apis::Core::Hashable
37969
+
37970
+ # [Output Only] A key that provides more detail on the warning being returned.
37971
+ # For example, for warnings where there are no results in a list request for a
37972
+ # particular zone, this key might be scope and the key value might be the zone
37973
+ # name. Other examples might be a key indicating a deprecated resource and a
37974
+ # suggested replacement, or a warning about invalid network settings (for
37975
+ # example, if an instance attempts to perform IP forwarding but is not enabled
37976
+ # for IP forwarding).
37977
+ # Corresponds to the JSON property `key`
37978
+ # @return [String]
37979
+ attr_accessor :key
37980
+
37981
+ # [Output Only] A warning data value corresponding to the key.
37982
+ # Corresponds to the JSON property `value`
37983
+ # @return [String]
37984
+ attr_accessor :value
37985
+
37986
+ def initialize(**args)
37987
+ update!(**args)
37988
+ end
37989
+
37990
+ # Update properties of this object
37991
+ def update!(**args)
37992
+ @key = args[:key] if args.key?(:key)
37993
+ @value = args[:value] if args.key?(:value)
37994
+ end
37995
+ end
37996
+ end
37997
+ end
37998
+
37999
+ #
38000
+ class NetworkEndpointWithHealthStatus
38001
+ include Google::Apis::Core::Hashable
38002
+
38003
+ # [Output only] The health status of network endpoint. Optional. Displayed only
38004
+ # if the network endpoint has centralized health checking configured.
38005
+ # Corresponds to the JSON property `healths`
38006
+ # @return [Array<Google::Apis::ComputeAlpha::HealthStatusForNetworkEndpoint>]
38007
+ attr_accessor :healths
38008
+
38009
+ # The network endpoint.
38010
+ # Corresponds to the JSON property `networkEndpoint`
38011
+ # @return [Google::Apis::ComputeAlpha::NetworkEndpoint]
38012
+ attr_accessor :network_endpoint
38013
+
38014
+ def initialize(**args)
38015
+ update!(**args)
38016
+ end
38017
+
38018
+ # Update properties of this object
38019
+ def update!(**args)
38020
+ @healths = args[:healths] if args.key?(:healths)
38021
+ @network_endpoint = args[:network_endpoint] if args.key?(:network_endpoint)
38022
+ end
38023
+ end
38024
+
38025
+ #
38026
+ class NetworkFirewallPolicyAggregatedList
38027
+ include Google::Apis::Core::Hashable
38028
+
38029
+ # [Output Only] Unique identifier for the resource; defined by the server.
38030
+ # Corresponds to the JSON property `id`
38031
+ # @return [String]
38032
+ attr_accessor :id
38033
+
38034
+ # A list of FirewallPoliciesScopedList resources.
38035
+ # Corresponds to the JSON property `items`
38036
+ # @return [Hash<String,Google::Apis::ComputeAlpha::FirewallPoliciesScopedList>]
38037
+ attr_accessor :items
38038
+
38039
+ # [Output Only] Type of resource. Always compute#
38040
+ # networkFirewallPoliciesAggregatedList for lists of network firewall policies.
38041
+ # Corresponds to the JSON property `kind`
38042
+ # @return [String]
38043
+ attr_accessor :kind
38044
+
38045
+ # [Output Only] This token allows you to get the next page of results for list
38046
+ # requests. If the number of results is larger than maxResults, use the
38047
+ # nextPageToken as a value for the query parameter pageToken in the next list
38048
+ # request. Subsequent list requests will have their own nextPageToken to
38049
+ # continue paging through the results.
38050
+ # Corresponds to the JSON property `nextPageToken`
38051
+ # @return [String]
38052
+ attr_accessor :next_page_token
38053
+
38054
+ # [Output Only] Server-defined URL for this resource.
38055
+ # Corresponds to the JSON property `selfLink`
38056
+ # @return [String]
38057
+ attr_accessor :self_link
38058
+
38059
+ # [Output Only] Unreachable resources.
38060
+ # Corresponds to the JSON property `unreachables`
38061
+ # @return [Array<String>]
38062
+ attr_accessor :unreachables
38063
+
38064
+ # [Output Only] Informational warning message.
38065
+ # Corresponds to the JSON property `warning`
38066
+ # @return [Google::Apis::ComputeAlpha::NetworkFirewallPolicyAggregatedList::Warning]
38067
+ attr_accessor :warning
38068
+
38069
+ def initialize(**args)
38070
+ update!(**args)
38071
+ end
38072
+
38073
+ # Update properties of this object
38074
+ def update!(**args)
38075
+ @id = args[:id] if args.key?(:id)
38076
+ @items = args[:items] if args.key?(:items)
38077
+ @kind = args[:kind] if args.key?(:kind)
38078
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
38079
+ @self_link = args[:self_link] if args.key?(:self_link)
38080
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
38081
+ @warning = args[:warning] if args.key?(:warning)
38082
+ end
38083
+
38084
+ # [Output Only] Informational warning message.
38085
+ class Warning
38086
+ include Google::Apis::Core::Hashable
38087
+
38088
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
38089
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
38090
+ # Corresponds to the JSON property `code`
38091
+ # @return [String]
38092
+ attr_accessor :code
38093
+
38094
+ # [Output Only] Metadata about this warning in key: value format. For example: "
38095
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
38096
+ # Corresponds to the JSON property `data`
38097
+ # @return [Array<Google::Apis::ComputeAlpha::NetworkFirewallPolicyAggregatedList::Warning::Datum>]
38098
+ attr_accessor :data
38099
+
38100
+ # [Output Only] A human-readable description of the warning code.
38101
+ # Corresponds to the JSON property `message`
38102
+ # @return [String]
38103
+ attr_accessor :message
38104
+
38105
+ def initialize(**args)
38106
+ update!(**args)
38107
+ end
38108
+
38109
+ # Update properties of this object
38110
+ def update!(**args)
38111
+ @code = args[:code] if args.key?(:code)
38112
+ @data = args[:data] if args.key?(:data)
38113
+ @message = args[:message] if args.key?(:message)
38114
+ end
38115
+
38116
+ #
38117
+ class Datum
38118
+ include Google::Apis::Core::Hashable
38119
+
38120
+ # [Output Only] A key that provides more detail on the warning being returned.
38121
+ # For example, for warnings where there are no results in a list request for a
38122
+ # particular zone, this key might be scope and the key value might be the zone
38123
+ # name. Other examples might be a key indicating a deprecated resource and a
38124
+ # suggested replacement, or a warning about invalid network settings (for
38125
+ # example, if an instance attempts to perform IP forwarding but is not enabled
38126
+ # for IP forwarding).
38127
+ # Corresponds to the JSON property `key`
38128
+ # @return [String]
38129
+ attr_accessor :key
38130
+
38131
+ # [Output Only] A warning data value corresponding to the key.
38132
+ # Corresponds to the JSON property `value`
38133
+ # @return [String]
38134
+ attr_accessor :value
38135
+
38136
+ def initialize(**args)
38137
+ update!(**args)
38138
+ end
38139
+
38140
+ # Update properties of this object
38141
+ def update!(**args)
38142
+ @key = args[:key] if args.key?(:key)
38143
+ @value = args[:value] if args.key?(:value)
38144
+ end
38145
+ end
38146
+ end
38147
+ end
38148
+
38149
+ # A network interface resource attached to an instance.
38150
+ class NetworkInterface
38151
+ include Google::Apis::Core::Hashable
38152
+
38153
+ # An array of configurations for this interface. Currently, only one access
38154
+ # config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified,
38155
+ # then this instance will have no external internet access.
38156
+ # Corresponds to the JSON property `accessConfigs`
38157
+ # @return [Array<Google::Apis::ComputeAlpha::AccessConfig>]
38158
+ attr_accessor :access_configs
38159
+
38160
+ # An array of alias IP ranges for this network interface. You can only specify
38161
+ # this field for network interfaces in VPC networks.
38162
+ # Corresponds to the JSON property `aliasIpRanges`
38163
+ # @return [Array<Google::Apis::ComputeAlpha::AliasIpRange>]
38164
+ attr_accessor :alias_ip_ranges
38165
+
38166
+ # Fingerprint hash of contents stored in this network interface. This field will
38167
+ # be ignored when inserting an Instance or adding a NetworkInterface. An up-to-
38168
+ # date fingerprint must be provided in order to update the NetworkInterface. The
38169
+ # request will fail with error 400 Bad Request if the fingerprint is not
38170
+ # provided, or 412 Precondition Failed if the fingerprint is out of date.
38171
+ # Corresponds to the JSON property `fingerprint`
38172
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
38173
+ # @return [String]
38174
+ attr_accessor :fingerprint
38175
+
38176
+ # Indicate whether igmp query is enabled on the network interface or not. If
38177
+ # enabled, also indicates the version of IGMP supported.
38178
+ # Corresponds to the JSON property `igmpQuery`
38179
+ # @return [String]
38180
+ attr_accessor :igmp_query
38181
+
38182
+ # The prefix length of the primary internal IPv6 range.
38183
+ # Corresponds to the JSON property `internalIpv6PrefixLength`
38184
+ # @return [Fixnum]
38185
+ attr_accessor :internal_ipv6_prefix_length
38186
+
38187
+ # An array of IPv6 access configurations for this interface. Currently, only one
38188
+ # IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig
38189
+ # specified, then this instance will have no external IPv6 Internet access.
38190
+ # Corresponds to the JSON property `ipv6AccessConfigs`
38191
+ # @return [Array<Google::Apis::ComputeAlpha::AccessConfig>]
38192
+ attr_accessor :ipv6_access_configs
38193
+
38194
+ # [Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be
38195
+ # accessed from the Internet. This field is always inherited from its subnetwork.
38196
+ # Valid only if stackType is IPV4_IPV6.
38197
+ # Corresponds to the JSON property `ipv6AccessType`
38198
+ # @return [String]
38199
+ attr_accessor :ipv6_access_type
38200
+
38201
+ # An IPv6 internal network address for this network interface. To use a static
38202
+ # internal IP address, it must be unused and in the same region as the instance'
38203
+ # s zone. If not specified, Google Cloud will automatically assign an internal
38204
+ # IPv6 address from the instance's subnetwork.
38205
+ # Corresponds to the JSON property `ipv6Address`
38206
+ # @return [String]
38207
+ attr_accessor :ipv6_address
38208
+
38209
+ # [Output Only] Type of the resource. Always compute#networkInterface for
38210
+ # network interfaces.
38211
+ # Corresponds to the JSON property `kind`
38212
+ # @return [String]
38213
+ attr_accessor :kind
38214
+
38215
+ # [Output Only] The name of the network interface, which is generated by the
38216
+ # server. For a VM, the network interface uses the nicN naming format. Where N
38217
+ # is a value between 0 and 7. The default interface value is nic0.
38218
+ # Corresponds to the JSON property `name`
38219
+ # @return [String]
38220
+ attr_accessor :name
38221
+
38222
+ # URL of the VPC network resource for this instance. When creating an instance,
38223
+ # if neither the network nor the subnetwork is specified, the default network
38224
+ # global/networks/default is used. If the selected project doesn't have the
38225
+ # default network, you must specify a network or subnet. If the network is not
38226
+ # specified but the subnetwork is specified, the network is inferred. If you
38227
+ # specify this property, you can specify the network as a full or partial URL.
38228
+ # For example, the following are all valid URLs: - https://www.googleapis.com/
38229
+ # compute/v1/projects/project/global/networks/ network - projects/project/global/
38230
+ # networks/network - global/networks/default
38231
+ # Corresponds to the JSON property `network`
38232
+ # @return [String]
38233
+ attr_accessor :network
38234
+
38235
+ # The URL of the network attachment that this interface should connect to in the
38236
+ # following format: projects/`project_number`/regions/`region_name`/
38237
+ # networkAttachments/`network_attachment_name`.
38238
+ # Corresponds to the JSON property `networkAttachment`
38239
+ # @return [String]
38240
+ attr_accessor :network_attachment
38241
+
38242
+ # An IPv4 internal IP address to assign to the instance for this network
38243
+ # interface. If not specified by the user, an unused internal IP is assigned by
38244
+ # the system.
38245
+ # Corresponds to the JSON property `networkIP`
38246
+ # @return [String]
38247
+ attr_accessor :network_ip
38248
+
38249
+ # The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet.
38250
+ # Corresponds to the JSON property `nicType`
38251
+ # @return [String]
38252
+ attr_accessor :nic_type
38253
+
38254
+ # Name of the parent network interface of a dynamic network interface.
38255
+ # Corresponds to the JSON property `parentNicName`
38256
+ # @return [String]
38257
+ attr_accessor :parent_nic_name
38258
+
38259
+ # The networking queue count that's specified by users for the network interface.
38260
+ # Both Rx and Tx queues will be set to this number. It'll be empty if not
38261
+ # specified by the users.
38262
+ # Corresponds to the JSON property `queueCount`
38263
+ # @return [Fixnum]
38264
+ attr_accessor :queue_count
38265
+
38266
+ # The stack type for this network interface. To assign only IPv4 addresses, use
38267
+ # IPV4_ONLY. To assign both IPv4 and IPv6 addresses, use IPV4_IPV6. If not
38268
+ # specified, IPV4_ONLY is used. This field can be both set at instance creation
38269
+ # and update network interface operations.
38270
+ # Corresponds to the JSON property `stackType`
38271
+ # @return [String]
38272
+ attr_accessor :stack_type
38273
+
38274
+ # SubInterfaces help enable L2 communication for the instance over subnetworks
38275
+ # that support L2. Every network interface will get a default untagged (vlan not
38276
+ # specified) subinterface. Users can specify additional tagged subinterfaces
38277
+ # which are sub-fields to the Network Interface.
38278
+ # Corresponds to the JSON property `subinterfaces`
38279
+ # @return [Array<Google::Apis::ComputeAlpha::NetworkInterfaceSubInterface>]
38280
+ attr_accessor :subinterfaces
38281
+
38282
+ # The URL of the Subnetwork resource for this instance. If the network resource
38283
+ # is in legacy mode, do not specify this field. If the network is in auto subnet
38284
+ # mode, specifying the subnetwork is optional. If the network is in custom
38285
+ # subnet mode, specifying the subnetwork is required. If you specify this field,
38286
+ # you can specify the subnetwork as a full or partial URL. For example, the
38287
+ # following are all valid URLs: - https://www.googleapis.com/compute/v1/projects/
38288
+ # project/regions/region /subnetworks/subnetwork - regions/region/subnetworks/
38289
+ # subnetwork
38290
+ # Corresponds to the JSON property `subnetwork`
38291
+ # @return [String]
38292
+ attr_accessor :subnetwork
38293
+
38294
+ # VLAN tag of a dynamic network interface, must be an integer in the range from
38295
+ # 2 to 255 inclusively.
38296
+ # Corresponds to the JSON property `vlan`
38297
+ # @return [Fixnum]
38298
+ attr_accessor :vlan
38299
+
38300
+ def initialize(**args)
38301
+ update!(**args)
38302
+ end
38303
+
38304
+ # Update properties of this object
38305
+ def update!(**args)
38306
+ @access_configs = args[:access_configs] if args.key?(:access_configs)
38307
+ @alias_ip_ranges = args[:alias_ip_ranges] if args.key?(:alias_ip_ranges)
38308
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
38309
+ @igmp_query = args[:igmp_query] if args.key?(:igmp_query)
38310
+ @internal_ipv6_prefix_length = args[:internal_ipv6_prefix_length] if args.key?(:internal_ipv6_prefix_length)
38311
+ @ipv6_access_configs = args[:ipv6_access_configs] if args.key?(:ipv6_access_configs)
38312
+ @ipv6_access_type = args[:ipv6_access_type] if args.key?(:ipv6_access_type)
38313
+ @ipv6_address = args[:ipv6_address] if args.key?(:ipv6_address)
38314
+ @kind = args[:kind] if args.key?(:kind)
38315
+ @name = args[:name] if args.key?(:name)
38316
+ @network = args[:network] if args.key?(:network)
38317
+ @network_attachment = args[:network_attachment] if args.key?(:network_attachment)
38318
+ @network_ip = args[:network_ip] if args.key?(:network_ip)
38319
+ @nic_type = args[:nic_type] if args.key?(:nic_type)
38320
+ @parent_nic_name = args[:parent_nic_name] if args.key?(:parent_nic_name)
38321
+ @queue_count = args[:queue_count] if args.key?(:queue_count)
38322
+ @stack_type = args[:stack_type] if args.key?(:stack_type)
38323
+ @subinterfaces = args[:subinterfaces] if args.key?(:subinterfaces)
38324
+ @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
38325
+ @vlan = args[:vlan] if args.key?(:vlan)
38326
+ end
38327
+ end
38328
+
38329
+ #
38330
+ class NetworkInterfaceSubInterface
38331
+ include Google::Apis::Core::Hashable
38332
+
38333
+ # An IPv4 internal IP address to assign to the instance for this subinterface.
38334
+ # If specified, ip_allocation_mode should be set to ALLOCATE_IP.
38335
+ # Corresponds to the JSON property `ipAddress`
38336
+ # @return [String]
38337
+ attr_accessor :ip_address
38338
+
38339
+ #
38340
+ # Corresponds to the JSON property `ipAllocationMode`
38341
+ # @return [String]
38342
+ attr_accessor :ip_allocation_mode
38343
+
38344
+ # If specified, this subnetwork must belong to the same network as that of the
38345
+ # network interface. If not specified the subnet of network interface will be
38346
+ # used. If you specify this property, you can specify the subnetwork as a full
38347
+ # or partial URL. For example, the following are all valid URLs: - https://www.
38348
+ # googleapis.com/compute/v1/projects/project/regions/region /subnetworks/
38349
+ # subnetwork - regions/region/subnetworks/subnetwork
38350
+ # Corresponds to the JSON property `subnetwork`
38351
+ # @return [String]
38352
+ attr_accessor :subnetwork
38353
+
38354
+ # VLAN tag. Should match the VLAN(s) supported by the subnetwork to which this
38355
+ # subinterface is connecting.
38356
+ # Corresponds to the JSON property `vlan`
38357
+ # @return [Fixnum]
38358
+ attr_accessor :vlan
38359
+
38360
+ def initialize(**args)
38361
+ update!(**args)
38362
+ end
38363
+
38364
+ # Update properties of this object
38365
+ def update!(**args)
38366
+ @ip_address = args[:ip_address] if args.key?(:ip_address)
38367
+ @ip_allocation_mode = args[:ip_allocation_mode] if args.key?(:ip_allocation_mode)
38368
+ @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
38369
+ @vlan = args[:vlan] if args.key?(:vlan)
38370
+ end
38371
+ end
38372
+
38373
+ # Contains a list of networks.
38374
+ class NetworkList
38375
+ include Google::Apis::Core::Hashable
38376
+
38377
+ # [Output Only] Unique identifier for the resource; defined by the server.
38378
+ # Corresponds to the JSON property `id`
38379
+ # @return [String]
38380
+ attr_accessor :id
38381
+
38382
+ # A list of Network resources.
38383
+ # Corresponds to the JSON property `items`
38384
+ # @return [Array<Google::Apis::ComputeAlpha::Network>]
38385
+ attr_accessor :items
38386
+
38387
+ # [Output Only] Type of resource. Always compute#networkList for lists of
38388
+ # networks.
38389
+ # Corresponds to the JSON property `kind`
38390
+ # @return [String]
38391
+ attr_accessor :kind
38392
+
38393
+ # [Output Only] This token allows you to get the next page of results for list
38394
+ # requests. If the number of results is larger than maxResults, use the
38395
+ # nextPageToken as a value for the query parameter pageToken in the next list
38396
+ # request. Subsequent list requests will have their own nextPageToken to
38397
+ # continue paging through the results.
38398
+ # Corresponds to the JSON property `nextPageToken`
38399
+ # @return [String]
38400
+ attr_accessor :next_page_token
38401
+
38402
+ # [Output Only] Server-defined URL for this resource.
38403
+ # Corresponds to the JSON property `selfLink`
38404
+ # @return [String]
38405
+ attr_accessor :self_link
38406
+
38407
+ # [Output Only] Informational warning message.
38408
+ # Corresponds to the JSON property `warning`
38409
+ # @return [Google::Apis::ComputeAlpha::NetworkList::Warning]
38410
+ attr_accessor :warning
38411
+
38412
+ def initialize(**args)
38413
+ update!(**args)
38414
+ end
38415
+
38416
+ # Update properties of this object
38417
+ def update!(**args)
38418
+ @id = args[:id] if args.key?(:id)
38419
+ @items = args[:items] if args.key?(:items)
38420
+ @kind = args[:kind] if args.key?(:kind)
38421
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
38422
+ @self_link = args[:self_link] if args.key?(:self_link)
38423
+ @warning = args[:warning] if args.key?(:warning)
38424
+ end
38425
+
38426
+ # [Output Only] Informational warning message.
38427
+ class Warning
38428
+ include Google::Apis::Core::Hashable
38429
+
38430
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
38431
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
38432
+ # Corresponds to the JSON property `code`
38433
+ # @return [String]
38434
+ attr_accessor :code
38435
+
38436
+ # [Output Only] Metadata about this warning in key: value format. For example: "
38437
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
38438
+ # Corresponds to the JSON property `data`
38439
+ # @return [Array<Google::Apis::ComputeAlpha::NetworkList::Warning::Datum>]
38440
+ attr_accessor :data
38441
+
38442
+ # [Output Only] A human-readable description of the warning code.
38443
+ # Corresponds to the JSON property `message`
38444
+ # @return [String]
38445
+ attr_accessor :message
38446
+
38447
+ def initialize(**args)
38448
+ update!(**args)
38449
+ end
38450
+
38451
+ # Update properties of this object
38452
+ def update!(**args)
38453
+ @code = args[:code] if args.key?(:code)
38454
+ @data = args[:data] if args.key?(:data)
38455
+ @message = args[:message] if args.key?(:message)
38456
+ end
38457
+
38458
+ #
38459
+ class Datum
38460
+ include Google::Apis::Core::Hashable
38461
+
38462
+ # [Output Only] A key that provides more detail on the warning being returned.
38463
+ # For example, for warnings where there are no results in a list request for a
38464
+ # particular zone, this key might be scope and the key value might be the zone
38465
+ # name. Other examples might be a key indicating a deprecated resource and a
38466
+ # suggested replacement, or a warning about invalid network settings (for
38467
+ # example, if an instance attempts to perform IP forwarding but is not enabled
38468
+ # for IP forwarding).
38469
+ # Corresponds to the JSON property `key`
38470
+ # @return [String]
38471
+ attr_accessor :key
38472
+
38473
+ # [Output Only] A warning data value corresponding to the key.
38474
+ # Corresponds to the JSON property `value`
38475
+ # @return [String]
38476
+ attr_accessor :value
38477
+
38478
+ def initialize(**args)
38479
+ update!(**args)
38480
+ end
38481
+
38482
+ # Update properties of this object
38483
+ def update!(**args)
38484
+ @key = args[:key] if args.key?(:key)
38485
+ @value = args[:value] if args.key?(:value)
38486
+ end
38487
+ end
38488
+ end
38489
+ end
38490
+
38491
+ # Additional network parameters.
38492
+ class NetworkParams
38493
+ include Google::Apis::Core::Hashable
38494
+
38495
+ # Tag keys/values directly bound to this resource. Tag keys and values have the
38496
+ # same definition as resource manager tags. The field is allowed for INSERT only.
38497
+ # The keys/values to set on the resource should be specified in either ID ` : `
38498
+ # or Namespaced format ` : `. For example the following are valid inputs: * `"
38499
+ # tagKeys/333" : "tagValues/444", "tagKeys/123" : "tagValues/456"` * `"123/
38500
+ # environment" : "production", "345/abc" : "xyz"` Note: * Invalid combinations
38501
+ # of ID & namespaced format is not supported. For instance: `"123/environment" :
38502
+ # "tagValues/444"` is invalid.
38503
+ # Corresponds to the JSON property `resourceManagerTags`
38504
+ # @return [Hash<String,String>]
38505
+ attr_accessor :resource_manager_tags
38506
+
38507
+ def initialize(**args)
38508
+ update!(**args)
38509
+ end
38510
+
38511
+ # Update properties of this object
38512
+ def update!(**args)
38513
+ @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
38514
+ end
38515
+ end
38516
+
38517
+ # A network peering attached to a network resource. The message includes the
38518
+ # peering name, peer network, peering state, and a flag indicating whether
38519
+ # Google Compute Engine should automatically create routes for the peering.
38520
+ class NetworkPeering
38521
+ include Google::Apis::Core::Hashable
38522
+
38523
+ # Whether Cloud Routers in this network can automatically advertise subnets from
38524
+ # the peer network.
38525
+ # Corresponds to the JSON property `advertisePeerSubnetsViaRouters`
38526
+ # @return [Boolean]
38527
+ attr_accessor :advertise_peer_subnets_via_routers
38528
+ alias_method :advertise_peer_subnets_via_routers?, :advertise_peer_subnets_via_routers
38529
+
38530
+ # This field will be deprecated soon. Use the exchange_subnet_routes field
38531
+ # instead. Indicates whether full mesh connectivity is created and managed
38532
+ # automatically between peered networks. Currently this field should always be
38533
+ # true since Google Compute Engine will automatically create and manage
38534
+ # subnetwork routes between two networks when peering state is ACTIVE.
38535
+ # Corresponds to the JSON property `autoCreateRoutes`
38536
+ # @return [Boolean]
38537
+ attr_accessor :auto_create_routes
38538
+ alias_method :auto_create_routes?, :auto_create_routes
38539
+
38540
+ # [Output Only] Describes the state of a peering connection, not just the local
38541
+ # peering. This field provides information about the effective settings for the
38542
+ # connection as a whole, including pending delete/update requests for CONSENSUS
38543
+ # peerings.
38544
+ # Corresponds to the JSON property `connectionStatus`
38545
+ # @return [Google::Apis::ComputeAlpha::NetworkPeeringConnectionStatus]
38546
+ attr_accessor :connection_status
38547
+
38548
+ # Indicates whether full mesh connectivity is created and managed automatically
38549
+ # between peered networks. Currently this field should always be true since
38550
+ # Google Compute Engine will automatically create and manage subnetwork routes
38551
+ # between two networks when peering state is ACTIVE.
38552
+ # Corresponds to the JSON property `exchangeSubnetRoutes`
38553
+ # @return [Boolean]
38554
+ attr_accessor :exchange_subnet_routes
38555
+ alias_method :exchange_subnet_routes?, :exchange_subnet_routes
38556
+
38557
+ # Whether to export the custom routes to peer network. The default value is
38558
+ # false.
38559
+ # Corresponds to the JSON property `exportCustomRoutes`
38560
+ # @return [Boolean]
38561
+ attr_accessor :export_custom_routes
38562
+ alias_method :export_custom_routes?, :export_custom_routes
38563
+
38564
+ # Whether subnet routes with public IP range are exported. The default value is
38565
+ # true, all subnet routes are exported. IPv4 special-use ranges are always
38566
+ # exported to peers and are not controlled by this field.
38567
+ # Corresponds to the JSON property `exportSubnetRoutesWithPublicIp`
38568
+ # @return [Boolean]
38569
+ attr_accessor :export_subnet_routes_with_public_ip
38570
+ alias_method :export_subnet_routes_with_public_ip?, :export_subnet_routes_with_public_ip
38571
+
38572
+ # Whether to import the custom routes from peer network. The default value is
38573
+ # false.
38574
+ # Corresponds to the JSON property `importCustomRoutes`
38575
+ # @return [Boolean]
38576
+ attr_accessor :import_custom_routes
38577
+ alias_method :import_custom_routes?, :import_custom_routes
38578
+
38579
+ # Whether subnet routes with public IP range are imported. The default value is
38580
+ # false. IPv4 special-use ranges are always imported from peers and are not
38581
+ # controlled by this field.
38582
+ # Corresponds to the JSON property `importSubnetRoutesWithPublicIp`
38583
+ # @return [Boolean]
38584
+ attr_accessor :import_subnet_routes_with_public_ip
38585
+ alias_method :import_subnet_routes_with_public_ip?, :import_subnet_routes_with_public_ip
38586
+
38587
+ # Name of this peering. Provided by the client when the peering is created. The
38588
+ # name must comply with RFC1035. Specifically, the name must be 1-63 characters
38589
+ # long and match regular expression `[a-z]([-a-z0-9]*[a-z0-9])?`. The first
38590
+ # character must be a lowercase letter, and all the following characters must be
38591
+ # a dash, lowercase letter, or digit, except the last character, which cannot be
38592
+ # a dash.
38593
+ # Corresponds to the JSON property `name`
38594
+ # @return [String]
38595
+ attr_accessor :name
38596
+
38597
+ # The URL of the peer network. It can be either full URL or partial URL. The
38598
+ # peer network may belong to a different project. If the partial URL does not
38599
+ # contain project, it is assumed that the peer network is in the same project as
38600
+ # the current network.
38601
+ # Corresponds to the JSON property `network`
38602
+ # @return [String]
38603
+ attr_accessor :network
38604
+
38605
+ # [Output Only] Maximum Transmission Unit in bytes of the peer network.
38606
+ # Corresponds to the JSON property `peerMtu`
38607
+ # @return [Fixnum]
38608
+ attr_accessor :peer_mtu
38609
+
38610
+ # Which IP version(s) of traffic and routes are allowed to be imported or
38611
+ # exported between peer networks. The default value is IPV4_ONLY.
38612
+ # Corresponds to the JSON property `stackType`
38613
+ # @return [String]
38614
+ attr_accessor :stack_type
38615
+
38616
+ # [Output Only] State for the peering, either `ACTIVE` or `INACTIVE`. The
38617
+ # peering is `ACTIVE` when there's a matching configuration in the peer network.
38618
+ # Corresponds to the JSON property `state`
38619
+ # @return [String]
38620
+ attr_accessor :state
38621
+
38622
+ # [Output Only] Details about the current state of the peering.
38623
+ # Corresponds to the JSON property `stateDetails`
38624
+ # @return [String]
38625
+ attr_accessor :state_details
38626
+
38627
+ # The update strategy determines the semantics for updates and deletes to the
38628
+ # peering connection configuration.
38629
+ # Corresponds to the JSON property `updateStrategy`
38630
+ # @return [String]
38631
+ attr_accessor :update_strategy
38632
+
38633
+ def initialize(**args)
38634
+ update!(**args)
38635
+ end
38636
+
38637
+ # Update properties of this object
38638
+ def update!(**args)
38639
+ @advertise_peer_subnets_via_routers = args[:advertise_peer_subnets_via_routers] if args.key?(:advertise_peer_subnets_via_routers)
38640
+ @auto_create_routes = args[:auto_create_routes] if args.key?(:auto_create_routes)
38641
+ @connection_status = args[:connection_status] if args.key?(:connection_status)
38642
+ @exchange_subnet_routes = args[:exchange_subnet_routes] if args.key?(:exchange_subnet_routes)
38643
+ @export_custom_routes = args[:export_custom_routes] if args.key?(:export_custom_routes)
38644
+ @export_subnet_routes_with_public_ip = args[:export_subnet_routes_with_public_ip] if args.key?(:export_subnet_routes_with_public_ip)
38645
+ @import_custom_routes = args[:import_custom_routes] if args.key?(:import_custom_routes)
38646
+ @import_subnet_routes_with_public_ip = args[:import_subnet_routes_with_public_ip] if args.key?(:import_subnet_routes_with_public_ip)
38647
+ @name = args[:name] if args.key?(:name)
38648
+ @network = args[:network] if args.key?(:network)
38649
+ @peer_mtu = args[:peer_mtu] if args.key?(:peer_mtu)
38650
+ @stack_type = args[:stack_type] if args.key?(:stack_type)
38651
+ @state = args[:state] if args.key?(:state)
38652
+ @state_details = args[:state_details] if args.key?(:state_details)
38653
+ @update_strategy = args[:update_strategy] if args.key?(:update_strategy)
38654
+ end
38655
+ end
38656
+
38657
+ # [Output Only] Describes the state of a peering connection, not just the local
38658
+ # peering. This field provides information about the effective settings for the
38659
+ # connection as a whole, including pending delete/update requests for CONSENSUS
38660
+ # peerings.
38661
+ class NetworkPeeringConnectionStatus
38662
+ include Google::Apis::Core::Hashable
38663
+
38664
+ # The status of update/delete for a consensus peering connection. Only set when
38665
+ # connection_status.update_strategy is CONSENSUS or a network peering is
38666
+ # proposing to update the strategy to CONSENSUS.
38667
+ # Corresponds to the JSON property `consensusState`
38668
+ # @return [Google::Apis::ComputeAlpha::NetworkPeeringConnectionStatusConsensusState]
38669
+ attr_accessor :consensus_state
38670
+
38671
+ # The active connectivity settings for the peering connection based on the
38672
+ # settings of the network peerings.
38673
+ # Corresponds to the JSON property `trafficConfiguration`
38674
+ # @return [Google::Apis::ComputeAlpha::NetworkPeeringConnectionStatusTrafficConfiguration]
38675
+ attr_accessor :traffic_configuration
38676
+
38677
+ # The update strategy determines the update/delete semantics for this peering
38678
+ # connection.
38679
+ # Corresponds to the JSON property `updateStrategy`
38680
+ # @return [String]
38681
+ attr_accessor :update_strategy
38682
+
38683
+ def initialize(**args)
38684
+ update!(**args)
38685
+ end
38686
+
38687
+ # Update properties of this object
38688
+ def update!(**args)
38689
+ @consensus_state = args[:consensus_state] if args.key?(:consensus_state)
38690
+ @traffic_configuration = args[:traffic_configuration] if args.key?(:traffic_configuration)
38691
+ @update_strategy = args[:update_strategy] if args.key?(:update_strategy)
38692
+ end
38693
+ end
38694
+
38695
+ # The status of update/delete for a consensus peering connection. Only set when
38696
+ # connection_status.update_strategy is CONSENSUS or a network peering is
38697
+ # proposing to update the strategy to CONSENSUS.
38698
+ class NetworkPeeringConnectionStatusConsensusState
38699
+ include Google::Apis::Core::Hashable
38700
+
38701
+ # The status of the delete request.
38702
+ # Corresponds to the JSON property `deleteStatus`
38703
+ # @return [String]
38704
+ attr_accessor :delete_status
38705
+
38706
+ # The status of the update request.
38707
+ # Corresponds to the JSON property `updateStatus`
38708
+ # @return [String]
38709
+ attr_accessor :update_status
38710
+
38711
+ def initialize(**args)
38712
+ update!(**args)
38713
+ end
38714
+
38715
+ # Update properties of this object
38716
+ def update!(**args)
38717
+ @delete_status = args[:delete_status] if args.key?(:delete_status)
38718
+ @update_status = args[:update_status] if args.key?(:update_status)
38719
+ end
38720
+ end
38721
+
38722
+ #
38723
+ class NetworkPeeringConnectionStatusTrafficConfiguration
38724
+ include Google::Apis::Core::Hashable
38725
+
38726
+ # Whether custom routes are being exported to the peer network.
38727
+ # Corresponds to the JSON property `exportCustomRoutesToPeer`
38728
+ # @return [Boolean]
38729
+ attr_accessor :export_custom_routes_to_peer
38730
+ alias_method :export_custom_routes_to_peer?, :export_custom_routes_to_peer
38731
+
38732
+ # Whether subnet routes with public IP ranges are being exported to the peer
38733
+ # network.
38734
+ # Corresponds to the JSON property `exportSubnetRoutesWithPublicIpToPeer`
38735
+ # @return [Boolean]
38736
+ attr_accessor :export_subnet_routes_with_public_ip_to_peer
38737
+ alias_method :export_subnet_routes_with_public_ip_to_peer?, :export_subnet_routes_with_public_ip_to_peer
38738
+
38739
+ # Whether custom routes are being imported from the peer network.
38740
+ # Corresponds to the JSON property `importCustomRoutesFromPeer`
38741
+ # @return [Boolean]
38742
+ attr_accessor :import_custom_routes_from_peer
38743
+ alias_method :import_custom_routes_from_peer?, :import_custom_routes_from_peer
38744
+
38745
+ # Whether subnet routes with public IP ranges are being imported from the peer
38746
+ # network.
38747
+ # Corresponds to the JSON property `importSubnetRoutesWithPublicIpFromPeer`
38748
+ # @return [Boolean]
38749
+ attr_accessor :import_subnet_routes_with_public_ip_from_peer
38750
+ alias_method :import_subnet_routes_with_public_ip_from_peer?, :import_subnet_routes_with_public_ip_from_peer
38751
+
38752
+ # Which IP version(s) of traffic and routes are being imported or exported
38753
+ # between peer networks.
38754
+ # Corresponds to the JSON property `stackType`
38755
+ # @return [String]
38756
+ attr_accessor :stack_type
38757
+
38758
+ def initialize(**args)
38759
+ update!(**args)
38760
+ end
38761
+
38762
+ # Update properties of this object
38763
+ def update!(**args)
38764
+ @export_custom_routes_to_peer = args[:export_custom_routes_to_peer] if args.key?(:export_custom_routes_to_peer)
38765
+ @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)
38766
+ @import_custom_routes_from_peer = args[:import_custom_routes_from_peer] if args.key?(:import_custom_routes_from_peer)
38767
+ @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)
38768
+ @stack_type = args[:stack_type] if args.key?(:stack_type)
37001
38769
  end
37002
38770
  end
37003
38771
 
37004
38772
  #
37005
- class NetworkEndpointGroupsListNetworkEndpoints
38773
+ class NetworkPerformanceConfig
37006
38774
  include Google::Apis::Core::Hashable
37007
38775
 
37008
- # [Output Only] Unique identifier for the resource; defined by the server.
37009
- # Corresponds to the JSON property `id`
37010
- # @return [String]
37011
- attr_accessor :id
37012
-
37013
- # A list of NetworkEndpointWithHealthStatus resources.
37014
- # Corresponds to the JSON property `items`
37015
- # @return [Array<Google::Apis::ComputeAlpha::NetworkEndpointWithHealthStatus>]
37016
- attr_accessor :items
37017
-
37018
- # [Output Only] The resource type, which is always compute#
37019
- # networkEndpointGroupsListNetworkEndpoints for the list of network endpoints in
37020
- # the specified network endpoint group.
37021
- # Corresponds to the JSON property `kind`
38776
+ #
38777
+ # Corresponds to the JSON property `externalIpEgressBandwidthTier`
37022
38778
  # @return [String]
37023
- attr_accessor :kind
38779
+ attr_accessor :external_ip_egress_bandwidth_tier
37024
38780
 
37025
- # [Output Only] This token allows you to get the next page of results for list
37026
- # requests. If the number of results is larger than maxResults, use the
37027
- # nextPageToken as a value for the query parameter pageToken in the next list
37028
- # request. Subsequent list requests will have their own nextPageToken to
37029
- # continue paging through the results.
37030
- # Corresponds to the JSON property `nextPageToken`
38781
+ #
38782
+ # Corresponds to the JSON property `totalEgressBandwidthTier`
37031
38783
  # @return [String]
37032
- attr_accessor :next_page_token
37033
-
37034
- # [Output Only] Informational warning message.
37035
- # Corresponds to the JSON property `warning`
37036
- # @return [Google::Apis::ComputeAlpha::NetworkEndpointGroupsListNetworkEndpoints::Warning]
37037
- attr_accessor :warning
38784
+ attr_accessor :total_egress_bandwidth_tier
37038
38785
 
37039
38786
  def initialize(**args)
37040
38787
  update!(**args)
@@ -37042,92 +38789,24 @@ module Google
37042
38789
 
37043
38790
  # Update properties of this object
37044
38791
  def update!(**args)
37045
- @id = args[:id] if args.key?(:id)
37046
- @items = args[:items] if args.key?(:items)
37047
- @kind = args[:kind] if args.key?(:kind)
37048
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
37049
- @warning = args[:warning] if args.key?(:warning)
37050
- end
37051
-
37052
- # [Output Only] Informational warning message.
37053
- class Warning
37054
- include Google::Apis::Core::Hashable
37055
-
37056
- # [Output Only] A warning code, if applicable. For example, Compute Engine
37057
- # returns NO_RESULTS_ON_PAGE if there are no results in the response.
37058
- # Corresponds to the JSON property `code`
37059
- # @return [String]
37060
- attr_accessor :code
37061
-
37062
- # [Output Only] Metadata about this warning in key: value format. For example: "
37063
- # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
37064
- # Corresponds to the JSON property `data`
37065
- # @return [Array<Google::Apis::ComputeAlpha::NetworkEndpointGroupsListNetworkEndpoints::Warning::Datum>]
37066
- attr_accessor :data
37067
-
37068
- # [Output Only] A human-readable description of the warning code.
37069
- # Corresponds to the JSON property `message`
37070
- # @return [String]
37071
- attr_accessor :message
37072
-
37073
- def initialize(**args)
37074
- update!(**args)
37075
- end
37076
-
37077
- # Update properties of this object
37078
- def update!(**args)
37079
- @code = args[:code] if args.key?(:code)
37080
- @data = args[:data] if args.key?(:data)
37081
- @message = args[:message] if args.key?(:message)
37082
- end
37083
-
37084
- #
37085
- class Datum
37086
- include Google::Apis::Core::Hashable
37087
-
37088
- # [Output Only] A key that provides more detail on the warning being returned.
37089
- # For example, for warnings where there are no results in a list request for a
37090
- # particular zone, this key might be scope and the key value might be the zone
37091
- # name. Other examples might be a key indicating a deprecated resource and a
37092
- # suggested replacement, or a warning about invalid network settings (for
37093
- # example, if an instance attempts to perform IP forwarding but is not enabled
37094
- # for IP forwarding).
37095
- # Corresponds to the JSON property `key`
37096
- # @return [String]
37097
- attr_accessor :key
37098
-
37099
- # [Output Only] A warning data value corresponding to the key.
37100
- # Corresponds to the JSON property `value`
37101
- # @return [String]
37102
- attr_accessor :value
37103
-
37104
- def initialize(**args)
37105
- update!(**args)
37106
- end
37107
-
37108
- # Update properties of this object
37109
- def update!(**args)
37110
- @key = args[:key] if args.key?(:key)
37111
- @value = args[:value] if args.key?(:value)
37112
- end
37113
- end
38792
+ @external_ip_egress_bandwidth_tier = args[:external_ip_egress_bandwidth_tier] if args.key?(:external_ip_egress_bandwidth_tier)
38793
+ @total_egress_bandwidth_tier = args[:total_egress_bandwidth_tier] if args.key?(:total_egress_bandwidth_tier)
37114
38794
  end
37115
38795
  end
37116
38796
 
37117
38797
  #
37118
- class NetworkEndpointGroupsScopedList
38798
+ class NetworkPoliciesScopedList
37119
38799
  include Google::Apis::Core::Hashable
37120
38800
 
37121
- # [Output Only] The list of network endpoint groups that are contained in this
37122
- # scope.
37123
- # Corresponds to the JSON property `networkEndpointGroups`
37124
- # @return [Array<Google::Apis::ComputeAlpha::NetworkEndpointGroup>]
37125
- attr_accessor :network_endpoint_groups
38801
+ # A list of network policies contained in this scope.
38802
+ # Corresponds to the JSON property `networkPolicies`
38803
+ # @return [Array<Google::Apis::ComputeAlpha::NetworkPolicy>]
38804
+ attr_accessor :network_policies
37126
38805
 
37127
- # [Output Only] An informational warning that replaces the list of network
37128
- # endpoint groups when the list is empty.
38806
+ # Informational warning which replaces the list of network policies when the
38807
+ # list is empty.
37129
38808
  # Corresponds to the JSON property `warning`
37130
- # @return [Google::Apis::ComputeAlpha::NetworkEndpointGroupsScopedList::Warning]
38809
+ # @return [Google::Apis::ComputeAlpha::NetworkPoliciesScopedList::Warning]
37131
38810
  attr_accessor :warning
37132
38811
 
37133
38812
  def initialize(**args)
@@ -37136,12 +38815,12 @@ module Google
37136
38815
 
37137
38816
  # Update properties of this object
37138
38817
  def update!(**args)
37139
- @network_endpoint_groups = args[:network_endpoint_groups] if args.key?(:network_endpoint_groups)
38818
+ @network_policies = args[:network_policies] if args.key?(:network_policies)
37140
38819
  @warning = args[:warning] if args.key?(:warning)
37141
38820
  end
37142
38821
 
37143
- # [Output Only] An informational warning that replaces the list of network
37144
- # endpoint groups when the list is empty.
38822
+ # Informational warning which replaces the list of network policies when the
38823
+ # list is empty.
37145
38824
  class Warning
37146
38825
  include Google::Apis::Core::Hashable
37147
38826
 
@@ -37154,7 +38833,7 @@ module Google
37154
38833
  # [Output Only] Metadata about this warning in key: value format. For example: "
37155
38834
  # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
37156
38835
  # Corresponds to the JSON property `data`
37157
- # @return [Array<Google::Apis::ComputeAlpha::NetworkEndpointGroupsScopedList::Warning::Datum>]
38836
+ # @return [Array<Google::Apis::ComputeAlpha::NetworkPoliciesScopedList::Warning::Datum>]
37158
38837
  attr_accessor :data
37159
38838
 
37160
38839
  # [Output Only] A human-readable description of the warning code.
@@ -37206,20 +38885,71 @@ module Google
37206
38885
  end
37207
38886
  end
37208
38887
 
37209
- #
37210
- class NetworkEndpointWithHealthStatus
38888
+ # Represents a Network Policy resource.
38889
+ class NetworkPolicy
37211
38890
  include Google::Apis::Core::Hashable
37212
38891
 
37213
- # [Output only] The health status of network endpoint. Optional. Displayed only
37214
- # if the network endpoint has centralized health checking configured.
37215
- # Corresponds to the JSON property `healths`
37216
- # @return [Array<Google::Apis::ComputeAlpha::HealthStatusForNetworkEndpoint>]
37217
- attr_accessor :healths
38892
+ # [Output Only] A list of associations that belong to this network policy.
38893
+ # Corresponds to the JSON property `associations`
38894
+ # @return [Array<Google::Apis::ComputeAlpha::NetworkPolicyAssociation>]
38895
+ attr_accessor :associations
37218
38896
 
37219
- # The network endpoint.
37220
- # Corresponds to the JSON property `networkEndpoint`
37221
- # @return [Google::Apis::ComputeAlpha::NetworkEndpoint]
37222
- attr_accessor :network_endpoint
38897
+ # [Output Only] Creation timestamp in RFC3339 text format.
38898
+ # Corresponds to the JSON property `creationTimestamp`
38899
+ # @return [String]
38900
+ attr_accessor :creation_timestamp
38901
+
38902
+ # An optional description of this resource. Provide this property when you
38903
+ # create the resource.
38904
+ # Corresponds to the JSON property `description`
38905
+ # @return [String]
38906
+ attr_accessor :description
38907
+
38908
+ # [Output Only] The unique identifier for the resource. This identifier is
38909
+ # defined by the server.
38910
+ # Corresponds to the JSON property `id`
38911
+ # @return [Fixnum]
38912
+ attr_accessor :id
38913
+
38914
+ # [Output only] Type of the resource. Always compute#networkPolicy for network
38915
+ # policies
38916
+ # Corresponds to the JSON property `kind`
38917
+ # @return [String]
38918
+ attr_accessor :kind
38919
+
38920
+ # Name of the resource.
38921
+ # Corresponds to the JSON property `name`
38922
+ # @return [String]
38923
+ attr_accessor :name
38924
+
38925
+ # [Output Only] URL of the region where the regional network policy resides. You
38926
+ # must specify this field as part of the HTTP request URL. It is not settable as
38927
+ # a field in the request body.
38928
+ # Corresponds to the JSON property `region`
38929
+ # @return [String]
38930
+ attr_accessor :region
38931
+
38932
+ # [Output Only] Total count of all network policy rule tuples. A network policy
38933
+ # can not exceed a set number of tuples.
38934
+ # Corresponds to the JSON property `ruleTupleCount`
38935
+ # @return [Fixnum]
38936
+ attr_accessor :rule_tuple_count
38937
+
38938
+ # [Output Only] Server-defined URL for the resource.
38939
+ # Corresponds to the JSON property `selfLink`
38940
+ # @return [String]
38941
+ attr_accessor :self_link
38942
+
38943
+ # [Output Only] Server-defined URL for this resource with the resource id.
38944
+ # Corresponds to the JSON property `selfLinkWithId`
38945
+ # @return [String]
38946
+ attr_accessor :self_link_with_id
38947
+
38948
+ # [Output Only] A list of traffic classification rules that belong to this
38949
+ # policy.
38950
+ # Corresponds to the JSON property `trafficClassificationRules`
38951
+ # @return [Array<Google::Apis::ComputeAlpha::NetworkPolicyTrafficClassificationRule>]
38952
+ attr_accessor :traffic_classification_rules
37223
38953
 
37224
38954
  def initialize(**args)
37225
38955
  update!(**args)
@@ -37227,13 +38957,22 @@ module Google
37227
38957
 
37228
38958
  # Update properties of this object
37229
38959
  def update!(**args)
37230
- @healths = args[:healths] if args.key?(:healths)
37231
- @network_endpoint = args[:network_endpoint] if args.key?(:network_endpoint)
38960
+ @associations = args[:associations] if args.key?(:associations)
38961
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
38962
+ @description = args[:description] if args.key?(:description)
38963
+ @id = args[:id] if args.key?(:id)
38964
+ @kind = args[:kind] if args.key?(:kind)
38965
+ @name = args[:name] if args.key?(:name)
38966
+ @region = args[:region] if args.key?(:region)
38967
+ @rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
38968
+ @self_link = args[:self_link] if args.key?(:self_link)
38969
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
38970
+ @traffic_classification_rules = args[:traffic_classification_rules] if args.key?(:traffic_classification_rules)
37232
38971
  end
37233
38972
  end
37234
38973
 
37235
38974
  #
37236
- class NetworkFirewallPolicyAggregatedList
38975
+ class NetworkPolicyAggregatedList
37237
38976
  include Google::Apis::Core::Hashable
37238
38977
 
37239
38978
  # [Output Only] Unique identifier for the resource; defined by the server.
@@ -37241,13 +38980,13 @@ module Google
37241
38980
  # @return [String]
37242
38981
  attr_accessor :id
37243
38982
 
37244
- # A list of FirewallPoliciesScopedList resources.
38983
+ # A list of NetworkPoliciesScopedList resources.
37245
38984
  # Corresponds to the JSON property `items`
37246
- # @return [Hash<String,Google::Apis::ComputeAlpha::FirewallPoliciesScopedList>]
38985
+ # @return [Hash<String,Google::Apis::ComputeAlpha::NetworkPoliciesScopedList>]
37247
38986
  attr_accessor :items
37248
38987
 
37249
- # [Output Only] Type of resource. Always compute#
37250
- # networkFirewallPoliciesAggregatedList for lists of network firewall policies.
38988
+ # [Output Only] Type of resource. Always compute#networkPolicyAggregatedList for
38989
+ # lists of network policies.
37251
38990
  # Corresponds to the JSON property `kind`
37252
38991
  # @return [String]
37253
38992
  attr_accessor :kind
@@ -37273,7 +39012,7 @@ module Google
37273
39012
 
37274
39013
  # [Output Only] Informational warning message.
37275
39014
  # Corresponds to the JSON property `warning`
37276
- # @return [Google::Apis::ComputeAlpha::NetworkFirewallPolicyAggregatedList::Warning]
39015
+ # @return [Google::Apis::ComputeAlpha::NetworkPolicyAggregatedList::Warning]
37277
39016
  attr_accessor :warning
37278
39017
 
37279
39018
  def initialize(**args)
@@ -37304,7 +39043,7 @@ module Google
37304
39043
  # [Output Only] Metadata about this warning in key: value format. For example: "
37305
39044
  # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
37306
39045
  # Corresponds to the JSON property `data`
37307
- # @return [Array<Google::Apis::ComputeAlpha::NetworkFirewallPolicyAggregatedList::Warning::Datum>]
39046
+ # @return [Array<Google::Apis::ComputeAlpha::NetworkPolicyAggregatedList::Warning::Datum>]
37308
39047
  attr_accessor :data
37309
39048
 
37310
39049
  # [Output Only] A human-readable description of the warning code.
@@ -37356,232 +39095,33 @@ module Google
37356
39095
  end
37357
39096
  end
37358
39097
 
37359
- # A network interface resource attached to an instance.
37360
- class NetworkInterface
39098
+ #
39099
+ class NetworkPolicyAssociation
37361
39100
  include Google::Apis::Core::Hashable
37362
39101
 
37363
- # An array of configurations for this interface. Currently, only one access
37364
- # config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified,
37365
- # then this instance will have no external internet access.
37366
- # Corresponds to the JSON property `accessConfigs`
37367
- # @return [Array<Google::Apis::ComputeAlpha::AccessConfig>]
37368
- attr_accessor :access_configs
37369
-
37370
- # An array of alias IP ranges for this network interface. You can only specify
37371
- # this field for network interfaces in VPC networks.
37372
- # Corresponds to the JSON property `aliasIpRanges`
37373
- # @return [Array<Google::Apis::ComputeAlpha::AliasIpRange>]
37374
- attr_accessor :alias_ip_ranges
37375
-
37376
- # Fingerprint hash of contents stored in this network interface. This field will
37377
- # be ignored when inserting an Instance or adding a NetworkInterface. An up-to-
37378
- # date fingerprint must be provided in order to update the NetworkInterface. The
37379
- # request will fail with error 400 Bad Request if the fingerprint is not
37380
- # provided, or 412 Precondition Failed if the fingerprint is out of date.
37381
- # Corresponds to the JSON property `fingerprint`
37382
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
37383
- # @return [String]
37384
- attr_accessor :fingerprint
37385
-
37386
- # Indicate whether igmp query is enabled on the network interface or not. If
37387
- # enabled, also indicates the version of IGMP supported.
37388
- # Corresponds to the JSON property `igmpQuery`
37389
- # @return [String]
37390
- attr_accessor :igmp_query
37391
-
37392
- # The prefix length of the primary internal IPv6 range.
37393
- # Corresponds to the JSON property `internalIpv6PrefixLength`
37394
- # @return [Fixnum]
37395
- attr_accessor :internal_ipv6_prefix_length
37396
-
37397
- # An array of IPv6 access configurations for this interface. Currently, only one
37398
- # IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig
37399
- # specified, then this instance will have no external IPv6 Internet access.
37400
- # Corresponds to the JSON property `ipv6AccessConfigs`
37401
- # @return [Array<Google::Apis::ComputeAlpha::AccessConfig>]
37402
- attr_accessor :ipv6_access_configs
37403
-
37404
- # [Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be
37405
- # accessed from the Internet. This field is always inherited from its subnetwork.
37406
- # Valid only if stackType is IPV4_IPV6.
37407
- # Corresponds to the JSON property `ipv6AccessType`
37408
- # @return [String]
37409
- attr_accessor :ipv6_access_type
37410
-
37411
- # An IPv6 internal network address for this network interface. To use a static
37412
- # internal IP address, it must be unused and in the same region as the instance'
37413
- # s zone. If not specified, Google Cloud will automatically assign an internal
37414
- # IPv6 address from the instance's subnetwork.
37415
- # Corresponds to the JSON property `ipv6Address`
37416
- # @return [String]
37417
- attr_accessor :ipv6_address
37418
-
37419
- # [Output Only] Type of the resource. Always compute#networkInterface for
37420
- # network interfaces.
37421
- # Corresponds to the JSON property `kind`
39102
+ # The target that the network policy is attached to.
39103
+ # Corresponds to the JSON property `attachmentTarget`
37422
39104
  # @return [String]
37423
- attr_accessor :kind
39105
+ attr_accessor :attachment_target
37424
39106
 
37425
- # [Output Only] The name of the network interface, which is generated by the
37426
- # server. For a VM, the network interface uses the nicN naming format. Where N
37427
- # is a value between 0 and 7. The default interface value is nic0.
39107
+ # The name for an association.
37428
39108
  # Corresponds to the JSON property `name`
37429
39109
  # @return [String]
37430
39110
  attr_accessor :name
37431
39111
 
37432
- # URL of the VPC network resource for this instance. When creating an instance,
37433
- # if neither the network nor the subnetwork is specified, the default network
37434
- # global/networks/default is used. If the selected project doesn't have the
37435
- # default network, you must specify a network or subnet. If the network is not
37436
- # specified but the subnetwork is specified, the network is inferred. If you
37437
- # specify this property, you can specify the network as a full or partial URL.
37438
- # For example, the following are all valid URLs: - https://www.googleapis.com/
37439
- # compute/v1/projects/project/global/networks/ network - projects/project/global/
37440
- # networks/network - global/networks/default
37441
- # Corresponds to the JSON property `network`
37442
- # @return [String]
37443
- attr_accessor :network
37444
-
37445
- # The URL of the network attachment that this interface should connect to in the
37446
- # following format: projects/`project_number`/regions/`region_name`/
37447
- # networkAttachments/`network_attachment_name`.
37448
- # Corresponds to the JSON property `networkAttachment`
37449
- # @return [String]
37450
- attr_accessor :network_attachment
37451
-
37452
- # An IPv4 internal IP address to assign to the instance for this network
37453
- # interface. If not specified by the user, an unused internal IP is assigned by
37454
- # the system.
37455
- # Corresponds to the JSON property `networkIP`
37456
- # @return [String]
37457
- attr_accessor :network_ip
37458
-
37459
- # The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet.
37460
- # Corresponds to the JSON property `nicType`
37461
- # @return [String]
37462
- attr_accessor :nic_type
37463
-
37464
- # Name of the parent network interface of a dynamic network interface.
37465
- # Corresponds to the JSON property `parentNicName`
37466
- # @return [String]
37467
- attr_accessor :parent_nic_name
37468
-
37469
- # The networking queue count that's specified by users for the network interface.
37470
- # Both Rx and Tx queues will be set to this number. It'll be empty if not
37471
- # specified by the users.
37472
- # Corresponds to the JSON property `queueCount`
37473
- # @return [Fixnum]
37474
- attr_accessor :queue_count
37475
-
37476
- # The stack type for this network interface. To assign only IPv4 addresses, use
37477
- # IPV4_ONLY. To assign both IPv4 and IPv6 addresses, use IPV4_IPV6. If not
37478
- # specified, IPV4_ONLY is used. This field can be both set at instance creation
37479
- # and update network interface operations.
37480
- # Corresponds to the JSON property `stackType`
37481
- # @return [String]
37482
- attr_accessor :stack_type
37483
-
37484
- # SubInterfaces help enable L2 communication for the instance over subnetworks
37485
- # that support L2. Every network interface will get a default untagged (vlan not
37486
- # specified) subinterface. Users can specify additional tagged subinterfaces
37487
- # which are sub-fields to the Network Interface.
37488
- # Corresponds to the JSON property `subinterfaces`
37489
- # @return [Array<Google::Apis::ComputeAlpha::NetworkInterfaceSubInterface>]
37490
- attr_accessor :subinterfaces
37491
-
37492
- # The URL of the Subnetwork resource for this instance. If the network resource
37493
- # is in legacy mode, do not specify this field. If the network is in auto subnet
37494
- # mode, specifying the subnetwork is optional. If the network is in custom
37495
- # subnet mode, specifying the subnetwork is required. If you specify this field,
37496
- # you can specify the subnetwork as a full or partial URL. For example, the
37497
- # following are all valid URLs: - https://www.googleapis.com/compute/v1/projects/
37498
- # project/regions/region /subnetworks/subnetwork - regions/region/subnetworks/
37499
- # subnetwork
37500
- # Corresponds to the JSON property `subnetwork`
37501
- # @return [String]
37502
- attr_accessor :subnetwork
37503
-
37504
- # VLAN tag of a dynamic network interface, must be an integer in the range from
37505
- # 2 to 255 inclusively.
37506
- # Corresponds to the JSON property `vlan`
37507
- # @return [Fixnum]
37508
- attr_accessor :vlan
37509
-
37510
39112
  def initialize(**args)
37511
39113
  update!(**args)
37512
39114
  end
37513
39115
 
37514
39116
  # Update properties of this object
37515
39117
  def update!(**args)
37516
- @access_configs = args[:access_configs] if args.key?(:access_configs)
37517
- @alias_ip_ranges = args[:alias_ip_ranges] if args.key?(:alias_ip_ranges)
37518
- @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
37519
- @igmp_query = args[:igmp_query] if args.key?(:igmp_query)
37520
- @internal_ipv6_prefix_length = args[:internal_ipv6_prefix_length] if args.key?(:internal_ipv6_prefix_length)
37521
- @ipv6_access_configs = args[:ipv6_access_configs] if args.key?(:ipv6_access_configs)
37522
- @ipv6_access_type = args[:ipv6_access_type] if args.key?(:ipv6_access_type)
37523
- @ipv6_address = args[:ipv6_address] if args.key?(:ipv6_address)
37524
- @kind = args[:kind] if args.key?(:kind)
39118
+ @attachment_target = args[:attachment_target] if args.key?(:attachment_target)
37525
39119
  @name = args[:name] if args.key?(:name)
37526
- @network = args[:network] if args.key?(:network)
37527
- @network_attachment = args[:network_attachment] if args.key?(:network_attachment)
37528
- @network_ip = args[:network_ip] if args.key?(:network_ip)
37529
- @nic_type = args[:nic_type] if args.key?(:nic_type)
37530
- @parent_nic_name = args[:parent_nic_name] if args.key?(:parent_nic_name)
37531
- @queue_count = args[:queue_count] if args.key?(:queue_count)
37532
- @stack_type = args[:stack_type] if args.key?(:stack_type)
37533
- @subinterfaces = args[:subinterfaces] if args.key?(:subinterfaces)
37534
- @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
37535
- @vlan = args[:vlan] if args.key?(:vlan)
37536
39120
  end
37537
39121
  end
37538
39122
 
37539
39123
  #
37540
- class NetworkInterfaceSubInterface
37541
- include Google::Apis::Core::Hashable
37542
-
37543
- # An IPv4 internal IP address to assign to the instance for this subinterface.
37544
- # If specified, ip_allocation_mode should be set to ALLOCATE_IP.
37545
- # Corresponds to the JSON property `ipAddress`
37546
- # @return [String]
37547
- attr_accessor :ip_address
37548
-
37549
- #
37550
- # Corresponds to the JSON property `ipAllocationMode`
37551
- # @return [String]
37552
- attr_accessor :ip_allocation_mode
37553
-
37554
- # If specified, this subnetwork must belong to the same network as that of the
37555
- # network interface. If not specified the subnet of network interface will be
37556
- # used. If you specify this property, you can specify the subnetwork as a full
37557
- # or partial URL. For example, the following are all valid URLs: - https://www.
37558
- # googleapis.com/compute/v1/projects/project/regions/region /subnetworks/
37559
- # subnetwork - regions/region/subnetworks/subnetwork
37560
- # Corresponds to the JSON property `subnetwork`
37561
- # @return [String]
37562
- attr_accessor :subnetwork
37563
-
37564
- # VLAN tag. Should match the VLAN(s) supported by the subnetwork to which this
37565
- # subinterface is connecting.
37566
- # Corresponds to the JSON property `vlan`
37567
- # @return [Fixnum]
37568
- attr_accessor :vlan
37569
-
37570
- def initialize(**args)
37571
- update!(**args)
37572
- end
37573
-
37574
- # Update properties of this object
37575
- def update!(**args)
37576
- @ip_address = args[:ip_address] if args.key?(:ip_address)
37577
- @ip_allocation_mode = args[:ip_allocation_mode] if args.key?(:ip_allocation_mode)
37578
- @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
37579
- @vlan = args[:vlan] if args.key?(:vlan)
37580
- end
37581
- end
37582
-
37583
- # Contains a list of networks.
37584
- class NetworkList
39124
+ class NetworkPolicyList
37585
39125
  include Google::Apis::Core::Hashable
37586
39126
 
37587
39127
  # [Output Only] Unique identifier for the resource; defined by the server.
@@ -37589,13 +39129,13 @@ module Google
37589
39129
  # @return [String]
37590
39130
  attr_accessor :id
37591
39131
 
37592
- # A list of Network resources.
39132
+ # A list of NetworkPolicy resources.
37593
39133
  # Corresponds to the JSON property `items`
37594
- # @return [Array<Google::Apis::ComputeAlpha::Network>]
39134
+ # @return [Array<Google::Apis::ComputeAlpha::NetworkPolicy>]
37595
39135
  attr_accessor :items
37596
39136
 
37597
- # [Output Only] Type of resource. Always compute#networkList for lists of
37598
- # networks.
39137
+ # [Output Only] Type of resource. Always compute#networkPolicyList for lists of
39138
+ # network policies.
37599
39139
  # Corresponds to the JSON property `kind`
37600
39140
  # @return [String]
37601
39141
  attr_accessor :kind
@@ -37609,14 +39149,9 @@ module Google
37609
39149
  # @return [String]
37610
39150
  attr_accessor :next_page_token
37611
39151
 
37612
- # [Output Only] Server-defined URL for this resource.
37613
- # Corresponds to the JSON property `selfLink`
37614
- # @return [String]
37615
- attr_accessor :self_link
37616
-
37617
39152
  # [Output Only] Informational warning message.
37618
39153
  # Corresponds to the JSON property `warning`
37619
- # @return [Google::Apis::ComputeAlpha::NetworkList::Warning]
39154
+ # @return [Google::Apis::ComputeAlpha::NetworkPolicyList::Warning]
37620
39155
  attr_accessor :warning
37621
39156
 
37622
39157
  def initialize(**args)
@@ -37629,7 +39164,6 @@ module Google
37629
39164
  @items = args[:items] if args.key?(:items)
37630
39165
  @kind = args[:kind] if args.key?(:kind)
37631
39166
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
37632
- @self_link = args[:self_link] if args.key?(:self_link)
37633
39167
  @warning = args[:warning] if args.key?(:warning)
37634
39168
  end
37635
39169
 
@@ -37646,7 +39180,7 @@ module Google
37646
39180
  # [Output Only] Metadata about this warning in key: value format. For example: "
37647
39181
  # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
37648
39182
  # Corresponds to the JSON property `data`
37649
- # @return [Array<Google::Apis::ComputeAlpha::NetworkList::Warning::Datum>]
39183
+ # @return [Array<Google::Apis::ComputeAlpha::NetworkPolicyList::Warning::Datum>]
37650
39184
  attr_accessor :data
37651
39185
 
37652
39186
  # [Output Only] A human-readable description of the warning code.
@@ -37684,161 +39218,95 @@ module Google
37684
39218
  # Corresponds to the JSON property `value`
37685
39219
  # @return [String]
37686
39220
  attr_accessor :value
37687
-
37688
- def initialize(**args)
37689
- update!(**args)
37690
- end
37691
-
37692
- # Update properties of this object
37693
- def update!(**args)
37694
- @key = args[:key] if args.key?(:key)
37695
- @value = args[:value] if args.key?(:value)
37696
- end
37697
- end
37698
- end
37699
- end
37700
-
37701
- # Additional network parameters.
37702
- class NetworkParams
37703
- include Google::Apis::Core::Hashable
37704
-
37705
- # Tag keys/values directly bound to this resource. Tag keys and values have the
37706
- # same definition as resource manager tags. The field is allowed for INSERT only.
37707
- # The keys/values to set on the resource should be specified in either ID ` : `
37708
- # or Namespaced format ` : `. For example the following are valid inputs: * `"
37709
- # tagKeys/333" : "tagValues/444", "tagKeys/123" : "tagValues/456"` * `"123/
37710
- # environment" : "production", "345/abc" : "xyz"` Note: * Invalid combinations
37711
- # of ID & namespaced format is not supported. For instance: `"123/environment" :
37712
- # "tagValues/444"` is invalid.
37713
- # Corresponds to the JSON property `resourceManagerTags`
37714
- # @return [Hash<String,String>]
37715
- attr_accessor :resource_manager_tags
37716
-
37717
- def initialize(**args)
37718
- update!(**args)
37719
- end
37720
-
37721
- # Update properties of this object
37722
- def update!(**args)
37723
- @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
37724
- end
37725
- end
37726
-
37727
- # A network peering attached to a network resource. The message includes the
37728
- # peering name, peer network, peering state, and a flag indicating whether
37729
- # Google Compute Engine should automatically create routes for the peering.
37730
- class NetworkPeering
37731
- include Google::Apis::Core::Hashable
37732
-
37733
- # Whether Cloud Routers in this network can automatically advertise subnets from
37734
- # the peer network.
37735
- # Corresponds to the JSON property `advertisePeerSubnetsViaRouters`
37736
- # @return [Boolean]
37737
- attr_accessor :advertise_peer_subnets_via_routers
37738
- alias_method :advertise_peer_subnets_via_routers?, :advertise_peer_subnets_via_routers
37739
-
37740
- # This field will be deprecated soon. Use the exchange_subnet_routes field
37741
- # instead. Indicates whether full mesh connectivity is created and managed
37742
- # automatically between peered networks. Currently this field should always be
37743
- # true since Google Compute Engine will automatically create and manage
37744
- # subnetwork routes between two networks when peering state is ACTIVE.
37745
- # Corresponds to the JSON property `autoCreateRoutes`
37746
- # @return [Boolean]
37747
- attr_accessor :auto_create_routes
37748
- alias_method :auto_create_routes?, :auto_create_routes
37749
-
37750
- # [Output Only] Describes the state of a peering connection, not just the local
37751
- # peering. This field provides information about the effective settings for the
37752
- # connection as a whole, including pending delete/update requests for CONSENSUS
37753
- # peerings.
37754
- # Corresponds to the JSON property `connectionStatus`
37755
- # @return [Google::Apis::ComputeAlpha::NetworkPeeringConnectionStatus]
37756
- attr_accessor :connection_status
37757
-
37758
- # Indicates whether full mesh connectivity is created and managed automatically
37759
- # between peered networks. Currently this field should always be true since
37760
- # Google Compute Engine will automatically create and manage subnetwork routes
37761
- # between two networks when peering state is ACTIVE.
37762
- # Corresponds to the JSON property `exchangeSubnetRoutes`
37763
- # @return [Boolean]
37764
- attr_accessor :exchange_subnet_routes
37765
- alias_method :exchange_subnet_routes?, :exchange_subnet_routes
39221
+
39222
+ def initialize(**args)
39223
+ update!(**args)
39224
+ end
39225
+
39226
+ # Update properties of this object
39227
+ def update!(**args)
39228
+ @key = args[:key] if args.key?(:key)
39229
+ @value = args[:value] if args.key?(:value)
39230
+ end
39231
+ end
39232
+ end
39233
+ end
37766
39234
 
37767
- # Whether to export the custom routes to peer network. The default value is
37768
- # false.
37769
- # Corresponds to the JSON property `exportCustomRoutes`
37770
- # @return [Boolean]
37771
- attr_accessor :export_custom_routes
37772
- alias_method :export_custom_routes?, :export_custom_routes
39235
+ # Represents a traffic classification rule that describes one or more match
39236
+ # conditions along with the action to be taken when traffic matches this
39237
+ # condition.
39238
+ class NetworkPolicyTrafficClassificationRule
39239
+ include Google::Apis::Core::Hashable
37773
39240
 
37774
- # Whether subnet routes with public IP range are exported. The default value is
37775
- # true, all subnet routes are exported. IPv4 special-use ranges are always
37776
- # exported to peers and are not controlled by this field.
37777
- # Corresponds to the JSON property `exportSubnetRoutesWithPublicIp`
37778
- # @return [Boolean]
37779
- attr_accessor :export_subnet_routes_with_public_ip
37780
- alias_method :export_subnet_routes_with_public_ip?, :export_subnet_routes_with_public_ip
39241
+ # The Action to perform when the client connection triggers the rule.
39242
+ # Corresponds to the JSON property `action`
39243
+ # @return [Google::Apis::ComputeAlpha::NetworkPolicyTrafficClassificationRuleAction]
39244
+ attr_accessor :action
37781
39245
 
37782
- # Whether to import the custom routes from peer network. The default value is
37783
- # false.
37784
- # Corresponds to the JSON property `importCustomRoutes`
37785
- # @return [Boolean]
37786
- attr_accessor :import_custom_routes
37787
- alias_method :import_custom_routes?, :import_custom_routes
39246
+ # An optional description for this resource.
39247
+ # Corresponds to the JSON property `description`
39248
+ # @return [String]
39249
+ attr_accessor :description
37788
39250
 
37789
- # Whether subnet routes with public IP range are imported. The default value is
37790
- # false. IPv4 special-use ranges are always imported from peers and are not
37791
- # controlled by this field.
37792
- # Corresponds to the JSON property `importSubnetRoutesWithPublicIp`
39251
+ # Denotes whether the network policy rule is disabled. When set to true, the
39252
+ # network policy rule is not enforced and traffic behaves as if it did not exist.
39253
+ # If this is unspecified, the network policy rule will be enabled.
39254
+ # Corresponds to the JSON property `disabled`
37793
39255
  # @return [Boolean]
37794
- attr_accessor :import_subnet_routes_with_public_ip
37795
- alias_method :import_subnet_routes_with_public_ip?, :import_subnet_routes_with_public_ip
39256
+ attr_accessor :disabled
39257
+ alias_method :disabled?, :disabled
37796
39258
 
37797
- # Name of this peering. Provided by the client when the peering is created. The
37798
- # name must comply with RFC1035. Specifically, the name must be 1-63 characters
37799
- # long and match regular expression `[a-z]([-a-z0-9]*[a-z0-9])?`. The first
37800
- # character must be a lowercase letter, and all the following characters must be
37801
- # a dash, lowercase letter, or digit, except the last character, which cannot be
37802
- # a dash.
37803
- # Corresponds to the JSON property `name`
39259
+ # [Output only] Type of the resource. Always compute#
39260
+ # networkPolicyTrafficClassificationRule for network policy traffic
39261
+ # classification rules
39262
+ # Corresponds to the JSON property `kind`
37804
39263
  # @return [String]
37805
- attr_accessor :name
39264
+ attr_accessor :kind
37806
39265
 
37807
- # The URL of the peer network. It can be either full URL or partial URL. The
37808
- # peer network may belong to a different project. If the partial URL does not
37809
- # contain project, it is assumed that the peer network is in the same project as
37810
- # the current network.
37811
- # Corresponds to the JSON property `network`
37812
- # @return [String]
37813
- attr_accessor :network
39266
+ # Represents a match condition that incoming traffic is evaluated against.
39267
+ # Exactly one field must be specified.
39268
+ # Corresponds to the JSON property `match`
39269
+ # @return [Google::Apis::ComputeAlpha::NetworkPolicyTrafficClassificationRuleMatcher]
39270
+ attr_accessor :match
37814
39271
 
37815
- # [Output Only] Maximum Transmission Unit in bytes of the peer network.
37816
- # Corresponds to the JSON property `peerMtu`
39272
+ # An integer indicating the priority of a rule in the list. The priority must be
39273
+ # a positive value between 1 and 2147482647. The priority values from 2147482648
39274
+ # to 2147483647 (1000) are reserved for system default network policy rules.
39275
+ # Rules are evaluated from highest to lowest priority where 1 is the highest
39276
+ # priority and 2147483647 is the lowest priority.
39277
+ # Corresponds to the JSON property `priority`
37817
39278
  # @return [Fixnum]
37818
- attr_accessor :peer_mtu
39279
+ attr_accessor :priority
37819
39280
 
37820
- # Which IP version(s) of traffic and routes are allowed to be imported or
37821
- # exported between peer networks. The default value is IPV4_ONLY.
37822
- # Corresponds to the JSON property `stackType`
39281
+ # An optional name for the rule. This field is not a unique identifier and can
39282
+ # be updated.
39283
+ # Corresponds to the JSON property `ruleName`
37823
39284
  # @return [String]
37824
- attr_accessor :stack_type
39285
+ attr_accessor :rule_name
37825
39286
 
37826
- # [Output Only] State for the peering, either `ACTIVE` or `INACTIVE`. The
37827
- # peering is `ACTIVE` when there's a matching configuration in the peer network.
37828
- # Corresponds to the JSON property `state`
37829
- # @return [String]
37830
- attr_accessor :state
39287
+ # [Output Only] Calculation of the complexity of a single network policy rule.
39288
+ # Corresponds to the JSON property `ruleTupleCount`
39289
+ # @return [Fixnum]
39290
+ attr_accessor :rule_tuple_count
37831
39291
 
37832
- # [Output Only] Details about the current state of the peering.
37833
- # Corresponds to the JSON property `stateDetails`
37834
- # @return [String]
37835
- attr_accessor :state_details
39292
+ # A list of secure tags that controls which instances the traffic classification
39293
+ # rule applies to. If targetSecureTag are specified, then the traffic
39294
+ # classification rule applies only to instances in the VPC network that have one
39295
+ # of those EFFECTIVE secure tags, if all the targetSecureTag are in INEFFECTIVE
39296
+ # state, then this rule will be ignored. targetSecureTag may not be set at the
39297
+ # same time as targetServiceAccounts. If neither targetServiceAccounts nor
39298
+ # targetSecureTag are specified, the traffic classification rule applies to all
39299
+ # instances on the specified network. Maximum number of target label tags
39300
+ # allowed is 256.
39301
+ # Corresponds to the JSON property `targetSecureTags`
39302
+ # @return [Array<Google::Apis::ComputeAlpha::NetworkPolicyTrafficClassificationRuleSecureTag>]
39303
+ attr_accessor :target_secure_tags
37836
39304
 
37837
- # The update strategy determines the semantics for updates and deletes to the
37838
- # peering connection configuration.
37839
- # Corresponds to the JSON property `updateStrategy`
37840
- # @return [String]
37841
- attr_accessor :update_strategy
39305
+ # A list of service accounts indicating the sets of instances that are applied
39306
+ # with this rule.
39307
+ # Corresponds to the JSON property `targetServiceAccounts`
39308
+ # @return [Array<String>]
39309
+ attr_accessor :target_service_accounts
37842
39310
 
37843
39311
  def initialize(**args)
37844
39312
  update!(**args)
@@ -37846,49 +39314,37 @@ module Google
37846
39314
 
37847
39315
  # Update properties of this object
37848
39316
  def update!(**args)
37849
- @advertise_peer_subnets_via_routers = args[:advertise_peer_subnets_via_routers] if args.key?(:advertise_peer_subnets_via_routers)
37850
- @auto_create_routes = args[:auto_create_routes] if args.key?(:auto_create_routes)
37851
- @connection_status = args[:connection_status] if args.key?(:connection_status)
37852
- @exchange_subnet_routes = args[:exchange_subnet_routes] if args.key?(:exchange_subnet_routes)
37853
- @export_custom_routes = args[:export_custom_routes] if args.key?(:export_custom_routes)
37854
- @export_subnet_routes_with_public_ip = args[:export_subnet_routes_with_public_ip] if args.key?(:export_subnet_routes_with_public_ip)
37855
- @import_custom_routes = args[:import_custom_routes] if args.key?(:import_custom_routes)
37856
- @import_subnet_routes_with_public_ip = args[:import_subnet_routes_with_public_ip] if args.key?(:import_subnet_routes_with_public_ip)
37857
- @name = args[:name] if args.key?(:name)
37858
- @network = args[:network] if args.key?(:network)
37859
- @peer_mtu = args[:peer_mtu] if args.key?(:peer_mtu)
37860
- @stack_type = args[:stack_type] if args.key?(:stack_type)
37861
- @state = args[:state] if args.key?(:state)
37862
- @state_details = args[:state_details] if args.key?(:state_details)
37863
- @update_strategy = args[:update_strategy] if args.key?(:update_strategy)
39317
+ @action = args[:action] if args.key?(:action)
39318
+ @description = args[:description] if args.key?(:description)
39319
+ @disabled = args[:disabled] if args.key?(:disabled)
39320
+ @kind = args[:kind] if args.key?(:kind)
39321
+ @match = args[:match] if args.key?(:match)
39322
+ @priority = args[:priority] if args.key?(:priority)
39323
+ @rule_name = args[:rule_name] if args.key?(:rule_name)
39324
+ @rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
39325
+ @target_secure_tags = args[:target_secure_tags] if args.key?(:target_secure_tags)
39326
+ @target_service_accounts = args[:target_service_accounts] if args.key?(:target_service_accounts)
37864
39327
  end
37865
39328
  end
37866
39329
 
37867
- # [Output Only] Describes the state of a peering connection, not just the local
37868
- # peering. This field provides information about the effective settings for the
37869
- # connection as a whole, including pending delete/update requests for CONSENSUS
37870
- # peerings.
37871
- class NetworkPeeringConnectionStatus
39330
+ #
39331
+ class NetworkPolicyTrafficClassificationRuleAction
37872
39332
  include Google::Apis::Core::Hashable
37873
39333
 
37874
- # The status of update/delete for a consensus peering connection. Only set when
37875
- # connection_status.update_strategy is CONSENSUS or a network peering is
37876
- # proposing to update the strategy to CONSENSUS.
37877
- # Corresponds to the JSON property `consensusState`
37878
- # @return [Google::Apis::ComputeAlpha::NetworkPeeringConnectionStatusConsensusState]
37879
- attr_accessor :consensus_state
39334
+ # The field type could be one of: TRAFFIC_CLASS or DSCP.
39335
+ # Corresponds to the JSON property `fieldType`
39336
+ # @return [String]
39337
+ attr_accessor :field_type
37880
39338
 
37881
- # The active connectivity settings for the peering connection based on the
37882
- # settings of the network peerings.
37883
- # Corresponds to the JSON property `trafficConfiguration`
37884
- # @return [Google::Apis::ComputeAlpha::NetworkPeeringConnectionStatusTrafficConfiguration]
37885
- attr_accessor :traffic_configuration
39339
+ # For field_type = TRAFFIC_CLASS: 1 to 6. For field_type = DSCP: 0 to 63.
39340
+ # Corresponds to the JSON property `fieldValue`
39341
+ # @return [Fixnum]
39342
+ attr_accessor :field_value
37886
39343
 
37887
- # The update strategy determines the update/delete semantics for this peering
37888
- # connection.
37889
- # Corresponds to the JSON property `updateStrategy`
39344
+ # Always "apply_traffic_classification" for traffic classification rules.
39345
+ # Corresponds to the JSON property `type`
37890
39346
  # @return [String]
37891
- attr_accessor :update_strategy
39347
+ attr_accessor :type
37892
39348
 
37893
39349
  def initialize(**args)
37894
39350
  update!(**args)
@@ -37896,27 +39352,32 @@ module Google
37896
39352
 
37897
39353
  # Update properties of this object
37898
39354
  def update!(**args)
37899
- @consensus_state = args[:consensus_state] if args.key?(:consensus_state)
37900
- @traffic_configuration = args[:traffic_configuration] if args.key?(:traffic_configuration)
37901
- @update_strategy = args[:update_strategy] if args.key?(:update_strategy)
39355
+ @field_type = args[:field_type] if args.key?(:field_type)
39356
+ @field_value = args[:field_value] if args.key?(:field_value)
39357
+ @type = args[:type] if args.key?(:type)
37902
39358
  end
37903
39359
  end
37904
39360
 
37905
- # The status of update/delete for a consensus peering connection. Only set when
37906
- # connection_status.update_strategy is CONSENSUS or a network peering is
37907
- # proposing to update the strategy to CONSENSUS.
37908
- class NetworkPeeringConnectionStatusConsensusState
39361
+ # Represents a match condition that incoming traffic is evaluated against.
39362
+ # Exactly one field must be specified.
39363
+ class NetworkPolicyTrafficClassificationRuleMatcher
37909
39364
  include Google::Apis::Core::Hashable
37910
39365
 
37911
- # The status of the delete request.
37912
- # Corresponds to the JSON property `deleteStatus`
37913
- # @return [String]
37914
- attr_accessor :delete_status
39366
+ # CIDR IP address range. Maximum number of destination CIDR IP ranges allowed is
39367
+ # 5000.
39368
+ # Corresponds to the JSON property `destIpRanges`
39369
+ # @return [Array<String>]
39370
+ attr_accessor :dest_ip_ranges
37915
39371
 
37916
- # The status of the update request.
37917
- # Corresponds to the JSON property `updateStatus`
37918
- # @return [String]
37919
- attr_accessor :update_status
39372
+ # Pairs of IP protocols and ports that the rule should match.
39373
+ # Corresponds to the JSON property `layer4Configs`
39374
+ # @return [Array<Google::Apis::ComputeAlpha::NetworkPolicyTrafficClassificationRuleMatcherLayer4Config>]
39375
+ attr_accessor :layer4_configs
39376
+
39377
+ # CIDR IP address range. Maximum number of source CIDR IP ranges allowed is 5000.
39378
+ # Corresponds to the JSON property `srcIpRanges`
39379
+ # @return [Array<String>]
39380
+ attr_accessor :src_ip_ranges
37920
39381
 
37921
39382
  def initialize(**args)
37922
39383
  update!(**args)
@@ -37924,46 +39385,31 @@ module Google
37924
39385
 
37925
39386
  # Update properties of this object
37926
39387
  def update!(**args)
37927
- @delete_status = args[:delete_status] if args.key?(:delete_status)
37928
- @update_status = args[:update_status] if args.key?(:update_status)
39388
+ @dest_ip_ranges = args[:dest_ip_ranges] if args.key?(:dest_ip_ranges)
39389
+ @layer4_configs = args[:layer4_configs] if args.key?(:layer4_configs)
39390
+ @src_ip_ranges = args[:src_ip_ranges] if args.key?(:src_ip_ranges)
37929
39391
  end
37930
39392
  end
37931
39393
 
37932
39394
  #
37933
- class NetworkPeeringConnectionStatusTrafficConfiguration
39395
+ class NetworkPolicyTrafficClassificationRuleMatcherLayer4Config
37934
39396
  include Google::Apis::Core::Hashable
37935
39397
 
37936
- # Whether custom routes are being exported to the peer network.
37937
- # Corresponds to the JSON property `exportCustomRoutesToPeer`
37938
- # @return [Boolean]
37939
- attr_accessor :export_custom_routes_to_peer
37940
- alias_method :export_custom_routes_to_peer?, :export_custom_routes_to_peer
37941
-
37942
- # Whether subnet routes with public IP ranges are being exported to the peer
37943
- # network.
37944
- # Corresponds to the JSON property `exportSubnetRoutesWithPublicIpToPeer`
37945
- # @return [Boolean]
37946
- attr_accessor :export_subnet_routes_with_public_ip_to_peer
37947
- alias_method :export_subnet_routes_with_public_ip_to_peer?, :export_subnet_routes_with_public_ip_to_peer
37948
-
37949
- # Whether custom routes are being imported from the peer network.
37950
- # Corresponds to the JSON property `importCustomRoutesFromPeer`
37951
- # @return [Boolean]
37952
- attr_accessor :import_custom_routes_from_peer
37953
- alias_method :import_custom_routes_from_peer?, :import_custom_routes_from_peer
37954
-
37955
- # Whether subnet routes with public IP ranges are being imported from the peer
37956
- # network.
37957
- # Corresponds to the JSON property `importSubnetRoutesWithPublicIpFromPeer`
37958
- # @return [Boolean]
37959
- attr_accessor :import_subnet_routes_with_public_ip_from_peer
37960
- alias_method :import_subnet_routes_with_public_ip_from_peer?, :import_subnet_routes_with_public_ip_from_peer
37961
-
37962
- # Which IP version(s) of traffic and routes are being imported or exported
37963
- # between peer networks.
37964
- # Corresponds to the JSON property `stackType`
39398
+ # The IP protocol to which this rule applies. The protocol type is required when
39399
+ # creating a traffic classification rule. This value can either be one of the
39400
+ # following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp),
39401
+ # or the IP protocol number.
39402
+ # Corresponds to the JSON property `ipProtocol`
37965
39403
  # @return [String]
37966
- attr_accessor :stack_type
39404
+ attr_accessor :ip_protocol
39405
+
39406
+ # An optional list of ports to which this rule applies. This field is only
39407
+ # applicable for UDP or TCP protocol. Each entry must be either an integer or a
39408
+ # range. If not specified, this rule applies to connections through any port.
39409
+ # Example inputs include: ["22"], ["80","443"], and ["12345-12349"].
39410
+ # Corresponds to the JSON property `ports`
39411
+ # @return [Array<String>]
39412
+ attr_accessor :ports
37967
39413
 
37968
39414
  def initialize(**args)
37969
39415
  update!(**args)
@@ -37971,27 +39417,25 @@ module Google
37971
39417
 
37972
39418
  # Update properties of this object
37973
39419
  def update!(**args)
37974
- @export_custom_routes_to_peer = args[:export_custom_routes_to_peer] if args.key?(:export_custom_routes_to_peer)
37975
- @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)
37976
- @import_custom_routes_from_peer = args[:import_custom_routes_from_peer] if args.key?(:import_custom_routes_from_peer)
37977
- @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)
37978
- @stack_type = args[:stack_type] if args.key?(:stack_type)
39420
+ @ip_protocol = args[:ip_protocol] if args.key?(:ip_protocol)
39421
+ @ports = args[:ports] if args.key?(:ports)
37979
39422
  end
37980
39423
  end
37981
39424
 
37982
39425
  #
37983
- class NetworkPerformanceConfig
39426
+ class NetworkPolicyTrafficClassificationRuleSecureTag
37984
39427
  include Google::Apis::Core::Hashable
37985
39428
 
37986
- #
37987
- # Corresponds to the JSON property `externalIpEgressBandwidthTier`
39429
+ # Name of the secure tag, created with TagManager's TagValue API.
39430
+ # Corresponds to the JSON property `name`
37988
39431
  # @return [String]
37989
- attr_accessor :external_ip_egress_bandwidth_tier
39432
+ attr_accessor :name
37990
39433
 
37991
- #
37992
- # Corresponds to the JSON property `totalEgressBandwidthTier`
39434
+ # [Output Only] State of the secure tag, either `EFFECTIVE` or `INEFFECTIVE`. A
39435
+ # secure tag is `INEFFECTIVE` when it is deleted or its network is deleted.
39436
+ # Corresponds to the JSON property `state`
37993
39437
  # @return [String]
37994
- attr_accessor :total_egress_bandwidth_tier
39438
+ attr_accessor :state
37995
39439
 
37996
39440
  def initialize(**args)
37997
39441
  update!(**args)
@@ -37999,8 +39443,8 @@ module Google
37999
39443
 
38000
39444
  # Update properties of this object
38001
39445
  def update!(**args)
38002
- @external_ip_egress_bandwidth_tier = args[:external_ip_egress_bandwidth_tier] if args.key?(:external_ip_egress_bandwidth_tier)
38003
- @total_egress_bandwidth_tier = args[:total_egress_bandwidth_tier] if args.key?(:total_egress_bandwidth_tier)
39446
+ @name = args[:name] if args.key?(:name)
39447
+ @state = args[:state] if args.key?(:state)
38004
39448
  end
38005
39449
  end
38006
39450
 
@@ -51191,6 +52635,11 @@ module Google
51191
52635
  # @return [Google::Apis::ComputeAlpha::ResourceStatusPhysicalHostTopology]
51192
52636
  attr_accessor :physical_host_topology
51193
52637
 
52638
+ # [Output Only] Reservation information that the instance is consuming from.
52639
+ # Corresponds to the JSON property `reservationConsumptionInfo`
52640
+ # @return [Google::Apis::ComputeAlpha::ResourceStatusReservationConsumptionInfo]
52641
+ attr_accessor :reservation_consumption_info
52642
+
51194
52643
  #
51195
52644
  # Corresponds to the JSON property `scheduling`
51196
52645
  # @return [Google::Apis::ComputeAlpha::ResourceStatusScheduling]
@@ -51226,6 +52675,7 @@ module Google
51226
52675
  @last_instance_termination_details = args[:last_instance_termination_details] if args.key?(:last_instance_termination_details)
51227
52676
  @physical_host = args[:physical_host] if args.key?(:physical_host)
51228
52677
  @physical_host_topology = args[:physical_host_topology] if args.key?(:physical_host_topology)
52678
+ @reservation_consumption_info = args[:reservation_consumption_info] if args.key?(:reservation_consumption_info)
51229
52679
  @scheduling = args[:scheduling] if args.key?(:scheduling)
51230
52680
  @service_integration_statuses = args[:service_integration_statuses] if args.key?(:service_integration_statuses)
51231
52681
  @shutdown_details = args[:shutdown_details] if args.key?(:shutdown_details)
@@ -51470,6 +52920,39 @@ module Google
51470
52920
  end
51471
52921
  end
51472
52922
 
52923
+ #
52924
+ class ResourceStatusReservationConsumptionInfo
52925
+ include Google::Apis::Core::Hashable
52926
+
52927
+ # The full resource name of the reservation that this instance is consuming from.
52928
+ # Corresponds to the JSON property `consumedReservation`
52929
+ # @return [String]
52930
+ attr_accessor :consumed_reservation
52931
+
52932
+ # The full resource name of the reservation block that this instance is
52933
+ # consuming from.
52934
+ # Corresponds to the JSON property `consumedReservationBlock`
52935
+ # @return [String]
52936
+ attr_accessor :consumed_reservation_block
52937
+
52938
+ # The full resource name of the reservation sub-block that this instance is
52939
+ # consuming from.
52940
+ # Corresponds to the JSON property `consumedReservationSubBlock`
52941
+ # @return [String]
52942
+ attr_accessor :consumed_reservation_sub_block
52943
+
52944
+ def initialize(**args)
52945
+ update!(**args)
52946
+ end
52947
+
52948
+ # Update properties of this object
52949
+ def update!(**args)
52950
+ @consumed_reservation = args[:consumed_reservation] if args.key?(:consumed_reservation)
52951
+ @consumed_reservation_block = args[:consumed_reservation_block] if args.key?(:consumed_reservation_block)
52952
+ @consumed_reservation_sub_block = args[:consumed_reservation_sub_block] if args.key?(:consumed_reservation_sub_block)
52953
+ end
52954
+ end
52955
+
51473
52956
  #
51474
52957
  class ResourceStatusScheduling
51475
52958
  include Google::Apis::Core::Hashable
@@ -53589,15 +55072,15 @@ module Google
53589
55072
  class RouterParams
53590
55073
  include Google::Apis::Core::Hashable
53591
55074
 
53592
- # Tag keys/values directly bound to this resource. Tag keys and values have the
53593
- # same definition as resource manager tags. The field is allowed for INSERT only.
53594
- # The keys/values to set on the resource should be specified in either ID ` : `
53595
- # or Namespaced format ` : `. For example the following are valid inputs: * `"
53596
- # tagKeys/333" : "tagValues/444", "tagKeys/123" : "tagValues/456"` * `"123/
53597
- # environment" : "production", "345/abc" : "xyz"` Note: * Invalid combinations
53598
- # of ID & namespaced format is not supported. For instance: `"123/environment" :
53599
- # "tagValues/444"` is invalid. * Inconsistent format is not supported. For
53600
- # instance: `"tagKeys/333" : "tagValues/444", "123/env" : "prod"` is invalid.
55075
+ # Tag keys/values directly bound to this resource. The field is allowed for
55076
+ # INSERT only. The keys/values to set on the resource should be specified in
55077
+ # either ID ` : ` or Namespaced format ` : `. For example the following are
55078
+ # valid inputs: * `"tagKeys/333" : "tagValues/444", "tagKeys/123" : "tagValues/
55079
+ # 456"` * `"123/environment" : "production", "345/abc" : "xyz"` Note: * Invalid
55080
+ # combinations of ID & namespaced format is not supported. For instance: `"123/
55081
+ # environment" : "tagValues/444"` is invalid. * Inconsistent format is not
55082
+ # supported. For instance: `"tagKeys/333" : "tagValues/444", "123/env" : "prod"`
55083
+ # is invalid.
53601
55084
  # Corresponds to the JSON property `resourceManagerTags`
53602
55085
  # @return [Hash<String,String>]
53603
55086
  attr_accessor :resource_manager_tags
@@ -54912,6 +56395,14 @@ module Google
54912
56395
  attr_accessor :preemptible
54913
56396
  alias_method :preemptible?, :preemptible
54914
56397
 
56398
+ # A Duration represents a fixed-length span of time represented as a count of
56399
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
56400
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
56401
+ # 000 years.
56402
+ # Corresponds to the JSON property `preemptionNoticeDuration`
56403
+ # @return [Google::Apis::ComputeAlpha::Duration]
56404
+ attr_accessor :preemption_notice_duration
56405
+
54915
56406
  # Specifies the provisioning model of the instance.
54916
56407
  # Corresponds to the JSON property `provisioningModel`
54917
56408
  # @return [String]
@@ -54969,6 +56460,7 @@ module Google
54969
56460
  @on_host_maintenance = args[:on_host_maintenance] if args.key?(:on_host_maintenance)
54970
56461
  @on_instance_stop_action = args[:on_instance_stop_action] if args.key?(:on_instance_stop_action)
54971
56462
  @preemptible = args[:preemptible] if args.key?(:preemptible)
56463
+ @preemption_notice_duration = args[:preemption_notice_duration] if args.key?(:preemption_notice_duration)
54972
56464
  @provisioning_model = args[:provisioning_model] if args.key?(:provisioning_model)
54973
56465
  @shutdown_timeout = args[:shutdown_timeout] if args.key?(:shutdown_timeout)
54974
56466
  @skip_guest_os_shutdown = args[:skip_guest_os_shutdown] if args.key?(:skip_guest_os_shutdown)
@@ -56253,7 +57745,7 @@ module Google
56253
57745
  # @return [String]
56254
57746
  attr_accessor :redirect_target
56255
57747
 
56256
- # [Output Only] The minimum managed protection tier required for this rule. [
57748
+ # [Output Only] The minimum Cloud Armor subscription required for this rule. [
56257
57749
  # Deprecated] Use requiredManagedProtectionTiers instead.
56258
57750
  # Corresponds to the JSON property `ruleManagedProtectionTier`
56259
57751
  # @return [String]
@@ -57618,6 +59110,11 @@ module Google
57618
59110
  # @return [String]
57619
59111
  attr_accessor :endpoint
57620
59112
 
59113
+ # The url of a connected endpoint with resource id.
59114
+ # Corresponds to the JSON property `endpointWithId`
59115
+ # @return [String]
59116
+ attr_accessor :endpoint_with_id
59117
+
57621
59118
  # NAT IPs of the connected PSC endpoint and those of other endpoints propagated
57622
59119
  # from it.
57623
59120
  # Corresponds to the JSON property `natIps`
@@ -57648,6 +59145,7 @@ module Google
57648
59145
  def update!(**args)
57649
59146
  @consumer_network = args[:consumer_network] if args.key?(:consumer_network)
57650
59147
  @endpoint = args[:endpoint] if args.key?(:endpoint)
59148
+ @endpoint_with_id = args[:endpoint_with_id] if args.key?(:endpoint_with_id)
57651
59149
  @nat_ips = args[:nat_ips] if args.key?(:nat_ips)
57652
59150
  @propagated_connection_count = args[:propagated_connection_count] if args.key?(:propagated_connection_count)
57653
59151
  @psc_connection_id = args[:psc_connection_id] if args.key?(:psc_connection_id)
@@ -57665,6 +59163,11 @@ module Google
57665
59163
  # @return [Fixnum]
57666
59164
  attr_accessor :connection_limit
57667
59165
 
59166
+ # The URL for the PSC endpoint to accept
59167
+ # Corresponds to the JSON property `endpointUrl`
59168
+ # @return [String]
59169
+ attr_accessor :endpoint_url
59170
+
57668
59171
  # The network URL for the network to set the limit for.
57669
59172
  # Corresponds to the JSON property `networkUrl`
57670
59173
  # @return [String]
@@ -57682,6 +59185,7 @@ module Google
57682
59185
  # Update properties of this object
57683
59186
  def update!(**args)
57684
59187
  @connection_limit = args[:connection_limit] if args.key?(:connection_limit)
59188
+ @endpoint_url = args[:endpoint_url] if args.key?(:endpoint_url)
57685
59189
  @network_url = args[:network_url] if args.key?(:network_url)
57686
59190
  @project_id_or_num = args[:project_id_or_num] if args.key?(:project_id_or_num)
57687
59191
  end
@@ -68721,6 +70225,97 @@ module Google
68721
70225
  end
68722
70226
  end
68723
70227
 
70228
+ #
70229
+ class VmExtensionPoliciesScopedList
70230
+ include Google::Apis::Core::Hashable
70231
+
70232
+ # List of VmExtensionPolicy resources contained in this scope.
70233
+ # Corresponds to the JSON property `vmExtensionPolicies`
70234
+ # @return [Array<Google::Apis::ComputeAlpha::VmExtensionPolicy>]
70235
+ attr_accessor :vm_extension_policies
70236
+
70237
+ # Informational warning which replaces the list of backend services when the
70238
+ # list is empty.
70239
+ # Corresponds to the JSON property `warning`
70240
+ # @return [Google::Apis::ComputeAlpha::VmExtensionPoliciesScopedList::Warning]
70241
+ attr_accessor :warning
70242
+
70243
+ def initialize(**args)
70244
+ update!(**args)
70245
+ end
70246
+
70247
+ # Update properties of this object
70248
+ def update!(**args)
70249
+ @vm_extension_policies = args[:vm_extension_policies] if args.key?(:vm_extension_policies)
70250
+ @warning = args[:warning] if args.key?(:warning)
70251
+ end
70252
+
70253
+ # Informational warning which replaces the list of backend services when the
70254
+ # list is empty.
70255
+ class Warning
70256
+ include Google::Apis::Core::Hashable
70257
+
70258
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
70259
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
70260
+ # Corresponds to the JSON property `code`
70261
+ # @return [String]
70262
+ attr_accessor :code
70263
+
70264
+ # [Output Only] Metadata about this warning in key: value format. For example: "
70265
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
70266
+ # Corresponds to the JSON property `data`
70267
+ # @return [Array<Google::Apis::ComputeAlpha::VmExtensionPoliciesScopedList::Warning::Datum>]
70268
+ attr_accessor :data
70269
+
70270
+ # [Output Only] A human-readable description of the warning code.
70271
+ # Corresponds to the JSON property `message`
70272
+ # @return [String]
70273
+ attr_accessor :message
70274
+
70275
+ def initialize(**args)
70276
+ update!(**args)
70277
+ end
70278
+
70279
+ # Update properties of this object
70280
+ def update!(**args)
70281
+ @code = args[:code] if args.key?(:code)
70282
+ @data = args[:data] if args.key?(:data)
70283
+ @message = args[:message] if args.key?(:message)
70284
+ end
70285
+
70286
+ #
70287
+ class Datum
70288
+ include Google::Apis::Core::Hashable
70289
+
70290
+ # [Output Only] A key that provides more detail on the warning being returned.
70291
+ # For example, for warnings where there are no results in a list request for a
70292
+ # particular zone, this key might be scope and the key value might be the zone
70293
+ # name. Other examples might be a key indicating a deprecated resource and a
70294
+ # suggested replacement, or a warning about invalid network settings (for
70295
+ # example, if an instance attempts to perform IP forwarding but is not enabled
70296
+ # for IP forwarding).
70297
+ # Corresponds to the JSON property `key`
70298
+ # @return [String]
70299
+ attr_accessor :key
70300
+
70301
+ # [Output Only] A warning data value corresponding to the key.
70302
+ # Corresponds to the JSON property `value`
70303
+ # @return [String]
70304
+ attr_accessor :value
70305
+
70306
+ def initialize(**args)
70307
+ update!(**args)
70308
+ end
70309
+
70310
+ # Update properties of this object
70311
+ def update!(**args)
70312
+ @key = args[:key] if args.key?(:key)
70313
+ @value = args[:value] if args.key?(:value)
70314
+ end
70315
+ end
70316
+ end
70317
+ end
70318
+
68724
70319
  # Represents a VM extension policy.
68725
70320
  class VmExtensionPolicy
68726
70321
  include Google::Apis::Core::Hashable
@@ -68834,6 +70429,136 @@ module Google
68834
70429
  end
68835
70430
  end
68836
70431
 
70432
+ # Response for the aggregated list of VM extension policies.
70433
+ class VmExtensionPolicyAggregatedListResponse
70434
+ include Google::Apis::Core::Hashable
70435
+
70436
+ #
70437
+ # Corresponds to the JSON property `etag`
70438
+ # @return [String]
70439
+ attr_accessor :etag
70440
+
70441
+ # [Output Only] Unique identifier for the resource; defined by the server.
70442
+ # Corresponds to the JSON property `id`
70443
+ # @return [String]
70444
+ attr_accessor :id
70445
+
70446
+ # A list of VmExtensionPoliciesScopedList resources.
70447
+ # Corresponds to the JSON property `items`
70448
+ # @return [Hash<String,Google::Apis::ComputeAlpha::VmExtensionPoliciesScopedList>]
70449
+ attr_accessor :items
70450
+
70451
+ # [Output Only] Type of resource. Always compute#VmExtensionPolicyAggregatedList
70452
+ # for lists of VmExtensionPolicies.
70453
+ # Corresponds to the JSON property `kind`
70454
+ # @return [String]
70455
+ attr_accessor :kind
70456
+
70457
+ # [Output Only] This token allows you to get the next page of results for list
70458
+ # requests. If the number of results is larger than maxResults, use the
70459
+ # nextPageToken as a value for the query parameter pageToken in the next list
70460
+ # request. Subsequent list requests will have their own nextPageToken to
70461
+ # continue paging through the results.
70462
+ # Corresponds to the JSON property `nextPageToken`
70463
+ # @return [String]
70464
+ attr_accessor :next_page_token
70465
+
70466
+ # [Output Only] Server-defined URL for this resource.
70467
+ # Corresponds to the JSON property `selfLink`
70468
+ # @return [String]
70469
+ attr_accessor :self_link
70470
+
70471
+ # [Output Only] Unreachable resources.
70472
+ # Corresponds to the JSON property `unreachables`
70473
+ # @return [Array<String>]
70474
+ attr_accessor :unreachables
70475
+
70476
+ # [Output Only] Informational warning message.
70477
+ # Corresponds to the JSON property `warning`
70478
+ # @return [Google::Apis::ComputeAlpha::VmExtensionPolicyAggregatedListResponse::Warning]
70479
+ attr_accessor :warning
70480
+
70481
+ def initialize(**args)
70482
+ update!(**args)
70483
+ end
70484
+
70485
+ # Update properties of this object
70486
+ def update!(**args)
70487
+ @etag = args[:etag] if args.key?(:etag)
70488
+ @id = args[:id] if args.key?(:id)
70489
+ @items = args[:items] if args.key?(:items)
70490
+ @kind = args[:kind] if args.key?(:kind)
70491
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
70492
+ @self_link = args[:self_link] if args.key?(:self_link)
70493
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
70494
+ @warning = args[:warning] if args.key?(:warning)
70495
+ end
70496
+
70497
+ # [Output Only] Informational warning message.
70498
+ class Warning
70499
+ include Google::Apis::Core::Hashable
70500
+
70501
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
70502
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
70503
+ # Corresponds to the JSON property `code`
70504
+ # @return [String]
70505
+ attr_accessor :code
70506
+
70507
+ # [Output Only] Metadata about this warning in key: value format. For example: "
70508
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
70509
+ # Corresponds to the JSON property `data`
70510
+ # @return [Array<Google::Apis::ComputeAlpha::VmExtensionPolicyAggregatedListResponse::Warning::Datum>]
70511
+ attr_accessor :data
70512
+
70513
+ # [Output Only] A human-readable description of the warning code.
70514
+ # Corresponds to the JSON property `message`
70515
+ # @return [String]
70516
+ attr_accessor :message
70517
+
70518
+ def initialize(**args)
70519
+ update!(**args)
70520
+ end
70521
+
70522
+ # Update properties of this object
70523
+ def update!(**args)
70524
+ @code = args[:code] if args.key?(:code)
70525
+ @data = args[:data] if args.key?(:data)
70526
+ @message = args[:message] if args.key?(:message)
70527
+ end
70528
+
70529
+ #
70530
+ class Datum
70531
+ include Google::Apis::Core::Hashable
70532
+
70533
+ # [Output Only] A key that provides more detail on the warning being returned.
70534
+ # For example, for warnings where there are no results in a list request for a
70535
+ # particular zone, this key might be scope and the key value might be the zone
70536
+ # name. Other examples might be a key indicating a deprecated resource and a
70537
+ # suggested replacement, or a warning about invalid network settings (for
70538
+ # example, if an instance attempts to perform IP forwarding but is not enabled
70539
+ # for IP forwarding).
70540
+ # Corresponds to the JSON property `key`
70541
+ # @return [String]
70542
+ attr_accessor :key
70543
+
70544
+ # [Output Only] A warning data value corresponding to the key.
70545
+ # Corresponds to the JSON property `value`
70546
+ # @return [String]
70547
+ attr_accessor :value
70548
+
70549
+ def initialize(**args)
70550
+ update!(**args)
70551
+ end
70552
+
70553
+ # Update properties of this object
70554
+ def update!(**args)
70555
+ @key = args[:key] if args.key?(:key)
70556
+ @value = args[:value] if args.key?(:value)
70557
+ end
70558
+ end
70559
+ end
70560
+ end
70561
+
68837
70562
  # Configuration for a specific VM extension.
68838
70563
  class VmExtensionPolicyExtensionPolicy
68839
70564
  include Google::Apis::Core::Hashable
@@ -71045,13 +72770,11 @@ module Google
71045
72770
 
71046
72771
  # The configuration of the bandwidth allocation, one of the following: -
71047
72772
  # ALLOCATE_PER_WIRE: configures a separate unmetered bandwidth allocation (and
71048
- # associated charges) for each wire in the group. - SHARED_WITH_WIRE_GROUP:
71049
- # configures one unmetered bandwidth allocation for the wire group. The
71050
- # unmetered bandwidth is divided equally across each wire in the group, but
71051
- # dynamic throttling reallocates unused unmetered bandwidth from unused or
71052
- # underused wires to other wires in the group. For example, with a four-wire box-
71053
- # and-cross group, when one Interconnect connection is down, the unmetered
71054
- # bandwidth of the two down wires is reallocated to the remaining up wires.
72773
+ # associated charges) for each wire in the group. - SHARED_WITH_WIRE_GROUP: this
72774
+ # is the default behavior, which configures one unmetered bandwidth allocation
72775
+ # for the wire group. The unmetered bandwidth is divided equally across each
72776
+ # wire in the group, but dynamic throttling reallocates unused unmetered
72777
+ # bandwidth from unused or underused wires to other wires in the group.
71055
72778
  # Corresponds to the JSON property `bandwidthAllocation`
71056
72779
  # @return [String]
71057
72780
  attr_accessor :bandwidth_allocation