google-apis-compute_beta 0.75.0 → 0.77.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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