google-apis-compute_beta 0.29.0 → 0.32.0

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