google-apis-compute_alpha 0.110.0 → 0.111.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.
@@ -3352,7 +3352,7 @@ module Google
3352
3352
  attr_accessor :client_ttl
3353
3353
 
3354
3354
  # Specifies the default TTL for cached content served by this origin for
3355
- # responses that do not have an existing valid TTL (max-age or s-max-age).
3355
+ # responses that do not have an existing valid TTL (max-age or s-maxage).
3356
3356
  # Setting a TTL of "0" means "always revalidate". The value of defaultTTL cannot
3357
3357
  # be set to a value greater than that of maxTTL, but can be equal. When the
3358
3358
  # cacheMode is set to FORCE_CACHE_ALL, the defaultTTL will overwrite the TTL set
@@ -3416,7 +3416,7 @@ module Google
3416
3416
  # that do not specify a max-stale directive. Stale responses that exceed the TTL
3417
3417
  # configured here will not be served. The default limit (max-stale) is 86400s (1
3418
3418
  # day), which will allow stale content to be served up to this limit beyond the
3419
- # max-age (or s-max-age) of a cached response. The maximum allowed value is
3419
+ # max-age (or s-maxage) of a cached response. The maximum allowed value is
3420
3420
  # 604800 (1 week). Set this to zero (0) to disable serve-while-stale.
3421
3421
  # Corresponds to the JSON property `serveWhileStale`
3422
3422
  # @return [Fixnum]
@@ -4525,7 +4525,7 @@ module Google
4525
4525
  attr_accessor :client_ttl
4526
4526
 
4527
4527
  # Specifies the default TTL for cached content served by this origin for
4528
- # responses that do not have an existing valid TTL (max-age or s-max-age).
4528
+ # responses that do not have an existing valid TTL (max-age or s-maxage).
4529
4529
  # Setting a TTL of "0" means "always revalidate". The value of defaultTTL cannot
4530
4530
  # be set to a value greater than that of maxTTL, but can be equal. When the
4531
4531
  # cacheMode is set to FORCE_CACHE_ALL, the defaultTTL will overwrite the TTL set
@@ -4589,7 +4589,7 @@ module Google
4589
4589
  # that do not specify a max-stale directive. Stale responses that exceed the TTL
4590
4590
  # configured here will not be served. The default limit (max-stale) is 86400s (1
4591
4591
  # day), which will allow stale content to be served up to this limit beyond the
4592
- # max-age (or s-max-age) of a cached response. The maximum allowed value is
4592
+ # max-age (or s-maxage) of a cached response. The maximum allowed value is
4593
4593
  # 604800 (1 week). Set this to zero (0) to disable serve-while-stale.
4594
4594
  # Corresponds to the JSON property `serveWhileStale`
4595
4595
  # @return [Fixnum]
@@ -4959,12 +4959,13 @@ module Google
4959
4959
  # one of its backends is 64. - The maximum number of backend services with
4960
4960
  # fastIPMove in a VPC in a region is 64. - The network endpoints that are
4961
4961
  # attached to a backend of a backend service with fastIPMove cannot resolve to
4962
- # C3 machines. - Traffic directed to the leader by a static route next hop will
4963
- # not be redirected to a new leader by fast failover. Such traffic will only be
4964
- # redirected once an haPolicy.leader update has taken effect. Only traffic to
4965
- # the forwarding rule's virtual IP will be redirected to a new leader by fast
4966
- # failover. haPolicy.fastIPMove can be set only at backend service creation time.
4967
- # Once set, it cannot be updated. By default, fastIpMove is set to DISABLED.
4962
+ # Gen3+ machines for IPv6. - Traffic directed to the leader by a static route
4963
+ # next hop will not be redirected to a new leader by fast failover. Such traffic
4964
+ # will only be redirected once an haPolicy.leader update has taken effect. Only
4965
+ # traffic to the forwarding rule's virtual IP will be redirected to a new leader
4966
+ # by fast failover. haPolicy.fastIPMove can be set only at backend service
4967
+ # creation time. Once set, it cannot be updated. By default, fastIpMove is set
4968
+ # to DISABLED.
4968
4969
  # Corresponds to the JSON property `fastIPMove`
4969
4970
  # @return [String]
4970
4971
  attr_accessor :fast_ip_move
@@ -6299,6 +6300,16 @@ module Google
6299
6300
  class BulkInsertDiskResource
6300
6301
  include Google::Apis::Core::Hashable
6301
6302
 
6303
+ # The parameters for the instant snapshot group.
6304
+ # Corresponds to the JSON property `instantSnapshotGroupParameters`
6305
+ # @return [Google::Apis::ComputeAlpha::InstantSnapshotGroupParameters]
6306
+ attr_accessor :instant_snapshot_group_parameters
6307
+
6308
+ # The parameters for the snapshot group.
6309
+ # Corresponds to the JSON property `snapshotGroupParameters`
6310
+ # @return [Google::Apis::ComputeAlpha::SnapshotGroupParameters]
6311
+ attr_accessor :snapshot_group_parameters
6312
+
6302
6313
  # The URL of the DiskConsistencyGroupPolicy for the group of disks to clone.
6303
6314
  # This may be a full or partial URL, such as: - https://www.googleapis.com/
6304
6315
  # compute/v1/projects/project/regions/region /resourcePolicies/resourcePolicy -
@@ -6314,6 +6325,8 @@ module Google
6314
6325
 
6315
6326
  # Update properties of this object
6316
6327
  def update!(**args)
6328
+ @instant_snapshot_group_parameters = args[:instant_snapshot_group_parameters] if args.key?(:instant_snapshot_group_parameters)
6329
+ @snapshot_group_parameters = args[:snapshot_group_parameters] if args.key?(:snapshot_group_parameters)
6317
6330
  @source_consistency_group_policy = args[:source_consistency_group_policy] if args.key?(:source_consistency_group_policy)
6318
6331
  end
6319
6332
  end
@@ -6546,8 +6559,8 @@ module Google
6546
6559
  class CacheInvalidationRule
6547
6560
  include Google::Apis::Core::Hashable
6548
6561
 
6549
- # [Preview] A list of cache tags used to identify cached objects. - Cache tags
6550
- # are specified when the response is first cached, by setting the `Cache-Tag`
6562
+ # A list of cache tags used to identify cached objects. - Cache tags are
6563
+ # specified when the response is first cached, by setting the `Cache-Tag`
6551
6564
  # response header at the origin. - Multiple cache tags in the same invalidation
6552
6565
  # request are treated as Boolean `OR` - for example, `tag1 OR tag2 OR tag3`. -
6553
6566
  # If other fields are also specified, these are treated as Boolean `AND` with
@@ -8562,6 +8575,47 @@ module Google
8562
8575
  end
8563
8576
  end
8564
8577
 
8578
+ # Represents a whole or partial calendar date, such as a birthday. The time of
8579
+ # day and time zone are either specified elsewhere or are insignificant. The
8580
+ # date is relative to the Gregorian Calendar. This can represent one of the
8581
+ # following: * A full date, with non-zero year, month, and day values. * A month
8582
+ # and day, with a zero year (for example, an anniversary). * A year on its own,
8583
+ # with a zero month and a zero day. * A year and month, with a zero day (for
8584
+ # example, a credit card expiration date). Related types: * google.type.
8585
+ # TimeOfDay * google.type.DateTime * google.protobuf.Timestamp
8586
+ class Date
8587
+ include Google::Apis::Core::Hashable
8588
+
8589
+ # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to
8590
+ # specify a year by itself or a year and month where the day isn't significant.
8591
+ # Corresponds to the JSON property `day`
8592
+ # @return [Fixnum]
8593
+ attr_accessor :day
8594
+
8595
+ # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month
8596
+ # and day.
8597
+ # Corresponds to the JSON property `month`
8598
+ # @return [Fixnum]
8599
+ attr_accessor :month
8600
+
8601
+ # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a
8602
+ # year.
8603
+ # Corresponds to the JSON property `year`
8604
+ # @return [Fixnum]
8605
+ attr_accessor :year
8606
+
8607
+ def initialize(**args)
8608
+ update!(**args)
8609
+ end
8610
+
8611
+ # Update properties of this object
8612
+ def update!(**args)
8613
+ @day = args[:day] if args.key?(:day)
8614
+ @month = args[:month] if args.key?(:month)
8615
+ @year = args[:year] if args.key?(:year)
8616
+ end
8617
+ end
8618
+
8565
8619
  # Deprecation status for a public resource.
8566
8620
  class DeprecationStatus
8567
8621
  include Google::Apis::Core::Hashable
@@ -11123,6 +11177,11 @@ module Google
11123
11177
  # @return [String]
11124
11178
  attr_accessor :network
11125
11179
 
11180
+ # Additional firewall parameters.
11181
+ # Corresponds to the JSON property `params`
11182
+ # @return [Google::Apis::ComputeAlpha::FirewallParams]
11183
+ attr_accessor :params
11184
+
11126
11185
  # Priority for this rule. This is an integer between `0` and `65535`, both
11127
11186
  # inclusive. The default value is `1000`. Relative priorities determine which
11128
11187
  # rule takes effect if multiple rules apply. Lower values indicate higher
@@ -11221,6 +11280,7 @@ module Google
11221
11280
  @log_config = args[:log_config] if args.key?(:log_config)
11222
11281
  @name = args[:name] if args.key?(:name)
11223
11282
  @network = args[:network] if args.key?(:network)
11283
+ @params = args[:params] if args.key?(:params)
11224
11284
  @priority = args[:priority] if args.key?(:priority)
11225
11285
  @self_link = args[:self_link] if args.key?(:self_link)
11226
11286
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
@@ -11440,6 +11500,32 @@ module Google
11440
11500
  end
11441
11501
  end
11442
11502
 
11503
+ # Additional firewall parameters.
11504
+ class FirewallParams
11505
+ include Google::Apis::Core::Hashable
11506
+
11507
+ # Tag keys/values directly bound to this resource. Tag keys and values have the
11508
+ # same definition as resource manager tags. The field is allowed for INSERT only.
11509
+ # The keys/values to set on the resource should be specified in either ID ` : `
11510
+ # or Namespaced format ` : `. For example the following are valid inputs: * `"
11511
+ # tagKeys/333" : "tagValues/444", "tagKeys/123" : "tagValues/456"` * `"123/
11512
+ # environment" : "production", "345/abc" : "xyz"` Note: * Invalid combinations
11513
+ # of ID & namespaced format is not supported. For instance: `"123/environment" :
11514
+ # "tagValues/444"` is invalid.
11515
+ # Corresponds to the JSON property `resourceManagerTags`
11516
+ # @return [Hash<String,String>]
11517
+ attr_accessor :resource_manager_tags
11518
+
11519
+ def initialize(**args)
11520
+ update!(**args)
11521
+ end
11522
+
11523
+ # Update properties of this object
11524
+ def update!(**args)
11525
+ @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
11526
+ end
11527
+ end
11528
+
11443
11529
  #
11444
11530
  class FirewallPoliciesListAssociationsResponse
11445
11531
  include Google::Apis::Core::Hashable
@@ -11632,6 +11718,12 @@ module Google
11632
11718
  # @return [String]
11633
11719
  attr_accessor :parent
11634
11720
 
11721
+ # The type of the firewall policy. This field can be either VPC_POLICY or
11722
+ # RDMA_ROCE_POLICY. Note: if not specified then VPC_POLICY will be used.
11723
+ # Corresponds to the JSON property `policyType`
11724
+ # @return [String]
11725
+ attr_accessor :policy_type
11726
+
11635
11727
  # [Output Only] URL of the region where the regional firewall policy resides.
11636
11728
  # This field is not applicable to global firewall policies. You must specify
11637
11729
  # this field as part of the HTTP request URL. It is not settable as a field in
@@ -11704,6 +11796,7 @@ module Google
11704
11796
  @name = args[:name] if args.key?(:name)
11705
11797
  @packet_mirroring_rules = args[:packet_mirroring_rules] if args.key?(:packet_mirroring_rules)
11706
11798
  @parent = args[:parent] if args.key?(:parent)
11799
+ @policy_type = args[:policy_type] if args.key?(:policy_type)
11707
11800
  @region = args[:region] if args.key?(:region)
11708
11801
  @rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
11709
11802
  @rules = args[:rules] if args.key?(:rules)
@@ -11960,6 +12053,17 @@ module Google
11960
12053
  # @return [String]
11961
12054
  attr_accessor :security_profile_group
11962
12055
 
12056
+ # A list of forwarding rules to which this rule applies. This field allows you
12057
+ # to control which load balancers get this rule. For example, the following are
12058
+ # valid values: - https://www.googleapis.com/compute/v1/projects/project /global/
12059
+ # forwardingRules/forwardingRule - https://www.googleapis.com/compute/v1/
12060
+ # projects/project/regions/region /forwardingRules/forwardingRule - projects/
12061
+ # project/global/ forwardingRules/forwardingRule - projects/project/regions/
12062
+ # region/forwardingRules/ forwardingRule
12063
+ # Corresponds to the JSON property `targetForwardingRules`
12064
+ # @return [Array<String>]
12065
+ attr_accessor :target_forwarding_rules
12066
+
11963
12067
  # A list of network resource URLs to which this rule applies. This field allows
11964
12068
  # you to control which network's VMs get this rule. If this field is left blank,
11965
12069
  # all VMs within the organization will receive the rule.
@@ -11985,6 +12089,11 @@ module Google
11985
12089
  # @return [Array<String>]
11986
12090
  attr_accessor :target_service_accounts
11987
12091
 
12092
+ # Target types of the firewall policy rule. Default value is INSTANCES.
12093
+ # Corresponds to the JSON property `targetType`
12094
+ # @return [String]
12095
+ attr_accessor :target_type
12096
+
11988
12097
  # Boolean flag indicating if the traffic should be TLS decrypted. Can be set
11989
12098
  # only if action = 'apply_security_profile_group' and cannot be set for other
11990
12099
  # actions.
@@ -12010,9 +12119,11 @@ module Google
12010
12119
  @rule_name = args[:rule_name] if args.key?(:rule_name)
12011
12120
  @rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
12012
12121
  @security_profile_group = args[:security_profile_group] if args.key?(:security_profile_group)
12122
+ @target_forwarding_rules = args[:target_forwarding_rules] if args.key?(:target_forwarding_rules)
12013
12123
  @target_resources = args[:target_resources] if args.key?(:target_resources)
12014
12124
  @target_secure_tags = args[:target_secure_tags] if args.key?(:target_secure_tags)
12015
12125
  @target_service_accounts = args[:target_service_accounts] if args.key?(:target_service_accounts)
12126
+ @target_type = args[:target_type] if args.key?(:target_type)
12016
12127
  @tls_inspect = args[:tls_inspect] if args.key?(:tls_inspect)
12017
12128
  end
12018
12129
  end
@@ -13181,6 +13292,12 @@ module Google
13181
13292
  # @return [String]
13182
13293
  attr_accessor :description
13183
13294
 
13295
+ # Indicates if this group of VMs have emergent maintenance enabled.
13296
+ # Corresponds to the JSON property `enableEmergentMaintenance`
13297
+ # @return [Boolean]
13298
+ attr_accessor :enable_emergent_maintenance
13299
+ alias_method :enable_emergent_maintenance?, :enable_emergent_maintenance
13300
+
13184
13301
  # [Output Only] A unique identifier for this future reservation. The server
13185
13302
  # defines this identifier.
13186
13303
  # Corresponds to the JSON property `id`
@@ -13294,6 +13411,7 @@ module Google
13294
13411
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
13295
13412
  @deployment_type = args[:deployment_type] if args.key?(:deployment_type)
13296
13413
  @description = args[:description] if args.key?(:description)
13414
+ @enable_emergent_maintenance = args[:enable_emergent_maintenance] if args.key?(:enable_emergent_maintenance)
13297
13415
  @id = args[:id] if args.key?(:id)
13298
13416
  @kind = args[:kind] if args.key?(:kind)
13299
13417
  @name = args[:name] if args.key?(:name)
@@ -14808,8 +14926,8 @@ module Google
14808
14926
  # values. Set to one or more of the following values: - VIRTIO_SCSI_MULTIQUEUE -
14809
14927
  # WINDOWS - MULTI_IP_SUBNET - UEFI_COMPATIBLE - GVNIC - SEV_CAPABLE -
14810
14928
  # SUSPEND_RESUME_COMPATIBLE - SEV_LIVE_MIGRATABLE_V2 - SEV_SNP_CAPABLE -
14811
- # TDX_CAPABLE - IDPF For more information, see Enabling guest operating system
14812
- # features.
14929
+ # TDX_CAPABLE - IDPF - SNP_SVSM_CAPABLE For more information, see Enabling guest
14930
+ # operating system features.
14813
14931
  # Corresponds to the JSON property `type`
14814
14932
  # @return [String]
14815
14933
  attr_accessor :type
@@ -20829,8 +20947,10 @@ module Google
20829
20947
  # @return [Fixnum]
20830
20948
  attr_accessor :id
20831
20949
 
20832
- # The list of specifications of per-instance configs to be created. This field
20833
- # cannot be used together with 'resize_by'.
20950
+ # The names of instances to be created by this resize request. The number of
20951
+ # names specified determines the number of instances to create. The group's
20952
+ # target size will be increased by this number. This field cannot be used
20953
+ # together with 'resize_by'.
20834
20954
  # Corresponds to the JSON property `instances`
20835
20955
  # @return [Array<Google::Apis::ComputeAlpha::PerInstanceConfig>]
20836
20956
  attr_accessor :instances
@@ -24200,7 +24320,7 @@ module Google
24200
24320
  # @return [String]
24201
24321
  attr_accessor :action_hint
24202
24322
 
24203
- # The disruption schedule for the VM. Default to IMMEDIATE.
24323
+ # The disruption schedule for the VM. Required field, only allows IMMEDIATE.
24204
24324
  # Corresponds to the JSON property `disruptionSchedule`
24205
24325
  # @return [String]
24206
24326
  attr_accessor :disruption_schedule
@@ -24975,6 +25095,30 @@ module Google
24975
25095
  end
24976
25096
  end
24977
25097
 
25098
+ #
25099
+ class InstantSnapshotGroupParameters
25100
+ include Google::Apis::Core::Hashable
25101
+
25102
+ # The source instant snapshot group used to create disks. You can provide this
25103
+ # as a partial or full URL to the resource. For example, the following are valid
25104
+ # values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /
25105
+ # instantSnapshotGroups/instantSnapshotGroup - projects/project/zones/zone/
25106
+ # instantSnapshotGroups/instantSnapshotGroup - zones/zone/instantSnapshotGroups/
25107
+ # instantSnapshotGroup
25108
+ # Corresponds to the JSON property `sourceInstantSnapshotGroup`
25109
+ # @return [String]
25110
+ attr_accessor :source_instant_snapshot_group
25111
+
25112
+ def initialize(**args)
25113
+ update!(**args)
25114
+ end
25115
+
25116
+ # Update properties of this object
25117
+ def update!(**args)
25118
+ @source_instant_snapshot_group = args[:source_instant_snapshot_group] if args.key?(:source_instant_snapshot_group)
25119
+ end
25120
+ end
25121
+
24978
25122
  #
24979
25123
  class InstantSnapshotGroupResourceStatus
24980
25124
  include Google::Apis::Core::Hashable
@@ -28825,7 +28969,7 @@ module Google
28825
28969
 
28826
28970
  # [Output only] List of link types available at this InterconnectLocation, which
28827
28971
  # can take one of the following values: - LINK_TYPE_ETHERNET_10G_LR -
28828
- # LINK_TYPE_ETHERNET_100G_LR
28972
+ # LINK_TYPE_ETHERNET_100G_LR - LINK_TYPE_ETHERNET_400G_LR4
28829
28973
  # Corresponds to the JSON property `availableLinkTypes`
28830
28974
  # @return [Array<String>]
28831
28975
  attr_accessor :available_link_types
@@ -29987,6 +30131,11 @@ module Google
29987
30131
  # @return [String]
29988
30132
  attr_accessor :self_link
29989
30133
 
30134
+ # [Output Only] Unreachable resources.
30135
+ # Corresponds to the JSON property `unreachables`
30136
+ # @return [Array<String>]
30137
+ attr_accessor :unreachables
30138
+
29990
30139
  # [Output Only] Informational warning message.
29991
30140
  # Corresponds to the JSON property `warning`
29992
30141
  # @return [Google::Apis::ComputeAlpha::IpOwnerList::Warning]
@@ -30003,6 +30152,7 @@ module Google
30003
30152
  @kind = args[:kind] if args.key?(:kind)
30004
30153
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
30005
30154
  @self_link = args[:self_link] if args.key?(:self_link)
30155
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
30006
30156
  @warning = args[:warning] if args.key?(:warning)
30007
30157
  end
30008
30158
 
@@ -31976,6 +32126,12 @@ module Google
31976
32126
  # @return [Google::Apis::ComputeAlpha::ManagedInstancePropertiesFromFlexibilityPolicy]
31977
32127
  attr_accessor :properties_from_flexibility_policy
31978
32128
 
32129
+ # [Output Only] Information about the termination timestamp of the instance, if
32130
+ # applicable.
32131
+ # Corresponds to the JSON property `scheduling`
32132
+ # @return [Google::Apis::ComputeAlpha::ManagedInstanceScheduling]
32133
+ attr_accessor :scheduling
32134
+
31979
32135
  # [Output only] The size of the VM represented by this Managed Instance. This is
31980
32136
  # how much this Managed Instance contributes to the size of the group.
31981
32137
  # Corresponds to the JSON property `sizeInUnit`
@@ -32019,6 +32175,7 @@ module Google
32019
32175
  @preserved_state_from_config = args[:preserved_state_from_config] if args.key?(:preserved_state_from_config)
32020
32176
  @preserved_state_from_policy = args[:preserved_state_from_policy] if args.key?(:preserved_state_from_policy)
32021
32177
  @properties_from_flexibility_policy = args[:properties_from_flexibility_policy] if args.key?(:properties_from_flexibility_policy)
32178
+ @scheduling = args[:scheduling] if args.key?(:scheduling)
32022
32179
  @size_in_unit = args[:size_in_unit] if args.key?(:size_in_unit)
32023
32180
  @tag = args[:tag] if args.key?(:tag)
32024
32181
  @target_status = args[:target_status] if args.key?(:target_status)
@@ -32298,6 +32455,26 @@ module Google
32298
32455
  end
32299
32456
  end
32300
32457
 
32458
+ #
32459
+ class ManagedInstanceScheduling
32460
+ include Google::Apis::Core::Hashable
32461
+
32462
+ # [Output Only] The timestamp when the MIG will automatically terminate the
32463
+ # instance. The value is in RFC3339 text format.
32464
+ # Corresponds to the JSON property `terminationTimestamp`
32465
+ # @return [String]
32466
+ attr_accessor :termination_timestamp
32467
+
32468
+ def initialize(**args)
32469
+ update!(**args)
32470
+ end
32471
+
32472
+ # Update properties of this object
32473
+ def update!(**args)
32474
+ @termination_timestamp = args[:termination_timestamp] if args.key?(:termination_timestamp)
32475
+ end
32476
+ end
32477
+
32301
32478
  #
32302
32479
  class ManagedInstanceVersion
32303
32480
  include Google::Apis::Core::Hashable
@@ -32851,6 +33028,11 @@ module Google
32851
33028
  # @return [Array<String>]
32852
33029
  attr_accessor :member_instance_group_managers
32853
33030
 
33031
+ # [Output Only] The number of instance group manager members in this multi-MIG.
33032
+ # Corresponds to the JSON property `membersCount`
33033
+ # @return [Fixnum]
33034
+ attr_accessor :members_count
33035
+
32854
33036
  def initialize(**args)
32855
33037
  update!(**args)
32856
33038
  end
@@ -32858,6 +33040,7 @@ module Google
32858
33040
  # Update properties of this object
32859
33041
  def update!(**args)
32860
33042
  @member_instance_group_managers = args[:member_instance_group_managers] if args.key?(:member_instance_group_managers)
33043
+ @members_count = args[:members_count] if args.key?(:members_count)
32861
33044
  end
32862
33045
  end
32863
33046
 
@@ -33266,6 +33449,11 @@ module Google
33266
33449
  # @return [String]
33267
33450
  attr_accessor :network_profile
33268
33451
 
33452
+ # Additional network parameters.
33453
+ # Corresponds to the JSON property `params`
33454
+ # @return [Google::Apis::ComputeAlpha::NetworkParams]
33455
+ attr_accessor :params
33456
+
33269
33457
  # [Output Only] A list of network peerings for the resource.
33270
33458
  # Corresponds to the JSON property `peerings`
33271
33459
  # @return [Array<Google::Apis::ComputeAlpha::NetworkPeering>]
@@ -33321,6 +33509,7 @@ module Google
33321
33509
  @name = args[:name] if args.key?(:name)
33322
33510
  @network_firewall_policy_enforcement_order = args[:network_firewall_policy_enforcement_order] if args.key?(:network_firewall_policy_enforcement_order)
33323
33511
  @network_profile = args[:network_profile] if args.key?(:network_profile)
33512
+ @params = args[:params] if args.key?(:params)
33324
33513
  @peerings = args[:peerings] if args.key?(:peerings)
33325
33514
  @region = args[:region] if args.key?(:region)
33326
33515
  @routing_config = args[:routing_config] if args.key?(:routing_config)
@@ -35693,6 +35882,32 @@ module Google
35693
35882
  end
35694
35883
  end
35695
35884
 
35885
+ # Additional network parameters.
35886
+ class NetworkParams
35887
+ include Google::Apis::Core::Hashable
35888
+
35889
+ # Tag keys/values directly bound to this resource. Tag keys and values have the
35890
+ # same definition as resource manager tags. The field is allowed for INSERT only.
35891
+ # The keys/values to set on the resource should be specified in either ID ` : `
35892
+ # or Namespaced format ` : `. For example the following are valid inputs: * `"
35893
+ # tagKeys/333" : "tagValues/444", "tagKeys/123" : "tagValues/456"` * `"123/
35894
+ # environment" : "production", "345/abc" : "xyz"` Note: * Invalid combinations
35895
+ # of ID & namespaced format is not supported. For instance: `"123/environment" :
35896
+ # "tagValues/444"` is invalid.
35897
+ # Corresponds to the JSON property `resourceManagerTags`
35898
+ # @return [Hash<String,String>]
35899
+ attr_accessor :resource_manager_tags
35900
+
35901
+ def initialize(**args)
35902
+ update!(**args)
35903
+ end
35904
+
35905
+ # Update properties of this object
35906
+ def update!(**args)
35907
+ @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
35908
+ end
35909
+ end
35910
+
35696
35911
  # A network peering attached to a network resource. The message includes the
35697
35912
  # peering name, peer network, peering state, and a flag indicating whether
35698
35913
  # Google Compute Engine should automatically create routes for the peering.
@@ -35716,6 +35931,14 @@ module Google
35716
35931
  attr_accessor :auto_create_routes
35717
35932
  alias_method :auto_create_routes?, :auto_create_routes
35718
35933
 
35934
+ # [Output Only] Describes the state of a peering connection, not just the local
35935
+ # peering. This field provides information about the effective settings for the
35936
+ # connection as a whole, including pending delete/update requests for CONSENSUS
35937
+ # peerings.
35938
+ # Corresponds to the JSON property `connectionStatus`
35939
+ # @return [Google::Apis::ComputeAlpha::NetworkPeeringConnectionStatus]
35940
+ attr_accessor :connection_status
35941
+
35719
35942
  # Indicates whether full mesh connectivity is created and managed automatically
35720
35943
  # between peered networks. Currently this field should always be true since
35721
35944
  # Google Compute Engine will automatically create and manage subnetwork routes
@@ -35773,7 +35996,7 @@ module Google
35773
35996
  # @return [String]
35774
35997
  attr_accessor :network
35775
35998
 
35776
- # Maximum Transmission Unit in bytes.
35999
+ # [Output Only] Maximum Transmission Unit in bytes of the peer network.
35777
36000
  # Corresponds to the JSON property `peerMtu`
35778
36001
  # @return [Fixnum]
35779
36002
  attr_accessor :peer_mtu
@@ -35795,6 +36018,12 @@ module Google
35795
36018
  # @return [String]
35796
36019
  attr_accessor :state_details
35797
36020
 
36021
+ # The update strategy determines the semantics for updates and deletes to the
36022
+ # peering connection configuration.
36023
+ # Corresponds to the JSON property `updateStrategy`
36024
+ # @return [String]
36025
+ attr_accessor :update_strategy
36026
+
35798
36027
  def initialize(**args)
35799
36028
  update!(**args)
35800
36029
  end
@@ -35803,6 +36032,7 @@ module Google
35803
36032
  def update!(**args)
35804
36033
  @advertise_peer_subnets_via_routers = args[:advertise_peer_subnets_via_routers] if args.key?(:advertise_peer_subnets_via_routers)
35805
36034
  @auto_create_routes = args[:auto_create_routes] if args.key?(:auto_create_routes)
36035
+ @connection_status = args[:connection_status] if args.key?(:connection_status)
35806
36036
  @exchange_subnet_routes = args[:exchange_subnet_routes] if args.key?(:exchange_subnet_routes)
35807
36037
  @export_custom_routes = args[:export_custom_routes] if args.key?(:export_custom_routes)
35808
36038
  @export_subnet_routes_with_public_ip = args[:export_subnet_routes_with_public_ip] if args.key?(:export_subnet_routes_with_public_ip)
@@ -35814,6 +36044,122 @@ module Google
35814
36044
  @stack_type = args[:stack_type] if args.key?(:stack_type)
35815
36045
  @state = args[:state] if args.key?(:state)
35816
36046
  @state_details = args[:state_details] if args.key?(:state_details)
36047
+ @update_strategy = args[:update_strategy] if args.key?(:update_strategy)
36048
+ end
36049
+ end
36050
+
36051
+ # [Output Only] Describes the state of a peering connection, not just the local
36052
+ # peering. This field provides information about the effective settings for the
36053
+ # connection as a whole, including pending delete/update requests for CONSENSUS
36054
+ # peerings.
36055
+ class NetworkPeeringConnectionStatus
36056
+ include Google::Apis::Core::Hashable
36057
+
36058
+ # Surfaces relevant state for a consensus peering connection update/delete
36059
+ # semantics. Only set when connection_status.update_strategy is CONSENSUS or one
36060
+ # network peering is proposing upgrading to CONSENSUS.
36061
+ # Corresponds to the JSON property `consensusState`
36062
+ # @return [Google::Apis::ComputeAlpha::NetworkPeeringConnectionStatusConsensusState]
36063
+ attr_accessor :consensus_state
36064
+
36065
+ # The active connectivity settings for the peering connection based on the
36066
+ # settings of the network peerings.
36067
+ # Corresponds to the JSON property `trafficConfiguration`
36068
+ # @return [Google::Apis::ComputeAlpha::NetworkPeeringConnectionStatusTrafficConfiguration]
36069
+ attr_accessor :traffic_configuration
36070
+
36071
+ # The update strategy determines the update/delete semantics for this peering
36072
+ # connection.
36073
+ # Corresponds to the JSON property `updateStrategy`
36074
+ # @return [String]
36075
+ attr_accessor :update_strategy
36076
+
36077
+ def initialize(**args)
36078
+ update!(**args)
36079
+ end
36080
+
36081
+ # Update properties of this object
36082
+ def update!(**args)
36083
+ @consensus_state = args[:consensus_state] if args.key?(:consensus_state)
36084
+ @traffic_configuration = args[:traffic_configuration] if args.key?(:traffic_configuration)
36085
+ @update_strategy = args[:update_strategy] if args.key?(:update_strategy)
36086
+ end
36087
+ end
36088
+
36089
+ # Surfaces relevant state for a consensus peering connection update/delete
36090
+ # semantics. Only set when connection_status.update_strategy is CONSENSUS or one
36091
+ # network peering is proposing upgrading to CONSENSUS.
36092
+ class NetworkPeeringConnectionStatusConsensusState
36093
+ include Google::Apis::Core::Hashable
36094
+
36095
+ # The status of the delete request.
36096
+ # Corresponds to the JSON property `deleteStatus`
36097
+ # @return [String]
36098
+ attr_accessor :delete_status
36099
+
36100
+ # The status of the update request.
36101
+ # Corresponds to the JSON property `updateStatus`
36102
+ # @return [String]
36103
+ attr_accessor :update_status
36104
+
36105
+ def initialize(**args)
36106
+ update!(**args)
36107
+ end
36108
+
36109
+ # Update properties of this object
36110
+ def update!(**args)
36111
+ @delete_status = args[:delete_status] if args.key?(:delete_status)
36112
+ @update_status = args[:update_status] if args.key?(:update_status)
36113
+ end
36114
+ end
36115
+
36116
+ #
36117
+ class NetworkPeeringConnectionStatusTrafficConfiguration
36118
+ include Google::Apis::Core::Hashable
36119
+
36120
+ # Whether custom routes are being exported to the peer network.
36121
+ # Corresponds to the JSON property `exportCustomRoutesToPeer`
36122
+ # @return [Boolean]
36123
+ attr_accessor :export_custom_routes_to_peer
36124
+ alias_method :export_custom_routes_to_peer?, :export_custom_routes_to_peer
36125
+
36126
+ # Whether subnet routes with public IP range are being exported to the peer
36127
+ # network.
36128
+ # Corresponds to the JSON property `exportSubnetRoutesWithPublicIpToPeer`
36129
+ # @return [Boolean]
36130
+ attr_accessor :export_subnet_routes_with_public_ip_to_peer
36131
+ alias_method :export_subnet_routes_with_public_ip_to_peer?, :export_subnet_routes_with_public_ip_to_peer
36132
+
36133
+ # Whether custom routes is being imported from the peer network.
36134
+ # Corresponds to the JSON property `importCustomRoutesFromPeer`
36135
+ # @return [Boolean]
36136
+ attr_accessor :import_custom_routes_from_peer
36137
+ alias_method :import_custom_routes_from_peer?, :import_custom_routes_from_peer
36138
+
36139
+ # Whether subnet routes with public IP range are being imported from the peer
36140
+ # network.
36141
+ # Corresponds to the JSON property `importSubnetRoutesWithPublicIpFromPeer`
36142
+ # @return [Boolean]
36143
+ attr_accessor :import_subnet_routes_with_public_ip_from_peer
36144
+ alias_method :import_subnet_routes_with_public_ip_from_peer?, :import_subnet_routes_with_public_ip_from_peer
36145
+
36146
+ # Which IP version(s) of traffic and routes are being imported or exported
36147
+ # between peer networks.
36148
+ # Corresponds to the JSON property `stackType`
36149
+ # @return [String]
36150
+ attr_accessor :stack_type
36151
+
36152
+ def initialize(**args)
36153
+ update!(**args)
36154
+ end
36155
+
36156
+ # Update properties of this object
36157
+ def update!(**args)
36158
+ @export_custom_routes_to_peer = args[:export_custom_routes_to_peer] if args.key?(:export_custom_routes_to_peer)
36159
+ @export_subnet_routes_with_public_ip_to_peer = args[:export_subnet_routes_with_public_ip_to_peer] if args.key?(:export_subnet_routes_with_public_ip_to_peer)
36160
+ @import_custom_routes_from_peer = args[:import_custom_routes_from_peer] if args.key?(:import_custom_routes_from_peer)
36161
+ @import_subnet_routes_with_public_ip_from_peer = args[:import_subnet_routes_with_public_ip_from_peer] if args.key?(:import_subnet_routes_with_public_ip_from_peer)
36162
+ @stack_type = args[:stack_type] if args.key?(:stack_type)
35817
36163
  end
35818
36164
  end
35819
36165
 
@@ -35971,6 +36317,11 @@ module Google
35971
36317
  # @return [String]
35972
36318
  attr_accessor :allow_cloud_router
35973
36319
 
36320
+ # Specifies whether default NIC attachment is allowed.
36321
+ # Corresponds to the JSON property `allowDefaultNicAttachment`
36322
+ # @return [String]
36323
+ attr_accessor :allow_default_nic_attachment
36324
+
35974
36325
  # Specifies whether VMs are allowed to have external IP access on network
35975
36326
  # interfaces connected to this VPC.
35976
36327
  # Corresponds to the JSON property `allowExternalIpAccess`
@@ -35982,6 +36333,11 @@ module Google
35982
36333
  # @return [String]
35983
36334
  attr_accessor :allow_interconnect
35984
36335
 
36336
+ # Specifies whether IP forwarding is allowed.
36337
+ # Corresponds to the JSON property `allowIpForwarding`
36338
+ # @return [String]
36339
+ attr_accessor :allow_ip_forwarding
36340
+
35985
36341
  # Specifies whether cloud load balancing is allowed.
35986
36342
  # Corresponds to the JSON property `allowLoadBalancing`
35987
36343
  # @return [String]
@@ -35992,6 +36348,16 @@ module Google
35992
36348
  # @return [String]
35993
36349
  attr_accessor :allow_multi_nic_in_same_network
35994
36350
 
36351
+ # Specifies whether NCC is allowed.
36352
+ # Corresponds to the JSON property `allowNcc`
36353
+ # @return [String]
36354
+ attr_accessor :allow_ncc
36355
+
36356
+ # Specifies whether VM network migration is allowed.
36357
+ # Corresponds to the JSON property `allowNetworkMigration`
36358
+ # @return [String]
36359
+ attr_accessor :allow_network_migration
36360
+
35995
36361
  # Specifies whether Packet Mirroring 1.0 is supported.
35996
36362
  # Corresponds to the JSON property `allowPacketMirroring`
35997
36363
  # @return [String]
@@ -36048,6 +36414,16 @@ module Google
36048
36414
  # @return [Array<String>]
36049
36415
  attr_accessor :subnet_stack_types
36050
36416
 
36417
+ # Specifies which subnetwork purposes are supported.
36418
+ # Corresponds to the JSON property `subnetworkPurposes`
36419
+ # @return [Array<String>]
36420
+ attr_accessor :subnetwork_purposes
36421
+
36422
+ # Specifies which subnetwork stack types are supported.
36423
+ # Corresponds to the JSON property `subnetworkStackTypes`
36424
+ # @return [Array<String>]
36425
+ attr_accessor :subnetwork_stack_types
36426
+
36051
36427
  # Specifies which type of unicast is supported.
36052
36428
  # Corresponds to the JSON property `unicast`
36053
36429
  # @return [String]
@@ -36065,10 +36441,14 @@ module Google
36065
36441
  @allow_class_d_firewalls = args[:allow_class_d_firewalls] if args.key?(:allow_class_d_firewalls)
36066
36442
  @allow_cloud_nat = args[:allow_cloud_nat] if args.key?(:allow_cloud_nat)
36067
36443
  @allow_cloud_router = args[:allow_cloud_router] if args.key?(:allow_cloud_router)
36444
+ @allow_default_nic_attachment = args[:allow_default_nic_attachment] if args.key?(:allow_default_nic_attachment)
36068
36445
  @allow_external_ip_access = args[:allow_external_ip_access] if args.key?(:allow_external_ip_access)
36069
36446
  @allow_interconnect = args[:allow_interconnect] if args.key?(:allow_interconnect)
36447
+ @allow_ip_forwarding = args[:allow_ip_forwarding] if args.key?(:allow_ip_forwarding)
36070
36448
  @allow_load_balancing = args[:allow_load_balancing] if args.key?(:allow_load_balancing)
36071
36449
  @allow_multi_nic_in_same_network = args[:allow_multi_nic_in_same_network] if args.key?(:allow_multi_nic_in_same_network)
36450
+ @allow_ncc = args[:allow_ncc] if args.key?(:allow_ncc)
36451
+ @allow_network_migration = args[:allow_network_migration] if args.key?(:allow_network_migration)
36072
36452
  @allow_packet_mirroring = args[:allow_packet_mirroring] if args.key?(:allow_packet_mirroring)
36073
36453
  @allow_private_google_access = args[:allow_private_google_access] if args.key?(:allow_private_google_access)
36074
36454
  @allow_psc = args[:allow_psc] if args.key?(:allow_psc)
@@ -36080,6 +36460,8 @@ module Google
36080
36460
  @interface_types = args[:interface_types] if args.key?(:interface_types)
36081
36461
  @subnet_purposes = args[:subnet_purposes] if args.key?(:subnet_purposes)
36082
36462
  @subnet_stack_types = args[:subnet_stack_types] if args.key?(:subnet_stack_types)
36463
+ @subnetwork_purposes = args[:subnetwork_purposes] if args.key?(:subnetwork_purposes)
36464
+ @subnetwork_stack_types = args[:subnetwork_stack_types] if args.key?(:subnetwork_stack_types)
36083
36465
  @unicast = args[:unicast] if args.key?(:unicast)
36084
36466
  end
36085
36467
  end
@@ -36475,6 +36857,25 @@ module Google
36475
36857
  end
36476
36858
  end
36477
36859
 
36860
+ #
36861
+ class NetworksRequestRemovePeeringRequest
36862
+ include Google::Apis::Core::Hashable
36863
+
36864
+ # Name of the peering, which should conform to RFC1035.
36865
+ # Corresponds to the JSON property `name`
36866
+ # @return [String]
36867
+ attr_accessor :name
36868
+
36869
+ def initialize(**args)
36870
+ update!(**args)
36871
+ end
36872
+
36873
+ # Update properties of this object
36874
+ def update!(**args)
36875
+ @name = args[:name] if args.key?(:name)
36876
+ end
36877
+ end
36878
+
36478
36879
  #
36479
36880
  class NetworksUpdatePeeringRequest
36480
36881
  include Google::Apis::Core::Hashable
@@ -40908,6 +41309,383 @@ module Google
40908
41309
  end
40909
41310
  end
40910
41311
 
41312
+ # Represents a single Google Compute Engine preview feature.
41313
+ class PreviewFeature
41314
+ include Google::Apis::Core::Hashable
41315
+
41316
+ # Specifies whether the feature is enabled or disabled.
41317
+ # Corresponds to the JSON property `activationStatus`
41318
+ # @return [String]
41319
+ attr_accessor :activation_status
41320
+
41321
+ # [Output Only] Creation timestamp in RFC3339 text format.
41322
+ # Corresponds to the JSON property `creationTimestamp`
41323
+ # @return [String]
41324
+ attr_accessor :creation_timestamp
41325
+
41326
+ # [Output Only] Description of the feature.
41327
+ # Corresponds to the JSON property `description`
41328
+ # @return [String]
41329
+ attr_accessor :description
41330
+
41331
+ # [Output Only] The unique identifier for the resource. This identifier is
41332
+ # defined by the server.
41333
+ # Corresponds to the JSON property `id`
41334
+ # @return [Fixnum]
41335
+ attr_accessor :id
41336
+
41337
+ # [Output only] The type of the feature. Always "compute#previewFeature" for
41338
+ # preview features.
41339
+ # Corresponds to the JSON property `kind`
41340
+ # @return [String]
41341
+ attr_accessor :kind
41342
+
41343
+ # Name of the feature.
41344
+ # Corresponds to the JSON property `name`
41345
+ # @return [String]
41346
+ attr_accessor :name
41347
+
41348
+ # Represents the rollout operation
41349
+ # Corresponds to the JSON property `rolloutOperation`
41350
+ # @return [Google::Apis::ComputeAlpha::PreviewFeatureRolloutOperation]
41351
+ attr_accessor :rollout_operation
41352
+
41353
+ # [Output Only] Server-defined URL for the resource.
41354
+ # Corresponds to the JSON property `selfLink`
41355
+ # @return [String]
41356
+ attr_accessor :self_link
41357
+
41358
+ # [Output Only] The status of the feature.
41359
+ # Corresponds to the JSON property `status`
41360
+ # @return [Google::Apis::ComputeAlpha::PreviewFeatureStatus]
41361
+ attr_accessor :status
41362
+
41363
+ def initialize(**args)
41364
+ update!(**args)
41365
+ end
41366
+
41367
+ # Update properties of this object
41368
+ def update!(**args)
41369
+ @activation_status = args[:activation_status] if args.key?(:activation_status)
41370
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
41371
+ @description = args[:description] if args.key?(:description)
41372
+ @id = args[:id] if args.key?(:id)
41373
+ @kind = args[:kind] if args.key?(:kind)
41374
+ @name = args[:name] if args.key?(:name)
41375
+ @rollout_operation = args[:rollout_operation] if args.key?(:rollout_operation)
41376
+ @self_link = args[:self_link] if args.key?(:self_link)
41377
+ @status = args[:status] if args.key?(:status)
41378
+ end
41379
+ end
41380
+
41381
+ #
41382
+ class PreviewFeatureList
41383
+ include Google::Apis::Core::Hashable
41384
+
41385
+ #
41386
+ # Corresponds to the JSON property `etag`
41387
+ # @return [String]
41388
+ attr_accessor :etag
41389
+
41390
+ # [Output Only] Unique identifier for the resource; defined by the server.
41391
+ # Corresponds to the JSON property `id`
41392
+ # @return [String]
41393
+ attr_accessor :id
41394
+
41395
+ # A list of PreviewFeature resources.
41396
+ # Corresponds to the JSON property `items`
41397
+ # @return [Array<Google::Apis::ComputeAlpha::PreviewFeature>]
41398
+ attr_accessor :items
41399
+
41400
+ # [Output Only] This token allows you to get the next page of results for list
41401
+ # requests. If the number of results is larger than maxResults, use the
41402
+ # nextPageToken as a value for the query parameter pageToken in the next list
41403
+ # request. Subsequent list requests will have their own nextPageToken to
41404
+ # continue paging through the results.
41405
+ # Corresponds to the JSON property `nextPageToken`
41406
+ # @return [String]
41407
+ attr_accessor :next_page_token
41408
+
41409
+ # [Output Only] Server-defined URL for this resource.
41410
+ # Corresponds to the JSON property `selfLink`
41411
+ # @return [String]
41412
+ attr_accessor :self_link
41413
+
41414
+ # [Output Only] Unreachable resources. end_interface:
41415
+ # MixerListResponseWithEtagBuilder
41416
+ # Corresponds to the JSON property `unreachables`
41417
+ # @return [Array<String>]
41418
+ attr_accessor :unreachables
41419
+
41420
+ # [Output Only] Informational warning message.
41421
+ # Corresponds to the JSON property `warning`
41422
+ # @return [Google::Apis::ComputeAlpha::PreviewFeatureList::Warning]
41423
+ attr_accessor :warning
41424
+
41425
+ def initialize(**args)
41426
+ update!(**args)
41427
+ end
41428
+
41429
+ # Update properties of this object
41430
+ def update!(**args)
41431
+ @etag = args[:etag] if args.key?(:etag)
41432
+ @id = args[:id] if args.key?(:id)
41433
+ @items = args[:items] if args.key?(:items)
41434
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
41435
+ @self_link = args[:self_link] if args.key?(:self_link)
41436
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
41437
+ @warning = args[:warning] if args.key?(:warning)
41438
+ end
41439
+
41440
+ # [Output Only] Informational warning message.
41441
+ class Warning
41442
+ include Google::Apis::Core::Hashable
41443
+
41444
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
41445
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
41446
+ # Corresponds to the JSON property `code`
41447
+ # @return [String]
41448
+ attr_accessor :code
41449
+
41450
+ # [Output Only] Metadata about this warning in key: value format. For example: "
41451
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
41452
+ # Corresponds to the JSON property `data`
41453
+ # @return [Array<Google::Apis::ComputeAlpha::PreviewFeatureList::Warning::Datum>]
41454
+ attr_accessor :data
41455
+
41456
+ # [Output Only] A human-readable description of the warning code.
41457
+ # Corresponds to the JSON property `message`
41458
+ # @return [String]
41459
+ attr_accessor :message
41460
+
41461
+ def initialize(**args)
41462
+ update!(**args)
41463
+ end
41464
+
41465
+ # Update properties of this object
41466
+ def update!(**args)
41467
+ @code = args[:code] if args.key?(:code)
41468
+ @data = args[:data] if args.key?(:data)
41469
+ @message = args[:message] if args.key?(:message)
41470
+ end
41471
+
41472
+ #
41473
+ class Datum
41474
+ include Google::Apis::Core::Hashable
41475
+
41476
+ # [Output Only] A key that provides more detail on the warning being returned.
41477
+ # For example, for warnings where there are no results in a list request for a
41478
+ # particular zone, this key might be scope and the key value might be the zone
41479
+ # name. Other examples might be a key indicating a deprecated resource and a
41480
+ # suggested replacement, or a warning about invalid network settings (for
41481
+ # example, if an instance attempts to perform IP forwarding but is not enabled
41482
+ # for IP forwarding).
41483
+ # Corresponds to the JSON property `key`
41484
+ # @return [String]
41485
+ attr_accessor :key
41486
+
41487
+ # [Output Only] A warning data value corresponding to the key.
41488
+ # Corresponds to the JSON property `value`
41489
+ # @return [String]
41490
+ attr_accessor :value
41491
+
41492
+ def initialize(**args)
41493
+ update!(**args)
41494
+ end
41495
+
41496
+ # Update properties of this object
41497
+ def update!(**args)
41498
+ @key = args[:key] if args.key?(:key)
41499
+ @value = args[:value] if args.key?(:value)
41500
+ end
41501
+ end
41502
+ end
41503
+ end
41504
+
41505
+ # Represents the rollout operation
41506
+ class PreviewFeatureRolloutOperation
41507
+ include Google::Apis::Core::Hashable
41508
+
41509
+ #
41510
+ # Corresponds to the JSON property `rolloutInput`
41511
+ # @return [Google::Apis::ComputeAlpha::PreviewFeatureRolloutOperationRolloutInput]
41512
+ attr_accessor :rollout_input
41513
+
41514
+ #
41515
+ # Corresponds to the JSON property `rolloutStatus`
41516
+ # @return [Google::Apis::ComputeAlpha::PreviewFeatureRolloutOperationRolloutStatus]
41517
+ attr_accessor :rollout_status
41518
+
41519
+ def initialize(**args)
41520
+ update!(**args)
41521
+ end
41522
+
41523
+ # Update properties of this object
41524
+ def update!(**args)
41525
+ @rollout_input = args[:rollout_input] if args.key?(:rollout_input)
41526
+ @rollout_status = args[:rollout_status] if args.key?(:rollout_status)
41527
+ end
41528
+ end
41529
+
41530
+ #
41531
+ class PreviewFeatureRolloutOperationRolloutInput
41532
+ include Google::Apis::Core::Hashable
41533
+
41534
+ # The name of the rollout plan Ex. organizations//locations/global/rolloutPlans/
41535
+ # Ex. folders//locations/global/rolloutPlans/ Ex. projects//locations/global/
41536
+ # rolloutPlans/.
41537
+ # Corresponds to the JSON property `name`
41538
+ # @return [String]
41539
+ attr_accessor :name
41540
+
41541
+ # Predefined rollout plan.
41542
+ # Corresponds to the JSON property `predefinedRolloutPlan`
41543
+ # @return [String]
41544
+ attr_accessor :predefined_rollout_plan
41545
+
41546
+ # The UUID of the retry action. Only needed if this is a retry for an existing
41547
+ # rollout. This can be used after the user canceled a rollout and want to retry
41548
+ # it with no changes.
41549
+ # Corresponds to the JSON property `retryUuid`
41550
+ # @return [String]
41551
+ attr_accessor :retry_uuid
41552
+
41553
+ def initialize(**args)
41554
+ update!(**args)
41555
+ end
41556
+
41557
+ # Update properties of this object
41558
+ def update!(**args)
41559
+ @name = args[:name] if args.key?(:name)
41560
+ @predefined_rollout_plan = args[:predefined_rollout_plan] if args.key?(:predefined_rollout_plan)
41561
+ @retry_uuid = args[:retry_uuid] if args.key?(:retry_uuid)
41562
+ end
41563
+ end
41564
+
41565
+ #
41566
+ class PreviewFeatureRolloutOperationRolloutStatus
41567
+ include Google::Apis::Core::Hashable
41568
+
41569
+ # Output only. The ongoing rollout resources. There can be multiple ongoing
41570
+ # rollouts for a resource.
41571
+ # Corresponds to the JSON property `ongoingRollouts`
41572
+ # @return [Array<Google::Apis::ComputeAlpha::PreviewFeatureRolloutOperationRolloutStatusRolloutMetadata>]
41573
+ attr_accessor :ongoing_rollouts
41574
+
41575
+ # Output only. The last completed rollout resource. This field will not be
41576
+ # populated until the first rollout is completed.
41577
+ # Corresponds to the JSON property `previousRollout`
41578
+ # @return [Google::Apis::ComputeAlpha::PreviewFeatureRolloutOperationRolloutStatusRolloutMetadata]
41579
+ attr_accessor :previous_rollout
41580
+
41581
+ def initialize(**args)
41582
+ update!(**args)
41583
+ end
41584
+
41585
+ # Update properties of this object
41586
+ def update!(**args)
41587
+ @ongoing_rollouts = args[:ongoing_rollouts] if args.key?(:ongoing_rollouts)
41588
+ @previous_rollout = args[:previous_rollout] if args.key?(:previous_rollout)
41589
+ end
41590
+ end
41591
+
41592
+ #
41593
+ class PreviewFeatureRolloutOperationRolloutStatusRolloutMetadata
41594
+ include Google::Apis::Core::Hashable
41595
+
41596
+ # The name of the rollout Ex. organizations//locations/global/rollouts/ Ex.
41597
+ # folders//locations/global/rollouts/ Ex. projects//locations/global/rollouts/.
41598
+ # Corresponds to the JSON property `rollout`
41599
+ # @return [String]
41600
+ attr_accessor :rollout
41601
+
41602
+ # The name of the rollout plan Ex. organizations//locations/global/rolloutPlans/
41603
+ # Ex. folders//locations/global/rolloutPlans/ Ex. projects//locations/global/
41604
+ # rolloutPlans/.
41605
+ # Corresponds to the JSON property `rolloutPlan`
41606
+ # @return [String]
41607
+ attr_accessor :rollout_plan
41608
+
41609
+ # [Output Only] The status of the feature.
41610
+ # Corresponds to the JSON property `status`
41611
+ # @return [Google::Apis::ComputeAlpha::PreviewFeatureStatus]
41612
+ attr_accessor :status
41613
+
41614
+ def initialize(**args)
41615
+ update!(**args)
41616
+ end
41617
+
41618
+ # Update properties of this object
41619
+ def update!(**args)
41620
+ @rollout = args[:rollout] if args.key?(:rollout)
41621
+ @rollout_plan = args[:rollout_plan] if args.key?(:rollout_plan)
41622
+ @status = args[:status] if args.key?(:status)
41623
+ end
41624
+ end
41625
+
41626
+ # [Output Only] The status of the feature.
41627
+ class PreviewFeatureStatus
41628
+ include Google::Apis::Core::Hashable
41629
+
41630
+ # [Output Only] The description of the feature.
41631
+ # Corresponds to the JSON property `description`
41632
+ # @return [String]
41633
+ attr_accessor :description
41634
+
41635
+ # [Output Only] Link to the public documentation for the feature.
41636
+ # Corresponds to the JSON property `helpLink`
41637
+ # @return [String]
41638
+ attr_accessor :help_link
41639
+
41640
+ #
41641
+ # Corresponds to the JSON property `releaseStatus`
41642
+ # @return [Google::Apis::ComputeAlpha::PreviewFeatureStatusReleaseStatus]
41643
+ attr_accessor :release_status
41644
+
41645
+ def initialize(**args)
41646
+ update!(**args)
41647
+ end
41648
+
41649
+ # Update properties of this object
41650
+ def update!(**args)
41651
+ @description = args[:description] if args.key?(:description)
41652
+ @help_link = args[:help_link] if args.key?(:help_link)
41653
+ @release_status = args[:release_status] if args.key?(:release_status)
41654
+ end
41655
+ end
41656
+
41657
+ #
41658
+ class PreviewFeatureStatusReleaseStatus
41659
+ include Google::Apis::Core::Hashable
41660
+
41661
+ # [Output Only] The stage of the feature.
41662
+ # Corresponds to the JSON property `stage`
41663
+ # @return [String]
41664
+ attr_accessor :stage
41665
+
41666
+ # Represents a whole or partial calendar date, such as a birthday. The time of
41667
+ # day and time zone are either specified elsewhere or are insignificant. The
41668
+ # date is relative to the Gregorian Calendar. This can represent one of the
41669
+ # following: * A full date, with non-zero year, month, and day values. * A month
41670
+ # and day, with a zero year (for example, an anniversary). * A year on its own,
41671
+ # with a zero month and a zero day. * A year and month, with a zero day (for
41672
+ # example, a credit card expiration date). Related types: * google.type.
41673
+ # TimeOfDay * google.type.DateTime * google.protobuf.Timestamp
41674
+ # Corresponds to the JSON property `updateDate`
41675
+ # @return [Google::Apis::ComputeAlpha::Date]
41676
+ attr_accessor :update_date
41677
+
41678
+ def initialize(**args)
41679
+ update!(**args)
41680
+ end
41681
+
41682
+ # Update properties of this object
41683
+ def update!(**args)
41684
+ @stage = args[:stage] if args.key?(:stage)
41685
+ @update_date = args[:update_date] if args.key?(:update_date)
41686
+ end
41687
+ end
41688
+
40911
41689
  # [Deprecated] All fields defined in a principal are ANDed.
40912
41690
  class Principal
40913
41691
  include Google::Apis::Core::Hashable
@@ -45292,6 +46070,12 @@ module Google
45292
46070
  # @return [String]
45293
46071
  attr_accessor :description
45294
46072
 
46073
+ # Indicates if this group of VMs have emergent maintenance enabled.
46074
+ # Corresponds to the JSON property `enableEmergentMaintenance`
46075
+ # @return [Boolean]
46076
+ attr_accessor :enable_emergent_maintenance
46077
+ alias_method :enable_emergent_maintenance?, :enable_emergent_maintenance
46078
+
45295
46079
  # [Output Only] The unique identifier for the resource. This identifier is
45296
46080
  # defined by the server.
45297
46081
  # Corresponds to the JSON property `id`
@@ -45304,6 +46088,12 @@ module Google
45304
46088
  # @return [String]
45305
46089
  attr_accessor :kind
45306
46090
 
46091
+ # [Output Only] Full or partial URL to parent commitments. This field displays
46092
+ # for reservations that are tied to multiple commitments.
46093
+ # Corresponds to the JSON property `linkedCommitments`
46094
+ # @return [Array<String>]
46095
+ attr_accessor :linked_commitments
46096
+
45307
46097
  # The name of the resource, provided by the client when initially creating the
45308
46098
  # resource. The resource name must be 1-63 characters long, and comply with
45309
46099
  # RFC1035. Specifically, the name must be 1-63 characters long and match the
@@ -45399,8 +46189,10 @@ module Google
45399
46189
  @delete_at_time = args[:delete_at_time] if args.key?(:delete_at_time)
45400
46190
  @deployment_type = args[:deployment_type] if args.key?(:deployment_type)
45401
46191
  @description = args[:description] if args.key?(:description)
46192
+ @enable_emergent_maintenance = args[:enable_emergent_maintenance] if args.key?(:enable_emergent_maintenance)
45402
46193
  @id = args[:id] if args.key?(:id)
45403
46194
  @kind = args[:kind] if args.key?(:kind)
46195
+ @linked_commitments = args[:linked_commitments] if args.key?(:linked_commitments)
45404
46196
  @name = args[:name] if args.key?(:name)
45405
46197
  @reservation_mode = args[:reservation_mode] if args.key?(:reservation_mode)
45406
46198
  @reservation_sharing_policy = args[:reservation_sharing_policy] if args.key?(:reservation_sharing_policy)
@@ -45636,6 +46428,19 @@ module Google
45636
46428
  # @return [Google::Apis::ComputeAlpha::GroupMaintenanceInfo]
45637
46429
  attr_accessor :reservation_maintenance
45638
46430
 
46431
+ # [Output Only] The number of reservation subBlocks associated with this
46432
+ # reservation block.
46433
+ # Corresponds to the JSON property `reservationSubBlockCount`
46434
+ # @return [Fixnum]
46435
+ attr_accessor :reservation_sub_block_count
46436
+
46437
+ # [Output Only] The number of in-use reservation subBlocks associated with this
46438
+ # reservation block. If at least one VM is running on a subBlock, it is
46439
+ # considered in-use.
46440
+ # Corresponds to the JSON property `reservationSubBlockInUseCount`
46441
+ # @return [Fixnum]
46442
+ attr_accessor :reservation_sub_block_in_use_count
46443
+
45639
46444
  # [Output Only] Server-defined fully-qualified URL for this resource.
45640
46445
  # Corresponds to the JSON property `selfLink`
45641
46446
  # @return [String]
@@ -45671,6 +46476,8 @@ module Google
45671
46476
  @name = args[:name] if args.key?(:name)
45672
46477
  @physical_topology = args[:physical_topology] if args.key?(:physical_topology)
45673
46478
  @reservation_maintenance = args[:reservation_maintenance] if args.key?(:reservation_maintenance)
46479
+ @reservation_sub_block_count = args[:reservation_sub_block_count] if args.key?(:reservation_sub_block_count)
46480
+ @reservation_sub_block_in_use_count = args[:reservation_sub_block_in_use_count] if args.key?(:reservation_sub_block_in_use_count)
45674
46481
  @self_link = args[:self_link] if args.key?(:self_link)
45675
46482
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
45676
46483
  @status = args[:status] if args.key?(:status)
@@ -45840,44 +46647,297 @@ module Google
45840
46647
  end
45841
46648
  end
45842
46649
 
45843
- #
45844
- class ReservationList
46650
+ #
46651
+ class ReservationList
46652
+ include Google::Apis::Core::Hashable
46653
+
46654
+ # [Output Only] The unique identifier for the resource. This identifier is
46655
+ # defined by the server.
46656
+ # Corresponds to the JSON property `id`
46657
+ # @return [String]
46658
+ attr_accessor :id
46659
+
46660
+ # [Output Only] A list of Allocation resources.
46661
+ # Corresponds to the JSON property `items`
46662
+ # @return [Array<Google::Apis::ComputeAlpha::Reservation>]
46663
+ attr_accessor :items
46664
+
46665
+ # [Output Only] Type of resource.Always compute#reservationsList for listsof
46666
+ # reservations
46667
+ # Corresponds to the JSON property `kind`
46668
+ # @return [String]
46669
+ attr_accessor :kind
46670
+
46671
+ # [Output Only] This token allows you to get the next page of results for list
46672
+ # requests. If the number of results is larger than maxResults, use the
46673
+ # nextPageToken as a value for the query parameter pageToken in the next list
46674
+ # request. Subsequent list requests will have their own nextPageToken to
46675
+ # continue paging through the results.
46676
+ # Corresponds to the JSON property `nextPageToken`
46677
+ # @return [String]
46678
+ attr_accessor :next_page_token
46679
+
46680
+ # [Output Only] Server-defined URL for this resource.
46681
+ # Corresponds to the JSON property `selfLink`
46682
+ # @return [String]
46683
+ attr_accessor :self_link
46684
+
46685
+ # [Output Only] Informational warning message.
46686
+ # Corresponds to the JSON property `warning`
46687
+ # @return [Google::Apis::ComputeAlpha::ReservationList::Warning]
46688
+ attr_accessor :warning
46689
+
46690
+ def initialize(**args)
46691
+ update!(**args)
46692
+ end
46693
+
46694
+ # Update properties of this object
46695
+ def update!(**args)
46696
+ @id = args[:id] if args.key?(:id)
46697
+ @items = args[:items] if args.key?(:items)
46698
+ @kind = args[:kind] if args.key?(:kind)
46699
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
46700
+ @self_link = args[:self_link] if args.key?(:self_link)
46701
+ @warning = args[:warning] if args.key?(:warning)
46702
+ end
46703
+
46704
+ # [Output Only] Informational warning message.
46705
+ class Warning
46706
+ include Google::Apis::Core::Hashable
46707
+
46708
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
46709
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
46710
+ # Corresponds to the JSON property `code`
46711
+ # @return [String]
46712
+ attr_accessor :code
46713
+
46714
+ # [Output Only] Metadata about this warning in key: value format. For example: "
46715
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
46716
+ # Corresponds to the JSON property `data`
46717
+ # @return [Array<Google::Apis::ComputeAlpha::ReservationList::Warning::Datum>]
46718
+ attr_accessor :data
46719
+
46720
+ # [Output Only] A human-readable description of the warning code.
46721
+ # Corresponds to the JSON property `message`
46722
+ # @return [String]
46723
+ attr_accessor :message
46724
+
46725
+ def initialize(**args)
46726
+ update!(**args)
46727
+ end
46728
+
46729
+ # Update properties of this object
46730
+ def update!(**args)
46731
+ @code = args[:code] if args.key?(:code)
46732
+ @data = args[:data] if args.key?(:data)
46733
+ @message = args[:message] if args.key?(:message)
46734
+ end
46735
+
46736
+ #
46737
+ class Datum
46738
+ include Google::Apis::Core::Hashable
46739
+
46740
+ # [Output Only] A key that provides more detail on the warning being returned.
46741
+ # For example, for warnings where there are no results in a list request for a
46742
+ # particular zone, this key might be scope and the key value might be the zone
46743
+ # name. Other examples might be a key indicating a deprecated resource and a
46744
+ # suggested replacement, or a warning about invalid network settings (for
46745
+ # example, if an instance attempts to perform IP forwarding but is not enabled
46746
+ # for IP forwarding).
46747
+ # Corresponds to the JSON property `key`
46748
+ # @return [String]
46749
+ attr_accessor :key
46750
+
46751
+ # [Output Only] A warning data value corresponding to the key.
46752
+ # Corresponds to the JSON property `value`
46753
+ # @return [String]
46754
+ attr_accessor :value
46755
+
46756
+ def initialize(**args)
46757
+ update!(**args)
46758
+ end
46759
+
46760
+ # Update properties of this object
46761
+ def update!(**args)
46762
+ @key = args[:key] if args.key?(:key)
46763
+ @value = args[:value] if args.key?(:value)
46764
+ end
46765
+ end
46766
+ end
46767
+ end
46768
+
46769
+ # Represents a reservation subBlock resource.
46770
+ class ReservationSubBlock
45845
46771
  include Google::Apis::Core::Hashable
45846
46772
 
46773
+ # [Output Only] The number of hosts that are allocated in this reservation
46774
+ # subBlock.
46775
+ # Corresponds to the JSON property `count`
46776
+ # @return [Fixnum]
46777
+ attr_accessor :count
46778
+
46779
+ # [Output Only] Creation timestamp in RFC3339 text format.
46780
+ # Corresponds to the JSON property `creationTimestamp`
46781
+ # @return [String]
46782
+ attr_accessor :creation_timestamp
46783
+
45847
46784
  # [Output Only] The unique identifier for the resource. This identifier is
45848
46785
  # defined by the server.
45849
46786
  # Corresponds to the JSON property `id`
46787
+ # @return [Fixnum]
46788
+ attr_accessor :id
46789
+
46790
+ # [Output Only] The number of instances that are currently in use on this
46791
+ # reservation subBlock.
46792
+ # Corresponds to the JSON property `inUseCount`
46793
+ # @return [Fixnum]
46794
+ attr_accessor :in_use_count
46795
+
46796
+ # [Output Only] Type of the resource. Always compute#reservationSubBlock for
46797
+ # reservation subBlocks.
46798
+ # Corresponds to the JSON property `kind`
46799
+ # @return [String]
46800
+ attr_accessor :kind
46801
+
46802
+ # [Output Only] The name of this reservation subBlock generated by Google
46803
+ # Compute Engine. The name must be 1-63 characters long, and comply with RFC1035
46804
+ # @pattern [a-z](?:[-a-z0-9]`0,61`[a-z0-9])?
46805
+ # Corresponds to the JSON property `name`
46806
+ # @return [String]
46807
+ attr_accessor :name
46808
+
46809
+ # [Output Only] The physical topology of the reservation subBlock.
46810
+ # Corresponds to the JSON property `physicalTopology`
46811
+ # @return [Google::Apis::ComputeAlpha::ReservationSubBlockPhysicalTopology]
46812
+ attr_accessor :physical_topology
46813
+
46814
+ # [Output Only] Server-defined fully-qualified URL for this resource.
46815
+ # Corresponds to the JSON property `selfLink`
46816
+ # @return [String]
46817
+ attr_accessor :self_link
46818
+
46819
+ # [Output Only] Server-defined URL for this resource with the resource id.
46820
+ # Corresponds to the JSON property `selfLinkWithId`
46821
+ # @return [String]
46822
+ attr_accessor :self_link_with_id
46823
+
46824
+ # [Output Only] Status of the reservation subBlock.
46825
+ # Corresponds to the JSON property `status`
46826
+ # @return [String]
46827
+ attr_accessor :status
46828
+
46829
+ # [Output Only] Zone in which the reservation subBlock resides.
46830
+ # Corresponds to the JSON property `zone`
46831
+ # @return [String]
46832
+ attr_accessor :zone
46833
+
46834
+ def initialize(**args)
46835
+ update!(**args)
46836
+ end
46837
+
46838
+ # Update properties of this object
46839
+ def update!(**args)
46840
+ @count = args[:count] if args.key?(:count)
46841
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
46842
+ @id = args[:id] if args.key?(:id)
46843
+ @in_use_count = args[:in_use_count] if args.key?(:in_use_count)
46844
+ @kind = args[:kind] if args.key?(:kind)
46845
+ @name = args[:name] if args.key?(:name)
46846
+ @physical_topology = args[:physical_topology] if args.key?(:physical_topology)
46847
+ @self_link = args[:self_link] if args.key?(:self_link)
46848
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
46849
+ @status = args[:status] if args.key?(:status)
46850
+ @zone = args[:zone] if args.key?(:zone)
46851
+ end
46852
+ end
46853
+
46854
+ #
46855
+ class ReservationSubBlockPhysicalTopology
46856
+ include Google::Apis::Core::Hashable
46857
+
46858
+ # The hash of the capacity block within the cluster.
46859
+ # Corresponds to the JSON property `block`
46860
+ # @return [String]
46861
+ attr_accessor :block
46862
+
46863
+ # The cluster name of the reservation subBlock.
46864
+ # Corresponds to the JSON property `cluster`
46865
+ # @return [String]
46866
+ attr_accessor :cluster
46867
+
46868
+ # The hash of the capacity sub-block within the capacity block.
46869
+ # Corresponds to the JSON property `subBlock`
46870
+ # @return [String]
46871
+ attr_accessor :sub_block
46872
+
46873
+ def initialize(**args)
46874
+ update!(**args)
46875
+ end
46876
+
46877
+ # Update properties of this object
46878
+ def update!(**args)
46879
+ @block = args[:block] if args.key?(:block)
46880
+ @cluster = args[:cluster] if args.key?(:cluster)
46881
+ @sub_block = args[:sub_block] if args.key?(:sub_block)
46882
+ end
46883
+ end
46884
+
46885
+ #
46886
+ class ReservationSubBlocksGetResponse
46887
+ include Google::Apis::Core::Hashable
46888
+
46889
+ # Represents a reservation subBlock resource.
46890
+ # Corresponds to the JSON property `resource`
46891
+ # @return [Google::Apis::ComputeAlpha::ReservationSubBlock]
46892
+ attr_accessor :resource
46893
+
46894
+ def initialize(**args)
46895
+ update!(**args)
46896
+ end
46897
+
46898
+ # Update properties of this object
46899
+ def update!(**args)
46900
+ @resource = args[:resource] if args.key?(:resource)
46901
+ end
46902
+ end
46903
+
46904
+ # A list of reservation subBlocks under a single reservation.
46905
+ class ReservationSubBlocksListResponse
46906
+ include Google::Apis::Core::Hashable
46907
+
46908
+ # Unique identifier for the resource; defined by the server.
46909
+ # Corresponds to the JSON property `id`
45850
46910
  # @return [String]
45851
46911
  attr_accessor :id
45852
46912
 
45853
- # [Output Only] A list of Allocation resources.
46913
+ # A list of reservation subBlock resources.
45854
46914
  # Corresponds to the JSON property `items`
45855
- # @return [Array<Google::Apis::ComputeAlpha::Reservation>]
46915
+ # @return [Array<Google::Apis::ComputeAlpha::ReservationSubBlock>]
45856
46916
  attr_accessor :items
45857
46917
 
45858
- # [Output Only] Type of resource.Always compute#reservationsList for listsof
45859
- # reservations
46918
+ # Type of the resource. Always compute#reservationSubBlock for a list of
46919
+ # reservation subBlocks.
45860
46920
  # Corresponds to the JSON property `kind`
45861
46921
  # @return [String]
45862
46922
  attr_accessor :kind
45863
46923
 
45864
- # [Output Only] This token allows you to get the next page of results for list
45865
- # requests. If the number of results is larger than maxResults, use the
45866
- # nextPageToken as a value for the query parameter pageToken in the next list
45867
- # request. Subsequent list requests will have their own nextPageToken to
45868
- # continue paging through the results.
46924
+ # This token allows you to get the next page of results for list requests. If
46925
+ # the number of results is larger than maxResults, use the nextPageToken as a
46926
+ # value for the query parameter pageToken in the next list request. Subsequent
46927
+ # list requests will have their own nextPageToken to continue paging through the
46928
+ # results.
45869
46929
  # Corresponds to the JSON property `nextPageToken`
45870
46930
  # @return [String]
45871
46931
  attr_accessor :next_page_token
45872
46932
 
45873
- # [Output Only] Server-defined URL for this resource.
46933
+ # Server-defined URL for this resource.
45874
46934
  # Corresponds to the JSON property `selfLink`
45875
46935
  # @return [String]
45876
46936
  attr_accessor :self_link
45877
46937
 
45878
- # [Output Only] Informational warning message.
46938
+ # Informational warning message.
45879
46939
  # Corresponds to the JSON property `warning`
45880
- # @return [Google::Apis::ComputeAlpha::ReservationList::Warning]
46940
+ # @return [Google::Apis::ComputeAlpha::ReservationSubBlocksListResponse::Warning]
45881
46941
  attr_accessor :warning
45882
46942
 
45883
46943
  def initialize(**args)
@@ -45894,7 +46954,7 @@ module Google
45894
46954
  @warning = args[:warning] if args.key?(:warning)
45895
46955
  end
45896
46956
 
45897
- # [Output Only] Informational warning message.
46957
+ # Informational warning message.
45898
46958
  class Warning
45899
46959
  include Google::Apis::Core::Hashable
45900
46960
 
@@ -45907,7 +46967,7 @@ module Google
45907
46967
  # [Output Only] Metadata about this warning in key: value format. For example: "
45908
46968
  # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
45909
46969
  # Corresponds to the JSON property `data`
45910
- # @return [Array<Google::Apis::ComputeAlpha::ReservationList::Warning::Datum>]
46970
+ # @return [Array<Google::Apis::ComputeAlpha::ReservationSubBlocksListResponse::Warning::Datum>]
45911
46971
  attr_accessor :data
45912
46972
 
45913
46973
  # [Output Only] A human-readable description of the warning code.
@@ -47841,8 +48901,9 @@ module Google
47841
48901
  attr_accessor :next_hop_inter_region_cost
47842
48902
 
47843
48903
  # [Output Only] The URL to an InterconnectAttachment which is the next hop for
47844
- # the route. This field will only be populated for the dynamic routes generated
47845
- # by Cloud Router with a linked interconnectAttachment.
48904
+ # the route. This field will only be populated for dynamic routes generated by
48905
+ # Cloud Router with a linked interconnectAttachment or the static route
48906
+ # generated by each L2 Interconnect Attachment.
47846
48907
  # Corresponds to the JSON property `nextHopInterconnectAttachment`
47847
48908
  # @return [String]
47848
48909
  attr_accessor :next_hop_interconnect_attachment
@@ -47885,6 +48946,11 @@ module Google
47885
48946
  # @return [String]
47886
48947
  attr_accessor :next_hop_vpn_tunnel
47887
48948
 
48949
+ # Additional route parameters.
48950
+ # Corresponds to the JSON property `params`
48951
+ # @return [Google::Apis::ComputeAlpha::RouteParams]
48952
+ attr_accessor :params
48953
+
47888
48954
  # The priority of this route. Priority is used to break ties in cases where
47889
48955
  # there is more than one matching route of equal prefix length. In cases where
47890
48956
  # multiple routes have equal prefix length, the one with the lowest-numbered
@@ -47957,6 +49023,7 @@ module Google
47957
49023
  @next_hop_origin = args[:next_hop_origin] if args.key?(:next_hop_origin)
47958
49024
  @next_hop_peering = args[:next_hop_peering] if args.key?(:next_hop_peering)
47959
49025
  @next_hop_vpn_tunnel = args[:next_hop_vpn_tunnel] if args.key?(:next_hop_vpn_tunnel)
49026
+ @params = args[:params] if args.key?(:params)
47960
49027
  @priority = args[:priority] if args.key?(:priority)
47961
49028
  @route_status = args[:route_status] if args.key?(:route_status)
47962
49029
  @route_type = args[:route_type] if args.key?(:route_type)
@@ -48179,6 +49246,32 @@ module Google
48179
49246
  end
48180
49247
  end
48181
49248
 
49249
+ # Additional route parameters.
49250
+ class RouteParams
49251
+ include Google::Apis::Core::Hashable
49252
+
49253
+ # Tag keys/values directly bound to this resource. Tag keys and values have the
49254
+ # same definition as resource manager tags. The field is allowed for INSERT only.
49255
+ # The keys/values to set on the resource should be specified in either ID ` : `
49256
+ # or Namespaced format ` : `. For example the following are valid inputs: * `"
49257
+ # tagKeys/333" : "tagValues/444", "tagKeys/123" : "tagValues/456"` * `"123/
49258
+ # environment" : "production", "345/abc" : "xyz"` Note: * Invalid combinations
49259
+ # of ID & namespaced format is not supported. For instance: `"123/environment" :
49260
+ # "tagValues/444"` is invalid.
49261
+ # Corresponds to the JSON property `resourceManagerTags`
49262
+ # @return [Hash<String,String>]
49263
+ attr_accessor :resource_manager_tags
49264
+
49265
+ def initialize(**args)
49266
+ update!(**args)
49267
+ end
49268
+
49269
+ # Update properties of this object
49270
+ def update!(**args)
49271
+ @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
49272
+ end
49273
+ end
49274
+
48182
49275
  #
48183
49276
  class RoutePolicy
48184
49277
  include Google::Apis::Core::Hashable
@@ -53515,6 +54608,12 @@ module Google
53515
54608
  # @return [String]
53516
54609
  attr_accessor :endpoint
53517
54610
 
54611
+ # NAT IPs of the connected PSC endpoint and those of other endpoints propagated
54612
+ # from it.
54613
+ # Corresponds to the JSON property `natIps`
54614
+ # @return [Array<String>]
54615
+ attr_accessor :nat_ips
54616
+
53518
54617
  # The number of consumer Network Connectivity Center spokes that the connected
53519
54618
  # Private Service Connect endpoint has propagated to.
53520
54619
  # Corresponds to the JSON property `propagatedConnectionCount`
@@ -53539,6 +54638,7 @@ module Google
53539
54638
  def update!(**args)
53540
54639
  @consumer_network = args[:consumer_network] if args.key?(:consumer_network)
53541
54640
  @endpoint = args[:endpoint] if args.key?(:endpoint)
54641
+ @nat_ips = args[:nat_ips] if args.key?(:nat_ips)
53542
54642
  @propagated_connection_count = args[:propagated_connection_count] if args.key?(:propagated_connection_count)
53543
54643
  @psc_connection_id = args[:psc_connection_id] if args.key?(:psc_connection_id)
53544
54644
  @status = args[:status] if args.key?(:status)
@@ -54268,7 +55368,7 @@ module Google
54268
55368
 
54269
55369
  # Represents a Persistent Disk Snapshot resource. You can use snapshots to back
54270
55370
  # up data on a regular interval. For more information, read Creating persistent
54271
- # disk snapshots.
55371
+ # disk snapshots. LINT.IfChange
54272
55372
  class Snapshot
54273
55373
  include Google::Apis::Core::Hashable
54274
55374
 
@@ -54827,6 +55927,44 @@ module Google
54827
55927
  end
54828
55928
  end
54829
55929
 
55930
+ #
55931
+ class SnapshotGroupParameters
55932
+ include Google::Apis::Core::Hashable
55933
+
55934
+ # URLs of the zones where disks should be replicated to. Only applicable for
55935
+ # regional resources.
55936
+ # Corresponds to the JSON property `replicaZones`
55937
+ # @return [Array<String>]
55938
+ attr_accessor :replica_zones
55939
+
55940
+ # The source snapshot group used to create disks. You can provide this as a
55941
+ # partial or full URL to the resource. For example, the following are valid
55942
+ # values: - https://www.googleapis.com/compute/v1/projects/project /global/
55943
+ # snapshotGroups/snapshotGroup - projects/project/global/snapshotGroups/
55944
+ # snapshotGroup - global/snapshotGroups/snapshotGroup
55945
+ # Corresponds to the JSON property `sourceSnapshotGroup`
55946
+ # @return [String]
55947
+ attr_accessor :source_snapshot_group
55948
+
55949
+ # URL of the disk type resource describing which disk type to use to create
55950
+ # disks. Provide this when creating the disk. For example: projects/project /
55951
+ # zones/zone/diskTypes/pd-ssd . See Persistent disk types.
55952
+ # Corresponds to the JSON property `type`
55953
+ # @return [String]
55954
+ attr_accessor :type
55955
+
55956
+ def initialize(**args)
55957
+ update!(**args)
55958
+ end
55959
+
55960
+ # Update properties of this object
55961
+ def update!(**args)
55962
+ @replica_zones = args[:replica_zones] if args.key?(:replica_zones)
55963
+ @source_snapshot_group = args[:source_snapshot_group] if args.key?(:source_snapshot_group)
55964
+ @type = args[:type] if args.key?(:type)
55965
+ end
55966
+ end
55967
+
54830
55968
  #
54831
55969
  class SnapshotGroupSourceInfo
54832
55970
  include Google::Apis::Core::Hashable
@@ -58147,6 +59285,11 @@ module Google
58147
59285
  # @return [String]
58148
59286
  attr_accessor :network
58149
59287
 
59288
+ # Additional subnetwork parameters.
59289
+ # Corresponds to the JSON property `params`
59290
+ # @return [Google::Apis::ComputeAlpha::SubnetworkParams]
59291
+ attr_accessor :params
59292
+
58150
59293
  # Whether the VMs in this subnet can access Google services without assigned
58151
59294
  # external IP addresses. This field can be both set at resource creation time
58152
59295
  # and updated using setPrivateIpGoogleAccess.
@@ -58161,20 +59304,7 @@ module Google
58161
59304
  # @return [String]
58162
59305
  attr_accessor :private_ipv6_google_access
58163
59306
 
58164
- # The purpose of the resource. This field can be either PRIVATE,
58165
- # GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION,
58166
- # PRIVATE_SERVICE_CONNECT or PRIVATE_NAT. PRIVATE is the default purpose for
58167
- # user-created subnets or subnets that are automatically created in auto mode
58168
- # networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or
58169
- # REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for
58170
- # Envoy-based load balancers. A subnet with purpose set to
58171
- # PRIVATE_SERVICE_CONNECT is used to publish services using Private Service
58172
- # Connect. A subnet with purpose set to PEER_MIGRATION is used for subnet
58173
- # migration from one peered VPC to another. A subnet with purpose set to
58174
- # PRIVATE_NAT is used for Private NAT IP address by Private NAT Gateway. If
58175
- # unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field
58176
- # isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or
58177
- # REGIONAL_MANAGED_PROXY.
59307
+ #
58178
59308
  # Corresponds to the JSON property `purpose`
58179
59309
  # @return [String]
58180
59310
  attr_accessor :purpose
@@ -58236,6 +59366,12 @@ module Google
58236
59366
  # @return [String]
58237
59367
  attr_accessor :state
58238
59368
 
59369
+ # The current IP utilization of all subnetwork ranges. Contains the total number
59370
+ # of allocated and free IPs in each range.
59371
+ # Corresponds to the JSON property `utilizationDetails`
59372
+ # @return [Google::Apis::ComputeAlpha::SubnetworkUtilizationDetails]
59373
+ attr_accessor :utilization_details
59374
+
58239
59375
  # A repeated field indicating the VLAN IDs supported on this subnetwork. During
58240
59376
  # Subnet creation, specifying vlan is valid only if enable_l2 is true. During
58241
59377
  # Subnet Update, specifying vlan is allowed only for l2 enabled subnets.
@@ -58273,6 +59409,7 @@ module Google
58273
59409
  @metadata = args[:metadata] if args.key?(:metadata)
58274
59410
  @name = args[:name] if args.key?(:name)
58275
59411
  @network = args[:network] if args.key?(:network)
59412
+ @params = args[:params] if args.key?(:params)
58276
59413
  @private_ip_google_access = args[:private_ip_google_access] if args.key?(:private_ip_google_access)
58277
59414
  @private_ipv6_google_access = args[:private_ipv6_google_access] if args.key?(:private_ipv6_google_access)
58278
59415
  @purpose = args[:purpose] if args.key?(:purpose)
@@ -58284,6 +59421,7 @@ module Google
58284
59421
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
58285
59422
  @stack_type = args[:stack_type] if args.key?(:stack_type)
58286
59423
  @state = args[:state] if args.key?(:state)
59424
+ @utilization_details = args[:utilization_details] if args.key?(:utilization_details)
58287
59425
  @vlans = args[:vlans] if args.key?(:vlans)
58288
59426
  end
58289
59427
  end
@@ -58596,6 +59734,32 @@ module Google
58596
59734
  end
58597
59735
  end
58598
59736
 
59737
+ # Additional subnetwork parameters.
59738
+ class SubnetworkParams
59739
+ include Google::Apis::Core::Hashable
59740
+
59741
+ # Tag keys/values directly bound to this resource. Tag keys and values have the
59742
+ # same definition as resource manager tags. The field is allowed for INSERT only.
59743
+ # The keys/values to set on the resource should be specified in either ID ` : `
59744
+ # or Namespaced format ` : `. For example the following are valid inputs: * `"
59745
+ # tagKeys/333" : "tagValues/444", "tagKeys/123" : "tagValues/456"` * `"123/
59746
+ # environment" : "production", "345/abc" : "xyz"` Note: * Invalid combinations
59747
+ # of ID & namespaced format is not supported. For instance: `"123/environment" :
59748
+ # "tagValues/444"` is invalid.
59749
+ # Corresponds to the JSON property `resourceManagerTags`
59750
+ # @return [Hash<String,String>]
59751
+ attr_accessor :resource_manager_tags
59752
+
59753
+ def initialize(**args)
59754
+ update!(**args)
59755
+ end
59756
+
59757
+ # Update properties of this object
59758
+ def update!(**args)
59759
+ @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
59760
+ end
59761
+ end
59762
+
58599
59763
  # Represents a secondary IP range of a subnetwork.
58600
59764
  class SubnetworkSecondaryRange
58601
59765
  include Google::Apis::Core::Hashable
@@ -58633,6 +59797,101 @@ module Google
58633
59797
  end
58634
59798
  end
58635
59799
 
59800
+ # The current IP utilization of all subnetwork ranges. Contains the total number
59801
+ # of allocated and free IPs in each range.
59802
+ class SubnetworkUtilizationDetails
59803
+ include Google::Apis::Core::Hashable
59804
+
59805
+ # The IPV6 utilization of a single IP range.
59806
+ # Corresponds to the JSON property `externalIpv6InstanceUtilization`
59807
+ # @return [Google::Apis::ComputeAlpha::SubnetworkUtilizationDetailsIpv6Utilization]
59808
+ attr_accessor :external_ipv6_instance_utilization
59809
+
59810
+ # The IPV6 utilization of a single IP range.
59811
+ # Corresponds to the JSON property `externalIpv6LbUtilization`
59812
+ # @return [Google::Apis::ComputeAlpha::SubnetworkUtilizationDetailsIpv6Utilization]
59813
+ attr_accessor :external_ipv6_lb_utilization
59814
+
59815
+ # The IPV6 utilization of a single IP range.
59816
+ # Corresponds to the JSON property `internalIpv6Utilization`
59817
+ # @return [Google::Apis::ComputeAlpha::SubnetworkUtilizationDetailsIpv6Utilization]
59818
+ attr_accessor :internal_ipv6_utilization
59819
+
59820
+ # Utilizations of all IPV4 IP ranges. For primary ranges, the range name will be
59821
+ # empty.
59822
+ # Corresponds to the JSON property `ipv4Utilizations`
59823
+ # @return [Array<Google::Apis::ComputeAlpha::SubnetworkUtilizationDetailsIpv4Utilization>]
59824
+ attr_accessor :ipv4_utilizations
59825
+
59826
+ def initialize(**args)
59827
+ update!(**args)
59828
+ end
59829
+
59830
+ # Update properties of this object
59831
+ def update!(**args)
59832
+ @external_ipv6_instance_utilization = args[:external_ipv6_instance_utilization] if args.key?(:external_ipv6_instance_utilization)
59833
+ @external_ipv6_lb_utilization = args[:external_ipv6_lb_utilization] if args.key?(:external_ipv6_lb_utilization)
59834
+ @internal_ipv6_utilization = args[:internal_ipv6_utilization] if args.key?(:internal_ipv6_utilization)
59835
+ @ipv4_utilizations = args[:ipv4_utilizations] if args.key?(:ipv4_utilizations)
59836
+ end
59837
+ end
59838
+
59839
+ # The IPV4 utilization of a single IP range.
59840
+ class SubnetworkUtilizationDetailsIpv4Utilization
59841
+ include Google::Apis::Core::Hashable
59842
+
59843
+ # Will be set for secondary range. Empty for primary IPv4 range.
59844
+ # Corresponds to the JSON property `rangeName`
59845
+ # @return [String]
59846
+ attr_accessor :range_name
59847
+
59848
+ #
59849
+ # Corresponds to the JSON property `totalAllocatedIp`
59850
+ # @return [Fixnum]
59851
+ attr_accessor :total_allocated_ip
59852
+
59853
+ #
59854
+ # Corresponds to the JSON property `totalFreeIp`
59855
+ # @return [Fixnum]
59856
+ attr_accessor :total_free_ip
59857
+
59858
+ def initialize(**args)
59859
+ update!(**args)
59860
+ end
59861
+
59862
+ # Update properties of this object
59863
+ def update!(**args)
59864
+ @range_name = args[:range_name] if args.key?(:range_name)
59865
+ @total_allocated_ip = args[:total_allocated_ip] if args.key?(:total_allocated_ip)
59866
+ @total_free_ip = args[:total_free_ip] if args.key?(:total_free_ip)
59867
+ end
59868
+ end
59869
+
59870
+ # The IPV6 utilization of a single IP range.
59871
+ class SubnetworkUtilizationDetailsIpv6Utilization
59872
+ include Google::Apis::Core::Hashable
59873
+
59874
+ #
59875
+ # Corresponds to the JSON property `totalAllocatedIp`
59876
+ # @return [Google::Apis::ComputeAlpha::Uint128]
59877
+ attr_accessor :total_allocated_ip
59878
+
59879
+ #
59880
+ # Corresponds to the JSON property `totalFreeIp`
59881
+ # @return [Google::Apis::ComputeAlpha::Uint128]
59882
+ attr_accessor :total_free_ip
59883
+
59884
+ def initialize(**args)
59885
+ update!(**args)
59886
+ end
59887
+
59888
+ # Update properties of this object
59889
+ def update!(**args)
59890
+ @total_allocated_ip = args[:total_allocated_ip] if args.key?(:total_allocated_ip)
59891
+ @total_free_ip = args[:total_free_ip] if args.key?(:total_free_ip)
59892
+ end
59893
+ end
59894
+
58636
59895
  #
58637
59896
  class SubnetworksExpandIpCidrRangeRequest
58638
59897
  include Google::Apis::Core::Hashable
@@ -62904,6 +64163,17 @@ module Google
62904
64163
  # @return [String]
62905
64164
  attr_accessor :latest_window_start_time
62906
64165
 
64166
+ # Indicates whether the UpcomingMaintenance will be triggered on VM shutdown.
64167
+ # Corresponds to the JSON property `maintenanceOnShutdown`
64168
+ # @return [Boolean]
64169
+ attr_accessor :maintenance_on_shutdown
64170
+ alias_method :maintenance_on_shutdown?, :maintenance_on_shutdown
64171
+
64172
+ # The reasons for the maintenance. Only valid for vms.
64173
+ # Corresponds to the JSON property `maintenanceReasons`
64174
+ # @return [Array<String>]
64175
+ attr_accessor :maintenance_reasons
64176
+
62907
64177
  #
62908
64178
  # Corresponds to the JSON property `maintenanceStatus`
62909
64179
  # @return [String]
@@ -62946,6 +64216,8 @@ module Google
62946
64216
  @can_reschedule = args[:can_reschedule] if args.key?(:can_reschedule)
62947
64217
  @date = args[:date] if args.key?(:date)
62948
64218
  @latest_window_start_time = args[:latest_window_start_time] if args.key?(:latest_window_start_time)
64219
+ @maintenance_on_shutdown = args[:maintenance_on_shutdown] if args.key?(:maintenance_on_shutdown)
64220
+ @maintenance_reasons = args[:maintenance_reasons] if args.key?(:maintenance_reasons)
62949
64221
  @maintenance_status = args[:maintenance_status] if args.key?(:maintenance_status)
62950
64222
  @start_time_window = args[:start_time_window] if args.key?(:start_time_window)
62951
64223
  @time = args[:time] if args.key?(:time)
@@ -63792,20 +65064,7 @@ module Google
63792
65064
  # @return [String]
63793
65065
  attr_accessor :network
63794
65066
 
63795
- # The purpose of the resource. This field can be either PRIVATE,
63796
- # GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION,
63797
- # PRIVATE_SERVICE_CONNECT or PRIVATE_NAT. PRIVATE is the default purpose for
63798
- # user-created subnets or subnets that are automatically created in auto mode
63799
- # networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or
63800
- # REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for
63801
- # Envoy-based load balancers. A subnet with purpose set to
63802
- # PRIVATE_SERVICE_CONNECT is used to publish services using Private Service
63803
- # Connect. A subnet with purpose set to PEER_MIGRATION is used for subnet
63804
- # migration from one peered VPC to another. A subnet with purpose set to
63805
- # PRIVATE_NAT is used for Private NAT IP address by Private NAT Gateway. If
63806
- # unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field
63807
- # isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or
63808
- # REGIONAL_MANAGED_PROXY.
65067
+ #
63809
65068
  # Corresponds to the JSON property `purpose`
63810
65069
  # @return [String]
63811
65070
  attr_accessor :purpose