google-apis-compute_v1 0.120.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.
@@ -3740,7 +3740,8 @@ module Google
3740
3740
  # be set for Internal Passthrough Network Load Balancers when the haPolicy is
3741
3741
  # enabled, and for External Passthrough Network Load Balancers when the haPolicy
3742
3742
  # fastIpMove is enabled. This field can only be specified when the load
3743
- # balancing scheme is set to INTERNAL.
3743
+ # balancing scheme is set to INTERNAL, or when the load balancing scheme is set
3744
+ # to EXTERNAL and haPolicy fastIpMove is enabled.
3744
3745
  # Corresponds to the JSON property `network`
3745
3746
  # @return [String]
3746
3747
  attr_accessor :network
@@ -4471,7 +4472,7 @@ module Google
4471
4472
  # backend service must set the network field, and all NEGs must belong to that
4472
4473
  # network. However, individual NEGs can belong to different subnetworks of that
4473
4474
  # network. - The maximum number of network endpoints across all backends of a
4474
- # backend service with fastIPMove is 64. - The maximum number of backend
4475
+ # backend service with fastIPMove is 32. - The maximum number of backend
4475
4476
  # services with fastIPMove that can have the same network endpoint attached to
4476
4477
  # one of its backends is 64. - The maximum number of backend services with
4477
4478
  # fastIPMove in a VPC in a region is 64. - The network endpoints that are
@@ -5757,6 +5758,55 @@ module Google
5757
5758
  end
5758
5759
  end
5759
5760
 
5761
+ #
5762
+ class BulkSetLabelsRequest
5763
+ include Google::Apis::Core::Hashable
5764
+
5765
+ # The fingerprint of the previous set of labels for this resource, used to
5766
+ # detect conflicts. The fingerprint is initially generated by Compute Engine and
5767
+ # changes after every request to modify or update labels. You may optionally
5768
+ # provide an up-to-date fingerprint hash in order to update or change labels.
5769
+ # Make a get() request to the resource to get the latest fingerprint.
5770
+ # Corresponds to the JSON property `labelFingerprint`
5771
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
5772
+ # @return [String]
5773
+ attr_accessor :label_fingerprint
5774
+
5775
+ # The labels to set for this resource.
5776
+ # Corresponds to the JSON property `labels`
5777
+ # @return [Hash<String,String>]
5778
+ attr_accessor :labels
5779
+
5780
+ def initialize(**args)
5781
+ update!(**args)
5782
+ end
5783
+
5784
+ # Update properties of this object
5785
+ def update!(**args)
5786
+ @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
5787
+ @labels = args[:labels] if args.key?(:labels)
5788
+ end
5789
+ end
5790
+
5791
+ #
5792
+ class BulkZoneSetLabelsRequest
5793
+ include Google::Apis::Core::Hashable
5794
+
5795
+ #
5796
+ # Corresponds to the JSON property `requests`
5797
+ # @return [Array<Google::Apis::ComputeV1::BulkSetLabelsRequest>]
5798
+ attr_accessor :requests
5799
+
5800
+ def initialize(**args)
5801
+ update!(**args)
5802
+ end
5803
+
5804
+ # Update properties of this object
5805
+ def update!(**args)
5806
+ @requests = args[:requests] if args.key?(:requests)
5807
+ end
5808
+ end
5809
+
5760
5810
  #
5761
5811
  class CacheInvalidationRule
5762
5812
  include Google::Apis::Core::Hashable
@@ -9170,6 +9220,11 @@ module Google
9170
9220
  # @return [String]
9171
9221
  attr_accessor :network
9172
9222
 
9223
+ # Additional firewall parameters.
9224
+ # Corresponds to the JSON property `params`
9225
+ # @return [Google::Apis::ComputeV1::FirewallParams]
9226
+ attr_accessor :params
9227
+
9173
9228
  # Priority for this rule. This is an integer between `0` and `65535`, both
9174
9229
  # inclusive. The default value is `1000`. Relative priorities determine which
9175
9230
  # rule takes effect if multiple rules apply. Lower values indicate higher
@@ -9262,6 +9317,7 @@ module Google
9262
9317
  @log_config = args[:log_config] if args.key?(:log_config)
9263
9318
  @name = args[:name] if args.key?(:name)
9264
9319
  @network = args[:network] if args.key?(:network)
9320
+ @params = args[:params] if args.key?(:params)
9265
9321
  @priority = args[:priority] if args.key?(:priority)
9266
9322
  @self_link = args[:self_link] if args.key?(:self_link)
9267
9323
  @source_ranges = args[:source_ranges] if args.key?(:source_ranges)
@@ -9480,6 +9536,32 @@ module Google
9480
9536
  end
9481
9537
  end
9482
9538
 
9539
+ # Additional firewall parameters.
9540
+ class FirewallParams
9541
+ include Google::Apis::Core::Hashable
9542
+
9543
+ # Tag keys/values directly bound to this resource. Tag keys and values have the
9544
+ # same definition as resource manager tags. The field is allowed for INSERT only.
9545
+ # The keys/values to set on the resource should be specified in either ID ` : `
9546
+ # or Namespaced format ` : `. For example the following are valid inputs: * `"
9547
+ # tagKeys/333" : "tagValues/444", "tagKeys/123" : "tagValues/456"` * `"123/
9548
+ # environment" : "production", "345/abc" : "xyz"` Note: * Invalid combinations
9549
+ # of ID & namespaced format is not supported. For instance: `"123/environment" :
9550
+ # "tagValues/444"` is invalid.
9551
+ # Corresponds to the JSON property `resourceManagerTags`
9552
+ # @return [Hash<String,String>]
9553
+ attr_accessor :resource_manager_tags
9554
+
9555
+ def initialize(**args)
9556
+ update!(**args)
9557
+ end
9558
+
9559
+ # Update properties of this object
9560
+ def update!(**args)
9561
+ @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
9562
+ end
9563
+ end
9564
+
9483
9565
  #
9484
9566
  class FirewallPoliciesListAssociationsResponse
9485
9567
  include Google::Apis::Core::Hashable
@@ -10058,6 +10140,12 @@ module Google
10058
10140
  # @return [Array<String>]
10059
10141
  attr_accessor :dest_ip_ranges
10060
10142
 
10143
+ # Network type of the traffic destination. Allowed values are: - UNSPECIFIED -
10144
+ # INTERNET - NON_INTERNET
10145
+ # Corresponds to the JSON property `destNetworkType`
10146
+ # @return [String]
10147
+ attr_accessor :dest_network_type
10148
+
10061
10149
  # Region codes whose IP addresses will be used to match for destination of
10062
10150
  # traffic. Should be specified as 2 letter country code defined as per ISO 3166
10063
10151
  # alpha-2 country codes. ex."US" Maximum number of dest region codes allowed is
@@ -10094,6 +10182,17 @@ module Google
10094
10182
  # @return [Array<String>]
10095
10183
  attr_accessor :src_ip_ranges
10096
10184
 
10185
+ # Network type of the traffic source. Allowed values are: - UNSPECIFIED -
10186
+ # INTERNET - INTRA_VPC - NON_INTERNET - VPC_NETWORKS
10187
+ # Corresponds to the JSON property `srcNetworkType`
10188
+ # @return [String]
10189
+ attr_accessor :src_network_type
10190
+
10191
+ # Networks of the traffic source. It can be either a full or partial url.
10192
+ # Corresponds to the JSON property `srcNetworks`
10193
+ # @return [Array<String>]
10194
+ attr_accessor :src_networks
10195
+
10097
10196
  # Region codes whose IP addresses will be used to match for source of traffic.
10098
10197
  # Should be specified as 2 letter country code defined as per ISO 3166 alpha-2
10099
10198
  # country codes. ex."US" Maximum number of source region codes allowed is 5000.
@@ -10124,12 +10223,15 @@ module Google
10124
10223
  @dest_address_groups = args[:dest_address_groups] if args.key?(:dest_address_groups)
10125
10224
  @dest_fqdns = args[:dest_fqdns] if args.key?(:dest_fqdns)
10126
10225
  @dest_ip_ranges = args[:dest_ip_ranges] if args.key?(:dest_ip_ranges)
10226
+ @dest_network_type = args[:dest_network_type] if args.key?(:dest_network_type)
10127
10227
  @dest_region_codes = args[:dest_region_codes] if args.key?(:dest_region_codes)
10128
10228
  @dest_threat_intelligences = args[:dest_threat_intelligences] if args.key?(:dest_threat_intelligences)
10129
10229
  @layer4_configs = args[:layer4_configs] if args.key?(:layer4_configs)
10130
10230
  @src_address_groups = args[:src_address_groups] if args.key?(:src_address_groups)
10131
10231
  @src_fqdns = args[:src_fqdns] if args.key?(:src_fqdns)
10132
10232
  @src_ip_ranges = args[:src_ip_ranges] if args.key?(:src_ip_ranges)
10233
+ @src_network_type = args[:src_network_type] if args.key?(:src_network_type)
10234
+ @src_networks = args[:src_networks] if args.key?(:src_networks)
10133
10235
  @src_region_codes = args[:src_region_codes] if args.key?(:src_region_codes)
10134
10236
  @src_secure_tags = args[:src_secure_tags] if args.key?(:src_secure_tags)
10135
10237
  @src_threat_intelligences = args[:src_threat_intelligences] if args.key?(:src_threat_intelligences)
@@ -10559,6 +10661,11 @@ module Google
10559
10661
  # @return [String]
10560
10662
  attr_accessor :self_link
10561
10663
 
10664
+ # [Output Only] Server-defined URL for this resource with the resource id.
10665
+ # Corresponds to the JSON property `selfLinkWithId`
10666
+ # @return [String]
10667
+ attr_accessor :self_link_with_id
10668
+
10562
10669
  # Service Directory resources to register this forwarding rule with. Currently,
10563
10670
  # only supports a single Service Directory resource.
10564
10671
  # Corresponds to the JSON property `serviceDirectoryRegistrations`
@@ -10656,6 +10763,7 @@ module Google
10656
10763
  @psc_connection_status = args[:psc_connection_status] if args.key?(:psc_connection_status)
10657
10764
  @region = args[:region] if args.key?(:region)
10658
10765
  @self_link = args[:self_link] if args.key?(:self_link)
10766
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
10659
10767
  @service_directory_registrations = args[:service_directory_registrations] if args.key?(:service_directory_registrations)
10660
10768
  @service_label = args[:service_label] if args.key?(:service_label)
10661
10769
  @service_name = args[:service_name] if args.key?(:service_name)
@@ -13024,7 +13132,8 @@ module Google
13024
13132
 
13025
13133
  # If false, headerValue is appended to any values that already exist for the
13026
13134
  # header. If true, headerValue is set for the header, discarding any values that
13027
- # were set for that header. The default value is false.
13135
+ # were set for that header. The default value is true, unless a variable is
13136
+ # present in headerValue, in which case the default value is false. .
13028
13137
  # Corresponds to the JSON property `replace`
13029
13138
  # @return [Boolean]
13030
13139
  attr_accessor :replace
@@ -25722,6 +25831,11 @@ module Google
25722
25831
  # @return [String]
25723
25832
  attr_accessor :network_profile
25724
25833
 
25834
+ # Additional network parameters.
25835
+ # Corresponds to the JSON property `params`
25836
+ # @return [Google::Apis::ComputeV1::NetworkParams]
25837
+ attr_accessor :params
25838
+
25725
25839
  # [Output Only] A list of network peerings for the resource.
25726
25840
  # Corresponds to the JSON property `peerings`
25727
25841
  # @return [Array<Google::Apis::ComputeV1::NetworkPeering>]
@@ -25770,6 +25884,7 @@ module Google
25770
25884
  @name = args[:name] if args.key?(:name)
25771
25885
  @network_firewall_policy_enforcement_order = args[:network_firewall_policy_enforcement_order] if args.key?(:network_firewall_policy_enforcement_order)
25772
25886
  @network_profile = args[:network_profile] if args.key?(:network_profile)
25887
+ @params = args[:params] if args.key?(:params)
25773
25888
  @peerings = args[:peerings] if args.key?(:peerings)
25774
25889
  @routing_config = args[:routing_config] if args.key?(:routing_config)
25775
25890
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -27919,6 +28034,32 @@ module Google
27919
28034
  end
27920
28035
  end
27921
28036
 
28037
+ # Additional network parameters.
28038
+ class NetworkParams
28039
+ include Google::Apis::Core::Hashable
28040
+
28041
+ # Tag keys/values directly bound to this resource. Tag keys and values have the
28042
+ # same definition as resource manager tags. The field is allowed for INSERT only.
28043
+ # The keys/values to set on the resource should be specified in either ID ` : `
28044
+ # or Namespaced format ` : `. For example the following are valid inputs: * `"
28045
+ # tagKeys/333" : "tagValues/444", "tagKeys/123" : "tagValues/456"` * `"123/
28046
+ # environment" : "production", "345/abc" : "xyz"` Note: * Invalid combinations
28047
+ # of ID & namespaced format is not supported. For instance: `"123/environment" :
28048
+ # "tagValues/444"` is invalid.
28049
+ # Corresponds to the JSON property `resourceManagerTags`
28050
+ # @return [Hash<String,String>]
28051
+ attr_accessor :resource_manager_tags
28052
+
28053
+ def initialize(**args)
28054
+ update!(**args)
28055
+ end
28056
+
28057
+ # Update properties of this object
28058
+ def update!(**args)
28059
+ @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
28060
+ end
28061
+ end
28062
+
27922
28063
  # A network peering attached to a network resource. The message includes the
27923
28064
  # peering name, peer network, peering state, and a flag indicating whether
27924
28065
  # Google Compute Engine should automatically create routes for the peering.
@@ -35751,6 +35892,13 @@ module Google
35751
35892
  # @return [String]
35752
35893
  attr_accessor :description
35753
35894
 
35895
+ # Indicates whether Compute Engine allows unplanned maintenance for your VMs;
35896
+ # for example, to fix hardware errors.
35897
+ # Corresponds to the JSON property `enableEmergentMaintenance`
35898
+ # @return [Boolean]
35899
+ attr_accessor :enable_emergent_maintenance
35900
+ alias_method :enable_emergent_maintenance?, :enable_emergent_maintenance
35901
+
35754
35902
  # [Output Only] The unique identifier for the resource. This identifier is
35755
35903
  # defined by the server.
35756
35904
  # Corresponds to the JSON property `id`
@@ -35854,6 +36002,7 @@ module Google
35854
36002
  @delete_at_time = args[:delete_at_time] if args.key?(:delete_at_time)
35855
36003
  @deployment_type = args[:deployment_type] if args.key?(:deployment_type)
35856
36004
  @description = args[:description] if args.key?(:description)
36005
+ @enable_emergent_maintenance = args[:enable_emergent_maintenance] if args.key?(:enable_emergent_maintenance)
35857
36006
  @id = args[:id] if args.key?(:id)
35858
36007
  @kind = args[:kind] if args.key?(:kind)
35859
36008
  @linked_commitments = args[:linked_commitments] if args.key?(:linked_commitments)
@@ -36082,6 +36231,19 @@ module Google
36082
36231
  # @return [Google::Apis::ComputeV1::GroupMaintenanceInfo]
36083
36232
  attr_accessor :reservation_maintenance
36084
36233
 
36234
+ # [Output Only] The number of reservation subBlocks associated with this
36235
+ # reservation block.
36236
+ # Corresponds to the JSON property `reservationSubBlockCount`
36237
+ # @return [Fixnum]
36238
+ attr_accessor :reservation_sub_block_count
36239
+
36240
+ # [Output Only] The number of in-use reservation subBlocks associated with this
36241
+ # reservation block. If at least one VM is running on a subBlock, it is
36242
+ # considered in-use.
36243
+ # Corresponds to the JSON property `reservationSubBlockInUseCount`
36244
+ # @return [Fixnum]
36245
+ attr_accessor :reservation_sub_block_in_use_count
36246
+
36085
36247
  # [Output Only] Server-defined fully-qualified URL for this resource.
36086
36248
  # Corresponds to the JSON property `selfLink`
36087
36249
  # @return [String]
@@ -36116,6 +36278,8 @@ module Google
36116
36278
  @name = args[:name] if args.key?(:name)
36117
36279
  @physical_topology = args[:physical_topology] if args.key?(:physical_topology)
36118
36280
  @reservation_maintenance = args[:reservation_maintenance] if args.key?(:reservation_maintenance)
36281
+ @reservation_sub_block_count = args[:reservation_sub_block_count] if args.key?(:reservation_sub_block_count)
36282
+ @reservation_sub_block_in_use_count = args[:reservation_sub_block_in_use_count] if args.key?(:reservation_sub_block_in_use_count)
36119
36283
  @self_link = args[:self_link] if args.key?(:self_link)
36120
36284
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
36121
36285
  @status = args[:status] if args.key?(:status)
@@ -36404,6 +36568,259 @@ module Google
36404
36568
  end
36405
36569
  end
36406
36570
 
36571
+ # Represents a reservation subBlock resource.
36572
+ class ReservationSubBlock
36573
+ include Google::Apis::Core::Hashable
36574
+
36575
+ # [Output Only] The number of hosts that are allocated in this reservation
36576
+ # subBlock.
36577
+ # Corresponds to the JSON property `count`
36578
+ # @return [Fixnum]
36579
+ attr_accessor :count
36580
+
36581
+ # [Output Only] Creation timestamp in RFC3339 text format.
36582
+ # Corresponds to the JSON property `creationTimestamp`
36583
+ # @return [String]
36584
+ attr_accessor :creation_timestamp
36585
+
36586
+ # [Output Only] The unique identifier for the resource. This identifier is
36587
+ # defined by the server.
36588
+ # Corresponds to the JSON property `id`
36589
+ # @return [Fixnum]
36590
+ attr_accessor :id
36591
+
36592
+ # [Output Only] The number of instances that are currently in use on this
36593
+ # reservation subBlock.
36594
+ # Corresponds to the JSON property `inUseCount`
36595
+ # @return [Fixnum]
36596
+ attr_accessor :in_use_count
36597
+
36598
+ # [Output Only] Type of the resource. Always compute#reservationSubBlock for
36599
+ # reservation subBlocks.
36600
+ # Corresponds to the JSON property `kind`
36601
+ # @return [String]
36602
+ attr_accessor :kind
36603
+
36604
+ # [Output Only] The name of this reservation subBlock generated by Google
36605
+ # Compute Engine. The name must be 1-63 characters long, and comply with RFC1035
36606
+ # @pattern [a-z](?:[-a-z0-9]`0,61`[a-z0-9])?
36607
+ # Corresponds to the JSON property `name`
36608
+ # @return [String]
36609
+ attr_accessor :name
36610
+
36611
+ # [Output Only] The physical topology of the reservation subBlock.
36612
+ # Corresponds to the JSON property `physicalTopology`
36613
+ # @return [Google::Apis::ComputeV1::ReservationSubBlockPhysicalTopology]
36614
+ attr_accessor :physical_topology
36615
+
36616
+ # [Output Only] Server-defined fully-qualified URL for this resource.
36617
+ # Corresponds to the JSON property `selfLink`
36618
+ # @return [String]
36619
+ attr_accessor :self_link
36620
+
36621
+ # [Output Only] Server-defined URL for this resource with the resource id.
36622
+ # Corresponds to the JSON property `selfLinkWithId`
36623
+ # @return [String]
36624
+ attr_accessor :self_link_with_id
36625
+
36626
+ # [Output Only] Status of the reservation subBlock.
36627
+ # Corresponds to the JSON property `status`
36628
+ # @return [String]
36629
+ attr_accessor :status
36630
+
36631
+ # [Output Only] Zone in which the reservation subBlock resides.
36632
+ # Corresponds to the JSON property `zone`
36633
+ # @return [String]
36634
+ attr_accessor :zone
36635
+
36636
+ def initialize(**args)
36637
+ update!(**args)
36638
+ end
36639
+
36640
+ # Update properties of this object
36641
+ def update!(**args)
36642
+ @count = args[:count] if args.key?(:count)
36643
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
36644
+ @id = args[:id] if args.key?(:id)
36645
+ @in_use_count = args[:in_use_count] if args.key?(:in_use_count)
36646
+ @kind = args[:kind] if args.key?(:kind)
36647
+ @name = args[:name] if args.key?(:name)
36648
+ @physical_topology = args[:physical_topology] if args.key?(:physical_topology)
36649
+ @self_link = args[:self_link] if args.key?(:self_link)
36650
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
36651
+ @status = args[:status] if args.key?(:status)
36652
+ @zone = args[:zone] if args.key?(:zone)
36653
+ end
36654
+ end
36655
+
36656
+ #
36657
+ class ReservationSubBlockPhysicalTopology
36658
+ include Google::Apis::Core::Hashable
36659
+
36660
+ # The hash of the capacity block within the cluster.
36661
+ # Corresponds to the JSON property `block`
36662
+ # @return [String]
36663
+ attr_accessor :block
36664
+
36665
+ # The cluster name of the reservation subBlock.
36666
+ # Corresponds to the JSON property `cluster`
36667
+ # @return [String]
36668
+ attr_accessor :cluster
36669
+
36670
+ # The hash of the capacity sub-block within the capacity block.
36671
+ # Corresponds to the JSON property `subBlock`
36672
+ # @return [String]
36673
+ attr_accessor :sub_block
36674
+
36675
+ def initialize(**args)
36676
+ update!(**args)
36677
+ end
36678
+
36679
+ # Update properties of this object
36680
+ def update!(**args)
36681
+ @block = args[:block] if args.key?(:block)
36682
+ @cluster = args[:cluster] if args.key?(:cluster)
36683
+ @sub_block = args[:sub_block] if args.key?(:sub_block)
36684
+ end
36685
+ end
36686
+
36687
+ #
36688
+ class ReservationSubBlocksGetResponse
36689
+ include Google::Apis::Core::Hashable
36690
+
36691
+ # Represents a reservation subBlock resource.
36692
+ # Corresponds to the JSON property `resource`
36693
+ # @return [Google::Apis::ComputeV1::ReservationSubBlock]
36694
+ attr_accessor :resource
36695
+
36696
+ def initialize(**args)
36697
+ update!(**args)
36698
+ end
36699
+
36700
+ # Update properties of this object
36701
+ def update!(**args)
36702
+ @resource = args[:resource] if args.key?(:resource)
36703
+ end
36704
+ end
36705
+
36706
+ # A list of reservation subBlocks under a single reservation.
36707
+ class ReservationSubBlocksListResponse
36708
+ include Google::Apis::Core::Hashable
36709
+
36710
+ # Unique identifier for the resource; defined by the server.
36711
+ # Corresponds to the JSON property `id`
36712
+ # @return [String]
36713
+ attr_accessor :id
36714
+
36715
+ # A list of reservation subBlock resources.
36716
+ # Corresponds to the JSON property `items`
36717
+ # @return [Array<Google::Apis::ComputeV1::ReservationSubBlock>]
36718
+ attr_accessor :items
36719
+
36720
+ # Type of the resource. Always compute#reservationSubBlock for a list of
36721
+ # reservation subBlocks.
36722
+ # Corresponds to the JSON property `kind`
36723
+ # @return [String]
36724
+ attr_accessor :kind
36725
+
36726
+ # This token allows you to get the next page of results for list requests. If
36727
+ # the number of results is larger than maxResults, use the nextPageToken as a
36728
+ # value for the query parameter pageToken in the next list request. Subsequent
36729
+ # list requests will have their own nextPageToken to continue paging through the
36730
+ # results.
36731
+ # Corresponds to the JSON property `nextPageToken`
36732
+ # @return [String]
36733
+ attr_accessor :next_page_token
36734
+
36735
+ # Server-defined URL for this resource.
36736
+ # Corresponds to the JSON property `selfLink`
36737
+ # @return [String]
36738
+ attr_accessor :self_link
36739
+
36740
+ # Informational warning message.
36741
+ # Corresponds to the JSON property `warning`
36742
+ # @return [Google::Apis::ComputeV1::ReservationSubBlocksListResponse::Warning]
36743
+ attr_accessor :warning
36744
+
36745
+ def initialize(**args)
36746
+ update!(**args)
36747
+ end
36748
+
36749
+ # Update properties of this object
36750
+ def update!(**args)
36751
+ @id = args[:id] if args.key?(:id)
36752
+ @items = args[:items] if args.key?(:items)
36753
+ @kind = args[:kind] if args.key?(:kind)
36754
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
36755
+ @self_link = args[:self_link] if args.key?(:self_link)
36756
+ @warning = args[:warning] if args.key?(:warning)
36757
+ end
36758
+
36759
+ # Informational warning message.
36760
+ class Warning
36761
+ include Google::Apis::Core::Hashable
36762
+
36763
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
36764
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
36765
+ # Corresponds to the JSON property `code`
36766
+ # @return [String]
36767
+ attr_accessor :code
36768
+
36769
+ # [Output Only] Metadata about this warning in key: value format. For example: "
36770
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
36771
+ # Corresponds to the JSON property `data`
36772
+ # @return [Array<Google::Apis::ComputeV1::ReservationSubBlocksListResponse::Warning::Datum>]
36773
+ attr_accessor :data
36774
+
36775
+ # [Output Only] A human-readable description of the warning code.
36776
+ # Corresponds to the JSON property `message`
36777
+ # @return [String]
36778
+ attr_accessor :message
36779
+
36780
+ def initialize(**args)
36781
+ update!(**args)
36782
+ end
36783
+
36784
+ # Update properties of this object
36785
+ def update!(**args)
36786
+ @code = args[:code] if args.key?(:code)
36787
+ @data = args[:data] if args.key?(:data)
36788
+ @message = args[:message] if args.key?(:message)
36789
+ end
36790
+
36791
+ #
36792
+ class Datum
36793
+ include Google::Apis::Core::Hashable
36794
+
36795
+ # [Output Only] A key that provides more detail on the warning being returned.
36796
+ # For example, for warnings where there are no results in a list request for a
36797
+ # particular zone, this key might be scope and the key value might be the zone
36798
+ # name. Other examples might be a key indicating a deprecated resource and a
36799
+ # suggested replacement, or a warning about invalid network settings (for
36800
+ # example, if an instance attempts to perform IP forwarding but is not enabled
36801
+ # for IP forwarding).
36802
+ # Corresponds to the JSON property `key`
36803
+ # @return [String]
36804
+ attr_accessor :key
36805
+
36806
+ # [Output Only] A warning data value corresponding to the key.
36807
+ # Corresponds to the JSON property `value`
36808
+ # @return [String]
36809
+ attr_accessor :value
36810
+
36811
+ def initialize(**args)
36812
+ update!(**args)
36813
+ end
36814
+
36815
+ # Update properties of this object
36816
+ def update!(**args)
36817
+ @key = args[:key] if args.key?(:key)
36818
+ @value = args[:value] if args.key?(:value)
36819
+ end
36820
+ end
36821
+ end
36822
+ end
36823
+
36407
36824
  #
36408
36825
  class ReservationsBlocksPerformMaintenanceRequest
36409
36826
  include Google::Apis::Core::Hashable
@@ -36789,6 +37206,11 @@ module Google
36789
37206
  # @return [String]
36790
37207
  attr_accessor :status
36791
37208
 
37209
+ # Represents the workload policy.
37210
+ # Corresponds to the JSON property `workloadPolicy`
37211
+ # @return [Google::Apis::ComputeV1::ResourcePolicyWorkloadPolicy]
37212
+ attr_accessor :workload_policy
37213
+
36792
37214
  def initialize(**args)
36793
37215
  update!(**args)
36794
37216
  end
@@ -36808,6 +37230,7 @@ module Google
36808
37230
  @self_link = args[:self_link] if args.key?(:self_link)
36809
37231
  @snapshot_schedule_policy = args[:snapshot_schedule_policy] if args.key?(:snapshot_schedule_policy)
36810
37232
  @status = args[:status] if args.key?(:status)
37233
+ @workload_policy = args[:workload_policy] if args.key?(:workload_policy)
36811
37234
  end
36812
37235
  end
36813
37236
 
@@ -37005,6 +37428,11 @@ module Google
37005
37428
  # @return [String]
37006
37429
  attr_accessor :collocation
37007
37430
 
37431
+ # Specifies the shape of the GPU slice, in slice based GPU families eg. A4X.
37432
+ # Corresponds to the JSON property `gpuTopology`
37433
+ # @return [String]
37434
+ attr_accessor :gpu_topology
37435
+
37008
37436
  # Number of VMs in this placement group. Google does not recommend that you use
37009
37437
  # this field unless you use a compact policy and you want your policy to work
37010
37438
  # only if it contains this exact number of VMs.
@@ -37020,6 +37448,7 @@ module Google
37020
37448
  def update!(**args)
37021
37449
  @availability_domain_count = args[:availability_domain_count] if args.key?(:availability_domain_count)
37022
37450
  @collocation = args[:collocation] if args.key?(:collocation)
37451
+ @gpu_topology = args[:gpu_topology] if args.key?(:gpu_topology)
37023
37452
  @vm_count = args[:vm_count] if args.key?(:vm_count)
37024
37453
  end
37025
37454
  end
@@ -37482,6 +37911,37 @@ module Google
37482
37911
  end
37483
37912
  end
37484
37913
 
37914
+ # Represents the workload policy.
37915
+ class ResourcePolicyWorkloadPolicy
37916
+ include Google::Apis::Core::Hashable
37917
+
37918
+ #
37919
+ # Corresponds to the JSON property `acceleratorTopology`
37920
+ # @return [String]
37921
+ attr_accessor :accelerator_topology
37922
+
37923
+ #
37924
+ # Corresponds to the JSON property `maxTopologyDistance`
37925
+ # @return [String]
37926
+ attr_accessor :max_topology_distance
37927
+
37928
+ #
37929
+ # Corresponds to the JSON property `type`
37930
+ # @return [String]
37931
+ attr_accessor :type
37932
+
37933
+ def initialize(**args)
37934
+ update!(**args)
37935
+ end
37936
+
37937
+ # Update properties of this object
37938
+ def update!(**args)
37939
+ @accelerator_topology = args[:accelerator_topology] if args.key?(:accelerator_topology)
37940
+ @max_topology_distance = args[:max_topology_distance] if args.key?(:max_topology_distance)
37941
+ @type = args[:type] if args.key?(:type)
37942
+ end
37943
+ end
37944
+
37485
37945
  # Contains output only fields. Use this sub-message for actual values set on
37486
37946
  # Instance attributes as compared to the value requested by the user (intent) in
37487
37947
  # their instance CRUD calls.
@@ -37721,6 +38181,11 @@ module Google
37721
38181
  # @return [String]
37722
38182
  attr_accessor :next_hop_vpn_tunnel
37723
38183
 
38184
+ # Additional route parameters.
38185
+ # Corresponds to the JSON property `params`
38186
+ # @return [Google::Apis::ComputeV1::RouteParams]
38187
+ attr_accessor :params
38188
+
37724
38189
  # The priority of this route. Priority is used to break ties in cases where
37725
38190
  # there is more than one matching route of equal prefix length. In cases where
37726
38191
  # multiple routes have equal prefix length, the one with the lowest-numbered
@@ -37785,6 +38250,7 @@ module Google
37785
38250
  @next_hop_origin = args[:next_hop_origin] if args.key?(:next_hop_origin)
37786
38251
  @next_hop_peering = args[:next_hop_peering] if args.key?(:next_hop_peering)
37787
38252
  @next_hop_vpn_tunnel = args[:next_hop_vpn_tunnel] if args.key?(:next_hop_vpn_tunnel)
38253
+ @params = args[:params] if args.key?(:params)
37788
38254
  @priority = args[:priority] if args.key?(:priority)
37789
38255
  @route_status = args[:route_status] if args.key?(:route_status)
37790
38256
  @route_type = args[:route_type] if args.key?(:route_type)
@@ -38006,6 +38472,32 @@ module Google
38006
38472
  end
38007
38473
  end
38008
38474
 
38475
+ # Additional route parameters.
38476
+ class RouteParams
38477
+ include Google::Apis::Core::Hashable
38478
+
38479
+ # Tag keys/values directly bound to this resource. Tag keys and values have the
38480
+ # same definition as resource manager tags. The field is allowed for INSERT only.
38481
+ # The keys/values to set on the resource should be specified in either ID ` : `
38482
+ # or Namespaced format ` : `. For example the following are valid inputs: * `"
38483
+ # tagKeys/333" : "tagValues/444", "tagKeys/123" : "tagValues/456"` * `"123/
38484
+ # environment" : "production", "345/abc" : "xyz"` Note: * Invalid combinations
38485
+ # of ID & namespaced format is not supported. For instance: `"123/environment" :
38486
+ # "tagValues/444"` is invalid.
38487
+ # Corresponds to the JSON property `resourceManagerTags`
38488
+ # @return [Hash<String,String>]
38489
+ attr_accessor :resource_manager_tags
38490
+
38491
+ def initialize(**args)
38492
+ update!(**args)
38493
+ end
38494
+
38495
+ # Update properties of this object
38496
+ def update!(**args)
38497
+ @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
38498
+ end
38499
+ end
38500
+
38009
38501
  #
38010
38502
  class RoutePolicy
38011
38503
  include Google::Apis::Core::Hashable
@@ -46333,6 +46825,11 @@ module Google
46333
46825
  # @return [String]
46334
46826
  attr_accessor :network
46335
46827
 
46828
+ # Additional subnetwork parameters.
46829
+ # Corresponds to the JSON property `params`
46830
+ # @return [Google::Apis::ComputeV1::SubnetworkParams]
46831
+ attr_accessor :params
46832
+
46336
46833
  # Whether the VMs in this subnet can access Google services without assigned
46337
46834
  # external IP addresses. This field can be both set at resource creation time
46338
46835
  # and updated using setPrivateIpGoogleAccess.
@@ -46439,6 +46936,7 @@ module Google
46439
46936
  @log_config = args[:log_config] if args.key?(:log_config)
46440
46937
  @name = args[:name] if args.key?(:name)
46441
46938
  @network = args[:network] if args.key?(:network)
46939
+ @params = args[:params] if args.key?(:params)
46442
46940
  @private_ip_google_access = args[:private_ip_google_access] if args.key?(:private_ip_google_access)
46443
46941
  @private_ipv6_google_access = args[:private_ipv6_google_access] if args.key?(:private_ipv6_google_access)
46444
46942
  @purpose = args[:purpose] if args.key?(:purpose)
@@ -46762,6 +47260,32 @@ module Google
46762
47260
  end
46763
47261
  end
46764
47262
 
47263
+ # Additional subnetwork parameters.
47264
+ class SubnetworkParams
47265
+ include Google::Apis::Core::Hashable
47266
+
47267
+ # Tag keys/values directly bound to this resource. Tag keys and values have the
47268
+ # same definition as resource manager tags. The field is allowed for INSERT only.
47269
+ # The keys/values to set on the resource should be specified in either ID ` : `
47270
+ # or Namespaced format ` : `. For example the following are valid inputs: * `"
47271
+ # tagKeys/333" : "tagValues/444", "tagKeys/123" : "tagValues/456"` * `"123/
47272
+ # environment" : "production", "345/abc" : "xyz"` Note: * Invalid combinations
47273
+ # of ID & namespaced format is not supported. For instance: `"123/environment" :
47274
+ # "tagValues/444"` is invalid.
47275
+ # Corresponds to the JSON property `resourceManagerTags`
47276
+ # @return [Hash<String,String>]
47277
+ attr_accessor :resource_manager_tags
47278
+
47279
+ def initialize(**args)
47280
+ update!(**args)
47281
+ end
47282
+
47283
+ # Update properties of this object
47284
+ def update!(**args)
47285
+ @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
47286
+ end
47287
+ end
47288
+
46765
47289
  # Represents a secondary IP range of a subnetwork.
46766
47290
  class SubnetworkSecondaryRange
46767
47291
  include Google::Apis::Core::Hashable