google-apis-compute_alpha 0.130.0 → 0.131.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.
@@ -5192,6 +5192,18 @@ module Google
5192
5192
  # @return [Array<Google::Apis::ComputeAlpha::BackendServiceUsedBy>]
5193
5193
  attr_accessor :used_by
5194
5194
 
5195
+ # The network scope of the backends that can be added to the backend
5196
+ # service. This field can be either GLOBAL_VPC_NETWORK orREGIONAL_VPC_NETWORK.
5197
+ # A backend service with the VPC scope set to GLOBAL_VPC_NETWORK
5198
+ # is only allowed to have backends in global VPC networks.
5199
+ # When the VPC scope is set to REGIONAL_VPC_NETWORK the backend
5200
+ # service is only allowed to have backends in regional networks in the same
5201
+ # scope as the backend service.
5202
+ # Note: if not specified then GLOBAL_VPC_NETWORK will be used.
5203
+ # Corresponds to the JSON property `vpcNetworkScope`
5204
+ # @return [String]
5205
+ attr_accessor :vpc_network_scope
5206
+
5195
5207
  def initialize(**args)
5196
5208
  update!(**args)
5197
5209
  end
@@ -5252,6 +5264,7 @@ module Google
5252
5264
  @timeout_sec = args[:timeout_sec] if args.key?(:timeout_sec)
5253
5265
  @tls_settings = args[:tls_settings] if args.key?(:tls_settings)
5254
5266
  @used_by = args[:used_by] if args.key?(:used_by)
5267
+ @vpc_network_scope = args[:vpc_network_scope] if args.key?(:vpc_network_scope)
5255
5268
  end
5256
5269
  end
5257
5270
 
@@ -5736,6 +5749,11 @@ module Google
5736
5749
  class BackendServiceDynamicForwarding
5737
5750
  include Google::Apis::Core::Hashable
5738
5751
 
5752
+ # Defines Dynamic Forwarding Proxy configuration.
5753
+ # Corresponds to the JSON property `forwardProxy`
5754
+ # @return [Google::Apis::ComputeAlpha::BackendServiceDynamicForwardingForwardProxy]
5755
+ attr_accessor :forward_proxy
5756
+
5739
5757
  # Defines a IP:PORT based dynamic forwarding configuration for the backend
5740
5758
  # service. Some ranges are restricted: Restricted
5741
5759
  # ranges.
@@ -5749,10 +5767,37 @@ module Google
5749
5767
 
5750
5768
  # Update properties of this object
5751
5769
  def update!(**args)
5770
+ @forward_proxy = args[:forward_proxy] if args.key?(:forward_proxy)
5752
5771
  @ip_port_selection = args[:ip_port_selection] if args.key?(:ip_port_selection)
5753
5772
  end
5754
5773
  end
5755
5774
 
5775
+ # Defines Dynamic Forwarding Proxy configuration.
5776
+ class BackendServiceDynamicForwardingForwardProxy
5777
+ include Google::Apis::Core::Hashable
5778
+
5779
+ # A boolean flag enabling dynamic forwarding proxy.
5780
+ # Corresponds to the JSON property `enabled`
5781
+ # @return [Boolean]
5782
+ attr_accessor :enabled
5783
+ alias_method :enabled?, :enabled
5784
+
5785
+ # Determines the dynamic forwarding proxy mode.
5786
+ # Corresponds to the JSON property `proxyMode`
5787
+ # @return [String]
5788
+ attr_accessor :proxy_mode
5789
+
5790
+ def initialize(**args)
5791
+ update!(**args)
5792
+ end
5793
+
5794
+ # Update properties of this object
5795
+ def update!(**args)
5796
+ @enabled = args[:enabled] if args.key?(:enabled)
5797
+ @proxy_mode = args[:proxy_mode] if args.key?(:proxy_mode)
5798
+ end
5799
+ end
5800
+
5756
5801
  # Defines a IP:PORT based dynamic forwarding configuration for the backend
5757
5802
  # service. Some ranges are restricted: Restricted
5758
5803
  # ranges.
@@ -7717,6 +7762,16 @@ module Google
7717
7762
  class CacheInvalidationRule
7718
7763
  include Google::Apis::Core::Hashable
7719
7764
 
7765
+ # If set, this invalidation rule will only apply to requests routed to the
7766
+ # given backend service or backend bucket.
7767
+ # For example, for a backend bucket `bb1` in the same scope as the URL map,
7768
+ # the path would be `projects/my-project/global/backendBuckets/bb1`; and
7769
+ # for a backend service `bs1` in the same scope as the URL map, the path
7770
+ # would be `projects/my-project/global/backendServices/bs1`.
7771
+ # Corresponds to the JSON property `backendService`
7772
+ # @return [String]
7773
+ attr_accessor :backend_service
7774
+
7720
7775
  # A list of cache tags used to identify cached objects.
7721
7776
  #
7722
7777
  # - Cache tags are specified when the response is first cached, by setting
@@ -7730,12 +7785,25 @@ module Google
7730
7785
  # @return [Array<String>]
7731
7786
  attr_accessor :cache_tags
7732
7787
 
7788
+ # If set, this invalidation rule will only apply to responses with the given
7789
+ # content-type. Parameters are not allowed and are ignored from the response
7790
+ # when matching. Wildcards are not allowed.
7791
+ # Corresponds to the JSON property `contentType`
7792
+ # @return [String]
7793
+ attr_accessor :content_type
7794
+
7733
7795
  # If set, this invalidation rule will only apply to requests with a Host
7734
7796
  # header matching host.
7735
7797
  # Corresponds to the JSON property `host`
7736
7798
  # @return [String]
7737
7799
  attr_accessor :host
7738
7800
 
7801
+ # If set, this invalidation rule will only apply to responses with the
7802
+ # given HTTP status. Valid range is 200-599.
7803
+ # Corresponds to the JSON property `httpStatus`
7804
+ # @return [Fixnum]
7805
+ attr_accessor :http_status
7806
+
7739
7807
  #
7740
7808
  # Corresponds to the JSON property `path`
7741
7809
  # @return [String]
@@ -7747,8 +7815,11 @@ module Google
7747
7815
 
7748
7816
  # Update properties of this object
7749
7817
  def update!(**args)
7818
+ @backend_service = args[:backend_service] if args.key?(:backend_service)
7750
7819
  @cache_tags = args[:cache_tags] if args.key?(:cache_tags)
7820
+ @content_type = args[:content_type] if args.key?(:content_type)
7751
7821
  @host = args[:host] if args.key?(:host)
7822
+ @http_status = args[:http_status] if args.key?(:http_status)
7752
7823
  @path = args[:path] if args.key?(:path)
7753
7824
  end
7754
7825
  end
@@ -8208,7 +8279,7 @@ module Google
8208
8279
  include Google::Apis::Core::Hashable
8209
8280
 
8210
8281
  # The distribution shape to which the group converges.
8211
- # You can only specify the following values: ANY,ANY_SINGLE_ZONE.
8282
+ # You can only specify the following values: ANY,ANY_SINGLE_ZONE,BALANCED.
8212
8283
  # Corresponds to the JSON property `targetShape`
8213
8284
  # @return [String]
8214
8285
  attr_accessor :target_shape
@@ -14895,9 +14966,7 @@ module Google
14895
14966
  end
14896
14967
  end
14897
14968
 
14898
- # A flexible specification of a time range that has 3 points of
14899
- # flexibility: (1) a flexible start time, (2) a flexible end time, (3) a
14900
- # flexible duration.
14969
+ # Specifies a flexible time range with flexible start time and duration.
14901
14970
  # It is possible to specify a contradictory time range that cannot be matched
14902
14971
  # by any Interval. This causes a validation error.
14903
14972
  class FlexibleTimeRange
@@ -15057,17 +15126,11 @@ module Google
15057
15126
  attr_accessor :allow_psc_global_access
15058
15127
  alias_method :allow_psc_global_access?, :allow_psc_global_access
15059
15128
 
15060
- # This is used in PSC consumer ForwardingRule to control whether the producer
15061
- # is allowed to inject packets into the consumer's network. If set to true,
15062
- # the target service attachment must have tunneling enabled and
15063
- # TunnelingConfig.RoutingMode set to PACKET_INJECTION
15064
- # Non-PSC forwarding rules should not use this field.
15065
- # This field was never released to any customers and is deprecated and
15066
- # will be removed in the future.
15067
- # Corresponds to the JSON property `allowPscPacketInjection`
15068
- # @return [Boolean]
15069
- attr_accessor :allow_psc_packet_injection
15070
- alias_method :allow_psc_packet_injection?, :allow_psc_packet_injection
15129
+ # Output only. [Output Only]. The extensions that are attached to this
15130
+ # ForwardingRule.
15131
+ # Corresponds to the JSON property `attachedExtensions`
15132
+ # @return [Array<Google::Apis::ComputeAlpha::ForwardingRuleAttachedExtension>]
15133
+ attr_accessor :attached_extensions
15071
15134
 
15072
15135
  # [Output Only] Specifies the availability group of the forwarding rule. This
15073
15136
  # field is for use by global external passthrough load balancers (load
@@ -15469,7 +15532,7 @@ module Google
15469
15532
  @all_ports = args[:all_ports] if args.key?(:all_ports)
15470
15533
  @allow_global_access = args[:allow_global_access] if args.key?(:allow_global_access)
15471
15534
  @allow_psc_global_access = args[:allow_psc_global_access] if args.key?(:allow_psc_global_access)
15472
- @allow_psc_packet_injection = args[:allow_psc_packet_injection] if args.key?(:allow_psc_packet_injection)
15535
+ @attached_extensions = args[:attached_extensions] if args.key?(:attached_extensions)
15473
15536
  @availability_group = args[:availability_group] if args.key?(:availability_group)
15474
15537
  @backend_service = args[:backend_service] if args.key?(:backend_service)
15475
15538
  @base_forwarding_rule = args[:base_forwarding_rule] if args.key?(:base_forwarding_rule)
@@ -15640,6 +15703,25 @@ module Google
15640
15703
  end
15641
15704
  end
15642
15705
 
15706
+ # Reference to an extension resource that is attached to this ForwardingRule.
15707
+ class ForwardingRuleAttachedExtension
15708
+ include Google::Apis::Core::Hashable
15709
+
15710
+ # Output only. The resource name.
15711
+ # Corresponds to the JSON property `reference`
15712
+ # @return [String]
15713
+ attr_accessor :reference
15714
+
15715
+ def initialize(**args)
15716
+ update!(**args)
15717
+ end
15718
+
15719
+ # Update properties of this object
15720
+ def update!(**args)
15721
+ @reference = args[:reference] if args.key?(:reference)
15722
+ end
15723
+ end
15724
+
15643
15725
  # Contains a list of ForwardingRule resources.
15644
15726
  class ForwardingRuleList
15645
15727
  include Google::Apis::Core::Hashable
@@ -16919,9 +17001,7 @@ module Google
16919
17001
  # @return [Google::Apis::ComputeAlpha::FutureResourcesSpecTargetResources]
16920
17002
  attr_accessor :target_resources
16921
17003
 
16922
- # A flexible specification of a time range that has 3 points of
16923
- # flexibility: (1) a flexible start time, (2) a flexible end time, (3) a
16924
- # flexible duration.
17004
+ # Specifies a flexible time range with flexible start time and duration.
16925
17005
  # It is possible to specify a contradictory time range that cannot be matched
16926
17006
  # by any Interval. This causes a validation error.
16927
17007
  # Corresponds to the JSON property `timeRangeSpec`
@@ -17303,6 +17383,147 @@ module Google
17303
17383
  end
17304
17384
  end
17305
17385
 
17386
+ #
17387
+ class GlobalListVmExtensionsResponse
17388
+ include Google::Apis::Core::Hashable
17389
+
17390
+ # Output only. Fingerprint of this resource. A hash of the contents stored
17391
+ # in this object. This field is used in optimistic locking. This field will
17392
+ # be ignored when inserting a VmExtensionPolicy. An up-to-date
17393
+ # fingerprint must be provided in order to update the VmExtensionPolicy.
17394
+ # To see the latest value of the fingerprint, make a get() request to
17395
+ # retrieve a VmExtensionPolicy.
17396
+ # Corresponds to the JSON property `etag`
17397
+ # @return [String]
17398
+ attr_accessor :etag
17399
+
17400
+ # Output only. Unique identifier for the resource; defined by the server.
17401
+ # Corresponds to the JSON property `id`
17402
+ # @return [String]
17403
+ attr_accessor :id
17404
+
17405
+ # Output only. A list of VM extensions.
17406
+ # Corresponds to the JSON property `items`
17407
+ # @return [Array<Google::Apis::ComputeAlpha::GlobalVmExtension>]
17408
+ attr_accessor :items
17409
+
17410
+ # Output only. Type of resource.
17411
+ # Corresponds to the JSON property `kind`
17412
+ # @return [String]
17413
+ attr_accessor :kind
17414
+
17415
+ # Output only. This token allows you to get the next page of results for
17416
+ # list requests. If the number of results is larger thanmaxResults, use the
17417
+ # nextPageToken as a value for
17418
+ # the query parameter pageToken in the next list request.
17419
+ # Subsequent list requests will have their own nextPageToken to
17420
+ # continue paging through the results.
17421
+ # Corresponds to the JSON property `nextPageToken`
17422
+ # @return [String]
17423
+ attr_accessor :next_page_token
17424
+
17425
+ # Output only. Server-defined URL for this resource.
17426
+ # Corresponds to the JSON property `selfLink`
17427
+ # @return [String]
17428
+ attr_accessor :self_link
17429
+
17430
+ # Output only. Unreachable resources.
17431
+ # Corresponds to the JSON property `unreachables`
17432
+ # @return [Array<String>]
17433
+ attr_accessor :unreachables
17434
+
17435
+ # Output only. Informational warning message.
17436
+ # Corresponds to the JSON property `warning`
17437
+ # @return [Google::Apis::ComputeAlpha::GlobalListVmExtensionsResponse::Warning]
17438
+ attr_accessor :warning
17439
+
17440
+ def initialize(**args)
17441
+ update!(**args)
17442
+ end
17443
+
17444
+ # Update properties of this object
17445
+ def update!(**args)
17446
+ @etag = args[:etag] if args.key?(:etag)
17447
+ @id = args[:id] if args.key?(:id)
17448
+ @items = args[:items] if args.key?(:items)
17449
+ @kind = args[:kind] if args.key?(:kind)
17450
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
17451
+ @self_link = args[:self_link] if args.key?(:self_link)
17452
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
17453
+ @warning = args[:warning] if args.key?(:warning)
17454
+ end
17455
+
17456
+ # Output only. Informational warning message.
17457
+ class Warning
17458
+ include Google::Apis::Core::Hashable
17459
+
17460
+ # [Output Only] A warning code, if applicable. For example, Compute
17461
+ # Engine returns NO_RESULTS_ON_PAGE if there
17462
+ # are no results in the response.
17463
+ # Corresponds to the JSON property `code`
17464
+ # @return [String]
17465
+ attr_accessor :code
17466
+
17467
+ # [Output Only] Metadata about this warning in key:
17468
+ # value format. For example:
17469
+ # "data": [
17470
+ # `
17471
+ # "key": "scope",
17472
+ # "value": "zones/us-east1-d"
17473
+ # `
17474
+ # Corresponds to the JSON property `data`
17475
+ # @return [Array<Google::Apis::ComputeAlpha::GlobalListVmExtensionsResponse::Warning::Datum>]
17476
+ attr_accessor :data
17477
+
17478
+ # [Output Only] A human-readable description of the warning code.
17479
+ # Corresponds to the JSON property `message`
17480
+ # @return [String]
17481
+ attr_accessor :message
17482
+
17483
+ def initialize(**args)
17484
+ update!(**args)
17485
+ end
17486
+
17487
+ # Update properties of this object
17488
+ def update!(**args)
17489
+ @code = args[:code] if args.key?(:code)
17490
+ @data = args[:data] if args.key?(:data)
17491
+ @message = args[:message] if args.key?(:message)
17492
+ end
17493
+
17494
+ #
17495
+ class Datum
17496
+ include Google::Apis::Core::Hashable
17497
+
17498
+ # [Output Only] A key that provides more detail on the warning being
17499
+ # returned. For example, for warnings where there are no results in a list
17500
+ # request for a particular zone, this key might be scope and
17501
+ # the key value might be the zone name. Other examples might be a key
17502
+ # indicating a deprecated resource and a suggested replacement, or a
17503
+ # warning about invalid network settings (for example, if an instance
17504
+ # attempts to perform IP forwarding but is not enabled for IP forwarding).
17505
+ # Corresponds to the JSON property `key`
17506
+ # @return [String]
17507
+ attr_accessor :key
17508
+
17509
+ # [Output Only] A warning data value corresponding to the key.
17510
+ # Corresponds to the JSON property `value`
17511
+ # @return [String]
17512
+ attr_accessor :value
17513
+
17514
+ def initialize(**args)
17515
+ update!(**args)
17516
+ end
17517
+
17518
+ # Update properties of this object
17519
+ def update!(**args)
17520
+ @key = args[:key] if args.key?(:key)
17521
+ @value = args[:value] if args.key?(:value)
17522
+ end
17523
+ end
17524
+ end
17525
+ end
17526
+
17306
17527
  #
17307
17528
  class GlobalNetworkEndpointGroupsAttachEndpointsRequest
17308
17529
  include Google::Apis::Core::Hashable
@@ -17573,6 +17794,31 @@ module Google
17573
17794
  end
17574
17795
  end
17575
17796
 
17797
+ #
17798
+ class GlobalVmExtension
17799
+ include Google::Apis::Core::Hashable
17800
+
17801
+ #
17802
+ # Corresponds to the JSON property `name`
17803
+ # @return [String]
17804
+ attr_accessor :name
17805
+
17806
+ #
17807
+ # Corresponds to the JSON property `versions`
17808
+ # @return [Array<String>]
17809
+ attr_accessor :versions
17810
+
17811
+ def initialize(**args)
17812
+ update!(**args)
17813
+ end
17814
+
17815
+ # Update properties of this object
17816
+ def update!(**args)
17817
+ @name = args[:name] if args.key?(:name)
17818
+ @versions = args[:versions] if args.key?(:versions)
17819
+ end
17820
+ end
17821
+
17576
17822
  # Message describing GlobalVmExtensionPolicy object.
17577
17823
  class GlobalVmExtensionPolicy
17578
17824
  include Google::Apis::Core::Hashable
@@ -30757,6 +31003,11 @@ module Google
30757
31003
  # @return [String]
30758
31004
  attr_accessor :name
30759
31005
 
31006
+ # Additional instant snapshot params.
31007
+ # Corresponds to the JSON property `params`
31008
+ # @return [Google::Apis::ComputeAlpha::InstantSnapshotParams]
31009
+ attr_accessor :params
31010
+
30760
31011
  # Output only. [Output Only] URL of the region where the instant snapshot
30761
31012
  # resides.
30762
31013
  # You must specify this field as part of the HTTP request URL. It is
@@ -30876,6 +31127,7 @@ module Google
30876
31127
  @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
30877
31128
  @labels = args[:labels] if args.key?(:labels)
30878
31129
  @name = args[:name] if args.key?(:name)
31130
+ @params = args[:params] if args.key?(:params)
30879
31131
  @region = args[:region] if args.key?(:region)
30880
31132
  @resource_status = args[:resource_status] if args.key?(:resource_status)
30881
31133
  @satisfies_pzi = args[:satisfies_pzi] if args.key?(:satisfies_pzi)
@@ -31331,6 +31583,32 @@ module Google
31331
31583
  end
31332
31584
  end
31333
31585
 
31586
+ # Additional instant snapshot params.
31587
+ class InstantSnapshotParams
31588
+ include Google::Apis::Core::Hashable
31589
+
31590
+ # Input only. Resource manager tags to be bound to the instant snapshot. Tag
31591
+ # keys and
31592
+ # values have the same definition as resource
31593
+ # manager tags. Keys and values can be either in numeric format,
31594
+ # such as `tagKeys/`tag_key_id`` and `tagValues/`tag_value_id`` or in
31595
+ # namespaced format such as ``org_id|project_id`/`tag_key_short_name`` and
31596
+ # ``tag_value_short_name``. The field is ignored (both PUT &
31597
+ # PATCH) when empty.
31598
+ # Corresponds to the JSON property `resourceManagerTags`
31599
+ # @return [Hash<String,String>]
31600
+ attr_accessor :resource_manager_tags
31601
+
31602
+ def initialize(**args)
31603
+ update!(**args)
31604
+ end
31605
+
31606
+ # Update properties of this object
31607
+ def update!(**args)
31608
+ @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
31609
+ end
31610
+ end
31611
+
31334
31612
  #
31335
31613
  class InstantSnapshotResourceStatus
31336
31614
  include Google::Apis::Core::Hashable
@@ -31543,6 +31821,14 @@ module Google
31543
31821
  # @return [String]
31544
31822
  attr_accessor :description
31545
31823
 
31824
+ # Output only. [Output Only] URL of the InterconnectLocation object that
31825
+ # represents where
31826
+ # this connection is to be provisioned. By default it will be the same as the
31827
+ # location field.
31828
+ # Corresponds to the JSON property `effectiveLocation`
31829
+ # @return [String]
31830
+ attr_accessor :effective_location
31831
+
31546
31832
  # Output only. [Output Only] A list of outages expected for this Interconnect.
31547
31833
  # Corresponds to the JSON property `expectedOutages`
31548
31834
  # @return [Array<Google::Apis::ComputeAlpha::InterconnectOutageNotification>]
@@ -31791,6 +32077,7 @@ module Google
31791
32077
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
31792
32078
  @customer_name = args[:customer_name] if args.key?(:customer_name)
31793
32079
  @description = args[:description] if args.key?(:description)
32080
+ @effective_location = args[:effective_location] if args.key?(:effective_location)
31794
32081
  @expected_outages = args[:expected_outages] if args.key?(:expected_outages)
31795
32082
  @google_ip_address = args[:google_ip_address] if args.key?(:google_ip_address)
31796
32083
  @google_reference_id = args[:google_reference_id] if args.key?(:google_reference_id)
@@ -37467,7 +37754,144 @@ module Google
37467
37754
 
37468
37755
  # [Output Only] Informational warning message.
37469
37756
  # Corresponds to the JSON property `warning`
37470
- # @return [Google::Apis::ComputeAlpha::ListInstantSnapshotGroups::Warning]
37757
+ # @return [Google::Apis::ComputeAlpha::ListInstantSnapshotGroups::Warning]
37758
+ attr_accessor :warning
37759
+
37760
+ def initialize(**args)
37761
+ update!(**args)
37762
+ end
37763
+
37764
+ # Update properties of this object
37765
+ def update!(**args)
37766
+ @etag = args[:etag] if args.key?(:etag)
37767
+ @id = args[:id] if args.key?(:id)
37768
+ @items = args[:items] if args.key?(:items)
37769
+ @kind = args[:kind] if args.key?(:kind)
37770
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
37771
+ @self_link = args[:self_link] if args.key?(:self_link)
37772
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
37773
+ @warning = args[:warning] if args.key?(:warning)
37774
+ end
37775
+
37776
+ # [Output Only] Informational warning message.
37777
+ class Warning
37778
+ include Google::Apis::Core::Hashable
37779
+
37780
+ # [Output Only] A warning code, if applicable. For example, Compute
37781
+ # Engine returns NO_RESULTS_ON_PAGE if there
37782
+ # are no results in the response.
37783
+ # Corresponds to the JSON property `code`
37784
+ # @return [String]
37785
+ attr_accessor :code
37786
+
37787
+ # [Output Only] Metadata about this warning in key:
37788
+ # value format. For example:
37789
+ # "data": [
37790
+ # `
37791
+ # "key": "scope",
37792
+ # "value": "zones/us-east1-d"
37793
+ # `
37794
+ # Corresponds to the JSON property `data`
37795
+ # @return [Array<Google::Apis::ComputeAlpha::ListInstantSnapshotGroups::Warning::Datum>]
37796
+ attr_accessor :data
37797
+
37798
+ # [Output Only] A human-readable description of the warning code.
37799
+ # Corresponds to the JSON property `message`
37800
+ # @return [String]
37801
+ attr_accessor :message
37802
+
37803
+ def initialize(**args)
37804
+ update!(**args)
37805
+ end
37806
+
37807
+ # Update properties of this object
37808
+ def update!(**args)
37809
+ @code = args[:code] if args.key?(:code)
37810
+ @data = args[:data] if args.key?(:data)
37811
+ @message = args[:message] if args.key?(:message)
37812
+ end
37813
+
37814
+ #
37815
+ class Datum
37816
+ include Google::Apis::Core::Hashable
37817
+
37818
+ # [Output Only] A key that provides more detail on the warning being
37819
+ # returned. For example, for warnings where there are no results in a list
37820
+ # request for a particular zone, this key might be scope and
37821
+ # the key value might be the zone name. Other examples might be a key
37822
+ # indicating a deprecated resource and a suggested replacement, or a
37823
+ # warning about invalid network settings (for example, if an instance
37824
+ # attempts to perform IP forwarding but is not enabled for IP forwarding).
37825
+ # Corresponds to the JSON property `key`
37826
+ # @return [String]
37827
+ attr_accessor :key
37828
+
37829
+ # [Output Only] A warning data value corresponding to the key.
37830
+ # Corresponds to the JSON property `value`
37831
+ # @return [String]
37832
+ attr_accessor :value
37833
+
37834
+ def initialize(**args)
37835
+ update!(**args)
37836
+ end
37837
+
37838
+ # Update properties of this object
37839
+ def update!(**args)
37840
+ @key = args[:key] if args.key?(:key)
37841
+ @value = args[:value] if args.key?(:value)
37842
+ end
37843
+ end
37844
+ end
37845
+ end
37846
+
37847
+ # Contains a list of SnapshotGroup resources.
37848
+ class ListSnapshotGroups
37849
+ include Google::Apis::Core::Hashable
37850
+
37851
+ #
37852
+ # Corresponds to the JSON property `etag`
37853
+ # @return [String]
37854
+ attr_accessor :etag
37855
+
37856
+ # [Output Only] Unique identifier for the resource; defined by the server.
37857
+ # Corresponds to the JSON property `id`
37858
+ # @return [String]
37859
+ attr_accessor :id
37860
+
37861
+ # A list of SnapshotGroup resources.
37862
+ # Corresponds to the JSON property `items`
37863
+ # @return [Array<Google::Apis::ComputeAlpha::SnapshotGroup>]
37864
+ attr_accessor :items
37865
+
37866
+ # Output only. Type of resource.
37867
+ # Corresponds to the JSON property `kind`
37868
+ # @return [String]
37869
+ attr_accessor :kind
37870
+
37871
+ # [Output Only] This token allows you to get the next page of results for
37872
+ # list requests. If the number of results is larger thanmaxResults, use the
37873
+ # nextPageToken as a value for
37874
+ # the query parameter pageToken in the next list request.
37875
+ # Subsequent list requests will have their own nextPageToken to
37876
+ # continue paging through the results.
37877
+ # Corresponds to the JSON property `nextPageToken`
37878
+ # @return [String]
37879
+ attr_accessor :next_page_token
37880
+
37881
+ # Output only. [Output Only] Server-defined URL for this resource.
37882
+ # Corresponds to the JSON property `selfLink`
37883
+ # @return [String]
37884
+ attr_accessor :self_link
37885
+
37886
+ # Output only. [Output Only] Unreachable resources.
37887
+ # end_interface: MixerListResponseWithEtagBuilder
37888
+ # Corresponds to the JSON property `unreachables`
37889
+ # @return [Array<String>]
37890
+ attr_accessor :unreachables
37891
+
37892
+ # [Output Only] Informational warning message.
37893
+ # Corresponds to the JSON property `warning`
37894
+ # @return [Google::Apis::ComputeAlpha::ListSnapshotGroups::Warning]
37471
37895
  attr_accessor :warning
37472
37896
 
37473
37897
  def initialize(**args)
@@ -37505,7 +37929,7 @@ module Google
37505
37929
  # "value": "zones/us-east1-d"
37506
37930
  # `
37507
37931
  # Corresponds to the JSON property `data`
37508
- # @return [Array<Google::Apis::ComputeAlpha::ListInstantSnapshotGroups::Warning::Datum>]
37932
+ # @return [Array<Google::Apis::ComputeAlpha::ListSnapshotGroups::Warning::Datum>]
37509
37933
  attr_accessor :data
37510
37934
 
37511
37935
  # [Output Only] A human-readable description of the warning code.
@@ -37557,23 +37981,28 @@ module Google
37557
37981
  end
37558
37982
  end
37559
37983
 
37560
- # Contains a list of SnapshotGroup resources.
37561
- class ListSnapshotGroups
37984
+ #
37985
+ class ListVmExtensionStatesResponse
37562
37986
  include Google::Apis::Core::Hashable
37563
37987
 
37564
- #
37988
+ # Output only. Fingerprint of this resource. A hash of the contents stored
37989
+ # in this object. This field is used in optimistic locking. This field will
37990
+ # be ignored when inserting a VmExtensionPolicy. An up-to-date
37991
+ # fingerprint must be provided in order to update the VmExtensionPolicy.
37992
+ # To see the latest value of the fingerprint, make a get() request to
37993
+ # retrieve a VmExtensionPolicy.
37565
37994
  # Corresponds to the JSON property `etag`
37566
37995
  # @return [String]
37567
37996
  attr_accessor :etag
37568
37997
 
37569
- # [Output Only] Unique identifier for the resource; defined by the server.
37998
+ # Output only. Unique identifier for the resource; defined by the server.
37570
37999
  # Corresponds to the JSON property `id`
37571
38000
  # @return [String]
37572
38001
  attr_accessor :id
37573
38002
 
37574
- # A list of SnapshotGroup resources.
38003
+ # Output only. A list of VM extension policy resources.
37575
38004
  # Corresponds to the JSON property `items`
37576
- # @return [Array<Google::Apis::ComputeAlpha::SnapshotGroup>]
38005
+ # @return [Array<Google::Apis::ComputeAlpha::VmExtensionState>]
37577
38006
  attr_accessor :items
37578
38007
 
37579
38008
  # Output only. Type of resource.
@@ -37581,7 +38010,7 @@ module Google
37581
38010
  # @return [String]
37582
38011
  attr_accessor :kind
37583
38012
 
37584
- # [Output Only] This token allows you to get the next page of results for
38013
+ # Output only. This token allows you to get the next page of results for
37585
38014
  # list requests. If the number of results is larger thanmaxResults, use the
37586
38015
  # nextPageToken as a value for
37587
38016
  # the query parameter pageToken in the next list request.
@@ -37591,20 +38020,19 @@ module Google
37591
38020
  # @return [String]
37592
38021
  attr_accessor :next_page_token
37593
38022
 
37594
- # Output only. [Output Only] Server-defined URL for this resource.
38023
+ # Output only. Server-defined URL for this resource.
37595
38024
  # Corresponds to the JSON property `selfLink`
37596
38025
  # @return [String]
37597
38026
  attr_accessor :self_link
37598
38027
 
37599
- # Output only. [Output Only] Unreachable resources.
37600
- # end_interface: MixerListResponseWithEtagBuilder
38028
+ # Output only. Unreachable resources.
37601
38029
  # Corresponds to the JSON property `unreachables`
37602
38030
  # @return [Array<String>]
37603
38031
  attr_accessor :unreachables
37604
38032
 
37605
- # [Output Only] Informational warning message.
38033
+ # Output only. Informational warning message.
37606
38034
  # Corresponds to the JSON property `warning`
37607
- # @return [Google::Apis::ComputeAlpha::ListSnapshotGroups::Warning]
38035
+ # @return [Google::Apis::ComputeAlpha::ListVmExtensionStatesResponse::Warning]
37608
38036
  attr_accessor :warning
37609
38037
 
37610
38038
  def initialize(**args)
@@ -37623,7 +38051,7 @@ module Google
37623
38051
  @warning = args[:warning] if args.key?(:warning)
37624
38052
  end
37625
38053
 
37626
- # [Output Only] Informational warning message.
38054
+ # Output only. Informational warning message.
37627
38055
  class Warning
37628
38056
  include Google::Apis::Core::Hashable
37629
38057
 
@@ -37642,7 +38070,148 @@ module Google
37642
38070
  # "value": "zones/us-east1-d"
37643
38071
  # `
37644
38072
  # Corresponds to the JSON property `data`
37645
- # @return [Array<Google::Apis::ComputeAlpha::ListSnapshotGroups::Warning::Datum>]
38073
+ # @return [Array<Google::Apis::ComputeAlpha::ListVmExtensionStatesResponse::Warning::Datum>]
38074
+ attr_accessor :data
38075
+
38076
+ # [Output Only] A human-readable description of the warning code.
38077
+ # Corresponds to the JSON property `message`
38078
+ # @return [String]
38079
+ attr_accessor :message
38080
+
38081
+ def initialize(**args)
38082
+ update!(**args)
38083
+ end
38084
+
38085
+ # Update properties of this object
38086
+ def update!(**args)
38087
+ @code = args[:code] if args.key?(:code)
38088
+ @data = args[:data] if args.key?(:data)
38089
+ @message = args[:message] if args.key?(:message)
38090
+ end
38091
+
38092
+ #
38093
+ class Datum
38094
+ include Google::Apis::Core::Hashable
38095
+
38096
+ # [Output Only] A key that provides more detail on the warning being
38097
+ # returned. For example, for warnings where there are no results in a list
38098
+ # request for a particular zone, this key might be scope and
38099
+ # the key value might be the zone name. Other examples might be a key
38100
+ # indicating a deprecated resource and a suggested replacement, or a
38101
+ # warning about invalid network settings (for example, if an instance
38102
+ # attempts to perform IP forwarding but is not enabled for IP forwarding).
38103
+ # Corresponds to the JSON property `key`
38104
+ # @return [String]
38105
+ attr_accessor :key
38106
+
38107
+ # [Output Only] A warning data value corresponding to the key.
38108
+ # Corresponds to the JSON property `value`
38109
+ # @return [String]
38110
+ attr_accessor :value
38111
+
38112
+ def initialize(**args)
38113
+ update!(**args)
38114
+ end
38115
+
38116
+ # Update properties of this object
38117
+ def update!(**args)
38118
+ @key = args[:key] if args.key?(:key)
38119
+ @value = args[:value] if args.key?(:value)
38120
+ end
38121
+ end
38122
+ end
38123
+ end
38124
+
38125
+ #
38126
+ class ListVmExtensionsResponse
38127
+ include Google::Apis::Core::Hashable
38128
+
38129
+ # Output only. Fingerprint of this resource. A hash of the contents stored
38130
+ # in this object. This field is used in optimistic locking. This field will
38131
+ # be ignored when inserting a VmExtensionPolicy. An up-to-date
38132
+ # fingerprint must be provided in order to update the VmExtensionPolicy.
38133
+ # To see the latest value of the fingerprint, make a get() request to
38134
+ # retrieve a VmExtensionPolicy.
38135
+ # Corresponds to the JSON property `etag`
38136
+ # @return [String]
38137
+ attr_accessor :etag
38138
+
38139
+ # Output only. Unique identifier for the resource; defined by the server.
38140
+ # Corresponds to the JSON property `id`
38141
+ # @return [String]
38142
+ attr_accessor :id
38143
+
38144
+ # Output only. A list of VM extensions.
38145
+ # Corresponds to the JSON property `items`
38146
+ # @return [Array<Google::Apis::ComputeAlpha::VmExtension>]
38147
+ attr_accessor :items
38148
+
38149
+ # Output only. Type of resource.
38150
+ # Corresponds to the JSON property `kind`
38151
+ # @return [String]
38152
+ attr_accessor :kind
38153
+
38154
+ # Output only. This token allows you to get the next page of results for
38155
+ # list requests. If the number of results is larger thanmaxResults, use the
38156
+ # nextPageToken as a value for
38157
+ # the query parameter pageToken in the next list request.
38158
+ # Subsequent list requests will have their own nextPageToken to
38159
+ # continue paging through the results.
38160
+ # Corresponds to the JSON property `nextPageToken`
38161
+ # @return [String]
38162
+ attr_accessor :next_page_token
38163
+
38164
+ # Output only. Server-defined URL for this resource.
38165
+ # Corresponds to the JSON property `selfLink`
38166
+ # @return [String]
38167
+ attr_accessor :self_link
38168
+
38169
+ # Output only. Unreachable resources.
38170
+ # Corresponds to the JSON property `unreachables`
38171
+ # @return [Array<String>]
38172
+ attr_accessor :unreachables
38173
+
38174
+ # Output only. Informational warning message.
38175
+ # Corresponds to the JSON property `warning`
38176
+ # @return [Google::Apis::ComputeAlpha::ListVmExtensionsResponse::Warning]
38177
+ attr_accessor :warning
38178
+
38179
+ def initialize(**args)
38180
+ update!(**args)
38181
+ end
38182
+
38183
+ # Update properties of this object
38184
+ def update!(**args)
38185
+ @etag = args[:etag] if args.key?(:etag)
38186
+ @id = args[:id] if args.key?(:id)
38187
+ @items = args[:items] if args.key?(:items)
38188
+ @kind = args[:kind] if args.key?(:kind)
38189
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
38190
+ @self_link = args[:self_link] if args.key?(:self_link)
38191
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
38192
+ @warning = args[:warning] if args.key?(:warning)
38193
+ end
38194
+
38195
+ # Output only. Informational warning message.
38196
+ class Warning
38197
+ include Google::Apis::Core::Hashable
38198
+
38199
+ # [Output Only] A warning code, if applicable. For example, Compute
38200
+ # Engine returns NO_RESULTS_ON_PAGE if there
38201
+ # are no results in the response.
38202
+ # Corresponds to the JSON property `code`
38203
+ # @return [String]
38204
+ attr_accessor :code
38205
+
38206
+ # [Output Only] Metadata about this warning in key:
38207
+ # value format. For example:
38208
+ # "data": [
38209
+ # `
38210
+ # "key": "scope",
38211
+ # "value": "zones/us-east1-d"
38212
+ # `
38213
+ # Corresponds to the JSON property `data`
38214
+ # @return [Array<Google::Apis::ComputeAlpha::ListVmExtensionsResponse::Warning::Datum>]
37646
38215
  attr_accessor :data
37647
38216
 
37648
38217
  # [Output Only] A human-readable description of the warning code.
@@ -38210,8 +38779,8 @@ module Google
38210
38779
  # and values
38211
38780
  # have the same definition as resource
38212
38781
  # manager tags. Keys and values can be either in numeric format,
38213
- # such as `tagKeys/`tag_key_id`` and `tagValues/456` or in namespaced
38214
- # format such as ``org_id|project_id`/`tag_key_short_name`` and
38782
+ # such as `tagKeys/`tag_key_id`` and `tagValues/`tag_value_id`` or in
38783
+ # namespaced format such as ``org_id|project_id`/`tag_key_short_name`` and
38215
38784
  # ``tag_value_short_name``. The field is ignored (both PUT &
38216
38785
  # PATCH) when empty.
38217
38786
  # Corresponds to the JSON property `resourceManagerTags`
@@ -43246,10 +43815,7 @@ module Google
43246
43815
  # @return [String]
43247
43816
  attr_accessor :stack_type
43248
43817
 
43249
- # Output only. [Output Only] State for the peering, either `ACTIVE` or `INACTIVE`
43250
- # . The
43251
- # peering is `ACTIVE` when there's a matching configuration in the peer
43252
- # network.
43818
+ # Output only. [Output Only] State for the peering.
43253
43819
  # Corresponds to the JSON property `state`
43254
43820
  # @return [String]
43255
43821
  attr_accessor :state
@@ -55687,6 +56253,11 @@ module Google
55687
56253
  # @return [String]
55688
56254
  attr_accessor :name
55689
56255
 
56256
+ # Additional reservation params.
56257
+ # Corresponds to the JSON property `params`
56258
+ # @return [Google::Apis::ComputeAlpha::ReservationParams]
56259
+ attr_accessor :params
56260
+
55690
56261
  # Protection tier for the workload which specifies the workload expectations
55691
56262
  # in the event of infrastructure failures at data center (e.g. power
55692
56263
  # and/or cooling failures).
@@ -55797,6 +56368,7 @@ module Google
55797
56368
  @kind = args[:kind] if args.key?(:kind)
55798
56369
  @linked_commitments = args[:linked_commitments] if args.key?(:linked_commitments)
55799
56370
  @name = args[:name] if args.key?(:name)
56371
+ @params = args[:params] if args.key?(:params)
55800
56372
  @protection_tier = args[:protection_tier] if args.key?(:protection_tier)
55801
56373
  @reservation_mode = args[:reservation_mode] if args.key?(:reservation_mode)
55802
56374
  @reservation_sharing_policy = args[:reservation_sharing_policy] if args.key?(:reservation_sharing_policy)
@@ -56529,6 +57101,31 @@ module Google
56529
57101
  end
56530
57102
  end
56531
57103
 
57104
+ # Additional reservation params.
57105
+ class ReservationParams
57106
+ include Google::Apis::Core::Hashable
57107
+
57108
+ # Input only. Resource manager tags to be bound to the reservation. Tag keys and
57109
+ # values have the same definition as resource
57110
+ # manager tags. Keys and values can be either in numeric format,
57111
+ # such as `tagKeys/`tag_key_id`` and `tagValues/`tag_value_id`` or in
57112
+ # namespaced format such as ``org_id|project_id`/`tag_key_short_name`` and
57113
+ # ``tag_value_short_name``. The field is ignored (both PUT &
57114
+ # PATCH) when empty.
57115
+ # Corresponds to the JSON property `resourceManagerTags`
57116
+ # @return [Hash<String,String>]
57117
+ attr_accessor :resource_manager_tags
57118
+
57119
+ def initialize(**args)
57120
+ update!(**args)
57121
+ end
57122
+
57123
+ # Update properties of this object
57124
+ def update!(**args)
57125
+ @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
57126
+ end
57127
+ end
57128
+
56532
57129
  # Represents a reservation slot resource.
56533
57130
  class ReservationSlot
56534
57131
  include Google::Apis::Core::Hashable
@@ -68006,6 +68603,77 @@ module Google
68006
68603
  end
68007
68604
  end
68008
68605
 
68606
+ # Represents the singleton resource Snapshot Recycle Bin Policy that
68607
+ # configures the retention duration for snapshots in the recycle bin.
68608
+ # You can configure the retention duration for snapshots in the recycle bin
68609
+ # at the project or organization level. If you configure the policy at the
68610
+ # organization level, all projects in that organization will share the same
68611
+ # policy. If you configure the policy at the project level it will be merged
68612
+ # with org level policy (if any) and the snapshots in that project will use
68613
+ # that policy.
68614
+ class SnapshotRecycleBinPolicy
68615
+ include Google::Apis::Core::Hashable
68616
+
68617
+ # The rules for the snapshot recycle bin policy. The key is either 'default'
68618
+ # or namespacedName of the TagValue which can be in the format:
68619
+ # ``organization_id`/`tag_key_short_name`/`tag_value_short_name`` or
68620
+ # ``project_id`/`tag_key_short_name`/`tag_value_short_name`` or
68621
+ # ``project_number`/`tag_key_short_name`/`tag_value_short_name``. The default
68622
+ # rule is applied if snapshots do not have any of these tags.
68623
+ # The value is the rule for the key.
68624
+ # Corresponds to the JSON property `rules`
68625
+ # @return [Hash<String,Google::Apis::ComputeAlpha::SnapshotRecycleBinPolicyRule>]
68626
+ attr_accessor :rules
68627
+
68628
+ def initialize(**args)
68629
+ update!(**args)
68630
+ end
68631
+
68632
+ # Update properties of this object
68633
+ def update!(**args)
68634
+ @rules = args[:rules] if args.key?(:rules)
68635
+ end
68636
+ end
68637
+
68638
+ # A rule that defines the retention policy for snapshots in the recycle bin.
68639
+ class SnapshotRecycleBinPolicyRule
68640
+ include Google::Apis::Core::Hashable
68641
+
68642
+ # The rule config for snapshots in the recycle bin.
68643
+ # Corresponds to the JSON property `standardSnapshots`
68644
+ # @return [Google::Apis::ComputeAlpha::SnapshotRecycleBinPolicyRuleRuleConfig]
68645
+ attr_accessor :standard_snapshots
68646
+
68647
+ def initialize(**args)
68648
+ update!(**args)
68649
+ end
68650
+
68651
+ # Update properties of this object
68652
+ def update!(**args)
68653
+ @standard_snapshots = args[:standard_snapshots] if args.key?(:standard_snapshots)
68654
+ end
68655
+ end
68656
+
68657
+ # The rule config for snapshots in the recycle bin.
68658
+ class SnapshotRecycleBinPolicyRuleRuleConfig
68659
+ include Google::Apis::Core::Hashable
68660
+
68661
+ # The retention duration for snapshots in the recycle bin after which the
68662
+ # snapshots are automatically deleted from recycle bin.
68663
+ # Corresponds to the JSON property `retentionDurationDays`
68664
+ # @return [Fixnum]
68665
+ attr_accessor :retention_duration_days
68666
+
68667
+ def initialize(**args)
68668
+ update!(**args)
68669
+ end
68670
+
68671
+ # Update properties of this object
68672
+ def update!(**args)
68673
+ @retention_duration_days = args[:retention_duration_days] if args.key?(:retention_duration_days)
68674
+ end
68675
+ end
68676
+
68009
68677
  #
68010
68678
  class SnapshotResourceStatus
68011
68679
  include Google::Apis::Core::Hashable
@@ -68146,6 +68814,25 @@ module Google
68146
68814
  end
68147
68815
  end
68148
68816
 
68817
+ #
68818
+ class SnapshotsGetEffectiveRecycleBinRuleResponse
68819
+ include Google::Apis::Core::Hashable
68820
+
68821
+ # The retention duration of the snapshot in recycle bin.
68822
+ # Corresponds to the JSON property `retentionDurationDays`
68823
+ # @return [Fixnum]
68824
+ attr_accessor :retention_duration_days
68825
+
68826
+ def initialize(**args)
68827
+ update!(**args)
68828
+ end
68829
+
68830
+ # Update properties of this object
68831
+ def update!(**args)
68832
+ @retention_duration_days = args[:retention_duration_days] if args.key?(:retention_duration_days)
68833
+ end
68834
+ end
68835
+
68149
68836
  #
68150
68837
  class SnapshotsScopedList
68151
68838
  include Google::Apis::Core::Hashable
@@ -70153,20 +70840,17 @@ module Google
70153
70840
  class StoragePoolExapoolProvisionedCapacityGb
70154
70841
  include Google::Apis::Core::Hashable
70155
70842
 
70156
- # Output only. Size, in GiB, of provisioned capacity-optimized capacity for this
70157
- # Exapool
70843
+ # Size, in GiB, of provisioned capacity-optimized capacity for this Exapool
70158
70844
  # Corresponds to the JSON property `capacityOptimized`
70159
70845
  # @return [Fixnum]
70160
70846
  attr_accessor :capacity_optimized
70161
70847
 
70162
- # Output only. Size, in GiB, of provisioned read-optimized capacity for this
70163
- # Exapool
70848
+ # Size, in GiB, of provisioned read-optimized capacity for this Exapool
70164
70849
  # Corresponds to the JSON property `readOptimized`
70165
70850
  # @return [Fixnum]
70166
70851
  attr_accessor :read_optimized
70167
70852
 
70168
- # Output only. Size, in GiB, of provisioned write-optimized capacity for this
70169
- # Exapool
70853
+ # Size, in GiB, of provisioned write-optimized capacity for this Exapool
70170
70854
  # Corresponds to the JSON property `writeOptimized`
70171
70855
  # @return [Fixnum]
70172
70856
  attr_accessor :write_optimized
@@ -71244,9 +71928,9 @@ module Google
71244
71928
  # @return [String]
71245
71929
  attr_accessor :aggregation_interval
71246
71930
 
71247
- # Whether this subnetwork's ranges can conflict with existing static routes.
71931
+ # Whether this subnetwork's ranges can conflict with existing custom routes.
71248
71932
  # Setting this to true allows this subnetwork's primary and secondary ranges
71249
- # to overlap with (and contain) static routes that have already been
71933
+ # to overlap with (and contain) custom routes that have already been
71250
71934
  # configured on the corresponding network.
71251
71935
  # For example if a static route has range 10.1.0.0/16, a subnet
71252
71936
  # range 10.0.0.0/8 could only be created if allow_conflicting_routes=true.
@@ -71258,7 +71942,6 @@ module Google
71258
71942
  # Setting this field to true will disable this feature.
71259
71943
  # The default value is false and applies to all existing subnetworks and
71260
71944
  # automatically created subnetworks.
71261
- # This field cannot be set to true at resource creation time.
71262
71945
  # Corresponds to the JSON property `allowSubnetCidrRoutesOverlap`
71263
71946
  # @return [Boolean]
71264
71947
  attr_accessor :allow_subnet_cidr_routes_overlap
@@ -71502,6 +72185,7 @@ module Google
71502
72185
  # contained in this subnetwork. The primary IP of such VM must belong to the
71503
72186
  # primary ipCidrRange of the subnetwork. The alias IPs may belong to either
71504
72187
  # primary or secondary ranges. This field can be updated with apatch request.
72188
+ # Supports both IPv4 and IPv6 ranges.
71505
72189
  # Corresponds to the JSON property `secondaryIpRanges`
71506
72190
  # @return [Array<Google::Apis::ComputeAlpha::SubnetworkSecondaryRange>]
71507
72191
  attr_accessor :secondary_ip_ranges
@@ -71976,22 +72660,34 @@ module Google
71976
72660
  # The range of IP addresses belonging to this subnetwork secondary range.
71977
72661
  # Provide this property when you create the subnetwork. Ranges must be
71978
72662
  # unique and non-overlapping with all primary and secondary IP ranges
71979
- # within a network. Only IPv4 is supported. The range can be any range
71980
- # listed in theValid
72663
+ # within a network. Both IPv4 and IPv6 ranges are supported. For IPv4,
72664
+ # the range can be any range listed in theValid
71981
72665
  # ranges list.
72666
+ # For IPv6:
72667
+ # The range must have a /64 prefix length.
72668
+ # The range must be omitted, for auto-allocation from Google-defined ULA
72669
+ # IPv6 range.
72670
+ # For BYOGUA internal IPv6 secondary range, the range may be specified
72671
+ # along with the `ipCollection` field.
72672
+ # If an `ipCollection` is specified, the requested ip_cidr_range must lie
72673
+ # within the range of the PDP referenced by the `ipCollection` field for
72674
+ # allocation.
72675
+ # If `ipCollection` field is specified, but ip_cidr_range is not,
72676
+ # the range is auto-allocated from the PDP referenced by the `ipCollection`
72677
+ # field.
71982
72678
  # Corresponds to the JSON property `ipCidrRange`
71983
72679
  # @return [String]
71984
72680
  attr_accessor :ip_cidr_range
71985
72681
 
71986
72682
  # The name associated with this subnetwork secondary range, used when adding
71987
- # an alias IP range to a VM instance.
72683
+ # an alias IP/IPv6 range to a VM instance.
71988
72684
  # The name must be 1-63 characters long, and comply withRFC1035.
71989
72685
  # The name must be unique within the subnetwork.
71990
72686
  # Corresponds to the JSON property `rangeName`
71991
72687
  # @return [String]
71992
72688
  attr_accessor :range_name
71993
72689
 
71994
- # The URL of the reserved internal range.
72690
+ # The URL of the reserved internal range. Only IPv4 is supported.
71995
72691
  # Corresponds to the JSON property `reservedInternalRange`
71996
72692
  # @return [String]
71997
72693
  attr_accessor :reserved_internal_range
@@ -77719,6 +78415,7 @@ module Google
77719
78415
  include Google::Apis::Core::Hashable
77720
78416
 
77721
78417
  # The range of IP addresses belonging to this subnetwork secondary range.
78418
+ # Can be Ipv4 or Ipv6 range.
77722
78419
  # Corresponds to the JSON property `ipCidrRange`
77723
78420
  # @return [String]
77724
78421
  attr_accessor :ip_cidr_range
@@ -78201,6 +78898,31 @@ module Google
78201
78898
  end
78202
78899
  end
78203
78900
 
78901
+ # A VM extension that can be installed on a VM.
78902
+ class VmExtension
78903
+ include Google::Apis::Core::Hashable
78904
+
78905
+ # The name of the vm extension.
78906
+ # Corresponds to the JSON property `name`
78907
+ # @return [String]
78908
+ attr_accessor :name
78909
+
78910
+ # The latest 10 versions of the vm extension.
78911
+ # Corresponds to the JSON property `versions`
78912
+ # @return [Array<String>]
78913
+ attr_accessor :versions
78914
+
78915
+ def initialize(**args)
78916
+ update!(**args)
78917
+ end
78918
+
78919
+ # Update properties of this object
78920
+ def update!(**args)
78921
+ @name = args[:name] if args.key?(:name)
78922
+ @versions = args[:versions] if args.key?(:versions)
78923
+ end
78924
+ end
78925
+
78204
78926
  #
78205
78927
  class VmExtensionPoliciesScopedList
78206
78928
  include Google::Apis::Core::Hashable
@@ -78779,6 +79501,64 @@ module Google
78779
79501
  end
78780
79502
  end
78781
79503
 
79504
+ # State of an extension on an instance.
79505
+ class VmExtensionState
79506
+ include Google::Apis::Core::Hashable
79507
+
79508
+ # The status message of the extension if the extension fails to enforce.
79509
+ # Corresponds to the JSON property `enforcementMsg`
79510
+ # @return [String]
79511
+ attr_accessor :enforcement_msg
79512
+
79513
+ # The enforcement state of the extension.
79514
+ # If the extension is not enforced yet, then the health status will not be
79515
+ # specified.
79516
+ # Corresponds to the JSON property `enforcementState`
79517
+ # @return [String]
79518
+ attr_accessor :enforcement_state
79519
+
79520
+ # The health status of the extension.
79521
+ # Corresponds to the JSON property `healthStatus`
79522
+ # @return [String]
79523
+ attr_accessor :health_status
79524
+
79525
+ # The name of the extension.
79526
+ # Corresponds to the JSON property `name`
79527
+ # @return [String]
79528
+ attr_accessor :name
79529
+
79530
+ # The id of the policy that is enforced on the extension.
79531
+ # Corresponds to the JSON property `policyId`
79532
+ # @return [String]
79533
+ attr_accessor :policy_id
79534
+
79535
+ # The status message of the extension if the extension is in unhealthy
79536
+ # state.
79537
+ # Corresponds to the JSON property `unhealthyMsg`
79538
+ # @return [String]
79539
+ attr_accessor :unhealthy_msg
79540
+
79541
+ # The version of the extension.
79542
+ # Corresponds to the JSON property `version`
79543
+ # @return [String]
79544
+ attr_accessor :version
79545
+
79546
+ def initialize(**args)
79547
+ update!(**args)
79548
+ end
79549
+
79550
+ # Update properties of this object
79551
+ def update!(**args)
79552
+ @enforcement_msg = args[:enforcement_msg] if args.key?(:enforcement_msg)
79553
+ @enforcement_state = args[:enforcement_state] if args.key?(:enforcement_state)
79554
+ @health_status = args[:health_status] if args.key?(:health_status)
79555
+ @name = args[:name] if args.key?(:name)
79556
+ @policy_id = args[:policy_id] if args.key?(:policy_id)
79557
+ @unhealthy_msg = args[:unhealthy_msg] if args.key?(:unhealthy_msg)
79558
+ @version = args[:version] if args.key?(:version)
79559
+ end
79560
+ end
79561
+
78782
79562
  # Represents a HA VPN gateway.
78783
79563
  # HA VPN is a high-availability (HA) Cloud VPN solution that lets you securely
78784
79564
  # connect your on-premises network to your Google Cloud Virtual Private Cloud