google-apis-compute_beta 0.31.0 → 0.34.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1328,9 +1328,10 @@ module Google
1328
1328
 
1329
1329
  # [Input Only] Specifies the parameters for a new disk that will be created
1330
1330
  # alongside the new instance. Use initialization parameters to create boot disks
1331
- # or local SSDs attached to the new instance. This property is mutually
1332
- # exclusive with the source property; you can only define one or the other, but
1333
- # 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.
1334
1335
  # Corresponds to the JSON property `initializeParams`
1335
1336
  # @return [Google::Apis::ComputeBeta::AttachedDiskInitializeParams]
1336
1337
  attr_accessor :initialize_params
@@ -1430,9 +1431,10 @@ module Google
1430
1431
 
1431
1432
  # [Input Only] Specifies the parameters for a new disk that will be created
1432
1433
  # alongside the new instance. Use initialization parameters to create boot disks
1433
- # or local SSDs attached to the new instance. This property is mutually
1434
- # exclusive with the source property; you can only define one or the other, but
1435
- # 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.
1436
1438
  class AttachedDiskInitializeParams
1437
1439
  include Google::Apis::Core::Hashable
1438
1440
 
@@ -2952,9 +2954,9 @@ module Google
2952
2954
  # @return [Array<String>]
2953
2955
  attr_accessor :include_http_headers
2954
2956
 
2955
- # Names of query string parameters to include in cache keys. All other
2956
- # parameters will be excluded. '&' and '=' will be percent encoded and not
2957
- # 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.
2958
2960
  # Corresponds to the JSON property `queryStringWhitelist`
2959
2961
  # @return [Array<String>]
2960
2962
  attr_accessor :query_string_whitelist
@@ -4628,7 +4630,7 @@ module Google
4628
4630
  # @return [Google::Apis::ComputeBeta::Expr]
4629
4631
  attr_accessor :condition
4630
4632
 
4631
- # Specifies the principals requesting access for a Cloud Platform resource. `
4633
+ # Specifies the principals requesting access for a Google Cloud resource. `
4632
4634
  # members` can have the following values: * `allUsers`: A special identifier
4633
4635
  # that represents anyone who is on the internet; with or without a Google
4634
4636
  # account. * `allAuthenticatedUsers`: A special identifier that represents
@@ -8523,6 +8525,12 @@ module Google
8523
8525
  class FirewallPolicyRuleMatcher
8524
8526
  include Google::Apis::Core::Hashable
8525
8527
 
8528
+ # Address groups which should be matched against the traffic destination.
8529
+ # Maximum number of destination address groups is 10.
8530
+ # Corresponds to the JSON property `destAddressGroups`
8531
+ # @return [Array<String>]
8532
+ attr_accessor :dest_address_groups
8533
+
8526
8534
  # CIDR IP address range. Maximum number of destination CIDR IP ranges allowed is
8527
8535
  # 5000.
8528
8536
  # Corresponds to the JSON property `destIpRanges`
@@ -8548,6 +8556,12 @@ module Google
8548
8556
  # @return [Array<Google::Apis::ComputeBeta::FirewallPolicyRuleMatcherLayer4Config>]
8549
8557
  attr_accessor :layer4_configs
8550
8558
 
8559
+ # Address groups which should be matched against the traffic source. Maximum
8560
+ # number of source address groups is 10.
8561
+ # Corresponds to the JSON property `srcAddressGroups`
8562
+ # @return [Array<String>]
8563
+ attr_accessor :src_address_groups
8564
+
8551
8565
  # CIDR IP address range. Maximum number of source CIDR IP ranges allowed is 5000.
8552
8566
  # Corresponds to the JSON property `srcIpRanges`
8553
8567
  # @return [Array<String>]
@@ -8580,10 +8594,12 @@ module Google
8580
8594
 
8581
8595
  # Update properties of this object
8582
8596
  def update!(**args)
8597
+ @dest_address_groups = args[:dest_address_groups] if args.key?(:dest_address_groups)
8583
8598
  @dest_ip_ranges = args[:dest_ip_ranges] if args.key?(:dest_ip_ranges)
8584
8599
  @dest_region_codes = args[:dest_region_codes] if args.key?(:dest_region_codes)
8585
8600
  @dest_threat_intelligences = args[:dest_threat_intelligences] if args.key?(:dest_threat_intelligences)
8586
8601
  @layer4_configs = args[:layer4_configs] if args.key?(:layer4_configs)
8602
+ @src_address_groups = args[:src_address_groups] if args.key?(:src_address_groups)
8587
8603
  @src_ip_ranges = args[:src_ip_ranges] if args.key?(:src_ip_ranges)
8588
8604
  @src_region_codes = args[:src_region_codes] if args.key?(:src_region_codes)
8589
8605
  @src_secure_tags = args[:src_secure_tags] if args.key?(:src_secure_tags)
@@ -8697,21 +8713,26 @@ module Google
8697
8713
  class ForwardingRule
8698
8714
  include Google::Apis::Core::Hashable
8699
8715
 
8700
- # IP address that this forwarding rule serves. When a client sends traffic to
8701
- # this IP address, the forwarding rule directs the traffic to the target that
8702
- # you specify in the forwarding rule. If you don't specify a reserved IP address,
8703
- # an ephemeral IP address is assigned. Methods for specifying an IP address: *
8704
- # IPv4 dotted decimal, as in `100.1.2.3` * Full URL, as in https://www.
8705
- # googleapis.com/compute/v1/projects/project_id/regions/region /addresses/
8706
- # address-name * Partial URL or by name, as in: - projects/project_id/regions/
8707
- # region/addresses/address-name - regions/region/addresses/address-name - global/
8708
- # addresses/address-name - address-name The loadBalancingScheme and the
8709
- # forwarding rule's target determine the type of IP address that you can use.
8710
- # For detailed information, see [IP address specifications](https://cloud.google.
8711
- # com/load-balancing/docs/forwarding-rule-concepts#ip_address_specifications).
8712
- # Must be set to `0.0.0.0` when the target is targetGrpcProxy that has
8713
- # validateForProxyless field set to true. For Private Service Connect forwarding
8714
- # rules that forward traffic to Google APIs, IP address must be provided.
8716
+ # IP address for which this forwarding rule accepts traffic. When a client sends
8717
+ # traffic to this IP address, the forwarding rule directs the traffic to the
8718
+ # referenced target or backendService. While creating a forwarding rule,
8719
+ # specifying an IPAddress is required under the following circumstances: - When
8720
+ # the target is set to targetGrpcProxy and validateForProxyless is set to true,
8721
+ # the IPAddress should be set to 0.0.0.0. - When the target is a Private Service
8722
+ # Connect Google APIs bundle, you must specify an IPAddress. Otherwise, you can
8723
+ # optionally specify an IP address that references an existing static (reserved)
8724
+ # IP address resource. When omitted, Google Cloud assigns an ephemeral IP
8725
+ # address. Use one of the following formats to specify an IP address while
8726
+ # creating a forwarding rule: * IP address number, as in `100.1.2.3` * Full
8727
+ # resource URL, as in https://www.googleapis.com/compute/v1/projects/project_id/
8728
+ # regions/region /addresses/address-name * Partial URL or by name, as in: -
8729
+ # projects/project_id/regions/region/addresses/address-name - regions/region/
8730
+ # addresses/address-name - global/addresses/address-name - address-name The
8731
+ # forwarding rule's target or backendService, and in most cases, also the
8732
+ # loadBalancingScheme, determine the type of IP address that you can use. For
8733
+ # detailed information, see [IP address specifications](https://cloud.google.com/
8734
+ # load-balancing/docs/forwarding-rule-concepts#ip_address_specifications). When
8735
+ # reading an IPAddress, the API always returns the IP address number.
8715
8736
  # Corresponds to the JSON property `IPAddress`
8716
8737
  # @return [String]
8717
8738
  attr_accessor :ip_address
@@ -8879,6 +8900,14 @@ module Google
8879
8900
  # @return [String]
8880
8901
  attr_accessor :network_tier
8881
8902
 
8903
+ # This is used in PSC consumer ForwardingRule to control whether it should try
8904
+ # to auto-generate a DNS zone or not. Non-PSC forwarding rules do not use this
8905
+ # field.
8906
+ # Corresponds to the JSON property `noAutomateDnsZone`
8907
+ # @return [Boolean]
8908
+ attr_accessor :no_automate_dns_zone
8909
+ alias_method :no_automate_dns_zone?, :no_automate_dns_zone
8910
+
8882
8911
  # This field can be used only if: - Load balancing scheme is one of EXTERNAL,
8883
8912
  # INTERNAL_SELF_MANAGED or INTERNAL_MANAGED - IPProtocol is one of TCP, UDP, or
8884
8913
  # SCTP. Packets addressed to ports in the specified range will be forwarded to
@@ -9000,6 +9029,7 @@ module Google
9000
9029
  @name = args[:name] if args.key?(:name)
9001
9030
  @network = args[:network] if args.key?(:network)
9002
9031
  @network_tier = args[:network_tier] if args.key?(:network_tier)
9032
+ @no_automate_dns_zone = args[:no_automate_dns_zone] if args.key?(:no_automate_dns_zone)
9003
9033
  @port_range = args[:port_range] if args.key?(:port_range)
9004
9034
  @ports = args[:ports] if args.key?(:ports)
9005
9035
  @psc_connection_id = args[:psc_connection_id] if args.key?(:psc_connection_id)
@@ -10911,10 +10941,10 @@ module Google
10911
10941
 
10912
10942
  # The list of host patterns to match. They must be valid hostnames with optional
10913
10943
  # port numbers in the format host:port. * matches any string of ([a-z0-9-.]*).
10914
- # In that case, * must be the first character and must be followed in the
10915
- # pattern by either - or .. * based matching is not supported when the URL map
10916
- # is bound to a target gRPC proxy that has the validateForProxyless field set to
10917
- # true.
10944
+ # In that case, * must be the first character, and if followed by anything, the
10945
+ # immediate following character must be either - or .. * based matching is not
10946
+ # supported when the URL map is bound to a target gRPC proxy that has the
10947
+ # validateForProxyless field set to true.
10918
10948
  # Corresponds to the JSON property `hosts`
10919
10949
  # @return [Array<String>]
10920
10950
  attr_accessor :hosts
@@ -12742,6 +12772,12 @@ module Google
12742
12772
  # @return [Fixnum]
12743
12773
  attr_accessor :id
12744
12774
 
12775
+ # KeyRevocationActionType of the instance. Supported options are "STOP" and "
12776
+ # NONE". The default value is "NONE" if it is not specified.
12777
+ # Corresponds to the JSON property `keyRevocationActionType`
12778
+ # @return [String]
12779
+ attr_accessor :key_revocation_action_type
12780
+
12745
12781
  # [Output Only] Type of the resource. Always compute#instance for instances.
12746
12782
  # Corresponds to the JSON property `kind`
12747
12783
  # @return [String]
@@ -12965,6 +13001,7 @@ module Google
12965
13001
  @guest_accelerators = args[:guest_accelerators] if args.key?(:guest_accelerators)
12966
13002
  @hostname = args[:hostname] if args.key?(:hostname)
12967
13003
  @id = args[:id] if args.key?(:id)
13004
+ @key_revocation_action_type = args[:key_revocation_action_type] if args.key?(:key_revocation_action_type)
12968
13005
  @kind = args[:kind] if args.key?(:kind)
12969
13006
  @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
12970
13007
  @labels = args[:labels] if args.key?(:labels)
@@ -13553,6 +13590,12 @@ module Google
13553
13590
  class InstanceGroupManager
13554
13591
  include Google::Apis::Core::Hashable
13555
13592
 
13593
+ # Specifies configuration that overrides the instance template configuration for
13594
+ # the group.
13595
+ # Corresponds to the JSON property `allInstancesConfig`
13596
+ # @return [Google::Apis::ComputeBeta::InstanceGroupManagerAllInstancesConfig]
13597
+ attr_accessor :all_instances_config
13598
+
13556
13599
  # The autohealing policy for this managed instance group. You can specify only
13557
13600
  # one value.
13558
13601
  # Corresponds to the JSON property `autoHealingPolicies`
@@ -13716,6 +13759,7 @@ module Google
13716
13759
 
13717
13760
  # Update properties of this object
13718
13761
  def update!(**args)
13762
+ @all_instances_config = args[:all_instances_config] if args.key?(:all_instances_config)
13719
13763
  @auto_healing_policies = args[:auto_healing_policies] if args.key?(:auto_healing_policies)
13720
13764
  @base_instance_name = args[:base_instance_name] if args.key?(:base_instance_name)
13721
13765
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
@@ -13982,6 +14026,25 @@ module Google
13982
14026
  end
13983
14027
  end
13984
14028
 
14029
+ #
14030
+ class InstanceGroupManagerAllInstancesConfig
14031
+ include Google::Apis::Core::Hashable
14032
+
14033
+ # Represents the change that you want to make to the instance properties.
14034
+ # Corresponds to the JSON property `properties`
14035
+ # @return [Google::Apis::ComputeBeta::InstancePropertiesPatch]
14036
+ attr_accessor :properties
14037
+
14038
+ def initialize(**args)
14039
+ update!(**args)
14040
+ end
14041
+
14042
+ # Update properties of this object
14043
+ def update!(**args)
14044
+ @properties = args[:properties] if args.key?(:properties)
14045
+ end
14046
+ end
14047
+
13985
14048
  #
13986
14049
  class InstanceGroupManagerAutoHealingPolicy
13987
14050
  include Google::Apis::Core::Hashable
@@ -14134,6 +14197,11 @@ module Google
14134
14197
  class InstanceGroupManagerStatus
14135
14198
  include Google::Apis::Core::Hashable
14136
14199
 
14200
+ # [Output only] Status of all-instances configuration on the group.
14201
+ # Corresponds to the JSON property `allInstancesConfig`
14202
+ # @return [Google::Apis::ComputeBeta::InstanceGroupManagerStatusAllInstancesConfig]
14203
+ attr_accessor :all_instances_config
14204
+
14137
14205
  # [Output Only] The URL of the Autoscaler that targets this instance group
14138
14206
  # manager.
14139
14207
  # Corresponds to the JSON property `autoscaler`
@@ -14168,6 +14236,7 @@ module Google
14168
14236
 
14169
14237
  # Update properties of this object
14170
14238
  def update!(**args)
14239
+ @all_instances_config = args[:all_instances_config] if args.key?(:all_instances_config)
14171
14240
  @autoscaler = args[:autoscaler] if args.key?(:autoscaler)
14172
14241
  @is_stable = args[:is_stable] if args.key?(:is_stable)
14173
14242
  @stateful = args[:stateful] if args.key?(:stateful)
@@ -14175,6 +14244,34 @@ module Google
14175
14244
  end
14176
14245
  end
14177
14246
 
14247
+ #
14248
+ class InstanceGroupManagerStatusAllInstancesConfig
14249
+ include Google::Apis::Core::Hashable
14250
+
14251
+ # [Output Only] Current all-instances configuration revision. This value is in
14252
+ # RFC3339 text format.
14253
+ # Corresponds to the JSON property `currentRevision`
14254
+ # @return [String]
14255
+ attr_accessor :current_revision
14256
+
14257
+ # [Output Only] A bit indicating whether this configuration has been applied to
14258
+ # all managed instances in the group.
14259
+ # Corresponds to the JSON property `effective`
14260
+ # @return [Boolean]
14261
+ attr_accessor :effective
14262
+ alias_method :effective?, :effective
14263
+
14264
+ def initialize(**args)
14265
+ update!(**args)
14266
+ end
14267
+
14268
+ # Update properties of this object
14269
+ def update!(**args)
14270
+ @current_revision = args[:current_revision] if args.key?(:current_revision)
14271
+ @effective = args[:effective] if args.key?(:effective)
14272
+ end
14273
+ end
14274
+
14178
14275
  #
14179
14276
  class InstanceGroupManagerStatusStateful
14180
14277
  include Google::Apis::Core::Hashable
@@ -14182,8 +14279,9 @@ module Google
14182
14279
  # [Output Only] A bit indicating whether the managed instance group has stateful
14183
14280
  # configuration, that is, if you have configured any items in a stateful policy
14184
14281
  # or in per-instance configs. The group might report that it has no stateful
14185
- # config even when there is still some preserved state on a managed instance,
14186
- # for example, if you have deleted all PICs but not yet applied those deletions.
14282
+ # configuration even when there is still some preserved state on a managed
14283
+ # instance, for example, if you have deleted all PICs but not yet applied those
14284
+ # deletions.
14187
14285
  # Corresponds to the JSON property `hasStatefulConfig`
14188
14286
  # @return [Boolean]
14189
14287
  attr_accessor :has_stateful_config
@@ -14192,15 +14290,15 @@ module Google
14192
14290
  # [Output Only] A bit indicating whether the managed instance group has stateful
14193
14291
  # configuration, that is, if you have configured any items in a stateful policy
14194
14292
  # or in per-instance configs. The group might report that it has no stateful
14195
- # config even when there is still some preserved state on a managed instance,
14196
- # for example, if you have deleted all PICs but not yet applied those deletions.
14197
- # This field is deprecated in favor of has_stateful_config.
14293
+ # configuration even when there is still some preserved state on a managed
14294
+ # instance, for example, if you have deleted all PICs but not yet applied those
14295
+ # deletions. This field is deprecated in favor of has_stateful_config.
14198
14296
  # Corresponds to the JSON property `isStateful`
14199
14297
  # @return [Boolean]
14200
14298
  attr_accessor :is_stateful
14201
14299
  alias_method :is_stateful?, :is_stateful
14202
14300
 
14203
- # [Output Only] Status of per-instance configs on the instance.
14301
+ # [Output Only] Status of per-instance configurations on the instance.
14204
14302
  # Corresponds to the JSON property `perInstanceConfigs`
14205
14303
  # @return [Google::Apis::ComputeBeta::InstanceGroupManagerStatusStatefulPerInstanceConfigs]
14206
14304
  attr_accessor :per_instance_configs
@@ -14221,9 +14319,9 @@ module Google
14221
14319
  class InstanceGroupManagerStatusStatefulPerInstanceConfigs
14222
14320
  include Google::Apis::Core::Hashable
14223
14321
 
14224
- # A bit indicating if all of the group's per-instance configs (listed in the
14225
- # output of a listPerInstanceConfigs API call) have status EFFECTIVE or there
14226
- # are no per-instance-configs.
14322
+ # A bit indicating if all of the group's per-instance configurations (listed in
14323
+ # the output of a listPerInstanceConfigs API call) have status EFFECTIVE or
14324
+ # there are no per-instance-configs.
14227
14325
  # Corresponds to the JSON property `allEffective`
14228
14326
  # @return [Boolean]
14229
14327
  attr_accessor :all_effective
@@ -14290,12 +14388,16 @@ module Google
14290
14388
  # @return [Fixnum]
14291
14389
  attr_accessor :min_ready_sec
14292
14390
 
14293
- # Minimal action to be taken on an instance. You can specify either RESTART to
14294
- # restart existing instances or REPLACE to delete and create new instances from
14295
- # the target template. If you specify a RESTART, the Updater will attempt to
14296
- # perform that action only. However, if the Updater determines that the minimal
14297
- # action you specify is not enough to perform the update, it might perform a
14298
- # more disruptive action.
14391
+ # Minimal action to be taken on an instance. Use this option to minimize
14392
+ # disruption as much as possible or to apply a more disruptive action than is
14393
+ # necessary. - To limit disruption as much as possible, set the minimal action
14394
+ # to REFRESH. If your update requires a more disruptive action, Compute Engine
14395
+ # performs the necessary action to execute the update. - To apply a more
14396
+ # disruptive action than is strictly necessary, set the minimal action to
14397
+ # RESTART or REPLACE. For example, Compute Engine does not need to restart a VM
14398
+ # to change its metadata. But if your application reads instance metadata only
14399
+ # when a VM is restarted, you can set the minimal action to RESTART in order to
14400
+ # pick up metadata changes.
14299
14401
  # Corresponds to the JSON property `minimalAction`
14300
14402
  # @return [String]
14301
14403
  attr_accessor :minimal_action
@@ -14684,8 +14786,8 @@ module Google
14684
14786
  class InstanceGroupManagersPatchPerInstanceConfigsReq
14685
14787
  include Google::Apis::Core::Hashable
14686
14788
 
14687
- # The list of per-instance configs to insert or patch on this managed instance
14688
- # group.
14789
+ # The list of per-instance configurations to insert or patch on this managed
14790
+ # instance group.
14689
14791
  # Corresponds to the JSON property `perInstanceConfigs`
14690
14792
  # @return [Array<Google::Apis::ComputeBeta::PerInstanceConfig>]
14691
14793
  attr_accessor :per_instance_configs
@@ -14932,8 +15034,8 @@ module Google
14932
15034
  class InstanceGroupManagersUpdatePerInstanceConfigsReq
14933
15035
  include Google::Apis::Core::Hashable
14934
15036
 
14935
- # The list of per-instance configs to insert or patch on this managed instance
14936
- # group.
15037
+ # The list of per-instance configurations to insert or patch on this managed
15038
+ # instance group.
14937
15039
  # Corresponds to the JSON property `perInstanceConfigs`
14938
15040
  # @return [Array<Google::Apis::ComputeBeta::PerInstanceConfig>]
14939
15041
  attr_accessor :per_instance_configs
@@ -15685,6 +15787,12 @@ module Google
15685
15787
  # @return [Array<Google::Apis::ComputeBeta::AcceleratorConfig>]
15686
15788
  attr_accessor :guest_accelerators
15687
15789
 
15790
+ # KeyRevocationActionType of the instance. Supported options are "STOP" and "
15791
+ # NONE". The default value is "NONE" if it is not specified.
15792
+ # Corresponds to the JSON property `keyRevocationActionType`
15793
+ # @return [String]
15794
+ attr_accessor :key_revocation_action_type
15795
+
15688
15796
  # Labels to apply to instances that are created from these properties.
15689
15797
  # Corresponds to the JSON property `labels`
15690
15798
  # @return [Hash<String,String>]
@@ -15791,6 +15899,7 @@ module Google
15791
15899
  @disks = args[:disks] if args.key?(:disks)
15792
15900
  @display_device = args[:display_device] if args.key?(:display_device)
15793
15901
  @guest_accelerators = args[:guest_accelerators] if args.key?(:guest_accelerators)
15902
+ @key_revocation_action_type = args[:key_revocation_action_type] if args.key?(:key_revocation_action_type)
15794
15903
  @labels = args[:labels] if args.key?(:labels)
15795
15904
  @machine_type = args[:machine_type] if args.key?(:machine_type)
15796
15905
  @metadata = args[:metadata] if args.key?(:metadata)
@@ -15810,6 +15919,32 @@ module Google
15810
15919
  end
15811
15920
  end
15812
15921
 
15922
+ # Represents the change that you want to make to the instance properties.
15923
+ class InstancePropertiesPatch
15924
+ include Google::Apis::Core::Hashable
15925
+
15926
+ # The label key-value pairs that you want to patch onto the instance.
15927
+ # Corresponds to the JSON property `labels`
15928
+ # @return [Hash<String,String>]
15929
+ attr_accessor :labels
15930
+
15931
+ # The metadata key-value pairs that you want to patch onto the instance. For
15932
+ # more information, see Project and instance metadata.
15933
+ # Corresponds to the JSON property `metadata`
15934
+ # @return [Hash<String,String>]
15935
+ attr_accessor :metadata
15936
+
15937
+ def initialize(**args)
15938
+ update!(**args)
15939
+ end
15940
+
15941
+ # Update properties of this object
15942
+ def update!(**args)
15943
+ @labels = args[:labels] if args.key?(:labels)
15944
+ @metadata = args[:metadata] if args.key?(:metadata)
15945
+ end
15946
+ end
15947
+
15813
15948
  #
15814
15949
  class InstanceReference
15815
15950
  include Google::Apis::Core::Hashable
@@ -18594,6 +18729,11 @@ module Google
18594
18729
  class LocationPolicyLocation
18595
18730
  include Google::Apis::Core::Hashable
18596
18731
 
18732
+ # Per-zone constraints on location policy for this zone.
18733
+ # Corresponds to the JSON property `constraints`
18734
+ # @return [Google::Apis::ComputeBeta::LocationPolicyLocationConstraints]
18735
+ attr_accessor :constraints
18736
+
18597
18737
  # Preference for a given location.
18598
18738
  # Corresponds to the JSON property `preference`
18599
18739
  # @return [String]
@@ -18605,10 +18745,31 @@ module Google
18605
18745
 
18606
18746
  # Update properties of this object
18607
18747
  def update!(**args)
18748
+ @constraints = args[:constraints] if args.key?(:constraints)
18608
18749
  @preference = args[:preference] if args.key?(:preference)
18609
18750
  end
18610
18751
  end
18611
18752
 
18753
+ # Per-zone constraints on location policy for this zone.
18754
+ class LocationPolicyLocationConstraints
18755
+ include Google::Apis::Core::Hashable
18756
+
18757
+ # Maximum number of items that are allowed to be placed in this zone. The value
18758
+ # must be non-negative.
18759
+ # Corresponds to the JSON property `maxCount`
18760
+ # @return [Fixnum]
18761
+ attr_accessor :max_count
18762
+
18763
+ def initialize(**args)
18764
+ update!(**args)
18765
+ end
18766
+
18767
+ # Update properties of this object
18768
+ def update!(**args)
18769
+ @max_count = args[:max_count] if args.key?(:max_count)
18770
+ end
18771
+ end
18772
+
18612
18773
  # This is deprecated and has no effect. Do not use.
18613
18774
  class LogConfig
18614
18775
  include Google::Apis::Core::Hashable
@@ -19473,6 +19634,12 @@ module Google
19473
19634
  class ManagedInstance
19474
19635
  include Google::Apis::Core::Hashable
19475
19636
 
19637
+ # [Output Only] Current all-instances configuration revision applied to this
19638
+ # instance.
19639
+ # Corresponds to the JSON property `allInstancesConfig`
19640
+ # @return [Google::Apis::ComputeBeta::ManagedInstanceAllInstancesConfig]
19641
+ attr_accessor :all_instances_config
19642
+
19476
19643
  # [Output Only] The current action that the managed instance group has scheduled
19477
19644
  # for the instance. Possible values: - NONE The instance is running, and the
19478
19645
  # managed instance group does not have any scheduled actions for this instance. -
@@ -19545,6 +19712,7 @@ module Google
19545
19712
 
19546
19713
  # Update properties of this object
19547
19714
  def update!(**args)
19715
+ @all_instances_config = args[:all_instances_config] if args.key?(:all_instances_config)
19548
19716
  @current_action = args[:current_action] if args.key?(:current_action)
19549
19717
  @id = args[:id] if args.key?(:id)
19550
19718
  @instance = args[:instance] if args.key?(:instance)
@@ -19557,6 +19725,26 @@ module Google
19557
19725
  end
19558
19726
  end
19559
19727
 
19728
+ #
19729
+ class ManagedInstanceAllInstancesConfig
19730
+ include Google::Apis::Core::Hashable
19731
+
19732
+ # [Output Only] Current all-instances configuration revision. This value is in
19733
+ # RFC3339 text format.
19734
+ # Corresponds to the JSON property `revision`
19735
+ # @return [String]
19736
+ attr_accessor :revision
19737
+
19738
+ def initialize(**args)
19739
+ update!(**args)
19740
+ end
19741
+
19742
+ # Update properties of this object
19743
+ def update!(**args)
19744
+ @revision = args[:revision] if args.key?(:revision)
19745
+ end
19746
+ end
19747
+
19560
19748
  #
19561
19749
  class ManagedInstanceInstanceHealth
19562
19750
  include Google::Apis::Core::Hashable
@@ -20452,7 +20640,8 @@ module Google
20452
20640
  attr_accessor :network_endpoint_type
20453
20641
 
20454
20642
  # The target service url used to set up private service connection to a Google
20455
- # API. An example value is: "asia-northeast3-cloudkms.googleapis.com"
20643
+ # API or a PSC Producer Service Attachment. An example value is: "asia-
20644
+ # northeast3-cloudkms.googleapis.com"
20456
20645
  # Corresponds to the JSON property `pscTargetService`
20457
20646
  # @return [String]
20458
20647
  attr_accessor :psc_target_service
@@ -21625,6 +21814,12 @@ module Google
21625
21814
  # @return [Fixnum]
21626
21815
  attr_accessor :peer_mtu
21627
21816
 
21817
+ # Which IP version(s) of traffic and routes are allowed to be imported or
21818
+ # exported between peer networks. The default value is IPV4_ONLY.
21819
+ # Corresponds to the JSON property `stackType`
21820
+ # @return [String]
21821
+ attr_accessor :stack_type
21822
+
21628
21823
  # [Output Only] State for the peering, either `ACTIVE` or `INACTIVE`. The
21629
21824
  # peering is `ACTIVE` when there's a matching configuration in the peer network.
21630
21825
  # Corresponds to the JSON property `state`
@@ -21651,6 +21846,7 @@ module Google
21651
21846
  @name = args[:name] if args.key?(:name)
21652
21847
  @network = args[:network] if args.key?(:network)
21653
21848
  @peer_mtu = args[:peer_mtu] if args.key?(:peer_mtu)
21849
+ @stack_type = args[:stack_type] if args.key?(:stack_type)
21654
21850
  @state = args[:state] if args.key?(:state)
21655
21851
  @state_details = args[:state_details] if args.key?(:state_details)
21656
21852
  end
@@ -25450,18 +25646,18 @@ module Google
25450
25646
  # Fingerprint of this per-instance config. This field can be used in optimistic
25451
25647
  # locking. It is ignored when inserting a per-instance config. An up-to-date
25452
25648
  # fingerprint must be provided in order to update an existing per-instance
25453
- # config or the field needs to be unset.
25649
+ # configuration or the field needs to be unset.
25454
25650
  # Corresponds to the JSON property `fingerprint`
25455
25651
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
25456
25652
  # @return [String]
25457
25653
  attr_accessor :fingerprint
25458
25654
 
25459
- # The name of a per-instance config and its corresponding instance. Serves as a
25460
- # merge key during UpdatePerInstanceConfigs operations, that is, if a per-
25461
- # instance config with the same name exists then it will be updated, otherwise a
25462
- # new one will be created for the VM instance with the same name. An attempt to
25463
- # create a per-instance config for a VM instance that either doesn't exist or is
25464
- # not part of the group will result in an error.
25655
+ # The name of a per-instance configuration and its corresponding instance.
25656
+ # Serves as a merge key during UpdatePerInstanceConfigs operations, that is, if
25657
+ # a per-instance configuration with the same name exists then it will be updated,
25658
+ # otherwise a new one will be created for the VM instance with the same name.
25659
+ # An attempt to create a per-instance configconfiguration for a VM instance that
25660
+ # either doesn't exist or is not part of the group will result in an error.
25465
25661
  # Corresponds to the JSON property `name`
25466
25662
  # @return [String]
25467
25663
  attr_accessor :name
@@ -25471,8 +25667,8 @@ module Google
25471
25667
  # @return [Google::Apis::ComputeBeta::PreservedState]
25472
25668
  attr_accessor :preserved_state
25473
25669
 
25474
- # The status of applying this per-instance config on the corresponding managed
25475
- # instance.
25670
+ # The status of applying this per-instance configuration on the corresponding
25671
+ # managed instance.
25476
25672
  # Corresponds to the JSON property `status`
25477
25673
  # @return [String]
25478
25674
  attr_accessor :status
@@ -27475,8 +27671,8 @@ module Google
27475
27671
  class RegionInstanceGroupManagerPatchInstanceConfigReq
27476
27672
  include Google::Apis::Core::Hashable
27477
27673
 
27478
- # The list of per-instance configs to insert or patch on this managed instance
27479
- # group.
27674
+ # The list of per-instance configurations to insert or patch on this managed
27675
+ # instance group.
27480
27676
  # Corresponds to the JSON property `perInstanceConfigs`
27481
27677
  # @return [Array<Google::Apis::ComputeBeta::PerInstanceConfig>]
27482
27678
  attr_accessor :per_instance_configs
@@ -27495,8 +27691,8 @@ module Google
27495
27691
  class RegionInstanceGroupManagerUpdateInstanceConfigReq
27496
27692
  include Google::Apis::Core::Hashable
27497
27693
 
27498
- # The list of per-instance configs to insert or patch on this managed instance
27499
- # group.
27694
+ # The list of per-instance configurations to insert or patch on this managed
27695
+ # instance group.
27500
27696
  # Corresponds to the JSON property `perInstanceConfigs`
27501
27697
  # @return [Array<Google::Apis::ComputeBeta::PerInstanceConfig>]
27502
27698
  attr_accessor :per_instance_configs
@@ -29360,9 +29556,9 @@ module Google
29360
29556
  class ResourcePolicyGroupPlacementPolicy
29361
29557
  include Google::Apis::Core::Hashable
29362
29558
 
29363
- # The number of availability domains instances will be spread across. If two
29364
- # instances are in different availability domain, they will not be put in the
29365
- # same low latency network
29559
+ # The number of availability domains to spread instances across. If two
29560
+ # instances are in different availability domain, they are not in the same low
29561
+ # latency network.
29366
29562
  # Corresponds to the JSON property `availabilityDomainCount`
29367
29563
  # @return [Fixnum]
29368
29564
  attr_accessor :availability_domain_count
@@ -29372,7 +29568,9 @@ module Google
29372
29568
  # @return [String]
29373
29569
  attr_accessor :collocation
29374
29570
 
29375
- # Number of vms in this placement group
29571
+ # Number of VMs in this placement group. Google does not recommend that you use
29572
+ # this field unless you use a compact policy and you want your policy to work
29573
+ # only if it contains this exact number of VMs.
29376
29574
  # Corresponds to the JSON property `vmCount`
29377
29575
  # @return [Fixnum]
29378
29576
  attr_accessor :vm_count
@@ -30317,6 +30515,11 @@ module Google
30317
30515
  # @return [String]
30318
30516
  attr_accessor :kind
30319
30517
 
30518
+ # Keys used for MD5 authentication.
30519
+ # Corresponds to the JSON property `md5AuthenticationKeys`
30520
+ # @return [Array<Google::Apis::ComputeBeta::RouterMd5AuthenticationKey>]
30521
+ attr_accessor :md5_authentication_keys
30522
+
30320
30523
  # Name of the resource. Provided by the client when the resource is created. The
30321
30524
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
30322
30525
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
@@ -30363,6 +30566,7 @@ module Google
30363
30566
  @id = args[:id] if args.key?(:id)
30364
30567
  @interfaces = args[:interfaces] if args.key?(:interfaces)
30365
30568
  @kind = args[:kind] if args.key?(:kind)
30569
+ @md5_authentication_keys = args[:md5_authentication_keys] if args.key?(:md5_authentication_keys)
30366
30570
  @name = args[:name] if args.key?(:name)
30367
30571
  @nats = args[:nats] if args.key?(:nats)
30368
30572
  @network = args[:network] if args.key?(:network)
@@ -30658,6 +30862,13 @@ module Google
30658
30862
  # @return [String]
30659
30863
  attr_accessor :management_type
30660
30864
 
30865
+ # Present if MD5 authentication is enabled for the peering. Must be the name of
30866
+ # one of the entries in the Router.md5_authentication_keys. The field must
30867
+ # comply with RFC1035.
30868
+ # Corresponds to the JSON property `md5AuthenticationKeyName`
30869
+ # @return [String]
30870
+ attr_accessor :md5_authentication_key_name
30871
+
30661
30872
  # Name of this BGP peer. The name must be 1-63 characters long, and comply with
30662
30873
  # RFC1035. Specifically, the name must be 1-63 characters long and match the
30663
30874
  # regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first
@@ -30710,6 +30921,7 @@ module Google
30710
30921
  @ip_address = args[:ip_address] if args.key?(:ip_address)
30711
30922
  @ipv6_nexthop_address = args[:ipv6_nexthop_address] if args.key?(:ipv6_nexthop_address)
30712
30923
  @management_type = args[:management_type] if args.key?(:management_type)
30924
+ @md5_authentication_key_name = args[:md5_authentication_key_name] if args.key?(:md5_authentication_key_name)
30713
30925
  @name = args[:name] if args.key?(:name)
30714
30926
  @peer_asn = args[:peer_asn] if args.key?(:peer_asn)
30715
30927
  @peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address)
@@ -30978,6 +31190,35 @@ module Google
30978
31190
  end
30979
31191
  end
30980
31192
 
31193
+ #
31194
+ class RouterMd5AuthenticationKey
31195
+ include Google::Apis::Core::Hashable
31196
+
31197
+ # [Input only] Value of the key. For patch and update calls, it can be skipped
31198
+ # to copy the value from the previous configuration. This is allowed if the key
31199
+ # with the same name existed before the operation. Maximum length is 80
31200
+ # characters. Can only contain printable ASCII characters.
31201
+ # Corresponds to the JSON property `key`
31202
+ # @return [String]
31203
+ attr_accessor :key
31204
+
31205
+ # Name used to identify the key. Must be unique within a router. Must be
31206
+ # referenced by at least one bgpPeer. Must comply with RFC1035.
31207
+ # Corresponds to the JSON property `name`
31208
+ # @return [String]
31209
+ attr_accessor :name
31210
+
31211
+ def initialize(**args)
31212
+ update!(**args)
31213
+ end
31214
+
31215
+ # Update properties of this object
31216
+ def update!(**args)
31217
+ @key = args[:key] if args.key?(:key)
31218
+ @name = args[:name] if args.key?(:name)
31219
+ end
31220
+ end
31221
+
30981
31222
  # Represents a Nat resource. It enables the VMs within the specified subnetworks
30982
31223
  # to access Internet without external IP addresses. It specifies a list of
30983
31224
  # subnetworks (and the ranges within) that want to use NAT. Customers can also
@@ -31010,6 +31251,12 @@ module Google
31010
31251
  attr_accessor :enable_endpoint_independent_mapping
31011
31252
  alias_method :enable_endpoint_independent_mapping?, :enable_endpoint_independent_mapping
31012
31253
 
31254
+ # List of NAT-ted endpoint types supported by the Nat Gateway. If the list is
31255
+ # empty, then it will be equivalent to include ENDPOINT_TYPE_VM
31256
+ # Corresponds to the JSON property `endpointTypes`
31257
+ # @return [Array<String>]
31258
+ attr_accessor :endpoint_types
31259
+
31013
31260
  # Timeout (in seconds) for ICMP connections. Defaults to 30s if not set.
31014
31261
  # Corresponds to the JSON property `icmpIdleTimeoutSec`
31015
31262
  # @return [Fixnum]
@@ -31117,6 +31364,7 @@ module Google
31117
31364
  @drain_nat_ips = args[:drain_nat_ips] if args.key?(:drain_nat_ips)
31118
31365
  @enable_dynamic_port_allocation = args[:enable_dynamic_port_allocation] if args.key?(:enable_dynamic_port_allocation)
31119
31366
  @enable_endpoint_independent_mapping = args[:enable_endpoint_independent_mapping] if args.key?(:enable_endpoint_independent_mapping)
31367
+ @endpoint_types = args[:endpoint_types] if args.key?(:endpoint_types)
31120
31368
  @icmp_idle_timeout_sec = args[:icmp_idle_timeout_sec] if args.key?(:icmp_idle_timeout_sec)
31121
31369
  @log_config = args[:log_config] if args.key?(:log_config)
31122
31370
  @max_ports_per_vm = args[:max_ports_per_vm] if args.key?(:max_ports_per_vm)
@@ -31342,6 +31590,12 @@ module Google
31342
31590
  # @return [String]
31343
31591
  attr_accessor :linked_vpn_tunnel
31344
31592
 
31593
+ # Informs whether MD5 authentication is enabled on this BGP peer.
31594
+ # Corresponds to the JSON property `md5AuthEnabled`
31595
+ # @return [Boolean]
31596
+ attr_accessor :md5_auth_enabled
31597
+ alias_method :md5_auth_enabled?, :md5_auth_enabled
31598
+
31345
31599
  # Name of this BGP peer. Unique within the Routers resource.
31346
31600
  # Corresponds to the JSON property `name`
31347
31601
  # @return [String]
@@ -31375,6 +31629,11 @@ module Google
31375
31629
  # @return [String]
31376
31630
  attr_accessor :status
31377
31631
 
31632
+ # Indicates why particular status was returned.
31633
+ # Corresponds to the JSON property `statusReason`
31634
+ # @return [String]
31635
+ attr_accessor :status_reason
31636
+
31378
31637
  # Time this session has been up. Format: 14 years, 51 weeks, 6 days, 23 hours,
31379
31638
  # 59 minutes, 59 seconds
31380
31639
  # Corresponds to the JSON property `uptime`
@@ -31396,12 +31655,14 @@ module Google
31396
31655
  @bfd_status = args[:bfd_status] if args.key?(:bfd_status)
31397
31656
  @ip_address = args[:ip_address] if args.key?(:ip_address)
31398
31657
  @linked_vpn_tunnel = args[:linked_vpn_tunnel] if args.key?(:linked_vpn_tunnel)
31658
+ @md5_auth_enabled = args[:md5_auth_enabled] if args.key?(:md5_auth_enabled)
31399
31659
  @name = args[:name] if args.key?(:name)
31400
31660
  @num_learned_routes = args[:num_learned_routes] if args.key?(:num_learned_routes)
31401
31661
  @peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address)
31402
31662
  @router_appliance_instance = args[:router_appliance_instance] if args.key?(:router_appliance_instance)
31403
31663
  @state = args[:state] if args.key?(:state)
31404
31664
  @status = args[:status] if args.key?(:status)
31665
+ @status_reason = args[:status_reason] if args.key?(:status_reason)
31405
31666
  @uptime = args[:uptime] if args.key?(:uptime)
31406
31667
  @uptime_seconds = args[:uptime_seconds] if args.key?(:uptime_seconds)
31407
31668
  end
@@ -34717,6 +34978,12 @@ module Google
34717
34978
  # @return [Array<Google::Apis::ComputeBeta::AcceleratorConfig>]
34718
34979
  attr_accessor :guest_accelerators
34719
34980
 
34981
+ # KeyRevocationActionType of the instance. Supported options are "STOP" and "
34982
+ # NONE". The default value is "NONE" if it is not specified.
34983
+ # Corresponds to the JSON property `keyRevocationActionType`
34984
+ # @return [String]
34985
+ attr_accessor :key_revocation_action_type
34986
+
34720
34987
  # Labels to apply to instances that are created from this machine image.
34721
34988
  # Corresponds to the JSON property `labels`
34722
34989
  # @return [Hash<String,String>]
@@ -34780,6 +35047,7 @@ module Google
34780
35047
  @description = args[:description] if args.key?(:description)
34781
35048
  @disks = args[:disks] if args.key?(:disks)
34782
35049
  @guest_accelerators = args[:guest_accelerators] if args.key?(:guest_accelerators)
35050
+ @key_revocation_action_type = args[:key_revocation_action_type] if args.key?(:key_revocation_action_type)
34783
35051
  @labels = args[:labels] if args.key?(:labels)
34784
35052
  @machine_type = args[:machine_type] if args.key?(:machine_type)
34785
35053
  @metadata = args[:metadata] if args.key?(:metadata)
@@ -35309,6 +35577,136 @@ module Google
35309
35577
  end
35310
35578
  end
35311
35579
 
35580
+ #
35581
+ class SslPoliciesAggregatedList
35582
+ include Google::Apis::Core::Hashable
35583
+
35584
+ #
35585
+ # Corresponds to the JSON property `etag`
35586
+ # @return [String]
35587
+ attr_accessor :etag
35588
+
35589
+ # [Output Only] Unique identifier for the resource; defined by the server.
35590
+ # Corresponds to the JSON property `id`
35591
+ # @return [String]
35592
+ attr_accessor :id
35593
+
35594
+ # A list of SslPoliciesScopedList resources.
35595
+ # Corresponds to the JSON property `items`
35596
+ # @return [Hash<String,Google::Apis::ComputeBeta::SslPoliciesScopedList>]
35597
+ attr_accessor :items
35598
+
35599
+ # [Output Only] Type of resource. Always compute#sslPolicyAggregatedList for
35600
+ # lists of SSL Policies.
35601
+ # Corresponds to the JSON property `kind`
35602
+ # @return [String]
35603
+ attr_accessor :kind
35604
+
35605
+ # [Output Only] This token allows you to get the next page of results for list
35606
+ # requests. If the number of results is larger than maxResults, use the
35607
+ # nextPageToken as a value for the query parameter pageToken in the next list
35608
+ # request. Subsequent list requests will have their own nextPageToken to
35609
+ # continue paging through the results.
35610
+ # Corresponds to the JSON property `nextPageToken`
35611
+ # @return [String]
35612
+ attr_accessor :next_page_token
35613
+
35614
+ # [Output Only] Server-defined URL for this resource.
35615
+ # Corresponds to the JSON property `selfLink`
35616
+ # @return [String]
35617
+ attr_accessor :self_link
35618
+
35619
+ # [Output Only] Unreachable resources.
35620
+ # Corresponds to the JSON property `unreachables`
35621
+ # @return [Array<String>]
35622
+ attr_accessor :unreachables
35623
+
35624
+ # [Output Only] Informational warning message.
35625
+ # Corresponds to the JSON property `warning`
35626
+ # @return [Google::Apis::ComputeBeta::SslPoliciesAggregatedList::Warning]
35627
+ attr_accessor :warning
35628
+
35629
+ def initialize(**args)
35630
+ update!(**args)
35631
+ end
35632
+
35633
+ # Update properties of this object
35634
+ def update!(**args)
35635
+ @etag = args[:etag] if args.key?(:etag)
35636
+ @id = args[:id] if args.key?(:id)
35637
+ @items = args[:items] if args.key?(:items)
35638
+ @kind = args[:kind] if args.key?(:kind)
35639
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
35640
+ @self_link = args[:self_link] if args.key?(:self_link)
35641
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
35642
+ @warning = args[:warning] if args.key?(:warning)
35643
+ end
35644
+
35645
+ # [Output Only] Informational warning message.
35646
+ class Warning
35647
+ include Google::Apis::Core::Hashable
35648
+
35649
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
35650
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
35651
+ # Corresponds to the JSON property `code`
35652
+ # @return [String]
35653
+ attr_accessor :code
35654
+
35655
+ # [Output Only] Metadata about this warning in key: value format. For example: "
35656
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
35657
+ # Corresponds to the JSON property `data`
35658
+ # @return [Array<Google::Apis::ComputeBeta::SslPoliciesAggregatedList::Warning::Datum>]
35659
+ attr_accessor :data
35660
+
35661
+ # [Output Only] A human-readable description of the warning code.
35662
+ # Corresponds to the JSON property `message`
35663
+ # @return [String]
35664
+ attr_accessor :message
35665
+
35666
+ def initialize(**args)
35667
+ update!(**args)
35668
+ end
35669
+
35670
+ # Update properties of this object
35671
+ def update!(**args)
35672
+ @code = args[:code] if args.key?(:code)
35673
+ @data = args[:data] if args.key?(:data)
35674
+ @message = args[:message] if args.key?(:message)
35675
+ end
35676
+
35677
+ #
35678
+ class Datum
35679
+ include Google::Apis::Core::Hashable
35680
+
35681
+ # [Output Only] A key that provides more detail on the warning being returned.
35682
+ # For example, for warnings where there are no results in a list request for a
35683
+ # particular zone, this key might be scope and the key value might be the zone
35684
+ # name. Other examples might be a key indicating a deprecated resource and a
35685
+ # suggested replacement, or a warning about invalid network settings (for
35686
+ # example, if an instance attempts to perform IP forwarding but is not enabled
35687
+ # for IP forwarding).
35688
+ # Corresponds to the JSON property `key`
35689
+ # @return [String]
35690
+ attr_accessor :key
35691
+
35692
+ # [Output Only] A warning data value corresponding to the key.
35693
+ # Corresponds to the JSON property `value`
35694
+ # @return [String]
35695
+ attr_accessor :value
35696
+
35697
+ def initialize(**args)
35698
+ update!(**args)
35699
+ end
35700
+
35701
+ # Update properties of this object
35702
+ def update!(**args)
35703
+ @key = args[:key] if args.key?(:key)
35704
+ @value = args[:value] if args.key?(:value)
35705
+ end
35706
+ end
35707
+ end
35708
+ end
35709
+
35312
35710
  #
35313
35711
  class SslPoliciesList
35314
35712
  include Google::Apis::Core::Hashable
@@ -35446,6 +35844,97 @@ module Google
35446
35844
  end
35447
35845
  end
35448
35846
 
35847
+ #
35848
+ class SslPoliciesScopedList
35849
+ include Google::Apis::Core::Hashable
35850
+
35851
+ # A list of SslPolicies contained in this scope.
35852
+ # Corresponds to the JSON property `sslPolicies`
35853
+ # @return [Array<Google::Apis::ComputeBeta::SslPolicy>]
35854
+ attr_accessor :ssl_policies
35855
+
35856
+ # Informational warning which replaces the list of SSL policies when the list is
35857
+ # empty.
35858
+ # Corresponds to the JSON property `warning`
35859
+ # @return [Google::Apis::ComputeBeta::SslPoliciesScopedList::Warning]
35860
+ attr_accessor :warning
35861
+
35862
+ def initialize(**args)
35863
+ update!(**args)
35864
+ end
35865
+
35866
+ # Update properties of this object
35867
+ def update!(**args)
35868
+ @ssl_policies = args[:ssl_policies] if args.key?(:ssl_policies)
35869
+ @warning = args[:warning] if args.key?(:warning)
35870
+ end
35871
+
35872
+ # Informational warning which replaces the list of SSL policies when the list is
35873
+ # empty.
35874
+ class Warning
35875
+ include Google::Apis::Core::Hashable
35876
+
35877
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
35878
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
35879
+ # Corresponds to the JSON property `code`
35880
+ # @return [String]
35881
+ attr_accessor :code
35882
+
35883
+ # [Output Only] Metadata about this warning in key: value format. For example: "
35884
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
35885
+ # Corresponds to the JSON property `data`
35886
+ # @return [Array<Google::Apis::ComputeBeta::SslPoliciesScopedList::Warning::Datum>]
35887
+ attr_accessor :data
35888
+
35889
+ # [Output Only] A human-readable description of the warning code.
35890
+ # Corresponds to the JSON property `message`
35891
+ # @return [String]
35892
+ attr_accessor :message
35893
+
35894
+ def initialize(**args)
35895
+ update!(**args)
35896
+ end
35897
+
35898
+ # Update properties of this object
35899
+ def update!(**args)
35900
+ @code = args[:code] if args.key?(:code)
35901
+ @data = args[:data] if args.key?(:data)
35902
+ @message = args[:message] if args.key?(:message)
35903
+ end
35904
+
35905
+ #
35906
+ class Datum
35907
+ include Google::Apis::Core::Hashable
35908
+
35909
+ # [Output Only] A key that provides more detail on the warning being returned.
35910
+ # For example, for warnings where there are no results in a list request for a
35911
+ # particular zone, this key might be scope and the key value might be the zone
35912
+ # name. Other examples might be a key indicating a deprecated resource and a
35913
+ # suggested replacement, or a warning about invalid network settings (for
35914
+ # example, if an instance attempts to perform IP forwarding but is not enabled
35915
+ # for IP forwarding).
35916
+ # Corresponds to the JSON property `key`
35917
+ # @return [String]
35918
+ attr_accessor :key
35919
+
35920
+ # [Output Only] A warning data value corresponding to the key.
35921
+ # Corresponds to the JSON property `value`
35922
+ # @return [String]
35923
+ attr_accessor :value
35924
+
35925
+ def initialize(**args)
35926
+ update!(**args)
35927
+ end
35928
+
35929
+ # Update properties of this object
35930
+ def update!(**args)
35931
+ @key = args[:key] if args.key?(:key)
35932
+ @value = args[:value] if args.key?(:value)
35933
+ end
35934
+ end
35935
+ end
35936
+ end
35937
+
35449
35938
  # Represents an SSL Policy resource. Use SSL policies to control the SSL
35450
35939
  # features, such as versions and cipher suites, offered by an HTTPS or SSL Proxy
35451
35940
  # load balancer. For more information, read SSL Policy Concepts.
@@ -35522,6 +36011,12 @@ module Google
35522
36011
  # @return [String]
35523
36012
  attr_accessor :profile
35524
36013
 
36014
+ # [Output Only] URL of the region where the regional SSL policy resides. This
36015
+ # field is not applicable to global SSL policies.
36016
+ # Corresponds to the JSON property `region`
36017
+ # @return [String]
36018
+ attr_accessor :region
36019
+
35525
36020
  # [Output Only] Server-defined URL for the resource.
35526
36021
  # Corresponds to the JSON property `selfLink`
35527
36022
  # @return [String]
@@ -35549,6 +36044,7 @@ module Google
35549
36044
  @min_tls_version = args[:min_tls_version] if args.key?(:min_tls_version)
35550
36045
  @name = args[:name] if args.key?(:name)
35551
36046
  @profile = args[:profile] if args.key?(:profile)
36047
+ @region = args[:region] if args.key?(:region)
35552
36048
  @self_link = args[:self_link] if args.key?(:self_link)
35553
36049
  @warnings = args[:warnings] if args.key?(:warnings)
35554
36050
  end
@@ -39235,6 +39731,12 @@ module Google
39235
39731
  # @return [String]
39236
39732
  attr_accessor :proxy_header
39237
39733
 
39734
+ # [Output Only] URL of the region where the regional TCP proxy resides. This
39735
+ # field is not applicable to global TCP proxy.
39736
+ # Corresponds to the JSON property `region`
39737
+ # @return [String]
39738
+ attr_accessor :region
39739
+
39238
39740
  # [Output Only] Server-defined URL for the resource.
39239
39741
  # Corresponds to the JSON property `selfLink`
39240
39742
  # @return [String]
@@ -39258,6 +39760,7 @@ module Google
39258
39760
  @name = args[:name] if args.key?(:name)
39259
39761
  @proxy_bind = args[:proxy_bind] if args.key?(:proxy_bind)
39260
39762
  @proxy_header = args[:proxy_header] if args.key?(:proxy_header)
39763
+ @region = args[:region] if args.key?(:region)
39261
39764
  @self_link = args[:self_link] if args.key?(:self_link)
39262
39765
  @service = args[:service] if args.key?(:service)
39263
39766
  end