google-apis-compute_alpha 0.102.0 → 0.104.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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