google-apis-compute_alpha 0.110.0 → 0.112.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]
@@ -4101,7 +4101,7 @@ module Google
4101
4101
  # faster table lookup build times and host selection times. For more information
4102
4102
  # about Maglev, see https://ai.google/research/pubs/pub44824 This field is
4103
4103
  # applicable to either: - A regional backend service with the service_protocol
4104
- # set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to
4104
+ # set to HTTP, HTTPS, HTTP2 or H2C, and load_balancing_scheme set to
4105
4105
  # INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme
4106
4106
  # set to INTERNAL_SELF_MANAGED, INTERNAL_MANAGED, or EXTERNAL_MANAGED. If
4107
4107
  # sessionAffinity is not configured—that is, if session affinity remains at the
@@ -4184,11 +4184,11 @@ module Google
4184
4184
  attr_accessor :port_name
4185
4185
 
4186
4186
  # The protocol this BackendService uses to communicate with backends. Possible
4187
- # values are HTTP, HTTPS, HTTP2, TCP, SSL, UDP or GRPC. depending on the chosen
4188
- # load balancer or Traffic Director configuration. Refer to the documentation
4189
- # for the load balancers or for Traffic Director for more information. Must be
4190
- # set to GRPC when the backend service is referenced by a URL map that is bound
4191
- # to target gRPC proxy.
4187
+ # values are HTTP, HTTPS, HTTP2, H2C, TCP, SSL, UDP or GRPC. depending on the
4188
+ # chosen load balancer or Traffic Director configuration. Refer to the
4189
+ # documentation for the load balancers or for Traffic Director for more
4190
+ # information. Must be set to GRPC when the backend service is referenced by a
4191
+ # URL map that is bound to target gRPC proxy.
4192
4192
  # Corresponds to the JSON property `protocol`
4193
4193
  # @return [String]
4194
4194
  attr_accessor :protocol
@@ -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
@@ -12045,6 +12156,12 @@ module Google
12045
12156
  # @return [String]
12046
12157
  attr_accessor :dest_network_scope
12047
12158
 
12159
+ # Network type of the traffic destination. Allowed values are: - UNSPECIFIED -
12160
+ # INTERNET - NON_INTERNET
12161
+ # Corresponds to the JSON property `destNetworkType`
12162
+ # @return [String]
12163
+ attr_accessor :dest_network_type
12164
+
12048
12165
  # Region codes whose IP addresses will be used to match for destination of
12049
12166
  # traffic. Should be specified as 2 letter country code defined as per ISO 3166
12050
12167
  # alpha-2 country codes. ex."US" Maximum number of dest region codes allowed is
@@ -12086,6 +12203,12 @@ module Google
12086
12203
  # @return [String]
12087
12204
  attr_accessor :src_network_scope
12088
12205
 
12206
+ # Network type of the traffic source. Allowed values are: - UNSPECIFIED -
12207
+ # INTERNET - INTRA_VPC - NON_INTERNET - VPC_NETWORKS
12208
+ # Corresponds to the JSON property `srcNetworkType`
12209
+ # @return [String]
12210
+ attr_accessor :src_network_type
12211
+
12089
12212
  # Networks of the traffic source. It can be either a full or partial url.
12090
12213
  # Corresponds to the JSON property `srcNetworks`
12091
12214
  # @return [Array<String>]
@@ -12122,6 +12245,7 @@ module Google
12122
12245
  @dest_fqdns = args[:dest_fqdns] if args.key?(:dest_fqdns)
12123
12246
  @dest_ip_ranges = args[:dest_ip_ranges] if args.key?(:dest_ip_ranges)
12124
12247
  @dest_network_scope = args[:dest_network_scope] if args.key?(:dest_network_scope)
12248
+ @dest_network_type = args[:dest_network_type] if args.key?(:dest_network_type)
12125
12249
  @dest_region_codes = args[:dest_region_codes] if args.key?(:dest_region_codes)
12126
12250
  @dest_threat_intelligences = args[:dest_threat_intelligences] if args.key?(:dest_threat_intelligences)
12127
12251
  @layer4_configs = args[:layer4_configs] if args.key?(:layer4_configs)
@@ -12129,6 +12253,7 @@ module Google
12129
12253
  @src_fqdns = args[:src_fqdns] if args.key?(:src_fqdns)
12130
12254
  @src_ip_ranges = args[:src_ip_ranges] if args.key?(:src_ip_ranges)
12131
12255
  @src_network_scope = args[:src_network_scope] if args.key?(:src_network_scope)
12256
+ @src_network_type = args[:src_network_type] if args.key?(:src_network_type)
12132
12257
  @src_networks = args[:src_networks] if args.key?(:src_networks)
12133
12258
  @src_region_codes = args[:src_region_codes] if args.key?(:src_region_codes)
12134
12259
  @src_secure_tags = args[:src_secure_tags] if args.key?(:src_secure_tags)
@@ -13181,6 +13306,12 @@ module Google
13181
13306
  # @return [String]
13182
13307
  attr_accessor :description
13183
13308
 
13309
+ # Indicates if this group of VMs have emergent maintenance enabled.
13310
+ # Corresponds to the JSON property `enableEmergentMaintenance`
13311
+ # @return [Boolean]
13312
+ attr_accessor :enable_emergent_maintenance
13313
+ alias_method :enable_emergent_maintenance?, :enable_emergent_maintenance
13314
+
13184
13315
  # [Output Only] A unique identifier for this future reservation. The server
13185
13316
  # defines this identifier.
13186
13317
  # Corresponds to the JSON property `id`
@@ -13294,6 +13425,7 @@ module Google
13294
13425
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
13295
13426
  @deployment_type = args[:deployment_type] if args.key?(:deployment_type)
13296
13427
  @description = args[:description] if args.key?(:description)
13428
+ @enable_emergent_maintenance = args[:enable_emergent_maintenance] if args.key?(:enable_emergent_maintenance)
13297
13429
  @id = args[:id] if args.key?(:id)
13298
13430
  @kind = args[:kind] if args.key?(:kind)
13299
13431
  @name = args[:name] if args.key?(:name)
@@ -14647,6 +14779,22 @@ module Google
14647
14779
  # @return [String]
14648
14780
  attr_accessor :scheduling_type
14649
14781
 
14782
+ # Describes number of subblock Infrastructure that has ongoing maintenance. Here,
14783
+ # Subblock Infrastructure Maintenance pertains to upstream hardware contained
14784
+ # in the Subblock that is necessary for a VM Family(e.g. NVLink Domains). Not
14785
+ # all VM Families will support this field.
14786
+ # Corresponds to the JSON property `subblockInfraMaintenanceOngoingCount`
14787
+ # @return [Fixnum]
14788
+ attr_accessor :subblock_infra_maintenance_ongoing_count
14789
+
14790
+ # Describes number of subblock Infrastructure that has pending maintenance. Here,
14791
+ # Subblock Infrastructure Maintenance pertains to upstream hardware contained
14792
+ # in the Subblock that is necessary for a VM Family (e.g. NVLink Domains). Not
14793
+ # all VM Families will support this field.
14794
+ # Corresponds to the JSON property `subblockInfraMaintenancePendingCount`
14795
+ # @return [Fixnum]
14796
+ attr_accessor :subblock_infra_maintenance_pending_count
14797
+
14650
14798
  # Upcoming Maintenance notification information.
14651
14799
  # Corresponds to the JSON property `upcomingGroupMaintenance`
14652
14800
  # @return [Google::Apis::ComputeAlpha::UpcomingMaintenance]
@@ -14661,6 +14809,8 @@ module Google
14661
14809
  @maintenance_ongoing_count = args[:maintenance_ongoing_count] if args.key?(:maintenance_ongoing_count)
14662
14810
  @maintenance_pending_count = args[:maintenance_pending_count] if args.key?(:maintenance_pending_count)
14663
14811
  @scheduling_type = args[:scheduling_type] if args.key?(:scheduling_type)
14812
+ @subblock_infra_maintenance_ongoing_count = args[:subblock_infra_maintenance_ongoing_count] if args.key?(:subblock_infra_maintenance_ongoing_count)
14813
+ @subblock_infra_maintenance_pending_count = args[:subblock_infra_maintenance_pending_count] if args.key?(:subblock_infra_maintenance_pending_count)
14664
14814
  @upcoming_group_maintenance = args[:upcoming_group_maintenance] if args.key?(:upcoming_group_maintenance)
14665
14815
  end
14666
14816
  end
@@ -14808,8 +14958,8 @@ module Google
14808
14958
  # values. Set to one or more of the following values: - VIRTIO_SCSI_MULTIQUEUE -
14809
14959
  # WINDOWS - MULTI_IP_SUBNET - UEFI_COMPATIBLE - GVNIC - SEV_CAPABLE -
14810
14960
  # SUSPEND_RESUME_COMPATIBLE - SEV_LIVE_MIGRATABLE_V2 - SEV_SNP_CAPABLE -
14811
- # TDX_CAPABLE - IDPF For more information, see Enabling guest operating system
14812
- # features.
14961
+ # TDX_CAPABLE - IDPF - SNP_SVSM_CAPABLE For more information, see Enabling guest
14962
+ # operating system features.
14813
14963
  # Corresponds to the JSON property `type`
14814
14964
  # @return [String]
14815
14965
  attr_accessor :type
@@ -20829,8 +20979,10 @@ module Google
20829
20979
  # @return [Fixnum]
20830
20980
  attr_accessor :id
20831
20981
 
20832
- # The list of specifications of per-instance configs to be created. This field
20833
- # cannot be used together with 'resize_by'.
20982
+ # The names of instances to be created by this resize request. The number of
20983
+ # names specified determines the number of instances to create. The group's
20984
+ # target size will be increased by this number. This field cannot be used
20985
+ # together with 'resize_by'.
20834
20986
  # Corresponds to the JSON property `instances`
20835
20987
  # @return [Array<Google::Apis::ComputeAlpha::PerInstanceConfig>]
20836
20988
  attr_accessor :instances
@@ -24200,7 +24352,7 @@ module Google
24200
24352
  # @return [String]
24201
24353
  attr_accessor :action_hint
24202
24354
 
24203
- # The disruption schedule for the VM. Default to IMMEDIATE.
24355
+ # The disruption schedule for the VM. Required field, only allows IMMEDIATE.
24204
24356
  # Corresponds to the JSON property `disruptionSchedule`
24205
24357
  # @return [String]
24206
24358
  attr_accessor :disruption_schedule
@@ -24975,6 +25127,30 @@ module Google
24975
25127
  end
24976
25128
  end
24977
25129
 
25130
+ #
25131
+ class InstantSnapshotGroupParameters
25132
+ include Google::Apis::Core::Hashable
25133
+
25134
+ # The source instant snapshot group used to create disks. You can provide this
25135
+ # as a partial or full URL to the resource. For example, the following are valid
25136
+ # values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /
25137
+ # instantSnapshotGroups/instantSnapshotGroup - projects/project/zones/zone/
25138
+ # instantSnapshotGroups/instantSnapshotGroup - zones/zone/instantSnapshotGroups/
25139
+ # instantSnapshotGroup
25140
+ # Corresponds to the JSON property `sourceInstantSnapshotGroup`
25141
+ # @return [String]
25142
+ attr_accessor :source_instant_snapshot_group
25143
+
25144
+ def initialize(**args)
25145
+ update!(**args)
25146
+ end
25147
+
25148
+ # Update properties of this object
25149
+ def update!(**args)
25150
+ @source_instant_snapshot_group = args[:source_instant_snapshot_group] if args.key?(:source_instant_snapshot_group)
25151
+ end
25152
+ end
25153
+
24978
25154
  #
24979
25155
  class InstantSnapshotGroupResourceStatus
24980
25156
  include Google::Apis::Core::Hashable
@@ -26870,12 +27046,13 @@ module Google
26870
27046
  attr_accessor :multicast_enabled
26871
27047
  alias_method :multicast_enabled?, :multicast_enabled
26872
27048
 
26873
- # Name of the resource. Provided by the client when the resource is created. The
26874
- # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
26875
- # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
26876
- # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
26877
- # and all following characters must be a dash, lowercase letter, or digit,
26878
- # except the last character, which cannot be a dash.
27049
+ # Name of the resource. Provided by the client when the resource is created.
27050
+ # Must be set on either the template_attachment or on each specific attachment.
27051
+ # If set, the name must be 1-63 characters long, and comply with RFC1035.
27052
+ # Specifically, the name must be 1-63 characters long and match the regular
27053
+ # expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must
27054
+ # be a lowercase letter, and all following characters must be a dash, lowercase
27055
+ # letter, or digit, except the last character, which cannot be a dash.
26879
27056
  # Corresponds to the JSON property `name`
26880
27057
  # @return [String]
26881
27058
  attr_accessor :name
@@ -28356,8 +28533,9 @@ module Google
28356
28533
  # @return [String]
28357
28534
  attr_accessor :link_type
28358
28535
 
28359
- # Name of the resource. Provided by the client when the resource is created. The
28360
- # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
28536
+ # Name of the Interconnects to be created. This must be specified on the
28537
+ # template and/or on each individual interconnect. The name, if not empty, must
28538
+ # be 1-63 characters long, and comply with RFC1035. Specifically, any nonempty
28361
28539
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
28362
28540
  # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
28363
28541
  # and all following characters must be a dash, lowercase letter, or digit,
@@ -28825,7 +29003,7 @@ module Google
28825
29003
 
28826
29004
  # [Output only] List of link types available at this InterconnectLocation, which
28827
29005
  # can take one of the following values: - LINK_TYPE_ETHERNET_10G_LR -
28828
- # LINK_TYPE_ETHERNET_100G_LR
29006
+ # LINK_TYPE_ETHERNET_100G_LR - LINK_TYPE_ETHERNET_400G_LR4
28829
29007
  # Corresponds to the JSON property `availableLinkTypes`
28830
29008
  # @return [Array<String>]
28831
29009
  attr_accessor :available_link_types
@@ -29112,6 +29290,13 @@ module Google
29112
29290
  # @return [Fixnum]
29113
29291
  attr_accessor :expected_rtt_ms
29114
29292
 
29293
+ # Identifies whether L2 Interconnect Attachments can be created in this region
29294
+ # for interconnects that are in this location.
29295
+ # Corresponds to the JSON property `l2ForwardingEnabled`
29296
+ # @return [Boolean]
29297
+ attr_accessor :l2_forwarding_enabled
29298
+ alias_method :l2_forwarding_enabled?, :l2_forwarding_enabled
29299
+
29115
29300
  # Identifies the network presence of this location.
29116
29301
  # Corresponds to the JSON property `locationPresence`
29117
29302
  # @return [String]
@@ -29129,6 +29314,7 @@ module Google
29129
29314
  # Update properties of this object
29130
29315
  def update!(**args)
29131
29316
  @expected_rtt_ms = args[:expected_rtt_ms] if args.key?(:expected_rtt_ms)
29317
+ @l2_forwarding_enabled = args[:l2_forwarding_enabled] if args.key?(:l2_forwarding_enabled)
29132
29318
  @location_presence = args[:location_presence] if args.key?(:location_presence)
29133
29319
  @region = args[:region] if args.key?(:region)
29134
29320
  end
@@ -29987,6 +30173,11 @@ module Google
29987
30173
  # @return [String]
29988
30174
  attr_accessor :self_link
29989
30175
 
30176
+ # [Output Only] Unreachable resources.
30177
+ # Corresponds to the JSON property `unreachables`
30178
+ # @return [Array<String>]
30179
+ attr_accessor :unreachables
30180
+
29990
30181
  # [Output Only] Informational warning message.
29991
30182
  # Corresponds to the JSON property `warning`
29992
30183
  # @return [Google::Apis::ComputeAlpha::IpOwnerList::Warning]
@@ -30003,6 +30194,7 @@ module Google
30003
30194
  @kind = args[:kind] if args.key?(:kind)
30004
30195
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
30005
30196
  @self_link = args[:self_link] if args.key?(:self_link)
30197
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
30006
30198
  @warning = args[:warning] if args.key?(:warning)
30007
30199
  end
30008
30200
 
@@ -31976,6 +32168,12 @@ module Google
31976
32168
  # @return [Google::Apis::ComputeAlpha::ManagedInstancePropertiesFromFlexibilityPolicy]
31977
32169
  attr_accessor :properties_from_flexibility_policy
31978
32170
 
32171
+ # [Output Only] Information about the termination timestamp of the instance, if
32172
+ # applicable.
32173
+ # Corresponds to the JSON property `scheduling`
32174
+ # @return [Google::Apis::ComputeAlpha::ManagedInstanceScheduling]
32175
+ attr_accessor :scheduling
32176
+
31979
32177
  # [Output only] The size of the VM represented by this Managed Instance. This is
31980
32178
  # how much this Managed Instance contributes to the size of the group.
31981
32179
  # Corresponds to the JSON property `sizeInUnit`
@@ -32019,6 +32217,7 @@ module Google
32019
32217
  @preserved_state_from_config = args[:preserved_state_from_config] if args.key?(:preserved_state_from_config)
32020
32218
  @preserved_state_from_policy = args[:preserved_state_from_policy] if args.key?(:preserved_state_from_policy)
32021
32219
  @properties_from_flexibility_policy = args[:properties_from_flexibility_policy] if args.key?(:properties_from_flexibility_policy)
32220
+ @scheduling = args[:scheduling] if args.key?(:scheduling)
32022
32221
  @size_in_unit = args[:size_in_unit] if args.key?(:size_in_unit)
32023
32222
  @tag = args[:tag] if args.key?(:tag)
32024
32223
  @target_status = args[:target_status] if args.key?(:target_status)
@@ -32298,6 +32497,26 @@ module Google
32298
32497
  end
32299
32498
  end
32300
32499
 
32500
+ #
32501
+ class ManagedInstanceScheduling
32502
+ include Google::Apis::Core::Hashable
32503
+
32504
+ # [Output Only] The timestamp at which the managed instance will be terminated.
32505
+ # This is in RFC3339 text format.
32506
+ # Corresponds to the JSON property `terminationTimestamp`
32507
+ # @return [String]
32508
+ attr_accessor :termination_timestamp
32509
+
32510
+ def initialize(**args)
32511
+ update!(**args)
32512
+ end
32513
+
32514
+ # Update properties of this object
32515
+ def update!(**args)
32516
+ @termination_timestamp = args[:termination_timestamp] if args.key?(:termination_timestamp)
32517
+ end
32518
+ end
32519
+
32301
32520
  #
32302
32521
  class ManagedInstanceVersion
32303
32522
  include Google::Apis::Core::Hashable
@@ -32851,6 +33070,11 @@ module Google
32851
33070
  # @return [Array<String>]
32852
33071
  attr_accessor :member_instance_group_managers
32853
33072
 
33073
+ # [Output Only] The number of instance group manager members in this multi-MIG.
33074
+ # Corresponds to the JSON property `membersCount`
33075
+ # @return [Fixnum]
33076
+ attr_accessor :members_count
33077
+
32854
33078
  def initialize(**args)
32855
33079
  update!(**args)
32856
33080
  end
@@ -32858,6 +33082,7 @@ module Google
32858
33082
  # Update properties of this object
32859
33083
  def update!(**args)
32860
33084
  @member_instance_group_managers = args[:member_instance_group_managers] if args.key?(:member_instance_group_managers)
33085
+ @members_count = args[:members_count] if args.key?(:members_count)
32861
33086
  end
32862
33087
  end
32863
33088
 
@@ -33266,6 +33491,11 @@ module Google
33266
33491
  # @return [String]
33267
33492
  attr_accessor :network_profile
33268
33493
 
33494
+ # Additional network parameters.
33495
+ # Corresponds to the JSON property `params`
33496
+ # @return [Google::Apis::ComputeAlpha::NetworkParams]
33497
+ attr_accessor :params
33498
+
33269
33499
  # [Output Only] A list of network peerings for the resource.
33270
33500
  # Corresponds to the JSON property `peerings`
33271
33501
  # @return [Array<Google::Apis::ComputeAlpha::NetworkPeering>]
@@ -33321,6 +33551,7 @@ module Google
33321
33551
  @name = args[:name] if args.key?(:name)
33322
33552
  @network_firewall_policy_enforcement_order = args[:network_firewall_policy_enforcement_order] if args.key?(:network_firewall_policy_enforcement_order)
33323
33553
  @network_profile = args[:network_profile] if args.key?(:network_profile)
33554
+ @params = args[:params] if args.key?(:params)
33324
33555
  @peerings = args[:peerings] if args.key?(:peerings)
33325
33556
  @region = args[:region] if args.key?(:region)
33326
33557
  @routing_config = args[:routing_config] if args.key?(:routing_config)
@@ -35693,6 +35924,32 @@ module Google
35693
35924
  end
35694
35925
  end
35695
35926
 
35927
+ # Additional network parameters.
35928
+ class NetworkParams
35929
+ include Google::Apis::Core::Hashable
35930
+
35931
+ # Tag keys/values directly bound to this resource. Tag keys and values have the
35932
+ # same definition as resource manager tags. The field is allowed for INSERT only.
35933
+ # The keys/values to set on the resource should be specified in either ID ` : `
35934
+ # or Namespaced format ` : `. For example the following are valid inputs: * `"
35935
+ # tagKeys/333" : "tagValues/444", "tagKeys/123" : "tagValues/456"` * `"123/
35936
+ # environment" : "production", "345/abc" : "xyz"` Note: * Invalid combinations
35937
+ # of ID & namespaced format is not supported. For instance: `"123/environment" :
35938
+ # "tagValues/444"` is invalid.
35939
+ # Corresponds to the JSON property `resourceManagerTags`
35940
+ # @return [Hash<String,String>]
35941
+ attr_accessor :resource_manager_tags
35942
+
35943
+ def initialize(**args)
35944
+ update!(**args)
35945
+ end
35946
+
35947
+ # Update properties of this object
35948
+ def update!(**args)
35949
+ @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
35950
+ end
35951
+ end
35952
+
35696
35953
  # A network peering attached to a network resource. The message includes the
35697
35954
  # peering name, peer network, peering state, and a flag indicating whether
35698
35955
  # Google Compute Engine should automatically create routes for the peering.
@@ -35716,6 +35973,14 @@ module Google
35716
35973
  attr_accessor :auto_create_routes
35717
35974
  alias_method :auto_create_routes?, :auto_create_routes
35718
35975
 
35976
+ # [Output Only] Describes the state of a peering connection, not just the local
35977
+ # peering. This field provides information about the effective settings for the
35978
+ # connection as a whole, including pending delete/update requests for CONSENSUS
35979
+ # peerings.
35980
+ # Corresponds to the JSON property `connectionStatus`
35981
+ # @return [Google::Apis::ComputeAlpha::NetworkPeeringConnectionStatus]
35982
+ attr_accessor :connection_status
35983
+
35719
35984
  # Indicates whether full mesh connectivity is created and managed automatically
35720
35985
  # between peered networks. Currently this field should always be true since
35721
35986
  # Google Compute Engine will automatically create and manage subnetwork routes
@@ -35773,7 +36038,7 @@ module Google
35773
36038
  # @return [String]
35774
36039
  attr_accessor :network
35775
36040
 
35776
- # Maximum Transmission Unit in bytes.
36041
+ # [Output Only] Maximum Transmission Unit in bytes of the peer network.
35777
36042
  # Corresponds to the JSON property `peerMtu`
35778
36043
  # @return [Fixnum]
35779
36044
  attr_accessor :peer_mtu
@@ -35795,6 +36060,12 @@ module Google
35795
36060
  # @return [String]
35796
36061
  attr_accessor :state_details
35797
36062
 
36063
+ # The update strategy determines the semantics for updates and deletes to the
36064
+ # peering connection configuration.
36065
+ # Corresponds to the JSON property `updateStrategy`
36066
+ # @return [String]
36067
+ attr_accessor :update_strategy
36068
+
35798
36069
  def initialize(**args)
35799
36070
  update!(**args)
35800
36071
  end
@@ -35803,6 +36074,7 @@ module Google
35803
36074
  def update!(**args)
35804
36075
  @advertise_peer_subnets_via_routers = args[:advertise_peer_subnets_via_routers] if args.key?(:advertise_peer_subnets_via_routers)
35805
36076
  @auto_create_routes = args[:auto_create_routes] if args.key?(:auto_create_routes)
36077
+ @connection_status = args[:connection_status] if args.key?(:connection_status)
35806
36078
  @exchange_subnet_routes = args[:exchange_subnet_routes] if args.key?(:exchange_subnet_routes)
35807
36079
  @export_custom_routes = args[:export_custom_routes] if args.key?(:export_custom_routes)
35808
36080
  @export_subnet_routes_with_public_ip = args[:export_subnet_routes_with_public_ip] if args.key?(:export_subnet_routes_with_public_ip)
@@ -35814,6 +36086,122 @@ module Google
35814
36086
  @stack_type = args[:stack_type] if args.key?(:stack_type)
35815
36087
  @state = args[:state] if args.key?(:state)
35816
36088
  @state_details = args[:state_details] if args.key?(:state_details)
36089
+ @update_strategy = args[:update_strategy] if args.key?(:update_strategy)
36090
+ end
36091
+ end
36092
+
36093
+ # [Output Only] Describes the state of a peering connection, not just the local
36094
+ # peering. This field provides information about the effective settings for the
36095
+ # connection as a whole, including pending delete/update requests for CONSENSUS
36096
+ # peerings.
36097
+ class NetworkPeeringConnectionStatus
36098
+ include Google::Apis::Core::Hashable
36099
+
36100
+ # The status of update/delete for a consensus peering connection. Only set when
36101
+ # connection_status.update_strategy is CONSENSUS or a network peering is
36102
+ # proposing to update the strategy to CONSENSUS.
36103
+ # Corresponds to the JSON property `consensusState`
36104
+ # @return [Google::Apis::ComputeAlpha::NetworkPeeringConnectionStatusConsensusState]
36105
+ attr_accessor :consensus_state
36106
+
36107
+ # The active connectivity settings for the peering connection based on the
36108
+ # settings of the network peerings.
36109
+ # Corresponds to the JSON property `trafficConfiguration`
36110
+ # @return [Google::Apis::ComputeAlpha::NetworkPeeringConnectionStatusTrafficConfiguration]
36111
+ attr_accessor :traffic_configuration
36112
+
36113
+ # The update strategy determines the update/delete semantics for this peering
36114
+ # connection.
36115
+ # Corresponds to the JSON property `updateStrategy`
36116
+ # @return [String]
36117
+ attr_accessor :update_strategy
36118
+
36119
+ def initialize(**args)
36120
+ update!(**args)
36121
+ end
36122
+
36123
+ # Update properties of this object
36124
+ def update!(**args)
36125
+ @consensus_state = args[:consensus_state] if args.key?(:consensus_state)
36126
+ @traffic_configuration = args[:traffic_configuration] if args.key?(:traffic_configuration)
36127
+ @update_strategy = args[:update_strategy] if args.key?(:update_strategy)
36128
+ end
36129
+ end
36130
+
36131
+ # The status of update/delete for a consensus peering connection. Only set when
36132
+ # connection_status.update_strategy is CONSENSUS or a network peering is
36133
+ # proposing to update the strategy to CONSENSUS.
36134
+ class NetworkPeeringConnectionStatusConsensusState
36135
+ include Google::Apis::Core::Hashable
36136
+
36137
+ # The status of the delete request.
36138
+ # Corresponds to the JSON property `deleteStatus`
36139
+ # @return [String]
36140
+ attr_accessor :delete_status
36141
+
36142
+ # The status of the update request.
36143
+ # Corresponds to the JSON property `updateStatus`
36144
+ # @return [String]
36145
+ attr_accessor :update_status
36146
+
36147
+ def initialize(**args)
36148
+ update!(**args)
36149
+ end
36150
+
36151
+ # Update properties of this object
36152
+ def update!(**args)
36153
+ @delete_status = args[:delete_status] if args.key?(:delete_status)
36154
+ @update_status = args[:update_status] if args.key?(:update_status)
36155
+ end
36156
+ end
36157
+
36158
+ #
36159
+ class NetworkPeeringConnectionStatusTrafficConfiguration
36160
+ include Google::Apis::Core::Hashable
36161
+
36162
+ # Whether custom routes are being exported to the peer network.
36163
+ # Corresponds to the JSON property `exportCustomRoutesToPeer`
36164
+ # @return [Boolean]
36165
+ attr_accessor :export_custom_routes_to_peer
36166
+ alias_method :export_custom_routes_to_peer?, :export_custom_routes_to_peer
36167
+
36168
+ # Whether subnet routes with public IP ranges are being exported to the peer
36169
+ # network.
36170
+ # Corresponds to the JSON property `exportSubnetRoutesWithPublicIpToPeer`
36171
+ # @return [Boolean]
36172
+ attr_accessor :export_subnet_routes_with_public_ip_to_peer
36173
+ alias_method :export_subnet_routes_with_public_ip_to_peer?, :export_subnet_routes_with_public_ip_to_peer
36174
+
36175
+ # Whether custom routes are being imported from the peer network.
36176
+ # Corresponds to the JSON property `importCustomRoutesFromPeer`
36177
+ # @return [Boolean]
36178
+ attr_accessor :import_custom_routes_from_peer
36179
+ alias_method :import_custom_routes_from_peer?, :import_custom_routes_from_peer
36180
+
36181
+ # Whether subnet routes with public IP ranges are being imported from the peer
36182
+ # network.
36183
+ # Corresponds to the JSON property `importSubnetRoutesWithPublicIpFromPeer`
36184
+ # @return [Boolean]
36185
+ attr_accessor :import_subnet_routes_with_public_ip_from_peer
36186
+ alias_method :import_subnet_routes_with_public_ip_from_peer?, :import_subnet_routes_with_public_ip_from_peer
36187
+
36188
+ # Which IP version(s) of traffic and routes are being imported or exported
36189
+ # between peer networks.
36190
+ # Corresponds to the JSON property `stackType`
36191
+ # @return [String]
36192
+ attr_accessor :stack_type
36193
+
36194
+ def initialize(**args)
36195
+ update!(**args)
36196
+ end
36197
+
36198
+ # Update properties of this object
36199
+ def update!(**args)
36200
+ @export_custom_routes_to_peer = args[:export_custom_routes_to_peer] if args.key?(:export_custom_routes_to_peer)
36201
+ @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)
36202
+ @import_custom_routes_from_peer = args[:import_custom_routes_from_peer] if args.key?(:import_custom_routes_from_peer)
36203
+ @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)
36204
+ @stack_type = args[:stack_type] if args.key?(:stack_type)
35817
36205
  end
35818
36206
  end
35819
36207
 
@@ -35971,6 +36359,11 @@ module Google
35971
36359
  # @return [String]
35972
36360
  attr_accessor :allow_cloud_router
35973
36361
 
36362
+ # Specifies whether default NIC attachment is allowed.
36363
+ # Corresponds to the JSON property `allowDefaultNicAttachment`
36364
+ # @return [String]
36365
+ attr_accessor :allow_default_nic_attachment
36366
+
35974
36367
  # Specifies whether VMs are allowed to have external IP access on network
35975
36368
  # interfaces connected to this VPC.
35976
36369
  # Corresponds to the JSON property `allowExternalIpAccess`
@@ -35982,6 +36375,11 @@ module Google
35982
36375
  # @return [String]
35983
36376
  attr_accessor :allow_interconnect
35984
36377
 
36378
+ # Specifies whether IP forwarding is allowed.
36379
+ # Corresponds to the JSON property `allowIpForwarding`
36380
+ # @return [String]
36381
+ attr_accessor :allow_ip_forwarding
36382
+
35985
36383
  # Specifies whether cloud load balancing is allowed.
35986
36384
  # Corresponds to the JSON property `allowLoadBalancing`
35987
36385
  # @return [String]
@@ -35992,6 +36390,16 @@ module Google
35992
36390
  # @return [String]
35993
36391
  attr_accessor :allow_multi_nic_in_same_network
35994
36392
 
36393
+ # Specifies whether NCC is allowed.
36394
+ # Corresponds to the JSON property `allowNcc`
36395
+ # @return [String]
36396
+ attr_accessor :allow_ncc
36397
+
36398
+ # Specifies whether VM network migration is allowed.
36399
+ # Corresponds to the JSON property `allowNetworkMigration`
36400
+ # @return [String]
36401
+ attr_accessor :allow_network_migration
36402
+
35995
36403
  # Specifies whether Packet Mirroring 1.0 is supported.
35996
36404
  # Corresponds to the JSON property `allowPacketMirroring`
35997
36405
  # @return [String]
@@ -36048,6 +36456,16 @@ module Google
36048
36456
  # @return [Array<String>]
36049
36457
  attr_accessor :subnet_stack_types
36050
36458
 
36459
+ # Specifies which subnetwork purposes are supported.
36460
+ # Corresponds to the JSON property `subnetworkPurposes`
36461
+ # @return [Array<String>]
36462
+ attr_accessor :subnetwork_purposes
36463
+
36464
+ # Specifies which subnetwork stack types are supported.
36465
+ # Corresponds to the JSON property `subnetworkStackTypes`
36466
+ # @return [Array<String>]
36467
+ attr_accessor :subnetwork_stack_types
36468
+
36051
36469
  # Specifies which type of unicast is supported.
36052
36470
  # Corresponds to the JSON property `unicast`
36053
36471
  # @return [String]
@@ -36065,10 +36483,14 @@ module Google
36065
36483
  @allow_class_d_firewalls = args[:allow_class_d_firewalls] if args.key?(:allow_class_d_firewalls)
36066
36484
  @allow_cloud_nat = args[:allow_cloud_nat] if args.key?(:allow_cloud_nat)
36067
36485
  @allow_cloud_router = args[:allow_cloud_router] if args.key?(:allow_cloud_router)
36486
+ @allow_default_nic_attachment = args[:allow_default_nic_attachment] if args.key?(:allow_default_nic_attachment)
36068
36487
  @allow_external_ip_access = args[:allow_external_ip_access] if args.key?(:allow_external_ip_access)
36069
36488
  @allow_interconnect = args[:allow_interconnect] if args.key?(:allow_interconnect)
36489
+ @allow_ip_forwarding = args[:allow_ip_forwarding] if args.key?(:allow_ip_forwarding)
36070
36490
  @allow_load_balancing = args[:allow_load_balancing] if args.key?(:allow_load_balancing)
36071
36491
  @allow_multi_nic_in_same_network = args[:allow_multi_nic_in_same_network] if args.key?(:allow_multi_nic_in_same_network)
36492
+ @allow_ncc = args[:allow_ncc] if args.key?(:allow_ncc)
36493
+ @allow_network_migration = args[:allow_network_migration] if args.key?(:allow_network_migration)
36072
36494
  @allow_packet_mirroring = args[:allow_packet_mirroring] if args.key?(:allow_packet_mirroring)
36073
36495
  @allow_private_google_access = args[:allow_private_google_access] if args.key?(:allow_private_google_access)
36074
36496
  @allow_psc = args[:allow_psc] if args.key?(:allow_psc)
@@ -36080,6 +36502,8 @@ module Google
36080
36502
  @interface_types = args[:interface_types] if args.key?(:interface_types)
36081
36503
  @subnet_purposes = args[:subnet_purposes] if args.key?(:subnet_purposes)
36082
36504
  @subnet_stack_types = args[:subnet_stack_types] if args.key?(:subnet_stack_types)
36505
+ @subnetwork_purposes = args[:subnetwork_purposes] if args.key?(:subnetwork_purposes)
36506
+ @subnetwork_stack_types = args[:subnetwork_stack_types] if args.key?(:subnetwork_stack_types)
36083
36507
  @unicast = args[:unicast] if args.key?(:unicast)
36084
36508
  end
36085
36509
  end
@@ -36475,6 +36899,25 @@ module Google
36475
36899
  end
36476
36900
  end
36477
36901
 
36902
+ #
36903
+ class NetworksRequestRemovePeeringRequest
36904
+ include Google::Apis::Core::Hashable
36905
+
36906
+ # Name of the peering, which should conform to RFC1035.
36907
+ # Corresponds to the JSON property `name`
36908
+ # @return [String]
36909
+ attr_accessor :name
36910
+
36911
+ def initialize(**args)
36912
+ update!(**args)
36913
+ end
36914
+
36915
+ # Update properties of this object
36916
+ def update!(**args)
36917
+ @name = args[:name] if args.key?(:name)
36918
+ end
36919
+ end
36920
+
36478
36921
  #
36479
36922
  class NetworksUpdatePeeringRequest
36480
36923
  include Google::Apis::Core::Hashable
@@ -40908,6 +41351,383 @@ module Google
40908
41351
  end
40909
41352
  end
40910
41353
 
41354
+ # Represents a single Google Compute Engine preview feature.
41355
+ class PreviewFeature
41356
+ include Google::Apis::Core::Hashable
41357
+
41358
+ # Specifies whether the feature is enabled or disabled.
41359
+ # Corresponds to the JSON property `activationStatus`
41360
+ # @return [String]
41361
+ attr_accessor :activation_status
41362
+
41363
+ # [Output Only] Creation timestamp in RFC3339 text format.
41364
+ # Corresponds to the JSON property `creationTimestamp`
41365
+ # @return [String]
41366
+ attr_accessor :creation_timestamp
41367
+
41368
+ # [Output Only] Description of the feature.
41369
+ # Corresponds to the JSON property `description`
41370
+ # @return [String]
41371
+ attr_accessor :description
41372
+
41373
+ # [Output Only] The unique identifier for the resource. This identifier is
41374
+ # defined by the server.
41375
+ # Corresponds to the JSON property `id`
41376
+ # @return [Fixnum]
41377
+ attr_accessor :id
41378
+
41379
+ # [Output only] The type of the feature. Always "compute#previewFeature" for
41380
+ # preview features.
41381
+ # Corresponds to the JSON property `kind`
41382
+ # @return [String]
41383
+ attr_accessor :kind
41384
+
41385
+ # Name of the feature.
41386
+ # Corresponds to the JSON property `name`
41387
+ # @return [String]
41388
+ attr_accessor :name
41389
+
41390
+ # Represents the rollout operation
41391
+ # Corresponds to the JSON property `rolloutOperation`
41392
+ # @return [Google::Apis::ComputeAlpha::PreviewFeatureRolloutOperation]
41393
+ attr_accessor :rollout_operation
41394
+
41395
+ # [Output Only] Server-defined URL for the resource.
41396
+ # Corresponds to the JSON property `selfLink`
41397
+ # @return [String]
41398
+ attr_accessor :self_link
41399
+
41400
+ # [Output Only] The status of the feature.
41401
+ # Corresponds to the JSON property `status`
41402
+ # @return [Google::Apis::ComputeAlpha::PreviewFeatureStatus]
41403
+ attr_accessor :status
41404
+
41405
+ def initialize(**args)
41406
+ update!(**args)
41407
+ end
41408
+
41409
+ # Update properties of this object
41410
+ def update!(**args)
41411
+ @activation_status = args[:activation_status] if args.key?(:activation_status)
41412
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
41413
+ @description = args[:description] if args.key?(:description)
41414
+ @id = args[:id] if args.key?(:id)
41415
+ @kind = args[:kind] if args.key?(:kind)
41416
+ @name = args[:name] if args.key?(:name)
41417
+ @rollout_operation = args[:rollout_operation] if args.key?(:rollout_operation)
41418
+ @self_link = args[:self_link] if args.key?(:self_link)
41419
+ @status = args[:status] if args.key?(:status)
41420
+ end
41421
+ end
41422
+
41423
+ #
41424
+ class PreviewFeatureList
41425
+ include Google::Apis::Core::Hashable
41426
+
41427
+ #
41428
+ # Corresponds to the JSON property `etag`
41429
+ # @return [String]
41430
+ attr_accessor :etag
41431
+
41432
+ # [Output Only] Unique identifier for the resource; defined by the server.
41433
+ # Corresponds to the JSON property `id`
41434
+ # @return [String]
41435
+ attr_accessor :id
41436
+
41437
+ # A list of PreviewFeature resources.
41438
+ # Corresponds to the JSON property `items`
41439
+ # @return [Array<Google::Apis::ComputeAlpha::PreviewFeature>]
41440
+ attr_accessor :items
41441
+
41442
+ # [Output Only] This token allows you to get the next page of results for list
41443
+ # requests. If the number of results is larger than maxResults, use the
41444
+ # nextPageToken as a value for the query parameter pageToken in the next list
41445
+ # request. Subsequent list requests will have their own nextPageToken to
41446
+ # continue paging through the results.
41447
+ # Corresponds to the JSON property `nextPageToken`
41448
+ # @return [String]
41449
+ attr_accessor :next_page_token
41450
+
41451
+ # [Output Only] Server-defined URL for this resource.
41452
+ # Corresponds to the JSON property `selfLink`
41453
+ # @return [String]
41454
+ attr_accessor :self_link
41455
+
41456
+ # [Output Only] Unreachable resources. end_interface:
41457
+ # MixerListResponseWithEtagBuilder
41458
+ # Corresponds to the JSON property `unreachables`
41459
+ # @return [Array<String>]
41460
+ attr_accessor :unreachables
41461
+
41462
+ # [Output Only] Informational warning message.
41463
+ # Corresponds to the JSON property `warning`
41464
+ # @return [Google::Apis::ComputeAlpha::PreviewFeatureList::Warning]
41465
+ attr_accessor :warning
41466
+
41467
+ def initialize(**args)
41468
+ update!(**args)
41469
+ end
41470
+
41471
+ # Update properties of this object
41472
+ def update!(**args)
41473
+ @etag = args[:etag] if args.key?(:etag)
41474
+ @id = args[:id] if args.key?(:id)
41475
+ @items = args[:items] if args.key?(:items)
41476
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
41477
+ @self_link = args[:self_link] if args.key?(:self_link)
41478
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
41479
+ @warning = args[:warning] if args.key?(:warning)
41480
+ end
41481
+
41482
+ # [Output Only] Informational warning message.
41483
+ class Warning
41484
+ include Google::Apis::Core::Hashable
41485
+
41486
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
41487
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
41488
+ # Corresponds to the JSON property `code`
41489
+ # @return [String]
41490
+ attr_accessor :code
41491
+
41492
+ # [Output Only] Metadata about this warning in key: value format. For example: "
41493
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
41494
+ # Corresponds to the JSON property `data`
41495
+ # @return [Array<Google::Apis::ComputeAlpha::PreviewFeatureList::Warning::Datum>]
41496
+ attr_accessor :data
41497
+
41498
+ # [Output Only] A human-readable description of the warning code.
41499
+ # Corresponds to the JSON property `message`
41500
+ # @return [String]
41501
+ attr_accessor :message
41502
+
41503
+ def initialize(**args)
41504
+ update!(**args)
41505
+ end
41506
+
41507
+ # Update properties of this object
41508
+ def update!(**args)
41509
+ @code = args[:code] if args.key?(:code)
41510
+ @data = args[:data] if args.key?(:data)
41511
+ @message = args[:message] if args.key?(:message)
41512
+ end
41513
+
41514
+ #
41515
+ class Datum
41516
+ include Google::Apis::Core::Hashable
41517
+
41518
+ # [Output Only] A key that provides more detail on the warning being returned.
41519
+ # For example, for warnings where there are no results in a list request for a
41520
+ # particular zone, this key might be scope and the key value might be the zone
41521
+ # name. Other examples might be a key indicating a deprecated resource and a
41522
+ # suggested replacement, or a warning about invalid network settings (for
41523
+ # example, if an instance attempts to perform IP forwarding but is not enabled
41524
+ # for IP forwarding).
41525
+ # Corresponds to the JSON property `key`
41526
+ # @return [String]
41527
+ attr_accessor :key
41528
+
41529
+ # [Output Only] A warning data value corresponding to the key.
41530
+ # Corresponds to the JSON property `value`
41531
+ # @return [String]
41532
+ attr_accessor :value
41533
+
41534
+ def initialize(**args)
41535
+ update!(**args)
41536
+ end
41537
+
41538
+ # Update properties of this object
41539
+ def update!(**args)
41540
+ @key = args[:key] if args.key?(:key)
41541
+ @value = args[:value] if args.key?(:value)
41542
+ end
41543
+ end
41544
+ end
41545
+ end
41546
+
41547
+ # Represents the rollout operation
41548
+ class PreviewFeatureRolloutOperation
41549
+ include Google::Apis::Core::Hashable
41550
+
41551
+ #
41552
+ # Corresponds to the JSON property `rolloutInput`
41553
+ # @return [Google::Apis::ComputeAlpha::PreviewFeatureRolloutOperationRolloutInput]
41554
+ attr_accessor :rollout_input
41555
+
41556
+ #
41557
+ # Corresponds to the JSON property `rolloutStatus`
41558
+ # @return [Google::Apis::ComputeAlpha::PreviewFeatureRolloutOperationRolloutStatus]
41559
+ attr_accessor :rollout_status
41560
+
41561
+ def initialize(**args)
41562
+ update!(**args)
41563
+ end
41564
+
41565
+ # Update properties of this object
41566
+ def update!(**args)
41567
+ @rollout_input = args[:rollout_input] if args.key?(:rollout_input)
41568
+ @rollout_status = args[:rollout_status] if args.key?(:rollout_status)
41569
+ end
41570
+ end
41571
+
41572
+ #
41573
+ class PreviewFeatureRolloutOperationRolloutInput
41574
+ include Google::Apis::Core::Hashable
41575
+
41576
+ # The name of the rollout plan Ex. organizations//locations/global/rolloutPlans/
41577
+ # Ex. folders//locations/global/rolloutPlans/ Ex. projects//locations/global/
41578
+ # rolloutPlans/.
41579
+ # Corresponds to the JSON property `name`
41580
+ # @return [String]
41581
+ attr_accessor :name
41582
+
41583
+ # Predefined rollout plan.
41584
+ # Corresponds to the JSON property `predefinedRolloutPlan`
41585
+ # @return [String]
41586
+ attr_accessor :predefined_rollout_plan
41587
+
41588
+ # The UUID of the retry action. Only needed if this is a retry for an existing
41589
+ # rollout. This can be used after the user canceled a rollout and want to retry
41590
+ # it with no changes.
41591
+ # Corresponds to the JSON property `retryUuid`
41592
+ # @return [String]
41593
+ attr_accessor :retry_uuid
41594
+
41595
+ def initialize(**args)
41596
+ update!(**args)
41597
+ end
41598
+
41599
+ # Update properties of this object
41600
+ def update!(**args)
41601
+ @name = args[:name] if args.key?(:name)
41602
+ @predefined_rollout_plan = args[:predefined_rollout_plan] if args.key?(:predefined_rollout_plan)
41603
+ @retry_uuid = args[:retry_uuid] if args.key?(:retry_uuid)
41604
+ end
41605
+ end
41606
+
41607
+ #
41608
+ class PreviewFeatureRolloutOperationRolloutStatus
41609
+ include Google::Apis::Core::Hashable
41610
+
41611
+ # Output only. The ongoing rollout resources. There can be multiple ongoing
41612
+ # rollouts for a resource.
41613
+ # Corresponds to the JSON property `ongoingRollouts`
41614
+ # @return [Array<Google::Apis::ComputeAlpha::PreviewFeatureRolloutOperationRolloutStatusRolloutMetadata>]
41615
+ attr_accessor :ongoing_rollouts
41616
+
41617
+ # Output only. The last completed rollout resource. This field will not be
41618
+ # populated until the first rollout is completed.
41619
+ # Corresponds to the JSON property `previousRollout`
41620
+ # @return [Google::Apis::ComputeAlpha::PreviewFeatureRolloutOperationRolloutStatusRolloutMetadata]
41621
+ attr_accessor :previous_rollout
41622
+
41623
+ def initialize(**args)
41624
+ update!(**args)
41625
+ end
41626
+
41627
+ # Update properties of this object
41628
+ def update!(**args)
41629
+ @ongoing_rollouts = args[:ongoing_rollouts] if args.key?(:ongoing_rollouts)
41630
+ @previous_rollout = args[:previous_rollout] if args.key?(:previous_rollout)
41631
+ end
41632
+ end
41633
+
41634
+ #
41635
+ class PreviewFeatureRolloutOperationRolloutStatusRolloutMetadata
41636
+ include Google::Apis::Core::Hashable
41637
+
41638
+ # The name of the rollout Ex. organizations//locations/global/rollouts/ Ex.
41639
+ # folders//locations/global/rollouts/ Ex. projects//locations/global/rollouts/.
41640
+ # Corresponds to the JSON property `rollout`
41641
+ # @return [String]
41642
+ attr_accessor :rollout
41643
+
41644
+ # The name of the rollout plan Ex. organizations//locations/global/rolloutPlans/
41645
+ # Ex. folders//locations/global/rolloutPlans/ Ex. projects//locations/global/
41646
+ # rolloutPlans/.
41647
+ # Corresponds to the JSON property `rolloutPlan`
41648
+ # @return [String]
41649
+ attr_accessor :rollout_plan
41650
+
41651
+ # [Output Only] The status of the feature.
41652
+ # Corresponds to the JSON property `status`
41653
+ # @return [Google::Apis::ComputeAlpha::PreviewFeatureStatus]
41654
+ attr_accessor :status
41655
+
41656
+ def initialize(**args)
41657
+ update!(**args)
41658
+ end
41659
+
41660
+ # Update properties of this object
41661
+ def update!(**args)
41662
+ @rollout = args[:rollout] if args.key?(:rollout)
41663
+ @rollout_plan = args[:rollout_plan] if args.key?(:rollout_plan)
41664
+ @status = args[:status] if args.key?(:status)
41665
+ end
41666
+ end
41667
+
41668
+ # [Output Only] The status of the feature.
41669
+ class PreviewFeatureStatus
41670
+ include Google::Apis::Core::Hashable
41671
+
41672
+ # [Output Only] The description of the feature.
41673
+ # Corresponds to the JSON property `description`
41674
+ # @return [String]
41675
+ attr_accessor :description
41676
+
41677
+ # [Output Only] Link to the public documentation for the feature.
41678
+ # Corresponds to the JSON property `helpLink`
41679
+ # @return [String]
41680
+ attr_accessor :help_link
41681
+
41682
+ #
41683
+ # Corresponds to the JSON property `releaseStatus`
41684
+ # @return [Google::Apis::ComputeAlpha::PreviewFeatureStatusReleaseStatus]
41685
+ attr_accessor :release_status
41686
+
41687
+ def initialize(**args)
41688
+ update!(**args)
41689
+ end
41690
+
41691
+ # Update properties of this object
41692
+ def update!(**args)
41693
+ @description = args[:description] if args.key?(:description)
41694
+ @help_link = args[:help_link] if args.key?(:help_link)
41695
+ @release_status = args[:release_status] if args.key?(:release_status)
41696
+ end
41697
+ end
41698
+
41699
+ #
41700
+ class PreviewFeatureStatusReleaseStatus
41701
+ include Google::Apis::Core::Hashable
41702
+
41703
+ # [Output Only] The stage of the feature.
41704
+ # Corresponds to the JSON property `stage`
41705
+ # @return [String]
41706
+ attr_accessor :stage
41707
+
41708
+ # Represents a whole or partial calendar date, such as a birthday. The time of
41709
+ # day and time zone are either specified elsewhere or are insignificant. The
41710
+ # date is relative to the Gregorian Calendar. This can represent one of the
41711
+ # following: * A full date, with non-zero year, month, and day values. * A month
41712
+ # and day, with a zero year (for example, an anniversary). * A year on its own,
41713
+ # with a zero month and a zero day. * A year and month, with a zero day (for
41714
+ # example, a credit card expiration date). Related types: * google.type.
41715
+ # TimeOfDay * google.type.DateTime * google.protobuf.Timestamp
41716
+ # Corresponds to the JSON property `updateDate`
41717
+ # @return [Google::Apis::ComputeAlpha::Date]
41718
+ attr_accessor :update_date
41719
+
41720
+ def initialize(**args)
41721
+ update!(**args)
41722
+ end
41723
+
41724
+ # Update properties of this object
41725
+ def update!(**args)
41726
+ @stage = args[:stage] if args.key?(:stage)
41727
+ @update_date = args[:update_date] if args.key?(:update_date)
41728
+ end
41729
+ end
41730
+
40911
41731
  # [Deprecated] All fields defined in a principal are ANDed.
40912
41732
  class Principal
40913
41733
  include Google::Apis::Core::Hashable
@@ -41702,8 +42522,8 @@ module Google
41702
42522
  # following values: - `INITIALIZING` The public delegated prefix is being
41703
42523
  # initialized and addresses cannot be created yet. - `READY_TO_ANNOUNCE` The
41704
42524
  # public delegated prefix is a live migration prefix and is active. - `ANNOUNCED`
41705
- # The public delegated prefix is active. - `DELETING` The public delegated
41706
- # prefix is being deprovsioned.
42525
+ # The public delegated prefix is announced and ready to use. - `DELETING` The
42526
+ # public delegated prefix is being deprovsioned.
41707
42527
  # Corresponds to the JSON property `status`
41708
42528
  # @return [String]
41709
42529
  attr_accessor :status
@@ -45292,6 +46112,12 @@ module Google
45292
46112
  # @return [String]
45293
46113
  attr_accessor :description
45294
46114
 
46115
+ # Indicates if this group of VMs have emergent maintenance enabled.
46116
+ # Corresponds to the JSON property `enableEmergentMaintenance`
46117
+ # @return [Boolean]
46118
+ attr_accessor :enable_emergent_maintenance
46119
+ alias_method :enable_emergent_maintenance?, :enable_emergent_maintenance
46120
+
45295
46121
  # [Output Only] The unique identifier for the resource. This identifier is
45296
46122
  # defined by the server.
45297
46123
  # Corresponds to the JSON property `id`
@@ -45304,6 +46130,12 @@ module Google
45304
46130
  # @return [String]
45305
46131
  attr_accessor :kind
45306
46132
 
46133
+ # [Output Only] Full or partial URL to parent commitments. This field displays
46134
+ # for reservations that are tied to multiple commitments.
46135
+ # Corresponds to the JSON property `linkedCommitments`
46136
+ # @return [Array<String>]
46137
+ attr_accessor :linked_commitments
46138
+
45307
46139
  # The name of the resource, provided by the client when initially creating the
45308
46140
  # resource. The resource name must be 1-63 characters long, and comply with
45309
46141
  # RFC1035. Specifically, the name must be 1-63 characters long and match the
@@ -45344,6 +46176,11 @@ module Google
45344
46176
  attr_accessor :satisfies_pzs
45345
46177
  alias_method :satisfies_pzs?, :satisfies_pzs
45346
46178
 
46179
+ # The type of maintenance for the reservation.
46180
+ # Corresponds to the JSON property `schedulingType`
46181
+ # @return [String]
46182
+ attr_accessor :scheduling_type
46183
+
45347
46184
  # [Output Only] Server-defined fully-qualified URL for this resource.
45348
46185
  # Corresponds to the JSON property `selfLink`
45349
46186
  # @return [String]
@@ -45399,14 +46236,17 @@ module Google
45399
46236
  @delete_at_time = args[:delete_at_time] if args.key?(:delete_at_time)
45400
46237
  @deployment_type = args[:deployment_type] if args.key?(:deployment_type)
45401
46238
  @description = args[:description] if args.key?(:description)
46239
+ @enable_emergent_maintenance = args[:enable_emergent_maintenance] if args.key?(:enable_emergent_maintenance)
45402
46240
  @id = args[:id] if args.key?(:id)
45403
46241
  @kind = args[:kind] if args.key?(:kind)
46242
+ @linked_commitments = args[:linked_commitments] if args.key?(:linked_commitments)
45404
46243
  @name = args[:name] if args.key?(:name)
45405
46244
  @reservation_mode = args[:reservation_mode] if args.key?(:reservation_mode)
45406
46245
  @reservation_sharing_policy = args[:reservation_sharing_policy] if args.key?(:reservation_sharing_policy)
45407
46246
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
45408
46247
  @resource_status = args[:resource_status] if args.key?(:resource_status)
45409
46248
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
46249
+ @scheduling_type = args[:scheduling_type] if args.key?(:scheduling_type)
45410
46250
  @self_link = args[:self_link] if args.key?(:self_link)
45411
46251
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
45412
46252
  @share_settings = args[:share_settings] if args.key?(:share_settings)
@@ -45636,6 +46476,19 @@ module Google
45636
46476
  # @return [Google::Apis::ComputeAlpha::GroupMaintenanceInfo]
45637
46477
  attr_accessor :reservation_maintenance
45638
46478
 
46479
+ # [Output Only] The number of reservation subBlocks associated with this
46480
+ # reservation block.
46481
+ # Corresponds to the JSON property `reservationSubBlockCount`
46482
+ # @return [Fixnum]
46483
+ attr_accessor :reservation_sub_block_count
46484
+
46485
+ # [Output Only] The number of in-use reservation subBlocks associated with this
46486
+ # reservation block. If at least one VM is running on a subBlock, it is
46487
+ # considered in-use.
46488
+ # Corresponds to the JSON property `reservationSubBlockInUseCount`
46489
+ # @return [Fixnum]
46490
+ attr_accessor :reservation_sub_block_in_use_count
46491
+
45639
46492
  # [Output Only] Server-defined fully-qualified URL for this resource.
45640
46493
  # Corresponds to the JSON property `selfLink`
45641
46494
  # @return [String]
@@ -45671,6 +46524,8 @@ module Google
45671
46524
  @name = args[:name] if args.key?(:name)
45672
46525
  @physical_topology = args[:physical_topology] if args.key?(:physical_topology)
45673
46526
  @reservation_maintenance = args[:reservation_maintenance] if args.key?(:reservation_maintenance)
46527
+ @reservation_sub_block_count = args[:reservation_sub_block_count] if args.key?(:reservation_sub_block_count)
46528
+ @reservation_sub_block_in_use_count = args[:reservation_sub_block_in_use_count] if args.key?(:reservation_sub_block_in_use_count)
45674
46529
  @self_link = args[:self_link] if args.key?(:self_link)
45675
46530
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
45676
46531
  @status = args[:status] if args.key?(:status)
@@ -45840,44 +46695,303 @@ module Google
45840
46695
  end
45841
46696
  end
45842
46697
 
45843
- #
45844
- class ReservationList
46698
+ #
46699
+ class ReservationList
46700
+ include Google::Apis::Core::Hashable
46701
+
46702
+ # [Output Only] The unique identifier for the resource. This identifier is
46703
+ # defined by the server.
46704
+ # Corresponds to the JSON property `id`
46705
+ # @return [String]
46706
+ attr_accessor :id
46707
+
46708
+ # [Output Only] A list of Allocation resources.
46709
+ # Corresponds to the JSON property `items`
46710
+ # @return [Array<Google::Apis::ComputeAlpha::Reservation>]
46711
+ attr_accessor :items
46712
+
46713
+ # [Output Only] Type of resource.Always compute#reservationsList for listsof
46714
+ # reservations
46715
+ # Corresponds to the JSON property `kind`
46716
+ # @return [String]
46717
+ attr_accessor :kind
46718
+
46719
+ # [Output Only] This token allows you to get the next page of results for list
46720
+ # requests. If the number of results is larger than maxResults, use the
46721
+ # nextPageToken as a value for the query parameter pageToken in the next list
46722
+ # request. Subsequent list requests will have their own nextPageToken to
46723
+ # continue paging through the results.
46724
+ # Corresponds to the JSON property `nextPageToken`
46725
+ # @return [String]
46726
+ attr_accessor :next_page_token
46727
+
46728
+ # [Output Only] Server-defined URL for this resource.
46729
+ # Corresponds to the JSON property `selfLink`
46730
+ # @return [String]
46731
+ attr_accessor :self_link
46732
+
46733
+ # [Output Only] Informational warning message.
46734
+ # Corresponds to the JSON property `warning`
46735
+ # @return [Google::Apis::ComputeAlpha::ReservationList::Warning]
46736
+ attr_accessor :warning
46737
+
46738
+ def initialize(**args)
46739
+ update!(**args)
46740
+ end
46741
+
46742
+ # Update properties of this object
46743
+ def update!(**args)
46744
+ @id = args[:id] if args.key?(:id)
46745
+ @items = args[:items] if args.key?(:items)
46746
+ @kind = args[:kind] if args.key?(:kind)
46747
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
46748
+ @self_link = args[:self_link] if args.key?(:self_link)
46749
+ @warning = args[:warning] if args.key?(:warning)
46750
+ end
46751
+
46752
+ # [Output Only] Informational warning message.
46753
+ class Warning
46754
+ include Google::Apis::Core::Hashable
46755
+
46756
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
46757
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
46758
+ # Corresponds to the JSON property `code`
46759
+ # @return [String]
46760
+ attr_accessor :code
46761
+
46762
+ # [Output Only] Metadata about this warning in key: value format. For example: "
46763
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
46764
+ # Corresponds to the JSON property `data`
46765
+ # @return [Array<Google::Apis::ComputeAlpha::ReservationList::Warning::Datum>]
46766
+ attr_accessor :data
46767
+
46768
+ # [Output Only] A human-readable description of the warning code.
46769
+ # Corresponds to the JSON property `message`
46770
+ # @return [String]
46771
+ attr_accessor :message
46772
+
46773
+ def initialize(**args)
46774
+ update!(**args)
46775
+ end
46776
+
46777
+ # Update properties of this object
46778
+ def update!(**args)
46779
+ @code = args[:code] if args.key?(:code)
46780
+ @data = args[:data] if args.key?(:data)
46781
+ @message = args[:message] if args.key?(:message)
46782
+ end
46783
+
46784
+ #
46785
+ class Datum
46786
+ include Google::Apis::Core::Hashable
46787
+
46788
+ # [Output Only] A key that provides more detail on the warning being returned.
46789
+ # For example, for warnings where there are no results in a list request for a
46790
+ # particular zone, this key might be scope and the key value might be the zone
46791
+ # name. Other examples might be a key indicating a deprecated resource and a
46792
+ # suggested replacement, or a warning about invalid network settings (for
46793
+ # example, if an instance attempts to perform IP forwarding but is not enabled
46794
+ # for IP forwarding).
46795
+ # Corresponds to the JSON property `key`
46796
+ # @return [String]
46797
+ attr_accessor :key
46798
+
46799
+ # [Output Only] A warning data value corresponding to the key.
46800
+ # Corresponds to the JSON property `value`
46801
+ # @return [String]
46802
+ attr_accessor :value
46803
+
46804
+ def initialize(**args)
46805
+ update!(**args)
46806
+ end
46807
+
46808
+ # Update properties of this object
46809
+ def update!(**args)
46810
+ @key = args[:key] if args.key?(:key)
46811
+ @value = args[:value] if args.key?(:value)
46812
+ end
46813
+ end
46814
+ end
46815
+ end
46816
+
46817
+ # Represents a reservation subBlock resource.
46818
+ class ReservationSubBlock
45845
46819
  include Google::Apis::Core::Hashable
45846
46820
 
46821
+ # [Output Only] The number of hosts that are allocated in this reservation
46822
+ # subBlock.
46823
+ # Corresponds to the JSON property `count`
46824
+ # @return [Fixnum]
46825
+ attr_accessor :count
46826
+
46827
+ # [Output Only] Creation timestamp in RFC3339 text format.
46828
+ # Corresponds to the JSON property `creationTimestamp`
46829
+ # @return [String]
46830
+ attr_accessor :creation_timestamp
46831
+
45847
46832
  # [Output Only] The unique identifier for the resource. This identifier is
45848
46833
  # defined by the server.
45849
46834
  # Corresponds to the JSON property `id`
46835
+ # @return [Fixnum]
46836
+ attr_accessor :id
46837
+
46838
+ # [Output Only] The number of instances that are currently in use on this
46839
+ # reservation subBlock.
46840
+ # Corresponds to the JSON property `inUseCount`
46841
+ # @return [Fixnum]
46842
+ attr_accessor :in_use_count
46843
+
46844
+ # [Output Only] Type of the resource. Always compute#reservationSubBlock for
46845
+ # reservation subBlocks.
46846
+ # Corresponds to the JSON property `kind`
46847
+ # @return [String]
46848
+ attr_accessor :kind
46849
+
46850
+ # [Output Only] The name of this reservation subBlock generated by Google
46851
+ # Compute Engine. The name must be 1-63 characters long, and comply with RFC1035
46852
+ # @pattern [a-z](?:[-a-z0-9]`0,61`[a-z0-9])?
46853
+ # Corresponds to the JSON property `name`
46854
+ # @return [String]
46855
+ attr_accessor :name
46856
+
46857
+ # [Output Only] The physical topology of the reservation subBlock.
46858
+ # Corresponds to the JSON property `physicalTopology`
46859
+ # @return [Google::Apis::ComputeAlpha::ReservationSubBlockPhysicalTopology]
46860
+ attr_accessor :physical_topology
46861
+
46862
+ # Maintenance Info for ReservationBlocks.
46863
+ # Corresponds to the JSON property `reservationSubBlockMaintenance`
46864
+ # @return [Google::Apis::ComputeAlpha::GroupMaintenanceInfo]
46865
+ attr_accessor :reservation_sub_block_maintenance
46866
+
46867
+ # [Output Only] Server-defined fully-qualified URL for this resource.
46868
+ # Corresponds to the JSON property `selfLink`
46869
+ # @return [String]
46870
+ attr_accessor :self_link
46871
+
46872
+ # [Output Only] Server-defined URL for this resource with the resource id.
46873
+ # Corresponds to the JSON property `selfLinkWithId`
46874
+ # @return [String]
46875
+ attr_accessor :self_link_with_id
46876
+
46877
+ # [Output Only] Status of the reservation subBlock.
46878
+ # Corresponds to the JSON property `status`
46879
+ # @return [String]
46880
+ attr_accessor :status
46881
+
46882
+ # [Output Only] Zone in which the reservation subBlock resides.
46883
+ # Corresponds to the JSON property `zone`
46884
+ # @return [String]
46885
+ attr_accessor :zone
46886
+
46887
+ def initialize(**args)
46888
+ update!(**args)
46889
+ end
46890
+
46891
+ # Update properties of this object
46892
+ def update!(**args)
46893
+ @count = args[:count] if args.key?(:count)
46894
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
46895
+ @id = args[:id] if args.key?(:id)
46896
+ @in_use_count = args[:in_use_count] if args.key?(:in_use_count)
46897
+ @kind = args[:kind] if args.key?(:kind)
46898
+ @name = args[:name] if args.key?(:name)
46899
+ @physical_topology = args[:physical_topology] if args.key?(:physical_topology)
46900
+ @reservation_sub_block_maintenance = args[:reservation_sub_block_maintenance] if args.key?(:reservation_sub_block_maintenance)
46901
+ @self_link = args[:self_link] if args.key?(:self_link)
46902
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
46903
+ @status = args[:status] if args.key?(:status)
46904
+ @zone = args[:zone] if args.key?(:zone)
46905
+ end
46906
+ end
46907
+
46908
+ #
46909
+ class ReservationSubBlockPhysicalTopology
46910
+ include Google::Apis::Core::Hashable
46911
+
46912
+ # The hash of the capacity block within the cluster.
46913
+ # Corresponds to the JSON property `block`
46914
+ # @return [String]
46915
+ attr_accessor :block
46916
+
46917
+ # The cluster name of the reservation subBlock.
46918
+ # Corresponds to the JSON property `cluster`
46919
+ # @return [String]
46920
+ attr_accessor :cluster
46921
+
46922
+ # The hash of the capacity sub-block within the capacity block.
46923
+ # Corresponds to the JSON property `subBlock`
46924
+ # @return [String]
46925
+ attr_accessor :sub_block
46926
+
46927
+ def initialize(**args)
46928
+ update!(**args)
46929
+ end
46930
+
46931
+ # Update properties of this object
46932
+ def update!(**args)
46933
+ @block = args[:block] if args.key?(:block)
46934
+ @cluster = args[:cluster] if args.key?(:cluster)
46935
+ @sub_block = args[:sub_block] if args.key?(:sub_block)
46936
+ end
46937
+ end
46938
+
46939
+ #
46940
+ class ReservationSubBlocksGetResponse
46941
+ include Google::Apis::Core::Hashable
46942
+
46943
+ # Represents a reservation subBlock resource.
46944
+ # Corresponds to the JSON property `resource`
46945
+ # @return [Google::Apis::ComputeAlpha::ReservationSubBlock]
46946
+ attr_accessor :resource
46947
+
46948
+ def initialize(**args)
46949
+ update!(**args)
46950
+ end
46951
+
46952
+ # Update properties of this object
46953
+ def update!(**args)
46954
+ @resource = args[:resource] if args.key?(:resource)
46955
+ end
46956
+ end
46957
+
46958
+ # A list of reservation subBlocks under a single reservation.
46959
+ class ReservationSubBlocksListResponse
46960
+ include Google::Apis::Core::Hashable
46961
+
46962
+ # Unique identifier for the resource; defined by the server.
46963
+ # Corresponds to the JSON property `id`
45850
46964
  # @return [String]
45851
46965
  attr_accessor :id
45852
46966
 
45853
- # [Output Only] A list of Allocation resources.
46967
+ # A list of reservation subBlock resources.
45854
46968
  # Corresponds to the JSON property `items`
45855
- # @return [Array<Google::Apis::ComputeAlpha::Reservation>]
46969
+ # @return [Array<Google::Apis::ComputeAlpha::ReservationSubBlock>]
45856
46970
  attr_accessor :items
45857
46971
 
45858
- # [Output Only] Type of resource.Always compute#reservationsList for listsof
45859
- # reservations
46972
+ # Type of the resource. Always compute#reservationSubBlock for a list of
46973
+ # reservation subBlocks.
45860
46974
  # Corresponds to the JSON property `kind`
45861
46975
  # @return [String]
45862
46976
  attr_accessor :kind
45863
46977
 
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.
46978
+ # This token allows you to get the next page of results for list requests. If
46979
+ # the number of results is larger than maxResults, use the nextPageToken as a
46980
+ # value for the query parameter pageToken in the next list request. Subsequent
46981
+ # list requests will have their own nextPageToken to continue paging through the
46982
+ # results.
45869
46983
  # Corresponds to the JSON property `nextPageToken`
45870
46984
  # @return [String]
45871
46985
  attr_accessor :next_page_token
45872
46986
 
45873
- # [Output Only] Server-defined URL for this resource.
46987
+ # Server-defined URL for this resource.
45874
46988
  # Corresponds to the JSON property `selfLink`
45875
46989
  # @return [String]
45876
46990
  attr_accessor :self_link
45877
46991
 
45878
- # [Output Only] Informational warning message.
46992
+ # Informational warning message.
45879
46993
  # Corresponds to the JSON property `warning`
45880
- # @return [Google::Apis::ComputeAlpha::ReservationList::Warning]
46994
+ # @return [Google::Apis::ComputeAlpha::ReservationSubBlocksListResponse::Warning]
45881
46995
  attr_accessor :warning
45882
46996
 
45883
46997
  def initialize(**args)
@@ -45894,7 +47008,7 @@ module Google
45894
47008
  @warning = args[:warning] if args.key?(:warning)
45895
47009
  end
45896
47010
 
45897
- # [Output Only] Informational warning message.
47011
+ # Informational warning message.
45898
47012
  class Warning
45899
47013
  include Google::Apis::Core::Hashable
45900
47014
 
@@ -45907,7 +47021,7 @@ module Google
45907
47021
  # [Output Only] Metadata about this warning in key: value format. For example: "
45908
47022
  # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
45909
47023
  # Corresponds to the JSON property `data`
45910
- # @return [Array<Google::Apis::ComputeAlpha::ReservationList::Warning::Datum>]
47024
+ # @return [Array<Google::Apis::ComputeAlpha::ReservationSubBlocksListResponse::Warning::Datum>]
45911
47025
  attr_accessor :data
45912
47026
 
45913
47027
  # [Output Only] A human-readable description of the warning code.
@@ -47390,12 +48504,42 @@ module Google
47390
48504
  class ResourceStatusEffectiveInstanceMetadata
47391
48505
  include Google::Apis::Core::Hashable
47392
48506
 
48507
+ # Effective block-project-ssh-keys value at Instance level.
48508
+ # Corresponds to the JSON property `blockProjectSshKeysMetadataValue`
48509
+ # @return [Boolean]
48510
+ attr_accessor :block_project_ssh_keys_metadata_value
48511
+ alias_method :block_project_ssh_keys_metadata_value?, :block_project_ssh_keys_metadata_value
48512
+
48513
+ # Effective enable-guest-attributes value at Instance level.
48514
+ # Corresponds to the JSON property `enableGuestAttributesMetadataValue`
48515
+ # @return [Boolean]
48516
+ attr_accessor :enable_guest_attributes_metadata_value
48517
+ alias_method :enable_guest_attributes_metadata_value?, :enable_guest_attributes_metadata_value
48518
+
48519
+ # Effective enable-osinventory value at Instance level.
48520
+ # Corresponds to the JSON property `enableOsInventoryMetadataValue`
48521
+ # @return [Boolean]
48522
+ attr_accessor :enable_os_inventory_metadata_value
48523
+ alias_method :enable_os_inventory_metadata_value?, :enable_os_inventory_metadata_value
48524
+
48525
+ # Effective enable-osconfig value at Instance level.
48526
+ # Corresponds to the JSON property `enableOsconfigMetadataValue`
48527
+ # @return [Boolean]
48528
+ attr_accessor :enable_osconfig_metadata_value
48529
+ alias_method :enable_osconfig_metadata_value?, :enable_osconfig_metadata_value
48530
+
47393
48531
  # Effective enable-oslogin value at Instance level.
47394
48532
  # Corresponds to the JSON property `enableOsloginMetadataValue`
47395
48533
  # @return [Boolean]
47396
48534
  attr_accessor :enable_oslogin_metadata_value
47397
48535
  alias_method :enable_oslogin_metadata_value?, :enable_oslogin_metadata_value
47398
48536
 
48537
+ # Effective serial-port-enable value at Instance level.
48538
+ # Corresponds to the JSON property `serialPortEnableMetadataValue`
48539
+ # @return [Boolean]
48540
+ attr_accessor :serial_port_enable_metadata_value
48541
+ alias_method :serial_port_enable_metadata_value?, :serial_port_enable_metadata_value
48542
+
47399
48543
  # Effective VM DNS setting at Instance level.
47400
48544
  # Corresponds to the JSON property `vmDnsSettingMetadataValue`
47401
48545
  # @return [String]
@@ -47407,7 +48551,12 @@ module Google
47407
48551
 
47408
48552
  # Update properties of this object
47409
48553
  def update!(**args)
48554
+ @block_project_ssh_keys_metadata_value = args[:block_project_ssh_keys_metadata_value] if args.key?(:block_project_ssh_keys_metadata_value)
48555
+ @enable_guest_attributes_metadata_value = args[:enable_guest_attributes_metadata_value] if args.key?(:enable_guest_attributes_metadata_value)
48556
+ @enable_os_inventory_metadata_value = args[:enable_os_inventory_metadata_value] if args.key?(:enable_os_inventory_metadata_value)
48557
+ @enable_osconfig_metadata_value = args[:enable_osconfig_metadata_value] if args.key?(:enable_osconfig_metadata_value)
47410
48558
  @enable_oslogin_metadata_value = args[:enable_oslogin_metadata_value] if args.key?(:enable_oslogin_metadata_value)
48559
+ @serial_port_enable_metadata_value = args[:serial_port_enable_metadata_value] if args.key?(:serial_port_enable_metadata_value)
47411
48560
  @vm_dns_setting_metadata_value = args[:vm_dns_setting_metadata_value] if args.key?(:vm_dns_setting_metadata_value)
47412
48561
  end
47413
48562
  end
@@ -47841,8 +48990,9 @@ module Google
47841
48990
  attr_accessor :next_hop_inter_region_cost
47842
48991
 
47843
48992
  # [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.
48993
+ # the route. This field will only be populated for dynamic routes generated by
48994
+ # Cloud Router with a linked interconnectAttachment or the static route
48995
+ # generated by each L2 Interconnect Attachment.
47846
48996
  # Corresponds to the JSON property `nextHopInterconnectAttachment`
47847
48997
  # @return [String]
47848
48998
  attr_accessor :next_hop_interconnect_attachment
@@ -47885,6 +49035,11 @@ module Google
47885
49035
  # @return [String]
47886
49036
  attr_accessor :next_hop_vpn_tunnel
47887
49037
 
49038
+ # Additional route parameters.
49039
+ # Corresponds to the JSON property `params`
49040
+ # @return [Google::Apis::ComputeAlpha::RouteParams]
49041
+ attr_accessor :params
49042
+
47888
49043
  # The priority of this route. Priority is used to break ties in cases where
47889
49044
  # there is more than one matching route of equal prefix length. In cases where
47890
49045
  # multiple routes have equal prefix length, the one with the lowest-numbered
@@ -47957,6 +49112,7 @@ module Google
47957
49112
  @next_hop_origin = args[:next_hop_origin] if args.key?(:next_hop_origin)
47958
49113
  @next_hop_peering = args[:next_hop_peering] if args.key?(:next_hop_peering)
47959
49114
  @next_hop_vpn_tunnel = args[:next_hop_vpn_tunnel] if args.key?(:next_hop_vpn_tunnel)
49115
+ @params = args[:params] if args.key?(:params)
47960
49116
  @priority = args[:priority] if args.key?(:priority)
47961
49117
  @route_status = args[:route_status] if args.key?(:route_status)
47962
49118
  @route_type = args[:route_type] if args.key?(:route_type)
@@ -48031,74 +49187,169 @@ module Google
48031
49187
  end
48032
49188
  end
48033
49189
 
48034
- #
48035
- class RouteAsPath
48036
- include Google::Apis::Core::Hashable
48037
-
48038
- # [Output Only] The AS numbers of the AS Path.
48039
- # Corresponds to the JSON property `asLists`
48040
- # @return [Array<Fixnum>]
48041
- attr_accessor :as_lists
48042
-
48043
- # [Output Only] The type of the AS Path, which can be one of the following
48044
- # values: - 'AS_SET': unordered set of autonomous systems that the route in has
48045
- # traversed - 'AS_SEQUENCE': ordered set of autonomous systems that the route
48046
- # has traversed - 'AS_CONFED_SEQUENCE': ordered set of Member Autonomous Systems
48047
- # in the local confederation that the route has traversed - 'AS_CONFED_SET':
48048
- # unordered set of Member Autonomous Systems in the local confederation that the
48049
- # route has traversed
48050
- # Corresponds to the JSON property `pathSegmentType`
48051
- # @return [String]
48052
- attr_accessor :path_segment_type
48053
-
48054
- def initialize(**args)
48055
- update!(**args)
48056
- end
48057
-
48058
- # Update properties of this object
48059
- def update!(**args)
48060
- @as_lists = args[:as_lists] if args.key?(:as_lists)
48061
- @path_segment_type = args[:path_segment_type] if args.key?(:path_segment_type)
48062
- end
48063
- end
48064
-
48065
- # Contains a list of Route resources.
48066
- class RouteList
49190
+ #
49191
+ class RouteAsPath
49192
+ include Google::Apis::Core::Hashable
49193
+
49194
+ # [Output Only] The AS numbers of the AS Path.
49195
+ # Corresponds to the JSON property `asLists`
49196
+ # @return [Array<Fixnum>]
49197
+ attr_accessor :as_lists
49198
+
49199
+ # [Output Only] The type of the AS Path, which can be one of the following
49200
+ # values: - 'AS_SET': unordered set of autonomous systems that the route in has
49201
+ # traversed - 'AS_SEQUENCE': ordered set of autonomous systems that the route
49202
+ # has traversed - 'AS_CONFED_SEQUENCE': ordered set of Member Autonomous Systems
49203
+ # in the local confederation that the route has traversed - 'AS_CONFED_SET':
49204
+ # unordered set of Member Autonomous Systems in the local confederation that the
49205
+ # route has traversed
49206
+ # Corresponds to the JSON property `pathSegmentType`
49207
+ # @return [String]
49208
+ attr_accessor :path_segment_type
49209
+
49210
+ def initialize(**args)
49211
+ update!(**args)
49212
+ end
49213
+
49214
+ # Update properties of this object
49215
+ def update!(**args)
49216
+ @as_lists = args[:as_lists] if args.key?(:as_lists)
49217
+ @path_segment_type = args[:path_segment_type] if args.key?(:path_segment_type)
49218
+ end
49219
+ end
49220
+
49221
+ # Contains a list of Route resources.
49222
+ class RouteList
49223
+ include Google::Apis::Core::Hashable
49224
+
49225
+ # [Output Only] Unique identifier for the resource; defined by the server.
49226
+ # Corresponds to the JSON property `id`
49227
+ # @return [String]
49228
+ attr_accessor :id
49229
+
49230
+ # A list of Route resources.
49231
+ # Corresponds to the JSON property `items`
49232
+ # @return [Array<Google::Apis::ComputeAlpha::Route>]
49233
+ attr_accessor :items
49234
+
49235
+ # Type of resource.
49236
+ # Corresponds to the JSON property `kind`
49237
+ # @return [String]
49238
+ attr_accessor :kind
49239
+
49240
+ # [Output Only] This token allows you to get the next page of results for list
49241
+ # requests. If the number of results is larger than maxResults, use the
49242
+ # nextPageToken as a value for the query parameter pageToken in the next list
49243
+ # request. Subsequent list requests will have their own nextPageToken to
49244
+ # continue paging through the results.
49245
+ # Corresponds to the JSON property `nextPageToken`
49246
+ # @return [String]
49247
+ attr_accessor :next_page_token
49248
+
49249
+ # [Output Only] Server-defined URL for this resource.
49250
+ # Corresponds to the JSON property `selfLink`
49251
+ # @return [String]
49252
+ attr_accessor :self_link
49253
+
49254
+ # [Output Only] Informational warning message.
49255
+ # Corresponds to the JSON property `warning`
49256
+ # @return [Google::Apis::ComputeAlpha::RouteList::Warning]
49257
+ attr_accessor :warning
49258
+
49259
+ def initialize(**args)
49260
+ update!(**args)
49261
+ end
49262
+
49263
+ # Update properties of this object
49264
+ def update!(**args)
49265
+ @id = args[:id] if args.key?(:id)
49266
+ @items = args[:items] if args.key?(:items)
49267
+ @kind = args[:kind] if args.key?(:kind)
49268
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
49269
+ @self_link = args[:self_link] if args.key?(:self_link)
49270
+ @warning = args[:warning] if args.key?(:warning)
49271
+ end
49272
+
49273
+ # [Output Only] Informational warning message.
49274
+ class Warning
49275
+ include Google::Apis::Core::Hashable
49276
+
49277
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
49278
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
49279
+ # Corresponds to the JSON property `code`
49280
+ # @return [String]
49281
+ attr_accessor :code
49282
+
49283
+ # [Output Only] Metadata about this warning in key: value format. For example: "
49284
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
49285
+ # Corresponds to the JSON property `data`
49286
+ # @return [Array<Google::Apis::ComputeAlpha::RouteList::Warning::Datum>]
49287
+ attr_accessor :data
49288
+
49289
+ # [Output Only] A human-readable description of the warning code.
49290
+ # Corresponds to the JSON property `message`
49291
+ # @return [String]
49292
+ attr_accessor :message
49293
+
49294
+ def initialize(**args)
49295
+ update!(**args)
49296
+ end
49297
+
49298
+ # Update properties of this object
49299
+ def update!(**args)
49300
+ @code = args[:code] if args.key?(:code)
49301
+ @data = args[:data] if args.key?(:data)
49302
+ @message = args[:message] if args.key?(:message)
49303
+ end
49304
+
49305
+ #
49306
+ class Datum
49307
+ include Google::Apis::Core::Hashable
49308
+
49309
+ # [Output Only] A key that provides more detail on the warning being returned.
49310
+ # For example, for warnings where there are no results in a list request for a
49311
+ # particular zone, this key might be scope and the key value might be the zone
49312
+ # name. Other examples might be a key indicating a deprecated resource and a
49313
+ # suggested replacement, or a warning about invalid network settings (for
49314
+ # example, if an instance attempts to perform IP forwarding but is not enabled
49315
+ # for IP forwarding).
49316
+ # Corresponds to the JSON property `key`
49317
+ # @return [String]
49318
+ attr_accessor :key
49319
+
49320
+ # [Output Only] A warning data value corresponding to the key.
49321
+ # Corresponds to the JSON property `value`
49322
+ # @return [String]
49323
+ attr_accessor :value
49324
+
49325
+ def initialize(**args)
49326
+ update!(**args)
49327
+ end
49328
+
49329
+ # Update properties of this object
49330
+ def update!(**args)
49331
+ @key = args[:key] if args.key?(:key)
49332
+ @value = args[:value] if args.key?(:value)
49333
+ end
49334
+ end
49335
+ end
49336
+ end
49337
+
49338
+ # Additional route parameters.
49339
+ class RouteParams
48067
49340
  include Google::Apis::Core::Hashable
48068
49341
 
48069
- # [Output Only] Unique identifier for the resource; defined by the server.
48070
- # Corresponds to the JSON property `id`
48071
- # @return [String]
48072
- attr_accessor :id
48073
-
48074
- # A list of Route resources.
48075
- # Corresponds to the JSON property `items`
48076
- # @return [Array<Google::Apis::ComputeAlpha::Route>]
48077
- attr_accessor :items
48078
-
48079
- # Type of resource.
48080
- # Corresponds to the JSON property `kind`
48081
- # @return [String]
48082
- attr_accessor :kind
48083
-
48084
- # [Output Only] This token allows you to get the next page of results for list
48085
- # requests. If the number of results is larger than maxResults, use the
48086
- # nextPageToken as a value for the query parameter pageToken in the next list
48087
- # request. Subsequent list requests will have their own nextPageToken to
48088
- # continue paging through the results.
48089
- # Corresponds to the JSON property `nextPageToken`
48090
- # @return [String]
48091
- attr_accessor :next_page_token
48092
-
48093
- # [Output Only] Server-defined URL for this resource.
48094
- # Corresponds to the JSON property `selfLink`
48095
- # @return [String]
48096
- attr_accessor :self_link
48097
-
48098
- # [Output Only] Informational warning message.
48099
- # Corresponds to the JSON property `warning`
48100
- # @return [Google::Apis::ComputeAlpha::RouteList::Warning]
48101
- attr_accessor :warning
49342
+ # Tag keys/values directly bound to this resource. Tag keys and values have the
49343
+ # same definition as resource manager tags. The field is allowed for INSERT only.
49344
+ # The keys/values to set on the resource should be specified in either ID ` : `
49345
+ # or Namespaced format ` : `. For example the following are valid inputs: * `"
49346
+ # tagKeys/333" : "tagValues/444", "tagKeys/123" : "tagValues/456"` * `"123/
49347
+ # environment" : "production", "345/abc" : "xyz"` Note: * Invalid combinations
49348
+ # of ID & namespaced format is not supported. For instance: `"123/environment" :
49349
+ # "tagValues/444"` is invalid.
49350
+ # Corresponds to the JSON property `resourceManagerTags`
49351
+ # @return [Hash<String,String>]
49352
+ attr_accessor :resource_manager_tags
48102
49353
 
48103
49354
  def initialize(**args)
48104
49355
  update!(**args)
@@ -48106,76 +49357,7 @@ module Google
48106
49357
 
48107
49358
  # Update properties of this object
48108
49359
  def update!(**args)
48109
- @id = args[:id] if args.key?(:id)
48110
- @items = args[:items] if args.key?(:items)
48111
- @kind = args[:kind] if args.key?(:kind)
48112
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
48113
- @self_link = args[:self_link] if args.key?(:self_link)
48114
- @warning = args[:warning] if args.key?(:warning)
48115
- end
48116
-
48117
- # [Output Only] Informational warning message.
48118
- class Warning
48119
- include Google::Apis::Core::Hashable
48120
-
48121
- # [Output Only] A warning code, if applicable. For example, Compute Engine
48122
- # returns NO_RESULTS_ON_PAGE if there are no results in the response.
48123
- # Corresponds to the JSON property `code`
48124
- # @return [String]
48125
- attr_accessor :code
48126
-
48127
- # [Output Only] Metadata about this warning in key: value format. For example: "
48128
- # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
48129
- # Corresponds to the JSON property `data`
48130
- # @return [Array<Google::Apis::ComputeAlpha::RouteList::Warning::Datum>]
48131
- attr_accessor :data
48132
-
48133
- # [Output Only] A human-readable description of the warning code.
48134
- # Corresponds to the JSON property `message`
48135
- # @return [String]
48136
- attr_accessor :message
48137
-
48138
- def initialize(**args)
48139
- update!(**args)
48140
- end
48141
-
48142
- # Update properties of this object
48143
- def update!(**args)
48144
- @code = args[:code] if args.key?(:code)
48145
- @data = args[:data] if args.key?(:data)
48146
- @message = args[:message] if args.key?(:message)
48147
- end
48148
-
48149
- #
48150
- class Datum
48151
- include Google::Apis::Core::Hashable
48152
-
48153
- # [Output Only] A key that provides more detail on the warning being returned.
48154
- # For example, for warnings where there are no results in a list request for a
48155
- # particular zone, this key might be scope and the key value might be the zone
48156
- # name. Other examples might be a key indicating a deprecated resource and a
48157
- # suggested replacement, or a warning about invalid network settings (for
48158
- # example, if an instance attempts to perform IP forwarding but is not enabled
48159
- # for IP forwarding).
48160
- # Corresponds to the JSON property `key`
48161
- # @return [String]
48162
- attr_accessor :key
48163
-
48164
- # [Output Only] A warning data value corresponding to the key.
48165
- # Corresponds to the JSON property `value`
48166
- # @return [String]
48167
- attr_accessor :value
48168
-
48169
- def initialize(**args)
48170
- update!(**args)
48171
- end
48172
-
48173
- # Update properties of this object
48174
- def update!(**args)
48175
- @key = args[:key] if args.key?(:key)
48176
- @value = args[:value] if args.key?(:value)
48177
- end
48178
- end
49360
+ @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
48179
49361
  end
48180
49362
  end
48181
49363
 
@@ -51742,8 +52924,9 @@ module Google
51742
52924
  # @return [String]
51743
52925
  attr_accessor :log_level
51744
52926
 
51745
- # The maximum request size chosen by the customer with Waf enabled. Currently
51746
- # only "8KB" and "128KB" are supported. Values are case insensitive.
52927
+ # The maximum request size chosen by the customer with Waf enabled. Values
52928
+ # supported are "8KB", "16KB, "32KB", "48KB" and "64KB". Values are case
52929
+ # insensitive.
51747
52930
  # Corresponds to the JSON property `requestBodyInspectionSize`
51748
52931
  # @return [String]
51749
52932
  attr_accessor :request_body_inspection_size
@@ -53515,6 +54698,12 @@ module Google
53515
54698
  # @return [String]
53516
54699
  attr_accessor :endpoint
53517
54700
 
54701
+ # NAT IPs of the connected PSC endpoint and those of other endpoints propagated
54702
+ # from it.
54703
+ # Corresponds to the JSON property `natIps`
54704
+ # @return [Array<String>]
54705
+ attr_accessor :nat_ips
54706
+
53518
54707
  # The number of consumer Network Connectivity Center spokes that the connected
53519
54708
  # Private Service Connect endpoint has propagated to.
53520
54709
  # Corresponds to the JSON property `propagatedConnectionCount`
@@ -53539,6 +54728,7 @@ module Google
53539
54728
  def update!(**args)
53540
54729
  @consumer_network = args[:consumer_network] if args.key?(:consumer_network)
53541
54730
  @endpoint = args[:endpoint] if args.key?(:endpoint)
54731
+ @nat_ips = args[:nat_ips] if args.key?(:nat_ips)
53542
54732
  @propagated_connection_count = args[:propagated_connection_count] if args.key?(:propagated_connection_count)
53543
54733
  @psc_connection_id = args[:psc_connection_id] if args.key?(:psc_connection_id)
53544
54734
  @status = args[:status] if args.key?(:status)
@@ -54268,7 +55458,7 @@ module Google
54268
55458
 
54269
55459
  # Represents a Persistent Disk Snapshot resource. You can use snapshots to back
54270
55460
  # up data on a regular interval. For more information, read Creating persistent
54271
- # disk snapshots.
55461
+ # disk snapshots. LINT.IfChange
54272
55462
  class Snapshot
54273
55463
  include Google::Apis::Core::Hashable
54274
55464
 
@@ -54827,6 +56017,44 @@ module Google
54827
56017
  end
54828
56018
  end
54829
56019
 
56020
+ #
56021
+ class SnapshotGroupParameters
56022
+ include Google::Apis::Core::Hashable
56023
+
56024
+ # URLs of the zones where disks should be replicated to. Only applicable for
56025
+ # regional resources.
56026
+ # Corresponds to the JSON property `replicaZones`
56027
+ # @return [Array<String>]
56028
+ attr_accessor :replica_zones
56029
+
56030
+ # The source snapshot group used to create disks. You can provide this as a
56031
+ # partial or full URL to the resource. For example, the following are valid
56032
+ # values: - https://www.googleapis.com/compute/v1/projects/project /global/
56033
+ # snapshotGroups/snapshotGroup - projects/project/global/snapshotGroups/
56034
+ # snapshotGroup - global/snapshotGroups/snapshotGroup
56035
+ # Corresponds to the JSON property `sourceSnapshotGroup`
56036
+ # @return [String]
56037
+ attr_accessor :source_snapshot_group
56038
+
56039
+ # URL of the disk type resource describing which disk type to use to create
56040
+ # disks. Provide this when creating the disk. For example: projects/project /
56041
+ # zones/zone/diskTypes/pd-ssd . See Persistent disk types.
56042
+ # Corresponds to the JSON property `type`
56043
+ # @return [String]
56044
+ attr_accessor :type
56045
+
56046
+ def initialize(**args)
56047
+ update!(**args)
56048
+ end
56049
+
56050
+ # Update properties of this object
56051
+ def update!(**args)
56052
+ @replica_zones = args[:replica_zones] if args.key?(:replica_zones)
56053
+ @source_snapshot_group = args[:source_snapshot_group] if args.key?(:source_snapshot_group)
56054
+ @type = args[:type] if args.key?(:type)
56055
+ end
56056
+ end
56057
+
54830
56058
  #
54831
56059
  class SnapshotGroupSourceInfo
54832
56060
  include Google::Apis::Core::Hashable
@@ -58147,6 +59375,11 @@ module Google
58147
59375
  # @return [String]
58148
59376
  attr_accessor :network
58149
59377
 
59378
+ # Additional subnetwork parameters.
59379
+ # Corresponds to the JSON property `params`
59380
+ # @return [Google::Apis::ComputeAlpha::SubnetworkParams]
59381
+ attr_accessor :params
59382
+
58150
59383
  # Whether the VMs in this subnet can access Google services without assigned
58151
59384
  # external IP addresses. This field can be both set at resource creation time
58152
59385
  # and updated using setPrivateIpGoogleAccess.
@@ -58161,20 +59394,7 @@ module Google
58161
59394
  # @return [String]
58162
59395
  attr_accessor :private_ipv6_google_access
58163
59396
 
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.
59397
+ #
58178
59398
  # Corresponds to the JSON property `purpose`
58179
59399
  # @return [String]
58180
59400
  attr_accessor :purpose
@@ -58236,6 +59456,24 @@ module Google
58236
59456
  # @return [String]
58237
59457
  attr_accessor :state
58238
59458
 
59459
+ # Output only. [Output Only] The array of external IPv6 network ranges reserved
59460
+ # from the subnetwork's external IPv6 range for system use.
59461
+ # Corresponds to the JSON property `systemReservedExternalIpv6Ranges`
59462
+ # @return [Array<String>]
59463
+ attr_accessor :system_reserved_external_ipv6_ranges
59464
+
59465
+ # Output only. [Output Only] The array of internal IPv6 network ranges reserved
59466
+ # from the subnetwork's internal IPv6 range for system use.
59467
+ # Corresponds to the JSON property `systemReservedInternalIpv6Ranges`
59468
+ # @return [Array<String>]
59469
+ attr_accessor :system_reserved_internal_ipv6_ranges
59470
+
59471
+ # The current IP utilization of all subnetwork ranges. Contains the total number
59472
+ # of allocated and free IPs in each range.
59473
+ # Corresponds to the JSON property `utilizationDetails`
59474
+ # @return [Google::Apis::ComputeAlpha::SubnetworkUtilizationDetails]
59475
+ attr_accessor :utilization_details
59476
+
58239
59477
  # A repeated field indicating the VLAN IDs supported on this subnetwork. During
58240
59478
  # Subnet creation, specifying vlan is valid only if enable_l2 is true. During
58241
59479
  # Subnet Update, specifying vlan is allowed only for l2 enabled subnets.
@@ -58273,6 +59511,7 @@ module Google
58273
59511
  @metadata = args[:metadata] if args.key?(:metadata)
58274
59512
  @name = args[:name] if args.key?(:name)
58275
59513
  @network = args[:network] if args.key?(:network)
59514
+ @params = args[:params] if args.key?(:params)
58276
59515
  @private_ip_google_access = args[:private_ip_google_access] if args.key?(:private_ip_google_access)
58277
59516
  @private_ipv6_google_access = args[:private_ipv6_google_access] if args.key?(:private_ipv6_google_access)
58278
59517
  @purpose = args[:purpose] if args.key?(:purpose)
@@ -58284,6 +59523,9 @@ module Google
58284
59523
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
58285
59524
  @stack_type = args[:stack_type] if args.key?(:stack_type)
58286
59525
  @state = args[:state] if args.key?(:state)
59526
+ @system_reserved_external_ipv6_ranges = args[:system_reserved_external_ipv6_ranges] if args.key?(:system_reserved_external_ipv6_ranges)
59527
+ @system_reserved_internal_ipv6_ranges = args[:system_reserved_internal_ipv6_ranges] if args.key?(:system_reserved_internal_ipv6_ranges)
59528
+ @utilization_details = args[:utilization_details] if args.key?(:utilization_details)
58287
59529
  @vlans = args[:vlans] if args.key?(:vlans)
58288
59530
  end
58289
59531
  end
@@ -58596,6 +59838,32 @@ module Google
58596
59838
  end
58597
59839
  end
58598
59840
 
59841
+ # Additional subnetwork parameters.
59842
+ class SubnetworkParams
59843
+ include Google::Apis::Core::Hashable
59844
+
59845
+ # Tag keys/values directly bound to this resource. Tag keys and values have the
59846
+ # same definition as resource manager tags. The field is allowed for INSERT only.
59847
+ # The keys/values to set on the resource should be specified in either ID ` : `
59848
+ # or Namespaced format ` : `. For example the following are valid inputs: * `"
59849
+ # tagKeys/333" : "tagValues/444", "tagKeys/123" : "tagValues/456"` * `"123/
59850
+ # environment" : "production", "345/abc" : "xyz"` Note: * Invalid combinations
59851
+ # of ID & namespaced format is not supported. For instance: `"123/environment" :
59852
+ # "tagValues/444"` is invalid.
59853
+ # Corresponds to the JSON property `resourceManagerTags`
59854
+ # @return [Hash<String,String>]
59855
+ attr_accessor :resource_manager_tags
59856
+
59857
+ def initialize(**args)
59858
+ update!(**args)
59859
+ end
59860
+
59861
+ # Update properties of this object
59862
+ def update!(**args)
59863
+ @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
59864
+ end
59865
+ end
59866
+
58599
59867
  # Represents a secondary IP range of a subnetwork.
58600
59868
  class SubnetworkSecondaryRange
58601
59869
  include Google::Apis::Core::Hashable
@@ -58633,6 +59901,101 @@ module Google
58633
59901
  end
58634
59902
  end
58635
59903
 
59904
+ # The current IP utilization of all subnetwork ranges. Contains the total number
59905
+ # of allocated and free IPs in each range.
59906
+ class SubnetworkUtilizationDetails
59907
+ include Google::Apis::Core::Hashable
59908
+
59909
+ # The IPV6 utilization of a single IP range.
59910
+ # Corresponds to the JSON property `externalIpv6InstanceUtilization`
59911
+ # @return [Google::Apis::ComputeAlpha::SubnetworkUtilizationDetailsIpv6Utilization]
59912
+ attr_accessor :external_ipv6_instance_utilization
59913
+
59914
+ # The IPV6 utilization of a single IP range.
59915
+ # Corresponds to the JSON property `externalIpv6LbUtilization`
59916
+ # @return [Google::Apis::ComputeAlpha::SubnetworkUtilizationDetailsIpv6Utilization]
59917
+ attr_accessor :external_ipv6_lb_utilization
59918
+
59919
+ # The IPV6 utilization of a single IP range.
59920
+ # Corresponds to the JSON property `internalIpv6Utilization`
59921
+ # @return [Google::Apis::ComputeAlpha::SubnetworkUtilizationDetailsIpv6Utilization]
59922
+ attr_accessor :internal_ipv6_utilization
59923
+
59924
+ # Utilizations of all IPV4 IP ranges. For primary ranges, the range name will be
59925
+ # empty.
59926
+ # Corresponds to the JSON property `ipv4Utilizations`
59927
+ # @return [Array<Google::Apis::ComputeAlpha::SubnetworkUtilizationDetailsIpv4Utilization>]
59928
+ attr_accessor :ipv4_utilizations
59929
+
59930
+ def initialize(**args)
59931
+ update!(**args)
59932
+ end
59933
+
59934
+ # Update properties of this object
59935
+ def update!(**args)
59936
+ @external_ipv6_instance_utilization = args[:external_ipv6_instance_utilization] if args.key?(:external_ipv6_instance_utilization)
59937
+ @external_ipv6_lb_utilization = args[:external_ipv6_lb_utilization] if args.key?(:external_ipv6_lb_utilization)
59938
+ @internal_ipv6_utilization = args[:internal_ipv6_utilization] if args.key?(:internal_ipv6_utilization)
59939
+ @ipv4_utilizations = args[:ipv4_utilizations] if args.key?(:ipv4_utilizations)
59940
+ end
59941
+ end
59942
+
59943
+ # The IPV4 utilization of a single IP range.
59944
+ class SubnetworkUtilizationDetailsIpv4Utilization
59945
+ include Google::Apis::Core::Hashable
59946
+
59947
+ # Will be set for secondary range. Empty for primary IPv4 range.
59948
+ # Corresponds to the JSON property `rangeName`
59949
+ # @return [String]
59950
+ attr_accessor :range_name
59951
+
59952
+ #
59953
+ # Corresponds to the JSON property `totalAllocatedIp`
59954
+ # @return [Fixnum]
59955
+ attr_accessor :total_allocated_ip
59956
+
59957
+ #
59958
+ # Corresponds to the JSON property `totalFreeIp`
59959
+ # @return [Fixnum]
59960
+ attr_accessor :total_free_ip
59961
+
59962
+ def initialize(**args)
59963
+ update!(**args)
59964
+ end
59965
+
59966
+ # Update properties of this object
59967
+ def update!(**args)
59968
+ @range_name = args[:range_name] if args.key?(:range_name)
59969
+ @total_allocated_ip = args[:total_allocated_ip] if args.key?(:total_allocated_ip)
59970
+ @total_free_ip = args[:total_free_ip] if args.key?(:total_free_ip)
59971
+ end
59972
+ end
59973
+
59974
+ # The IPV6 utilization of a single IP range.
59975
+ class SubnetworkUtilizationDetailsIpv6Utilization
59976
+ include Google::Apis::Core::Hashable
59977
+
59978
+ #
59979
+ # Corresponds to the JSON property `totalAllocatedIp`
59980
+ # @return [Google::Apis::ComputeAlpha::Uint128]
59981
+ attr_accessor :total_allocated_ip
59982
+
59983
+ #
59984
+ # Corresponds to the JSON property `totalFreeIp`
59985
+ # @return [Google::Apis::ComputeAlpha::Uint128]
59986
+ attr_accessor :total_free_ip
59987
+
59988
+ def initialize(**args)
59989
+ update!(**args)
59990
+ end
59991
+
59992
+ # Update properties of this object
59993
+ def update!(**args)
59994
+ @total_allocated_ip = args[:total_allocated_ip] if args.key?(:total_allocated_ip)
59995
+ @total_free_ip = args[:total_free_ip] if args.key?(:total_free_ip)
59996
+ end
59997
+ end
59998
+
58636
59999
  #
58637
60000
  class SubnetworksExpandIpCidrRangeRequest
58638
60001
  include Google::Apis::Core::Hashable
@@ -62904,6 +64267,17 @@ module Google
62904
64267
  # @return [String]
62905
64268
  attr_accessor :latest_window_start_time
62906
64269
 
64270
+ # Indicates whether the UpcomingMaintenance will be triggered on VM shutdown.
64271
+ # Corresponds to the JSON property `maintenanceOnShutdown`
64272
+ # @return [Boolean]
64273
+ attr_accessor :maintenance_on_shutdown
64274
+ alias_method :maintenance_on_shutdown?, :maintenance_on_shutdown
64275
+
64276
+ # The reasons for the maintenance. Only valid for vms.
64277
+ # Corresponds to the JSON property `maintenanceReasons`
64278
+ # @return [Array<String>]
64279
+ attr_accessor :maintenance_reasons
64280
+
62907
64281
  #
62908
64282
  # Corresponds to the JSON property `maintenanceStatus`
62909
64283
  # @return [String]
@@ -62946,6 +64320,8 @@ module Google
62946
64320
  @can_reschedule = args[:can_reschedule] if args.key?(:can_reschedule)
62947
64321
  @date = args[:date] if args.key?(:date)
62948
64322
  @latest_window_start_time = args[:latest_window_start_time] if args.key?(:latest_window_start_time)
64323
+ @maintenance_on_shutdown = args[:maintenance_on_shutdown] if args.key?(:maintenance_on_shutdown)
64324
+ @maintenance_reasons = args[:maintenance_reasons] if args.key?(:maintenance_reasons)
62949
64325
  @maintenance_status = args[:maintenance_status] if args.key?(:maintenance_status)
62950
64326
  @start_time_window = args[:start_time_window] if args.key?(:start_time_window)
62951
64327
  @time = args[:time] if args.key?(:time)
@@ -63792,20 +65168,7 @@ module Google
63792
65168
  # @return [String]
63793
65169
  attr_accessor :network
63794
65170
 
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.
65171
+ #
63809
65172
  # Corresponds to the JSON property `purpose`
63810
65173
  # @return [String]
63811
65174
  attr_accessor :purpose