google-apis-compute_alpha 0.67.0 → 0.69.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.
@@ -1263,6 +1263,11 @@ module Google
1263
1263
  # @return [String]
1264
1264
  attr_accessor :vm_family
1265
1265
 
1266
+ # The workload type of the instances that will target this reservation.
1267
+ # Corresponds to the JSON property `workloadType`
1268
+ # @return [String]
1269
+ attr_accessor :workload_type
1270
+
1266
1271
  def initialize(**args)
1267
1272
  update!(**args)
1268
1273
  end
@@ -1272,6 +1277,7 @@ module Google
1272
1277
  @in_use_resources = args[:in_use_resources] if args.key?(:in_use_resources)
1273
1278
  @reserved_resources = args[:reserved_resources] if args.key?(:reserved_resources)
1274
1279
  @vm_family = args[:vm_family] if args.key?(:vm_family)
1280
+ @workload_type = args[:workload_type] if args.key?(:workload_type)
1275
1281
  end
1276
1282
  end
1277
1283
 
@@ -1736,8 +1742,7 @@ module Google
1736
1742
  # @return [String]
1737
1743
  attr_accessor :disk_type
1738
1744
 
1739
- # Whether this disk is using confidential compute mode. see go/confidential-mode-
1740
- # in-arcus for details.
1745
+ # Whether this disk is using confidential compute mode.
1741
1746
  # Corresponds to the JSON property `enableConfidentialCompute`
1742
1747
  # @return [Boolean]
1743
1748
  attr_accessor :enable_confidential_compute
@@ -2619,13 +2624,16 @@ module Google
2619
2624
  class AutoscalingPolicy
2620
2625
  include Google::Apis::Core::Hashable
2621
2626
 
2622
- # The number of seconds that the autoscaler waits before it starts collecting
2623
- # information from a new instance. This prevents the autoscaler from collecting
2624
- # information when the instance is initializing, during which the collected
2625
- # usage would not be reliable. The default time autoscaler waits is 60 seconds.
2626
- # Virtual machine initialization times might vary because of numerous factors.
2627
- # We recommend that you test how long an instance may take to initialize. To do
2628
- # this, create an instance and time the startup process.
2627
+ # The number of seconds that your application takes to initialize on a VM
2628
+ # instance. This is referred to as the [initialization period](/compute/docs/
2629
+ # autoscaler#cool_down_period). Specifying an accurate initialization period
2630
+ # improves autoscaler decisions. For example, when scaling out, the autoscaler
2631
+ # ignores data from VMs that are still initializing because those VMs might not
2632
+ # yet represent normal usage of your application. The default initialization
2633
+ # period is 60 seconds. Initialization periods might vary because of numerous
2634
+ # factors. We recommend that you test how long your application takes to
2635
+ # initialize. To do this, create a VM and time your application's startup
2636
+ # process.
2629
2637
  # Corresponds to the JSON property `coolDownPeriodSec`
2630
2638
  # @return [Fixnum]
2631
2639
  attr_accessor :cool_down_period_sec
@@ -2659,7 +2667,11 @@ module Google
2659
2667
  # @return [Fixnum]
2660
2668
  attr_accessor :min_num_replicas
2661
2669
 
2662
- # Defines operating mode for this policy.
2670
+ # Defines the operating mode for this policy. The following modes are available:
2671
+ # - OFF: Disables the autoscaler but maintains its configuration. -
2672
+ # ONLY_SCALE_OUT: Restricts the autoscaler to add VM instances only. - ON:
2673
+ # Enables all autoscaler activities according to its policy. For more
2674
+ # information, see "Turning off or restricting an autoscaler"
2663
2675
  # Corresponds to the JSON property `mode`
2664
2676
  # @return [String]
2665
2677
  attr_accessor :mode
@@ -3066,6 +3078,16 @@ module Google
3066
3078
  # @return [Float]
3067
3079
  attr_accessor :max_utilization
3068
3080
 
3081
+ # This field indicates whether this backend should be fully utilized before
3082
+ # sending traffic to backends with default preference. The possible values are: -
3083
+ # PREFERRED: Backends with this preference level will be filled up to their
3084
+ # capacity limits first, based on RTT. - DEFAULT: If preferred backends don't
3085
+ # have enough capacity, backends in this layer would be used and traffic would
3086
+ # be assigned based on the load balancing algorithm you use. This is the default
3087
+ # Corresponds to the JSON property `preference`
3088
+ # @return [String]
3089
+ attr_accessor :preference
3090
+
3069
3091
  def initialize(**args)
3070
3092
  update!(**args)
3071
3093
  end
@@ -3084,6 +3106,7 @@ module Google
3084
3106
  @max_rate_per_endpoint = args[:max_rate_per_endpoint] if args.key?(:max_rate_per_endpoint)
3085
3107
  @max_rate_per_instance = args[:max_rate_per_instance] if args.key?(:max_rate_per_instance)
3086
3108
  @max_utilization = args[:max_utilization] if args.key?(:max_utilization)
3109
+ @preference = args[:preference] if args.key?(:preference)
3087
3110
  end
3088
3111
  end
3089
3112
 
@@ -5816,6 +5839,11 @@ module Google
5816
5839
  # @return [Array<Google::Apis::ComputeAlpha::Reservation>]
5817
5840
  attr_accessor :reservations
5818
5841
 
5842
+ # [Output Only] Contains output only fields.
5843
+ # Corresponds to the JSON property `resourceStatus`
5844
+ # @return [Google::Apis::ComputeAlpha::CommitmentResourceStatus]
5845
+ attr_accessor :resource_status
5846
+
5819
5847
  # A list of commitment amounts for particular resources. Note that VCPU and
5820
5848
  # MEMORY resource commitments must occur together.
5821
5849
  # Corresponds to the JSON property `resources`
@@ -5881,6 +5909,7 @@ module Google
5881
5909
  @plan = args[:plan] if args.key?(:plan)
5882
5910
  @region = args[:region] if args.key?(:region)
5883
5911
  @reservations = args[:reservations] if args.key?(:reservations)
5912
+ @resource_status = args[:resource_status] if args.key?(:resource_status)
5884
5913
  @resources = args[:resources] if args.key?(:resources)
5885
5914
  @self_link = args[:self_link] if args.key?(:self_link)
5886
5915
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
@@ -6134,6 +6163,70 @@ module Google
6134
6163
  end
6135
6164
  end
6136
6165
 
6166
+ # [Output Only] Contains output only fields.
6167
+ class CommitmentResourceStatus
6168
+ include Google::Apis::Core::Hashable
6169
+
6170
+ # [Output Only] An optional, contains all the needed information of cancellation.
6171
+ # Corresponds to the JSON property `cancellationInformation`
6172
+ # @return [Google::Apis::ComputeAlpha::CommitmentResourceStatusCancellationInformation]
6173
+ attr_accessor :cancellation_information
6174
+
6175
+ def initialize(**args)
6176
+ update!(**args)
6177
+ end
6178
+
6179
+ # Update properties of this object
6180
+ def update!(**args)
6181
+ @cancellation_information = args[:cancellation_information] if args.key?(:cancellation_information)
6182
+ end
6183
+ end
6184
+
6185
+ #
6186
+ class CommitmentResourceStatusCancellationInformation
6187
+ include Google::Apis::Core::Hashable
6188
+
6189
+ # Represents an amount of money with its currency type.
6190
+ # Corresponds to the JSON property `canceledCommitment`
6191
+ # @return [Google::Apis::ComputeAlpha::Money]
6192
+ attr_accessor :canceled_commitment
6193
+
6194
+ # [Output Only] An optional last update time of canceled_commitment. RFC3339
6195
+ # text format.
6196
+ # Corresponds to the JSON property `canceledCommitmentLastUpdatedTimestamp`
6197
+ # @return [String]
6198
+ attr_accessor :canceled_commitment_last_updated_timestamp
6199
+
6200
+ # Represents an amount of money with its currency type.
6201
+ # Corresponds to the JSON property `cancellationCap`
6202
+ # @return [Google::Apis::ComputeAlpha::Money]
6203
+ attr_accessor :cancellation_cap
6204
+
6205
+ # Represents an amount of money with its currency type.
6206
+ # Corresponds to the JSON property `cancellationFee`
6207
+ # @return [Google::Apis::ComputeAlpha::Money]
6208
+ attr_accessor :cancellation_fee
6209
+
6210
+ # [Output Only] An optional, cancellation fee expiration time. RFC3339 text
6211
+ # format.
6212
+ # Corresponds to the JSON property `cancellationFeeExpirationTimestamp`
6213
+ # @return [String]
6214
+ attr_accessor :cancellation_fee_expiration_timestamp
6215
+
6216
+ def initialize(**args)
6217
+ update!(**args)
6218
+ end
6219
+
6220
+ # Update properties of this object
6221
+ def update!(**args)
6222
+ @canceled_commitment = args[:canceled_commitment] if args.key?(:canceled_commitment)
6223
+ @canceled_commitment_last_updated_timestamp = args[:canceled_commitment_last_updated_timestamp] if args.key?(:canceled_commitment_last_updated_timestamp)
6224
+ @cancellation_cap = args[:cancellation_cap] if args.key?(:cancellation_cap)
6225
+ @cancellation_fee = args[:cancellation_fee] if args.key?(:cancellation_fee)
6226
+ @cancellation_fee_expiration_timestamp = args[:cancellation_fee_expiration_timestamp] if args.key?(:cancellation_fee_expiration_timestamp)
6227
+ end
6228
+ end
6229
+
6137
6230
  #
6138
6231
  class CommitmentsScopedList
6139
6232
  include Google::Apis::Core::Hashable
@@ -6756,8 +6849,7 @@ module Google
6756
6849
  # @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey]
6757
6850
  attr_accessor :disk_encryption_key
6758
6851
 
6759
- # Whether this disk is using confidential compute mode. see go/confidential-mode-
6760
- # in-arcus for details.
6852
+ # Whether this disk is using confidential compute mode.
6761
6853
  # Corresponds to the JSON property `enableConfidentialCompute`
6762
6854
  # @return [Boolean]
6763
6855
  attr_accessor :enable_confidential_compute
@@ -7604,6 +7696,12 @@ module Google
7604
7696
  # @return [Hash<String,Google::Apis::ComputeAlpha::DiskResourceStatusAsyncReplicationStatus>]
7605
7697
  attr_accessor :async_secondary_disks
7606
7698
 
7699
+ # [Output Only] Space used by data stored in the disk (in bytes). Note that this
7700
+ # field is set only when the disk is in a storage pool.
7701
+ # Corresponds to the JSON property `usedBytes`
7702
+ # @return [Fixnum]
7703
+ attr_accessor :used_bytes
7704
+
7607
7705
  def initialize(**args)
7608
7706
  update!(**args)
7609
7707
  end
@@ -7612,6 +7710,7 @@ module Google
7612
7710
  def update!(**args)
7613
7711
  @async_primary_disk = args[:async_primary_disk] if args.key?(:async_primary_disk)
7614
7712
  @async_secondary_disks = args[:async_secondary_disks] if args.key?(:async_secondary_disks)
7713
+ @used_bytes = args[:used_bytes] if args.key?(:used_bytes)
7615
7714
  end
7616
7715
  end
7617
7716
 
@@ -7634,6 +7733,61 @@ module Google
7634
7733
  end
7635
7734
  end
7636
7735
 
7736
+ #
7737
+ class DiskSettings
7738
+ include Google::Apis::Core::Hashable
7739
+
7740
+ # An optional parameter for storing the default resource policies that will be
7741
+ # used for the Disks created in the given scope. The Key is a string type,
7742
+ # provided by customers to uniquely identify the default Resource Policy entry.
7743
+ # The Value is a Default ResourcePolicyDetails Object used to represent the
7744
+ # detailed information of the Resource Policy entry.
7745
+ # Corresponds to the JSON property `defaultResourcePolicies`
7746
+ # @return [Hash<String,Google::Apis::ComputeAlpha::DiskSettingsResourcePolicyDetails>]
7747
+ attr_accessor :default_resource_policies
7748
+
7749
+ def initialize(**args)
7750
+ update!(**args)
7751
+ end
7752
+
7753
+ # Update properties of this object
7754
+ def update!(**args)
7755
+ @default_resource_policies = args[:default_resource_policies] if args.key?(:default_resource_policies)
7756
+ end
7757
+ end
7758
+
7759
+ # This is the object for storing the detail information about the Resource
7760
+ # Policy that will be set as default ones for the Disks that is using the
7761
+ # DiskSettings. It contains: - one target Resource Policy referenced by its
7762
+ # Fully-Qualified URL, - [output only] Disk Types that will be excluded from
7763
+ # using this Resource Policy, - Other filtering support (e.g. Label filtering)
7764
+ # for Default Resource Policy can be added here as well
7765
+ class DiskSettingsResourcePolicyDetails
7766
+ include Google::Apis::Core::Hashable
7767
+
7768
+ # [Output Only] A list of Disk Types that will be excluded from applying the
7769
+ # Resource Policy referenced here. If absent, Disks created in any DiskType can
7770
+ # use the referenced default Resource Policy.
7771
+ # Corresponds to the JSON property `excludedDiskTypes`
7772
+ # @return [Array<String>]
7773
+ attr_accessor :excluded_disk_types
7774
+
7775
+ # The target Resource Policies identified by their Fully-Qualified URL.
7776
+ # Corresponds to the JSON property `resourcePolicy`
7777
+ # @return [String]
7778
+ attr_accessor :resource_policy
7779
+
7780
+ def initialize(**args)
7781
+ update!(**args)
7782
+ end
7783
+
7784
+ # Update properties of this object
7785
+ def update!(**args)
7786
+ @excluded_disk_types = args[:excluded_disk_types] if args.key?(:excluded_disk_types)
7787
+ @resource_policy = args[:resource_policy] if args.key?(:resource_policy)
7788
+ end
7789
+ end
7790
+
7637
7791
  # Represents a Disk Type resource. Google Compute Engine has two Disk Type
7638
7792
  # resources: * [Regional](/compute/docs/reference/rest/alpha/regionDiskTypes) * [
7639
7793
  # Zonal](/compute/docs/reference/rest/alpha/diskTypes) You can choose from a
@@ -8236,27 +8390,6 @@ module Google
8236
8390
  end
8237
8391
  end
8238
8392
 
8239
- #
8240
- class DisksStopAsyncReplicationRequest
8241
- include Google::Apis::Core::Hashable
8242
-
8243
- # [Deprecated] The secondary disk to stop asynchronous replication to. This
8244
- # field will not be included in the beta or v1 APIs and will be removed from the
8245
- # alpha API in the near future.
8246
- # Corresponds to the JSON property `asyncSecondaryDisk`
8247
- # @return [String]
8248
- attr_accessor :async_secondary_disk
8249
-
8250
- def initialize(**args)
8251
- update!(**args)
8252
- end
8253
-
8254
- # Update properties of this object
8255
- def update!(**args)
8256
- @async_secondary_disk = args[:async_secondary_disk] if args.key?(:async_secondary_disk)
8257
- end
8258
- end
8259
-
8260
8393
  # A transient resource used in compute.disks.stopGroupAsyncReplication and
8261
8394
  # compute.regionDisks.stopGroupAsyncReplication. It is only used to process
8262
8395
  # requests and is not persisted.
@@ -11925,8 +12058,8 @@ module Google
11925
12058
  # The ID of a supported feature. To add multiple values, use commas to separate
11926
12059
  # values. Set to one or more of the following values: - VIRTIO_SCSI_MULTIQUEUE -
11927
12060
  # WINDOWS - MULTI_IP_SUBNET - UEFI_COMPATIBLE - GVNIC - SEV_CAPABLE -
11928
- # SUSPEND_RESUME_COMPATIBLE - SEV_LIVE_MIGRATABLE - SEV_SNP_CAPABLE -
11929
- # TDX_CAPABLE For more information, see Enabling guest operating system features.
12061
+ # SUSPEND_RESUME_COMPATIBLE - SEV_LIVE_MIGRATABLE - SEV_SNP_CAPABLE For more
12062
+ # information, see Enabling guest operating system features.
11930
12063
  # Corresponds to the JSON property `type`
11931
12064
  # @return [String]
11932
12065
  attr_accessor :type
@@ -16746,12 +16879,13 @@ module Google
16746
16879
  # @return [String]
16747
16880
  attr_accessor :health_check
16748
16881
 
16749
- # The number of seconds that the managed instance group waits before it applies
16750
- # autohealing policies to new instances or recently recreated instances. This
16751
- # initial delay allows instances to initialize and run their startup scripts
16752
- # before the instance group determines that they are UNHEALTHY. This prevents
16753
- # the managed instance group from recreating its instances prematurely. This
16754
- # value must be from range [0, 3600].
16882
+ # The initial delay is the number of seconds that a new VM takes to initialize
16883
+ # and run its startup script. During a VM's initial delay period, the MIG
16884
+ # ignores unsuccessful health checks because the VM might be in the startup
16885
+ # process. This prevents the MIG from prematurely recreating a VM. If the health
16886
+ # check receives a healthy response during the initial delay, it indicates that
16887
+ # the startup process is complete and the VM is ready. The value of initial
16888
+ # delay must be between 0 and 3600 seconds. The default value is 0.
16755
16889
  # Corresponds to the JSON property `initialDelaySec`
16756
16890
  # @return [Fixnum]
16757
16891
  attr_accessor :initial_delay_sec
@@ -25567,6 +25701,42 @@ module Google
25567
25701
  end
25568
25702
  end
25569
25703
 
25704
+ # Represents an amount of money with its currency type.
25705
+ class Money
25706
+ include Google::Apis::Core::Hashable
25707
+
25708
+ # The three-letter currency code defined in ISO 4217.
25709
+ # Corresponds to the JSON property `currencyCode`
25710
+ # @return [String]
25711
+ attr_accessor :currency_code
25712
+
25713
+ # Number of nano (10^-9) units of the amount. The value must be between -999,999,
25714
+ # 999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be
25715
+ # positive or zero. If `units` is zero, `nanos` can be positive, zero, or
25716
+ # negative. If `units` is negative, `nanos` must be negative or zero. For
25717
+ # example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
25718
+ # Corresponds to the JSON property `nanos`
25719
+ # @return [Fixnum]
25720
+ attr_accessor :nanos
25721
+
25722
+ # The whole units of the amount. For example if `currencyCode` is `"USD"`, then
25723
+ # 1 unit is one US dollar.
25724
+ # Corresponds to the JSON property `units`
25725
+ # @return [Fixnum]
25726
+ attr_accessor :units
25727
+
25728
+ def initialize(**args)
25729
+ update!(**args)
25730
+ end
25731
+
25732
+ # Update properties of this object
25733
+ def update!(**args)
25734
+ @currency_code = args[:currency_code] if args.key?(:currency_code)
25735
+ @nanos = args[:nanos] if args.key?(:nanos)
25736
+ @units = args[:units] if args.key?(:units)
25737
+ end
25738
+ end
25739
+
25570
25740
  # [Deprecated] Configuration for the mutual Tls mode for peer authentication.
25571
25741
  # Configuration for the mutual Tls mode for peer authentication.
25572
25742
  class MutualTls
@@ -26098,12 +26268,19 @@ module Google
26098
26268
  class NetworkAttachmentConnectedEndpoint
26099
26269
  include Google::Apis::Core::Hashable
26100
26270
 
26101
- # The IP address assigned to the producer instance network interface. This value
26102
- # will be a range in case of Serverless.
26271
+ # The IPv4 address assigned to the producer instance network interface. This
26272
+ # value will be a range in case of Serverless.
26103
26273
  # Corresponds to the JSON property `ipAddress`
26104
26274
  # @return [String]
26105
26275
  attr_accessor :ip_address
26106
26276
 
26277
+ # The IPv6 address assigned to the producer instance network interface. This is
26278
+ # only assigned when the stack types of both the instance network interface and
26279
+ # the consumer subnet are IPv4_IPv6.
26280
+ # Corresponds to the JSON property `ipv6Address`
26281
+ # @return [String]
26282
+ attr_accessor :ipv6_address
26283
+
26107
26284
  # The project id or number of the interface to which the IP was assigned.
26108
26285
  # Corresponds to the JSON property `projectIdOrNum`
26109
26286
  # @return [String]
@@ -26132,6 +26309,7 @@ module Google
26132
26309
  # Update properties of this object
26133
26310
  def update!(**args)
26134
26311
  @ip_address = args[:ip_address] if args.key?(:ip_address)
26312
+ @ipv6_address = args[:ipv6_address] if args.key?(:ipv6_address)
26135
26313
  @project_id_or_num = args[:project_id_or_num] if args.key?(:project_id_or_num)
26136
26314
  @secondary_ip_cidr_ranges = args[:secondary_ip_cidr_ranges] if args.key?(:secondary_ip_cidr_ranges)
26137
26315
  @status = args[:status] if args.key?(:status)
@@ -30790,8 +30968,7 @@ module Google
30790
30968
  attr_accessor :self_link_with_id
30791
30969
 
30792
30970
  # Encapsulates partial completion metadata for SetCommonInstanceMetadata. Will
30793
- # be propagated on Operation.metadata as per go/partial-completion-api-clean.
30794
- # See go/gce-aips/2822 for API council results.
30971
+ # be propagated on Operation.metadata.
30795
30972
  # Corresponds to the JSON property `setCommonInstanceMetadataOperationMetadata`
30796
30973
  # @return [Google::Apis::ComputeAlpha::SetCommonInstanceMetadataOperationMetadata]
30797
30974
  attr_accessor :set_common_instance_metadata_operation_metadata
@@ -32232,6 +32409,37 @@ module Google
32232
32409
  end
32233
32410
  end
32234
32411
 
32412
+ # Model definition of partner_metadata field. To be used in dedicated Partner
32413
+ # Metadata methods and to be inlined in the Instance and InstanceTemplate
32414
+ # resources.
32415
+ class PartnerMetadata
32416
+ include Google::Apis::Core::Hashable
32417
+
32418
+ # Instance-level hash to be used for optimistic locking.
32419
+ # Corresponds to the JSON property `fingerprint`
32420
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
32421
+ # @return [String]
32422
+ attr_accessor :fingerprint
32423
+
32424
+ # Partner Metadata assigned to the instance. A map from a subdomain to entries
32425
+ # map. Subdomain name must be compliant with RFC1035 definition. The total size
32426
+ # of all keys and values must be less than 2MB. Subdomain 'metadata.compute.
32427
+ # googleapis.com' is reserverd for instance's metadata.
32428
+ # Corresponds to the JSON property `partnerMetadata`
32429
+ # @return [Hash<String,Google::Apis::ComputeAlpha::StructuredEntries>]
32430
+ attr_accessor :partner_metadata
32431
+
32432
+ def initialize(**args)
32433
+ update!(**args)
32434
+ end
32435
+
32436
+ # Update properties of this object
32437
+ def update!(**args)
32438
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
32439
+ @partner_metadata = args[:partner_metadata] if args.key?(:partner_metadata)
32440
+ end
32441
+ end
32442
+
32235
32443
  # A matcher for the path portion of the URL. The BackendService from the longest-
32236
32444
  # matched rule will serve the URL. If no rule was matched, the default service
32237
32445
  # is used.
@@ -34619,6 +34827,12 @@ module Google
34619
34827
  # @return [Hash<String,String>]
34620
34828
  attr_accessor :dimensions
34621
34829
 
34830
+ # Future quota limit being rolled out. The limit's unit depends on the quota
34831
+ # type or metric.
34832
+ # Corresponds to the JSON property `futureLimit`
34833
+ # @return [Float]
34834
+ attr_accessor :future_limit
34835
+
34622
34836
  # Current effective quota limit. The limit's unit depends on the quota type or
34623
34837
  # metric.
34624
34838
  # Corresponds to the JSON property `limit`
@@ -34642,6 +34856,7 @@ module Google
34642
34856
  # Update properties of this object
34643
34857
  def update!(**args)
34644
34858
  @dimensions = args[:dimensions] if args.key?(:dimensions)
34859
+ @future_limit = args[:future_limit] if args.key?(:future_limit)
34645
34860
  @limit = args[:limit] if args.key?(:limit)
34646
34861
  @limit_name = args[:limit_name] if args.key?(:limit_name)
34647
34862
  @metric_name = args[:metric_name] if args.key?(:metric_name)
@@ -35172,27 +35387,6 @@ module Google
35172
35387
  end
35173
35388
  end
35174
35389
 
35175
- #
35176
- class RegionDisksStopAsyncReplicationRequest
35177
- include Google::Apis::Core::Hashable
35178
-
35179
- # [Deprecated] The secondary disk to stop asynchronous replication to. This
35180
- # field will not be included in the beta or v1 APIs and will be removed from the
35181
- # alpha API in the near future.
35182
- # Corresponds to the JSON property `asyncSecondaryDisk`
35183
- # @return [String]
35184
- attr_accessor :async_secondary_disk
35185
-
35186
- def initialize(**args)
35187
- update!(**args)
35188
- end
35189
-
35190
- # Update properties of this object
35191
- def update!(**args)
35192
- @async_secondary_disk = args[:async_secondary_disk] if args.key?(:async_secondary_disk)
35193
- end
35194
- end
35195
-
35196
35390
  # Contains a list of InstanceGroup resources.
35197
35391
  class RegionInstanceGroupList
35198
35392
  include Google::Apis::Core::Hashable
@@ -39029,6 +39223,14 @@ module Google
39029
39223
  # @return [Fixnum]
39030
39224
  attr_accessor :asn
39031
39225
 
39226
+ # Explicitly specifies a range of valid BGP Identifiers for this Router. It is
39227
+ # provided as a link-local IPv4 range (from 169.254.0.0/16), of size at least /
39228
+ # 30, even if the BGP sessions are over IPv6. It must not overlap with any IPv4
39229
+ # BGP session ranges. Other vendors commonly call this "router ID".
39230
+ # Corresponds to the JSON property `identifierRange`
39231
+ # @return [String]
39232
+ attr_accessor :identifier_range
39233
+
39032
39234
  # The interval in seconds between BGP keepalive messages that are sent to the
39033
39235
  # peer. Hold time is three times the interval at which keepalive messages are
39034
39236
  # sent, and the hold time is the maximum number of seconds allowed to elapse
@@ -39050,6 +39252,7 @@ module Google
39050
39252
  @advertised_groups = args[:advertised_groups] if args.key?(:advertised_groups)
39051
39253
  @advertised_ip_ranges = args[:advertised_ip_ranges] if args.key?(:advertised_ip_ranges)
39052
39254
  @asn = args[:asn] if args.key?(:asn)
39255
+ @identifier_range = args[:identifier_range] if args.key?(:identifier_range)
39053
39256
  @keepalive_interval = args[:keepalive_interval] if args.key?(:keepalive_interval)
39054
39257
  end
39055
39258
  end
@@ -39117,6 +39320,13 @@ module Google
39117
39320
  # @return [String]
39118
39321
  attr_accessor :enable
39119
39322
 
39323
+ # Enable IPv4 traffic over BGP Peer. It is enabled by default if the
39324
+ # peerIpAddress is version 4.
39325
+ # Corresponds to the JSON property `enableIpv4`
39326
+ # @return [Boolean]
39327
+ attr_accessor :enable_ipv4
39328
+ alias_method :enable_ipv4?, :enable_ipv4
39329
+
39120
39330
  # Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default.
39121
39331
  # Corresponds to the JSON property `enableIpv6`
39122
39332
  # @return [Boolean]
@@ -39134,6 +39344,11 @@ module Google
39134
39344
  # @return [String]
39135
39345
  attr_accessor :ip_address
39136
39346
 
39347
+ # IPv4 address of the interface inside Google Cloud Platform.
39348
+ # Corresponds to the JSON property `ipv4NexthopAddress`
39349
+ # @return [String]
39350
+ attr_accessor :ipv4_nexthop_address
39351
+
39137
39352
  # IPv6 address of the interface inside Google Cloud Platform.
39138
39353
  # Corresponds to the JSON property `ipv6NexthopAddress`
39139
39354
  # @return [String]
@@ -39178,6 +39393,11 @@ module Google
39178
39393
  # @return [String]
39179
39394
  attr_accessor :peer_ip_address
39180
39395
 
39396
+ # IPv4 address of the BGP interface outside Google Cloud Platform.
39397
+ # Corresponds to the JSON property `peerIpv4NexthopAddress`
39398
+ # @return [String]
39399
+ attr_accessor :peer_ipv4_nexthop_address
39400
+
39181
39401
  # IPv6 address of the BGP interface outside Google Cloud Platform.
39182
39402
  # Corresponds to the JSON property `peerIpv6NexthopAddress`
39183
39403
  # @return [String]
@@ -39205,15 +39425,18 @@ module Google
39205
39425
  @custom_learned_ip_ranges = args[:custom_learned_ip_ranges] if args.key?(:custom_learned_ip_ranges)
39206
39426
  @custom_learned_route_priority = args[:custom_learned_route_priority] if args.key?(:custom_learned_route_priority)
39207
39427
  @enable = args[:enable] if args.key?(:enable)
39428
+ @enable_ipv4 = args[:enable_ipv4] if args.key?(:enable_ipv4)
39208
39429
  @enable_ipv6 = args[:enable_ipv6] if args.key?(:enable_ipv6)
39209
39430
  @interface_name = args[:interface_name] if args.key?(:interface_name)
39210
39431
  @ip_address = args[:ip_address] if args.key?(:ip_address)
39432
+ @ipv4_nexthop_address = args[:ipv4_nexthop_address] if args.key?(:ipv4_nexthop_address)
39211
39433
  @ipv6_nexthop_address = args[:ipv6_nexthop_address] if args.key?(:ipv6_nexthop_address)
39212
39434
  @management_type = args[:management_type] if args.key?(:management_type)
39213
39435
  @md5_authentication_key_name = args[:md5_authentication_key_name] if args.key?(:md5_authentication_key_name)
39214
39436
  @name = args[:name] if args.key?(:name)
39215
39437
  @peer_asn = args[:peer_asn] if args.key?(:peer_asn)
39216
39438
  @peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address)
39439
+ @peer_ipv4_nexthop_address = args[:peer_ipv4_nexthop_address] if args.key?(:peer_ipv4_nexthop_address)
39217
39440
  @peer_ipv6_nexthop_address = args[:peer_ipv6_nexthop_address] if args.key?(:peer_ipv6_nexthop_address)
39218
39441
  @router_appliance_instance = args[:router_appliance_instance] if args.key?(:router_appliance_instance)
39219
39442
  end
@@ -39337,6 +39560,11 @@ module Google
39337
39560
  # @return [String]
39338
39561
  attr_accessor :ip_range
39339
39562
 
39563
+ # IP version of this interface.
39564
+ # Corresponds to the JSON property `ipVersion`
39565
+ # @return [String]
39566
+ attr_accessor :ip_version
39567
+
39340
39568
  # URI of the linked Interconnect attachment. It must be in the same region as
39341
39569
  # the router. Each interface can have one linked resource, which can be a VPN
39342
39570
  # tunnel, an Interconnect attachment, or a virtual machine instance.
@@ -39407,6 +39635,7 @@ module Google
39407
39635
  # Update properties of this object
39408
39636
  def update!(**args)
39409
39637
  @ip_range = args[:ip_range] if args.key?(:ip_range)
39638
+ @ip_version = args[:ip_version] if args.key?(:ip_version)
39410
39639
  @linked_interconnect_attachment = args[:linked_interconnect_attachment] if args.key?(:linked_interconnect_attachment)
39411
39640
  @linked_vpn_tunnel = args[:linked_vpn_tunnel] if args.key?(:linked_vpn_tunnel)
39412
39641
  @management_type = args[:management_type] if args.key?(:management_type)
@@ -41996,6 +42225,12 @@ module Google
41996
42225
  # @return [Google::Apis::ComputeAlpha::Expr]
41997
42226
  attr_accessor :expr
41998
42227
 
42228
+ # The configuration options available when specifying a user defined CEVAL
42229
+ # expression (i.e., 'expr').
42230
+ # Corresponds to the JSON property `exprOptions`
42231
+ # @return [Google::Apis::ComputeAlpha::SecurityPolicyRuleMatcherExprOptions]
42232
+ attr_accessor :expr_options
42233
+
41999
42234
  # Preconfigured versioned expression. If this field is specified, config must
42000
42235
  # also be specified. Available preconfigured expressions along with their
42001
42236
  # requirements are: SRC_IPS_V1 - must specify the corresponding src_ip_range
@@ -42012,6 +42247,7 @@ module Google
42012
42247
  def update!(**args)
42013
42248
  @config = args[:config] if args.key?(:config)
42014
42249
  @expr = args[:expr] if args.key?(:expr)
42250
+ @expr_options = args[:expr_options] if args.key?(:expr_options)
42015
42251
  @versioned_expr = args[:versioned_expr] if args.key?(:versioned_expr)
42016
42252
  end
42017
42253
  end
@@ -42120,6 +42356,55 @@ module Google
42120
42356
  end
42121
42357
  end
42122
42358
 
42359
+ #
42360
+ class SecurityPolicyRuleMatcherExprOptions
42361
+ include Google::Apis::Core::Hashable
42362
+
42363
+ # reCAPTCHA configuration options to be applied for the rule. If the rule does
42364
+ # not evaluate reCAPTCHA tokens, this field will have no effect.
42365
+ # Corresponds to the JSON property `recaptchaOptions`
42366
+ # @return [Google::Apis::ComputeAlpha::SecurityPolicyRuleMatcherExprOptionsRecaptchaOptions]
42367
+ attr_accessor :recaptcha_options
42368
+
42369
+ def initialize(**args)
42370
+ update!(**args)
42371
+ end
42372
+
42373
+ # Update properties of this object
42374
+ def update!(**args)
42375
+ @recaptcha_options = args[:recaptcha_options] if args.key?(:recaptcha_options)
42376
+ end
42377
+ end
42378
+
42379
+ #
42380
+ class SecurityPolicyRuleMatcherExprOptionsRecaptchaOptions
42381
+ include Google::Apis::Core::Hashable
42382
+
42383
+ # A list of site keys to be used during the validation of reCAPTCHA action-
42384
+ # tokens. The provided site keys need to be created from reCAPTCHA API under the
42385
+ # same project where the security policy is created.
42386
+ # Corresponds to the JSON property `actionTokenSiteKeys`
42387
+ # @return [Array<String>]
42388
+ attr_accessor :action_token_site_keys
42389
+
42390
+ # A list of site keys to be used during the validation of reCAPTCHA session-
42391
+ # tokens. The provided site keys need to be created from reCAPTCHA API under the
42392
+ # same project where the security policy is created.
42393
+ # Corresponds to the JSON property `sessionTokenSiteKeys`
42394
+ # @return [Array<String>]
42395
+ attr_accessor :session_token_site_keys
42396
+
42397
+ def initialize(**args)
42398
+ update!(**args)
42399
+ end
42400
+
42401
+ # Update properties of this object
42402
+ def update!(**args)
42403
+ @action_token_site_keys = args[:action_token_site_keys] if args.key?(:action_token_site_keys)
42404
+ @session_token_site_keys = args[:session_token_site_keys] if args.key?(:session_token_site_keys)
42405
+ end
42406
+ end
42407
+
42123
42408
  # Represents a match condition that incoming network traffic is evaluated
42124
42409
  # against.
42125
42410
  class SecurityPolicyRuleNetworkMatcher
@@ -42633,7 +42918,7 @@ module Google
42633
42918
  # describes how clients should authenticate with this service's backends.
42634
42919
  # clientTlsPolicy only applies to a global BackendService with the
42635
42920
  # loadBalancingScheme set to INTERNAL_SELF_MANAGED. If left blank,
42636
- # communications are not encrypted. Note: This field currently has no impact.
42921
+ # communications are not encrypted.
42637
42922
  # Corresponds to the JSON property `clientTlsPolicy`
42638
42923
  # @return [String]
42639
42924
  attr_accessor :client_tls_policy
@@ -42655,7 +42940,7 @@ module Google
42655
42940
  # provisions server identities. Only applies to a global BackendService with
42656
42941
  # loadBalancingScheme set to INTERNAL_SELF_MANAGED. Only applies when
42657
42942
  # BackendService has an attached clientTlsPolicy with clientCertificate (mTLS
42658
- # mode). Note: This field currently has no impact.
42943
+ # mode).
42659
42944
  # Corresponds to the JSON property `subjectAltNames`
42660
42945
  # @return [Array<String>]
42661
42946
  attr_accessor :subject_alt_names
@@ -43412,8 +43697,7 @@ module Google
43412
43697
  end
43413
43698
 
43414
43699
  # Encapsulates partial completion metadata for SetCommonInstanceMetadata. Will
43415
- # be propagated on Operation.metadata as per go/partial-completion-api-clean.
43416
- # See go/gce-aips/2822 for API council results.
43700
+ # be propagated on Operation.metadata.
43417
43701
  class SetCommonInstanceMetadataOperationMetadata
43418
43702
  include Google::Apis::Core::Hashable
43419
43703
 
@@ -43875,9 +44159,8 @@ module Google
43875
44159
  # @return [Fixnum]
43876
44160
  attr_accessor :download_bytes
43877
44161
 
43878
- # Whether this snapshot is created from a confidential compute mode disk. see go/
43879
- # confidential-mode-in-arcus for details. [Output Only]: This field is not set
43880
- # by user, but from source disk.
44162
+ # Whether this snapshot is created from a confidential compute mode disk. [
44163
+ # Output Only]: This field is not set by user, but from source disk.
43881
44164
  # Corresponds to the JSON property `enableConfidentialCompute`
43882
44165
  # @return [Boolean]
43883
44166
  attr_accessor :enable_confidential_compute
@@ -44027,6 +44310,11 @@ module Google
44027
44310
  # @return [String]
44028
44311
  attr_accessor :source_instant_snapshot
44029
44312
 
44313
+ # Customer provided encryption key when creating Snapshot from Instant Snapshot.
44314
+ # Corresponds to the JSON property `sourceInstantSnapshotEncryptionKey`
44315
+ # @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey]
44316
+ attr_accessor :source_instant_snapshot_encryption_key
44317
+
44030
44318
  # [Output Only] The unique ID of the instant snapshot used to create this
44031
44319
  # snapshot. This value identifies the exact instant snapshot that was used to
44032
44320
  # create this persistent disk. For example, if you created the persistent disk
@@ -44115,6 +44403,7 @@ module Google
44115
44403
  @source_disk_for_recovery_checkpoint = args[:source_disk_for_recovery_checkpoint] if args.key?(:source_disk_for_recovery_checkpoint)
44116
44404
  @source_disk_id = args[:source_disk_id] if args.key?(:source_disk_id)
44117
44405
  @source_instant_snapshot = args[:source_instant_snapshot] if args.key?(:source_instant_snapshot)
44406
+ @source_instant_snapshot_encryption_key = args[:source_instant_snapshot_encryption_key] if args.key?(:source_instant_snapshot_encryption_key)
44118
44407
  @source_instant_snapshot_id = args[:source_instant_snapshot_id] if args.key?(:source_instant_snapshot_id)
44119
44408
  @source_snapshot_schedule_policy = args[:source_snapshot_schedule_policy] if args.key?(:source_snapshot_schedule_policy)
44120
44409
  @source_snapshot_schedule_policy_id = args[:source_snapshot_schedule_policy_id] if args.key?(:source_snapshot_schedule_policy_id)
@@ -45709,6 +45998,12 @@ module Google
45709
45998
  # @return [Fixnum]
45710
45999
  attr_accessor :provisioned_iops
45711
46000
 
46001
+ # Provisioned throughput of the storage pool. Only relevant if the storage pool
46002
+ # type is hyperdisk-balanced or hyperdisk-throughput.
46003
+ # Corresponds to the JSON property `provisionedThroughput`
46004
+ # @return [Fixnum]
46005
+ attr_accessor :provisioned_throughput
46006
+
45712
46007
  # [Output Only] Contains output only fields.
45713
46008
  # Corresponds to the JSON property `resourceStatus`
45714
46009
  # @return [Google::Apis::ComputeAlpha::StoragePoolResourceStatus]
@@ -45736,6 +46031,16 @@ module Google
45736
46031
  # @return [String]
45737
46032
  attr_accessor :state
45738
46033
 
46034
+ # [Output Only] Contains output only fields.
46035
+ # Corresponds to the JSON property `status`
46036
+ # @return [Google::Apis::ComputeAlpha::StoragePoolResourceStatus]
46037
+ attr_accessor :status
46038
+
46039
+ # Type of the storage pool.
46040
+ # Corresponds to the JSON property `storagePoolType`
46041
+ # @return [String]
46042
+ attr_accessor :storage_pool_type
46043
+
45739
46044
  # Type of the storage pool
45740
46045
  # Corresponds to the JSON property `type`
45741
46046
  # @return [String]
@@ -45762,11 +46067,14 @@ module Google
45762
46067
  @labels = args[:labels] if args.key?(:labels)
45763
46068
  @name = args[:name] if args.key?(:name)
45764
46069
  @provisioned_iops = args[:provisioned_iops] if args.key?(:provisioned_iops)
46070
+ @provisioned_throughput = args[:provisioned_throughput] if args.key?(:provisioned_throughput)
45765
46071
  @resource_status = args[:resource_status] if args.key?(:resource_status)
45766
46072
  @self_link = args[:self_link] if args.key?(:self_link)
45767
46073
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
45768
46074
  @size_gb = args[:size_gb] if args.key?(:size_gb)
45769
46075
  @state = args[:state] if args.key?(:state)
46076
+ @status = args[:status] if args.key?(:status)
46077
+ @storage_pool_type = args[:storage_pool_type] if args.key?(:storage_pool_type)
45770
46078
  @type = args[:type] if args.key?(:type)
45771
46079
  @zone = args[:zone] if args.key?(:zone)
45772
46080
  end
@@ -45902,6 +46210,86 @@ module Google
45902
46210
  end
45903
46211
  end
45904
46212
 
46213
+ #
46214
+ class StoragePoolDisk
46215
+ include Google::Apis::Core::Hashable
46216
+
46217
+ # [Output Only] Instances this disk is attached to.
46218
+ # Corresponds to the JSON property `attachedInstances`
46219
+ # @return [Array<String>]
46220
+ attr_accessor :attached_instances
46221
+
46222
+ # [Output Only] Creation timestamp in RFC3339 text format.
46223
+ # Corresponds to the JSON property `creationTimestamp`
46224
+ # @return [String]
46225
+ attr_accessor :creation_timestamp
46226
+
46227
+ # [Output Only] The URL of the disk.
46228
+ # Corresponds to the JSON property `disk`
46229
+ # @return [String]
46230
+ attr_accessor :disk
46231
+
46232
+ # [Output Only] The name of the disk.
46233
+ # Corresponds to the JSON property `name`
46234
+ # @return [String]
46235
+ attr_accessor :name
46236
+
46237
+ # [Output Only] The number of IOPS provisioned for the disk.
46238
+ # Corresponds to the JSON property `provisionedIops`
46239
+ # @return [Fixnum]
46240
+ attr_accessor :provisioned_iops
46241
+
46242
+ # [Output Only] The throughput provisioned for the disk.
46243
+ # Corresponds to the JSON property `provisionedThroughput`
46244
+ # @return [Fixnum]
46245
+ attr_accessor :provisioned_throughput
46246
+
46247
+ # [Output Only] Resource policies applied to disk for automatic snapshot
46248
+ # creations.
46249
+ # Corresponds to the JSON property `resourcePolicies`
46250
+ # @return [Array<String>]
46251
+ attr_accessor :resource_policies
46252
+
46253
+ # [Output Only] The disk size, in GB.
46254
+ # Corresponds to the JSON property `sizeGb`
46255
+ # @return [Fixnum]
46256
+ attr_accessor :size_gb
46257
+
46258
+ # [Output Only] The disk status.
46259
+ # Corresponds to the JSON property `status`
46260
+ # @return [String]
46261
+ attr_accessor :status
46262
+
46263
+ # [Output Only] The disk type.
46264
+ # Corresponds to the JSON property `type`
46265
+ # @return [String]
46266
+ attr_accessor :type
46267
+
46268
+ # [Output Only] Amount of disk space used.
46269
+ # Corresponds to the JSON property `usedBytes`
46270
+ # @return [Fixnum]
46271
+ attr_accessor :used_bytes
46272
+
46273
+ def initialize(**args)
46274
+ update!(**args)
46275
+ end
46276
+
46277
+ # Update properties of this object
46278
+ def update!(**args)
46279
+ @attached_instances = args[:attached_instances] if args.key?(:attached_instances)
46280
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
46281
+ @disk = args[:disk] if args.key?(:disk)
46282
+ @name = args[:name] if args.key?(:name)
46283
+ @provisioned_iops = args[:provisioned_iops] if args.key?(:provisioned_iops)
46284
+ @provisioned_throughput = args[:provisioned_throughput] if args.key?(:provisioned_throughput)
46285
+ @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
46286
+ @size_gb = args[:size_gb] if args.key?(:size_gb)
46287
+ @status = args[:status] if args.key?(:status)
46288
+ @type = args[:type] if args.key?(:type)
46289
+ @used_bytes = args[:used_bytes] if args.key?(:used_bytes)
46290
+ end
46291
+ end
46292
+
45905
46293
  # A list of StoragePool resources.
45906
46294
  class StoragePoolList
45907
46295
  include Google::Apis::Core::Hashable
@@ -46033,6 +46421,137 @@ module Google
46033
46421
  end
46034
46422
  end
46035
46423
 
46424
+ #
46425
+ class StoragePoolListDisks
46426
+ include Google::Apis::Core::Hashable
46427
+
46428
+ #
46429
+ # Corresponds to the JSON property `etag`
46430
+ # @return [String]
46431
+ attr_accessor :etag
46432
+
46433
+ # [Output Only] Unique identifier for the resource; defined by the server.
46434
+ # Corresponds to the JSON property `id`
46435
+ # @return [String]
46436
+ attr_accessor :id
46437
+
46438
+ # A list of StoragePoolDisk resources.
46439
+ # Corresponds to the JSON property `items`
46440
+ # @return [Array<Google::Apis::ComputeAlpha::StoragePoolDisk>]
46441
+ attr_accessor :items
46442
+
46443
+ # [Output Only] Type of resource. Always compute#storagePoolListDisks for lists
46444
+ # of disks in a storagePool.
46445
+ # Corresponds to the JSON property `kind`
46446
+ # @return [String]
46447
+ attr_accessor :kind
46448
+
46449
+ # [Output Only] This token allows you to get the next page of results for list
46450
+ # requests. If the number of results is larger than maxResults, use the
46451
+ # nextPageToken as a value for the query parameter pageToken in the next list
46452
+ # request. Subsequent list requests will have their own nextPageToken to
46453
+ # continue paging through the results.
46454
+ # Corresponds to the JSON property `nextPageToken`
46455
+ # @return [String]
46456
+ attr_accessor :next_page_token
46457
+
46458
+ # [Output Only] Server-defined URL for this resource.
46459
+ # Corresponds to the JSON property `selfLink`
46460
+ # @return [String]
46461
+ attr_accessor :self_link
46462
+
46463
+ # [Output Only] Unreachable resources. end_interface:
46464
+ # MixerListResponseWithEtagBuilder
46465
+ # Corresponds to the JSON property `unreachables`
46466
+ # @return [Array<String>]
46467
+ attr_accessor :unreachables
46468
+
46469
+ # [Output Only] Informational warning message.
46470
+ # Corresponds to the JSON property `warning`
46471
+ # @return [Google::Apis::ComputeAlpha::StoragePoolListDisks::Warning]
46472
+ attr_accessor :warning
46473
+
46474
+ def initialize(**args)
46475
+ update!(**args)
46476
+ end
46477
+
46478
+ # Update properties of this object
46479
+ def update!(**args)
46480
+ @etag = args[:etag] if args.key?(:etag)
46481
+ @id = args[:id] if args.key?(:id)
46482
+ @items = args[:items] if args.key?(:items)
46483
+ @kind = args[:kind] if args.key?(:kind)
46484
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
46485
+ @self_link = args[:self_link] if args.key?(:self_link)
46486
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
46487
+ @warning = args[:warning] if args.key?(:warning)
46488
+ end
46489
+
46490
+ # [Output Only] Informational warning message.
46491
+ class Warning
46492
+ include Google::Apis::Core::Hashable
46493
+
46494
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
46495
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
46496
+ # Corresponds to the JSON property `code`
46497
+ # @return [String]
46498
+ attr_accessor :code
46499
+
46500
+ # [Output Only] Metadata about this warning in key: value format. For example: "
46501
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
46502
+ # Corresponds to the JSON property `data`
46503
+ # @return [Array<Google::Apis::ComputeAlpha::StoragePoolListDisks::Warning::Datum>]
46504
+ attr_accessor :data
46505
+
46506
+ # [Output Only] A human-readable description of the warning code.
46507
+ # Corresponds to the JSON property `message`
46508
+ # @return [String]
46509
+ attr_accessor :message
46510
+
46511
+ def initialize(**args)
46512
+ update!(**args)
46513
+ end
46514
+
46515
+ # Update properties of this object
46516
+ def update!(**args)
46517
+ @code = args[:code] if args.key?(:code)
46518
+ @data = args[:data] if args.key?(:data)
46519
+ @message = args[:message] if args.key?(:message)
46520
+ end
46521
+
46522
+ #
46523
+ class Datum
46524
+ include Google::Apis::Core::Hashable
46525
+
46526
+ # [Output Only] A key that provides more detail on the warning being returned.
46527
+ # For example, for warnings where there are no results in a list request for a
46528
+ # particular zone, this key might be scope and the key value might be the zone
46529
+ # name. Other examples might be a key indicating a deprecated resource and a
46530
+ # suggested replacement, or a warning about invalid network settings (for
46531
+ # example, if an instance attempts to perform IP forwarding but is not enabled
46532
+ # for IP forwarding).
46533
+ # Corresponds to the JSON property `key`
46534
+ # @return [String]
46535
+ attr_accessor :key
46536
+
46537
+ # [Output Only] A warning data value corresponding to the key.
46538
+ # Corresponds to the JSON property `value`
46539
+ # @return [String]
46540
+ attr_accessor :value
46541
+
46542
+ def initialize(**args)
46543
+ update!(**args)
46544
+ end
46545
+
46546
+ # Update properties of this object
46547
+ def update!(**args)
46548
+ @key = args[:key] if args.key?(:key)
46549
+ @value = args[:value] if args.key?(:value)
46550
+ end
46551
+ end
46552
+ end
46553
+ end
46554
+
46036
46555
  # [Output Only] Contains output only fields.
46037
46556
  class StoragePoolResourceStatus
46038
46557
  include Google::Apis::Core::Hashable
@@ -46182,6 +46701,26 @@ module Google
46182
46701
  end
46183
46702
  end
46184
46703
 
46704
+ #
46705
+ class StructuredEntries
46706
+ include Google::Apis::Core::Hashable
46707
+
46708
+ # Map of a partner metadata that belong to the same subdomain. It accepts any
46709
+ # value including google.protobuf.Struct.
46710
+ # Corresponds to the JSON property `entries`
46711
+ # @return [Hash<String,Object>]
46712
+ attr_accessor :entries
46713
+
46714
+ def initialize(**args)
46715
+ update!(**args)
46716
+ end
46717
+
46718
+ # Update properties of this object
46719
+ def update!(**args)
46720
+ @entries = args[:entries] if args.key?(:entries)
46721
+ end
46722
+ end
46723
+
46185
46724
  # Represents a Subnetwork resource. A subnetwork (also known as a subnet) is a
46186
46725
  # logical partition of a Virtual Private Cloud network with one primary IP range
46187
46726
  # and zero or more secondary IP ranges. For more information, read Virtual