google-apis-compute_beta 0.75.0 → 0.77.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1673,8 +1673,7 @@ module Google
1673
1673
 
1674
1674
  # Required for each regional disk associated with the instance. Specify the URLs
1675
1675
  # of the zones where the disk should be replicated to. You must provide exactly
1676
- # two replica zones, and one zone must be the same as the instance zone. You can'
1677
- # t use this option with boot disks.
1676
+ # two replica zones, and one zone must be the same as the instance zone.
1678
1677
  # Corresponds to the JSON property `replicaZones`
1679
1678
  # @return [Array<String>]
1680
1679
  attr_accessor :replica_zones
@@ -9739,7 +9738,7 @@ module Google
9739
9738
 
9740
9739
  # This is used in PSC consumer ForwardingRule to control whether it should try
9741
9740
  # to auto-generate a DNS zone or not. Non-PSC forwarding rules do not use this
9742
- # field.
9741
+ # field. Once set, this field is not mutable.
9743
9742
  # Corresponds to the JSON property `noAutomateDnsZone`
9744
9743
  # @return [Boolean]
9745
9744
  attr_accessor :no_automate_dns_zone
@@ -9855,6 +9854,7 @@ module Google
9855
9854
  # API bundle: - vpc-sc - APIs that support VPC Service Controls. - all-apis -
9856
9855
  # All supported Google APIs. - For Private Service Connect forwarding rules that
9857
9856
  # forward traffic to managed services, the target must be a service attachment.
9857
+ # The target is not mutable once set as a service attachment.
9858
9858
  # Corresponds to the JSON property `target`
9859
9859
  # @return [String]
9860
9860
  attr_accessor :target
@@ -10026,21 +10026,788 @@ module Google
10026
10026
  end
10027
10027
  end
10028
10028
 
10029
- # Contains a list of ForwardingRule resources.
10030
- class ForwardingRuleList
10029
+ # Contains a list of ForwardingRule resources.
10030
+ class ForwardingRuleList
10031
+ include Google::Apis::Core::Hashable
10032
+
10033
+ # [Output Only] Unique identifier for the resource; defined by the server.
10034
+ # Corresponds to the JSON property `id`
10035
+ # @return [String]
10036
+ attr_accessor :id
10037
+
10038
+ # A list of ForwardingRule resources.
10039
+ # Corresponds to the JSON property `items`
10040
+ # @return [Array<Google::Apis::ComputeBeta::ForwardingRule>]
10041
+ attr_accessor :items
10042
+
10043
+ # Type of resource.
10044
+ # Corresponds to the JSON property `kind`
10045
+ # @return [String]
10046
+ attr_accessor :kind
10047
+
10048
+ # [Output Only] This token allows you to get the next page of results for list
10049
+ # requests. If the number of results is larger than maxResults, use the
10050
+ # nextPageToken as a value for the query parameter pageToken in the next list
10051
+ # request. Subsequent list requests will have their own nextPageToken to
10052
+ # continue paging through the results.
10053
+ # Corresponds to the JSON property `nextPageToken`
10054
+ # @return [String]
10055
+ attr_accessor :next_page_token
10056
+
10057
+ # [Output Only] Server-defined URL for this resource.
10058
+ # Corresponds to the JSON property `selfLink`
10059
+ # @return [String]
10060
+ attr_accessor :self_link
10061
+
10062
+ # [Output Only] Informational warning message.
10063
+ # Corresponds to the JSON property `warning`
10064
+ # @return [Google::Apis::ComputeBeta::ForwardingRuleList::Warning]
10065
+ attr_accessor :warning
10066
+
10067
+ def initialize(**args)
10068
+ update!(**args)
10069
+ end
10070
+
10071
+ # Update properties of this object
10072
+ def update!(**args)
10073
+ @id = args[:id] if args.key?(:id)
10074
+ @items = args[:items] if args.key?(:items)
10075
+ @kind = args[:kind] if args.key?(:kind)
10076
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
10077
+ @self_link = args[:self_link] if args.key?(:self_link)
10078
+ @warning = args[:warning] if args.key?(:warning)
10079
+ end
10080
+
10081
+ # [Output Only] Informational warning message.
10082
+ class Warning
10083
+ include Google::Apis::Core::Hashable
10084
+
10085
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
10086
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
10087
+ # Corresponds to the JSON property `code`
10088
+ # @return [String]
10089
+ attr_accessor :code
10090
+
10091
+ # [Output Only] Metadata about this warning in key: value format. For example: "
10092
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
10093
+ # Corresponds to the JSON property `data`
10094
+ # @return [Array<Google::Apis::ComputeBeta::ForwardingRuleList::Warning::Datum>]
10095
+ attr_accessor :data
10096
+
10097
+ # [Output Only] A human-readable description of the warning code.
10098
+ # Corresponds to the JSON property `message`
10099
+ # @return [String]
10100
+ attr_accessor :message
10101
+
10102
+ def initialize(**args)
10103
+ update!(**args)
10104
+ end
10105
+
10106
+ # Update properties of this object
10107
+ def update!(**args)
10108
+ @code = args[:code] if args.key?(:code)
10109
+ @data = args[:data] if args.key?(:data)
10110
+ @message = args[:message] if args.key?(:message)
10111
+ end
10112
+
10113
+ #
10114
+ class Datum
10115
+ include Google::Apis::Core::Hashable
10116
+
10117
+ # [Output Only] A key that provides more detail on the warning being returned.
10118
+ # For example, for warnings where there are no results in a list request for a
10119
+ # particular zone, this key might be scope and the key value might be the zone
10120
+ # name. Other examples might be a key indicating a deprecated resource and a
10121
+ # suggested replacement, or a warning about invalid network settings (for
10122
+ # example, if an instance attempts to perform IP forwarding but is not enabled
10123
+ # for IP forwarding).
10124
+ # Corresponds to the JSON property `key`
10125
+ # @return [String]
10126
+ attr_accessor :key
10127
+
10128
+ # [Output Only] A warning data value corresponding to the key.
10129
+ # Corresponds to the JSON property `value`
10130
+ # @return [String]
10131
+ attr_accessor :value
10132
+
10133
+ def initialize(**args)
10134
+ update!(**args)
10135
+ end
10136
+
10137
+ # Update properties of this object
10138
+ def update!(**args)
10139
+ @key = args[:key] if args.key?(:key)
10140
+ @value = args[:value] if args.key?(:value)
10141
+ end
10142
+ end
10143
+ end
10144
+ end
10145
+
10146
+ #
10147
+ class ForwardingRuleReference
10148
+ include Google::Apis::Core::Hashable
10149
+
10150
+ #
10151
+ # Corresponds to the JSON property `forwardingRule`
10152
+ # @return [String]
10153
+ attr_accessor :forwarding_rule
10154
+
10155
+ def initialize(**args)
10156
+ update!(**args)
10157
+ end
10158
+
10159
+ # Update properties of this object
10160
+ def update!(**args)
10161
+ @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
10162
+ end
10163
+ end
10164
+
10165
+ # Describes the auto-registration of the Forwarding Rule to Service Directory.
10166
+ # The region and project of the Service Directory resource generated from this
10167
+ # registration will be the same as this Forwarding Rule.
10168
+ class ForwardingRuleServiceDirectoryRegistration
10169
+ include Google::Apis::Core::Hashable
10170
+
10171
+ # Service Directory namespace to register the forwarding rule under.
10172
+ # Corresponds to the JSON property `namespace`
10173
+ # @return [String]
10174
+ attr_accessor :namespace
10175
+
10176
+ # Service Directory service to register the forwarding rule under.
10177
+ # Corresponds to the JSON property `service`
10178
+ # @return [String]
10179
+ attr_accessor :service
10180
+
10181
+ # [Optional] Service Directory region to register this global forwarding rule
10182
+ # under. Default to "us-central1". Only used for PSC for Google APIs. All PSC
10183
+ # for Google APIs Forwarding Rules on the same network should use the same
10184
+ # Service Directory region.
10185
+ # Corresponds to the JSON property `serviceDirectoryRegion`
10186
+ # @return [String]
10187
+ attr_accessor :service_directory_region
10188
+
10189
+ def initialize(**args)
10190
+ update!(**args)
10191
+ end
10192
+
10193
+ # Update properties of this object
10194
+ def update!(**args)
10195
+ @namespace = args[:namespace] if args.key?(:namespace)
10196
+ @service = args[:service] if args.key?(:service)
10197
+ @service_directory_region = args[:service_directory_region] if args.key?(:service_directory_region)
10198
+ end
10199
+ end
10200
+
10201
+ #
10202
+ class ForwardingRulesScopedList
10203
+ include Google::Apis::Core::Hashable
10204
+
10205
+ # A list of forwarding rules contained in this scope.
10206
+ # Corresponds to the JSON property `forwardingRules`
10207
+ # @return [Array<Google::Apis::ComputeBeta::ForwardingRule>]
10208
+ attr_accessor :forwarding_rules
10209
+
10210
+ # Informational warning which replaces the list of forwarding rules when the
10211
+ # list is empty.
10212
+ # Corresponds to the JSON property `warning`
10213
+ # @return [Google::Apis::ComputeBeta::ForwardingRulesScopedList::Warning]
10214
+ attr_accessor :warning
10215
+
10216
+ def initialize(**args)
10217
+ update!(**args)
10218
+ end
10219
+
10220
+ # Update properties of this object
10221
+ def update!(**args)
10222
+ @forwarding_rules = args[:forwarding_rules] if args.key?(:forwarding_rules)
10223
+ @warning = args[:warning] if args.key?(:warning)
10224
+ end
10225
+
10226
+ # Informational warning which replaces the list of forwarding rules when the
10227
+ # list is empty.
10228
+ class Warning
10229
+ include Google::Apis::Core::Hashable
10230
+
10231
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
10232
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
10233
+ # Corresponds to the JSON property `code`
10234
+ # @return [String]
10235
+ attr_accessor :code
10236
+
10237
+ # [Output Only] Metadata about this warning in key: value format. For example: "
10238
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
10239
+ # Corresponds to the JSON property `data`
10240
+ # @return [Array<Google::Apis::ComputeBeta::ForwardingRulesScopedList::Warning::Datum>]
10241
+ attr_accessor :data
10242
+
10243
+ # [Output Only] A human-readable description of the warning code.
10244
+ # Corresponds to the JSON property `message`
10245
+ # @return [String]
10246
+ attr_accessor :message
10247
+
10248
+ def initialize(**args)
10249
+ update!(**args)
10250
+ end
10251
+
10252
+ # Update properties of this object
10253
+ def update!(**args)
10254
+ @code = args[:code] if args.key?(:code)
10255
+ @data = args[:data] if args.key?(:data)
10256
+ @message = args[:message] if args.key?(:message)
10257
+ end
10258
+
10259
+ #
10260
+ class Datum
10261
+ include Google::Apis::Core::Hashable
10262
+
10263
+ # [Output Only] A key that provides more detail on the warning being returned.
10264
+ # For example, for warnings where there are no results in a list request for a
10265
+ # particular zone, this key might be scope and the key value might be the zone
10266
+ # name. Other examples might be a key indicating a deprecated resource and a
10267
+ # suggested replacement, or a warning about invalid network settings (for
10268
+ # example, if an instance attempts to perform IP forwarding but is not enabled
10269
+ # for IP forwarding).
10270
+ # Corresponds to the JSON property `key`
10271
+ # @return [String]
10272
+ attr_accessor :key
10273
+
10274
+ # [Output Only] A warning data value corresponding to the key.
10275
+ # Corresponds to the JSON property `value`
10276
+ # @return [String]
10277
+ attr_accessor :value
10278
+
10279
+ def initialize(**args)
10280
+ update!(**args)
10281
+ end
10282
+
10283
+ # Update properties of this object
10284
+ def update!(**args)
10285
+ @key = args[:key] if args.key?(:key)
10286
+ @value = args[:value] if args.key?(:value)
10287
+ end
10288
+ end
10289
+ end
10290
+ end
10291
+
10292
+ #
10293
+ class FutureReservation
10294
+ include Google::Apis::Core::Hashable
10295
+
10296
+ # Future timestamp when the FR auto-created reservations will be deleted by GCE.
10297
+ # Format of this field must be a valid href="https://www.ietf.org/rfc/rfc3339.
10298
+ # txt">RFC3339 value.
10299
+ # Corresponds to the JSON property `autoCreatedReservationsDeleteTime`
10300
+ # @return [String]
10301
+ attr_accessor :auto_created_reservations_delete_time
10302
+
10303
+ # A Duration represents a fixed-length span of time represented as a count of
10304
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
10305
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
10306
+ # 000 years.
10307
+ # Corresponds to the JSON property `autoCreatedReservationsDuration`
10308
+ # @return [Google::Apis::ComputeBeta::Duration]
10309
+ attr_accessor :auto_created_reservations_duration
10310
+
10311
+ # Setting for enabling or disabling automatic deletion for auto-created
10312
+ # reservation. If omitted or set to true, auto-created reservations will be
10313
+ # deleted at Future Reservation's end time (default) or at user's defined
10314
+ # timestamp if any of the [auto_created_reservations_delete_time,
10315
+ # auto_created_reservations_duration] values is specified. For keeping auto-
10316
+ # created reservation indefinitely, this value should be set to false.
10317
+ # Corresponds to the JSON property `autoDeleteAutoCreatedReservations`
10318
+ # @return [Boolean]
10319
+ attr_accessor :auto_delete_auto_created_reservations
10320
+ alias_method :auto_delete_auto_created_reservations?, :auto_delete_auto_created_reservations
10321
+
10322
+ # [Output Only] The creation timestamp for this future reservation in RFC3339
10323
+ # text format.
10324
+ # Corresponds to the JSON property `creationTimestamp`
10325
+ # @return [String]
10326
+ attr_accessor :creation_timestamp
10327
+
10328
+ # An optional description of this resource. Provide this property when you
10329
+ # create the future reservation.
10330
+ # Corresponds to the JSON property `description`
10331
+ # @return [String]
10332
+ attr_accessor :description
10333
+
10334
+ # [Output Only] A unique identifier for this future reservation. The server
10335
+ # defines this identifier.
10336
+ # Corresponds to the JSON property `id`
10337
+ # @return [Fixnum]
10338
+ attr_accessor :id
10339
+
10340
+ # [Output Only] Type of the resource. Always compute#futureReservation for
10341
+ # future reservations.
10342
+ # Corresponds to the JSON property `kind`
10343
+ # @return [String]
10344
+ attr_accessor :kind
10345
+
10346
+ # The name of the resource, provided by the client when initially creating the
10347
+ # resource. The resource name must be 1-63 characters long, and comply with
10348
+ # RFC1035. Specifically, the name must be 1-63 characters long and match the
10349
+ # regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first
10350
+ # character must be a lowercase letter, and all following characters must be a
10351
+ # dash, lowercase letter, or digit, except the last character, which cannot be a
10352
+ # dash.
10353
+ # Corresponds to the JSON property `name`
10354
+ # @return [String]
10355
+ attr_accessor :name
10356
+
10357
+ # Name prefix for the reservations to be created at the time of delivery. The
10358
+ # name prefix must comply with RFC1035. Maximum allowed length for name prefix
10359
+ # is 20. Automatically created reservations name format will be -date-####.
10360
+ # Corresponds to the JSON property `namePrefix`
10361
+ # @return [String]
10362
+ attr_accessor :name_prefix
10363
+
10364
+ # Planning state before being submitted for evaluation
10365
+ # Corresponds to the JSON property `planningStatus`
10366
+ # @return [String]
10367
+ attr_accessor :planning_status
10368
+
10369
+ # [Output Only] Server-defined fully-qualified URL for this resource.
10370
+ # Corresponds to the JSON property `selfLink`
10371
+ # @return [String]
10372
+ attr_accessor :self_link
10373
+
10374
+ # [Output Only] Server-defined URL for this resource with the resource id.
10375
+ # Corresponds to the JSON property `selfLinkWithId`
10376
+ # @return [String]
10377
+ attr_accessor :self_link_with_id
10378
+
10379
+ # The share setting for reservations and sole tenancy node groups.
10380
+ # Corresponds to the JSON property `shareSettings`
10381
+ # @return [Google::Apis::ComputeBeta::ShareSettings]
10382
+ attr_accessor :share_settings
10383
+
10384
+ # Future Reservation configuration to indicate instance properties and total
10385
+ # count.
10386
+ # Corresponds to the JSON property `specificSkuProperties`
10387
+ # @return [Google::Apis::ComputeBeta::FutureReservationSpecificSkuProperties]
10388
+ attr_accessor :specific_sku_properties
10389
+
10390
+ # [Output only] Represents status related to the future reservation.
10391
+ # Corresponds to the JSON property `status`
10392
+ # @return [Google::Apis::ComputeBeta::FutureReservationStatus]
10393
+ attr_accessor :status
10394
+
10395
+ # Time window for this Future Reservation.
10396
+ # Corresponds to the JSON property `timeWindow`
10397
+ # @return [Google::Apis::ComputeBeta::FutureReservationTimeWindow]
10398
+ attr_accessor :time_window
10399
+
10400
+ # [Output Only] URL of the Zone where this future reservation resides.
10401
+ # Corresponds to the JSON property `zone`
10402
+ # @return [String]
10403
+ attr_accessor :zone
10404
+
10405
+ def initialize(**args)
10406
+ update!(**args)
10407
+ end
10408
+
10409
+ # Update properties of this object
10410
+ def update!(**args)
10411
+ @auto_created_reservations_delete_time = args[:auto_created_reservations_delete_time] if args.key?(:auto_created_reservations_delete_time)
10412
+ @auto_created_reservations_duration = args[:auto_created_reservations_duration] if args.key?(:auto_created_reservations_duration)
10413
+ @auto_delete_auto_created_reservations = args[:auto_delete_auto_created_reservations] if args.key?(:auto_delete_auto_created_reservations)
10414
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
10415
+ @description = args[:description] if args.key?(:description)
10416
+ @id = args[:id] if args.key?(:id)
10417
+ @kind = args[:kind] if args.key?(:kind)
10418
+ @name = args[:name] if args.key?(:name)
10419
+ @name_prefix = args[:name_prefix] if args.key?(:name_prefix)
10420
+ @planning_status = args[:planning_status] if args.key?(:planning_status)
10421
+ @self_link = args[:self_link] if args.key?(:self_link)
10422
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
10423
+ @share_settings = args[:share_settings] if args.key?(:share_settings)
10424
+ @specific_sku_properties = args[:specific_sku_properties] if args.key?(:specific_sku_properties)
10425
+ @status = args[:status] if args.key?(:status)
10426
+ @time_window = args[:time_window] if args.key?(:time_window)
10427
+ @zone = args[:zone] if args.key?(:zone)
10428
+ end
10429
+ end
10430
+
10431
+ #
10432
+ class FutureReservationSpecificSkuProperties
10433
+ include Google::Apis::Core::Hashable
10434
+
10435
+ # Properties of the SKU instances being reserved. Next ID: 9
10436
+ # Corresponds to the JSON property `instanceProperties`
10437
+ # @return [Google::Apis::ComputeBeta::AllocationSpecificSkuAllocationReservedInstanceProperties]
10438
+ attr_accessor :instance_properties
10439
+
10440
+ # The instance template that will be used to populate the
10441
+ # ReservedInstanceProperties of the future reservation
10442
+ # Corresponds to the JSON property `sourceInstanceTemplate`
10443
+ # @return [String]
10444
+ attr_accessor :source_instance_template
10445
+
10446
+ # Total number of instances for which capacity assurance is requested at a
10447
+ # future time period.
10448
+ # Corresponds to the JSON property `totalCount`
10449
+ # @return [Fixnum]
10450
+ attr_accessor :total_count
10451
+
10452
+ def initialize(**args)
10453
+ update!(**args)
10454
+ end
10455
+
10456
+ # Update properties of this object
10457
+ def update!(**args)
10458
+ @instance_properties = args[:instance_properties] if args.key?(:instance_properties)
10459
+ @source_instance_template = args[:source_instance_template] if args.key?(:source_instance_template)
10460
+ @total_count = args[:total_count] if args.key?(:total_count)
10461
+ end
10462
+ end
10463
+
10464
+ # [Output only] Represents status related to the future reservation.
10465
+ class FutureReservationStatus
10466
+ include Google::Apis::Core::Hashable
10467
+
10468
+ # [Output Only] The current status of the requested amendment.
10469
+ # Corresponds to the JSON property `amendmentStatus`
10470
+ # @return [String]
10471
+ attr_accessor :amendment_status
10472
+
10473
+ # Fully qualified urls of the automatically created reservations at start_time.
10474
+ # Corresponds to the JSON property `autoCreatedReservations`
10475
+ # @return [Array<String>]
10476
+ attr_accessor :auto_created_reservations
10477
+
10478
+ # This count indicates the fulfilled capacity so far. This is set during "
10479
+ # PROVISIONING" state. This count also includes capacity delivered as part of
10480
+ # existing matching reservations.
10481
+ # Corresponds to the JSON property `fulfilledCount`
10482
+ # @return [Fixnum]
10483
+ attr_accessor :fulfilled_count
10484
+
10485
+ # The state that the future reservation will be reverted to should the amendment
10486
+ # be declined.
10487
+ # Corresponds to the JSON property `lastKnownGoodState`
10488
+ # @return [Google::Apis::ComputeBeta::FutureReservationStatusLastKnownGoodState]
10489
+ attr_accessor :last_known_good_state
10490
+
10491
+ # Time when Future Reservation would become LOCKED, after which no modifications
10492
+ # to Future Reservation will be allowed. Applicable only after the Future
10493
+ # Reservation is in the APPROVED state. The lock_time is an RFC3339 string. The
10494
+ # procurement_status will transition to PROCURING state at this time.
10495
+ # Corresponds to the JSON property `lockTime`
10496
+ # @return [String]
10497
+ attr_accessor :lock_time
10498
+
10499
+ # Current state of this Future Reservation
10500
+ # Corresponds to the JSON property `procurementStatus`
10501
+ # @return [String]
10502
+ attr_accessor :procurement_status
10503
+
10504
+ # Properties to be set for the Future Reservation.
10505
+ # Corresponds to the JSON property `specificSkuProperties`
10506
+ # @return [Google::Apis::ComputeBeta::FutureReservationStatusSpecificSkuProperties]
10507
+ attr_accessor :specific_sku_properties
10508
+
10509
+ def initialize(**args)
10510
+ update!(**args)
10511
+ end
10512
+
10513
+ # Update properties of this object
10514
+ def update!(**args)
10515
+ @amendment_status = args[:amendment_status] if args.key?(:amendment_status)
10516
+ @auto_created_reservations = args[:auto_created_reservations] if args.key?(:auto_created_reservations)
10517
+ @fulfilled_count = args[:fulfilled_count] if args.key?(:fulfilled_count)
10518
+ @last_known_good_state = args[:last_known_good_state] if args.key?(:last_known_good_state)
10519
+ @lock_time = args[:lock_time] if args.key?(:lock_time)
10520
+ @procurement_status = args[:procurement_status] if args.key?(:procurement_status)
10521
+ @specific_sku_properties = args[:specific_sku_properties] if args.key?(:specific_sku_properties)
10522
+ end
10523
+ end
10524
+
10525
+ # The state that the future reservation will be reverted to should the amendment
10526
+ # be declined.
10527
+ class FutureReservationStatusLastKnownGoodState
10528
+ include Google::Apis::Core::Hashable
10529
+
10530
+ # [Output Only] The description of the FutureReservation before an amendment was
10531
+ # requested.
10532
+ # Corresponds to the JSON property `description`
10533
+ # @return [String]
10534
+ attr_accessor :description
10535
+
10536
+ # The properties of the last known good state for the Future Reservation.
10537
+ # Corresponds to the JSON property `futureReservationSpecs`
10538
+ # @return [Google::Apis::ComputeBeta::FutureReservationStatusLastKnownGoodStateFutureReservationSpecs]
10539
+ attr_accessor :future_reservation_specs
10540
+
10541
+ # [Output Only] The lock time of the FutureReservation before an amendment was
10542
+ # requested.
10543
+ # Corresponds to the JSON property `lockTime`
10544
+ # @return [String]
10545
+ attr_accessor :lock_time
10546
+
10547
+ # [Output Only] The name prefix of the Future Reservation before an amendment
10548
+ # was requested.
10549
+ # Corresponds to the JSON property `namePrefix`
10550
+ # @return [String]
10551
+ attr_accessor :name_prefix
10552
+
10553
+ # [Output Only] The status of the last known good state for the Future
10554
+ # Reservation.
10555
+ # Corresponds to the JSON property `procurementStatus`
10556
+ # @return [String]
10557
+ attr_accessor :procurement_status
10558
+
10559
+ def initialize(**args)
10560
+ update!(**args)
10561
+ end
10562
+
10563
+ # Update properties of this object
10564
+ def update!(**args)
10565
+ @description = args[:description] if args.key?(:description)
10566
+ @future_reservation_specs = args[:future_reservation_specs] if args.key?(:future_reservation_specs)
10567
+ @lock_time = args[:lock_time] if args.key?(:lock_time)
10568
+ @name_prefix = args[:name_prefix] if args.key?(:name_prefix)
10569
+ @procurement_status = args[:procurement_status] if args.key?(:procurement_status)
10570
+ end
10571
+ end
10572
+
10573
+ # The properties of the last known good state for the Future Reservation.
10574
+ class FutureReservationStatusLastKnownGoodStateFutureReservationSpecs
10575
+ include Google::Apis::Core::Hashable
10576
+
10577
+ # The share setting for reservations and sole tenancy node groups.
10578
+ # Corresponds to the JSON property `shareSettings`
10579
+ # @return [Google::Apis::ComputeBeta::ShareSettings]
10580
+ attr_accessor :share_settings
10581
+
10582
+ # [Output Only] The previous instance related properties of the Future
10583
+ # Reservation.
10584
+ # Corresponds to the JSON property `specificSkuProperties`
10585
+ # @return [Google::Apis::ComputeBeta::FutureReservationSpecificSkuProperties]
10586
+ attr_accessor :specific_sku_properties
10587
+
10588
+ # [Output Only] The previous time window of the Future Reservation.
10589
+ # Corresponds to the JSON property `timeWindow`
10590
+ # @return [Google::Apis::ComputeBeta::FutureReservationTimeWindow]
10591
+ attr_accessor :time_window
10592
+
10593
+ def initialize(**args)
10594
+ update!(**args)
10595
+ end
10596
+
10597
+ # Update properties of this object
10598
+ def update!(**args)
10599
+ @share_settings = args[:share_settings] if args.key?(:share_settings)
10600
+ @specific_sku_properties = args[:specific_sku_properties] if args.key?(:specific_sku_properties)
10601
+ @time_window = args[:time_window] if args.key?(:time_window)
10602
+ end
10603
+ end
10604
+
10605
+ # Properties to be set for the Future Reservation.
10606
+ class FutureReservationStatusSpecificSkuProperties
10607
+ include Google::Apis::Core::Hashable
10608
+
10609
+ # ID of the instance template used to populate the Future Reservation properties.
10610
+ # Corresponds to the JSON property `sourceInstanceTemplateId`
10611
+ # @return [String]
10612
+ attr_accessor :source_instance_template_id
10613
+
10614
+ def initialize(**args)
10615
+ update!(**args)
10616
+ end
10617
+
10618
+ # Update properties of this object
10619
+ def update!(**args)
10620
+ @source_instance_template_id = args[:source_instance_template_id] if args.key?(:source_instance_template_id)
10621
+ end
10622
+ end
10623
+
10624
+ #
10625
+ class FutureReservationTimeWindow
10626
+ include Google::Apis::Core::Hashable
10627
+
10628
+ # A Duration represents a fixed-length span of time represented as a count of
10629
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
10630
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
10631
+ # 000 years.
10632
+ # Corresponds to the JSON property `duration`
10633
+ # @return [Google::Apis::ComputeBeta::Duration]
10634
+ attr_accessor :duration
10635
+
10636
+ #
10637
+ # Corresponds to the JSON property `endTime`
10638
+ # @return [String]
10639
+ attr_accessor :end_time
10640
+
10641
+ # Start time of the Future Reservation. The start_time is an RFC3339 string.
10642
+ # Corresponds to the JSON property `startTime`
10643
+ # @return [String]
10644
+ attr_accessor :start_time
10645
+
10646
+ def initialize(**args)
10647
+ update!(**args)
10648
+ end
10649
+
10650
+ # Update properties of this object
10651
+ def update!(**args)
10652
+ @duration = args[:duration] if args.key?(:duration)
10653
+ @end_time = args[:end_time] if args.key?(:end_time)
10654
+ @start_time = args[:start_time] if args.key?(:start_time)
10655
+ end
10656
+ end
10657
+
10658
+ # Contains a list of future reservations.
10659
+ class FutureReservationsAggregatedListResponse
10660
+ include Google::Apis::Core::Hashable
10661
+
10662
+ #
10663
+ # Corresponds to the JSON property `etag`
10664
+ # @return [String]
10665
+ attr_accessor :etag
10666
+
10667
+ # [Output Only] Unique identifier for the resource; defined by the server.
10668
+ # Corresponds to the JSON property `id`
10669
+ # @return [String]
10670
+ attr_accessor :id
10671
+
10672
+ # A list of Future reservation resources.
10673
+ # Corresponds to the JSON property `items`
10674
+ # @return [Hash<String,Google::Apis::ComputeBeta::FutureReservationsScopedList>]
10675
+ attr_accessor :items
10676
+
10677
+ # [Output Only] Type of resource. Always compute#
10678
+ # futureReservationsAggregatedListResponse for future resevation aggregated list
10679
+ # response.
10680
+ # Corresponds to the JSON property `kind`
10681
+ # @return [String]
10682
+ attr_accessor :kind
10683
+
10684
+ # [Output Only] This token allows you to get the next page of results for list
10685
+ # requests. If the number of results is larger than maxResults, use the
10686
+ # nextPageToken as a value for the query parameter pageToken in the next list
10687
+ # request. Subsequent list requests will have their own nextPageToken to
10688
+ # continue paging through the results.
10689
+ # Corresponds to the JSON property `nextPageToken`
10690
+ # @return [String]
10691
+ attr_accessor :next_page_token
10692
+
10693
+ # [Output Only] Server-defined URL for this resource.
10694
+ # Corresponds to the JSON property `selfLink`
10695
+ # @return [String]
10696
+ attr_accessor :self_link
10697
+
10698
+ # [Output Only] Unreachable resources.
10699
+ # Corresponds to the JSON property `unreachables`
10700
+ # @return [Array<String>]
10701
+ attr_accessor :unreachables
10702
+
10703
+ # [Output Only] Informational warning message.
10704
+ # Corresponds to the JSON property `warning`
10705
+ # @return [Google::Apis::ComputeBeta::FutureReservationsAggregatedListResponse::Warning]
10706
+ attr_accessor :warning
10707
+
10708
+ def initialize(**args)
10709
+ update!(**args)
10710
+ end
10711
+
10712
+ # Update properties of this object
10713
+ def update!(**args)
10714
+ @etag = args[:etag] if args.key?(:etag)
10715
+ @id = args[:id] if args.key?(:id)
10716
+ @items = args[:items] if args.key?(:items)
10717
+ @kind = args[:kind] if args.key?(:kind)
10718
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
10719
+ @self_link = args[:self_link] if args.key?(:self_link)
10720
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
10721
+ @warning = args[:warning] if args.key?(:warning)
10722
+ end
10723
+
10724
+ # [Output Only] Informational warning message.
10725
+ class Warning
10726
+ include Google::Apis::Core::Hashable
10727
+
10728
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
10729
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
10730
+ # Corresponds to the JSON property `code`
10731
+ # @return [String]
10732
+ attr_accessor :code
10733
+
10734
+ # [Output Only] Metadata about this warning in key: value format. For example: "
10735
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
10736
+ # Corresponds to the JSON property `data`
10737
+ # @return [Array<Google::Apis::ComputeBeta::FutureReservationsAggregatedListResponse::Warning::Datum>]
10738
+ attr_accessor :data
10739
+
10740
+ # [Output Only] A human-readable description of the warning code.
10741
+ # Corresponds to the JSON property `message`
10742
+ # @return [String]
10743
+ attr_accessor :message
10744
+
10745
+ def initialize(**args)
10746
+ update!(**args)
10747
+ end
10748
+
10749
+ # Update properties of this object
10750
+ def update!(**args)
10751
+ @code = args[:code] if args.key?(:code)
10752
+ @data = args[:data] if args.key?(:data)
10753
+ @message = args[:message] if args.key?(:message)
10754
+ end
10755
+
10756
+ #
10757
+ class Datum
10758
+ include Google::Apis::Core::Hashable
10759
+
10760
+ # [Output Only] A key that provides more detail on the warning being returned.
10761
+ # For example, for warnings where there are no results in a list request for a
10762
+ # particular zone, this key might be scope and the key value might be the zone
10763
+ # name. Other examples might be a key indicating a deprecated resource and a
10764
+ # suggested replacement, or a warning about invalid network settings (for
10765
+ # example, if an instance attempts to perform IP forwarding but is not enabled
10766
+ # for IP forwarding).
10767
+ # Corresponds to the JSON property `key`
10768
+ # @return [String]
10769
+ attr_accessor :key
10770
+
10771
+ # [Output Only] A warning data value corresponding to the key.
10772
+ # Corresponds to the JSON property `value`
10773
+ # @return [String]
10774
+ attr_accessor :value
10775
+
10776
+ def initialize(**args)
10777
+ update!(**args)
10778
+ end
10779
+
10780
+ # Update properties of this object
10781
+ def update!(**args)
10782
+ @key = args[:key] if args.key?(:key)
10783
+ @value = args[:value] if args.key?(:value)
10784
+ end
10785
+ end
10786
+ end
10787
+ end
10788
+
10789
+ #
10790
+ class FutureReservationsListResponse
10031
10791
  include Google::Apis::Core::Hashable
10032
10792
 
10033
- # [Output Only] Unique identifier for the resource; defined by the server.
10793
+ #
10794
+ # Corresponds to the JSON property `etag`
10795
+ # @return [String]
10796
+ attr_accessor :etag
10797
+
10798
+ # [Output Only] The unique identifier for the resource. This identifier is
10799
+ # defined by the server.
10034
10800
  # Corresponds to the JSON property `id`
10035
10801
  # @return [String]
10036
10802
  attr_accessor :id
10037
10803
 
10038
- # A list of ForwardingRule resources.
10804
+ # [Output Only] A list of future reservation resources.
10039
10805
  # Corresponds to the JSON property `items`
10040
- # @return [Array<Google::Apis::ComputeBeta::ForwardingRule>]
10806
+ # @return [Array<Google::Apis::ComputeBeta::FutureReservation>]
10041
10807
  attr_accessor :items
10042
10808
 
10043
- # Type of resource.
10809
+ # [Output Only] Type of resource.Always compute#FutureReservationsListResponse
10810
+ # for lists of reservations
10044
10811
  # Corresponds to the JSON property `kind`
10045
10812
  # @return [String]
10046
10813
  attr_accessor :kind
@@ -10059,9 +10826,14 @@ module Google
10059
10826
  # @return [String]
10060
10827
  attr_accessor :self_link
10061
10828
 
10829
+ # [Output Only] Unreachable resources.
10830
+ # Corresponds to the JSON property `unreachables`
10831
+ # @return [Array<String>]
10832
+ attr_accessor :unreachables
10833
+
10062
10834
  # [Output Only] Informational warning message.
10063
10835
  # Corresponds to the JSON property `warning`
10064
- # @return [Google::Apis::ComputeBeta::ForwardingRuleList::Warning]
10836
+ # @return [Google::Apis::ComputeBeta::FutureReservationsListResponse::Warning]
10065
10837
  attr_accessor :warning
10066
10838
 
10067
10839
  def initialize(**args)
@@ -10070,11 +10842,13 @@ module Google
10070
10842
 
10071
10843
  # Update properties of this object
10072
10844
  def update!(**args)
10845
+ @etag = args[:etag] if args.key?(:etag)
10073
10846
  @id = args[:id] if args.key?(:id)
10074
10847
  @items = args[:items] if args.key?(:items)
10075
10848
  @kind = args[:kind] if args.key?(:kind)
10076
10849
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
10077
10850
  @self_link = args[:self_link] if args.key?(:self_link)
10851
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
10078
10852
  @warning = args[:warning] if args.key?(:warning)
10079
10853
  end
10080
10854
 
@@ -10091,7 +10865,7 @@ module Google
10091
10865
  # [Output Only] Metadata about this warning in key: value format. For example: "
10092
10866
  # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
10093
10867
  # Corresponds to the JSON property `data`
10094
- # @return [Array<Google::Apis::ComputeBeta::ForwardingRuleList::Warning::Datum>]
10868
+ # @return [Array<Google::Apis::ComputeBeta::FutureReservationsListResponse::Warning::Datum>]
10095
10869
  attr_accessor :data
10096
10870
 
10097
10871
  # [Output Only] A human-readable description of the warning code.
@@ -10144,73 +10918,18 @@ module Google
10144
10918
  end
10145
10919
 
10146
10920
  #
10147
- class ForwardingRuleReference
10148
- include Google::Apis::Core::Hashable
10149
-
10150
- #
10151
- # Corresponds to the JSON property `forwardingRule`
10152
- # @return [String]
10153
- attr_accessor :forwarding_rule
10154
-
10155
- def initialize(**args)
10156
- update!(**args)
10157
- end
10158
-
10159
- # Update properties of this object
10160
- def update!(**args)
10161
- @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
10162
- end
10163
- end
10164
-
10165
- # Describes the auto-registration of the Forwarding Rule to Service Directory.
10166
- # The region and project of the Service Directory resource generated from this
10167
- # registration will be the same as this Forwarding Rule.
10168
- class ForwardingRuleServiceDirectoryRegistration
10169
- include Google::Apis::Core::Hashable
10170
-
10171
- # Service Directory namespace to register the forwarding rule under.
10172
- # Corresponds to the JSON property `namespace`
10173
- # @return [String]
10174
- attr_accessor :namespace
10175
-
10176
- # Service Directory service to register the forwarding rule under.
10177
- # Corresponds to the JSON property `service`
10178
- # @return [String]
10179
- attr_accessor :service
10180
-
10181
- # [Optional] Service Directory region to register this global forwarding rule
10182
- # under. Default to "us-central1". Only used for PSC for Google APIs. All PSC
10183
- # for Google APIs Forwarding Rules on the same network should use the same
10184
- # Service Directory region.
10185
- # Corresponds to the JSON property `serviceDirectoryRegion`
10186
- # @return [String]
10187
- attr_accessor :service_directory_region
10188
-
10189
- def initialize(**args)
10190
- update!(**args)
10191
- end
10192
-
10193
- # Update properties of this object
10194
- def update!(**args)
10195
- @namespace = args[:namespace] if args.key?(:namespace)
10196
- @service = args[:service] if args.key?(:service)
10197
- @service_directory_region = args[:service_directory_region] if args.key?(:service_directory_region)
10198
- end
10199
- end
10200
-
10201
- #
10202
- class ForwardingRulesScopedList
10921
+ class FutureReservationsScopedList
10203
10922
  include Google::Apis::Core::Hashable
10204
10923
 
10205
- # A list of forwarding rules contained in this scope.
10206
- # Corresponds to the JSON property `forwardingRules`
10207
- # @return [Array<Google::Apis::ComputeBeta::ForwardingRule>]
10208
- attr_accessor :forwarding_rules
10924
+ # A list of future reservations contained in this scope.
10925
+ # Corresponds to the JSON property `futureReservations`
10926
+ # @return [Array<Google::Apis::ComputeBeta::FutureReservation>]
10927
+ attr_accessor :future_reservations
10209
10928
 
10210
- # Informational warning which replaces the list of forwarding rules when the
10929
+ # Informational warning which replaces the list of future reservations when the
10211
10930
  # list is empty.
10212
10931
  # Corresponds to the JSON property `warning`
10213
- # @return [Google::Apis::ComputeBeta::ForwardingRulesScopedList::Warning]
10932
+ # @return [Google::Apis::ComputeBeta::FutureReservationsScopedList::Warning]
10214
10933
  attr_accessor :warning
10215
10934
 
10216
10935
  def initialize(**args)
@@ -10219,11 +10938,11 @@ module Google
10219
10938
 
10220
10939
  # Update properties of this object
10221
10940
  def update!(**args)
10222
- @forwarding_rules = args[:forwarding_rules] if args.key?(:forwarding_rules)
10941
+ @future_reservations = args[:future_reservations] if args.key?(:future_reservations)
10223
10942
  @warning = args[:warning] if args.key?(:warning)
10224
10943
  end
10225
10944
 
10226
- # Informational warning which replaces the list of forwarding rules when the
10945
+ # Informational warning which replaces the list of future reservations when the
10227
10946
  # list is empty.
10228
10947
  class Warning
10229
10948
  include Google::Apis::Core::Hashable
@@ -10237,7 +10956,7 @@ module Google
10237
10956
  # [Output Only] Metadata about this warning in key: value format. For example: "
10238
10957
  # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
10239
10958
  # Corresponds to the JSON property `data`
10240
- # @return [Array<Google::Apis::ComputeBeta::ForwardingRulesScopedList::Warning::Datum>]
10959
+ # @return [Array<Google::Apis::ComputeBeta::FutureReservationsScopedList::Warning::Datum>]
10241
10960
  attr_accessor :data
10242
10961
 
10243
10962
  # [Output Only] A human-readable description of the warning code.
@@ -10445,22 +11164,22 @@ module Google
10445
11164
  # evaluates to `true`. A condition can add constraints based on attributes of
10446
11165
  # the request, the resource, or both. To learn which resources support
10447
11166
  # conditions in their IAM policies, see the [IAM documentation](https://cloud.
10448
- # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
11167
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ``` ` "
10449
11168
  # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
10450
11169
  # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
10451
11170
  # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
10452
11171
  # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
10453
11172
  # ], "condition": ` "title": "expirable access", "description": "Does not grant
10454
11173
  # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
10455
- # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
10456
- # bindings: - members: - user:mike@example.com - group:admins@example.com -
10457
- # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
10458
- # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
10459
- # com role: roles/resourcemanager.organizationViewer condition: title: expirable
10460
- # access description: Does not grant access after Sep 2020 expression: request.
10461
- # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
10462
- # a description of IAM and its features, see the [IAM documentation](https://
10463
- # cloud.google.com/iam/docs/).
11174
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` ``` **YAML
11175
+ # example:** ``` bindings: - members: - user:mike@example.com - group:admins@
11176
+ # example.com - domain:google.com - serviceAccount:my-project-id@appspot.
11177
+ # gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: -
11178
+ # user:eve@example.com role: roles/resourcemanager.organizationViewer condition:
11179
+ # title: expirable access description: Does not grant access after Sep 2020
11180
+ # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag:
11181
+ # BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the
11182
+ # [IAM documentation](https://cloud.google.com/iam/docs/).
10464
11183
  # Corresponds to the JSON property `policy`
10465
11184
  # @return [Google::Apis::ComputeBeta::Policy]
10466
11185
  attr_accessor :policy
@@ -10538,22 +11257,22 @@ module Google
10538
11257
  # evaluates to `true`. A condition can add constraints based on attributes of
10539
11258
  # the request, the resource, or both. To learn which resources support
10540
11259
  # conditions in their IAM policies, see the [IAM documentation](https://cloud.
10541
- # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
11260
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ``` ` "
10542
11261
  # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
10543
11262
  # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
10544
11263
  # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
10545
11264
  # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
10546
11265
  # ], "condition": ` "title": "expirable access", "description": "Does not grant
10547
11266
  # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
10548
- # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
10549
- # bindings: - members: - user:mike@example.com - group:admins@example.com -
10550
- # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
10551
- # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
10552
- # com role: roles/resourcemanager.organizationViewer condition: title: expirable
10553
- # access description: Does not grant access after Sep 2020 expression: request.
10554
- # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
10555
- # a description of IAM and its features, see the [IAM documentation](https://
10556
- # cloud.google.com/iam/docs/).
11267
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` ``` **YAML
11268
+ # example:** ``` bindings: - members: - user:mike@example.com - group:admins@
11269
+ # example.com - domain:google.com - serviceAccount:my-project-id@appspot.
11270
+ # gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: -
11271
+ # user:eve@example.com role: roles/resourcemanager.organizationViewer condition:
11272
+ # title: expirable access description: Does not grant access after Sep 2020
11273
+ # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag:
11274
+ # BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the
11275
+ # [IAM documentation](https://cloud.google.com/iam/docs/).
10557
11276
  # Corresponds to the JSON property `policy`
10558
11277
  # @return [Google::Apis::ComputeBeta::Policy]
10559
11278
  attr_accessor :policy
@@ -23063,6 +23782,81 @@ module Google
23063
23782
  end
23064
23783
  end
23065
23784
 
23785
+ # Contains NAT IP information of a NAT config (i.e. usage status, mode).
23786
+ class NatIpInfo
23787
+ include Google::Apis::Core::Hashable
23788
+
23789
+ # A list of all NAT IPs assigned to this NAT config.
23790
+ # Corresponds to the JSON property `natIpInfoMappings`
23791
+ # @return [Array<Google::Apis::ComputeBeta::NatIpInfoNatIpInfoMapping>]
23792
+ attr_accessor :nat_ip_info_mappings
23793
+
23794
+ # Name of the NAT config which the NAT IP belongs to.
23795
+ # Corresponds to the JSON property `natName`
23796
+ # @return [String]
23797
+ attr_accessor :nat_name
23798
+
23799
+ def initialize(**args)
23800
+ update!(**args)
23801
+ end
23802
+
23803
+ # Update properties of this object
23804
+ def update!(**args)
23805
+ @nat_ip_info_mappings = args[:nat_ip_info_mappings] if args.key?(:nat_ip_info_mappings)
23806
+ @nat_name = args[:nat_name] if args.key?(:nat_name)
23807
+ end
23808
+ end
23809
+
23810
+ # Contains information of a NAT IP.
23811
+ class NatIpInfoNatIpInfoMapping
23812
+ include Google::Apis::Core::Hashable
23813
+
23814
+ # Specifies whether NAT IP is auto or manual.
23815
+ # Corresponds to the JSON property `mode`
23816
+ # @return [String]
23817
+ attr_accessor :mode
23818
+
23819
+ # NAT IP address. For example: 203.0.113.11.
23820
+ # Corresponds to the JSON property `natIp`
23821
+ # @return [String]
23822
+ attr_accessor :nat_ip
23823
+
23824
+ # Specifies whether NAT IP is currently serving at least one endpoint or not.
23825
+ # Corresponds to the JSON property `usage`
23826
+ # @return [String]
23827
+ attr_accessor :usage
23828
+
23829
+ def initialize(**args)
23830
+ update!(**args)
23831
+ end
23832
+
23833
+ # Update properties of this object
23834
+ def update!(**args)
23835
+ @mode = args[:mode] if args.key?(:mode)
23836
+ @nat_ip = args[:nat_ip] if args.key?(:nat_ip)
23837
+ @usage = args[:usage] if args.key?(:usage)
23838
+ end
23839
+ end
23840
+
23841
+ #
23842
+ class NatIpInfoResponse
23843
+ include Google::Apis::Core::Hashable
23844
+
23845
+ # [Output Only] A list of NAT IP information.
23846
+ # Corresponds to the JSON property `result`
23847
+ # @return [Array<Google::Apis::ComputeBeta::NatIpInfo>]
23848
+ attr_accessor :result
23849
+
23850
+ def initialize(**args)
23851
+ update!(**args)
23852
+ end
23853
+
23854
+ # Update properties of this object
23855
+ def update!(**args)
23856
+ @result = args[:result] if args.key?(:result)
23857
+ end
23858
+ end
23859
+
23066
23860
  # Represents a VPC Network resource. Networks connect resources to each other
23067
23861
  # and to the internet. For more information, read Virtual Private Cloud (VPC)
23068
23862
  # Network.
@@ -27654,7 +28448,7 @@ module Google
27654
28448
  # Handling API responses. Operations can be global, regional or zonal. - For
27655
28449
  # global operations, use the `globalOperations` resource. - For regional
27656
28450
  # operations, use the `regionOperations` resource. - For zonal operations, use
27657
- # the `zonalOperations` resource. For more information, read Global, Regional,
28451
+ # the `zoneOperations` resource. For more information, read Global, Regional,
27658
28452
  # and Zonal Resources.
27659
28453
  class Operation
27660
28454
  include Google::Apis::Core::Hashable
@@ -27760,6 +28554,12 @@ module Google
27760
28554
  # @return [String]
27761
28555
  attr_accessor :self_link
27762
28556
 
28557
+ # [Output Only] If the operation is for projects.setCommonInstanceMetadata, this
28558
+ # field will contain information on all underlying zonal actions and their state.
28559
+ # Corresponds to the JSON property `setCommonInstanceMetadataOperationMetadata`
28560
+ # @return [Google::Apis::ComputeBeta::SetCommonInstanceMetadataOperationMetadata]
28561
+ attr_accessor :set_common_instance_metadata_operation_metadata
28562
+
27763
28563
  # [Output Only] The time that this operation was started by the server. This
27764
28564
  # value is in RFC3339 text format.
27765
28565
  # Corresponds to the JSON property `startTime`
@@ -27792,7 +28592,7 @@ module Google
27792
28592
  attr_accessor :target_link
27793
28593
 
27794
28594
  # [Output Only] User who requested the operation, for example: `user@example.com`
27795
- # .
28595
+ # or `alice_smith_identifier (global/workforcePools/example-com-us-employees)`.
27796
28596
  # Corresponds to the JSON property `user`
27797
28597
  # @return [String]
27798
28598
  attr_accessor :user
@@ -27832,6 +28632,7 @@ module Google
27832
28632
  @progress = args[:progress] if args.key?(:progress)
27833
28633
  @region = args[:region] if args.key?(:region)
27834
28634
  @self_link = args[:self_link] if args.key?(:self_link)
28635
+ @set_common_instance_metadata_operation_metadata = args[:set_common_instance_metadata_operation_metadata] if args.key?(:set_common_instance_metadata_operation_metadata)
27835
28636
  @start_time = args[:start_time] if args.key?(:start_time)
27836
28637
  @status = args[:status] if args.key?(:status)
27837
28638
  @status_message = args[:status_message] if args.key?(:status_message)
@@ -29386,22 +30187,22 @@ module Google
29386
30187
  # evaluates to `true`. A condition can add constraints based on attributes of
29387
30188
  # the request, the resource, or both. To learn which resources support
29388
30189
  # conditions in their IAM policies, see the [IAM documentation](https://cloud.
29389
- # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
30190
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ``` ` "
29390
30191
  # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
29391
30192
  # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
29392
30193
  # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
29393
30194
  # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
29394
30195
  # ], "condition": ` "title": "expirable access", "description": "Does not grant
29395
30196
  # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
29396
- # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
29397
- # bindings: - members: - user:mike@example.com - group:admins@example.com -
29398
- # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
29399
- # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
29400
- # com role: roles/resourcemanager.organizationViewer condition: title: expirable
29401
- # access description: Does not grant access after Sep 2020 expression: request.
29402
- # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
29403
- # a description of IAM and its features, see the [IAM documentation](https://
29404
- # cloud.google.com/iam/docs/).
30197
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` ``` **YAML
30198
+ # example:** ``` bindings: - members: - user:mike@example.com - group:admins@
30199
+ # example.com - domain:google.com - serviceAccount:my-project-id@appspot.
30200
+ # gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: -
30201
+ # user:eve@example.com role: roles/resourcemanager.organizationViewer condition:
30202
+ # title: expirable access description: Does not grant access after Sep 2020
30203
+ # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag:
30204
+ # BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the
30205
+ # [IAM documentation](https://cloud.google.com/iam/docs/).
29405
30206
  class Policy
29406
30207
  include Google::Apis::Core::Hashable
29407
30208
 
@@ -32399,22 +33200,22 @@ module Google
32399
33200
  # evaluates to `true`. A condition can add constraints based on attributes of
32400
33201
  # the request, the resource, or both. To learn which resources support
32401
33202
  # conditions in their IAM policies, see the [IAM documentation](https://cloud.
32402
- # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
33203
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ``` ` "
32403
33204
  # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
32404
33205
  # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
32405
33206
  # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
32406
33207
  # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
32407
33208
  # ], "condition": ` "title": "expirable access", "description": "Does not grant
32408
33209
  # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
32409
- # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
32410
- # bindings: - members: - user:mike@example.com - group:admins@example.com -
32411
- # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
32412
- # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
32413
- # com role: roles/resourcemanager.organizationViewer condition: title: expirable
32414
- # access description: Does not grant access after Sep 2020 expression: request.
32415
- # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
32416
- # a description of IAM and its features, see the [IAM documentation](https://
32417
- # cloud.google.com/iam/docs/).
33210
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` ``` **YAML
33211
+ # example:** ``` bindings: - members: - user:mike@example.com - group:admins@
33212
+ # example.com - domain:google.com - serviceAccount:my-project-id@appspot.
33213
+ # gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: -
33214
+ # user:eve@example.com role: roles/resourcemanager.organizationViewer condition:
33215
+ # title: expirable access description: Does not grant access after Sep 2020
33216
+ # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag:
33217
+ # BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the
33218
+ # [IAM documentation](https://cloud.google.com/iam/docs/).
32418
33219
  # Corresponds to the JSON property `policy`
32419
33220
  # @return [Google::Apis::ComputeBeta::Policy]
32420
33221
  attr_accessor :policy
@@ -32527,6 +33328,20 @@ module Google
32527
33328
  # @return [String]
32528
33329
  attr_accessor :creation_timestamp
32529
33330
 
33331
+ # A Duration represents a fixed-length span of time represented as a count of
33332
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
33333
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
33334
+ # 000 years.
33335
+ # Corresponds to the JSON property `deleteAfterDuration`
33336
+ # @return [Google::Apis::ComputeBeta::Duration]
33337
+ attr_accessor :delete_after_duration
33338
+
33339
+ # Absolute time in future when the reservation will be auto-deleted by GCE.
33340
+ # Timestamp is represented in RFC3339 text format.
33341
+ # Corresponds to the JSON property `deleteAtTime`
33342
+ # @return [String]
33343
+ attr_accessor :delete_at_time
33344
+
32530
33345
  # An optional description of this resource. Provide this property when you
32531
33346
  # create the resource.
32532
33347
  # Corresponds to the JSON property `description`
@@ -32617,6 +33432,8 @@ module Google
32617
33432
  def update!(**args)
32618
33433
  @commitment = args[:commitment] if args.key?(:commitment)
32619
33434
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
33435
+ @delete_after_duration = args[:delete_after_duration] if args.key?(:delete_after_duration)
33436
+ @delete_at_time = args[:delete_at_time] if args.key?(:delete_at_time)
32620
33437
  @description = args[:description] if args.key?(:description)
32621
33438
  @id = args[:id] if args.key?(:id)
32622
33439
  @kind = args[:kind] if args.key?(:kind)
@@ -34054,7 +34871,9 @@ module Google
34054
34871
  attr_accessor :description
34055
34872
 
34056
34873
  # The destination range of outgoing packets that this route applies to. Both
34057
- # IPv4 and IPv6 are supported.
34874
+ # IPv4 and IPv6 are supported. Must specify an IPv4 range (e.g. 192.0.2.0/24) or
34875
+ # an IPv6 range in RFC 4291 format (e.g. 2001:db8::/32). IPv6 range will be
34876
+ # displayed using RFC 5952 compressed format.
34058
34877
  # Corresponds to the JSON property `destRange`
34059
34878
  # @return [String]
34060
34879
  attr_accessor :dest_range
@@ -34122,7 +34941,11 @@ module Google
34122
34941
  attr_accessor :next_hop_interconnect_attachment
34123
34942
 
34124
34943
  # The network IP address of an instance that should handle matching packets.
34125
- # Only IPv4 is supported.
34944
+ # Both IPv6 address and IPv4 addresses are supported. Must specify an IPv4
34945
+ # address in dot-decimal notation (e.g. 192.0.2.99) or an IPv6 address in RFC
34946
+ # 4291 format (e.g. 2001:db8::2d9:51:0:0 or 2001:db8:0:0:2d9:51:0:0). IPv6
34947
+ # addresses will be displayed using RFC 5952 compressed format (e.g. 2001:db8::
34948
+ # 2d9:51:0:0). Should never be an IPv4-mapped IPv6 address.
34126
34949
  # Corresponds to the JSON property `nextHopIp`
34127
34950
  # @return [String]
34128
34951
  attr_accessor :next_hop_ip
@@ -38905,6 +39728,63 @@ module Google
38905
39728
  end
38906
39729
  end
38907
39730
 
39731
+ #
39732
+ class SetCommonInstanceMetadataOperationMetadata
39733
+ include Google::Apis::Core::Hashable
39734
+
39735
+ # [Output Only] The client operation id.
39736
+ # Corresponds to the JSON property `clientOperationId`
39737
+ # @return [String]
39738
+ attr_accessor :client_operation_id
39739
+
39740
+ # [Output Only] Status information per location (location name is key). Example
39741
+ # key: zones/us-central1-a
39742
+ # Corresponds to the JSON property `perLocationOperations`
39743
+ # @return [Hash<String,Google::Apis::ComputeBeta::SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo>]
39744
+ attr_accessor :per_location_operations
39745
+
39746
+ def initialize(**args)
39747
+ update!(**args)
39748
+ end
39749
+
39750
+ # Update properties of this object
39751
+ def update!(**args)
39752
+ @client_operation_id = args[:client_operation_id] if args.key?(:client_operation_id)
39753
+ @per_location_operations = args[:per_location_operations] if args.key?(:per_location_operations)
39754
+ end
39755
+ end
39756
+
39757
+ #
39758
+ class SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo
39759
+ include Google::Apis::Core::Hashable
39760
+
39761
+ # The `Status` type defines a logical error model that is suitable for different
39762
+ # programming environments, including REST APIs and RPC APIs. It is used by [
39763
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
39764
+ # data: error code, error message, and error details. You can find out more
39765
+ # about this error model and how to work with it in the [API Design Guide](https:
39766
+ # //cloud.google.com/apis/design/errors).
39767
+ # Corresponds to the JSON property `error`
39768
+ # @return [Google::Apis::ComputeBeta::Status]
39769
+ attr_accessor :error
39770
+
39771
+ # [Output Only] Status of the action, which can be one of the following: `
39772
+ # PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`.
39773
+ # Corresponds to the JSON property `state`
39774
+ # @return [String]
39775
+ attr_accessor :state
39776
+
39777
+ def initialize(**args)
39778
+ update!(**args)
39779
+ end
39780
+
39781
+ # Update properties of this object
39782
+ def update!(**args)
39783
+ @error = args[:error] if args.key?(:error)
39784
+ @state = args[:state] if args.key?(:state)
39785
+ end
39786
+ end
39787
+
38908
39788
  # The share setting for reservations and sole tenancy node groups.
38909
39789
  class ShareSettings
38910
39790
  include Google::Apis::Core::Hashable
@@ -39625,6 +40505,71 @@ module Google
39625
40505
  end
39626
40506
  end
39627
40507
 
40508
+ #
40509
+ class SnapshotSettings
40510
+ include Google::Apis::Core::Hashable
40511
+
40512
+ # Policy of which storage location is going to be resolved, and additional data
40513
+ # that particularizes how the policy is going to be carried out.
40514
+ # Corresponds to the JSON property `storageLocation`
40515
+ # @return [Google::Apis::ComputeBeta::SnapshotSettingsStorageLocationSettings]
40516
+ attr_accessor :storage_location
40517
+
40518
+ def initialize(**args)
40519
+ update!(**args)
40520
+ end
40521
+
40522
+ # Update properties of this object
40523
+ def update!(**args)
40524
+ @storage_location = args[:storage_location] if args.key?(:storage_location)
40525
+ end
40526
+ end
40527
+
40528
+ #
40529
+ class SnapshotSettingsStorageLocationSettings
40530
+ include Google::Apis::Core::Hashable
40531
+
40532
+ # When the policy is SPECIFIC_LOCATIONS, snapshots will be stored in the
40533
+ # locations listed in this field. Keys are GCS bucket locations.
40534
+ # Corresponds to the JSON property `locations`
40535
+ # @return [Hash<String,Google::Apis::ComputeBeta::SnapshotSettingsStorageLocationSettingsStorageLocationPreference>]
40536
+ attr_accessor :locations
40537
+
40538
+ # The chosen location policy.
40539
+ # Corresponds to the JSON property `policy`
40540
+ # @return [String]
40541
+ attr_accessor :policy
40542
+
40543
+ def initialize(**args)
40544
+ update!(**args)
40545
+ end
40546
+
40547
+ # Update properties of this object
40548
+ def update!(**args)
40549
+ @locations = args[:locations] if args.key?(:locations)
40550
+ @policy = args[:policy] if args.key?(:policy)
40551
+ end
40552
+ end
40553
+
40554
+ # A structure for specifying storage locations.
40555
+ class SnapshotSettingsStorageLocationSettingsStorageLocationPreference
40556
+ include Google::Apis::Core::Hashable
40557
+
40558
+ # Name of the location. It should be one of the GCS buckets.
40559
+ # Corresponds to the JSON property `name`
40560
+ # @return [String]
40561
+ attr_accessor :name
40562
+
40563
+ def initialize(**args)
40564
+ update!(**args)
40565
+ end
40566
+
40567
+ # Update properties of this object
40568
+ def update!(**args)
40569
+ @name = args[:name] if args.key?(:name)
40570
+ end
40571
+ end
40572
+
39628
40573
  #
39629
40574
  class SourceDiskEncryptionKey
39630
40575
  include Google::Apis::Core::Hashable
@@ -40974,6 +41919,45 @@ module Google
40974
41919
  end
40975
41920
  end
40976
41921
 
41922
+ # The `Status` type defines a logical error model that is suitable for different
41923
+ # programming environments, including REST APIs and RPC APIs. It is used by [
41924
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
41925
+ # data: error code, error message, and error details. You can find out more
41926
+ # about this error model and how to work with it in the [API Design Guide](https:
41927
+ # //cloud.google.com/apis/design/errors).
41928
+ class Status
41929
+ include Google::Apis::Core::Hashable
41930
+
41931
+ # The status code, which should be an enum value of google.rpc.Code.
41932
+ # Corresponds to the JSON property `code`
41933
+ # @return [Fixnum]
41934
+ attr_accessor :code
41935
+
41936
+ # A list of messages that carry the error details. There is a common set of
41937
+ # message types for APIs to use.
41938
+ # Corresponds to the JSON property `details`
41939
+ # @return [Array<Hash<String,Object>>]
41940
+ attr_accessor :details
41941
+
41942
+ # A developer-facing error message, which should be in English. Any user-facing
41943
+ # error message should be localized and sent in the google.rpc.Status.details
41944
+ # field, or localized by the client.
41945
+ # Corresponds to the JSON property `message`
41946
+ # @return [String]
41947
+ attr_accessor :message
41948
+
41949
+ def initialize(**args)
41950
+ update!(**args)
41951
+ end
41952
+
41953
+ # Update properties of this object
41954
+ def update!(**args)
41955
+ @code = args[:code] if args.key?(:code)
41956
+ @details = args[:details] if args.key?(:details)
41957
+ @message = args[:message] if args.key?(:message)
41958
+ end
41959
+ end
41960
+
40977
41961
  # Represents a Subnetwork resource. A subnetwork (also known as a subnet) is a
40978
41962
  # logical partition of a Virtual Private Cloud network with one primary IP range
40979
41963
  # and zero or more secondary IP ranges. For more information, read Virtual
@@ -48492,22 +49476,22 @@ module Google
48492
49476
  # evaluates to `true`. A condition can add constraints based on attributes of
48493
49477
  # the request, the resource, or both. To learn which resources support
48494
49478
  # conditions in their IAM policies, see the [IAM documentation](https://cloud.
48495
- # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
49479
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ``` ` "
48496
49480
  # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
48497
49481
  # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
48498
49482
  # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
48499
49483
  # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
48500
49484
  # ], "condition": ` "title": "expirable access", "description": "Does not grant
48501
49485
  # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
48502
- # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
48503
- # bindings: - members: - user:mike@example.com - group:admins@example.com -
48504
- # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
48505
- # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
48506
- # com role: roles/resourcemanager.organizationViewer condition: title: expirable
48507
- # access description: Does not grant access after Sep 2020 expression: request.
48508
- # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
48509
- # a description of IAM and its features, see the [IAM documentation](https://
48510
- # cloud.google.com/iam/docs/).
49486
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` ``` **YAML
49487
+ # example:** ``` bindings: - members: - user:mike@example.com - group:admins@
49488
+ # example.com - domain:google.com - serviceAccount:my-project-id@appspot.
49489
+ # gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: -
49490
+ # user:eve@example.com role: roles/resourcemanager.organizationViewer condition:
49491
+ # title: expirable access description: Does not grant access after Sep 2020
49492
+ # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag:
49493
+ # BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the
49494
+ # [IAM documentation](https://cloud.google.com/iam/docs/).
48511
49495
  # Corresponds to the JSON property `policy`
48512
49496
  # @return [Google::Apis::ComputeBeta::Policy]
48513
49497
  attr_accessor :policy