google-apis-compute_beta 0.29.0 → 0.32.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.
@@ -1085,6 +1085,14 @@ module Google
1085
1085
  # @return [Fixnum]
1086
1086
  attr_accessor :threads_per_core
1087
1087
 
1088
+ # The number of physical cores to expose to an instance. Multiply by the number
1089
+ # of threads per core to compute the total number of virtual CPUs to expose to
1090
+ # the instance. If unset, the number of cores is inferred from the instance's
1091
+ # nominal CPU count and the underlying platform's SMT width.
1092
+ # Corresponds to the JSON property `visibleCoreCount`
1093
+ # @return [Fixnum]
1094
+ attr_accessor :visible_core_count
1095
+
1088
1096
  def initialize(**args)
1089
1097
  update!(**args)
1090
1098
  end
@@ -1094,6 +1102,7 @@ module Google
1094
1102
  @enable_nested_virtualization = args[:enable_nested_virtualization] if args.key?(:enable_nested_virtualization)
1095
1103
  @enable_uefi_networking = args[:enable_uefi_networking] if args.key?(:enable_uefi_networking)
1096
1104
  @threads_per_core = args[:threads_per_core] if args.key?(:threads_per_core)
1105
+ @visible_core_count = args[:visible_core_count] if args.key?(:visible_core_count)
1097
1106
  end
1098
1107
  end
1099
1108
 
@@ -1319,9 +1328,10 @@ module Google
1319
1328
 
1320
1329
  # [Input Only] Specifies the parameters for a new disk that will be created
1321
1330
  # alongside the new instance. Use initialization parameters to create boot disks
1322
- # or local SSDs attached to the new instance. This property is mutually
1323
- # exclusive with the source property; you can only define one or the other, but
1324
- # not both.
1331
+ # or local SSDs attached to the new instance. This field is persisted and
1332
+ # returned for instanceTemplate and not returned in the context of instance.
1333
+ # This property is mutually exclusive with the source property; you can only
1334
+ # define one or the other, but not both.
1325
1335
  # Corresponds to the JSON property `initializeParams`
1326
1336
  # @return [Google::Apis::ComputeBeta::AttachedDiskInitializeParams]
1327
1337
  attr_accessor :initialize_params
@@ -1421,9 +1431,10 @@ module Google
1421
1431
 
1422
1432
  # [Input Only] Specifies the parameters for a new disk that will be created
1423
1433
  # alongside the new instance. Use initialization parameters to create boot disks
1424
- # or local SSDs attached to the new instance. This property is mutually
1425
- # exclusive with the source property; you can only define one or the other, but
1426
- # not both.
1434
+ # or local SSDs attached to the new instance. This field is persisted and
1435
+ # returned for instanceTemplate and not returned in the context of instance.
1436
+ # This property is mutually exclusive with the source property; you can only
1437
+ # define one or the other, but not both.
1427
1438
  class AttachedDiskInitializeParams
1428
1439
  include Google::Apis::Core::Hashable
1429
1440
 
@@ -2943,9 +2954,9 @@ module Google
2943
2954
  # @return [Array<String>]
2944
2955
  attr_accessor :include_http_headers
2945
2956
 
2946
- # Names of query string parameters to include in cache keys. All other
2947
- # parameters will be excluded. '&' and '=' will be percent encoded and not
2948
- # treated as delimiters.
2957
+ # Names of query string parameters to include in cache keys. Default parameters
2958
+ # are always included. '&' and '=' will be percent encoded and not treated as
2959
+ # delimiters.
2949
2960
  # Corresponds to the JSON property `queryStringWhitelist`
2950
2961
  # @return [Array<String>]
2951
2962
  attr_accessor :query_string_whitelist
@@ -3266,6 +3277,15 @@ module Google
3266
3277
  # @return [String]
3267
3278
  attr_accessor :load_balancing_scheme
3268
3279
 
3280
+ # A list of locality load balancing policies to be used in order of preference.
3281
+ # Either the policy or the customPolicy field should be set. Overrides any value
3282
+ # set in the localityLbPolicy field. localityLbPolicies is only supported when
3283
+ # the BackendService is referenced by a URL Map that is referenced by a target
3284
+ # gRPC proxy that has the validateForProxyless field set to true.
3285
+ # Corresponds to the JSON property `localityLbPolicies`
3286
+ # @return [Array<Google::Apis::ComputeBeta::BackendServiceLocalityLoadBalancingPolicyConfig>]
3287
+ attr_accessor :locality_lb_policies
3288
+
3269
3289
  # The load balancing algorithm used within the scope of the locality. The
3270
3290
  # possible values are: - ROUND_ROBIN: This is a simple policy in which each
3271
3291
  # healthy backend is selected in round robin order. This is the default. -
@@ -3442,6 +3462,7 @@ module Google
3442
3462
  @id = args[:id] if args.key?(:id)
3443
3463
  @kind = args[:kind] if args.key?(:kind)
3444
3464
  @load_balancing_scheme = args[:load_balancing_scheme] if args.key?(:load_balancing_scheme)
3465
+ @locality_lb_policies = args[:locality_lb_policies] if args.key?(:locality_lb_policies)
3445
3466
  @locality_lb_policy = args[:locality_lb_policy] if args.key?(:locality_lb_policy)
3446
3467
  @log_config = args[:log_config] if args.key?(:log_config)
3447
3468
  @max_stream_duration = args[:max_stream_duration] if args.key?(:max_stream_duration)
@@ -4108,6 +4129,88 @@ module Google
4108
4129
  end
4109
4130
  end
4110
4131
 
4132
+ # Container for either a built-in LB policy supported by gRPC or Envoy or a
4133
+ # custom one implemented by the end user.
4134
+ class BackendServiceLocalityLoadBalancingPolicyConfig
4135
+ include Google::Apis::Core::Hashable
4136
+
4137
+ # The configuration for a custom policy implemented by the user and deployed
4138
+ # with the client.
4139
+ # Corresponds to the JSON property `customPolicy`
4140
+ # @return [Google::Apis::ComputeBeta::BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicy]
4141
+ attr_accessor :custom_policy
4142
+
4143
+ # The configuration for a built-in load balancing policy.
4144
+ # Corresponds to the JSON property `policy`
4145
+ # @return [Google::Apis::ComputeBeta::BackendServiceLocalityLoadBalancingPolicyConfigPolicy]
4146
+ attr_accessor :policy
4147
+
4148
+ def initialize(**args)
4149
+ update!(**args)
4150
+ end
4151
+
4152
+ # Update properties of this object
4153
+ def update!(**args)
4154
+ @custom_policy = args[:custom_policy] if args.key?(:custom_policy)
4155
+ @policy = args[:policy] if args.key?(:policy)
4156
+ end
4157
+ end
4158
+
4159
+ # The configuration for a custom policy implemented by the user and deployed
4160
+ # with the client.
4161
+ class BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicy
4162
+ include Google::Apis::Core::Hashable
4163
+
4164
+ # An optional, arbitrary JSON object with configuration data, understood by a
4165
+ # locally installed custom policy implementation.
4166
+ # Corresponds to the JSON property `data`
4167
+ # @return [String]
4168
+ attr_accessor :data
4169
+
4170
+ # Identifies the custom policy. The value should match the type the custom
4171
+ # implementation is registered with on the gRPC clients. It should follow
4172
+ # protocol buffer message naming conventions and include the full path (e.g.
4173
+ # myorg.CustomLbPolicy). The maximum length is 256 characters. Note that
4174
+ # specifying the same custom policy more than once for a backend is not a valid
4175
+ # configuration and will be rejected.
4176
+ # Corresponds to the JSON property `name`
4177
+ # @return [String]
4178
+ attr_accessor :name
4179
+
4180
+ def initialize(**args)
4181
+ update!(**args)
4182
+ end
4183
+
4184
+ # Update properties of this object
4185
+ def update!(**args)
4186
+ @data = args[:data] if args.key?(:data)
4187
+ @name = args[:name] if args.key?(:name)
4188
+ end
4189
+ end
4190
+
4191
+ # The configuration for a built-in load balancing policy.
4192
+ class BackendServiceLocalityLoadBalancingPolicyConfigPolicy
4193
+ include Google::Apis::Core::Hashable
4194
+
4195
+ # The name of a locality load balancer policy to be used. The value should be
4196
+ # one of the predefined ones as supported by localityLbPolicy, although at the
4197
+ # moment only ROUND_ROBIN is supported. This field should only be populated when
4198
+ # the customPolicy field is not used. Note that specifying the same policy more
4199
+ # than once for a backend is not a valid configuration and will be rejected.
4200
+ # Corresponds to the JSON property `name`
4201
+ # @return [String]
4202
+ attr_accessor :name
4203
+
4204
+ def initialize(**args)
4205
+ update!(**args)
4206
+ end
4207
+
4208
+ # Update properties of this object
4209
+ def update!(**args)
4210
+ @name = args[:name] if args.key?(:name)
4211
+ end
4212
+ end
4213
+
4111
4214
  # The available logging options for the load balancer traffic served by this
4112
4215
  # backend service.
4113
4216
  class BackendServiceLogConfig
@@ -4527,7 +4630,7 @@ module Google
4527
4630
  # @return [Google::Apis::ComputeBeta::Expr]
4528
4631
  attr_accessor :condition
4529
4632
 
4530
- # Specifies the principals requesting access for a Cloud Platform resource. `
4633
+ # Specifies the principals requesting access for a Google Cloud resource. `
4531
4634
  # members` can have the following values: * `allUsers`: A special identifier
4532
4635
  # that represents anyone who is on the internet; with or without a Google
4533
4636
  # account. * `allAuthenticatedUsers`: A special identifier that represents
@@ -8359,6 +8462,12 @@ module Google
8359
8462
  # @return [Fixnum]
8360
8463
  attr_accessor :priority
8361
8464
 
8465
+ # An optional name for the rule. This field is not a unique identifier and can
8466
+ # be updated.
8467
+ # Corresponds to the JSON property `ruleName`
8468
+ # @return [String]
8469
+ attr_accessor :rule_name
8470
+
8362
8471
  # [Output Only] Calculation of the complexity of a single firewall policy rule.
8363
8472
  # Corresponds to the JSON property `ruleTupleCount`
8364
8473
  # @return [Fixnum]
@@ -8403,6 +8512,7 @@ module Google
8403
8512
  @kind = args[:kind] if args.key?(:kind)
8404
8513
  @match = args[:match] if args.key?(:match)
8405
8514
  @priority = args[:priority] if args.key?(:priority)
8515
+ @rule_name = args[:rule_name] if args.key?(:rule_name)
8406
8516
  @rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
8407
8517
  @target_resources = args[:target_resources] if args.key?(:target_resources)
8408
8518
  @target_secure_tags = args[:target_secure_tags] if args.key?(:target_secure_tags)
@@ -8421,6 +8531,20 @@ module Google
8421
8531
  # @return [Array<String>]
8422
8532
  attr_accessor :dest_ip_ranges
8423
8533
 
8534
+ # Region codes whose IP addresses will be used to match for destination of
8535
+ # traffic. Should be specified as 2 letter country code defined as per ISO 3166
8536
+ # alpha-2 country codes. ex."US" Maximum number of dest region codes allowed is
8537
+ # 5000.
8538
+ # Corresponds to the JSON property `destRegionCodes`
8539
+ # @return [Array<String>]
8540
+ attr_accessor :dest_region_codes
8541
+
8542
+ # Names of Network Threat Intelligence lists. The IPs in these lists will be
8543
+ # matched against traffic destination.
8544
+ # Corresponds to the JSON property `destThreatIntelligences`
8545
+ # @return [Array<String>]
8546
+ attr_accessor :dest_threat_intelligences
8547
+
8424
8548
  # Pairs of IP protocols and ports that the rule should match.
8425
8549
  # Corresponds to the JSON property `layer4Configs`
8426
8550
  # @return [Array<Google::Apis::ComputeBeta::FirewallPolicyRuleMatcherLayer4Config>]
@@ -8431,6 +8555,13 @@ module Google
8431
8555
  # @return [Array<String>]
8432
8556
  attr_accessor :src_ip_ranges
8433
8557
 
8558
+ # Region codes whose IP addresses will be used to match for source of traffic.
8559
+ # Should be specified as 2 letter country code defined as per ISO 3166 alpha-2
8560
+ # country codes. ex."US" Maximum number of source region codes allowed is 5000.
8561
+ # Corresponds to the JSON property `srcRegionCodes`
8562
+ # @return [Array<String>]
8563
+ attr_accessor :src_region_codes
8564
+
8434
8565
  # List of secure tag values, which should be matched at the source of the
8435
8566
  # traffic. For INGRESS rule, if all the srcSecureTag are INEFFECTIVE, and there
8436
8567
  # is no srcIpRange, this rule will be ignored. Maximum number of source tag
@@ -8439,6 +8570,12 @@ module Google
8439
8570
  # @return [Array<Google::Apis::ComputeBeta::FirewallPolicyRuleSecureTag>]
8440
8571
  attr_accessor :src_secure_tags
8441
8572
 
8573
+ # Names of Network Threat Intelligence lists. The IPs in these lists will be
8574
+ # matched against traffic source.
8575
+ # Corresponds to the JSON property `srcThreatIntelligences`
8576
+ # @return [Array<String>]
8577
+ attr_accessor :src_threat_intelligences
8578
+
8442
8579
  def initialize(**args)
8443
8580
  update!(**args)
8444
8581
  end
@@ -8446,9 +8583,13 @@ module Google
8446
8583
  # Update properties of this object
8447
8584
  def update!(**args)
8448
8585
  @dest_ip_ranges = args[:dest_ip_ranges] if args.key?(:dest_ip_ranges)
8586
+ @dest_region_codes = args[:dest_region_codes] if args.key?(:dest_region_codes)
8587
+ @dest_threat_intelligences = args[:dest_threat_intelligences] if args.key?(:dest_threat_intelligences)
8449
8588
  @layer4_configs = args[:layer4_configs] if args.key?(:layer4_configs)
8450
8589
  @src_ip_ranges = args[:src_ip_ranges] if args.key?(:src_ip_ranges)
8590
+ @src_region_codes = args[:src_region_codes] if args.key?(:src_region_codes)
8451
8591
  @src_secure_tags = args[:src_secure_tags] if args.key?(:src_secure_tags)
8592
+ @src_threat_intelligences = args[:src_threat_intelligences] if args.key?(:src_threat_intelligences)
8452
8593
  end
8453
8594
  end
8454
8595
 
@@ -9427,13 +9568,9 @@ module Google
9427
9568
  # @return [String]
9428
9569
  attr_accessor :label_fingerprint
9429
9570
 
9430
- # A list of labels to apply for this resource. Each label key & value must
9431
- # comply with RFC1035. Specifically, the name must be 1-63 characters long and
9432
- # match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the
9433
- # first character must be a lowercase letter, and all following characters must
9434
- # be a dash, lowercase letter, or digit, except the last character, which cannot
9435
- # be a dash. For example, "webserver-frontend": "images". A label value can also
9436
- # be empty (e.g. "my-label": "").
9571
+ # A list of labels to apply for this resource. Each label must comply with the
9572
+ # requirements for labels. For example, "webserver-frontend": "images". A label
9573
+ # value can also be empty (e.g. "my-label": "").
9437
9574
  # Corresponds to the JSON property `labels`
9438
9575
  # @return [Hash<String,String>]
9439
9576
  attr_accessor :labels
@@ -9616,9 +9753,9 @@ module Google
9616
9753
 
9617
9754
  # The ID of a supported feature. To add multiple values, use commas to separate
9618
9755
  # values. Set to one or more of the following values: - VIRTIO_SCSI_MULTIQUEUE -
9619
- # WINDOWS - MULTI_IP_SUBNET - UEFI_COMPATIBLE - SECURE_BOOT - GVNIC -
9620
- # SEV_CAPABLE - SUSPEND_RESUME_COMPATIBLE - SEV_SNP_CAPABLE For more information,
9621
- # see Enabling guest operating system features.
9756
+ # WINDOWS - MULTI_IP_SUBNET - UEFI_COMPATIBLE - GVNIC - SEV_CAPABLE -
9757
+ # SUSPEND_RESUME_COMPATIBLE - SEV_SNP_CAPABLE For more information, see Enabling
9758
+ # guest operating system features.
9622
9759
  # Corresponds to the JSON property `type`
9623
9760
  # @return [String]
9624
9761
  attr_accessor :type
@@ -12607,6 +12744,12 @@ module Google
12607
12744
  # @return [Fixnum]
12608
12745
  attr_accessor :id
12609
12746
 
12747
+ # KeyRevocationActionType of the instance. Supported options are "STOP" and "
12748
+ # NONE". The default value is "NONE" if it is not specified.
12749
+ # Corresponds to the JSON property `keyRevocationActionType`
12750
+ # @return [String]
12751
+ attr_accessor :key_revocation_action_type
12752
+
12610
12753
  # [Output Only] Type of the resource. Always compute#instance for instances.
12611
12754
  # Corresponds to the JSON property `kind`
12612
12755
  # @return [String]
@@ -12830,6 +12973,7 @@ module Google
12830
12973
  @guest_accelerators = args[:guest_accelerators] if args.key?(:guest_accelerators)
12831
12974
  @hostname = args[:hostname] if args.key?(:hostname)
12832
12975
  @id = args[:id] if args.key?(:id)
12976
+ @key_revocation_action_type = args[:key_revocation_action_type] if args.key?(:key_revocation_action_type)
12833
12977
  @kind = args[:kind] if args.key?(:kind)
12834
12978
  @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
12835
12979
  @labels = args[:labels] if args.key?(:labels)
@@ -13418,6 +13562,12 @@ module Google
13418
13562
  class InstanceGroupManager
13419
13563
  include Google::Apis::Core::Hashable
13420
13564
 
13565
+ # Specifies configuration that overrides the instance template configuration for
13566
+ # the group.
13567
+ # Corresponds to the JSON property `allInstancesConfig`
13568
+ # @return [Google::Apis::ComputeBeta::InstanceGroupManagerAllInstancesConfig]
13569
+ attr_accessor :all_instances_config
13570
+
13421
13571
  # The autohealing policy for this managed instance group. You can specify only
13422
13572
  # one value.
13423
13573
  # Corresponds to the JSON property `autoHealingPolicies`
@@ -13581,6 +13731,7 @@ module Google
13581
13731
 
13582
13732
  # Update properties of this object
13583
13733
  def update!(**args)
13734
+ @all_instances_config = args[:all_instances_config] if args.key?(:all_instances_config)
13584
13735
  @auto_healing_policies = args[:auto_healing_policies] if args.key?(:auto_healing_policies)
13585
13736
  @base_instance_name = args[:base_instance_name] if args.key?(:base_instance_name)
13586
13737
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
@@ -13847,6 +13998,25 @@ module Google
13847
13998
  end
13848
13999
  end
13849
14000
 
14001
+ #
14002
+ class InstanceGroupManagerAllInstancesConfig
14003
+ include Google::Apis::Core::Hashable
14004
+
14005
+ # Represents the change that you want to make to the instance properties.
14006
+ # Corresponds to the JSON property `properties`
14007
+ # @return [Google::Apis::ComputeBeta::InstancePropertiesPatch]
14008
+ attr_accessor :properties
14009
+
14010
+ def initialize(**args)
14011
+ update!(**args)
14012
+ end
14013
+
14014
+ # Update properties of this object
14015
+ def update!(**args)
14016
+ @properties = args[:properties] if args.key?(:properties)
14017
+ end
14018
+ end
14019
+
13850
14020
  #
13851
14021
  class InstanceGroupManagerAutoHealingPolicy
13852
14022
  include Google::Apis::Core::Hashable
@@ -13999,6 +14169,11 @@ module Google
13999
14169
  class InstanceGroupManagerStatus
14000
14170
  include Google::Apis::Core::Hashable
14001
14171
 
14172
+ # [Output only] Status of all-instances configuration on the group.
14173
+ # Corresponds to the JSON property `allInstancesConfig`
14174
+ # @return [Google::Apis::ComputeBeta::InstanceGroupManagerStatusAllInstancesConfig]
14175
+ attr_accessor :all_instances_config
14176
+
14002
14177
  # [Output Only] The URL of the Autoscaler that targets this instance group
14003
14178
  # manager.
14004
14179
  # Corresponds to the JSON property `autoscaler`
@@ -14033,6 +14208,7 @@ module Google
14033
14208
 
14034
14209
  # Update properties of this object
14035
14210
  def update!(**args)
14211
+ @all_instances_config = args[:all_instances_config] if args.key?(:all_instances_config)
14036
14212
  @autoscaler = args[:autoscaler] if args.key?(:autoscaler)
14037
14213
  @is_stable = args[:is_stable] if args.key?(:is_stable)
14038
14214
  @stateful = args[:stateful] if args.key?(:stateful)
@@ -14040,6 +14216,34 @@ module Google
14040
14216
  end
14041
14217
  end
14042
14218
 
14219
+ #
14220
+ class InstanceGroupManagerStatusAllInstancesConfig
14221
+ include Google::Apis::Core::Hashable
14222
+
14223
+ # [Output Only] Current all-instances configuration revision. This value is in
14224
+ # RFC3339 text format.
14225
+ # Corresponds to the JSON property `currentRevision`
14226
+ # @return [String]
14227
+ attr_accessor :current_revision
14228
+
14229
+ # [Output Only] A bit indicating whether this configuration has been applied to
14230
+ # all managed instances in the group.
14231
+ # Corresponds to the JSON property `effective`
14232
+ # @return [Boolean]
14233
+ attr_accessor :effective
14234
+ alias_method :effective?, :effective
14235
+
14236
+ def initialize(**args)
14237
+ update!(**args)
14238
+ end
14239
+
14240
+ # Update properties of this object
14241
+ def update!(**args)
14242
+ @current_revision = args[:current_revision] if args.key?(:current_revision)
14243
+ @effective = args[:effective] if args.key?(:effective)
14244
+ end
14245
+ end
14246
+
14043
14247
  #
14044
14248
  class InstanceGroupManagerStatusStateful
14045
14249
  include Google::Apis::Core::Hashable
@@ -14047,8 +14251,9 @@ module Google
14047
14251
  # [Output Only] A bit indicating whether the managed instance group has stateful
14048
14252
  # configuration, that is, if you have configured any items in a stateful policy
14049
14253
  # or in per-instance configs. The group might report that it has no stateful
14050
- # config even when there is still some preserved state on a managed instance,
14051
- # for example, if you have deleted all PICs but not yet applied those deletions.
14254
+ # configuration even when there is still some preserved state on a managed
14255
+ # instance, for example, if you have deleted all PICs but not yet applied those
14256
+ # deletions.
14052
14257
  # Corresponds to the JSON property `hasStatefulConfig`
14053
14258
  # @return [Boolean]
14054
14259
  attr_accessor :has_stateful_config
@@ -14057,15 +14262,15 @@ module Google
14057
14262
  # [Output Only] A bit indicating whether the managed instance group has stateful
14058
14263
  # configuration, that is, if you have configured any items in a stateful policy
14059
14264
  # or in per-instance configs. The group might report that it has no stateful
14060
- # config even when there is still some preserved state on a managed instance,
14061
- # for example, if you have deleted all PICs but not yet applied those deletions.
14062
- # This field is deprecated in favor of has_stateful_config.
14265
+ # configuration even when there is still some preserved state on a managed
14266
+ # instance, for example, if you have deleted all PICs but not yet applied those
14267
+ # deletions. This field is deprecated in favor of has_stateful_config.
14063
14268
  # Corresponds to the JSON property `isStateful`
14064
14269
  # @return [Boolean]
14065
14270
  attr_accessor :is_stateful
14066
14271
  alias_method :is_stateful?, :is_stateful
14067
14272
 
14068
- # [Output Only] Status of per-instance configs on the instance.
14273
+ # [Output Only] Status of per-instance configurations on the instance.
14069
14274
  # Corresponds to the JSON property `perInstanceConfigs`
14070
14275
  # @return [Google::Apis::ComputeBeta::InstanceGroupManagerStatusStatefulPerInstanceConfigs]
14071
14276
  attr_accessor :per_instance_configs
@@ -14086,9 +14291,9 @@ module Google
14086
14291
  class InstanceGroupManagerStatusStatefulPerInstanceConfigs
14087
14292
  include Google::Apis::Core::Hashable
14088
14293
 
14089
- # A bit indicating if all of the group's per-instance configs (listed in the
14090
- # output of a listPerInstanceConfigs API call) have status EFFECTIVE or there
14091
- # are no per-instance-configs.
14294
+ # A bit indicating if all of the group's per-instance configurations (listed in
14295
+ # the output of a listPerInstanceConfigs API call) have status EFFECTIVE or
14296
+ # there are no per-instance-configs.
14092
14297
  # Corresponds to the JSON property `allEffective`
14093
14298
  # @return [Boolean]
14094
14299
  attr_accessor :all_effective
@@ -14549,8 +14754,8 @@ module Google
14549
14754
  class InstanceGroupManagersPatchPerInstanceConfigsReq
14550
14755
  include Google::Apis::Core::Hashable
14551
14756
 
14552
- # The list of per-instance configs to insert or patch on this managed instance
14553
- # group.
14757
+ # The list of per-instance configurations to insert or patch on this managed
14758
+ # instance group.
14554
14759
  # Corresponds to the JSON property `perInstanceConfigs`
14555
14760
  # @return [Array<Google::Apis::ComputeBeta::PerInstanceConfig>]
14556
14761
  attr_accessor :per_instance_configs
@@ -14797,8 +15002,8 @@ module Google
14797
15002
  class InstanceGroupManagersUpdatePerInstanceConfigsReq
14798
15003
  include Google::Apis::Core::Hashable
14799
15004
 
14800
- # The list of per-instance configs to insert or patch on this managed instance
14801
- # group.
15005
+ # The list of per-instance configurations to insert or patch on this managed
15006
+ # instance group.
14802
15007
  # Corresponds to the JSON property `perInstanceConfigs`
14803
15008
  # @return [Array<Google::Apis::ComputeBeta::PerInstanceConfig>]
14804
15009
  attr_accessor :per_instance_configs
@@ -15550,6 +15755,12 @@ module Google
15550
15755
  # @return [Array<Google::Apis::ComputeBeta::AcceleratorConfig>]
15551
15756
  attr_accessor :guest_accelerators
15552
15757
 
15758
+ # KeyRevocationActionType of the instance. Supported options are "STOP" and "
15759
+ # NONE". The default value is "NONE" if it is not specified.
15760
+ # Corresponds to the JSON property `keyRevocationActionType`
15761
+ # @return [String]
15762
+ attr_accessor :key_revocation_action_type
15763
+
15553
15764
  # Labels to apply to instances that are created from these properties.
15554
15765
  # Corresponds to the JSON property `labels`
15555
15766
  # @return [Hash<String,String>]
@@ -15656,6 +15867,7 @@ module Google
15656
15867
  @disks = args[:disks] if args.key?(:disks)
15657
15868
  @display_device = args[:display_device] if args.key?(:display_device)
15658
15869
  @guest_accelerators = args[:guest_accelerators] if args.key?(:guest_accelerators)
15870
+ @key_revocation_action_type = args[:key_revocation_action_type] if args.key?(:key_revocation_action_type)
15659
15871
  @labels = args[:labels] if args.key?(:labels)
15660
15872
  @machine_type = args[:machine_type] if args.key?(:machine_type)
15661
15873
  @metadata = args[:metadata] if args.key?(:metadata)
@@ -15675,6 +15887,32 @@ module Google
15675
15887
  end
15676
15888
  end
15677
15889
 
15890
+ # Represents the change that you want to make to the instance properties.
15891
+ class InstancePropertiesPatch
15892
+ include Google::Apis::Core::Hashable
15893
+
15894
+ # The label key-value pairs that you want to patch onto the instance.
15895
+ # Corresponds to the JSON property `labels`
15896
+ # @return [Hash<String,String>]
15897
+ attr_accessor :labels
15898
+
15899
+ # The metadata key-value pairs that you want to patch onto the instance. For
15900
+ # more information, see Project and instance metadata.
15901
+ # Corresponds to the JSON property `metadata`
15902
+ # @return [Hash<String,String>]
15903
+ attr_accessor :metadata
15904
+
15905
+ def initialize(**args)
15906
+ update!(**args)
15907
+ end
15908
+
15909
+ # Update properties of this object
15910
+ def update!(**args)
15911
+ @labels = args[:labels] if args.key?(:labels)
15912
+ @metadata = args[:metadata] if args.key?(:metadata)
15913
+ end
15914
+ end
15915
+
15678
15916
  #
15679
15917
  class InstanceReference
15680
15918
  include Google::Apis::Core::Hashable
@@ -18459,6 +18697,11 @@ module Google
18459
18697
  class LocationPolicyLocation
18460
18698
  include Google::Apis::Core::Hashable
18461
18699
 
18700
+ # Per-zone constraints on location policy for this zone.
18701
+ # Corresponds to the JSON property `constraints`
18702
+ # @return [Google::Apis::ComputeBeta::LocationPolicyLocationConstraints]
18703
+ attr_accessor :constraints
18704
+
18462
18705
  # Preference for a given location.
18463
18706
  # Corresponds to the JSON property `preference`
18464
18707
  # @return [String]
@@ -18470,10 +18713,31 @@ module Google
18470
18713
 
18471
18714
  # Update properties of this object
18472
18715
  def update!(**args)
18716
+ @constraints = args[:constraints] if args.key?(:constraints)
18473
18717
  @preference = args[:preference] if args.key?(:preference)
18474
18718
  end
18475
18719
  end
18476
18720
 
18721
+ # Per-zone constraints on location policy for this zone.
18722
+ class LocationPolicyLocationConstraints
18723
+ include Google::Apis::Core::Hashable
18724
+
18725
+ # Maximum number of items that are allowed to be placed in this zone. The value
18726
+ # must be non-negative.
18727
+ # Corresponds to the JSON property `maxCount`
18728
+ # @return [Fixnum]
18729
+ attr_accessor :max_count
18730
+
18731
+ def initialize(**args)
18732
+ update!(**args)
18733
+ end
18734
+
18735
+ # Update properties of this object
18736
+ def update!(**args)
18737
+ @max_count = args[:max_count] if args.key?(:max_count)
18738
+ end
18739
+ end
18740
+
18477
18741
  # This is deprecated and has no effect. Do not use.
18478
18742
  class LogConfig
18479
18743
  include Google::Apis::Core::Hashable
@@ -19338,6 +19602,12 @@ module Google
19338
19602
  class ManagedInstance
19339
19603
  include Google::Apis::Core::Hashable
19340
19604
 
19605
+ # [Output Only] Current all-instances configuration revision applied to this
19606
+ # instance.
19607
+ # Corresponds to the JSON property `allInstancesConfig`
19608
+ # @return [Google::Apis::ComputeBeta::ManagedInstanceAllInstancesConfig]
19609
+ attr_accessor :all_instances_config
19610
+
19341
19611
  # [Output Only] The current action that the managed instance group has scheduled
19342
19612
  # for the instance. Possible values: - NONE The instance is running, and the
19343
19613
  # managed instance group does not have any scheduled actions for this instance. -
@@ -19410,6 +19680,7 @@ module Google
19410
19680
 
19411
19681
  # Update properties of this object
19412
19682
  def update!(**args)
19683
+ @all_instances_config = args[:all_instances_config] if args.key?(:all_instances_config)
19413
19684
  @current_action = args[:current_action] if args.key?(:current_action)
19414
19685
  @id = args[:id] if args.key?(:id)
19415
19686
  @instance = args[:instance] if args.key?(:instance)
@@ -19422,6 +19693,26 @@ module Google
19422
19693
  end
19423
19694
  end
19424
19695
 
19696
+ #
19697
+ class ManagedInstanceAllInstancesConfig
19698
+ include Google::Apis::Core::Hashable
19699
+
19700
+ # [Output Only] Current all-instances configuration revision. This value is in
19701
+ # RFC3339 text format.
19702
+ # Corresponds to the JSON property `revision`
19703
+ # @return [String]
19704
+ attr_accessor :revision
19705
+
19706
+ def initialize(**args)
19707
+ update!(**args)
19708
+ end
19709
+
19710
+ # Update properties of this object
19711
+ def update!(**args)
19712
+ @revision = args[:revision] if args.key?(:revision)
19713
+ end
19714
+ end
19715
+
19425
19716
  #
19426
19717
  class ManagedInstanceInstanceHealth
19427
19718
  include Google::Apis::Core::Hashable
@@ -20317,7 +20608,8 @@ module Google
20317
20608
  attr_accessor :network_endpoint_type
20318
20609
 
20319
20610
  # The target service url used to set up private service connection to a Google
20320
- # API. An example value is: "asia-northeast3-cloudkms.googleapis.com"
20611
+ # API or a PSC Producer Service Attachment. An example value is: "asia-
20612
+ # northeast3-cloudkms.googleapis.com"
20321
20613
  # Corresponds to the JSON property `pscTargetService`
20322
20614
  # @return [String]
20323
20615
  attr_accessor :psc_target_service
@@ -20794,10 +21086,8 @@ module Google
20794
21086
  class NetworkEndpointGroupServerlessDeployment
20795
21087
  include Google::Apis::Core::Hashable
20796
21088
 
20797
- # The platform of the backend target(s) of this NEG. Possible values include: 1.
20798
- # API Gateway: apigateway.googleapis.com 2. App Engine: appengine.googleapis.com
20799
- # 3. Cloud Functions: cloudfunctions.googleapis.com 4. Cloud Run: run.googleapis.
20800
- # com
21089
+ # The platform of the backend target(s) of this NEG. The only supported value is
21090
+ # API Gateway: apigateway.googleapis.com.
20801
21091
  # Corresponds to the JSON property `platform`
20802
21092
  # @return [String]
20803
21093
  attr_accessor :platform
@@ -25317,18 +25607,18 @@ module Google
25317
25607
  # Fingerprint of this per-instance config. This field can be used in optimistic
25318
25608
  # locking. It is ignored when inserting a per-instance config. An up-to-date
25319
25609
  # fingerprint must be provided in order to update an existing per-instance
25320
- # config or the field needs to be unset.
25610
+ # configuration or the field needs to be unset.
25321
25611
  # Corresponds to the JSON property `fingerprint`
25322
25612
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
25323
25613
  # @return [String]
25324
25614
  attr_accessor :fingerprint
25325
25615
 
25326
- # The name of a per-instance config and its corresponding instance. Serves as a
25327
- # merge key during UpdatePerInstanceConfigs operations, that is, if a per-
25328
- # instance config with the same name exists then it will be updated, otherwise a
25329
- # new one will be created for the VM instance with the same name. An attempt to
25330
- # create a per-instance config for a VM instance that either doesn't exist or is
25331
- # not part of the group will result in an error.
25616
+ # The name of a per-instance configuration and its corresponding instance.
25617
+ # Serves as a merge key during UpdatePerInstanceConfigs operations, that is, if
25618
+ # a per-instance configuration with the same name exists then it will be updated,
25619
+ # otherwise a new one will be created for the VM instance with the same name.
25620
+ # An attempt to create a per-instance configconfiguration for a VM instance that
25621
+ # either doesn't exist or is not part of the group will result in an error.
25332
25622
  # Corresponds to the JSON property `name`
25333
25623
  # @return [String]
25334
25624
  attr_accessor :name
@@ -25338,8 +25628,8 @@ module Google
25338
25628
  # @return [Google::Apis::ComputeBeta::PreservedState]
25339
25629
  attr_accessor :preserved_state
25340
25630
 
25341
- # The status of applying this per-instance config on the corresponding managed
25342
- # instance.
25631
+ # The status of applying this per-instance configuration on the corresponding
25632
+ # managed instance.
25343
25633
  # Corresponds to the JSON property `status`
25344
25634
  # @return [String]
25345
25635
  attr_accessor :status
@@ -27342,8 +27632,8 @@ module Google
27342
27632
  class RegionInstanceGroupManagerPatchInstanceConfigReq
27343
27633
  include Google::Apis::Core::Hashable
27344
27634
 
27345
- # The list of per-instance configs to insert or patch on this managed instance
27346
- # group.
27635
+ # The list of per-instance configurations to insert or patch on this managed
27636
+ # instance group.
27347
27637
  # Corresponds to the JSON property `perInstanceConfigs`
27348
27638
  # @return [Array<Google::Apis::ComputeBeta::PerInstanceConfig>]
27349
27639
  attr_accessor :per_instance_configs
@@ -27362,8 +27652,8 @@ module Google
27362
27652
  class RegionInstanceGroupManagerUpdateInstanceConfigReq
27363
27653
  include Google::Apis::Core::Hashable
27364
27654
 
27365
- # The list of per-instance configs to insert or patch on this managed instance
27366
- # group.
27655
+ # The list of per-instance configurations to insert or patch on this managed
27656
+ # instance group.
27367
27657
  # Corresponds to the JSON property `perInstanceConfigs`
27368
27658
  # @return [Array<Google::Apis::ComputeBeta::PerInstanceConfig>]
27369
27659
  attr_accessor :per_instance_configs
@@ -30184,6 +30474,11 @@ module Google
30184
30474
  # @return [String]
30185
30475
  attr_accessor :kind
30186
30476
 
30477
+ # Keys used for MD5 authentication.
30478
+ # Corresponds to the JSON property `md5AuthenticationKeys`
30479
+ # @return [Array<Google::Apis::ComputeBeta::RouterMd5AuthenticationKey>]
30480
+ attr_accessor :md5_authentication_keys
30481
+
30187
30482
  # Name of the resource. Provided by the client when the resource is created. The
30188
30483
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
30189
30484
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
@@ -30230,6 +30525,7 @@ module Google
30230
30525
  @id = args[:id] if args.key?(:id)
30231
30526
  @interfaces = args[:interfaces] if args.key?(:interfaces)
30232
30527
  @kind = args[:kind] if args.key?(:kind)
30528
+ @md5_authentication_keys = args[:md5_authentication_keys] if args.key?(:md5_authentication_keys)
30233
30529
  @name = args[:name] if args.key?(:name)
30234
30530
  @nats = args[:nats] if args.key?(:nats)
30235
30531
  @network = args[:network] if args.key?(:network)
@@ -30525,6 +30821,13 @@ module Google
30525
30821
  # @return [String]
30526
30822
  attr_accessor :management_type
30527
30823
 
30824
+ # Present if MD5 authentication is enabled for the peering. Must be the name of
30825
+ # one of the entries in the Router.md5_authentication_keys. The field must
30826
+ # comply with RFC1035.
30827
+ # Corresponds to the JSON property `md5AuthenticationKeyName`
30828
+ # @return [String]
30829
+ attr_accessor :md5_authentication_key_name
30830
+
30528
30831
  # Name of this BGP peer. The name must be 1-63 characters long, and comply with
30529
30832
  # RFC1035. Specifically, the name must be 1-63 characters long and match the
30530
30833
  # regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first
@@ -30577,6 +30880,7 @@ module Google
30577
30880
  @ip_address = args[:ip_address] if args.key?(:ip_address)
30578
30881
  @ipv6_nexthop_address = args[:ipv6_nexthop_address] if args.key?(:ipv6_nexthop_address)
30579
30882
  @management_type = args[:management_type] if args.key?(:management_type)
30883
+ @md5_authentication_key_name = args[:md5_authentication_key_name] if args.key?(:md5_authentication_key_name)
30580
30884
  @name = args[:name] if args.key?(:name)
30581
30885
  @peer_asn = args[:peer_asn] if args.key?(:peer_asn)
30582
30886
  @peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address)
@@ -30845,6 +31149,35 @@ module Google
30845
31149
  end
30846
31150
  end
30847
31151
 
31152
+ #
31153
+ class RouterMd5AuthenticationKey
31154
+ include Google::Apis::Core::Hashable
31155
+
31156
+ # [Input only] Value of the key. For patch and update calls, it can be skipped
31157
+ # to copy the value from the previous configuration. This is allowed if the key
31158
+ # with the same name existed before the operation. Maximum length is 80
31159
+ # characters. Can only contain printable ASCII characters.
31160
+ # Corresponds to the JSON property `key`
31161
+ # @return [String]
31162
+ attr_accessor :key
31163
+
31164
+ # Name used to identify the key. Must be unique within a router. Must be
31165
+ # referenced by at least one bgpPeer. Must comply with RFC1035.
31166
+ # Corresponds to the JSON property `name`
31167
+ # @return [String]
31168
+ attr_accessor :name
31169
+
31170
+ def initialize(**args)
31171
+ update!(**args)
31172
+ end
31173
+
31174
+ # Update properties of this object
31175
+ def update!(**args)
31176
+ @key = args[:key] if args.key?(:key)
31177
+ @name = args[:name] if args.key?(:name)
31178
+ end
31179
+ end
31180
+
30848
31181
  # Represents a Nat resource. It enables the VMs within the specified subnetworks
30849
31182
  # to access Internet without external IP addresses. It specifies a list of
30850
31183
  # subnetworks (and the ranges within) that want to use NAT. Customers can also
@@ -31209,6 +31542,12 @@ module Google
31209
31542
  # @return [String]
31210
31543
  attr_accessor :linked_vpn_tunnel
31211
31544
 
31545
+ # Informs whether MD5 authentication is enabled on this BGP peer.
31546
+ # Corresponds to the JSON property `md5AuthEnabled`
31547
+ # @return [Boolean]
31548
+ attr_accessor :md5_auth_enabled
31549
+ alias_method :md5_auth_enabled?, :md5_auth_enabled
31550
+
31212
31551
  # Name of this BGP peer. Unique within the Routers resource.
31213
31552
  # Corresponds to the JSON property `name`
31214
31553
  # @return [String]
@@ -31242,6 +31581,11 @@ module Google
31242
31581
  # @return [String]
31243
31582
  attr_accessor :status
31244
31583
 
31584
+ # Indicates why particular status was returned.
31585
+ # Corresponds to the JSON property `statusReason`
31586
+ # @return [String]
31587
+ attr_accessor :status_reason
31588
+
31245
31589
  # Time this session has been up. Format: 14 years, 51 weeks, 6 days, 23 hours,
31246
31590
  # 59 minutes, 59 seconds
31247
31591
  # Corresponds to the JSON property `uptime`
@@ -31263,12 +31607,14 @@ module Google
31263
31607
  @bfd_status = args[:bfd_status] if args.key?(:bfd_status)
31264
31608
  @ip_address = args[:ip_address] if args.key?(:ip_address)
31265
31609
  @linked_vpn_tunnel = args[:linked_vpn_tunnel] if args.key?(:linked_vpn_tunnel)
31610
+ @md5_auth_enabled = args[:md5_auth_enabled] if args.key?(:md5_auth_enabled)
31266
31611
  @name = args[:name] if args.key?(:name)
31267
31612
  @num_learned_routes = args[:num_learned_routes] if args.key?(:num_learned_routes)
31268
31613
  @peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address)
31269
31614
  @router_appliance_instance = args[:router_appliance_instance] if args.key?(:router_appliance_instance)
31270
31615
  @state = args[:state] if args.key?(:state)
31271
31616
  @status = args[:status] if args.key?(:status)
31617
+ @status_reason = args[:status_reason] if args.key?(:status_reason)
31272
31618
  @uptime = args[:uptime] if args.key?(:uptime)
31273
31619
  @uptime_seconds = args[:uptime_seconds] if args.key?(:uptime_seconds)
31274
31620
  end
@@ -34584,6 +34930,12 @@ module Google
34584
34930
  # @return [Array<Google::Apis::ComputeBeta::AcceleratorConfig>]
34585
34931
  attr_accessor :guest_accelerators
34586
34932
 
34933
+ # KeyRevocationActionType of the instance. Supported options are "STOP" and "
34934
+ # NONE". The default value is "NONE" if it is not specified.
34935
+ # Corresponds to the JSON property `keyRevocationActionType`
34936
+ # @return [String]
34937
+ attr_accessor :key_revocation_action_type
34938
+
34587
34939
  # Labels to apply to instances that are created from this machine image.
34588
34940
  # Corresponds to the JSON property `labels`
34589
34941
  # @return [Hash<String,String>]
@@ -34647,6 +34999,7 @@ module Google
34647
34999
  @description = args[:description] if args.key?(:description)
34648
35000
  @disks = args[:disks] if args.key?(:disks)
34649
35001
  @guest_accelerators = args[:guest_accelerators] if args.key?(:guest_accelerators)
35002
+ @key_revocation_action_type = args[:key_revocation_action_type] if args.key?(:key_revocation_action_type)
34650
35003
  @labels = args[:labels] if args.key?(:labels)
34651
35004
  @machine_type = args[:machine_type] if args.key?(:machine_type)
34652
35005
  @metadata = args[:metadata] if args.key?(:metadata)
@@ -35651,7 +36004,7 @@ module Google
35651
36004
  attr_accessor :enable_flow_logs
35652
36005
  alias_method :enable_flow_logs?, :enable_flow_logs
35653
36006
 
35654
- # [Output Only] The range of external IPv6 addresses that are owned by this
36007
+ # [Output Only] The external IPv6 address range that is assigned to this
35655
36008
  # subnetwork.
35656
36009
  # Corresponds to the JSON property `externalIpv6Prefix`
35657
36010
  # @return [String]
@@ -35680,9 +36033,8 @@ module Google
35680
36033
  # @return [Fixnum]
35681
36034
  attr_accessor :id
35682
36035
 
35683
- # [Output Only] The range of internal IPv6 addresses that are owned by this
35684
- # subnetwork. Note this is for general VM to VM communication, not to be
35685
- # confused with the ipv6_cidr_range field.
36036
+ # [Output Only] The internal IPv6 address range that is assigned to this
36037
+ # subnetwork.
35686
36038
  # Corresponds to the JSON property `internalIpv6Prefix`
35687
36039
  # @return [String]
35688
36040
  attr_accessor :internal_ipv6_prefix
@@ -35699,14 +36051,12 @@ module Google
35699
36051
 
35700
36052
  # The access type of IPv6 address this subnet holds. It's immutable and can only
35701
36053
  # be specified during creation or the first time the subnet is updated into
35702
- # IPV4_IPV6 dual stack. If the ipv6_type is EXTERNAL then this subnet cannot
35703
- # enable direct path.
36054
+ # IPV4_IPV6 dual stack.
35704
36055
  # Corresponds to the JSON property `ipv6AccessType`
35705
36056
  # @return [String]
35706
36057
  attr_accessor :ipv6_access_type
35707
36058
 
35708
- # [Output Only] The range of internal IPv6 addresses that are owned by this
35709
- # subnetwork. Note this will be for private google access only eventually.
36059
+ # [Output Only] This field is for internal use.
35710
36060
  # Corresponds to the JSON property `ipv6CidrRange`
35711
36061
  # @return [String]
35712
36062
  attr_accessor :ipv6_cidr_range
@@ -35747,10 +36097,8 @@ module Google
35747
36097
  attr_accessor :private_ip_google_access
35748
36098
  alias_method :private_ip_google_access?, :private_ip_google_access
35749
36099
 
35750
- # The private IPv6 google access type for the VMs in this subnet. This is an
35751
- # expanded field of enablePrivateV6Access. If both fields are set,
35752
- # privateIpv6GoogleAccess will take priority. This field can be both set at
35753
- # resource creation time and updated using patch.
36100
+ # This field is for internal use. This field can be both set at resource
36101
+ # creation time and updated using patch.
35754
36102
  # Corresponds to the JSON property `privateIpv6GoogleAccess`
35755
36103
  # @return [String]
35756
36104
  attr_accessor :private_ipv6_google_access
@@ -39107,6 +39455,12 @@ module Google
39107
39455
  # @return [String]
39108
39456
  attr_accessor :proxy_header
39109
39457
 
39458
+ # [Output Only] URL of the region where the regional TCP proxy resides. This
39459
+ # field is not applicable to global TCP proxy.
39460
+ # Corresponds to the JSON property `region`
39461
+ # @return [String]
39462
+ attr_accessor :region
39463
+
39110
39464
  # [Output Only] Server-defined URL for the resource.
39111
39465
  # Corresponds to the JSON property `selfLink`
39112
39466
  # @return [String]
@@ -39130,6 +39484,7 @@ module Google
39130
39484
  @name = args[:name] if args.key?(:name)
39131
39485
  @proxy_bind = args[:proxy_bind] if args.key?(:proxy_bind)
39132
39486
  @proxy_header = args[:proxy_header] if args.key?(:proxy_header)
39487
+ @region = args[:region] if args.key?(:region)
39133
39488
  @self_link = args[:self_link] if args.key?(:self_link)
39134
39489
  @service = args[:service] if args.key?(:service)
39135
39490
  end