google-apis-compute_alpha 0.102.0 → 0.104.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.
@@ -1194,6 +1194,12 @@ module Google
1194
1194
  # @return [Fixnum]
1195
1195
  attr_accessor :threads_per_core
1196
1196
 
1197
+ # Turbo mode to use for the instance. Supported modes include: * ALL_CORE_MAX
1198
+ # Using empty string or not setting this field will use the default turbo mode.
1199
+ # Corresponds to the JSON property `turboMode`
1200
+ # @return [String]
1201
+ attr_accessor :turbo_mode
1202
+
1197
1203
  # The number of physical cores to expose to an instance. Multiply by the number
1198
1204
  # of threads per core to compute the total number of virtual CPUs to expose to
1199
1205
  # the instance. If unset, the number of cores is inferred from the instance's
@@ -1214,6 +1220,7 @@ module Google
1214
1220
  @numa_node_count = args[:numa_node_count] if args.key?(:numa_node_count)
1215
1221
  @performance_monitoring_unit = args[:performance_monitoring_unit] if args.key?(:performance_monitoring_unit)
1216
1222
  @threads_per_core = args[:threads_per_core] if args.key?(:threads_per_core)
1223
+ @turbo_mode = args[:turbo_mode] if args.key?(:turbo_mode)
1217
1224
  @visible_core_count = args[:visible_core_count] if args.key?(:visible_core_count)
1218
1225
  end
1219
1226
  end
@@ -1333,6 +1340,25 @@ module Google
1333
1340
  end
1334
1341
  end
1335
1342
 
1343
+ #
1344
+ class AllocationReservationSharingPolicy
1345
+ include Google::Apis::Core::Hashable
1346
+
1347
+ # Sharing config for all Google Cloud services.
1348
+ # Corresponds to the JSON property `serviceShareType`
1349
+ # @return [String]
1350
+ attr_accessor :service_share_type
1351
+
1352
+ def initialize(**args)
1353
+ update!(**args)
1354
+ end
1355
+
1356
+ # Update properties of this object
1357
+ def update!(**args)
1358
+ @service_share_type = args[:service_share_type] if args.key?(:service_share_type)
1359
+ end
1360
+ end
1361
+
1336
1362
  # [Output Only] Contains output only fields.
1337
1363
  class AllocationResourceStatus
1338
1364
  include Google::Apis::Core::Hashable
@@ -3155,6 +3181,14 @@ module Google
3155
3181
  # @return [String]
3156
3182
  attr_accessor :kind
3157
3183
 
3184
+ # The value can only be INTERNAL_MANAGED for cross-region internal layer 7 load
3185
+ # balancer. If loadBalancingScheme is not specified, the backend bucket can be
3186
+ # used by classic global external load balancers, or global application external
3187
+ # load balancers, or both.
3188
+ # Corresponds to the JSON property `loadBalancingScheme`
3189
+ # @return [String]
3190
+ attr_accessor :load_balancing_scheme
3191
+
3158
3192
  # Name of the resource. Provided by the client when the resource is created. The
3159
3193
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
3160
3194
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
@@ -3191,6 +3225,7 @@ module Google
3191
3225
  @enable_cdn = args[:enable_cdn] if args.key?(:enable_cdn)
3192
3226
  @id = args[:id] if args.key?(:id)
3193
3227
  @kind = args[:kind] if args.key?(:kind)
3228
+ @load_balancing_scheme = args[:load_balancing_scheme] if args.key?(:load_balancing_scheme)
3194
3229
  @name = args[:name] if args.key?(:name)
3195
3230
  @self_link = args[:self_link] if args.key?(:self_link)
3196
3231
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
@@ -17865,6 +17900,19 @@ module Google
17865
17900
  # @return [Google::Apis::ComputeAlpha::InstanceGroupManagerInstanceLifecyclePolicyMetadataBasedReadinessSignal]
17866
17901
  attr_accessor :metadata_based_readiness_signal
17867
17902
 
17903
+ # The action that a MIG performs on an unhealthy VM. A VM is marked as unhealthy
17904
+ # when the application running on that VM fails a health check. Valid values are:
17905
+ # - DEFAULT_ACTION (default): The MIG performs the same action as specified in
17906
+ # the instanceLifecyclePolicy.defaultActionOnFailure field. If the
17907
+ # defaultActionOnFailure field is set to REPAIR, then the MIG repairs unhealthy
17908
+ # VMs. If the defaultActionOnFailure field is set to DO_NOTHING, then the MIG
17909
+ # doesn't repair unhealthy VMs. - REPAIR: The MIG repairs unhealthy VMs by
17910
+ # recreating it. - DO_NOTHING: The MIG doesn't repair unhealthy VMs. For more
17911
+ # information, see About repairing VMs in a MIG.
17912
+ # Corresponds to the JSON property `onFailedHealthCheck`
17913
+ # @return [String]
17914
+ attr_accessor :on_failed_health_check
17915
+
17868
17916
  def initialize(**args)
17869
17917
  update!(**args)
17870
17918
  end
@@ -17874,6 +17922,7 @@ module Google
17874
17922
  @default_action_on_failure = args[:default_action_on_failure] if args.key?(:default_action_on_failure)
17875
17923
  @force_update_on_repair = args[:force_update_on_repair] if args.key?(:force_update_on_repair)
17876
17924
  @metadata_based_readiness_signal = args[:metadata_based_readiness_signal] if args.key?(:metadata_based_readiness_signal)
17925
+ @on_failed_health_check = args[:on_failed_health_check] if args.key?(:on_failed_health_check)
17877
17926
  end
17878
17927
  end
17879
17928
 
@@ -20298,9 +20347,10 @@ module Google
20298
20347
  attr_accessor :labels
20299
20348
 
20300
20349
  # The machine type to use for instances that are created from these properties.
20301
- # This field only accept machine types name. e.g. n2-standard-4 and does not
20302
- # accept machine type full or partial url. e.g. projects/my-l7ilb-project/zones/
20303
- # us-central1-a/machineTypes/n2-standard-4 will throw INTERNAL_ERROR.
20350
+ # This field only accepts a machine type name, for example `n2-standard-4`. If
20351
+ # you use the machine type full or partial URL, for example `projects/my-l7ilb-
20352
+ # project/zones/us-central1-a/machineTypes/n2-standard-4`, the request will
20353
+ # result in an `INTERNAL_ERROR`.
20304
20354
  # Corresponds to the JSON property `machineType`
20305
20355
  # @return [String]
20306
20356
  attr_accessor :machine_type
@@ -22376,10 +22426,9 @@ module Google
22376
22426
  end
22377
22427
  end
22378
22428
 
22379
- # Specify bandwidth percentages (0-100) for various traffic classes in
22380
- # BandwidthPercentagePolicy. The sum of all percentages must equal 100. It is
22381
- # valid to specify percentages for some classes and not for others. The others
22382
- # will be implicitly marked as 0.
22429
+ # Specify bandwidth percentages [1-100] for various traffic classes in
22430
+ # BandwidthPercentagePolicy. The sum of all percentages must equal 100. All
22431
+ # traffic classes must have a percentage value specified.
22383
22432
  class InterconnectApplicationAwareInterconnectBandwidthPercentage
22384
22433
  include Google::Apis::Core::Hashable
22385
22434
 
@@ -26464,6 +26513,12 @@ module Google
26464
26513
  # @return [Google::Apis::ComputeAlpha::ManagedInstancePropertiesFromFlexibilityPolicy]
26465
26514
  attr_accessor :properties_from_flexibility_policy
26466
26515
 
26516
+ # [Output only] The size of the VM represented by this Managed Instance. This is
26517
+ # how much this Managed Instance contributes to the size of the group.
26518
+ # Corresponds to the JSON property `sizeInUnit`
26519
+ # @return [Float]
26520
+ attr_accessor :size_in_unit
26521
+
26467
26522
  # [Output Only] Tag describing the version.
26468
26523
  # Corresponds to the JSON property `tag`
26469
26524
  # @return [String]
@@ -26500,6 +26555,7 @@ module Google
26500
26555
  @preserved_state_from_config = args[:preserved_state_from_config] if args.key?(:preserved_state_from_config)
26501
26556
  @preserved_state_from_policy = args[:preserved_state_from_policy] if args.key?(:preserved_state_from_policy)
26502
26557
  @properties_from_flexibility_policy = args[:properties_from_flexibility_policy] if args.key?(:properties_from_flexibility_policy)
26558
+ @size_in_unit = args[:size_in_unit] if args.key?(:size_in_unit)
26503
26559
  @tag = args[:tag] if args.key?(:tag)
26504
26560
  @target_status = args[:target_status] if args.key?(:target_status)
26505
26561
  @version = args[:version] if args.key?(:version)
@@ -26968,6 +27024,291 @@ module Google
26968
27024
  end
26969
27025
  end
26970
27026
 
27027
+ # MultiMIG represents a group of Managed Instance Groups.
27028
+ class MultiMig
27029
+ include Google::Apis::Core::Hashable
27030
+
27031
+ # [Output Only] Creation timestamp in RFC3339 text format.
27032
+ # Corresponds to the JSON property `creationTimestamp`
27033
+ # @return [String]
27034
+ attr_accessor :creation_timestamp
27035
+
27036
+ # An optional description of this resource. Provide this property when you
27037
+ # create the resource.
27038
+ # Corresponds to the JSON property `description`
27039
+ # @return [String]
27040
+ attr_accessor :description
27041
+
27042
+ # [Output Only] The unique identifier for the resource. This identifier is
27043
+ # defined by the server.
27044
+ # Corresponds to the JSON property `id`
27045
+ # @return [Fixnum]
27046
+ attr_accessor :id
27047
+
27048
+ # [Output Only] Type of the resource. Always compute#multiMig for MultiMIGs.
27049
+ # Corresponds to the JSON property `kind`
27050
+ # @return [String]
27051
+ attr_accessor :kind
27052
+
27053
+ # Policy regarding where to create MIGs Initially only zonal MIGs in the same
27054
+ # zone are supported.
27055
+ # Corresponds to the JSON property `locationPolicy`
27056
+ # @return [Google::Apis::ComputeAlpha::MultiMigLocationPolicy]
27057
+ attr_accessor :location_policy
27058
+
27059
+ # Name of the resource. Provided by the client when the resource is created. The
27060
+ # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
27061
+ # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
27062
+ # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
27063
+ # and all following characters must be a dash, lowercase letter, or digit,
27064
+ # except the last character, which cannot be a dash.
27065
+ # Corresponds to the JSON property `name`
27066
+ # @return [String]
27067
+ attr_accessor :name
27068
+
27069
+ # User-provided names for Parts of MultiMIG and the Parts themselves.
27070
+ # Corresponds to the JSON property `parts`
27071
+ # @return [Hash<String,Google::Apis::ComputeAlpha::MultiMigPart>]
27072
+ attr_accessor :parts
27073
+
27074
+ # [Output Only] URL of the region where the resource resides. Only applicable
27075
+ # for regional resources. You must specify this field as part of the HTTP
27076
+ # request URL. It is not settable as a field in the request body.
27077
+ # Corresponds to the JSON property `region`
27078
+ # @return [String]
27079
+ attr_accessor :region
27080
+
27081
+ # Policy for handling provisioning and other scheduling-related events.
27082
+ # Corresponds to the JSON property `schedulingPolicy`
27083
+ # @return [Google::Apis::ComputeAlpha::MultiMigSchedulingPolicy]
27084
+ attr_accessor :scheduling_policy
27085
+
27086
+ # [Output only] Server-defined URL for the resource.
27087
+ # Corresponds to the JSON property `selfLink`
27088
+ # @return [String]
27089
+ attr_accessor :self_link
27090
+
27091
+ # [Output Only] Server-defined URL for this resource with the resource id.
27092
+ # Corresponds to the JSON property `selfLinkWithId`
27093
+ # @return [String]
27094
+ attr_accessor :self_link_with_id
27095
+
27096
+ def initialize(**args)
27097
+ update!(**args)
27098
+ end
27099
+
27100
+ # Update properties of this object
27101
+ def update!(**args)
27102
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
27103
+ @description = args[:description] if args.key?(:description)
27104
+ @id = args[:id] if args.key?(:id)
27105
+ @kind = args[:kind] if args.key?(:kind)
27106
+ @location_policy = args[:location_policy] if args.key?(:location_policy)
27107
+ @name = args[:name] if args.key?(:name)
27108
+ @parts = args[:parts] if args.key?(:parts)
27109
+ @region = args[:region] if args.key?(:region)
27110
+ @scheduling_policy = args[:scheduling_policy] if args.key?(:scheduling_policy)
27111
+ @self_link = args[:self_link] if args.key?(:self_link)
27112
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
27113
+ end
27114
+ end
27115
+
27116
+ # Policy regarding where to create MIGs Initially only zonal MIGs in the same
27117
+ # zone are supported.
27118
+ class MultiMigLocationPolicy
27119
+ include Google::Apis::Core::Hashable
27120
+
27121
+ # List of zones where MIGs will be provisioned. Should be valid RFC1035 name
27122
+ # Corresponds to the JSON property `provisioningZones`
27123
+ # @return [Array<String>]
27124
+ attr_accessor :provisioning_zones
27125
+
27126
+ def initialize(**args)
27127
+ update!(**args)
27128
+ end
27129
+
27130
+ # Update properties of this object
27131
+ def update!(**args)
27132
+ @provisioning_zones = args[:provisioning_zones] if args.key?(:provisioning_zones)
27133
+ end
27134
+ end
27135
+
27136
+ # Config for an MMIG part.
27137
+ class MultiMigPart
27138
+ include Google::Apis::Core::Hashable
27139
+
27140
+ # Link to an existing InstanceGroupManager that will be adopted by a MultiMIG.
27141
+ # Corresponds to the JSON property `instanceGroupManager`
27142
+ # @return [String]
27143
+ attr_accessor :instance_group_manager
27144
+
27145
+ # Represents a Managed Instance Group resource. An instance group is a
27146
+ # collection of VM instances that you can manage as a single entity. For more
27147
+ # information, read Instance groups. For zonal Managed Instance Group, use the
27148
+ # instanceGroupManagers resource. For regional Managed Instance Group, use the
27149
+ # regionInstanceGroupManagers resource.
27150
+ # Corresponds to the JSON property `instanceGroupManagerProperties`
27151
+ # @return [Google::Apis::ComputeAlpha::InstanceGroupManager]
27152
+ attr_accessor :instance_group_manager_properties
27153
+
27154
+ def initialize(**args)
27155
+ update!(**args)
27156
+ end
27157
+
27158
+ # Update properties of this object
27159
+ def update!(**args)
27160
+ @instance_group_manager = args[:instance_group_manager] if args.key?(:instance_group_manager)
27161
+ @instance_group_manager_properties = args[:instance_group_manager_properties] if args.key?(:instance_group_manager_properties)
27162
+ end
27163
+ end
27164
+
27165
+ # Policy for handling provisioning and other scheduling-related events.
27166
+ class MultiMigSchedulingPolicy
27167
+ include Google::Apis::Core::Hashable
27168
+
27169
+ # How provisioning of MIGs should be scheduled (coordinated or not)
27170
+ # Corresponds to the JSON property `provisioning`
27171
+ # @return [String]
27172
+ attr_accessor :provisioning
27173
+
27174
+ def initialize(**args)
27175
+ update!(**args)
27176
+ end
27177
+
27178
+ # Update properties of this object
27179
+ def update!(**args)
27180
+ @provisioning = args[:provisioning] if args.key?(:provisioning)
27181
+ end
27182
+ end
27183
+
27184
+ #
27185
+ class MultiMigsList
27186
+ include Google::Apis::Core::Hashable
27187
+
27188
+ #
27189
+ # Corresponds to the JSON property `etag`
27190
+ # @return [String]
27191
+ attr_accessor :etag
27192
+
27193
+ # Unique identifier for the resource; defined by the server.
27194
+ # Corresponds to the JSON property `id`
27195
+ # @return [String]
27196
+ attr_accessor :id
27197
+
27198
+ # A list of MultiMig resources.
27199
+ # Corresponds to the JSON property `items`
27200
+ # @return [Array<Google::Apis::ComputeAlpha::MultiMig>]
27201
+ attr_accessor :items
27202
+
27203
+ # Type of resource.
27204
+ # Corresponds to the JSON property `kind`
27205
+ # @return [String]
27206
+ attr_accessor :kind
27207
+
27208
+ # This token allows you to get the next page of results for maxResults, use the
27209
+ # nextPageToken as a value for the query parameter pageToken in the next list
27210
+ # request. Subsequent list requests will have their own nextPageToken to
27211
+ # continue paging through the results.
27212
+ # Corresponds to the JSON property `nextPageToken`
27213
+ # @return [String]
27214
+ attr_accessor :next_page_token
27215
+
27216
+ # [Output only] Server-defined URL for this resource.
27217
+ # Corresponds to the JSON property `selfLink`
27218
+ # @return [String]
27219
+ attr_accessor :self_link
27220
+
27221
+ # [Output only] Unreachable resources.
27222
+ # Corresponds to the JSON property `unreachables`
27223
+ # @return [Array<String>]
27224
+ attr_accessor :unreachables
27225
+
27226
+ # Informational warning message.
27227
+ # Corresponds to the JSON property `warning`
27228
+ # @return [Google::Apis::ComputeAlpha::MultiMigsList::Warning]
27229
+ attr_accessor :warning
27230
+
27231
+ def initialize(**args)
27232
+ update!(**args)
27233
+ end
27234
+
27235
+ # Update properties of this object
27236
+ def update!(**args)
27237
+ @etag = args[:etag] if args.key?(:etag)
27238
+ @id = args[:id] if args.key?(:id)
27239
+ @items = args[:items] if args.key?(:items)
27240
+ @kind = args[:kind] if args.key?(:kind)
27241
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
27242
+ @self_link = args[:self_link] if args.key?(:self_link)
27243
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
27244
+ @warning = args[:warning] if args.key?(:warning)
27245
+ end
27246
+
27247
+ # Informational warning message.
27248
+ class Warning
27249
+ include Google::Apis::Core::Hashable
27250
+
27251
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
27252
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
27253
+ # Corresponds to the JSON property `code`
27254
+ # @return [String]
27255
+ attr_accessor :code
27256
+
27257
+ # [Output Only] Metadata about this warning in key: value format. For example: "
27258
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
27259
+ # Corresponds to the JSON property `data`
27260
+ # @return [Array<Google::Apis::ComputeAlpha::MultiMigsList::Warning::Datum>]
27261
+ attr_accessor :data
27262
+
27263
+ # [Output Only] A human-readable description of the warning code.
27264
+ # Corresponds to the JSON property `message`
27265
+ # @return [String]
27266
+ attr_accessor :message
27267
+
27268
+ def initialize(**args)
27269
+ update!(**args)
27270
+ end
27271
+
27272
+ # Update properties of this object
27273
+ def update!(**args)
27274
+ @code = args[:code] if args.key?(:code)
27275
+ @data = args[:data] if args.key?(:data)
27276
+ @message = args[:message] if args.key?(:message)
27277
+ end
27278
+
27279
+ #
27280
+ class Datum
27281
+ include Google::Apis::Core::Hashable
27282
+
27283
+ # [Output Only] A key that provides more detail on the warning being returned.
27284
+ # For example, for warnings where there are no results in a list request for a
27285
+ # particular zone, this key might be scope and the key value might be the zone
27286
+ # name. Other examples might be a key indicating a deprecated resource and a
27287
+ # suggested replacement, or a warning about invalid network settings (for
27288
+ # example, if an instance attempts to perform IP forwarding but is not enabled
27289
+ # for IP forwarding).
27290
+ # Corresponds to the JSON property `key`
27291
+ # @return [String]
27292
+ attr_accessor :key
27293
+
27294
+ # [Output Only] A warning data value corresponding to the key.
27295
+ # Corresponds to the JSON property `value`
27296
+ # @return [String]
27297
+ attr_accessor :value
27298
+
27299
+ def initialize(**args)
27300
+ update!(**args)
27301
+ end
27302
+
27303
+ # Update properties of this object
27304
+ def update!(**args)
27305
+ @key = args[:key] if args.key?(:key)
27306
+ @value = args[:value] if args.key?(:value)
27307
+ end
27308
+ end
27309
+ end
27310
+ end
27311
+
26971
27312
  # [Deprecated] Configuration for the mutual Tls mode for peer authentication.
26972
27313
  # Configuration for the mutual Tls mode for peer authentication.
26973
27314
  class MutualTls
@@ -30049,6 +30390,360 @@ module Google
30049
30390
  end
30050
30391
  end
30051
30392
 
30393
+ # NetworkProfile represents a Google managed network profile resource.
30394
+ class NetworkProfile
30395
+ include Google::Apis::Core::Hashable
30396
+
30397
+ # [Output Only] Creation timestamp in RFC3339 text format.
30398
+ # Corresponds to the JSON property `creationTimestamp`
30399
+ # @return [String]
30400
+ attr_accessor :creation_timestamp
30401
+
30402
+ # [Output Only] An optional description of this resource.
30403
+ # Corresponds to the JSON property `description`
30404
+ # @return [String]
30405
+ attr_accessor :description
30406
+
30407
+ # [Output Only] Features supported by the network.
30408
+ # Corresponds to the JSON property `features`
30409
+ # @return [Google::Apis::ComputeAlpha::NetworkProfileNetworkFeatures]
30410
+ attr_accessor :features
30411
+
30412
+ # [Output Only] The unique identifier for the resource. This identifier is
30413
+ # defined by the server.
30414
+ # Corresponds to the JSON property `id`
30415
+ # @return [Fixnum]
30416
+ attr_accessor :id
30417
+
30418
+ # [Output Only] Type of the resource. Always compute#networkProfile for network
30419
+ # profiles.
30420
+ # Corresponds to the JSON property `kind`
30421
+ # @return [String]
30422
+ attr_accessor :kind
30423
+
30424
+ # [Output Only] Name of the resource.
30425
+ # Corresponds to the JSON property `name`
30426
+ # @return [String]
30427
+ attr_accessor :name
30428
+
30429
+ # [Output Only] Server-defined URL for the resource.
30430
+ # Corresponds to the JSON property `selfLink`
30431
+ # @return [String]
30432
+ attr_accessor :self_link
30433
+
30434
+ # [Output Only] Server-defined URL for this resource with the resource id.
30435
+ # Corresponds to the JSON property `selfLinkWithId`
30436
+ # @return [String]
30437
+ attr_accessor :self_link_with_id
30438
+
30439
+ # [Output Only] Zone to which the network is restricted.
30440
+ # Corresponds to the JSON property `zone`
30441
+ # @return [String]
30442
+ attr_accessor :zone
30443
+
30444
+ def initialize(**args)
30445
+ update!(**args)
30446
+ end
30447
+
30448
+ # Update properties of this object
30449
+ def update!(**args)
30450
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
30451
+ @description = args[:description] if args.key?(:description)
30452
+ @features = args[:features] if args.key?(:features)
30453
+ @id = args[:id] if args.key?(:id)
30454
+ @kind = args[:kind] if args.key?(:kind)
30455
+ @name = args[:name] if args.key?(:name)
30456
+ @self_link = args[:self_link] if args.key?(:self_link)
30457
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
30458
+ @zone = args[:zone] if args.key?(:zone)
30459
+ end
30460
+ end
30461
+
30462
+ #
30463
+ class NetworkProfileNetworkFeatures
30464
+ include Google::Apis::Core::Hashable
30465
+
30466
+ # Specifies what address purposes are supported. If empty, all address purposes
30467
+ # are supported.
30468
+ # Corresponds to the JSON property `addressPurposes`
30469
+ # @return [Array<String>]
30470
+ attr_accessor :address_purposes
30471
+
30472
+ # Specifies whether alias IP ranges (and secondary address ranges) are allowed.
30473
+ # Corresponds to the JSON property `allowAliasIpRanges`
30474
+ # @return [String]
30475
+ attr_accessor :allow_alias_ip_ranges
30476
+
30477
+ # Specifies whether auto mode subnet creation is allowed.
30478
+ # Corresponds to the JSON property `allowAutoModeSubnet`
30479
+ # @return [String]
30480
+ attr_accessor :allow_auto_mode_subnet
30481
+
30482
+ # Specifies whether firewalls for Class D address ranges are supported.
30483
+ # Corresponds to the JSON property `allowClassDFirewalls`
30484
+ # @return [String]
30485
+ attr_accessor :allow_class_d_firewalls
30486
+
30487
+ # Specifies whether cloud NAT creation is allowed.
30488
+ # Corresponds to the JSON property `allowCloudNat`
30489
+ # @return [String]
30490
+ attr_accessor :allow_cloud_nat
30491
+
30492
+ # Specifies whether cloud router creation is allowed.
30493
+ # Corresponds to the JSON property `allowCloudRouter`
30494
+ # @return [String]
30495
+ attr_accessor :allow_cloud_router
30496
+
30497
+ # Specifies whether VMs are allowed to have external IP access on network
30498
+ # interfaces connected to this VPC.
30499
+ # Corresponds to the JSON property `allowExternalIpAccess`
30500
+ # @return [String]
30501
+ attr_accessor :allow_external_ip_access
30502
+
30503
+ # Specifies whether Cloud Interconnect creation is allowed.
30504
+ # Corresponds to the JSON property `allowInterconnect`
30505
+ # @return [String]
30506
+ attr_accessor :allow_interconnect
30507
+
30508
+ # Specifies whether cloud load balancing is allowed.
30509
+ # Corresponds to the JSON property `allowLoadBalancing`
30510
+ # @return [String]
30511
+ attr_accessor :allow_load_balancing
30512
+
30513
+ # Specifies whether multi-nic in the same network is allowed.
30514
+ # Corresponds to the JSON property `allowMultiNicInSameNetwork`
30515
+ # @return [String]
30516
+ attr_accessor :allow_multi_nic_in_same_network
30517
+
30518
+ # Specifies whether Packet Mirroring 1.0 is supported.
30519
+ # Corresponds to the JSON property `allowPacketMirroring`
30520
+ # @return [String]
30521
+ attr_accessor :allow_packet_mirroring
30522
+
30523
+ # Specifies whether private Google access is allowed.
30524
+ # Corresponds to the JSON property `allowPrivateGoogleAccess`
30525
+ # @return [String]
30526
+ attr_accessor :allow_private_google_access
30527
+
30528
+ # Specifies whether PSC creation is allowed.
30529
+ # Corresponds to the JSON property `allowPsc`
30530
+ # @return [String]
30531
+ attr_accessor :allow_psc
30532
+
30533
+ # Specifies whether unicast within the same network is allowed.
30534
+ # Corresponds to the JSON property `allowSameNetworkUnicast`
30535
+ # @return [String]
30536
+ attr_accessor :allow_same_network_unicast
30537
+
30538
+ # Specifies whether static route creation is allowed.
30539
+ # Corresponds to the JSON property `allowStaticRoutes`
30540
+ # @return [String]
30541
+ attr_accessor :allow_static_routes
30542
+
30543
+ # Specifies whether sub interfaces are allowed.
30544
+ # Corresponds to the JSON property `allowSubInterfaces`
30545
+ # @return [String]
30546
+ attr_accessor :allow_sub_interfaces
30547
+
30548
+ # Specifies whether VPC peering is allowed.
30549
+ # Corresponds to the JSON property `allowVpcPeering`
30550
+ # @return [String]
30551
+ attr_accessor :allow_vpc_peering
30552
+
30553
+ # Specifies whether VPN creation is allowed.
30554
+ # Corresponds to the JSON property `allowVpn`
30555
+ # @return [String]
30556
+ attr_accessor :allow_vpn
30557
+
30558
+ # Specifies which subnetwork purposes are supported.
30559
+ # Corresponds to the JSON property `allowedSubnetPurposes`
30560
+ # @return [Array<String>]
30561
+ attr_accessor :allowed_subnet_purposes
30562
+
30563
+ # Specifies which subnetwork stack types are supported.
30564
+ # Corresponds to the JSON property `allowedSubnetStackTypes`
30565
+ # @return [Array<String>]
30566
+ attr_accessor :allowed_subnet_stack_types
30567
+
30568
+ # If set, limits the interface types that the network supports. If empty, all
30569
+ # interface types are supported.
30570
+ # Corresponds to the JSON property `interfaceTypes`
30571
+ # @return [Array<String>]
30572
+ attr_accessor :interface_types
30573
+
30574
+ # Specifies which type of multicast is supported.
30575
+ # Corresponds to the JSON property `multicast`
30576
+ # @return [String]
30577
+ attr_accessor :multicast
30578
+
30579
+ # Specifies which type of unicast is supported.
30580
+ # Corresponds to the JSON property `unicast`
30581
+ # @return [String]
30582
+ attr_accessor :unicast
30583
+
30584
+ def initialize(**args)
30585
+ update!(**args)
30586
+ end
30587
+
30588
+ # Update properties of this object
30589
+ def update!(**args)
30590
+ @address_purposes = args[:address_purposes] if args.key?(:address_purposes)
30591
+ @allow_alias_ip_ranges = args[:allow_alias_ip_ranges] if args.key?(:allow_alias_ip_ranges)
30592
+ @allow_auto_mode_subnet = args[:allow_auto_mode_subnet] if args.key?(:allow_auto_mode_subnet)
30593
+ @allow_class_d_firewalls = args[:allow_class_d_firewalls] if args.key?(:allow_class_d_firewalls)
30594
+ @allow_cloud_nat = args[:allow_cloud_nat] if args.key?(:allow_cloud_nat)
30595
+ @allow_cloud_router = args[:allow_cloud_router] if args.key?(:allow_cloud_router)
30596
+ @allow_external_ip_access = args[:allow_external_ip_access] if args.key?(:allow_external_ip_access)
30597
+ @allow_interconnect = args[:allow_interconnect] if args.key?(:allow_interconnect)
30598
+ @allow_load_balancing = args[:allow_load_balancing] if args.key?(:allow_load_balancing)
30599
+ @allow_multi_nic_in_same_network = args[:allow_multi_nic_in_same_network] if args.key?(:allow_multi_nic_in_same_network)
30600
+ @allow_packet_mirroring = args[:allow_packet_mirroring] if args.key?(:allow_packet_mirroring)
30601
+ @allow_private_google_access = args[:allow_private_google_access] if args.key?(:allow_private_google_access)
30602
+ @allow_psc = args[:allow_psc] if args.key?(:allow_psc)
30603
+ @allow_same_network_unicast = args[:allow_same_network_unicast] if args.key?(:allow_same_network_unicast)
30604
+ @allow_static_routes = args[:allow_static_routes] if args.key?(:allow_static_routes)
30605
+ @allow_sub_interfaces = args[:allow_sub_interfaces] if args.key?(:allow_sub_interfaces)
30606
+ @allow_vpc_peering = args[:allow_vpc_peering] if args.key?(:allow_vpc_peering)
30607
+ @allow_vpn = args[:allow_vpn] if args.key?(:allow_vpn)
30608
+ @allowed_subnet_purposes = args[:allowed_subnet_purposes] if args.key?(:allowed_subnet_purposes)
30609
+ @allowed_subnet_stack_types = args[:allowed_subnet_stack_types] if args.key?(:allowed_subnet_stack_types)
30610
+ @interface_types = args[:interface_types] if args.key?(:interface_types)
30611
+ @multicast = args[:multicast] if args.key?(:multicast)
30612
+ @unicast = args[:unicast] if args.key?(:unicast)
30613
+ end
30614
+ end
30615
+
30616
+ # Contains a list of network profiles.
30617
+ class NetworkProfilesListResponse
30618
+ include Google::Apis::Core::Hashable
30619
+
30620
+ #
30621
+ # Corresponds to the JSON property `etag`
30622
+ # @return [String]
30623
+ attr_accessor :etag
30624
+
30625
+ # [Output Only] Unique identifier for the resource; defined by the server.
30626
+ # Corresponds to the JSON property `id`
30627
+ # @return [String]
30628
+ attr_accessor :id
30629
+
30630
+ # A list of NetworkProfile resources.
30631
+ # Corresponds to the JSON property `items`
30632
+ # @return [Array<Google::Apis::ComputeAlpha::NetworkProfile>]
30633
+ attr_accessor :items
30634
+
30635
+ # [Output Only] Type of resource. Always compute#networkProfileList for network
30636
+ # profiles.
30637
+ # Corresponds to the JSON property `kind`
30638
+ # @return [String]
30639
+ attr_accessor :kind
30640
+
30641
+ # [Output Only] This token allows you to get the next page of results for list
30642
+ # requests. If the number of results is larger than maxResults, use the
30643
+ # nextPageToken as a value for the query parameter pageToken in the next list
30644
+ # request. Subsequent list requests will have their own nextPageToken to
30645
+ # continue paging through the results.
30646
+ # Corresponds to the JSON property `nextPageToken`
30647
+ # @return [String]
30648
+ attr_accessor :next_page_token
30649
+
30650
+ # [Output Only] Server-defined URL for this resource.
30651
+ # Corresponds to the JSON property `selfLink`
30652
+ # @return [String]
30653
+ attr_accessor :self_link
30654
+
30655
+ # [Output Only] Unreachable resources. end_interface:
30656
+ # MixerListResponseWithEtagBuilder
30657
+ # Corresponds to the JSON property `unreachables`
30658
+ # @return [Array<String>]
30659
+ attr_accessor :unreachables
30660
+
30661
+ # [Output Only] Informational warning message.
30662
+ # Corresponds to the JSON property `warning`
30663
+ # @return [Google::Apis::ComputeAlpha::NetworkProfilesListResponse::Warning]
30664
+ attr_accessor :warning
30665
+
30666
+ def initialize(**args)
30667
+ update!(**args)
30668
+ end
30669
+
30670
+ # Update properties of this object
30671
+ def update!(**args)
30672
+ @etag = args[:etag] if args.key?(:etag)
30673
+ @id = args[:id] if args.key?(:id)
30674
+ @items = args[:items] if args.key?(:items)
30675
+ @kind = args[:kind] if args.key?(:kind)
30676
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
30677
+ @self_link = args[:self_link] if args.key?(:self_link)
30678
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
30679
+ @warning = args[:warning] if args.key?(:warning)
30680
+ end
30681
+
30682
+ # [Output Only] Informational warning message.
30683
+ class Warning
30684
+ include Google::Apis::Core::Hashable
30685
+
30686
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
30687
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
30688
+ # Corresponds to the JSON property `code`
30689
+ # @return [String]
30690
+ attr_accessor :code
30691
+
30692
+ # [Output Only] Metadata about this warning in key: value format. For example: "
30693
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
30694
+ # Corresponds to the JSON property `data`
30695
+ # @return [Array<Google::Apis::ComputeAlpha::NetworkProfilesListResponse::Warning::Datum>]
30696
+ attr_accessor :data
30697
+
30698
+ # [Output Only] A human-readable description of the warning code.
30699
+ # Corresponds to the JSON property `message`
30700
+ # @return [String]
30701
+ attr_accessor :message
30702
+
30703
+ def initialize(**args)
30704
+ update!(**args)
30705
+ end
30706
+
30707
+ # Update properties of this object
30708
+ def update!(**args)
30709
+ @code = args[:code] if args.key?(:code)
30710
+ @data = args[:data] if args.key?(:data)
30711
+ @message = args[:message] if args.key?(:message)
30712
+ end
30713
+
30714
+ #
30715
+ class Datum
30716
+ include Google::Apis::Core::Hashable
30717
+
30718
+ # [Output Only] A key that provides more detail on the warning being returned.
30719
+ # For example, for warnings where there are no results in a list request for a
30720
+ # particular zone, this key might be scope and the key value might be the zone
30721
+ # name. Other examples might be a key indicating a deprecated resource and a
30722
+ # suggested replacement, or a warning about invalid network settings (for
30723
+ # example, if an instance attempts to perform IP forwarding but is not enabled
30724
+ # for IP forwarding).
30725
+ # Corresponds to the JSON property `key`
30726
+ # @return [String]
30727
+ attr_accessor :key
30728
+
30729
+ # [Output Only] A warning data value corresponding to the key.
30730
+ # Corresponds to the JSON property `value`
30731
+ # @return [String]
30732
+ attr_accessor :value
30733
+
30734
+ def initialize(**args)
30735
+ update!(**args)
30736
+ end
30737
+
30738
+ # Update properties of this object
30739
+ def update!(**args)
30740
+ @key = args[:key] if args.key?(:key)
30741
+ @value = args[:value] if args.key?(:value)
30742
+ end
30743
+ end
30744
+ end
30745
+ end
30746
+
30052
30747
  # A routing configuration attached to a network resource. The message includes
30053
30748
  # the list of routers associated with the network, and a flag indicating the
30054
30749
  # type of routing behavior to enforce network-wide.
@@ -38717,6 +39412,12 @@ module Google
38717
39412
  # @return [String]
38718
39413
  attr_accessor :name
38719
39414
 
39415
+ # Specify the reservation sharing policy. If unspecified, the reservation will
39416
+ # not be shared with Google Cloud managed services.
39417
+ # Corresponds to the JSON property `reservationSharingPolicy`
39418
+ # @return [Google::Apis::ComputeAlpha::AllocationReservationSharingPolicy]
39419
+ attr_accessor :reservation_sharing_policy
39420
+
38720
39421
  # Resource policies to be added to this reservation. The key is defined by user,
38721
39422
  # and the value is resource policy url. This is to define placement policy with
38722
39423
  # reservation.
@@ -38789,6 +39490,7 @@ module Google
38789
39490
  @id = args[:id] if args.key?(:id)
38790
39491
  @kind = args[:kind] if args.key?(:kind)
38791
39492
  @name = args[:name] if args.key?(:name)
39493
+ @reservation_sharing_policy = args[:reservation_sharing_policy] if args.key?(:reservation_sharing_policy)
38792
39494
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
38793
39495
  @resource_status = args[:resource_status] if args.key?(:resource_status)
38794
39496
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
@@ -40543,9 +41245,14 @@ module Google
40543
41245
 
40544
41246
  # The URL to a forwarding rule of type loadBalancingScheme=INTERNAL that should
40545
41247
  # handle matching packets or the IP address of the forwarding Rule. For example,
40546
- # the following are all valid URLs: - 10.128.0.56 - https://www.googleapis.com/
40547
- # compute/v1/projects/project/regions/region /forwardingRules/forwardingRule -
40548
- # regions/region/forwardingRules/forwardingRule
41248
+ # the following are all valid URLs: - https://www.googleapis.com/compute/v1/
41249
+ # projects/project/regions/region /forwardingRules/forwardingRule - regions/
41250
+ # region/forwardingRules/forwardingRule If an IP address is provided, must
41251
+ # specify an IPv4 address in dot-decimal notation or an IPv6 address in RFC 4291
41252
+ # format. For example, the following are all valid IP addresses: - 10.128.0.56 -
41253
+ # 2001:db8::2d9:51:0:0 - 2001:db8:0:0:2d9:51:0:0 IPv6 addresses will be
41254
+ # displayed using RFC 5952 compressed format (e.g. 2001:db8::2d9:51:0:0). Should
41255
+ # never be an IPv4-mapped IPv6 address.
40549
41256
  # Corresponds to the JSON property `nextHopIlb`
40550
41257
  # @return [String]
40551
41258
  attr_accessor :next_hop_ilb
@@ -42112,11 +42819,11 @@ module Google
42112
42819
  # CEL expression that specifies the match condition that egress traffic from a
42113
42820
  # VM is evaluated against. If it evaluates to true, the corresponding `action`
42114
42821
  # is enforced. The following examples are valid match expressions for public NAT:
42115
- # "inIpRange(destination.ip, '1.1.0.0/16') || inIpRange(destination.ip, '2.2.0.
42116
- # 0/16')" "destination.ip == '1.1.0.1' || destination.ip == '8.8.8.8'" The
42117
- # following example is a valid match expression for private NAT: "nexthop.hub ==
42822
+ # `inIpRange(destination.ip, '1.1.0.0/16') || inIpRange(destination.ip, '2.2.0.
42823
+ # 0/16')` `destination.ip == '1.1.0.1' || destination.ip == '8.8.8.8'` The
42824
+ # following example is a valid match expression for private NAT: `nexthop.hub ==
42118
42825
  # '//networkconnectivity.googleapis.com/projects/my-project/locations/global/
42119
- # hubs/hub-1'"
42826
+ # hubs/hub-1'`
42120
42827
  # Corresponds to the JSON property `match`
42121
42828
  # @return [String]
42122
42829
  attr_accessor :match
@@ -42227,12 +42934,19 @@ module Google
42227
42934
  class RouterStatus
42228
42935
  include Google::Apis::Core::Hashable
42229
42936
 
42230
- # Best routes for this router's network.
42937
+ # A list of the best dynamic routes for this Cloud Router's Virtual Private
42938
+ # Cloud (VPC) network in the same region as this Cloud Router. Lists all of the
42939
+ # best routes per prefix that are programmed into this region's VPC data plane.
42940
+ # When global dynamic routing mode is turned on in the VPC network, this list
42941
+ # can include cross-region dynamic routes from Cloud Routers in other regions.
42231
42942
  # Corresponds to the JSON property `bestRoutes`
42232
42943
  # @return [Array<Google::Apis::ComputeAlpha::Route>]
42233
42944
  attr_accessor :best_routes
42234
42945
 
42235
- # Best routes learned by this router.
42946
+ # A list of the best BGP routes learned by this Cloud Router. It is possible
42947
+ # that routes listed might not be programmed into the data plane, if the Google
42948
+ # Cloud control plane finds a more optimal route for a prefix than a route
42949
+ # learned by this Cloud Router.
42236
42950
  # Corresponds to the JSON property `bestRoutesForRouter`
42237
42951
  # @return [Array<Google::Apis::ComputeAlpha::Route>]
42238
42952
  attr_accessor :best_routes_for_router
@@ -49241,7 +49955,8 @@ module Google
49241
49955
  # @return [String]
49242
49956
  attr_accessor :performance_provisioning_type
49243
49957
 
49244
- # Size, in GiB, of the storage pool.
49958
+ # Size, in GiB, of the storage pool. For more information about the size limits,
49959
+ # see https://cloud.google.com/compute/docs/disks/storage-pools.
49245
49960
  # Corresponds to the JSON property `poolProvisionedCapacityGb`
49246
49961
  # @return [Fixnum]
49247
49962
  attr_accessor :pool_provisioned_capacity_gb
@@ -49861,8 +50576,9 @@ module Google
49861
50576
  # @return [Fixnum]
49862
50577
  attr_accessor :pool_used_capacity_bytes
49863
50578
 
49864
- # Sum of all the disks' provisioned IOPS, minus some amount that is allowed per
49865
- # disk that is not counted towards pool's IOPS capacity.
50579
+ # [Output Only] Sum of all the disks' provisioned IOPS, minus some amount that
50580
+ # is allowed per disk that is not counted towards pool's IOPS capacity. For more
50581
+ # information, see https://cloud.google.com/compute/docs/disks/storage-pools.
49866
50582
  # Corresponds to the JSON property `poolUsedIops`
49867
50583
  # @return [Fixnum]
49868
50584
  attr_accessor :pool_used_iops
@@ -58079,7 +58795,9 @@ module Google
58079
58795
  # selection of a backend service is determined only for new traffic. Once a user'
58080
58796
  # s request has been directed to a backend service, subsequent requests are sent
58081
58797
  # to the same backend service as determined by the backend service's session
58082
- # affinity policy. The value must be from 0 to 1000.
58798
+ # affinity policy. Don't configure session affinity if you're using weighted
58799
+ # traffic splitting. If you do, the weighted traffic splitting configuration
58800
+ # takes precedence. The value must be from 0 to 1000.
58083
58801
  # Corresponds to the JSON property `weight`
58084
58802
  # @return [Fixnum]
58085
58803
  attr_accessor :weight