google-apis-compute_alpha 0.67.0 → 0.69.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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