google-apis-compute_alpha 0.124.0 → 0.125.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.
@@ -4154,7 +4154,7 @@ module Google
4154
4154
  include Google::Apis::Core::Hashable
4155
4155
 
4156
4156
  # The HTTP status code to define a TTL against. Only HTTP status codes
4157
- # 300, 301, 302, 307, 308, 404, 405, 410, 421, 451 and 501 are can be
4157
+ # 300, 301, 302, 307, 308, 404, 405, 410, 421, 451 and 501 can be
4158
4158
  # specified as values, and you cannot specify a status code more than
4159
4159
  # once.
4160
4160
  # Corresponds to the JSON property `code`
@@ -4596,8 +4596,8 @@ module Google
4596
4596
  attr_accessor :max_utilization
4597
4597
 
4598
4598
  # Name of a custom utilization signal. The name must be 1-64 characters
4599
- # long and match the regular expression[a-z]([-_.a-z0-9]*[a-z0-9])? which means
4600
- # that the
4599
+ # long and match the regular expression
4600
+ # `[a-z]([-_.a-z0-9]*[a-z0-9])?` which means that the
4601
4601
  # first character must be a lowercase letter, and all following
4602
4602
  # characters must be a dash, period, underscore, lowercase letter, or
4603
4603
  # digit, except the last character, which cannot be a dash, period, or
@@ -5566,7 +5566,7 @@ module Google
5566
5566
  include Google::Apis::Core::Hashable
5567
5567
 
5568
5568
  # The HTTP status code to define a TTL against. Only HTTP status codes
5569
- # 300, 301, 302, 307, 308, 404, 405, 410, 421, 451 and 501 are can be
5569
+ # 300, 301, 302, 307, 308, 404, 405, 410, 421, 451 and 501 can be
5570
5570
  # specified as values, and you cannot specify a status code more than
5571
5571
  # once.
5572
5572
  # Corresponds to the JSON property `code`
@@ -5688,8 +5688,8 @@ module Google
5688
5688
  alias_method :dry_run?, :dry_run
5689
5689
 
5690
5690
  # Name of a custom utilization signal. The name must be 1-64 characters
5691
- # long and match the regular expression[a-z]([-_.a-z0-9]*[a-z0-9])? which means
5692
- # that the
5691
+ # long and match the regular expression
5692
+ # `[a-z]([-_.a-z0-9]*[a-z0-9])?` which means that the
5693
5693
  # first character must be a lowercase letter, and all following
5694
5694
  # characters must be a dash, period, underscore, lowercase letter, or
5695
5695
  # digit, except the last character, which cannot be a dash, period, or
@@ -6663,32 +6663,31 @@ module Google
6663
6663
  # @return [String]
6664
6664
  attr_accessor :authentication_config
6665
6665
 
6666
- # Assigns the Managed Identity for the RegionBackendService Workload.
6666
+ # Assigns the Managed Identity for the BackendService Workload.
6667
6667
  # Use this property to configure the load balancer back-end to use
6668
6668
  # certificates and roots of trust provisioned by the Managed Workload
6669
6669
  # Identity system.
6670
- # The `managedIdentity` property is the
6670
+ # The `identity` property is the
6671
6671
  # fully-specified SPIFFE ID to use in the SVID presented by the Load
6672
6672
  # Balancer Workload.
6673
6673
  # The SPIFFE ID must be a resource starting with the
6674
- # "spiffe" scheme identifier, followed by the "trustDomain" property value,
6675
- # followed by the path to the Managed Workload Identity.
6676
- # Supported
6677
- # SPIFFE ID format:
6674
+ # `trustDomain` property value, followed by the path to the Managed
6675
+ # Workload Identity.
6676
+ # Supported SPIFFE ID format:
6678
6677
  #
6679
- # - spiffe://<trust_domain>/ns/<namespace>/sa/<subject>
6678
+ # - //<trust_domain>/ns/<namespace>/sa/<subject>
6680
6679
  # The Trust Domain within the Managed Identity must refer to a valid
6681
6680
  # Workload Identity Pool. The TrustConfig and CertificateIssuanceConfig
6682
6681
  # will be inherited from the Workload Identity Pool.
6683
6682
  # Restrictions:
6684
6683
  #
6685
- # - If you set the `managedIdentity` property, you cannot manually set
6684
+ # - If you set the `identity` property, you cannot manually set
6686
6685
  # the following fields:
6687
6686
  # - tlsSettings.sni
6688
6687
  # - tlsSettings.subjectAltNames
6689
6688
  # - tlsSettings.authenticationConfig
6690
6689
  #
6691
- # When defining a `managedIdentity` for a RegionBackendServices, the
6690
+ # When defining a `identity` for a RegionBackendServices, the
6692
6691
  # corresponding Workload Identity Pool must have a ca_pool
6693
6692
  # configured in the same region.
6694
6693
  # The system will set up a read-onlytlsSettings.authenticationConfig for the
@@ -8126,7 +8125,8 @@ module Google
8126
8125
  # @return [Float]
8127
8126
  attr_accessor :obtainability
8128
8127
 
8129
- # The uptime score indicates the availability of your Spot VMs. For more
8128
+ # The uptime score indicates the likelihood that your Spot VMs will
8129
+ # continue to run without preemption within the next few hours. For more
8130
8130
  # information about the preemption process, see Preemption
8131
8131
  # of Spot VMs.
8132
8132
  # The score range is 0.0 through 1.0. Higher is better.
@@ -18715,11 +18715,155 @@ module Google
18715
18715
  end
18716
18716
  end
18717
18717
 
18718
+ #
18719
+ class HaControllersAggregatedList
18720
+ include Google::Apis::Core::Hashable
18721
+
18722
+ #
18723
+ # Corresponds to the JSON property `etag`
18724
+ # @return [String]
18725
+ attr_accessor :etag
18726
+
18727
+ # [Output Only] Unique identifier for the resource; defined by the server.
18728
+ # Corresponds to the JSON property `id`
18729
+ # @return [String]
18730
+ attr_accessor :id
18731
+
18732
+ # A list of HaControllersScopedList resources.
18733
+ # Corresponds to the JSON property `items`
18734
+ # @return [Hash<String,Google::Apis::ComputeAlpha::HaControllersScopedList>]
18735
+ attr_accessor :items
18736
+
18737
+ # [Output Only] Type of resource. Alwayscompute#haControllersAggregatedList for
18738
+ # lists of
18739
+ # HaControllers.
18740
+ # Corresponds to the JSON property `kind`
18741
+ # @return [String]
18742
+ attr_accessor :kind
18743
+
18744
+ # [Output Only] This token allows you to get the next page of results for
18745
+ # list requests. If the number of results is larger thanmaxResults, use the
18746
+ # nextPageToken as a value for
18747
+ # the query parameter pageToken in the next list request.
18748
+ # Subsequent list requests will have their own nextPageToken to
18749
+ # continue paging through the results.
18750
+ # Corresponds to the JSON property `nextPageToken`
18751
+ # @return [String]
18752
+ attr_accessor :next_page_token
18753
+
18754
+ # [Output Only] Server-defined URL for this resource.
18755
+ # Corresponds to the JSON property `selfLink`
18756
+ # @return [String]
18757
+ attr_accessor :self_link
18758
+
18759
+ # [Output Only] Unreachable resources.
18760
+ # Corresponds to the JSON property `unreachables`
18761
+ # @return [Array<String>]
18762
+ attr_accessor :unreachables
18763
+
18764
+ # [Output Only] Informational warning message.
18765
+ # Corresponds to the JSON property `warning`
18766
+ # @return [Google::Apis::ComputeAlpha::HaControllersAggregatedList::Warning]
18767
+ attr_accessor :warning
18768
+
18769
+ def initialize(**args)
18770
+ update!(**args)
18771
+ end
18772
+
18773
+ # Update properties of this object
18774
+ def update!(**args)
18775
+ @etag = args[:etag] if args.key?(:etag)
18776
+ @id = args[:id] if args.key?(:id)
18777
+ @items = args[:items] if args.key?(:items)
18778
+ @kind = args[:kind] if args.key?(:kind)
18779
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
18780
+ @self_link = args[:self_link] if args.key?(:self_link)
18781
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
18782
+ @warning = args[:warning] if args.key?(:warning)
18783
+ end
18784
+
18785
+ # [Output Only] Informational warning message.
18786
+ class Warning
18787
+ include Google::Apis::Core::Hashable
18788
+
18789
+ # [Output Only] A warning code, if applicable. For example, Compute
18790
+ # Engine returns NO_RESULTS_ON_PAGE if there
18791
+ # are no results in the response.
18792
+ # Corresponds to the JSON property `code`
18793
+ # @return [String]
18794
+ attr_accessor :code
18795
+
18796
+ # [Output Only] Metadata about this warning in key:
18797
+ # value format. For example:
18798
+ # "data": [
18799
+ # `
18800
+ # "key": "scope",
18801
+ # "value": "zones/us-east1-d"
18802
+ # `
18803
+ # Corresponds to the JSON property `data`
18804
+ # @return [Array<Google::Apis::ComputeAlpha::HaControllersAggregatedList::Warning::Datum>]
18805
+ attr_accessor :data
18806
+
18807
+ # [Output Only] A human-readable description of the warning code.
18808
+ # Corresponds to the JSON property `message`
18809
+ # @return [String]
18810
+ attr_accessor :message
18811
+
18812
+ def initialize(**args)
18813
+ update!(**args)
18814
+ end
18815
+
18816
+ # Update properties of this object
18817
+ def update!(**args)
18818
+ @code = args[:code] if args.key?(:code)
18819
+ @data = args[:data] if args.key?(:data)
18820
+ @message = args[:message] if args.key?(:message)
18821
+ end
18822
+
18823
+ #
18824
+ class Datum
18825
+ include Google::Apis::Core::Hashable
18826
+
18827
+ # [Output Only] A key that provides more detail on the warning being
18828
+ # returned. For example, for warnings where there are no results in a list
18829
+ # request for a particular zone, this key might be scope and
18830
+ # the key value might be the zone name. Other examples might be a key
18831
+ # indicating a deprecated resource and a suggested replacement, or a
18832
+ # warning about invalid network settings (for example, if an instance
18833
+ # attempts to perform IP forwarding but is not enabled for IP forwarding).
18834
+ # Corresponds to the JSON property `key`
18835
+ # @return [String]
18836
+ attr_accessor :key
18837
+
18838
+ # [Output Only] A warning data value corresponding to the key.
18839
+ # Corresponds to the JSON property `value`
18840
+ # @return [String]
18841
+ attr_accessor :value
18842
+
18843
+ def initialize(**args)
18844
+ update!(**args)
18845
+ end
18846
+
18847
+ # Update properties of this object
18848
+ def update!(**args)
18849
+ @key = args[:key] if args.key?(:key)
18850
+ @value = args[:value] if args.key?(:value)
18851
+ end
18852
+ end
18853
+ end
18854
+ end
18855
+
18718
18856
  #
18719
18857
  class HaControllersFailoverRequest
18720
18858
  include Google::Apis::Core::Hashable
18721
18859
 
18722
18860
  # Name of the destination zone for the failover.
18861
+ # Corresponds to the JSON property `failoverToZone`
18862
+ # @return [String]
18863
+ attr_accessor :failover_to_zone
18864
+
18865
+ # Name of the destination zone for the failover.
18866
+ # Deprecated: use failover_to_zone instead.
18723
18867
  # Corresponds to the JSON property `primaryZone`
18724
18868
  # @return [String]
18725
18869
  attr_accessor :primary_zone
@@ -18730,6 +18874,7 @@ module Google
18730
18874
 
18731
18875
  # Update properties of this object
18732
18876
  def update!(**args)
18877
+ @failover_to_zone = args[:failover_to_zone] if args.key?(:failover_to_zone)
18733
18878
  @primary_zone = args[:primary_zone] if args.key?(:primary_zone)
18734
18879
  end
18735
18880
  end
@@ -18863,6 +19008,103 @@ module Google
18863
19008
  end
18864
19009
  end
18865
19010
 
19011
+ #
19012
+ class HaControllersScopedList
19013
+ include Google::Apis::Core::Hashable
19014
+
19015
+ # List of HaControllers contained in this scope.
19016
+ # Corresponds to the JSON property `haControllers`
19017
+ # @return [Array<Google::Apis::ComputeAlpha::HaController>]
19018
+ attr_accessor :ha_controllers
19019
+
19020
+ # Informational warning which replaces the list of
19021
+ # backend services when the list is empty.
19022
+ # Corresponds to the JSON property `warning`
19023
+ # @return [Google::Apis::ComputeAlpha::HaControllersScopedList::Warning]
19024
+ attr_accessor :warning
19025
+
19026
+ def initialize(**args)
19027
+ update!(**args)
19028
+ end
19029
+
19030
+ # Update properties of this object
19031
+ def update!(**args)
19032
+ @ha_controllers = args[:ha_controllers] if args.key?(:ha_controllers)
19033
+ @warning = args[:warning] if args.key?(:warning)
19034
+ end
19035
+
19036
+ # Informational warning which replaces the list of
19037
+ # backend services when the list is empty.
19038
+ class Warning
19039
+ include Google::Apis::Core::Hashable
19040
+
19041
+ # [Output Only] A warning code, if applicable. For example, Compute
19042
+ # Engine returns NO_RESULTS_ON_PAGE if there
19043
+ # are no results in the response.
19044
+ # Corresponds to the JSON property `code`
19045
+ # @return [String]
19046
+ attr_accessor :code
19047
+
19048
+ # [Output Only] Metadata about this warning in key:
19049
+ # value format. For example:
19050
+ # "data": [
19051
+ # `
19052
+ # "key": "scope",
19053
+ # "value": "zones/us-east1-d"
19054
+ # `
19055
+ # Corresponds to the JSON property `data`
19056
+ # @return [Array<Google::Apis::ComputeAlpha::HaControllersScopedList::Warning::Datum>]
19057
+ attr_accessor :data
19058
+
19059
+ # [Output Only] A human-readable description of the warning code.
19060
+ # Corresponds to the JSON property `message`
19061
+ # @return [String]
19062
+ attr_accessor :message
19063
+
19064
+ def initialize(**args)
19065
+ update!(**args)
19066
+ end
19067
+
19068
+ # Update properties of this object
19069
+ def update!(**args)
19070
+ @code = args[:code] if args.key?(:code)
19071
+ @data = args[:data] if args.key?(:data)
19072
+ @message = args[:message] if args.key?(:message)
19073
+ end
19074
+
19075
+ #
19076
+ class Datum
19077
+ include Google::Apis::Core::Hashable
19078
+
19079
+ # [Output Only] A key that provides more detail on the warning being
19080
+ # returned. For example, for warnings where there are no results in a list
19081
+ # request for a particular zone, this key might be scope and
19082
+ # the key value might be the zone name. Other examples might be a key
19083
+ # indicating a deprecated resource and a suggested replacement, or a
19084
+ # warning about invalid network settings (for example, if an instance
19085
+ # attempts to perform IP forwarding but is not enabled for IP forwarding).
19086
+ # Corresponds to the JSON property `key`
19087
+ # @return [String]
19088
+ attr_accessor :key
19089
+
19090
+ # [Output Only] A warning data value corresponding to the key.
19091
+ # Corresponds to the JSON property `value`
19092
+ # @return [String]
19093
+ attr_accessor :value
19094
+
19095
+ def initialize(**args)
19096
+ update!(**args)
19097
+ end
19098
+
19099
+ # Update properties of this object
19100
+ def update!(**args)
19101
+ @key = args[:key] if args.key?(:key)
19102
+ @value = args[:value] if args.key?(:value)
19103
+ end
19104
+ end
19105
+ end
19106
+ end
19107
+
18866
19108
  #
18867
19109
  class HealthAggregationPoliciesScopedList
18868
19110
  include Google::Apis::Core::Hashable
@@ -23554,6 +23796,11 @@ module Google
23554
23796
  # @return [Google::Apis::ComputeAlpha::UpcomingMaintenance]
23555
23797
  attr_accessor :upcoming_maintenance
23556
23798
 
23799
+ #
23800
+ # Corresponds to the JSON property `workloadIdentityConfig`
23801
+ # @return [Google::Apis::ComputeAlpha::WorkloadIdentityConfig]
23802
+ attr_accessor :workload_identity_config
23803
+
23557
23804
  # [Output Only] URL of the zone where the instance resides.
23558
23805
  # You must specify this field as part of the HTTP request URL. It is
23559
23806
  # not settable as a field in the request body.
@@ -23624,6 +23871,7 @@ module Google
23624
23871
  @status_message = args[:status_message] if args.key?(:status_message)
23625
23872
  @tags = args[:tags] if args.key?(:tags)
23626
23873
  @upcoming_maintenance = args[:upcoming_maintenance] if args.key?(:upcoming_maintenance)
23874
+ @workload_identity_config = args[:workload_identity_config] if args.key?(:workload_identity_config)
23627
23875
  @zone = args[:zone] if args.key?(:zone)
23628
23876
  end
23629
23877
  end
@@ -25003,11 +25251,23 @@ module Google
25003
25251
  class InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection
25004
25252
  include Google::Apis::Core::Hashable
25005
25253
 
25254
+ # List of disks to be attached to the instances created from this
25255
+ # selection.
25256
+ # Corresponds to the JSON property `disks`
25257
+ # @return [Array<Google::Apis::ComputeAlpha::AttachedDisk>]
25258
+ attr_accessor :disks
25259
+
25006
25260
  # Full machine-type names, e.g. "n1-standard-16".
25007
25261
  # Corresponds to the JSON property `machineTypes`
25008
25262
  # @return [Array<String>]
25009
25263
  attr_accessor :machine_types
25010
25264
 
25265
+ # Name of the minimum CPU platform to be used by this instance selection.
25266
+ # e.g. 'Intel Ice Lake'.
25267
+ # Corresponds to the JSON property `minCpuPlatform`
25268
+ # @return [String]
25269
+ attr_accessor :min_cpu_platform
25270
+
25011
25271
  # Preference of this instance selection. Lower number means higher
25012
25272
  # preference. MIG will first try to create a VM based on the machine-type
25013
25273
  # with lowest rank and fallback to next rank based on availability.
@@ -25023,7 +25283,9 @@ module Google
25023
25283
 
25024
25284
  # Update properties of this object
25025
25285
  def update!(**args)
25286
+ @disks = args[:disks] if args.key?(:disks)
25026
25287
  @machine_types = args[:machine_types] if args.key?(:machine_types)
25288
+ @min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
25027
25289
  @rank = args[:rank] if args.key?(:rank)
25028
25290
  end
25029
25291
  end
@@ -25165,6 +25427,12 @@ module Google
25165
25427
  include Google::Apis::Core::Hashable
25166
25428
 
25167
25429
  # Specifies whether the MIG can change a VM's zone during a repair.
25430
+ # Valid values are:
25431
+ #
25432
+ # - NO (default): MIG cannot change a VM's zone during a
25433
+ # repair.
25434
+ # - YES: MIG can select a different zone for the VM during
25435
+ # a repair.
25168
25436
  # Corresponds to the JSON property `allowChangingZone`
25169
25437
  # @return [String]
25170
25438
  attr_accessor :allow_changing_zone
@@ -28142,6 +28410,11 @@ module Google
28142
28410
  # @return [Google::Apis::ComputeAlpha::Tags]
28143
28411
  attr_accessor :tags
28144
28412
 
28413
+ #
28414
+ # Corresponds to the JSON property `workloadIdentityConfig`
28415
+ # @return [Google::Apis::ComputeAlpha::WorkloadIdentityConfig]
28416
+ attr_accessor :workload_identity_config
28417
+
28145
28418
  def initialize(**args)
28146
28419
  update!(**args)
28147
28420
  end
@@ -28177,6 +28450,7 @@ module Google
28177
28450
  @shielded_instance_config = args[:shielded_instance_config] if args.key?(:shielded_instance_config)
28178
28451
  @shielded_vm_config = args[:shielded_vm_config] if args.key?(:shielded_vm_config)
28179
28452
  @tags = args[:tags] if args.key?(:tags)
28453
+ @workload_identity_config = args[:workload_identity_config] if args.key?(:workload_identity_config)
28180
28454
  end
28181
28455
  end
28182
28456
 
@@ -31027,6 +31301,7 @@ module Google
31027
31301
  # customer.
31028
31302
  # - PARTNER_PROVIDER: an attachment to a Partner Interconnect, created by
31029
31303
  # the partner.
31304
+ # - L2_DEDICATED: a L2 attachment to a Dedicated Interconnect.
31030
31305
  # Corresponds to the JSON property `type`
31031
31306
  # @return [String]
31032
31307
  attr_accessor :type
@@ -33071,7 +33346,7 @@ module Google
33071
33346
  # If provided when patching a configuration in update mode, the provided
33072
33347
  # token must match the current token or the update is rejected. This provides
33073
33348
  # a reliable means of doing read-modify-write (optimistic locking) as
33074
- # described byAPI 154.
33349
+ # described by AIP 154.
33075
33350
  # Corresponds to the JSON property `etag`
33076
33351
  # @return [String]
33077
33352
  attr_accessor :etag
@@ -37509,11 +37784,22 @@ module Google
37509
37784
  class ManagedInstanceInstanceFlexibilityOverride
37510
37785
  include Google::Apis::Core::Hashable
37511
37786
 
37787
+ # List of disks to be attached to the instance.
37788
+ # Corresponds to the JSON property `disks`
37789
+ # @return [Array<Google::Apis::ComputeAlpha::AttachedDisk>]
37790
+ attr_accessor :disks
37791
+
37512
37792
  # The machine type to be used for this instance.
37513
37793
  # Corresponds to the JSON property `machineType`
37514
37794
  # @return [String]
37515
37795
  attr_accessor :machine_type
37516
37796
 
37797
+ # Name of the minimum CPU platform to be used by this instance.
37798
+ # e.g. 'Intel Ice Lake'.
37799
+ # Corresponds to the JSON property `minCpuPlatform`
37800
+ # @return [String]
37801
+ attr_accessor :min_cpu_platform
37802
+
37517
37803
  # The provisioning model to be used for this instance.
37518
37804
  # Corresponds to the JSON property `provisioningModel`
37519
37805
  # @return [String]
@@ -37525,7 +37811,9 @@ module Google
37525
37811
 
37526
37812
  # Update properties of this object
37527
37813
  def update!(**args)
37814
+ @disks = args[:disks] if args.key?(:disks)
37528
37815
  @machine_type = args[:machine_type] if args.key?(:machine_type)
37816
+ @min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
37529
37817
  @provisioning_model = args[:provisioning_model] if args.key?(:provisioning_model)
37530
37818
  end
37531
37819
  end
@@ -42684,6 +42972,11 @@ module Google
42684
42972
  # @return [Array<String>]
42685
42973
  attr_accessor :address_purposes
42686
42974
 
42975
+ # Specifies whether address creation is allowed.
42976
+ # Corresponds to the JSON property `allowAddressCreation`
42977
+ # @return [String]
42978
+ attr_accessor :allow_address_creation
42979
+
42687
42980
  # Specifies whether alias IP ranges (and secondary address ranges) are
42688
42981
  # allowed.
42689
42982
  # Corresponds to the JSON property `allowAliasIpRanges`
@@ -42746,6 +43039,16 @@ module Google
42746
43039
  # @return [String]
42747
43040
  attr_accessor :allow_multi_nic_in_same_network
42748
43041
 
43042
+ # Specifies whether multi-nic in the same subnetwork is allowed.
43043
+ # Corresponds to the JSON property `allowMultiNicInSameSubnetwork`
43044
+ # @return [String]
43045
+ attr_accessor :allow_multi_nic_in_same_subnetwork
43046
+
43047
+ # Specifies whether multicast is allowed.
43048
+ # Corresponds to the JSON property `allowMulticast`
43049
+ # @return [String]
43050
+ attr_accessor :allow_multicast
43051
+
42749
43052
  # Specifies whether NCC is allowed.
42750
43053
  # Corresponds to the JSON property `allowNcc`
42751
43054
  # @return [String]
@@ -42786,6 +43089,11 @@ module Google
42786
43089
  # @return [String]
42787
43090
  attr_accessor :allow_sub_interfaces
42788
43091
 
43092
+ # Specifies whether subnetwork creation is allowed.
43093
+ # Corresponds to the JSON property `allowSubnetworkCreation`
43094
+ # @return [String]
43095
+ attr_accessor :allow_subnetwork_creation
43096
+
42789
43097
  # Specifies whether VPC firewall rules can be created under the network.
42790
43098
  # Corresponds to the JSON property `allowVpcFirewallRules`
42791
43099
  # @return [String]
@@ -42812,6 +43120,21 @@ module Google
42812
43120
  # @return [Array<String>]
42813
43121
  attr_accessor :interface_types
42814
43122
 
43123
+ # Specifies which type of multicast is supported.
43124
+ # Corresponds to the JSON property `multicast`
43125
+ # @return [String]
43126
+ attr_accessor :multicast
43127
+
43128
+ # Specifies a predefined internal IPv6 range for the network.
43129
+ # Corresponds to the JSON property `predefinedNetworkInternalIpv6Range`
43130
+ # @return [String]
43131
+ attr_accessor :predefined_network_internal_ipv6_range
43132
+
43133
+ # Predefined subnetwork ranges for the network.
43134
+ # Corresponds to the JSON property `predefinedSubnetworkRanges`
43135
+ # @return [Array<Google::Apis::ComputeAlpha::NetworkProfileNetworkFeaturesPredefinedSubnetworkRange>]
43136
+ attr_accessor :predefined_subnetwork_ranges
43137
+
42815
43138
  # Specifies which subnetwork purposes are supported.
42816
43139
  # Corresponds to the JSON property `subnetPurposes`
42817
43140
  # @return [Array<String>]
@@ -42844,6 +43167,7 @@ module Google
42844
43167
  # Update properties of this object
42845
43168
  def update!(**args)
42846
43169
  @address_purposes = args[:address_purposes] if args.key?(:address_purposes)
43170
+ @allow_address_creation = args[:allow_address_creation] if args.key?(:allow_address_creation)
42847
43171
  @allow_alias_ip_ranges = args[:allow_alias_ip_ranges] if args.key?(:allow_alias_ip_ranges)
42848
43172
  @allow_auto_mode_subnet = args[:allow_auto_mode_subnet] if args.key?(:allow_auto_mode_subnet)
42849
43173
  @allow_class_d_firewalls = args[:allow_class_d_firewalls] if args.key?(:allow_class_d_firewalls)
@@ -42856,6 +43180,8 @@ module Google
42856
43180
  @allow_ip_forwarding = args[:allow_ip_forwarding] if args.key?(:allow_ip_forwarding)
42857
43181
  @allow_load_balancing = args[:allow_load_balancing] if args.key?(:allow_load_balancing)
42858
43182
  @allow_multi_nic_in_same_network = args[:allow_multi_nic_in_same_network] if args.key?(:allow_multi_nic_in_same_network)
43183
+ @allow_multi_nic_in_same_subnetwork = args[:allow_multi_nic_in_same_subnetwork] if args.key?(:allow_multi_nic_in_same_subnetwork)
43184
+ @allow_multicast = args[:allow_multicast] if args.key?(:allow_multicast)
42859
43185
  @allow_ncc = args[:allow_ncc] if args.key?(:allow_ncc)
42860
43186
  @allow_network_migration = args[:allow_network_migration] if args.key?(:allow_network_migration)
42861
43187
  @allow_packet_mirroring = args[:allow_packet_mirroring] if args.key?(:allow_packet_mirroring)
@@ -42864,11 +43190,15 @@ module Google
42864
43190
  @allow_same_network_unicast = args[:allow_same_network_unicast] if args.key?(:allow_same_network_unicast)
42865
43191
  @allow_static_routes = args[:allow_static_routes] if args.key?(:allow_static_routes)
42866
43192
  @allow_sub_interfaces = args[:allow_sub_interfaces] if args.key?(:allow_sub_interfaces)
43193
+ @allow_subnetwork_creation = args[:allow_subnetwork_creation] if args.key?(:allow_subnetwork_creation)
42867
43194
  @allow_vpc_firewall_rules = args[:allow_vpc_firewall_rules] if args.key?(:allow_vpc_firewall_rules)
42868
43195
  @allow_vpc_peering = args[:allow_vpc_peering] if args.key?(:allow_vpc_peering)
42869
43196
  @allow_vpn = args[:allow_vpn] if args.key?(:allow_vpn)
42870
43197
  @firewall_policy_types = args[:firewall_policy_types] if args.key?(:firewall_policy_types)
42871
43198
  @interface_types = args[:interface_types] if args.key?(:interface_types)
43199
+ @multicast = args[:multicast] if args.key?(:multicast)
43200
+ @predefined_network_internal_ipv6_range = args[:predefined_network_internal_ipv6_range] if args.key?(:predefined_network_internal_ipv6_range)
43201
+ @predefined_subnetwork_ranges = args[:predefined_subnetwork_ranges] if args.key?(:predefined_subnetwork_ranges)
42872
43202
  @subnet_purposes = args[:subnet_purposes] if args.key?(:subnet_purposes)
42873
43203
  @subnet_stack_types = args[:subnet_stack_types] if args.key?(:subnet_stack_types)
42874
43204
  @subnetwork_purposes = args[:subnetwork_purposes] if args.key?(:subnetwork_purposes)
@@ -42877,6 +43207,31 @@ module Google
42877
43207
  end
42878
43208
  end
42879
43209
 
43210
+ #
43211
+ class NetworkProfileNetworkFeaturesPredefinedSubnetworkRange
43212
+ include Google::Apis::Core::Hashable
43213
+
43214
+ # The IPv6 range of the predefined subnetwork.
43215
+ # Corresponds to the JSON property `ipv6Range`
43216
+ # @return [String]
43217
+ attr_accessor :ipv6_range
43218
+
43219
+ # The naming prefix of the predefined subnetwork.
43220
+ # Corresponds to the JSON property `namePrefix`
43221
+ # @return [String]
43222
+ attr_accessor :name_prefix
43223
+
43224
+ def initialize(**args)
43225
+ update!(**args)
43226
+ end
43227
+
43228
+ # Update properties of this object
43229
+ def update!(**args)
43230
+ @ipv6_range = args[:ipv6_range] if args.key?(:ipv6_range)
43231
+ @name_prefix = args[:name_prefix] if args.key?(:name_prefix)
43232
+ end
43233
+ end
43234
+
42880
43235
  #
42881
43236
  class NetworkProfileProfileType
42882
43237
  include Google::Apis::Core::Hashable
@@ -55817,6 +56172,12 @@ module Google
55817
56172
  class ResourcePolicyGroupPlacementPolicy
55818
56173
  include Google::Apis::Core::Hashable
55819
56174
 
56175
+ # Specifies the connection mode for the accelerator topology. If not
56176
+ # specified, the default is AUTO_CONNECT.
56177
+ # Corresponds to the JSON property `acceleratorTopologyMode`
56178
+ # @return [String]
56179
+ attr_accessor :accelerator_topology_mode
56180
+
55820
56181
  # The number of availability domains to spread instances across. If two
55821
56182
  # instances are in different availability domain, they are not in the same
55822
56183
  # low latency network.
@@ -55869,6 +56230,7 @@ module Google
55869
56230
 
55870
56231
  # Update properties of this object
55871
56232
  def update!(**args)
56233
+ @accelerator_topology_mode = args[:accelerator_topology_mode] if args.key?(:accelerator_topology_mode)
55872
56234
  @availability_domain_count = args[:availability_domain_count] if args.key?(:availability_domain_count)
55873
56235
  @collocation = args[:collocation] if args.key?(:collocation)
55874
56236
  @gpu_topology = args[:gpu_topology] if args.key?(:gpu_topology)
@@ -57072,6 +57434,586 @@ module Google
57072
57434
  end
57073
57435
  end
57074
57436
 
57437
+ # Represent a Rollout resource.
57438
+ class Rollout
57439
+ include Google::Apis::Core::Hashable
57440
+
57441
+ # Output only. The timestamp at which the Rollout was cancelled.
57442
+ # Corresponds to the JSON property `cancellationTime`
57443
+ # @return [String]
57444
+ attr_accessor :cancellation_time
57445
+
57446
+ # Output only. The timestamp at which the Rollout was completed.
57447
+ # Corresponds to the JSON property `completionTime`
57448
+ # @return [String]
57449
+ attr_accessor :completion_time
57450
+
57451
+ # [Output Only] Creation timestamp inRFC3339
57452
+ # text format.
57453
+ # Corresponds to the JSON property `creationTimestamp`
57454
+ # @return [String]
57455
+ attr_accessor :creation_timestamp
57456
+
57457
+ # Output only. The number of the currently running wave.
57458
+ # Ex. 1
57459
+ # Corresponds to the JSON property `currentWaveNumber`
57460
+ # @return [Fixnum]
57461
+ attr_accessor :current_wave_number
57462
+
57463
+ # An optional description of this resource. Provide this property when you
57464
+ # create the resource.
57465
+ # Corresponds to the JSON property `description`
57466
+ # @return [String]
57467
+ attr_accessor :description
57468
+
57469
+ # Output only. etag of the Rollout
57470
+ # Ex. abc1234
57471
+ # Corresponds to the JSON property `etag`
57472
+ # @return [String]
57473
+ attr_accessor :etag
57474
+
57475
+ # [Output Only] The unique identifier for the resource. This identifier is
57476
+ # defined by the server.
57477
+ # Corresponds to the JSON property `id`
57478
+ # @return [Fixnum]
57479
+ attr_accessor :id
57480
+
57481
+ # [Output Only] Type of the resource. Always compute#rollout
57482
+ # for rollouts.
57483
+ # Corresponds to the JSON property `kind`
57484
+ # @return [String]
57485
+ attr_accessor :kind
57486
+
57487
+ # Name of the resource. Provided by the client when the resource is created.
57488
+ # The name must be 1-63 characters long, and comply withRFC1035.
57489
+ # Specifically, the name must be 1-63 characters long and match the regular
57490
+ # expression `[a-z]([-a-z0-9]*[a-z0-9])?`
57491
+ # which means the first character must be a lowercase letter, and all
57492
+ # following characters must be a dash, lowercase letter, or digit, except
57493
+ # the last character, which cannot be a dash.
57494
+ # Corresponds to the JSON property `name`
57495
+ # @return [String]
57496
+ attr_accessor :name
57497
+
57498
+ # Specifications of the resource to roll out.
57499
+ # Corresponds to the JSON property `rolloutEntity`
57500
+ # @return [Google::Apis::ComputeAlpha::RolloutRolloutEntity]
57501
+ attr_accessor :rollout_entity
57502
+
57503
+ # Required. Rollout Plan used to model the Rollout.
57504
+ # Ex. progressiverollout.googleapis.com/v1/organizations/1/rolloutPlans
57505
+ # Ex. progressiverollout.googleapis.com/v1/folders/1/rolloutPlans
57506
+ # Corresponds to the JSON property `rolloutPlan`
57507
+ # @return [String]
57508
+ attr_accessor :rollout_plan
57509
+
57510
+ # [Output Only] Server-defined fully-qualified URL for this resource.
57511
+ # Corresponds to the JSON property `selfLink`
57512
+ # @return [String]
57513
+ attr_accessor :self_link
57514
+
57515
+ # [Output Only] Server-defined URL for this resource's resource id.
57516
+ # Corresponds to the JSON property `selfLinkWithId`
57517
+ # @return [String]
57518
+ attr_accessor :self_link_with_id
57519
+
57520
+ # Output only. The current state of the Rollout.
57521
+ # Corresponds to the JSON property `state`
57522
+ # @return [String]
57523
+ attr_accessor :state
57524
+
57525
+ # Output only. Details about each wave of the rollout.
57526
+ # Corresponds to the JSON property `waveDetails`
57527
+ # @return [Array<Google::Apis::ComputeAlpha::RolloutWaveDetails>]
57528
+ attr_accessor :wave_details
57529
+
57530
+ def initialize(**args)
57531
+ update!(**args)
57532
+ end
57533
+
57534
+ # Update properties of this object
57535
+ def update!(**args)
57536
+ @cancellation_time = args[:cancellation_time] if args.key?(:cancellation_time)
57537
+ @completion_time = args[:completion_time] if args.key?(:completion_time)
57538
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
57539
+ @current_wave_number = args[:current_wave_number] if args.key?(:current_wave_number)
57540
+ @description = args[:description] if args.key?(:description)
57541
+ @etag = args[:etag] if args.key?(:etag)
57542
+ @id = args[:id] if args.key?(:id)
57543
+ @kind = args[:kind] if args.key?(:kind)
57544
+ @name = args[:name] if args.key?(:name)
57545
+ @rollout_entity = args[:rollout_entity] if args.key?(:rollout_entity)
57546
+ @rollout_plan = args[:rollout_plan] if args.key?(:rollout_plan)
57547
+ @self_link = args[:self_link] if args.key?(:self_link)
57548
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
57549
+ @state = args[:state] if args.key?(:state)
57550
+ @wave_details = args[:wave_details] if args.key?(:wave_details)
57551
+ end
57552
+ end
57553
+
57554
+ # Message describing RolloutPlan object
57555
+ class RolloutPlan
57556
+ include Google::Apis::Core::Hashable
57557
+
57558
+ # [Output Only] Creation timestamp inRFC3339
57559
+ # text format.
57560
+ # Corresponds to the JSON property `creationTimestamp`
57561
+ # @return [String]
57562
+ attr_accessor :creation_timestamp
57563
+
57564
+ # An optional description of this resource. Provide this property when you
57565
+ # create the resource.
57566
+ # Corresponds to the JSON property `description`
57567
+ # @return [String]
57568
+ attr_accessor :description
57569
+
57570
+ # [Output Only] The unique identifier for the resource. This identifier is
57571
+ # defined by the server.
57572
+ # Corresponds to the JSON property `id`
57573
+ # @return [Fixnum]
57574
+ attr_accessor :id
57575
+
57576
+ # [Output Only] Type of the resource. Always compute#rolloutPlan
57577
+ # for rolloutPlans.
57578
+ # Corresponds to the JSON property `kind`
57579
+ # @return [String]
57580
+ attr_accessor :kind
57581
+
57582
+ # The location scope of the rollout plan. If not specified, the location
57583
+ # scope is considered as ZONAL.
57584
+ # Corresponds to the JSON property `locationScope`
57585
+ # @return [String]
57586
+ attr_accessor :location_scope
57587
+
57588
+ # Name of the resource. Provided by the client when the resource is created.
57589
+ # The name must be 1-63 characters long, and comply withRFC1035.
57590
+ # Specifically, the name must be 1-63 characters long and match the regular
57591
+ # expression `[a-z]([-a-z0-9]*[a-z0-9])?`
57592
+ # which means the first character must be a lowercase letter, and all
57593
+ # following characters must be a dash, lowercase letter, or digit, except
57594
+ # the last character, which cannot be a dash.
57595
+ # Corresponds to the JSON property `name`
57596
+ # @return [String]
57597
+ attr_accessor :name
57598
+
57599
+ # [Output Only] Server-defined fully-qualified URL for this resource.
57600
+ # Corresponds to the JSON property `selfLink`
57601
+ # @return [String]
57602
+ attr_accessor :self_link
57603
+
57604
+ # [Output Only] Server-defined URL for this resource's resource id.
57605
+ # Corresponds to the JSON property `selfLinkWithId`
57606
+ # @return [String]
57607
+ attr_accessor :self_link_with_id
57608
+
57609
+ # Required. The waves included in this rollout plan.
57610
+ # Corresponds to the JSON property `waves`
57611
+ # @return [Array<Google::Apis::ComputeAlpha::RolloutPlanWave>]
57612
+ attr_accessor :waves
57613
+
57614
+ def initialize(**args)
57615
+ update!(**args)
57616
+ end
57617
+
57618
+ # Update properties of this object
57619
+ def update!(**args)
57620
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
57621
+ @description = args[:description] if args.key?(:description)
57622
+ @id = args[:id] if args.key?(:id)
57623
+ @kind = args[:kind] if args.key?(:kind)
57624
+ @location_scope = args[:location_scope] if args.key?(:location_scope)
57625
+ @name = args[:name] if args.key?(:name)
57626
+ @self_link = args[:self_link] if args.key?(:self_link)
57627
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
57628
+ @waves = args[:waves] if args.key?(:waves)
57629
+ end
57630
+ end
57631
+
57632
+ # A single wave in a rollout plan.
57633
+ class RolloutPlanWave
57634
+ include Google::Apis::Core::Hashable
57635
+
57636
+ # Optional. The display name of this wave of the rollout plan.
57637
+ # Corresponds to the JSON property `displayName`
57638
+ # @return [String]
57639
+ attr_accessor :display_name
57640
+
57641
+ # Output only. The wave number.
57642
+ # Corresponds to the JSON property `number`
57643
+ # @return [Fixnum]
57644
+ attr_accessor :number
57645
+
57646
+ # Options to control the pace of orchestration of a wave. These options are
57647
+ # required only if the resource being rolled out follows the Orchestrated
57648
+ # pattern.
57649
+ # Corresponds to the JSON property `orchestrationOptions`
57650
+ # @return [Google::Apis::ComputeAlpha::RolloutPlanWaveOrchestrationOptions]
57651
+ attr_accessor :orchestration_options
57652
+
57653
+ # Required. The selectors for this wave. There is a logical AND between each
57654
+ # selector
57655
+ # defined in a wave, so a resource must satisfy the criteria of *all* the
57656
+ # specified selectors to be in scope for the wave.
57657
+ # Corresponds to the JSON property `selectors`
57658
+ # @return [Array<Google::Apis::ComputeAlpha::RolloutPlanWaveSelector>]
57659
+ attr_accessor :selectors
57660
+
57661
+ # The validation to be performed before progressing to the next wave.
57662
+ # Corresponds to the JSON property `validation`
57663
+ # @return [Google::Apis::ComputeAlpha::RolloutPlanWaveValidation]
57664
+ attr_accessor :validation
57665
+
57666
+ def initialize(**args)
57667
+ update!(**args)
57668
+ end
57669
+
57670
+ # Update properties of this object
57671
+ def update!(**args)
57672
+ @display_name = args[:display_name] if args.key?(:display_name)
57673
+ @number = args[:number] if args.key?(:number)
57674
+ @orchestration_options = args[:orchestration_options] if args.key?(:orchestration_options)
57675
+ @selectors = args[:selectors] if args.key?(:selectors)
57676
+ @validation = args[:validation] if args.key?(:validation)
57677
+ end
57678
+ end
57679
+
57680
+ # Options to control the pace of orchestration of a wave. These options are
57681
+ # required only if the resource being rolled out follows the Orchestrated
57682
+ # pattern.
57683
+ class RolloutPlanWaveOrchestrationOptions
57684
+ include Google::Apis::Core::Hashable
57685
+
57686
+ # Optional. Delays, if any, to be added between batches of projects. We allow
57687
+ # multiple Delays to be specified, letting users set separate delays
57688
+ # between batches of projects corresponding to different locations and
57689
+ # batches of projects corresponding to the same location.
57690
+ # Corresponds to the JSON property `delays`
57691
+ # @return [Array<Google::Apis::ComputeAlpha::RolloutPlanWaveOrchestrationOptionsDelay>]
57692
+ attr_accessor :delays
57693
+
57694
+ # Optional. Maximum number of locations to be orchestrated in parallel.
57695
+ # Corresponds to the JSON property `maxConcurrentLocations`
57696
+ # @return [Fixnum]
57697
+ attr_accessor :max_concurrent_locations
57698
+
57699
+ # Optional. Maximum number of resources to be orchestrated per location in
57700
+ # parallel.
57701
+ # Corresponds to the JSON property `maxConcurrentResourcesPerLocation`
57702
+ # @return [Fixnum]
57703
+ attr_accessor :max_concurrent_resources_per_location
57704
+
57705
+ def initialize(**args)
57706
+ update!(**args)
57707
+ end
57708
+
57709
+ # Update properties of this object
57710
+ def update!(**args)
57711
+ @delays = args[:delays] if args.key?(:delays)
57712
+ @max_concurrent_locations = args[:max_concurrent_locations] if args.key?(:max_concurrent_locations)
57713
+ @max_concurrent_resources_per_location = args[:max_concurrent_resources_per_location] if args.key?(:max_concurrent_resources_per_location)
57714
+ end
57715
+ end
57716
+
57717
+ # Options to control the delay, if any, between batches of projects.
57718
+ class RolloutPlanWaveOrchestrationOptionsDelay
57719
+ include Google::Apis::Core::Hashable
57720
+
57721
+ # Optional. Controls whether the delay should only be added between batches of
57722
+ # projects corresponding to different locations, or also between
57723
+ # batches of projects corresponding to the same location.
57724
+ # Must be set to DELIMITER_UNSPECIFIED if no delay is to be added.
57725
+ # Corresponds to the JSON property `delimiter`
57726
+ # @return [String]
57727
+ attr_accessor :delimiter
57728
+
57729
+ # Optional. The duration of the delay, if any, to be added between batches of
57730
+ # projects. A zero duration corresponds to no delay.
57731
+ # Corresponds to the JSON property `duration`
57732
+ # @return [String]
57733
+ attr_accessor :duration
57734
+
57735
+ # Optional. Controls whether the specified duration is to be added at the end of
57736
+ # each batch, or if the total processing time for each batch will be
57737
+ # padded if needed to meet the specified duration.
57738
+ # Must be set to TYPE_UNSPECIFIED if no delay is to be added.
57739
+ # Corresponds to the JSON property `type`
57740
+ # @return [String]
57741
+ attr_accessor :type
57742
+
57743
+ def initialize(**args)
57744
+ update!(**args)
57745
+ end
57746
+
57747
+ # Update properties of this object
57748
+ def update!(**args)
57749
+ @delimiter = args[:delimiter] if args.key?(:delimiter)
57750
+ @duration = args[:duration] if args.key?(:duration)
57751
+ @type = args[:type] if args.key?(:type)
57752
+ end
57753
+ end
57754
+
57755
+ # A selector which specifies what resource(s) are included in a given wave.
57756
+ class RolloutPlanWaveSelector
57757
+ include Google::Apis::Core::Hashable
57758
+
57759
+ # Roll out to resources by location.
57760
+ # Corresponds to the JSON property `locationSelector`
57761
+ # @return [Google::Apis::ComputeAlpha::RolloutPlanWaveSelectorLocationSelector]
57762
+ attr_accessor :location_selector
57763
+
57764
+ # Roll out to resources by Cloud Resource Manager resource hierarchy
57765
+ # nodes such as projects, folders, orgs.
57766
+ # Corresponds to the JSON property `resourceHierarchySelector`
57767
+ # @return [Google::Apis::ComputeAlpha::RolloutPlanWaveSelectorResourceHierarchySelector]
57768
+ attr_accessor :resource_hierarchy_selector
57769
+
57770
+ def initialize(**args)
57771
+ update!(**args)
57772
+ end
57773
+
57774
+ # Update properties of this object
57775
+ def update!(**args)
57776
+ @location_selector = args[:location_selector] if args.key?(:location_selector)
57777
+ @resource_hierarchy_selector = args[:resource_hierarchy_selector] if args.key?(:resource_hierarchy_selector)
57778
+ end
57779
+ end
57780
+
57781
+ # Roll out to resources by location.
57782
+ class RolloutPlanWaveSelectorLocationSelector
57783
+ include Google::Apis::Core::Hashable
57784
+
57785
+ # Optional. Example: "us-central1-a"
57786
+ # Corresponds to the JSON property `includedLocations`
57787
+ # @return [Array<String>]
57788
+ attr_accessor :included_locations
57789
+
57790
+ def initialize(**args)
57791
+ update!(**args)
57792
+ end
57793
+
57794
+ # Update properties of this object
57795
+ def update!(**args)
57796
+ @included_locations = args[:included_locations] if args.key?(:included_locations)
57797
+ end
57798
+ end
57799
+
57800
+ # Roll out to resources by Cloud Resource Manager resource hierarchy
57801
+ # nodes such as projects, folders, orgs.
57802
+ class RolloutPlanWaveSelectorResourceHierarchySelector
57803
+ include Google::Apis::Core::Hashable
57804
+
57805
+ # Optional. Format: "folders/`folder_id`"
57806
+ # Corresponds to the JSON property `includedFolders`
57807
+ # @return [Array<String>]
57808
+ attr_accessor :included_folders
57809
+
57810
+ # Optional. Format: "organizations/`organization_id`"
57811
+ # Corresponds to the JSON property `includedOrganizations`
57812
+ # @return [Array<String>]
57813
+ attr_accessor :included_organizations
57814
+
57815
+ # Optional. Format: "projects/`project_id`"
57816
+ # Corresponds to the JSON property `includedProjects`
57817
+ # @return [Array<String>]
57818
+ attr_accessor :included_projects
57819
+
57820
+ def initialize(**args)
57821
+ update!(**args)
57822
+ end
57823
+
57824
+ # Update properties of this object
57825
+ def update!(**args)
57826
+ @included_folders = args[:included_folders] if args.key?(:included_folders)
57827
+ @included_organizations = args[:included_organizations] if args.key?(:included_organizations)
57828
+ @included_projects = args[:included_projects] if args.key?(:included_projects)
57829
+ end
57830
+ end
57831
+
57832
+ # The validation to be performed before progressing to the next wave.
57833
+ class RolloutPlanWaveValidation
57834
+ include Google::Apis::Core::Hashable
57835
+
57836
+ # Metadata required if type = "time".
57837
+ # Corresponds to the JSON property `timeBasedValidationMetadata`
57838
+ # @return [Google::Apis::ComputeAlpha::RolloutPlanWaveValidationTimeBasedValidationMetadata]
57839
+ attr_accessor :time_based_validation_metadata
57840
+
57841
+ # Required. The type of the validation. If a type of validation is associated
57842
+ # with
57843
+ # a metadata object, the appropriate metadata field mapping to the
57844
+ # validation type must be provided in the validation message. Possible
57845
+ # values are in quotes below alongside an explanation:
57846
+ # "manual": The system waits for an end-user approval API before
57847
+ # progressing to the next wave.
57848
+ # "time": The system waits for a user specified duration before
57849
+ # progressing to the next wave. TimeBasedValidation must be provided.
57850
+ # Corresponds to the JSON property `type`
57851
+ # @return [String]
57852
+ attr_accessor :type
57853
+
57854
+ def initialize(**args)
57855
+ update!(**args)
57856
+ end
57857
+
57858
+ # Update properties of this object
57859
+ def update!(**args)
57860
+ @time_based_validation_metadata = args[:time_based_validation_metadata] if args.key?(:time_based_validation_metadata)
57861
+ @type = args[:type] if args.key?(:type)
57862
+ end
57863
+ end
57864
+
57865
+ # Metadata required if type = "time".
57866
+ class RolloutPlanWaveValidationTimeBasedValidationMetadata
57867
+ include Google::Apis::Core::Hashable
57868
+
57869
+ # Optional. The duration that the system waits in between waves. This wait
57870
+ # starts
57871
+ # after all changes in the wave are rolled out.
57872
+ # Corresponds to the JSON property `waitDuration`
57873
+ # @return [String]
57874
+ attr_accessor :wait_duration
57875
+
57876
+ def initialize(**args)
57877
+ update!(**args)
57878
+ end
57879
+
57880
+ # Update properties of this object
57881
+ def update!(**args)
57882
+ @wait_duration = args[:wait_duration] if args.key?(:wait_duration)
57883
+ end
57884
+ end
57885
+
57886
+ # Contains a list of RolloutPlan resources.
57887
+ class RolloutPlansListResponse
57888
+ include Google::Apis::Core::Hashable
57889
+
57890
+ #
57891
+ # Corresponds to the JSON property `etag`
57892
+ # @return [String]
57893
+ attr_accessor :etag
57894
+
57895
+ # [Output Only] Unique identifier for the resource; defined by the server.
57896
+ # Corresponds to the JSON property `id`
57897
+ # @return [String]
57898
+ attr_accessor :id
57899
+
57900
+ # A list of RolloutPlan resources.
57901
+ # Corresponds to the JSON property `items`
57902
+ # @return [Array<Google::Apis::ComputeAlpha::RolloutPlan>]
57903
+ attr_accessor :items
57904
+
57905
+ # [Output Only] This token allows you to get the next page of results for
57906
+ # list requests. If the number of results is larger thanmaxResults, use the
57907
+ # nextPageToken as a value for
57908
+ # the query parameter pageToken in the next list request.
57909
+ # Subsequent list requests will have their own nextPageToken to
57910
+ # continue paging through the results.
57911
+ # Corresponds to the JSON property `nextPageToken`
57912
+ # @return [String]
57913
+ attr_accessor :next_page_token
57914
+
57915
+ # [Output Only] Server-defined URL for this resource.
57916
+ # Corresponds to the JSON property `selfLink`
57917
+ # @return [String]
57918
+ attr_accessor :self_link
57919
+
57920
+ # [Output Only] Unreachable resources.
57921
+ # end_interface: MixerListResponseWithEtagBuilder
57922
+ # Corresponds to the JSON property `unreachables`
57923
+ # @return [Array<String>]
57924
+ attr_accessor :unreachables
57925
+
57926
+ # [Output Only] Informational warning message.
57927
+ # Corresponds to the JSON property `warning`
57928
+ # @return [Google::Apis::ComputeAlpha::RolloutPlansListResponse::Warning]
57929
+ attr_accessor :warning
57930
+
57931
+ def initialize(**args)
57932
+ update!(**args)
57933
+ end
57934
+
57935
+ # Update properties of this object
57936
+ def update!(**args)
57937
+ @etag = args[:etag] if args.key?(:etag)
57938
+ @id = args[:id] if args.key?(:id)
57939
+ @items = args[:items] if args.key?(:items)
57940
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
57941
+ @self_link = args[:self_link] if args.key?(:self_link)
57942
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
57943
+ @warning = args[:warning] if args.key?(:warning)
57944
+ end
57945
+
57946
+ # [Output Only] Informational warning message.
57947
+ class Warning
57948
+ include Google::Apis::Core::Hashable
57949
+
57950
+ # [Output Only] A warning code, if applicable. For example, Compute
57951
+ # Engine returns NO_RESULTS_ON_PAGE if there
57952
+ # are no results in the response.
57953
+ # Corresponds to the JSON property `code`
57954
+ # @return [String]
57955
+ attr_accessor :code
57956
+
57957
+ # [Output Only] Metadata about this warning in key:
57958
+ # value format. For example:
57959
+ # "data": [
57960
+ # `
57961
+ # "key": "scope",
57962
+ # "value": "zones/us-east1-d"
57963
+ # `
57964
+ # Corresponds to the JSON property `data`
57965
+ # @return [Array<Google::Apis::ComputeAlpha::RolloutPlansListResponse::Warning::Datum>]
57966
+ attr_accessor :data
57967
+
57968
+ # [Output Only] A human-readable description of the warning code.
57969
+ # Corresponds to the JSON property `message`
57970
+ # @return [String]
57971
+ attr_accessor :message
57972
+
57973
+ def initialize(**args)
57974
+ update!(**args)
57975
+ end
57976
+
57977
+ # Update properties of this object
57978
+ def update!(**args)
57979
+ @code = args[:code] if args.key?(:code)
57980
+ @data = args[:data] if args.key?(:data)
57981
+ @message = args[:message] if args.key?(:message)
57982
+ end
57983
+
57984
+ #
57985
+ class Datum
57986
+ include Google::Apis::Core::Hashable
57987
+
57988
+ # [Output Only] A key that provides more detail on the warning being
57989
+ # returned. For example, for warnings where there are no results in a list
57990
+ # request for a particular zone, this key might be scope and
57991
+ # the key value might be the zone name. Other examples might be a key
57992
+ # indicating a deprecated resource and a suggested replacement, or a
57993
+ # warning about invalid network settings (for example, if an instance
57994
+ # attempts to perform IP forwarding but is not enabled for IP forwarding).
57995
+ # Corresponds to the JSON property `key`
57996
+ # @return [String]
57997
+ attr_accessor :key
57998
+
57999
+ # [Output Only] A warning data value corresponding to the key.
58000
+ # Corresponds to the JSON property `value`
58001
+ # @return [String]
58002
+ attr_accessor :value
58003
+
58004
+ def initialize(**args)
58005
+ update!(**args)
58006
+ end
58007
+
58008
+ # Update properties of this object
58009
+ def update!(**args)
58010
+ @key = args[:key] if args.key?(:key)
58011
+ @value = args[:value] if args.key?(:value)
58012
+ end
58013
+ end
58014
+ end
58015
+ end
58016
+
57075
58017
  # A rollout policy configuration.
57076
58018
  class RolloutPolicy
57077
58019
  include Google::Apis::Core::Hashable
@@ -57102,6 +58044,282 @@ module Google
57102
58044
  end
57103
58045
  end
57104
58046
 
58047
+ # Specifications of the resource to roll out.
58048
+ class RolloutRolloutEntity
58049
+ include Google::Apis::Core::Hashable
58050
+
58051
+ # This message is used if the resource type follows the Orchestrated
58052
+ # integration model with ProgressiveRollout.
58053
+ # Corresponds to the JSON property `orchestratedEntity`
58054
+ # @return [Google::Apis::ComputeAlpha::RolloutRolloutEntityOrchestratedEntity]
58055
+ attr_accessor :orchestrated_entity
58056
+
58057
+ def initialize(**args)
58058
+ update!(**args)
58059
+ end
58060
+
58061
+ # Update properties of this object
58062
+ def update!(**args)
58063
+ @orchestrated_entity = args[:orchestrated_entity] if args.key?(:orchestrated_entity)
58064
+ end
58065
+ end
58066
+
58067
+ # This message is used if the resource type follows the Orchestrated
58068
+ # integration model with ProgressiveRollout.
58069
+ class RolloutRolloutEntityOrchestratedEntity
58070
+ include Google::Apis::Core::Hashable
58071
+
58072
+ # Required. Specifies the behavior of the Rollout if an out of band update is
58073
+ # detected in a project during a Rollout. It can be one of the following
58074
+ # values:
58075
+ # 1) overwrite : Overwrite the local value with the rollout value.
58076
+ # 2) no_overwrite : Do not overwrite the local value with the rollout
58077
+ # value.
58078
+ # Corresponds to the JSON property `conflictBehavior`
58079
+ # @return [String]
58080
+ attr_accessor :conflict_behavior
58081
+
58082
+ # Required. Orchestration action during the Rollout. It can be one of the
58083
+ # following
58084
+ # values:
58085
+ # 1) "update": Resources will be updated by the rollout.
58086
+ # 2) "delete": Resources will be deleted by the rollout.
58087
+ # Corresponds to the JSON property `orchestrationAction`
58088
+ # @return [String]
58089
+ attr_accessor :orchestration_action
58090
+
58091
+ # Required. Fully qualified resource name of the resource which contains the
58092
+ # source
58093
+ # of truth of the configuration being rolled out across
58094
+ # locations/projects. For example, in the case of a global Rollout which
58095
+ # is applied across regions, this contains the name of the global
58096
+ # resource created by the user which contains a payload for a resource
58097
+ # that is orchestrated across regions. This follows the following format:
58098
+ # //.googleapis.com/organizations//locations/global//
58099
+ # e.g.
58100
+ # //osconfig.googleapis.com/organizations/1/locations/global/policyOrchestrators/
58101
+ # po1
58102
+ # Corresponds to the JSON property `orchestrationSource`
58103
+ # @return [String]
58104
+ attr_accessor :orchestration_source
58105
+
58106
+ def initialize(**args)
58107
+ update!(**args)
58108
+ end
58109
+
58110
+ # Update properties of this object
58111
+ def update!(**args)
58112
+ @conflict_behavior = args[:conflict_behavior] if args.key?(:conflict_behavior)
58113
+ @orchestration_action = args[:orchestration_action] if args.key?(:orchestration_action)
58114
+ @orchestration_source = args[:orchestration_source] if args.key?(:orchestration_source)
58115
+ end
58116
+ end
58117
+
58118
+ # Additional metadata about the status of each wave provided by the server.
58119
+ class RolloutWaveDetails
58120
+ include Google::Apis::Core::Hashable
58121
+
58122
+ # Details of the wave for products using the Orchestrated integration
58123
+ # model.
58124
+ # Corresponds to the JSON property `orchestratedWaveDetails`
58125
+ # @return [Google::Apis::ComputeAlpha::RolloutWaveDetailsOrchestratedWaveDetails]
58126
+ attr_accessor :orchestrated_wave_details
58127
+
58128
+ # Output only. Wave name.
58129
+ # Ex. wave1
58130
+ # Corresponds to the JSON property `waveDisplayName`
58131
+ # @return [String]
58132
+ attr_accessor :wave_display_name
58133
+
58134
+ # Output only. System generated number for the wave.
58135
+ # Corresponds to the JSON property `waveNumber`
58136
+ # @return [Fixnum]
58137
+ attr_accessor :wave_number
58138
+
58139
+ def initialize(**args)
58140
+ update!(**args)
58141
+ end
58142
+
58143
+ # Update properties of this object
58144
+ def update!(**args)
58145
+ @orchestrated_wave_details = args[:orchestrated_wave_details] if args.key?(:orchestrated_wave_details)
58146
+ @wave_display_name = args[:wave_display_name] if args.key?(:wave_display_name)
58147
+ @wave_number = args[:wave_number] if args.key?(:wave_number)
58148
+ end
58149
+ end
58150
+
58151
+ # Details of the wave for products using the Orchestrated integration
58152
+ # model.
58153
+ class RolloutWaveDetailsOrchestratedWaveDetails
58154
+ include Google::Apis::Core::Hashable
58155
+
58156
+ # Output only. Resource completed so far.
58157
+ # Corresponds to the JSON property `completedResourcesCount`
58158
+ # @return [Fixnum]
58159
+ attr_accessor :completed_resources_count
58160
+
58161
+ # Output only. Estimated total count of resources.
58162
+ # Corresponds to the JSON property `estimatedTotalResourcesCount`
58163
+ # @return [Fixnum]
58164
+ attr_accessor :estimated_total_resources_count
58165
+
58166
+ # Output only. Locations that failed during orchestration, and
58167
+ # ProgressiveRollout
58168
+ # stopped retrying. There may be some successful resources rolled out in
58169
+ # the wave as the location may have failed later in the Rollout.
58170
+ # Corresponds to the JSON property `failedLocations`
58171
+ # @return [Array<String>]
58172
+ attr_accessor :failed_locations
58173
+
58174
+ # Output only. Resources failed.
58175
+ # Corresponds to the JSON property `failedResourcesCount`
58176
+ # @return [Fixnum]
58177
+ attr_accessor :failed_resources_count
58178
+
58179
+ def initialize(**args)
58180
+ update!(**args)
58181
+ end
58182
+
58183
+ # Update properties of this object
58184
+ def update!(**args)
58185
+ @completed_resources_count = args[:completed_resources_count] if args.key?(:completed_resources_count)
58186
+ @estimated_total_resources_count = args[:estimated_total_resources_count] if args.key?(:estimated_total_resources_count)
58187
+ @failed_locations = args[:failed_locations] if args.key?(:failed_locations)
58188
+ @failed_resources_count = args[:failed_resources_count] if args.key?(:failed_resources_count)
58189
+ end
58190
+ end
58191
+
58192
+ #
58193
+ class RolloutsListResponse
58194
+ include Google::Apis::Core::Hashable
58195
+
58196
+ #
58197
+ # Corresponds to the JSON property `etag`
58198
+ # @return [String]
58199
+ attr_accessor :etag
58200
+
58201
+ # [Output Only] Unique identifier for the resource; defined by the server.
58202
+ # Corresponds to the JSON property `id`
58203
+ # @return [String]
58204
+ attr_accessor :id
58205
+
58206
+ # A list of Rollout resources.
58207
+ # Corresponds to the JSON property `items`
58208
+ # @return [Array<Google::Apis::ComputeAlpha::Rollout>]
58209
+ attr_accessor :items
58210
+
58211
+ # [Output Only] This token allows you to get the next page of results for
58212
+ # list requests. If the number of results is larger thanmaxResults, use the
58213
+ # nextPageToken as a value for
58214
+ # the query parameter pageToken in the next list request.
58215
+ # Subsequent list requests will have their own nextPageToken to
58216
+ # continue paging through the results.
58217
+ # Corresponds to the JSON property `nextPageToken`
58218
+ # @return [String]
58219
+ attr_accessor :next_page_token
58220
+
58221
+ # [Output Only] Server-defined URL for this resource.
58222
+ # Corresponds to the JSON property `selfLink`
58223
+ # @return [String]
58224
+ attr_accessor :self_link
58225
+
58226
+ # [Output Only] Unreachable resources.
58227
+ # end_interface: MixerListResponseWithEtagBuilder
58228
+ # Corresponds to the JSON property `unreachables`
58229
+ # @return [Array<String>]
58230
+ attr_accessor :unreachables
58231
+
58232
+ # [Output Only] Informational warning message.
58233
+ # Corresponds to the JSON property `warning`
58234
+ # @return [Google::Apis::ComputeAlpha::RolloutsListResponse::Warning]
58235
+ attr_accessor :warning
58236
+
58237
+ def initialize(**args)
58238
+ update!(**args)
58239
+ end
58240
+
58241
+ # Update properties of this object
58242
+ def update!(**args)
58243
+ @etag = args[:etag] if args.key?(:etag)
58244
+ @id = args[:id] if args.key?(:id)
58245
+ @items = args[:items] if args.key?(:items)
58246
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
58247
+ @self_link = args[:self_link] if args.key?(:self_link)
58248
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
58249
+ @warning = args[:warning] if args.key?(:warning)
58250
+ end
58251
+
58252
+ # [Output Only] Informational warning message.
58253
+ class Warning
58254
+ include Google::Apis::Core::Hashable
58255
+
58256
+ # [Output Only] A warning code, if applicable. For example, Compute
58257
+ # Engine returns NO_RESULTS_ON_PAGE if there
58258
+ # are no results in the response.
58259
+ # Corresponds to the JSON property `code`
58260
+ # @return [String]
58261
+ attr_accessor :code
58262
+
58263
+ # [Output Only] Metadata about this warning in key:
58264
+ # value format. For example:
58265
+ # "data": [
58266
+ # `
58267
+ # "key": "scope",
58268
+ # "value": "zones/us-east1-d"
58269
+ # `
58270
+ # Corresponds to the JSON property `data`
58271
+ # @return [Array<Google::Apis::ComputeAlpha::RolloutsListResponse::Warning::Datum>]
58272
+ attr_accessor :data
58273
+
58274
+ # [Output Only] A human-readable description of the warning code.
58275
+ # Corresponds to the JSON property `message`
58276
+ # @return [String]
58277
+ attr_accessor :message
58278
+
58279
+ def initialize(**args)
58280
+ update!(**args)
58281
+ end
58282
+
58283
+ # Update properties of this object
58284
+ def update!(**args)
58285
+ @code = args[:code] if args.key?(:code)
58286
+ @data = args[:data] if args.key?(:data)
58287
+ @message = args[:message] if args.key?(:message)
58288
+ end
58289
+
58290
+ #
58291
+ class Datum
58292
+ include Google::Apis::Core::Hashable
58293
+
58294
+ # [Output Only] A key that provides more detail on the warning being
58295
+ # returned. For example, for warnings where there are no results in a list
58296
+ # request for a particular zone, this key might be scope and
58297
+ # the key value might be the zone name. Other examples might be a key
58298
+ # indicating a deprecated resource and a suggested replacement, or a
58299
+ # warning about invalid network settings (for example, if an instance
58300
+ # attempts to perform IP forwarding but is not enabled for IP forwarding).
58301
+ # Corresponds to the JSON property `key`
58302
+ # @return [String]
58303
+ attr_accessor :key
58304
+
58305
+ # [Output Only] A warning data value corresponding to the key.
58306
+ # Corresponds to the JSON property `value`
58307
+ # @return [String]
58308
+ attr_accessor :value
58309
+
58310
+ def initialize(**args)
58311
+ update!(**args)
58312
+ end
58313
+
58314
+ # Update properties of this object
58315
+ def update!(**args)
58316
+ @key = args[:key] if args.key?(:key)
58317
+ @value = args[:value] if args.key?(:value)
58318
+ end
58319
+ end
58320
+ end
58321
+ end
58322
+
57105
58323
  # Represents a Route resource.
57106
58324
  # A route defines a path from VM instances in the VPC network to a specific
57107
58325
  # destination. This destination can be inside or outside the VPC network.
@@ -57291,7 +58509,9 @@ module Google
57291
58509
  # @return [Fixnum]
57292
58510
  attr_accessor :priority
57293
58511
 
57294
- # [Output only] The status of the route.
58512
+ # [Output only] The status of the route. This status only applies to
58513
+ # dynamic routes learned by Cloud Routers. This status is not applicable
58514
+ # to static routes.
57295
58515
  # Corresponds to the JSON property `routeStatus`
57296
58516
  # @return [String]
57297
58517
  attr_accessor :route_status
@@ -77901,6 +79121,32 @@ module Google
77901
79121
  end
77902
79122
  end
77903
79123
 
79124
+ #
79125
+ class WorkloadIdentityConfig
79126
+ include Google::Apis::Core::Hashable
79127
+
79128
+ #
79129
+ # Corresponds to the JSON property `identity`
79130
+ # @return [String]
79131
+ attr_accessor :identity
79132
+
79133
+ #
79134
+ # Corresponds to the JSON property `identityCertificateEnabled`
79135
+ # @return [Boolean]
79136
+ attr_accessor :identity_certificate_enabled
79137
+ alias_method :identity_certificate_enabled?, :identity_certificate_enabled
79138
+
79139
+ def initialize(**args)
79140
+ update!(**args)
79141
+ end
79142
+
79143
+ # Update properties of this object
79144
+ def update!(**args)
79145
+ @identity = args[:identity] if args.key?(:identity)
79146
+ @identity_certificate_enabled = args[:identity_certificate_enabled] if args.key?(:identity_certificate_enabled)
79147
+ end
79148
+ end
79149
+
77904
79150
  #
77905
79151
  class XpnHostList
77906
79152
  include Google::Apis::Core::Hashable