google-apis-compute_beta 0.106.0 → 0.107.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1157,6 +1157,13 @@ module Google
1157
1157
  # @return [Fixnum]
1158
1158
  attr_accessor :threads_per_core
1159
1159
 
1160
+ # Turbo frequency mode to use for the instance. Supported modes include: *
1161
+ # ALL_CORE_MAX Using empty string or not setting this field will use the
1162
+ # platform-specific default turbo mode.
1163
+ # Corresponds to the JSON property `turboMode`
1164
+ # @return [String]
1165
+ attr_accessor :turbo_mode
1166
+
1160
1167
  # The number of physical cores to expose to an instance. Multiply by the number
1161
1168
  # of threads per core to compute the total number of virtual CPUs to expose to
1162
1169
  # the instance. If unset, the number of cores is inferred from the instance's
@@ -1175,6 +1182,7 @@ module Google
1175
1182
  @enable_uefi_networking = args[:enable_uefi_networking] if args.key?(:enable_uefi_networking)
1176
1183
  @performance_monitoring_unit = args[:performance_monitoring_unit] if args.key?(:performance_monitoring_unit)
1177
1184
  @threads_per_core = args[:threads_per_core] if args.key?(:threads_per_core)
1185
+ @turbo_mode = args[:turbo_mode] if args.key?(:turbo_mode)
1178
1186
  @visible_core_count = args[:visible_core_count] if args.key?(:visible_core_count)
1179
1187
  end
1180
1188
  end
@@ -1294,10 +1302,39 @@ module Google
1294
1302
  end
1295
1303
  end
1296
1304
 
1305
+ #
1306
+ class AllocationReservationSharingPolicy
1307
+ include Google::Apis::Core::Hashable
1308
+
1309
+ # Sharing config for all Google Cloud services.
1310
+ # Corresponds to the JSON property `serviceShareType`
1311
+ # @return [String]
1312
+ attr_accessor :service_share_type
1313
+
1314
+ def initialize(**args)
1315
+ update!(**args)
1316
+ end
1317
+
1318
+ # Update properties of this object
1319
+ def update!(**args)
1320
+ @service_share_type = args[:service_share_type] if args.key?(:service_share_type)
1321
+ end
1322
+ end
1323
+
1297
1324
  # [Output Only] Contains output only fields.
1298
1325
  class AllocationResourceStatus
1299
1326
  include Google::Apis::Core::Hashable
1300
1327
 
1328
+ # The number of reservation blocks associated with this reservation.
1329
+ # Corresponds to the JSON property `reservationBlockCount`
1330
+ # @return [Fixnum]
1331
+ attr_accessor :reservation_block_count
1332
+
1333
+ # Maintenance Info for ReservationBlocks.
1334
+ # Corresponds to the JSON property `reservationMaintenance`
1335
+ # @return [Google::Apis::ComputeBeta::GroupMaintenanceInfo]
1336
+ attr_accessor :reservation_maintenance
1337
+
1301
1338
  # Contains Properties set for the reservation.
1302
1339
  # Corresponds to the JSON property `specificSkuAllocation`
1303
1340
  # @return [Google::Apis::ComputeBeta::AllocationResourceStatusSpecificSkuAllocation]
@@ -1309,6 +1346,8 @@ module Google
1309
1346
 
1310
1347
  # Update properties of this object
1311
1348
  def update!(**args)
1349
+ @reservation_block_count = args[:reservation_block_count] if args.key?(:reservation_block_count)
1350
+ @reservation_maintenance = args[:reservation_maintenance] if args.key?(:reservation_maintenance)
1312
1351
  @specific_sku_allocation = args[:specific_sku_allocation] if args.key?(:specific_sku_allocation)
1313
1352
  end
1314
1353
  end
@@ -1322,6 +1361,12 @@ module Google
1322
1361
  # @return [String]
1323
1362
  attr_accessor :source_instance_template_id
1324
1363
 
1364
+ # Per service utilization breakdown. The Key is the Google Cloud managed service
1365
+ # name.
1366
+ # Corresponds to the JSON property `utilizations`
1367
+ # @return [Hash<String,Fixnum>]
1368
+ attr_accessor :utilizations
1369
+
1325
1370
  def initialize(**args)
1326
1371
  update!(**args)
1327
1372
  end
@@ -1329,6 +1374,7 @@ module Google
1329
1374
  # Update properties of this object
1330
1375
  def update!(**args)
1331
1376
  @source_instance_template_id = args[:source_instance_template_id] if args.key?(:source_instance_template_id)
1377
+ @utilizations = args[:utilizations] if args.key?(:utilizations)
1332
1378
  end
1333
1379
  end
1334
1380
 
@@ -1887,8 +1933,8 @@ module Google
1887
1933
  # "audit_log_configs": [ ` "log_type": "DATA_READ" `, ` "log_type": "DATA_WRITE"
1888
1934
  # , "exempted_members": [ "user:aliya@example.com" ] ` ] ` ] ` For sampleservice,
1889
1935
  # this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also
1890
- # exempts jose@example.com from DATA_READ logging, and aliya@example.com from
1891
- # DATA_WRITE logging.
1936
+ # exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com`
1937
+ # from DATA_WRITE logging.
1892
1938
  class AuditConfig
1893
1939
  include Google::Apis::Core::Hashable
1894
1940
 
@@ -1897,11 +1943,6 @@ module Google
1897
1943
  # @return [Array<Google::Apis::ComputeBeta::AuditLogConfig>]
1898
1944
  attr_accessor :audit_log_configs
1899
1945
 
1900
- # This is deprecated and has no effect. Do not use.
1901
- # Corresponds to the JSON property `exemptedMembers`
1902
- # @return [Array<String>]
1903
- attr_accessor :exempted_members
1904
-
1905
1946
  # Specifies a service that will be enabled for audit logging. For example, `
1906
1947
  # storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special
1907
1948
  # value that covers all services.
@@ -1916,7 +1957,6 @@ module Google
1916
1957
  # Update properties of this object
1917
1958
  def update!(**args)
1918
1959
  @audit_log_configs = args[:audit_log_configs] if args.key?(:audit_log_configs)
1919
- @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
1920
1960
  @service = args[:service] if args.key?(:service)
1921
1961
  end
1922
1962
  end
@@ -1935,12 +1975,6 @@ module Google
1935
1975
  # @return [Array<String>]
1936
1976
  attr_accessor :exempted_members
1937
1977
 
1938
- # This is deprecated and has no effect. Do not use.
1939
- # Corresponds to the JSON property `ignoreChildExemptions`
1940
- # @return [Boolean]
1941
- attr_accessor :ignore_child_exemptions
1942
- alias_method :ignore_child_exemptions?, :ignore_child_exemptions
1943
-
1944
1978
  # The log type that this config enables.
1945
1979
  # Corresponds to the JSON property `logType`
1946
1980
  # @return [String]
@@ -1953,7 +1987,6 @@ module Google
1953
1987
  # Update properties of this object
1954
1988
  def update!(**args)
1955
1989
  @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
1956
- @ignore_child_exemptions = args[:ignore_child_exemptions] if args.key?(:ignore_child_exemptions)
1957
1990
  @log_type = args[:log_type] if args.key?(:log_type)
1958
1991
  end
1959
1992
  end
@@ -2860,6 +2893,11 @@ module Google
2860
2893
  # @return [Float]
2861
2894
  attr_accessor :capacity_scaler
2862
2895
 
2896
+ # List of custom metrics that are used for CUSTOM_METRICS BalancingMode.
2897
+ # Corresponds to the JSON property `customMetrics`
2898
+ # @return [Array<Google::Apis::ComputeBeta::BackendCustomMetric>]
2899
+ attr_accessor :custom_metrics
2900
+
2863
2901
  # An optional description of this resource. Provide this property when you
2864
2902
  # create the resource.
2865
2903
  # Corresponds to the JSON property `description`
@@ -2950,6 +2988,7 @@ module Google
2950
2988
  def update!(**args)
2951
2989
  @balancing_mode = args[:balancing_mode] if args.key?(:balancing_mode)
2952
2990
  @capacity_scaler = args[:capacity_scaler] if args.key?(:capacity_scaler)
2991
+ @custom_metrics = args[:custom_metrics] if args.key?(:custom_metrics)
2953
2992
  @description = args[:description] if args.key?(:description)
2954
2993
  @failover = args[:failover] if args.key?(:failover)
2955
2994
  @group = args[:group] if args.key?(:group)
@@ -3024,6 +3063,14 @@ module Google
3024
3063
  # @return [String]
3025
3064
  attr_accessor :kind
3026
3065
 
3066
+ # The value can only be INTERNAL_MANAGED for cross-region internal layer 7 load
3067
+ # balancer. If loadBalancingScheme is not specified, the backend bucket can be
3068
+ # used by classic global external load balancers, or global application external
3069
+ # load balancers, or both.
3070
+ # Corresponds to the JSON property `loadBalancingScheme`
3071
+ # @return [String]
3072
+ attr_accessor :load_balancing_scheme
3073
+
3027
3074
  # Name of the resource. Provided by the client when the resource is created. The
3028
3075
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
3029
3076
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
@@ -3039,6 +3086,11 @@ module Google
3039
3086
  # @return [String]
3040
3087
  attr_accessor :self_link
3041
3088
 
3089
+ # [Output Only] List of resources referencing that backend bucket.
3090
+ # Corresponds to the JSON property `usedBy`
3091
+ # @return [Array<Google::Apis::ComputeBeta::BackendBucketUsedBy>]
3092
+ attr_accessor :used_by
3093
+
3042
3094
  def initialize(**args)
3043
3095
  update!(**args)
3044
3096
  end
@@ -3055,8 +3107,10 @@ module Google
3055
3107
  @enable_cdn = args[:enable_cdn] if args.key?(:enable_cdn)
3056
3108
  @id = args[:id] if args.key?(:id)
3057
3109
  @kind = args[:kind] if args.key?(:kind)
3110
+ @load_balancing_scheme = args[:load_balancing_scheme] if args.key?(:load_balancing_scheme)
3058
3111
  @name = args[:name] if args.key?(:name)
3059
3112
  @self_link = args[:self_link] if args.key?(:self_link)
3113
+ @used_by = args[:used_by] if args.key?(:used_by)
3060
3114
  end
3061
3115
  end
3062
3116
 
@@ -3411,6 +3465,66 @@ module Google
3411
3465
  end
3412
3466
  end
3413
3467
 
3468
+ #
3469
+ class BackendBucketUsedBy
3470
+ include Google::Apis::Core::Hashable
3471
+
3472
+ # [Output Only] Server-defined URL for UrlMaps referencing that BackendBucket.
3473
+ # Corresponds to the JSON property `reference`
3474
+ # @return [String]
3475
+ attr_accessor :reference
3476
+
3477
+ def initialize(**args)
3478
+ update!(**args)
3479
+ end
3480
+
3481
+ # Update properties of this object
3482
+ def update!(**args)
3483
+ @reference = args[:reference] if args.key?(:reference)
3484
+ end
3485
+ end
3486
+
3487
+ # Custom Metrics are used for CUSTOM_METRICS balancing_mode.
3488
+ class BackendCustomMetric
3489
+ include Google::Apis::Core::Hashable
3490
+
3491
+ # If true, the metric data is collected and reported to Cloud Monitoring, but is
3492
+ # not used for load balancing.
3493
+ # Corresponds to the JSON property `dryRun`
3494
+ # @return [Boolean]
3495
+ attr_accessor :dry_run
3496
+ alias_method :dry_run?, :dry_run
3497
+
3498
+ # Optional parameter to define a target utilization for the Custom Metrics
3499
+ # balancing mode. The valid range is [0.0, 1.0].
3500
+ # Corresponds to the JSON property `maxUtilization`
3501
+ # @return [Float]
3502
+ attr_accessor :max_utilization
3503
+
3504
+ # Name of a custom utilization signal. The name must be 1-24 characters long and
3505
+ # match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means the
3506
+ # first character must be a lowercase letter, and all following characters must
3507
+ # be a dash, period, underscore, lowercase letter, or digit, except the last
3508
+ # character, which cannot be a dash, period, or underscore. For usage guidelines,
3509
+ # see Custom Metrics balancing mode. This field can only be used for a global
3510
+ # or regional backend service with the loadBalancingScheme set to
3511
+ # EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED.
3512
+ # Corresponds to the JSON property `name`
3513
+ # @return [String]
3514
+ attr_accessor :name
3515
+
3516
+ def initialize(**args)
3517
+ update!(**args)
3518
+ end
3519
+
3520
+ # Update properties of this object
3521
+ def update!(**args)
3522
+ @dry_run = args[:dry_run] if args.key?(:dry_run)
3523
+ @max_utilization = args[:max_utilization] if args.key?(:max_utilization)
3524
+ @name = args[:name] if args.key?(:name)
3525
+ end
3526
+ end
3527
+
3414
3528
  # Represents a Backend Service resource. A backend service defines how Google
3415
3529
  # Cloud load balancers distribute traffic. The backend service configuration
3416
3530
  # contains a set of values, such as the protocol used to connect to backends,
@@ -3478,6 +3592,12 @@ module Google
3478
3592
  # @return [String]
3479
3593
  attr_accessor :creation_timestamp
3480
3594
 
3595
+ # List of custom metrics that are used for the WEIGHTED_ROUND_ROBIN
3596
+ # locality_lb_policy.
3597
+ # Corresponds to the JSON property `customMetrics`
3598
+ # @return [Array<Google::Apis::ComputeBeta::BackendServiceCustomMetric>]
3599
+ attr_accessor :custom_metrics
3600
+
3481
3601
  # Headers that the load balancer adds to proxied requests. See [Creating custom
3482
3602
  # headers](https://cloud.google.com/load-balancing/docs/custom-headers).
3483
3603
  # Corresponds to the JSON property `customRequestHeaders`
@@ -3509,6 +3629,32 @@ module Google
3509
3629
  attr_accessor :enable_cdn
3510
3630
  alias_method :enable_cdn?, :enable_cdn
3511
3631
 
3632
+ # Specifies the canary migration state. Possible values are PREPARE,
3633
+ # TEST_BY_PERCENTAGE, and TEST_ALL_TRAFFIC. To begin the migration from EXTERNAL
3634
+ # to EXTERNAL_MANAGED, the state must be changed to PREPARE. The state must be
3635
+ # changed to TEST_ALL_TRAFFIC before the loadBalancingScheme can be changed to
3636
+ # EXTERNAL_MANAGED. Optionally, the TEST_BY_PERCENTAGE state can be used to
3637
+ # migrate traffic by percentage using externalManagedMigrationTestingPercentage.
3638
+ # Rolling back a migration requires the states to be set in reverse order. So
3639
+ # changing the scheme from EXTERNAL_MANAGED to EXTERNAL requires the state to be
3640
+ # set to TEST_ALL_TRAFFIC at the same time. Optionally, the TEST_BY_PERCENTAGE
3641
+ # state can be used to migrate some traffic back to EXTERNAL or PREPARE can be
3642
+ # used to migrate all traffic back to EXTERNAL.
3643
+ # Corresponds to the JSON property `externalManagedMigrationState`
3644
+ # @return [String]
3645
+ attr_accessor :external_managed_migration_state
3646
+
3647
+ # Determines the fraction of requests that should be processed by the Global
3648
+ # external Application Load Balancer. The value of this field must be in the
3649
+ # range [0, 100]. Session affinity options will slightly affect this routing
3650
+ # behavior, for more details, see: Session Affinity. This value can only be set
3651
+ # if the loadBalancingScheme in the BackendService is set to EXTERNAL (when
3652
+ # using the classic Application Load Balancer) and the migration state is
3653
+ # TEST_BY_PERCENTAGE.
3654
+ # Corresponds to the JSON property `externalManagedMigrationTestingPercentage`
3655
+ # @return [Float]
3656
+ attr_accessor :external_managed_migration_testing_percentage
3657
+
3512
3658
  # For load balancers that have configurable failover: [Internal passthrough
3513
3659
  # Network Load Balancers](https://cloud.google.com/load-balancing/docs/internal/
3514
3660
  # failover-overview) and [external passthrough Network Load Balancers](https://
@@ -3622,8 +3768,10 @@ module Google
3622
3768
  # set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to
3623
3769
  # INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme
3624
3770
  # set to INTERNAL_SELF_MANAGED, INTERNAL_MANAGED, or EXTERNAL_MANAGED. If
3625
- # sessionAffinity is not NONE, and this field is not set to MAGLEV or RING_HASH,
3626
- # session affinity settings will not take effect. Only ROUND_ROBIN and RING_HASH
3771
+ # sessionAffinity is not configured—that is, if session affinity remains at the
3772
+ # default value of NONE—then the default value for localityLbPolicy is
3773
+ # ROUND_ROBIN. If session affinity is set to a value other than NONE, then the
3774
+ # default value for localityLbPolicy is MAGLEV. Only ROUND_ROBIN and RING_HASH
3627
3775
  # are supported when the backend service is referenced by a URL map that is
3628
3776
  # bound to target gRPC proxy that has validateForProxyless field set to true.
3629
3777
  # Corresponds to the JSON property `localityLbPolicy`
@@ -3790,11 +3938,14 @@ module Google
3790
3938
  @connection_tracking_policy = args[:connection_tracking_policy] if args.key?(:connection_tracking_policy)
3791
3939
  @consistent_hash = args[:consistent_hash] if args.key?(:consistent_hash)
3792
3940
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
3941
+ @custom_metrics = args[:custom_metrics] if args.key?(:custom_metrics)
3793
3942
  @custom_request_headers = args[:custom_request_headers] if args.key?(:custom_request_headers)
3794
3943
  @custom_response_headers = args[:custom_response_headers] if args.key?(:custom_response_headers)
3795
3944
  @description = args[:description] if args.key?(:description)
3796
3945
  @edge_security_policy = args[:edge_security_policy] if args.key?(:edge_security_policy)
3797
3946
  @enable_cdn = args[:enable_cdn] if args.key?(:enable_cdn)
3947
+ @external_managed_migration_state = args[:external_managed_migration_state] if args.key?(:external_managed_migration_state)
3948
+ @external_managed_migration_testing_percentage = args[:external_managed_migration_testing_percentage] if args.key?(:external_managed_migration_testing_percentage)
3798
3949
  @failover_policy = args[:failover_policy] if args.key?(:failover_policy)
3799
3950
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
3800
3951
  @health_checks = args[:health_checks] if args.key?(:health_checks)
@@ -4225,6 +4376,39 @@ module Google
4225
4376
  end
4226
4377
  end
4227
4378
 
4379
+ # Custom Metrics are used for WEIGHTED_ROUND_ROBIN locality_lb_policy.
4380
+ class BackendServiceCustomMetric
4381
+ include Google::Apis::Core::Hashable
4382
+
4383
+ # If true, the metric data is not used for load balancing.
4384
+ # Corresponds to the JSON property `dryRun`
4385
+ # @return [Boolean]
4386
+ attr_accessor :dry_run
4387
+ alias_method :dry_run?, :dry_run
4388
+
4389
+ # Name of a custom utilization signal. The name must be 1-24 characters long and
4390
+ # match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means the
4391
+ # first character must be a lowercase letter, and all following characters must
4392
+ # be a dash, period, underscore, lowercase letter, or digit, except the last
4393
+ # character, which cannot be a dash, period, or underscore. For usage guidelines,
4394
+ # see Custom Metrics balancing mode. This field can only be used for a global
4395
+ # or regional backend service with the loadBalancingScheme set to
4396
+ # EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED.
4397
+ # Corresponds to the JSON property `name`
4398
+ # @return [String]
4399
+ attr_accessor :name
4400
+
4401
+ def initialize(**args)
4402
+ update!(**args)
4403
+ end
4404
+
4405
+ # Update properties of this object
4406
+ def update!(**args)
4407
+ @dry_run = args[:dry_run] if args.key?(:dry_run)
4408
+ @name = args[:name] if args.key?(:name)
4409
+ end
4410
+ end
4411
+
4228
4412
  # For load balancers that have configurable failover: [Internal passthrough
4229
4413
  # Network Load Balancers](https://cloud.google.com/load-balancing/docs/internal/
4230
4414
  # failover-overview) and [external passthrough Network Load Balancers](https://
@@ -5236,11 +5420,6 @@ module Google
5236
5420
  class Binding
5237
5421
  include Google::Apis::Core::Hashable
5238
5422
 
5239
- # This is deprecated and has no effect. Do not use.
5240
- # Corresponds to the JSON property `bindingId`
5241
- # @return [String]
5242
- attr_accessor :binding_id
5243
-
5244
5423
  # Represents a textual expression in the Common Expression Language (CEL) syntax.
5245
5424
  # CEL is a C-like expression language. The syntax and semantics of CEL are
5246
5425
  # documented at https://github.com/google/cel-spec. Example (Comparison): title:
@@ -5332,7 +5511,6 @@ module Google
5332
5511
 
5333
5512
  # Update properties of this object
5334
5513
  def update!(**args)
5335
- @binding_id = args[:binding_id] if args.key?(:binding_id)
5336
5514
  @condition = args[:condition] if args.key?(:condition)
5337
5515
  @members = args[:members] if args.key?(:members)
5338
5516
  @role = args[:role] if args.key?(:role)
@@ -5733,6 +5911,13 @@ module Google
5733
5911
  # @return [String]
5734
5912
  attr_accessor :creation_timestamp
5735
5913
 
5914
+ # [Input Only] Optional, specifies the CUD end time requested by the customer in
5915
+ # RFC3339 text format. Needed when the customer wants CUD's end date is later
5916
+ # than the start date + term duration.
5917
+ # Corresponds to the JSON property `customEndTimestamp`
5918
+ # @return [String]
5919
+ attr_accessor :custom_end_timestamp
5920
+
5736
5921
  # An optional description of this resource. Provide this property when you
5737
5922
  # create the resource.
5738
5923
  # Corresponds to the JSON property `description`
@@ -5801,6 +5986,11 @@ module Google
5801
5986
  # @return [Array<Google::Apis::ComputeBeta::Reservation>]
5802
5987
  attr_accessor :reservations
5803
5988
 
5989
+ # [Output Only] Contains output only fields.
5990
+ # Corresponds to the JSON property `resourceStatus`
5991
+ # @return [Google::Apis::ComputeBeta::CommitmentResourceStatus]
5992
+ attr_accessor :resource_status
5993
+
5804
5994
  # A list of commitment amounts for particular resources. Note that VCPU and
5805
5995
  # MEMORY resource commitments must occur together.
5806
5996
  # Corresponds to the JSON property `resources`
@@ -5851,6 +6041,7 @@ module Google
5851
6041
  @auto_renew = args[:auto_renew] if args.key?(:auto_renew)
5852
6042
  @category = args[:category] if args.key?(:category)
5853
6043
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
6044
+ @custom_end_timestamp = args[:custom_end_timestamp] if args.key?(:custom_end_timestamp)
5854
6045
  @description = args[:description] if args.key?(:description)
5855
6046
  @end_timestamp = args[:end_timestamp] if args.key?(:end_timestamp)
5856
6047
  @existing_reservations = args[:existing_reservations] if args.key?(:existing_reservations)
@@ -5862,6 +6053,7 @@ module Google
5862
6053
  @plan = args[:plan] if args.key?(:plan)
5863
6054
  @region = args[:region] if args.key?(:region)
5864
6055
  @reservations = args[:reservations] if args.key?(:reservations)
6056
+ @resource_status = args[:resource_status] if args.key?(:resource_status)
5865
6057
  @resources = args[:resources] if args.key?(:resources)
5866
6058
  @self_link = args[:self_link] if args.key?(:self_link)
5867
6059
  @split_source_commitment = args[:split_source_commitment] if args.key?(:split_source_commitment)
@@ -6114,6 +6306,27 @@ module Google
6114
6306
  end
6115
6307
  end
6116
6308
 
6309
+ # [Output Only] Contains output only fields.
6310
+ class CommitmentResourceStatus
6311
+ include Google::Apis::Core::Hashable
6312
+
6313
+ # [Output Only] Indicates the end time of customer's eligibility to send custom
6314
+ # term requests in RFC3339 text format. Term extension requests that (not the
6315
+ # end time in the request) after this time will be rejected.
6316
+ # Corresponds to the JSON property `customTermEligibilityEndTimestamp`
6317
+ # @return [String]
6318
+ attr_accessor :custom_term_eligibility_end_timestamp
6319
+
6320
+ def initialize(**args)
6321
+ update!(**args)
6322
+ end
6323
+
6324
+ # Update properties of this object
6325
+ def update!(**args)
6326
+ @custom_term_eligibility_end_timestamp = args[:custom_term_eligibility_end_timestamp] if args.key?(:custom_term_eligibility_end_timestamp)
6327
+ end
6328
+ end
6329
+
6117
6330
  #
6118
6331
  class CommitmentsScopedList
6119
6332
  include Google::Apis::Core::Hashable
@@ -6205,49 +6418,6 @@ module Google
6205
6418
  end
6206
6419
  end
6207
6420
 
6208
- # This is deprecated and has no effect. Do not use.
6209
- class Condition
6210
- include Google::Apis::Core::Hashable
6211
-
6212
- # This is deprecated and has no effect. Do not use.
6213
- # Corresponds to the JSON property `iam`
6214
- # @return [String]
6215
- attr_accessor :iam
6216
-
6217
- # This is deprecated and has no effect. Do not use.
6218
- # Corresponds to the JSON property `op`
6219
- # @return [String]
6220
- attr_accessor :op
6221
-
6222
- # This is deprecated and has no effect. Do not use.
6223
- # Corresponds to the JSON property `svc`
6224
- # @return [String]
6225
- attr_accessor :svc
6226
-
6227
- # This is deprecated and has no effect. Do not use.
6228
- # Corresponds to the JSON property `sys`
6229
- # @return [String]
6230
- attr_accessor :sys
6231
-
6232
- # This is deprecated and has no effect. Do not use.
6233
- # Corresponds to the JSON property `values`
6234
- # @return [Array<String>]
6235
- attr_accessor :values
6236
-
6237
- def initialize(**args)
6238
- update!(**args)
6239
- end
6240
-
6241
- # Update properties of this object
6242
- def update!(**args)
6243
- @iam = args[:iam] if args.key?(:iam)
6244
- @op = args[:op] if args.key?(:op)
6245
- @svc = args[:svc] if args.key?(:svc)
6246
- @sys = args[:sys] if args.key?(:sys)
6247
- @values = args[:values] if args.key?(:values)
6248
- end
6249
- end
6250
-
6251
6421
  # A set of Confidential Instance options.
6252
6422
  class ConfidentialInstanceConfig
6253
6423
  include Google::Apis::Core::Hashable
@@ -9650,7 +9820,9 @@ module Google
9650
9820
  include Google::Apis::Core::Hashable
9651
9821
 
9652
9822
  # The Action to perform when the client connection triggers the rule. Valid
9653
- # actions are "allow", "deny" and "goto_next".
9823
+ # actions for firewall rules are: "allow", "deny", "apply_security_profile_group"
9824
+ # and "goto_next". Valid actions for packet mirroring rules are: "mirror", "
9825
+ # do_not_mirror" and "goto_next".
9654
9826
  # Corresponds to the JSON property `action`
9655
9827
  # @return [String]
9656
9828
  attr_accessor :action
@@ -9682,8 +9854,8 @@ module Google
9682
9854
  attr_accessor :enable_logging
9683
9855
  alias_method :enable_logging?, :enable_logging
9684
9856
 
9685
- # [Output only] Type of the resource. Always compute#firewallPolicyRule for
9686
- # firewall policy rules
9857
+ # [Output only] Type of the resource. Returns compute#firewallPolicyRule for
9858
+ # firewall rules and compute#packetMirroringRule for packet mirroring rules.
9687
9859
  # Corresponds to the JSON property `kind`
9688
9860
  # @return [String]
9689
9861
  attr_accessor :kind
@@ -9697,7 +9869,7 @@ module Google
9697
9869
  # An integer indicating the priority of a rule in the list. The priority must be
9698
9870
  # a positive value between 0 and 2147483647. Rules are evaluated from highest to
9699
9871
  # lowest priority where 0 is the highest priority and 2147483647 is the lowest
9700
- # prority.
9872
+ # priority.
9701
9873
  # Corresponds to the JSON property `priority`
9702
9874
  # @return [Fixnum]
9703
9875
  attr_accessor :priority
@@ -9715,8 +9887,9 @@ module Google
9715
9887
 
9716
9888
  # A fully-qualified URL of a SecurityProfile resource instance. Example: https://
9717
9889
  # networksecurity.googleapis.com/v1/projects/`project`/locations/`location`/
9718
- # securityProfileGroups/my-security-profile-group Must be specified if action = '
9719
- # apply_security_profile_group' and cannot be specified for other actions.
9890
+ # securityProfileGroups/my-security-profile-group Must be specified if action is
9891
+ # one of 'apply_security_profile_group' or 'mirror'. Cannot be specified for
9892
+ # other actions.
9720
9893
  # Corresponds to the JSON property `securityProfileGroup`
9721
9894
  # @return [String]
9722
9895
  attr_accessor :security_profile_group
@@ -9801,6 +9974,11 @@ module Google
9801
9974
  # @return [Array<String>]
9802
9975
  attr_accessor :dest_ip_ranges
9803
9976
 
9977
+ # Network scope of the traffic destination.
9978
+ # Corresponds to the JSON property `destNetworkScope`
9979
+ # @return [String]
9980
+ attr_accessor :dest_network_scope
9981
+
9804
9982
  # Region codes whose IP addresses will be used to match for destination of
9805
9983
  # traffic. Should be specified as 2 letter country code defined as per ISO 3166
9806
9984
  # alpha-2 country codes. ex."US" Maximum number of dest region codes allowed is
@@ -9837,6 +10015,16 @@ module Google
9837
10015
  # @return [Array<String>]
9838
10016
  attr_accessor :src_ip_ranges
9839
10017
 
10018
+ # Network scope of the traffic source.
10019
+ # Corresponds to the JSON property `srcNetworkScope`
10020
+ # @return [String]
10021
+ attr_accessor :src_network_scope
10022
+
10023
+ # Networks of the traffic source. It can be either a full or partial url.
10024
+ # Corresponds to the JSON property `srcNetworks`
10025
+ # @return [Array<String>]
10026
+ attr_accessor :src_networks
10027
+
9840
10028
  # Region codes whose IP addresses will be used to match for source of traffic.
9841
10029
  # Should be specified as 2 letter country code defined as per ISO 3166 alpha-2
9842
10030
  # country codes. ex."US" Maximum number of source region codes allowed is 5000.
@@ -9867,12 +10055,15 @@ module Google
9867
10055
  @dest_address_groups = args[:dest_address_groups] if args.key?(:dest_address_groups)
9868
10056
  @dest_fqdns = args[:dest_fqdns] if args.key?(:dest_fqdns)
9869
10057
  @dest_ip_ranges = args[:dest_ip_ranges] if args.key?(:dest_ip_ranges)
10058
+ @dest_network_scope = args[:dest_network_scope] if args.key?(:dest_network_scope)
9870
10059
  @dest_region_codes = args[:dest_region_codes] if args.key?(:dest_region_codes)
9871
10060
  @dest_threat_intelligences = args[:dest_threat_intelligences] if args.key?(:dest_threat_intelligences)
9872
10061
  @layer4_configs = args[:layer4_configs] if args.key?(:layer4_configs)
9873
10062
  @src_address_groups = args[:src_address_groups] if args.key?(:src_address_groups)
9874
10063
  @src_fqdns = args[:src_fqdns] if args.key?(:src_fqdns)
9875
10064
  @src_ip_ranges = args[:src_ip_ranges] if args.key?(:src_ip_ranges)
10065
+ @src_network_scope = args[:src_network_scope] if args.key?(:src_network_scope)
10066
+ @src_networks = args[:src_networks] if args.key?(:src_networks)
9876
10067
  @src_region_codes = args[:src_region_codes] if args.key?(:src_region_codes)
9877
10068
  @src_secure_tags = args[:src_secure_tags] if args.key?(:src_secure_tags)
9878
10069
  @src_threat_intelligences = args[:src_threat_intelligences] if args.key?(:src_threat_intelligences)
@@ -10090,6 +10281,33 @@ module Google
10090
10281
  # @return [String]
10091
10282
  attr_accessor :description
10092
10283
 
10284
+ # Specifies the canary migration state for the backend buckets attached to this
10285
+ # forwarding rule. Possible values are PREPARE, TEST_BY_PERCENTAGE, and
10286
+ # TEST_ALL_TRAFFIC. To begin the migration from EXTERNAL to EXTERNAL_MANAGED,
10287
+ # the state must be changed to PREPARE. The state must be changed to
10288
+ # TEST_ALL_TRAFFIC before the loadBalancingScheme can be changed to
10289
+ # EXTERNAL_MANAGED. Optionally, the TEST_BY_PERCENTAGE state can be used to
10290
+ # migrate traffic to backend buckets attached to this forwarding rule by
10291
+ # percentage using externalManagedBackendBucketMigrationTestingPercentage.
10292
+ # Rolling back a migration requires the states to be set in reverse order. So
10293
+ # changing the scheme from EXTERNAL_MANAGED to EXTERNAL requires the state to be
10294
+ # set to TEST_ALL_TRAFFIC at the same time. Optionally, the TEST_BY_PERCENTAGE
10295
+ # state can be used to migrate some traffic back to EXTERNAL or PREPARE can be
10296
+ # used to migrate all traffic back to EXTERNAL.
10297
+ # Corresponds to the JSON property `externalManagedBackendBucketMigrationState`
10298
+ # @return [String]
10299
+ attr_accessor :external_managed_backend_bucket_migration_state
10300
+
10301
+ # Determines the fraction of requests to backend buckets that should be
10302
+ # processed by the global external Application Load Balancer. The value of this
10303
+ # field must be in the range [0, 100]. This value can only be set if the
10304
+ # loadBalancingScheme in the BackendService is set to EXTERNAL (when using the
10305
+ # classic Application Load Balancer) and the migration state is
10306
+ # TEST_BY_PERCENTAGE.
10307
+ # Corresponds to the JSON property `externalManagedBackendBucketMigrationTestingPercentage`
10308
+ # @return [Float]
10309
+ attr_accessor :external_managed_backend_bucket_migration_testing_percentage
10310
+
10093
10311
  # Fingerprint of this resource. A hash of the contents stored in this object.
10094
10312
  # This field is used in optimistic locking. This field will be ignored when
10095
10313
  # inserting a ForwardingRule. Include the fingerprint in patch request to ensure
@@ -10361,6 +10579,8 @@ module Google
10361
10579
  @base_forwarding_rule = args[:base_forwarding_rule] if args.key?(:base_forwarding_rule)
10362
10580
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
10363
10581
  @description = args[:description] if args.key?(:description)
10582
+ @external_managed_backend_bucket_migration_state = args[:external_managed_backend_bucket_migration_state] if args.key?(:external_managed_backend_bucket_migration_state)
10583
+ @external_managed_backend_bucket_migration_testing_percentage = args[:external_managed_backend_bucket_migration_testing_percentage] if args.key?(:external_managed_backend_bucket_migration_testing_percentage)
10364
10584
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
10365
10585
  @id = args[:id] if args.key?(:id)
10366
10586
  @ip_collection = args[:ip_collection] if args.key?(:ip_collection)
@@ -10813,18 +11033,36 @@ module Google
10813
11033
  # @return [String]
10814
11034
  attr_accessor :creation_timestamp
10815
11035
 
11036
+ # Type of the deployment requested as part of future reservation.
11037
+ # Corresponds to the JSON property `deploymentType`
11038
+ # @return [String]
11039
+ attr_accessor :deployment_type
11040
+
10816
11041
  # An optional description of this resource. Provide this property when you
10817
11042
  # create the future reservation.
10818
11043
  # Corresponds to the JSON property `description`
10819
11044
  # @return [String]
10820
11045
  attr_accessor :description
10821
11046
 
11047
+ # Indicates if this group of VMs have opportunistic maintenance enabled. This
11048
+ # will be set on the FR by customers, and will be used for reservation and
11049
+ # reservation block maintenance .
11050
+ # Corresponds to the JSON property `enableOpportunisticMaintenance`
11051
+ # @return [Boolean]
11052
+ attr_accessor :enable_opportunistic_maintenance
11053
+ alias_method :enable_opportunistic_maintenance?, :enable_opportunistic_maintenance
11054
+
10822
11055
  # [Output Only] A unique identifier for this future reservation. The server
10823
11056
  # defines this identifier.
10824
11057
  # Corresponds to the JSON property `id`
10825
11058
  # @return [Fixnum]
10826
11059
  attr_accessor :id
10827
11060
 
11061
+ # Action to take during reservation termination.
11062
+ # Corresponds to the JSON property `instanceTerminationAction`
11063
+ # @return [String]
11064
+ attr_accessor :instance_termination_action
11065
+
10828
11066
  # [Output Only] Type of the resource. Always compute#futureReservation for
10829
11067
  # future reservations.
10830
11068
  # Corresponds to the JSON property `kind`
@@ -10854,6 +11092,20 @@ module Google
10854
11092
  # @return [String]
10855
11093
  attr_accessor :planning_status
10856
11094
 
11095
+ # Name of reservations where the capacity is provisioned at the time of delivery
11096
+ # of future reservations. If the reservation with the given name does not exist
11097
+ # already, it is created automatically at the time of Approval with INACTIVE
11098
+ # state till specified start-time. Either provide the reservation_name or a
11099
+ # name_prefix.
11100
+ # Corresponds to the JSON property `reservationName`
11101
+ # @return [String]
11102
+ attr_accessor :reservation_name
11103
+
11104
+ # Maintenance information for this reservation
11105
+ # Corresponds to the JSON property `schedulingType`
11106
+ # @return [String]
11107
+ attr_accessor :scheduling_type
11108
+
10857
11109
  # [Output Only] Server-defined fully-qualified URL for this resource.
10858
11110
  # Corresponds to the JSON property `selfLink`
10859
11111
  # @return [String]
@@ -10869,6 +11121,14 @@ module Google
10869
11121
  # @return [Google::Apis::ComputeBeta::ShareSettings]
10870
11122
  attr_accessor :share_settings
10871
11123
 
11124
+ # Indicates whether the auto-created reservation can be consumed by VMs with
11125
+ # affinity for "any" reservation. If the field is set, then only VMs that target
11126
+ # the reservation by name can consume from the delivered reservation.
11127
+ # Corresponds to the JSON property `specificReservationRequired`
11128
+ # @return [Boolean]
11129
+ attr_accessor :specific_reservation_required
11130
+ alias_method :specific_reservation_required?, :specific_reservation_required
11131
+
10872
11132
  # Future Reservation configuration to indicate instance properties and total
10873
11133
  # count.
10874
11134
  # Corresponds to the JSON property `specificSkuProperties`
@@ -10900,15 +11160,21 @@ module Google
10900
11160
  @auto_created_reservations_duration = args[:auto_created_reservations_duration] if args.key?(:auto_created_reservations_duration)
10901
11161
  @auto_delete_auto_created_reservations = args[:auto_delete_auto_created_reservations] if args.key?(:auto_delete_auto_created_reservations)
10902
11162
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
11163
+ @deployment_type = args[:deployment_type] if args.key?(:deployment_type)
10903
11164
  @description = args[:description] if args.key?(:description)
11165
+ @enable_opportunistic_maintenance = args[:enable_opportunistic_maintenance] if args.key?(:enable_opportunistic_maintenance)
10904
11166
  @id = args[:id] if args.key?(:id)
11167
+ @instance_termination_action = args[:instance_termination_action] if args.key?(:instance_termination_action)
10905
11168
  @kind = args[:kind] if args.key?(:kind)
10906
11169
  @name = args[:name] if args.key?(:name)
10907
11170
  @name_prefix = args[:name_prefix] if args.key?(:name_prefix)
10908
11171
  @planning_status = args[:planning_status] if args.key?(:planning_status)
11172
+ @reservation_name = args[:reservation_name] if args.key?(:reservation_name)
11173
+ @scheduling_type = args[:scheduling_type] if args.key?(:scheduling_type)
10909
11174
  @self_link = args[:self_link] if args.key?(:self_link)
10910
11175
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
10911
11176
  @share_settings = args[:share_settings] if args.key?(:share_settings)
11177
+ @specific_reservation_required = args[:specific_reservation_required] if args.key?(:specific_reservation_required)
10912
11178
  @specific_sku_properties = args[:specific_sku_properties] if args.key?(:specific_sku_properties)
10913
11179
  @status = args[:status] if args.key?(:status)
10914
11180
  @time_window = args[:time_window] if args.key?(:time_window)
@@ -10963,6 +11229,12 @@ module Google
10963
11229
  # @return [Array<String>]
10964
11230
  attr_accessor :auto_created_reservations
10965
11231
 
11232
+ # [Output Only] Represents the existing matching usage for the future
11233
+ # reservation.
11234
+ # Corresponds to the JSON property `existingMatchingUsageInfo`
11235
+ # @return [Google::Apis::ComputeBeta::FutureReservationStatusExistingMatchingUsageInfo]
11236
+ attr_accessor :existing_matching_usage_info
11237
+
10966
11238
  # This count indicates the fulfilled capacity so far. This is set during "
10967
11239
  # PROVISIONING" state. This count also includes capacity delivered as part of
10968
11240
  # existing matching reservations.
@@ -11002,6 +11274,7 @@ module Google
11002
11274
  def update!(**args)
11003
11275
  @amendment_status = args[:amendment_status] if args.key?(:amendment_status)
11004
11276
  @auto_created_reservations = args[:auto_created_reservations] if args.key?(:auto_created_reservations)
11277
+ @existing_matching_usage_info = args[:existing_matching_usage_info] if args.key?(:existing_matching_usage_info)
11005
11278
  @fulfilled_count = args[:fulfilled_count] if args.key?(:fulfilled_count)
11006
11279
  @last_known_good_state = args[:last_known_good_state] if args.key?(:last_known_good_state)
11007
11280
  @lock_time = args[:lock_time] if args.key?(:lock_time)
@@ -11010,6 +11283,33 @@ module Google
11010
11283
  end
11011
11284
  end
11012
11285
 
11286
+ # [Output Only] Represents the existing matching usage for the future
11287
+ # reservation.
11288
+ class FutureReservationStatusExistingMatchingUsageInfo
11289
+ include Google::Apis::Core::Hashable
11290
+
11291
+ # Count to represent min(FR total_count, matching_reserved_capacity+
11292
+ # matching_unreserved_instances)
11293
+ # Corresponds to the JSON property `count`
11294
+ # @return [Fixnum]
11295
+ attr_accessor :count
11296
+
11297
+ # Timestamp when the matching usage was calculated
11298
+ # Corresponds to the JSON property `timestamp`
11299
+ # @return [String]
11300
+ attr_accessor :timestamp
11301
+
11302
+ def initialize(**args)
11303
+ update!(**args)
11304
+ end
11305
+
11306
+ # Update properties of this object
11307
+ def update!(**args)
11308
+ @count = args[:count] if args.key?(:count)
11309
+ @timestamp = args[:timestamp] if args.key?(:timestamp)
11310
+ end
11311
+ end
11312
+
11013
11313
  # The state that the future reservation will be reverted to should the amendment
11014
11314
  # be declined.
11015
11315
  class FutureReservationStatusLastKnownGoodState
@@ -11021,6 +11321,12 @@ module Google
11021
11321
  # @return [String]
11022
11322
  attr_accessor :description
11023
11323
 
11324
+ # [Output Only] Represents the existing matching usage for the future
11325
+ # reservation.
11326
+ # Corresponds to the JSON property `existingMatchingUsageInfo`
11327
+ # @return [Google::Apis::ComputeBeta::FutureReservationStatusExistingMatchingUsageInfo]
11328
+ attr_accessor :existing_matching_usage_info
11329
+
11024
11330
  # The properties of the last known good state for the Future Reservation.
11025
11331
  # Corresponds to the JSON property `futureReservationSpecs`
11026
11332
  # @return [Google::Apis::ComputeBeta::FutureReservationStatusLastKnownGoodStateFutureReservationSpecs]
@@ -11051,6 +11357,7 @@ module Google
11051
11357
  # Update properties of this object
11052
11358
  def update!(**args)
11053
11359
  @description = args[:description] if args.key?(:description)
11360
+ @existing_matching_usage_info = args[:existing_matching_usage_info] if args.key?(:existing_matching_usage_info)
11054
11361
  @future_reservation_specs = args[:future_reservation_specs] if args.key?(:future_reservation_specs)
11055
11362
  @lock_time = args[:lock_time] if args.key?(:lock_time)
11056
11363
  @name_prefix = args[:name_prefix] if args.key?(:name_prefix)
@@ -11777,6 +12084,53 @@ module Google
11777
12084
  end
11778
12085
  end
11779
12086
 
12087
+ # Maintenance Info for ReservationBlocks.
12088
+ class GroupMaintenanceInfo
12089
+ include Google::Apis::Core::Hashable
12090
+
12091
+ # This setting enables or disables opportunistic maintenance. If enabled,
12092
+ # maintenance is performed on unused reservations whenever possible.
12093
+ # Corresponds to the JSON property `enableOpportunisticMaintenance`
12094
+ # @return [Boolean]
12095
+ attr_accessor :enable_opportunistic_maintenance
12096
+ alias_method :enable_opportunistic_maintenance?, :enable_opportunistic_maintenance
12097
+
12098
+ # Progress for ongoing maintenance for this group of VMs/hosts. Describes number
12099
+ # of hosts in the block that have ongoing maintenance.
12100
+ # Corresponds to the JSON property `maintenanceOngoingCount`
12101
+ # @return [Fixnum]
12102
+ attr_accessor :maintenance_ongoing_count
12103
+
12104
+ # Progress for ongoing maintenance for this group of VMs/hosts. Describes number
12105
+ # of hosts in the block that have pending maintenance.
12106
+ # Corresponds to the JSON property `maintenancePendingCount`
12107
+ # @return [Fixnum]
12108
+ attr_accessor :maintenance_pending_count
12109
+
12110
+ # The type of maintenance for the reservation.
12111
+ # Corresponds to the JSON property `schedulingType`
12112
+ # @return [String]
12113
+ attr_accessor :scheduling_type
12114
+
12115
+ # Upcoming Maintenance notification information.
12116
+ # Corresponds to the JSON property `upcomingGroupMaintenance`
12117
+ # @return [Google::Apis::ComputeBeta::UpcomingMaintenance]
12118
+ attr_accessor :upcoming_group_maintenance
12119
+
12120
+ def initialize(**args)
12121
+ update!(**args)
12122
+ end
12123
+
12124
+ # Update properties of this object
12125
+ def update!(**args)
12126
+ @enable_opportunistic_maintenance = args[:enable_opportunistic_maintenance] if args.key?(:enable_opportunistic_maintenance)
12127
+ @maintenance_ongoing_count = args[:maintenance_ongoing_count] if args.key?(:maintenance_ongoing_count)
12128
+ @maintenance_pending_count = args[:maintenance_pending_count] if args.key?(:maintenance_pending_count)
12129
+ @scheduling_type = args[:scheduling_type] if args.key?(:scheduling_type)
12130
+ @upcoming_group_maintenance = args[:upcoming_group_maintenance] if args.key?(:upcoming_group_maintenance)
12131
+ end
12132
+ end
12133
+
11780
12134
  # A guest attributes entry.
11781
12135
  class GuestAttributes
11782
12136
  include Google::Apis::Core::Hashable
@@ -15921,7 +16275,7 @@ module Google
15921
16275
  # instance name with a hyphen followed by one or more hash symbols. The hash
15922
16276
  # symbols indicate the number of digits. For example, a base instance name of "
15923
16277
  # vm-###" results in "vm-001" as a VM name. @pattern [a-z](([-a-z0-9]`0,57`)|([-
15924
- # a-z0-9]`0,52`-#`1,10`(\\[[0-9]`1,10`\\])?))
16278
+ # a-z0-9]`0,51`-#`1,10`(\\[[0-9]`1,10`\\])?))
15925
16279
  # Corresponds to the JSON property `baseInstanceName`
15926
16280
  # @return [String]
15927
16281
  attr_accessor :base_instance_name
@@ -16009,14 +16363,19 @@ module Google
16009
16363
  # @return [String]
16010
16364
  attr_accessor :list_managed_instances_results
16011
16365
 
16366
+ # URL to the multi-MIG that this Managed Instance Group belongs to.
16367
+ # Corresponds to the JSON property `multiMig`
16368
+ # @return [String]
16369
+ attr_accessor :multi_mig
16370
+
16012
16371
  # The name of the managed instance group. The name must be 1-63 characters long,
16013
16372
  # and comply with RFC1035.
16014
16373
  # Corresponds to the JSON property `name`
16015
16374
  # @return [String]
16016
16375
  attr_accessor :name
16017
16376
 
16018
- # Named ports configured for the Instance Groups complementary to this Instance
16019
- # Group Manager.
16377
+ # [Output Only] Named ports configured on the Instance Groups complementary to
16378
+ # this Instance Group Manager.
16020
16379
  # Corresponds to the JSON property `namedPorts`
16021
16380
  # @return [Array<Google::Apis::ComputeBeta::NamedPort>]
16022
16381
  attr_accessor :named_ports
@@ -16032,6 +16391,11 @@ module Google
16032
16391
  # @return [String]
16033
16392
  attr_accessor :region
16034
16393
 
16394
+ # Resource policies for this managed instance group.
16395
+ # Corresponds to the JSON property `resourcePolicies`
16396
+ # @return [Google::Apis::ComputeBeta::InstanceGroupManagerResourcePolicies]
16397
+ attr_accessor :resource_policies
16398
+
16035
16399
  # [Output Only] Reserved for future use.
16036
16400
  # Corresponds to the JSON property `satisfiesPzi`
16037
16401
  # @return [Boolean]
@@ -16147,10 +16511,12 @@ module Google
16147
16511
  @instance_template = args[:instance_template] if args.key?(:instance_template)
16148
16512
  @kind = args[:kind] if args.key?(:kind)
16149
16513
  @list_managed_instances_results = args[:list_managed_instances_results] if args.key?(:list_managed_instances_results)
16514
+ @multi_mig = args[:multi_mig] if args.key?(:multi_mig)
16150
16515
  @name = args[:name] if args.key?(:name)
16151
16516
  @named_ports = args[:named_ports] if args.key?(:named_ports)
16152
16517
  @params = args[:params] if args.key?(:params)
16153
16518
  @region = args[:region] if args.key?(:region)
16519
+ @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
16154
16520
  @satisfies_pzi = args[:satisfies_pzi] if args.key?(:satisfies_pzi)
16155
16521
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
16156
16522
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -16461,12 +16827,6 @@ module Google
16461
16827
  class InstanceGroupManagerInstanceFlexibilityPolicy
16462
16828
  include Google::Apis::Core::Hashable
16463
16829
 
16464
- # Named instance selections configuring properties that the group will use when
16465
- # creating new VMs.
16466
- # Corresponds to the JSON property `instanceSelectionLists`
16467
- # @return [Hash<String,Google::Apis::ComputeBeta::InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection>]
16468
- attr_accessor :instance_selection_lists
16469
-
16470
16830
  # Named instance selections configuring properties that the group will use when
16471
16831
  # creating new VMs.
16472
16832
  # Corresponds to the JSON property `instanceSelections`
@@ -16485,7 +16845,6 @@ module Google
16485
16845
 
16486
16846
  # Update properties of this object
16487
16847
  def update!(**args)
16488
- @instance_selection_lists = args[:instance_selection_lists] if args.key?(:instance_selection_lists)
16489
16848
  @instance_selections = args[:instance_selections] if args.key?(:instance_selections)
16490
16849
  @provisioning_model_mix = args[:provisioning_model_mix] if args.key?(:provisioning_model_mix)
16491
16850
  end
@@ -16763,6 +17122,12 @@ module Google
16763
17122
  # @return [String]
16764
17123
  attr_accessor :name
16765
17124
 
17125
+ # [Output Only] The URL of a region where the resize request is located.
17126
+ # Populated only for regional resize requests.
17127
+ # Corresponds to the JSON property `region`
17128
+ # @return [String]
17129
+ attr_accessor :region
17130
+
16766
17131
  # A Duration represents a fixed-length span of time represented as a count of
16767
17132
  # seconds and fractions of seconds at nanosecond resolution. It is independent
16768
17133
  # of any calendar and concepts like "day" or "month". Range is approximately 10,
@@ -16772,7 +17137,8 @@ module Google
16772
17137
  attr_accessor :requested_run_duration
16773
17138
 
16774
17139
  # The number of instances to be created by this resize request. The group's
16775
- # target size will be increased by this number.
17140
+ # target size will be increased by this number. This field cannot be used
17141
+ # together with 'instances'.
16776
17142
  # Corresponds to the JSON property `resizeBy`
16777
17143
  # @return [Fixnum]
16778
17144
  attr_accessor :resize_by
@@ -16815,6 +17181,7 @@ module Google
16815
17181
  @id = args[:id] if args.key?(:id)
16816
17182
  @kind = args[:kind] if args.key?(:kind)
16817
17183
  @name = args[:name] if args.key?(:name)
17184
+ @region = args[:region] if args.key?(:region)
16818
17185
  @requested_run_duration = args[:requested_run_duration] if args.key?(:requested_run_duration)
16819
17186
  @resize_by = args[:resize_by] if args.key?(:resize_by)
16820
17187
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -17216,6 +17583,30 @@ module Google
17216
17583
  end
17217
17584
  end
17218
17585
 
17586
+ #
17587
+ class InstanceGroupManagerResourcePolicies
17588
+ include Google::Apis::Core::Hashable
17589
+
17590
+ # The URL of the workload policy that is specified for this managed instance
17591
+ # group. It can be a full or partial URL. For example, the following are all
17592
+ # valid URLs to a workload policy: - https://www.googleapis.com/compute/v1/
17593
+ # projects/project/regions/region /resourcePolicies/resourcePolicy - projects/
17594
+ # project/regions/region/resourcePolicies/resourcePolicy - regions/region/
17595
+ # resourcePolicies/resourcePolicy
17596
+ # Corresponds to the JSON property `workloadPolicy`
17597
+ # @return [String]
17598
+ attr_accessor :workload_policy
17599
+
17600
+ def initialize(**args)
17601
+ update!(**args)
17602
+ end
17603
+
17604
+ # Update properties of this object
17605
+ def update!(**args)
17606
+ @workload_policy = args[:workload_policy] if args.key?(:workload_policy)
17607
+ end
17608
+ end
17609
+
17219
17610
  #
17220
17611
  class InstanceGroupManagerStandbyPolicy
17221
17612
  include Google::Apis::Core::Hashable
@@ -19698,7 +20089,7 @@ module Google
19698
20089
  class InstancesGetEffectiveFirewallsResponse
19699
20090
  include Google::Apis::Core::Hashable
19700
20091
 
19701
- # Effective firewalls from firewall policies.
20092
+ # [Output Only] Effective firewalls from firewall policies.
19702
20093
  # Corresponds to the JSON property `firewallPolicys`
19703
20094
  # @return [Array<Google::Apis::ComputeBeta::InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy>]
19704
20095
  attr_accessor :firewall_policys
@@ -19746,7 +20137,9 @@ module Google
19746
20137
  # @return [Fixnum]
19747
20138
  attr_accessor :priority
19748
20139
 
19749
- # The rules that apply to the network.
20140
+ # [Output Only] The rules that apply to the instance. Only rules that target the
20141
+ # specific VM instance are returned if target service accounts or target secure
20142
+ # tags are specified in the rules.
19750
20143
  # Corresponds to the JSON property `rules`
19751
20144
  # @return [Array<Google::Apis::ComputeBeta::FirewallPolicyRule>]
19752
20145
  attr_accessor :rules
@@ -20676,6 +21069,12 @@ module Google
20676
21069
  class Interconnect
20677
21070
  include Google::Apis::Core::Hashable
20678
21071
 
21072
+ # Enable or disable the application awareness feature on this Cloud Interconnect.
21073
+ # Corresponds to the JSON property `aaiEnabled`
21074
+ # @return [Boolean]
21075
+ attr_accessor :aai_enabled
21076
+ alias_method :aai_enabled?, :aai_enabled
21077
+
20679
21078
  # Administrative status of the interconnect. When this is set to true, the
20680
21079
  # Interconnect is functional and can carry traffic. When set to false, no
20681
21080
  # packets can be carried over the interconnect and no BGP routes are exchanged
@@ -20685,8 +21084,13 @@ module Google
20685
21084
  attr_accessor :admin_enabled
20686
21085
  alias_method :admin_enabled?, :admin_enabled
20687
21086
 
21087
+ # Configuration information for application awareness on this Cloud Interconnect.
21088
+ # Corresponds to the JSON property `applicationAwareInterconnect`
21089
+ # @return [Google::Apis::ComputeBeta::InterconnectApplicationAwareInterconnect]
21090
+ attr_accessor :application_aware_interconnect
21091
+
20688
21092
  # [Output only] List of features available for this Interconnect connection,
20689
- # which can take one of the following values: - MACSEC If present then the
21093
+ # which can take one of the following values: - IF_MACSEC If present then the
20690
21094
  # Interconnect connection is provisioned on MACsec capable hardware ports. If
20691
21095
  # not present then the Interconnect connection is provisioned on non-MACsec
20692
21096
  # capable ports and MACsec isn't supported and enabling MACsec fails.
@@ -20857,7 +21261,7 @@ module Google
20857
21261
  attr_accessor :remote_location
20858
21262
 
20859
21263
  # Optional. List of features requested for this Interconnect connection, which
20860
- # can take one of the following values: - MACSEC If specified then the
21264
+ # can take one of the following values: - IF_MACSEC If specified then the
20861
21265
  # connection is created on MACsec capable hardware ports. If not specified, the
20862
21266
  # default value is false, which allocates non-MACsec capable ports first if
20863
21267
  # available. This parameter can be provided only with Interconnect INSERT. It
@@ -20900,7 +21304,9 @@ module Google
20900
21304
 
20901
21305
  # Update properties of this object
20902
21306
  def update!(**args)
21307
+ @aai_enabled = args[:aai_enabled] if args.key?(:aai_enabled)
20903
21308
  @admin_enabled = args[:admin_enabled] if args.key?(:admin_enabled)
21309
+ @application_aware_interconnect = args[:application_aware_interconnect] if args.key?(:application_aware_interconnect)
20904
21310
  @available_features = args[:available_features] if args.key?(:available_features)
20905
21311
  @circuit_infos = args[:circuit_infos] if args.key?(:circuit_infos)
20906
21312
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
@@ -20933,6 +21339,104 @@ module Google
20933
21339
  end
20934
21340
  end
20935
21341
 
21342
+ # Configuration information for application awareness on this Cloud Interconnect.
21343
+ class InterconnectApplicationAwareInterconnect
21344
+ include Google::Apis::Core::Hashable
21345
+
21346
+ #
21347
+ # Corresponds to the JSON property `bandwidthPercentagePolicy`
21348
+ # @return [Google::Apis::ComputeBeta::InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy]
21349
+ attr_accessor :bandwidth_percentage_policy
21350
+
21351
+ # Description for the application awareness profile on this Cloud Interconnect.
21352
+ # Corresponds to the JSON property `profileDescription`
21353
+ # @return [String]
21354
+ attr_accessor :profile_description
21355
+
21356
+ # Optional field to specify a list of shape average percentages to be applied in
21357
+ # conjunction with StrictPriorityPolicy or BandwidthPercentagePolicy.
21358
+ # Corresponds to the JSON property `shapeAveragePercentages`
21359
+ # @return [Array<Google::Apis::ComputeBeta::InterconnectApplicationAwareInterconnectBandwidthPercentage>]
21360
+ attr_accessor :shape_average_percentages
21361
+
21362
+ # Specify configuration for StrictPriorityPolicy.
21363
+ # Corresponds to the JSON property `strictPriorityPolicy`
21364
+ # @return [Google::Apis::ComputeBeta::InterconnectApplicationAwareInterconnectStrictPriorityPolicy]
21365
+ attr_accessor :strict_priority_policy
21366
+
21367
+ def initialize(**args)
21368
+ update!(**args)
21369
+ end
21370
+
21371
+ # Update properties of this object
21372
+ def update!(**args)
21373
+ @bandwidth_percentage_policy = args[:bandwidth_percentage_policy] if args.key?(:bandwidth_percentage_policy)
21374
+ @profile_description = args[:profile_description] if args.key?(:profile_description)
21375
+ @shape_average_percentages = args[:shape_average_percentages] if args.key?(:shape_average_percentages)
21376
+ @strict_priority_policy = args[:strict_priority_policy] if args.key?(:strict_priority_policy)
21377
+ end
21378
+ end
21379
+
21380
+ # Specify bandwidth percentages [1-100] for various traffic classes in
21381
+ # BandwidthPercentagePolicy. The sum of all percentages must equal 100. All
21382
+ # traffic classes must have a percentage value specified.
21383
+ class InterconnectApplicationAwareInterconnectBandwidthPercentage
21384
+ include Google::Apis::Core::Hashable
21385
+
21386
+ # Bandwidth percentage for a specific traffic class.
21387
+ # Corresponds to the JSON property `percentage`
21388
+ # @return [Fixnum]
21389
+ attr_accessor :percentage
21390
+
21391
+ # TrafficClass whose bandwidth percentage is being specified.
21392
+ # Corresponds to the JSON property `trafficClass`
21393
+ # @return [String]
21394
+ attr_accessor :traffic_class
21395
+
21396
+ def initialize(**args)
21397
+ update!(**args)
21398
+ end
21399
+
21400
+ # Update properties of this object
21401
+ def update!(**args)
21402
+ @percentage = args[:percentage] if args.key?(:percentage)
21403
+ @traffic_class = args[:traffic_class] if args.key?(:traffic_class)
21404
+ end
21405
+ end
21406
+
21407
+ #
21408
+ class InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy
21409
+ include Google::Apis::Core::Hashable
21410
+
21411
+ # Specify bandwidth percentages for various traffic classes for queuing type
21412
+ # Bandwidth Percent.
21413
+ # Corresponds to the JSON property `bandwidthPercentages`
21414
+ # @return [Array<Google::Apis::ComputeBeta::InterconnectApplicationAwareInterconnectBandwidthPercentage>]
21415
+ attr_accessor :bandwidth_percentages
21416
+
21417
+ def initialize(**args)
21418
+ update!(**args)
21419
+ end
21420
+
21421
+ # Update properties of this object
21422
+ def update!(**args)
21423
+ @bandwidth_percentages = args[:bandwidth_percentages] if args.key?(:bandwidth_percentages)
21424
+ end
21425
+ end
21426
+
21427
+ # Specify configuration for StrictPriorityPolicy.
21428
+ class InterconnectApplicationAwareInterconnectStrictPriorityPolicy
21429
+ include Google::Apis::Core::Hashable
21430
+
21431
+ def initialize(**args)
21432
+ update!(**args)
21433
+ end
21434
+
21435
+ # Update properties of this object
21436
+ def update!(**args)
21437
+ end
21438
+ end
21439
+
20936
21440
  # Represents an Interconnect Attachment (VLAN) resource. You can use
20937
21441
  # Interconnect attachments (VLANS) to connect your Virtual Private Cloud
20938
21442
  # networks to your on-premises networks through an Interconnect. For more
@@ -23545,131 +24049,6 @@ module Google
23545
24049
  end
23546
24050
  end
23547
24051
 
23548
- # This is deprecated and has no effect. Do not use.
23549
- class LogConfig
23550
- include Google::Apis::Core::Hashable
23551
-
23552
- # This is deprecated and has no effect. Do not use.
23553
- # Corresponds to the JSON property `cloudAudit`
23554
- # @return [Google::Apis::ComputeBeta::LogConfigCloudAuditOptions]
23555
- attr_accessor :cloud_audit
23556
-
23557
- # This is deprecated and has no effect. Do not use.
23558
- # Corresponds to the JSON property `counter`
23559
- # @return [Google::Apis::ComputeBeta::LogConfigCounterOptions]
23560
- attr_accessor :counter
23561
-
23562
- # This is deprecated and has no effect. Do not use.
23563
- # Corresponds to the JSON property `dataAccess`
23564
- # @return [Google::Apis::ComputeBeta::LogConfigDataAccessOptions]
23565
- attr_accessor :data_access
23566
-
23567
- def initialize(**args)
23568
- update!(**args)
23569
- end
23570
-
23571
- # Update properties of this object
23572
- def update!(**args)
23573
- @cloud_audit = args[:cloud_audit] if args.key?(:cloud_audit)
23574
- @counter = args[:counter] if args.key?(:counter)
23575
- @data_access = args[:data_access] if args.key?(:data_access)
23576
- end
23577
- end
23578
-
23579
- # This is deprecated and has no effect. Do not use.
23580
- class LogConfigCloudAuditOptions
23581
- include Google::Apis::Core::Hashable
23582
-
23583
- # This is deprecated and has no effect. Do not use.
23584
- # Corresponds to the JSON property `logName`
23585
- # @return [String]
23586
- attr_accessor :log_name
23587
-
23588
- def initialize(**args)
23589
- update!(**args)
23590
- end
23591
-
23592
- # Update properties of this object
23593
- def update!(**args)
23594
- @log_name = args[:log_name] if args.key?(:log_name)
23595
- end
23596
- end
23597
-
23598
- # This is deprecated and has no effect. Do not use.
23599
- class LogConfigCounterOptions
23600
- include Google::Apis::Core::Hashable
23601
-
23602
- # This is deprecated and has no effect. Do not use.
23603
- # Corresponds to the JSON property `customFields`
23604
- # @return [Array<Google::Apis::ComputeBeta::LogConfigCounterOptionsCustomField>]
23605
- attr_accessor :custom_fields
23606
-
23607
- # This is deprecated and has no effect. Do not use.
23608
- # Corresponds to the JSON property `field`
23609
- # @return [String]
23610
- attr_accessor :field
23611
-
23612
- # This is deprecated and has no effect. Do not use.
23613
- # Corresponds to the JSON property `metric`
23614
- # @return [String]
23615
- attr_accessor :metric
23616
-
23617
- def initialize(**args)
23618
- update!(**args)
23619
- end
23620
-
23621
- # Update properties of this object
23622
- def update!(**args)
23623
- @custom_fields = args[:custom_fields] if args.key?(:custom_fields)
23624
- @field = args[:field] if args.key?(:field)
23625
- @metric = args[:metric] if args.key?(:metric)
23626
- end
23627
- end
23628
-
23629
- # This is deprecated and has no effect. Do not use.
23630
- class LogConfigCounterOptionsCustomField
23631
- include Google::Apis::Core::Hashable
23632
-
23633
- # This is deprecated and has no effect. Do not use.
23634
- # Corresponds to the JSON property `name`
23635
- # @return [String]
23636
- attr_accessor :name
23637
-
23638
- # This is deprecated and has no effect. Do not use.
23639
- # Corresponds to the JSON property `value`
23640
- # @return [String]
23641
- attr_accessor :value
23642
-
23643
- def initialize(**args)
23644
- update!(**args)
23645
- end
23646
-
23647
- # Update properties of this object
23648
- def update!(**args)
23649
- @name = args[:name] if args.key?(:name)
23650
- @value = args[:value] if args.key?(:value)
23651
- end
23652
- end
23653
-
23654
- # This is deprecated and has no effect. Do not use.
23655
- class LogConfigDataAccessOptions
23656
- include Google::Apis::Core::Hashable
23657
-
23658
- # This is deprecated and has no effect. Do not use.
23659
- # Corresponds to the JSON property `logMode`
23660
- # @return [String]
23661
- attr_accessor :log_mode
23662
-
23663
- def initialize(**args)
23664
- update!(**args)
23665
- end
23666
-
23667
- # Update properties of this object
23668
- def update!(**args)
23669
- @log_mode = args[:log_mode] if args.key?(:log_mode)
23670
- end
23671
- end
23672
-
23673
24052
  # Represents a machine image resource. A machine image is a Compute Engine
23674
24053
  # resource that stores all the configuration, metadata, permissions, and data
23675
24054
  # from one or more disks required to create a Virtual machine (VM) instance. For
@@ -23954,6 +24333,11 @@ module Google
23954
24333
  # @return [Array<Google::Apis::ComputeBeta::MachineType::Accelerator>]
23955
24334
  attr_accessor :accelerators
23956
24335
 
24336
+ # [Output Only] The architecture of the machine type.
24337
+ # Corresponds to the JSON property `architecture`
24338
+ # @return [String]
24339
+ attr_accessor :architecture
24340
+
23957
24341
  # [Output Only] The configuration of bundled local SSD for the machine type.
23958
24342
  # Corresponds to the JSON property `bundledLocalSsds`
23959
24343
  # @return [Google::Apis::ComputeBeta::BundledLocalSsds]
@@ -24037,6 +24421,7 @@ module Google
24037
24421
  # Update properties of this object
24038
24422
  def update!(**args)
24039
24423
  @accelerators = args[:accelerators] if args.key?(:accelerators)
24424
+ @architecture = args[:architecture] if args.key?(:architecture)
24040
24425
  @bundled_local_ssds = args[:bundled_local_ssds] if args.key?(:bundled_local_ssds)
24041
24426
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
24042
24427
  @deprecated = args[:deprecated] if args.key?(:deprecated)
@@ -24456,12 +24841,6 @@ module Google
24456
24841
  # @return [String]
24457
24842
  attr_accessor :instance
24458
24843
 
24459
- # [Output Only] The overrides to instance properties resulting from
24460
- # InstanceFlexibilityPolicy.
24461
- # Corresponds to the JSON property `instanceFlexibilityOverride`
24462
- # @return [Google::Apis::ComputeBeta::ManagedInstanceInstanceFlexibilityOverride]
24463
- attr_accessor :instance_flexibility_override
24464
-
24465
24844
  # [Output Only] Health state of the instance per health-check.
24466
24845
  # Corresponds to the JSON property `instanceHealth`
24467
24846
  # @return [Array<Google::Apis::ComputeBeta::ManagedInstanceInstanceHealth>]
@@ -24523,7 +24902,6 @@ module Google
24523
24902
  @current_action = args[:current_action] if args.key?(:current_action)
24524
24903
  @id = args[:id] if args.key?(:id)
24525
24904
  @instance = args[:instance] if args.key?(:instance)
24526
- @instance_flexibility_override = args[:instance_flexibility_override] if args.key?(:instance_flexibility_override)
24527
24905
  @instance_health = args[:instance_health] if args.key?(:instance_health)
24528
24906
  @instance_status = args[:instance_status] if args.key?(:instance_status)
24529
24907
  @last_attempt = args[:last_attempt] if args.key?(:last_attempt)
@@ -24556,25 +24934,6 @@ module Google
24556
24934
  end
24557
24935
  end
24558
24936
 
24559
- #
24560
- class ManagedInstanceInstanceFlexibilityOverride
24561
- include Google::Apis::Core::Hashable
24562
-
24563
- # The machine type to be used for this instance.
24564
- # Corresponds to the JSON property `machineType`
24565
- # @return [String]
24566
- attr_accessor :machine_type
24567
-
24568
- def initialize(**args)
24569
- update!(**args)
24570
- end
24571
-
24572
- # Update properties of this object
24573
- def update!(**args)
24574
- @machine_type = args[:machine_type] if args.key?(:machine_type)
24575
- end
24576
- end
24577
-
24578
24937
  #
24579
24938
  class ManagedInstanceInstanceHealth
24580
24939
  include Google::Apis::Core::Hashable
@@ -24921,6 +25280,222 @@ module Google
24921
25280
  end
24922
25281
  end
24923
25282
 
25283
+ # Multi-MIG represents a group of managed instance groups.
25284
+ class MultiMig
25285
+ include Google::Apis::Core::Hashable
25286
+
25287
+ # [Output only] The creation timestamp of this multi-MIG in RFC3339 text format.
25288
+ # Corresponds to the JSON property `creationTimestamp`
25289
+ # @return [String]
25290
+ attr_accessor :creation_timestamp
25291
+
25292
+ # An optional description of this resource.
25293
+ # Corresponds to the JSON property `description`
25294
+ # @return [String]
25295
+ attr_accessor :description
25296
+
25297
+ # [Output only] The unique identifier for this resource type. The server
25298
+ # generates this identifier.
25299
+ # Corresponds to the JSON property `id`
25300
+ # @return [Fixnum]
25301
+ attr_accessor :id
25302
+
25303
+ # [Output only] Type of the resource. Always compute#multiMig for multi-MIGs.
25304
+ # Corresponds to the JSON property `kind`
25305
+ # @return [String]
25306
+ attr_accessor :kind
25307
+
25308
+ # The name of the multi-MIG. The name must be 1-63 characters long, and comply
25309
+ # with RFC1035. Specifically, the name must be 1-63 characters long and match
25310
+ # the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first
25311
+ # character must be a lowercase letter, and all following characters must be a
25312
+ # dash, lowercase letter, or digit, except the last character, which cannot be a
25313
+ # dash.
25314
+ # Corresponds to the JSON property `name`
25315
+ # @return [String]
25316
+ attr_accessor :name
25317
+
25318
+ # [Output only] The URL of the region where the resource resides. You must
25319
+ # specify this field as part of the HTTP request URL. You cannot set the region
25320
+ # as a field in the request body.
25321
+ # Corresponds to the JSON property `region`
25322
+ # @return [String]
25323
+ attr_accessor :region
25324
+
25325
+ # Resource policies for this multi-MIG.
25326
+ # Corresponds to the JSON property `resourcePolicies`
25327
+ # @return [Google::Apis::ComputeBeta::MultiMigResourcePolicies]
25328
+ attr_accessor :resource_policies
25329
+
25330
+ # [Output only] Server-defined URL for the resource.
25331
+ # Corresponds to the JSON property `selfLink`
25332
+ # @return [String]
25333
+ attr_accessor :self_link
25334
+
25335
+ def initialize(**args)
25336
+ update!(**args)
25337
+ end
25338
+
25339
+ # Update properties of this object
25340
+ def update!(**args)
25341
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
25342
+ @description = args[:description] if args.key?(:description)
25343
+ @id = args[:id] if args.key?(:id)
25344
+ @kind = args[:kind] if args.key?(:kind)
25345
+ @name = args[:name] if args.key?(:name)
25346
+ @region = args[:region] if args.key?(:region)
25347
+ @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
25348
+ @self_link = args[:self_link] if args.key?(:self_link)
25349
+ end
25350
+ end
25351
+
25352
+ #
25353
+ class MultiMigResourcePolicies
25354
+ include Google::Apis::Core::Hashable
25355
+
25356
+ #
25357
+ # Corresponds to the JSON property `workloadPolicy`
25358
+ # @return [String]
25359
+ attr_accessor :workload_policy
25360
+
25361
+ def initialize(**args)
25362
+ update!(**args)
25363
+ end
25364
+
25365
+ # Update properties of this object
25366
+ def update!(**args)
25367
+ @workload_policy = args[:workload_policy] if args.key?(:workload_policy)
25368
+ end
25369
+ end
25370
+
25371
+ #
25372
+ class MultiMigsList
25373
+ include Google::Apis::Core::Hashable
25374
+
25375
+ #
25376
+ # Corresponds to the JSON property `etag`
25377
+ # @return [String]
25378
+ attr_accessor :etag
25379
+
25380
+ # Unique identifier for the resource; defined by the server.
25381
+ # Corresponds to the JSON property `id`
25382
+ # @return [String]
25383
+ attr_accessor :id
25384
+
25385
+ # A list of multi-MIGs in the specified project and region.
25386
+ # Corresponds to the JSON property `items`
25387
+ # @return [Array<Google::Apis::ComputeBeta::MultiMig>]
25388
+ attr_accessor :items
25389
+
25390
+ # Type of resource.
25391
+ # Corresponds to the JSON property `kind`
25392
+ # @return [String]
25393
+ attr_accessor :kind
25394
+
25395
+ # This token allows you to get the next page of results for maxResults, use the
25396
+ # nextPageToken as a value for the query parameter pageToken in the next list
25397
+ # request. Subsequent list requests will have their own nextPageToken to
25398
+ # continue paging through the results.
25399
+ # Corresponds to the JSON property `nextPageToken`
25400
+ # @return [String]
25401
+ attr_accessor :next_page_token
25402
+
25403
+ # [Output only] Server-defined URL for this resource.
25404
+ # Corresponds to the JSON property `selfLink`
25405
+ # @return [String]
25406
+ attr_accessor :self_link
25407
+
25408
+ # [Output only] Unreachable resources.
25409
+ # Corresponds to the JSON property `unreachables`
25410
+ # @return [Array<String>]
25411
+ attr_accessor :unreachables
25412
+
25413
+ # Informational warning message.
25414
+ # Corresponds to the JSON property `warning`
25415
+ # @return [Google::Apis::ComputeBeta::MultiMigsList::Warning]
25416
+ attr_accessor :warning
25417
+
25418
+ def initialize(**args)
25419
+ update!(**args)
25420
+ end
25421
+
25422
+ # Update properties of this object
25423
+ def update!(**args)
25424
+ @etag = args[:etag] if args.key?(:etag)
25425
+ @id = args[:id] if args.key?(:id)
25426
+ @items = args[:items] if args.key?(:items)
25427
+ @kind = args[:kind] if args.key?(:kind)
25428
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
25429
+ @self_link = args[:self_link] if args.key?(:self_link)
25430
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
25431
+ @warning = args[:warning] if args.key?(:warning)
25432
+ end
25433
+
25434
+ # Informational warning message.
25435
+ class Warning
25436
+ include Google::Apis::Core::Hashable
25437
+
25438
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
25439
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
25440
+ # Corresponds to the JSON property `code`
25441
+ # @return [String]
25442
+ attr_accessor :code
25443
+
25444
+ # [Output Only] Metadata about this warning in key: value format. For example: "
25445
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
25446
+ # Corresponds to the JSON property `data`
25447
+ # @return [Array<Google::Apis::ComputeBeta::MultiMigsList::Warning::Datum>]
25448
+ attr_accessor :data
25449
+
25450
+ # [Output Only] A human-readable description of the warning code.
25451
+ # Corresponds to the JSON property `message`
25452
+ # @return [String]
25453
+ attr_accessor :message
25454
+
25455
+ def initialize(**args)
25456
+ update!(**args)
25457
+ end
25458
+
25459
+ # Update properties of this object
25460
+ def update!(**args)
25461
+ @code = args[:code] if args.key?(:code)
25462
+ @data = args[:data] if args.key?(:data)
25463
+ @message = args[:message] if args.key?(:message)
25464
+ end
25465
+
25466
+ #
25467
+ class Datum
25468
+ include Google::Apis::Core::Hashable
25469
+
25470
+ # [Output Only] A key that provides more detail on the warning being returned.
25471
+ # For example, for warnings where there are no results in a list request for a
25472
+ # particular zone, this key might be scope and the key value might be the zone
25473
+ # name. Other examples might be a key indicating a deprecated resource and a
25474
+ # suggested replacement, or a warning about invalid network settings (for
25475
+ # example, if an instance attempts to perform IP forwarding but is not enabled
25476
+ # for IP forwarding).
25477
+ # Corresponds to the JSON property `key`
25478
+ # @return [String]
25479
+ attr_accessor :key
25480
+
25481
+ # [Output Only] A warning data value corresponding to the key.
25482
+ # Corresponds to the JSON property `value`
25483
+ # @return [String]
25484
+ attr_accessor :value
25485
+
25486
+ def initialize(**args)
25487
+ update!(**args)
25488
+ end
25489
+
25490
+ # Update properties of this object
25491
+ def update!(**args)
25492
+ @key = args[:key] if args.key?(:key)
25493
+ @value = args[:value] if args.key?(:value)
25494
+ end
25495
+ end
25496
+ end
25497
+ end
25498
+
24924
25499
  # The named port. For example: <"http", 80>.
24925
25500
  class NamedPort
24926
25501
  include Google::Apis::Core::Hashable
@@ -25121,6 +25696,15 @@ module Google
25121
25696
  # @return [String]
25122
25697
  attr_accessor :network_firewall_policy_enforcement_order
25123
25698
 
25699
+ # A full or partial URL of the network profile to apply to this network. This
25700
+ # field can be set only at resource creation time. For example, the following
25701
+ # are valid URLs: - https://www.googleapis.com/compute/alpha/projects/`
25702
+ # project_id`/global/networkProfiles/`network_profile_name` - projects/`
25703
+ # project_id`/global/networkProfiles/`network_profile_name`
25704
+ # Corresponds to the JSON property `networkProfile`
25705
+ # @return [String]
25706
+ attr_accessor :network_profile
25707
+
25124
25708
  # [Output Only] A list of network peerings for the resource.
25125
25709
  # Corresponds to the JSON property `peerings`
25126
25710
  # @return [Array<Google::Apis::ComputeBeta::NetworkPeering>]
@@ -25168,6 +25752,7 @@ module Google
25168
25752
  @mtu = args[:mtu] if args.key?(:mtu)
25169
25753
  @name = args[:name] if args.key?(:name)
25170
25754
  @network_firewall_policy_enforcement_order = args[:network_firewall_policy_enforcement_order] if args.key?(:network_firewall_policy_enforcement_order)
25755
+ @network_profile = args[:network_profile] if args.key?(:network_profile)
25171
25756
  @peerings = args[:peerings] if args.key?(:peerings)
25172
25757
  @routing_config = args[:routing_config] if args.key?(:routing_config)
25173
25758
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -26660,6 +27245,12 @@ module Google
26660
27245
  # @return [String]
26661
27246
  attr_accessor :consumer_psc_address
26662
27247
 
27248
+ # The psc producer port is used to connect PSC NEG with specific port on the PSC
27249
+ # Producer side; should only be used for the PRIVATE_SERVICE_CONNECT NEG type
27250
+ # Corresponds to the JSON property `producerPort`
27251
+ # @return [Fixnum]
27252
+ attr_accessor :producer_port
27253
+
26663
27254
  # [Output Only] The PSC connection id of the PSC Network Endpoint Group Consumer.
26664
27255
  # Corresponds to the JSON property `pscConnectionId`
26665
27256
  # @return [Fixnum]
@@ -26677,6 +27268,7 @@ module Google
26677
27268
  # Update properties of this object
26678
27269
  def update!(**args)
26679
27270
  @consumer_psc_address = args[:consumer_psc_address] if args.key?(:consumer_psc_address)
27271
+ @producer_port = args[:producer_port] if args.key?(:producer_port)
26680
27272
  @psc_connection_id = args[:psc_connection_id] if args.key?(:psc_connection_id)
26681
27273
  @psc_connection_status = args[:psc_connection_status] if args.key?(:psc_connection_status)
26682
27274
  end
@@ -27454,12 +28046,381 @@ module Google
27454
28046
  end
27455
28047
  end
27456
28048
 
28049
+ # NetworkProfile represents a Google managed network profile resource.
28050
+ class NetworkProfile
28051
+ include Google::Apis::Core::Hashable
28052
+
28053
+ # [Output Only] Creation timestamp in RFC3339 text format.
28054
+ # Corresponds to the JSON property `creationTimestamp`
28055
+ # @return [String]
28056
+ attr_accessor :creation_timestamp
28057
+
28058
+ # [Output Only] An optional description of this resource.
28059
+ # Corresponds to the JSON property `description`
28060
+ # @return [String]
28061
+ attr_accessor :description
28062
+
28063
+ # [Output Only] Features supported by the network.
28064
+ # Corresponds to the JSON property `features`
28065
+ # @return [Google::Apis::ComputeBeta::NetworkProfileNetworkFeatures]
28066
+ attr_accessor :features
28067
+
28068
+ # [Output Only] The unique identifier for the resource. This identifier is
28069
+ # defined by the server.
28070
+ # Corresponds to the JSON property `id`
28071
+ # @return [Fixnum]
28072
+ attr_accessor :id
28073
+
28074
+ # [Output Only] Type of the resource. Always compute#networkProfile for network
28075
+ # profiles.
28076
+ # Corresponds to the JSON property `kind`
28077
+ # @return [String]
28078
+ attr_accessor :kind
28079
+
28080
+ # [Output Only] Name of the resource.
28081
+ # Corresponds to the JSON property `name`
28082
+ # @return [String]
28083
+ attr_accessor :name
28084
+
28085
+ # [Output Only] Server-defined URL for the resource.
28086
+ # Corresponds to the JSON property `selfLink`
28087
+ # @return [String]
28088
+ attr_accessor :self_link
28089
+
28090
+ # [Output Only] Server-defined URL for this resource with the resource id.
28091
+ # Corresponds to the JSON property `selfLinkWithId`
28092
+ # @return [String]
28093
+ attr_accessor :self_link_with_id
28094
+
28095
+ # [Output Only] Zone to which the network is restricted.
28096
+ # Corresponds to the JSON property `zone`
28097
+ # @return [String]
28098
+ attr_accessor :zone
28099
+
28100
+ def initialize(**args)
28101
+ update!(**args)
28102
+ end
28103
+
28104
+ # Update properties of this object
28105
+ def update!(**args)
28106
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
28107
+ @description = args[:description] if args.key?(:description)
28108
+ @features = args[:features] if args.key?(:features)
28109
+ @id = args[:id] if args.key?(:id)
28110
+ @kind = args[:kind] if args.key?(:kind)
28111
+ @name = args[:name] if args.key?(:name)
28112
+ @self_link = args[:self_link] if args.key?(:self_link)
28113
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
28114
+ @zone = args[:zone] if args.key?(:zone)
28115
+ end
28116
+ end
28117
+
28118
+ #
28119
+ class NetworkProfileNetworkFeatures
28120
+ include Google::Apis::Core::Hashable
28121
+
28122
+ # Specifies what address purposes are supported. If empty, all address purposes
28123
+ # are supported.
28124
+ # Corresponds to the JSON property `addressPurposes`
28125
+ # @return [Array<String>]
28126
+ attr_accessor :address_purposes
28127
+
28128
+ # Specifies whether alias IP ranges (and secondary address ranges) are allowed.
28129
+ # Corresponds to the JSON property `allowAliasIpRanges`
28130
+ # @return [String]
28131
+ attr_accessor :allow_alias_ip_ranges
28132
+
28133
+ # Specifies whether auto mode subnet creation is allowed.
28134
+ # Corresponds to the JSON property `allowAutoModeSubnet`
28135
+ # @return [String]
28136
+ attr_accessor :allow_auto_mode_subnet
28137
+
28138
+ # Specifies whether firewalls for Class D address ranges are supported.
28139
+ # Corresponds to the JSON property `allowClassDFirewalls`
28140
+ # @return [String]
28141
+ attr_accessor :allow_class_d_firewalls
28142
+
28143
+ # Specifies whether cloud NAT creation is allowed.
28144
+ # Corresponds to the JSON property `allowCloudNat`
28145
+ # @return [String]
28146
+ attr_accessor :allow_cloud_nat
28147
+
28148
+ # Specifies whether cloud router creation is allowed.
28149
+ # Corresponds to the JSON property `allowCloudRouter`
28150
+ # @return [String]
28151
+ attr_accessor :allow_cloud_router
28152
+
28153
+ # Specifies whether VMs are allowed to have external IP access on network
28154
+ # interfaces connected to this VPC.
28155
+ # Corresponds to the JSON property `allowExternalIpAccess`
28156
+ # @return [String]
28157
+ attr_accessor :allow_external_ip_access
28158
+
28159
+ # Specifies whether Cloud Interconnect creation is allowed.
28160
+ # Corresponds to the JSON property `allowInterconnect`
28161
+ # @return [String]
28162
+ attr_accessor :allow_interconnect
28163
+
28164
+ # Specifies whether cloud load balancing is allowed.
28165
+ # Corresponds to the JSON property `allowLoadBalancing`
28166
+ # @return [String]
28167
+ attr_accessor :allow_load_balancing
28168
+
28169
+ # Specifies whether multi-nic in the same network is allowed.
28170
+ # Corresponds to the JSON property `allowMultiNicInSameNetwork`
28171
+ # @return [String]
28172
+ attr_accessor :allow_multi_nic_in_same_network
28173
+
28174
+ # Specifies whether Packet Mirroring 1.0 is supported.
28175
+ # Corresponds to the JSON property `allowPacketMirroring`
28176
+ # @return [String]
28177
+ attr_accessor :allow_packet_mirroring
28178
+
28179
+ # Specifies whether private Google access is allowed.
28180
+ # Corresponds to the JSON property `allowPrivateGoogleAccess`
28181
+ # @return [String]
28182
+ attr_accessor :allow_private_google_access
28183
+
28184
+ # Specifies whether PSC creation is allowed.
28185
+ # Corresponds to the JSON property `allowPsc`
28186
+ # @return [String]
28187
+ attr_accessor :allow_psc
28188
+
28189
+ # Specifies whether unicast within the same network is allowed.
28190
+ # Corresponds to the JSON property `allowSameNetworkUnicast`
28191
+ # @return [String]
28192
+ attr_accessor :allow_same_network_unicast
28193
+
28194
+ # Specifies whether static route creation is allowed.
28195
+ # Corresponds to the JSON property `allowStaticRoutes`
28196
+ # @return [String]
28197
+ attr_accessor :allow_static_routes
28198
+
28199
+ # Specifies whether sub interfaces are allowed.
28200
+ # Corresponds to the JSON property `allowSubInterfaces`
28201
+ # @return [String]
28202
+ attr_accessor :allow_sub_interfaces
28203
+
28204
+ # Specifies whether VPC peering is allowed.
28205
+ # Corresponds to the JSON property `allowVpcPeering`
28206
+ # @return [String]
28207
+ attr_accessor :allow_vpc_peering
28208
+
28209
+ # Specifies whether VPN creation is allowed.
28210
+ # Corresponds to the JSON property `allowVpn`
28211
+ # @return [String]
28212
+ attr_accessor :allow_vpn
28213
+
28214
+ # If set, limits the interface types that the network supports. If empty, all
28215
+ # interface types are supported.
28216
+ # Corresponds to the JSON property `interfaceTypes`
28217
+ # @return [Array<String>]
28218
+ attr_accessor :interface_types
28219
+
28220
+ # Specifies which subnetwork purposes are supported.
28221
+ # Corresponds to the JSON property `subnetPurposes`
28222
+ # @return [Array<String>]
28223
+ attr_accessor :subnet_purposes
28224
+
28225
+ # Specifies which subnetwork stack types are supported.
28226
+ # Corresponds to the JSON property `subnetStackTypes`
28227
+ # @return [Array<String>]
28228
+ attr_accessor :subnet_stack_types
28229
+
28230
+ # Specifies which type of unicast is supported.
28231
+ # Corresponds to the JSON property `unicast`
28232
+ # @return [String]
28233
+ attr_accessor :unicast
28234
+
28235
+ def initialize(**args)
28236
+ update!(**args)
28237
+ end
28238
+
28239
+ # Update properties of this object
28240
+ def update!(**args)
28241
+ @address_purposes = args[:address_purposes] if args.key?(:address_purposes)
28242
+ @allow_alias_ip_ranges = args[:allow_alias_ip_ranges] if args.key?(:allow_alias_ip_ranges)
28243
+ @allow_auto_mode_subnet = args[:allow_auto_mode_subnet] if args.key?(:allow_auto_mode_subnet)
28244
+ @allow_class_d_firewalls = args[:allow_class_d_firewalls] if args.key?(:allow_class_d_firewalls)
28245
+ @allow_cloud_nat = args[:allow_cloud_nat] if args.key?(:allow_cloud_nat)
28246
+ @allow_cloud_router = args[:allow_cloud_router] if args.key?(:allow_cloud_router)
28247
+ @allow_external_ip_access = args[:allow_external_ip_access] if args.key?(:allow_external_ip_access)
28248
+ @allow_interconnect = args[:allow_interconnect] if args.key?(:allow_interconnect)
28249
+ @allow_load_balancing = args[:allow_load_balancing] if args.key?(:allow_load_balancing)
28250
+ @allow_multi_nic_in_same_network = args[:allow_multi_nic_in_same_network] if args.key?(:allow_multi_nic_in_same_network)
28251
+ @allow_packet_mirroring = args[:allow_packet_mirroring] if args.key?(:allow_packet_mirroring)
28252
+ @allow_private_google_access = args[:allow_private_google_access] if args.key?(:allow_private_google_access)
28253
+ @allow_psc = args[:allow_psc] if args.key?(:allow_psc)
28254
+ @allow_same_network_unicast = args[:allow_same_network_unicast] if args.key?(:allow_same_network_unicast)
28255
+ @allow_static_routes = args[:allow_static_routes] if args.key?(:allow_static_routes)
28256
+ @allow_sub_interfaces = args[:allow_sub_interfaces] if args.key?(:allow_sub_interfaces)
28257
+ @allow_vpc_peering = args[:allow_vpc_peering] if args.key?(:allow_vpc_peering)
28258
+ @allow_vpn = args[:allow_vpn] if args.key?(:allow_vpn)
28259
+ @interface_types = args[:interface_types] if args.key?(:interface_types)
28260
+ @subnet_purposes = args[:subnet_purposes] if args.key?(:subnet_purposes)
28261
+ @subnet_stack_types = args[:subnet_stack_types] if args.key?(:subnet_stack_types)
28262
+ @unicast = args[:unicast] if args.key?(:unicast)
28263
+ end
28264
+ end
28265
+
28266
+ # Contains a list of network profiles.
28267
+ class NetworkProfilesListResponse
28268
+ include Google::Apis::Core::Hashable
28269
+
28270
+ #
28271
+ # Corresponds to the JSON property `etag`
28272
+ # @return [String]
28273
+ attr_accessor :etag
28274
+
28275
+ # [Output Only] Unique identifier for the resource; defined by the server.
28276
+ # Corresponds to the JSON property `id`
28277
+ # @return [String]
28278
+ attr_accessor :id
28279
+
28280
+ # A list of NetworkProfile resources.
28281
+ # Corresponds to the JSON property `items`
28282
+ # @return [Array<Google::Apis::ComputeBeta::NetworkProfile>]
28283
+ attr_accessor :items
28284
+
28285
+ # [Output Only] Type of resource. Always compute#networkProfileList for network
28286
+ # profiles.
28287
+ # Corresponds to the JSON property `kind`
28288
+ # @return [String]
28289
+ attr_accessor :kind
28290
+
28291
+ # [Output Only] This token allows you to get the next page of results for list
28292
+ # requests. If the number of results is larger than maxResults, use the
28293
+ # nextPageToken as a value for the query parameter pageToken in the next list
28294
+ # request. Subsequent list requests will have their own nextPageToken to
28295
+ # continue paging through the results.
28296
+ # Corresponds to the JSON property `nextPageToken`
28297
+ # @return [String]
28298
+ attr_accessor :next_page_token
28299
+
28300
+ # [Output Only] Server-defined URL for this resource.
28301
+ # Corresponds to the JSON property `selfLink`
28302
+ # @return [String]
28303
+ attr_accessor :self_link
28304
+
28305
+ # [Output Only] Unreachable resources. end_interface:
28306
+ # MixerListResponseWithEtagBuilder
28307
+ # Corresponds to the JSON property `unreachables`
28308
+ # @return [Array<String>]
28309
+ attr_accessor :unreachables
28310
+
28311
+ # [Output Only] Informational warning message.
28312
+ # Corresponds to the JSON property `warning`
28313
+ # @return [Google::Apis::ComputeBeta::NetworkProfilesListResponse::Warning]
28314
+ attr_accessor :warning
28315
+
28316
+ def initialize(**args)
28317
+ update!(**args)
28318
+ end
28319
+
28320
+ # Update properties of this object
28321
+ def update!(**args)
28322
+ @etag = args[:etag] if args.key?(:etag)
28323
+ @id = args[:id] if args.key?(:id)
28324
+ @items = args[:items] if args.key?(:items)
28325
+ @kind = args[:kind] if args.key?(:kind)
28326
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
28327
+ @self_link = args[:self_link] if args.key?(:self_link)
28328
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
28329
+ @warning = args[:warning] if args.key?(:warning)
28330
+ end
28331
+
28332
+ # [Output Only] Informational warning message.
28333
+ class Warning
28334
+ include Google::Apis::Core::Hashable
28335
+
28336
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
28337
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
28338
+ # Corresponds to the JSON property `code`
28339
+ # @return [String]
28340
+ attr_accessor :code
28341
+
28342
+ # [Output Only] Metadata about this warning in key: value format. For example: "
28343
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
28344
+ # Corresponds to the JSON property `data`
28345
+ # @return [Array<Google::Apis::ComputeBeta::NetworkProfilesListResponse::Warning::Datum>]
28346
+ attr_accessor :data
28347
+
28348
+ # [Output Only] A human-readable description of the warning code.
28349
+ # Corresponds to the JSON property `message`
28350
+ # @return [String]
28351
+ attr_accessor :message
28352
+
28353
+ def initialize(**args)
28354
+ update!(**args)
28355
+ end
28356
+
28357
+ # Update properties of this object
28358
+ def update!(**args)
28359
+ @code = args[:code] if args.key?(:code)
28360
+ @data = args[:data] if args.key?(:data)
28361
+ @message = args[:message] if args.key?(:message)
28362
+ end
28363
+
28364
+ #
28365
+ class Datum
28366
+ include Google::Apis::Core::Hashable
28367
+
28368
+ # [Output Only] A key that provides more detail on the warning being returned.
28369
+ # For example, for warnings where there are no results in a list request for a
28370
+ # particular zone, this key might be scope and the key value might be the zone
28371
+ # name. Other examples might be a key indicating a deprecated resource and a
28372
+ # suggested replacement, or a warning about invalid network settings (for
28373
+ # example, if an instance attempts to perform IP forwarding but is not enabled
28374
+ # for IP forwarding).
28375
+ # Corresponds to the JSON property `key`
28376
+ # @return [String]
28377
+ attr_accessor :key
28378
+
28379
+ # [Output Only] A warning data value corresponding to the key.
28380
+ # Corresponds to the JSON property `value`
28381
+ # @return [String]
28382
+ attr_accessor :value
28383
+
28384
+ def initialize(**args)
28385
+ update!(**args)
28386
+ end
28387
+
28388
+ # Update properties of this object
28389
+ def update!(**args)
28390
+ @key = args[:key] if args.key?(:key)
28391
+ @value = args[:value] if args.key?(:value)
28392
+ end
28393
+ end
28394
+ end
28395
+ end
28396
+
27457
28397
  # A routing configuration attached to a network resource. The message includes
27458
28398
  # the list of routers associated with the network, and a flag indicating the
27459
28399
  # type of routing behavior to enforce network-wide.
27460
28400
  class NetworkRoutingConfig
27461
28401
  include Google::Apis::Core::Hashable
27462
28402
 
28403
+ # Enable comparison of Multi-Exit Discriminators (MED) across routes with
28404
+ # different neighbor ASNs when using the STANDARD BGP best path selection
28405
+ # algorithm.
28406
+ # Corresponds to the JSON property `bgpAlwaysCompareMed`
28407
+ # @return [Boolean]
28408
+ attr_accessor :bgp_always_compare_med
28409
+ alias_method :bgp_always_compare_med?, :bgp_always_compare_med
28410
+
28411
+ # The BGP best path selection algorithm to be employed within this network for
28412
+ # dynamic routes learned by Cloud Routers. Can be LEGACY (default) or STANDARD.
28413
+ # Corresponds to the JSON property `bgpBestPathSelectionMode`
28414
+ # @return [String]
28415
+ attr_accessor :bgp_best_path_selection_mode
28416
+
28417
+ # Allows to define a preferred approach for handling inter-region cost in the
28418
+ # selection process when using the STANDARD BGP best path selection algorithm.
28419
+ # Can be DEFAULT or ADD_COST_TO_MED.
28420
+ # Corresponds to the JSON property `bgpInterRegionCost`
28421
+ # @return [String]
28422
+ attr_accessor :bgp_inter_region_cost
28423
+
27463
28424
  # The network-wide routing mode to use. If set to REGIONAL, this network's Cloud
27464
28425
  # Routers will only advertise routes with subnets of this network in the same
27465
28426
  # region as the router. If set to GLOBAL, this network's Cloud Routers will
@@ -27474,6 +28435,9 @@ module Google
27474
28435
 
27475
28436
  # Update properties of this object
27476
28437
  def update!(**args)
28438
+ @bgp_always_compare_med = args[:bgp_always_compare_med] if args.key?(:bgp_always_compare_med)
28439
+ @bgp_best_path_selection_mode = args[:bgp_best_path_selection_mode] if args.key?(:bgp_best_path_selection_mode)
28440
+ @bgp_inter_region_cost = args[:bgp_inter_region_cost] if args.key?(:bgp_inter_region_cost)
27477
28441
  @routing_mode = args[:routing_mode] if args.key?(:routing_mode)
27478
28442
  end
27479
28443
  end
@@ -27529,7 +28493,10 @@ module Google
27529
28493
  class NetworksGetEffectiveFirewallsResponse
27530
28494
  include Google::Apis::Core::Hashable
27531
28495
 
27532
- # Effective firewalls from firewall policy.
28496
+ # [Output Only] Effective firewalls from firewall policy. It returns Global
28497
+ # Network Firewall Policies and Hierarchical Firewall Policies. Use
28498
+ # regionNetworkFirewallPolicies.getEffectiveFirewalls to get Regional Network
28499
+ # Firewall Policies as well.
27533
28500
  # Corresponds to the JSON property `firewallPolicys`
27534
28501
  # @return [Array<Google::Apis::ComputeBeta::NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy>]
27535
28502
  attr_accessor :firewall_policys
@@ -27571,7 +28538,13 @@ module Google
27571
28538
  # @return [String]
27572
28539
  attr_accessor :name
27573
28540
 
27574
- # The rules that apply to the network.
28541
+ # [Output only] Priority of firewall policy association. Not applicable for type=
28542
+ # HIERARCHY.
28543
+ # Corresponds to the JSON property `priority`
28544
+ # @return [Fixnum]
28545
+ attr_accessor :priority
28546
+
28547
+ # [Output Only] The rules that apply to the network.
27575
28548
  # Corresponds to the JSON property `rules`
27576
28549
  # @return [Array<Google::Apis::ComputeBeta::FirewallPolicyRule>]
27577
28550
  attr_accessor :rules
@@ -27594,6 +28567,7 @@ module Google
27594
28567
  def update!(**args)
27595
28568
  @display_name = args[:display_name] if args.key?(:display_name)
27596
28569
  @name = args[:name] if args.key?(:name)
28570
+ @priority = args[:priority] if args.key?(:priority)
27597
28571
  @rules = args[:rules] if args.key?(:rules)
27598
28572
  @short_name = args[:short_name] if args.key?(:short_name)
27599
28573
  @type = args[:type] if args.key?(:type)
@@ -29825,8 +30799,8 @@ module Google
29825
30799
  attr_accessor :target_id
29826
30800
 
29827
30801
  # [Output Only] The URL of the resource that the operation modifies. For
29828
- # operations related to creating a snapshot, this points to the persistent disk
29829
- # that the snapshot was created from.
30802
+ # operations related to creating a snapshot, this points to the disk that the
30803
+ # snapshot was created from.
29830
30804
  # Corresponds to the JSON property `targetLink`
29831
30805
  # @return [String]
29832
30806
  attr_accessor :target_link
@@ -31511,11 +32485,6 @@ module Google
31511
32485
  # @return [String]
31512
32486
  attr_accessor :etag
31513
32487
 
31514
- # This is deprecated and has no effect. Do not use.
31515
- # Corresponds to the JSON property `rules`
31516
- # @return [Array<Google::Apis::ComputeBeta::Rule>]
31517
- attr_accessor :rules
31518
-
31519
32488
  # Specifies the format of the policy. Valid values are `0`, `1`, and `3`.
31520
32489
  # Requests that specify an invalid value are rejected. Any operation that
31521
32490
  # affects conditional role bindings must specify version `3`. This requirement
@@ -31544,7 +32513,6 @@ module Google
31544
32513
  @audit_configs = args[:audit_configs] if args.key?(:audit_configs)
31545
32514
  @bindings = args[:bindings] if args.key?(:bindings)
31546
32515
  @etag = args[:etag] if args.key?(:etag)
31547
- @rules = args[:rules] if args.key?(:rules)
31548
32516
  @version = args[:version] if args.key?(:version)
31549
32517
  end
31550
32518
  end
@@ -33379,52 +34347,352 @@ module Google
33379
34347
  end
33380
34348
  end
33381
34349
 
33382
- #
33383
- class RegionDisksAddResourcePoliciesRequest
33384
- include Google::Apis::Core::Hashable
33385
-
33386
- # Resource policies to be added to this disk.
33387
- # Corresponds to the JSON property `resourcePolicies`
33388
- # @return [Array<String>]
33389
- attr_accessor :resource_policies
33390
-
33391
- def initialize(**args)
33392
- update!(**args)
33393
- end
33394
-
33395
- # Update properties of this object
33396
- def update!(**args)
33397
- @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
33398
- end
33399
- end
33400
-
33401
- #
33402
- class RegionDisksRemoveResourcePoliciesRequest
33403
- include Google::Apis::Core::Hashable
33404
-
33405
- # Resource policies to be removed from this disk.
33406
- # Corresponds to the JSON property `resourcePolicies`
33407
- # @return [Array<String>]
33408
- attr_accessor :resource_policies
33409
-
33410
- def initialize(**args)
33411
- update!(**args)
33412
- end
33413
-
33414
- # Update properties of this object
33415
- def update!(**args)
33416
- @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
33417
- end
33418
- end
33419
-
33420
- #
33421
- class RegionDisksResizeRequest
34350
+ #
34351
+ class RegionDisksAddResourcePoliciesRequest
34352
+ include Google::Apis::Core::Hashable
34353
+
34354
+ # Resource policies to be added to this disk.
34355
+ # Corresponds to the JSON property `resourcePolicies`
34356
+ # @return [Array<String>]
34357
+ attr_accessor :resource_policies
34358
+
34359
+ def initialize(**args)
34360
+ update!(**args)
34361
+ end
34362
+
34363
+ # Update properties of this object
34364
+ def update!(**args)
34365
+ @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
34366
+ end
34367
+ end
34368
+
34369
+ #
34370
+ class RegionDisksRemoveResourcePoliciesRequest
34371
+ include Google::Apis::Core::Hashable
34372
+
34373
+ # Resource policies to be removed from this disk.
34374
+ # Corresponds to the JSON property `resourcePolicies`
34375
+ # @return [Array<String>]
34376
+ attr_accessor :resource_policies
34377
+
34378
+ def initialize(**args)
34379
+ update!(**args)
34380
+ end
34381
+
34382
+ # Update properties of this object
34383
+ def update!(**args)
34384
+ @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
34385
+ end
34386
+ end
34387
+
34388
+ #
34389
+ class RegionDisksResizeRequest
34390
+ include Google::Apis::Core::Hashable
34391
+
34392
+ # The new size of the regional persistent disk, which is specified in GB.
34393
+ # Corresponds to the JSON property `sizeGb`
34394
+ # @return [Fixnum]
34395
+ attr_accessor :size_gb
34396
+
34397
+ def initialize(**args)
34398
+ update!(**args)
34399
+ end
34400
+
34401
+ # Update properties of this object
34402
+ def update!(**args)
34403
+ @size_gb = args[:size_gb] if args.key?(:size_gb)
34404
+ end
34405
+ end
34406
+
34407
+ #
34408
+ class RegionDisksStartAsyncReplicationRequest
34409
+ include Google::Apis::Core::Hashable
34410
+
34411
+ # The secondary disk to start asynchronous replication to. You can provide this
34412
+ # as a partial or full URL to the resource. For example, the following are valid
34413
+ # values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /
34414
+ # disks/disk - https://www.googleapis.com/compute/v1/projects/project/regions/
34415
+ # region /disks/disk - projects/project/zones/zone/disks/disk - projects/project/
34416
+ # regions/region/disks/disk - zones/zone/disks/disk - regions/region/disks/disk
34417
+ # Corresponds to the JSON property `asyncSecondaryDisk`
34418
+ # @return [String]
34419
+ attr_accessor :async_secondary_disk
34420
+
34421
+ def initialize(**args)
34422
+ update!(**args)
34423
+ end
34424
+
34425
+ # Update properties of this object
34426
+ def update!(**args)
34427
+ @async_secondary_disk = args[:async_secondary_disk] if args.key?(:async_secondary_disk)
34428
+ end
34429
+ end
34430
+
34431
+ # Contains a list of InstanceGroup resources.
34432
+ class RegionInstanceGroupList
34433
+ include Google::Apis::Core::Hashable
34434
+
34435
+ # [Output Only] Unique identifier for the resource; defined by the server.
34436
+ # Corresponds to the JSON property `id`
34437
+ # @return [String]
34438
+ attr_accessor :id
34439
+
34440
+ # A list of InstanceGroup resources.
34441
+ # Corresponds to the JSON property `items`
34442
+ # @return [Array<Google::Apis::ComputeBeta::InstanceGroup>]
34443
+ attr_accessor :items
34444
+
34445
+ # The resource type.
34446
+ # Corresponds to the JSON property `kind`
34447
+ # @return [String]
34448
+ attr_accessor :kind
34449
+
34450
+ # [Output Only] This token allows you to get the next page of results for list
34451
+ # requests. If the number of results is larger than maxResults, use the
34452
+ # nextPageToken as a value for the query parameter pageToken in the next list
34453
+ # request. Subsequent list requests will have their own nextPageToken to
34454
+ # continue paging through the results.
34455
+ # Corresponds to the JSON property `nextPageToken`
34456
+ # @return [String]
34457
+ attr_accessor :next_page_token
34458
+
34459
+ # [Output Only] Server-defined URL for this resource.
34460
+ # Corresponds to the JSON property `selfLink`
34461
+ # @return [String]
34462
+ attr_accessor :self_link
34463
+
34464
+ # [Output Only] Informational warning message.
34465
+ # Corresponds to the JSON property `warning`
34466
+ # @return [Google::Apis::ComputeBeta::RegionInstanceGroupList::Warning]
34467
+ attr_accessor :warning
34468
+
34469
+ def initialize(**args)
34470
+ update!(**args)
34471
+ end
34472
+
34473
+ # Update properties of this object
34474
+ def update!(**args)
34475
+ @id = args[:id] if args.key?(:id)
34476
+ @items = args[:items] if args.key?(:items)
34477
+ @kind = args[:kind] if args.key?(:kind)
34478
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
34479
+ @self_link = args[:self_link] if args.key?(:self_link)
34480
+ @warning = args[:warning] if args.key?(:warning)
34481
+ end
34482
+
34483
+ # [Output Only] Informational warning message.
34484
+ class Warning
34485
+ include Google::Apis::Core::Hashable
34486
+
34487
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
34488
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
34489
+ # Corresponds to the JSON property `code`
34490
+ # @return [String]
34491
+ attr_accessor :code
34492
+
34493
+ # [Output Only] Metadata about this warning in key: value format. For example: "
34494
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
34495
+ # Corresponds to the JSON property `data`
34496
+ # @return [Array<Google::Apis::ComputeBeta::RegionInstanceGroupList::Warning::Datum>]
34497
+ attr_accessor :data
34498
+
34499
+ # [Output Only] A human-readable description of the warning code.
34500
+ # Corresponds to the JSON property `message`
34501
+ # @return [String]
34502
+ attr_accessor :message
34503
+
34504
+ def initialize(**args)
34505
+ update!(**args)
34506
+ end
34507
+
34508
+ # Update properties of this object
34509
+ def update!(**args)
34510
+ @code = args[:code] if args.key?(:code)
34511
+ @data = args[:data] if args.key?(:data)
34512
+ @message = args[:message] if args.key?(:message)
34513
+ end
34514
+
34515
+ #
34516
+ class Datum
34517
+ include Google::Apis::Core::Hashable
34518
+
34519
+ # [Output Only] A key that provides more detail on the warning being returned.
34520
+ # For example, for warnings where there are no results in a list request for a
34521
+ # particular zone, this key might be scope and the key value might be the zone
34522
+ # name. Other examples might be a key indicating a deprecated resource and a
34523
+ # suggested replacement, or a warning about invalid network settings (for
34524
+ # example, if an instance attempts to perform IP forwarding but is not enabled
34525
+ # for IP forwarding).
34526
+ # Corresponds to the JSON property `key`
34527
+ # @return [String]
34528
+ attr_accessor :key
34529
+
34530
+ # [Output Only] A warning data value corresponding to the key.
34531
+ # Corresponds to the JSON property `value`
34532
+ # @return [String]
34533
+ attr_accessor :value
34534
+
34535
+ def initialize(**args)
34536
+ update!(**args)
34537
+ end
34538
+
34539
+ # Update properties of this object
34540
+ def update!(**args)
34541
+ @key = args[:key] if args.key?(:key)
34542
+ @value = args[:value] if args.key?(:value)
34543
+ end
34544
+ end
34545
+ end
34546
+ end
34547
+
34548
+ # RegionInstanceGroupManagers.deletePerInstanceConfigs
34549
+ class RegionInstanceGroupManagerDeleteInstanceConfigReq
34550
+ include Google::Apis::Core::Hashable
34551
+
34552
+ # The list of instance names for which we want to delete per-instance configs on
34553
+ # this managed instance group.
34554
+ # Corresponds to the JSON property `names`
34555
+ # @return [Array<String>]
34556
+ attr_accessor :names
34557
+
34558
+ def initialize(**args)
34559
+ update!(**args)
34560
+ end
34561
+
34562
+ # Update properties of this object
34563
+ def update!(**args)
34564
+ @names = args[:names] if args.key?(:names)
34565
+ end
34566
+ end
34567
+
34568
+ # Contains a list of managed instance groups.
34569
+ class RegionInstanceGroupManagerList
34570
+ include Google::Apis::Core::Hashable
34571
+
34572
+ # [Output Only] Unique identifier for the resource; defined by the server.
34573
+ # Corresponds to the JSON property `id`
34574
+ # @return [String]
34575
+ attr_accessor :id
34576
+
34577
+ # A list of InstanceGroupManager resources.
34578
+ # Corresponds to the JSON property `items`
34579
+ # @return [Array<Google::Apis::ComputeBeta::InstanceGroupManager>]
34580
+ attr_accessor :items
34581
+
34582
+ # [Output Only] The resource type, which is always compute#
34583
+ # instanceGroupManagerList for a list of managed instance groups that exist in
34584
+ # th regional scope.
34585
+ # Corresponds to the JSON property `kind`
34586
+ # @return [String]
34587
+ attr_accessor :kind
34588
+
34589
+ # [Output Only] This token allows you to get the next page of results for list
34590
+ # requests. If the number of results is larger than maxResults, use the
34591
+ # nextPageToken as a value for the query parameter pageToken in the next list
34592
+ # request. Subsequent list requests will have their own nextPageToken to
34593
+ # continue paging through the results.
34594
+ # Corresponds to the JSON property `nextPageToken`
34595
+ # @return [String]
34596
+ attr_accessor :next_page_token
34597
+
34598
+ # [Output Only] Server-defined URL for this resource.
34599
+ # Corresponds to the JSON property `selfLink`
34600
+ # @return [String]
34601
+ attr_accessor :self_link
34602
+
34603
+ # [Output Only] Informational warning message.
34604
+ # Corresponds to the JSON property `warning`
34605
+ # @return [Google::Apis::ComputeBeta::RegionInstanceGroupManagerList::Warning]
34606
+ attr_accessor :warning
34607
+
34608
+ def initialize(**args)
34609
+ update!(**args)
34610
+ end
34611
+
34612
+ # Update properties of this object
34613
+ def update!(**args)
34614
+ @id = args[:id] if args.key?(:id)
34615
+ @items = args[:items] if args.key?(:items)
34616
+ @kind = args[:kind] if args.key?(:kind)
34617
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
34618
+ @self_link = args[:self_link] if args.key?(:self_link)
34619
+ @warning = args[:warning] if args.key?(:warning)
34620
+ end
34621
+
34622
+ # [Output Only] Informational warning message.
34623
+ class Warning
34624
+ include Google::Apis::Core::Hashable
34625
+
34626
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
34627
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
34628
+ # Corresponds to the JSON property `code`
34629
+ # @return [String]
34630
+ attr_accessor :code
34631
+
34632
+ # [Output Only] Metadata about this warning in key: value format. For example: "
34633
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
34634
+ # Corresponds to the JSON property `data`
34635
+ # @return [Array<Google::Apis::ComputeBeta::RegionInstanceGroupManagerList::Warning::Datum>]
34636
+ attr_accessor :data
34637
+
34638
+ # [Output Only] A human-readable description of the warning code.
34639
+ # Corresponds to the JSON property `message`
34640
+ # @return [String]
34641
+ attr_accessor :message
34642
+
34643
+ def initialize(**args)
34644
+ update!(**args)
34645
+ end
34646
+
34647
+ # Update properties of this object
34648
+ def update!(**args)
34649
+ @code = args[:code] if args.key?(:code)
34650
+ @data = args[:data] if args.key?(:data)
34651
+ @message = args[:message] if args.key?(:message)
34652
+ end
34653
+
34654
+ #
34655
+ class Datum
34656
+ include Google::Apis::Core::Hashable
34657
+
34658
+ # [Output Only] A key that provides more detail on the warning being returned.
34659
+ # For example, for warnings where there are no results in a list request for a
34660
+ # particular zone, this key might be scope and the key value might be the zone
34661
+ # name. Other examples might be a key indicating a deprecated resource and a
34662
+ # suggested replacement, or a warning about invalid network settings (for
34663
+ # example, if an instance attempts to perform IP forwarding but is not enabled
34664
+ # for IP forwarding).
34665
+ # Corresponds to the JSON property `key`
34666
+ # @return [String]
34667
+ attr_accessor :key
34668
+
34669
+ # [Output Only] A warning data value corresponding to the key.
34670
+ # Corresponds to the JSON property `value`
34671
+ # @return [String]
34672
+ attr_accessor :value
34673
+
34674
+ def initialize(**args)
34675
+ update!(**args)
34676
+ end
34677
+
34678
+ # Update properties of this object
34679
+ def update!(**args)
34680
+ @key = args[:key] if args.key?(:key)
34681
+ @value = args[:value] if args.key?(:value)
34682
+ end
34683
+ end
34684
+ end
34685
+ end
34686
+
34687
+ # RegionInstanceGroupManagers.patchPerInstanceConfigs
34688
+ class RegionInstanceGroupManagerPatchInstanceConfigReq
33422
34689
  include Google::Apis::Core::Hashable
33423
34690
 
33424
- # The new size of the regional persistent disk, which is specified in GB.
33425
- # Corresponds to the JSON property `sizeGb`
33426
- # @return [Fixnum]
33427
- attr_accessor :size_gb
34691
+ # The list of per-instance configurations to insert or patch on this managed
34692
+ # instance group.
34693
+ # Corresponds to the JSON property `perInstanceConfigs`
34694
+ # @return [Array<Google::Apis::ComputeBeta::PerInstanceConfig>]
34695
+ attr_accessor :per_instance_configs
33428
34696
 
33429
34697
  def initialize(**args)
33430
34698
  update!(**args)
@@ -33432,49 +34700,31 @@ module Google
33432
34700
 
33433
34701
  # Update properties of this object
33434
34702
  def update!(**args)
33435
- @size_gb = args[:size_gb] if args.key?(:size_gb)
34703
+ @per_instance_configs = args[:per_instance_configs] if args.key?(:per_instance_configs)
33436
34704
  end
33437
34705
  end
33438
34706
 
33439
34707
  #
33440
- class RegionDisksStartAsyncReplicationRequest
34708
+ class RegionInstanceGroupManagerResizeRequestsListResponse
33441
34709
  include Google::Apis::Core::Hashable
33442
34710
 
33443
- # The secondary disk to start asynchronous replication to. You can provide this
33444
- # as a partial or full URL to the resource. For example, the following are valid
33445
- # values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /
33446
- # disks/disk - https://www.googleapis.com/compute/v1/projects/project/regions/
33447
- # region /disks/disk - projects/project/zones/zone/disks/disk - projects/project/
33448
- # regions/region/disks/disk - zones/zone/disks/disk - regions/region/disks/disk
33449
- # Corresponds to the JSON property `asyncSecondaryDisk`
34711
+ #
34712
+ # Corresponds to the JSON property `etag`
33450
34713
  # @return [String]
33451
- attr_accessor :async_secondary_disk
33452
-
33453
- def initialize(**args)
33454
- update!(**args)
33455
- end
33456
-
33457
- # Update properties of this object
33458
- def update!(**args)
33459
- @async_secondary_disk = args[:async_secondary_disk] if args.key?(:async_secondary_disk)
33460
- end
33461
- end
33462
-
33463
- # Contains a list of InstanceGroup resources.
33464
- class RegionInstanceGroupList
33465
- include Google::Apis::Core::Hashable
34714
+ attr_accessor :etag
33466
34715
 
33467
34716
  # [Output Only] Unique identifier for the resource; defined by the server.
33468
34717
  # Corresponds to the JSON property `id`
33469
34718
  # @return [String]
33470
34719
  attr_accessor :id
33471
34720
 
33472
- # A list of InstanceGroup resources.
34721
+ # A list of Resize Request resources.
33473
34722
  # Corresponds to the JSON property `items`
33474
- # @return [Array<Google::Apis::ComputeBeta::InstanceGroup>]
34723
+ # @return [Array<Google::Apis::ComputeBeta::InstanceGroupManagerResizeRequest>]
33475
34724
  attr_accessor :items
33476
34725
 
33477
- # The resource type.
34726
+ # [Output Only] Type of the resource. Always compute#
34727
+ # regionInstanceGroupManagerResizeRequestList for a list of Resize Requests.
33478
34728
  # Corresponds to the JSON property `kind`
33479
34729
  # @return [String]
33480
34730
  attr_accessor :kind
@@ -33493,148 +34743,15 @@ module Google
33493
34743
  # @return [String]
33494
34744
  attr_accessor :self_link
33495
34745
 
33496
- # [Output Only] Informational warning message.
33497
- # Corresponds to the JSON property `warning`
33498
- # @return [Google::Apis::ComputeBeta::RegionInstanceGroupList::Warning]
33499
- attr_accessor :warning
33500
-
33501
- def initialize(**args)
33502
- update!(**args)
33503
- end
33504
-
33505
- # Update properties of this object
33506
- def update!(**args)
33507
- @id = args[:id] if args.key?(:id)
33508
- @items = args[:items] if args.key?(:items)
33509
- @kind = args[:kind] if args.key?(:kind)
33510
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
33511
- @self_link = args[:self_link] if args.key?(:self_link)
33512
- @warning = args[:warning] if args.key?(:warning)
33513
- end
33514
-
33515
- # [Output Only] Informational warning message.
33516
- class Warning
33517
- include Google::Apis::Core::Hashable
33518
-
33519
- # [Output Only] A warning code, if applicable. For example, Compute Engine
33520
- # returns NO_RESULTS_ON_PAGE if there are no results in the response.
33521
- # Corresponds to the JSON property `code`
33522
- # @return [String]
33523
- attr_accessor :code
33524
-
33525
- # [Output Only] Metadata about this warning in key: value format. For example: "
33526
- # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
33527
- # Corresponds to the JSON property `data`
33528
- # @return [Array<Google::Apis::ComputeBeta::RegionInstanceGroupList::Warning::Datum>]
33529
- attr_accessor :data
33530
-
33531
- # [Output Only] A human-readable description of the warning code.
33532
- # Corresponds to the JSON property `message`
33533
- # @return [String]
33534
- attr_accessor :message
33535
-
33536
- def initialize(**args)
33537
- update!(**args)
33538
- end
33539
-
33540
- # Update properties of this object
33541
- def update!(**args)
33542
- @code = args[:code] if args.key?(:code)
33543
- @data = args[:data] if args.key?(:data)
33544
- @message = args[:message] if args.key?(:message)
33545
- end
33546
-
33547
- #
33548
- class Datum
33549
- include Google::Apis::Core::Hashable
33550
-
33551
- # [Output Only] A key that provides more detail on the warning being returned.
33552
- # For example, for warnings where there are no results in a list request for a
33553
- # particular zone, this key might be scope and the key value might be the zone
33554
- # name. Other examples might be a key indicating a deprecated resource and a
33555
- # suggested replacement, or a warning about invalid network settings (for
33556
- # example, if an instance attempts to perform IP forwarding but is not enabled
33557
- # for IP forwarding).
33558
- # Corresponds to the JSON property `key`
33559
- # @return [String]
33560
- attr_accessor :key
33561
-
33562
- # [Output Only] A warning data value corresponding to the key.
33563
- # Corresponds to the JSON property `value`
33564
- # @return [String]
33565
- attr_accessor :value
33566
-
33567
- def initialize(**args)
33568
- update!(**args)
33569
- end
33570
-
33571
- # Update properties of this object
33572
- def update!(**args)
33573
- @key = args[:key] if args.key?(:key)
33574
- @value = args[:value] if args.key?(:value)
33575
- end
33576
- end
33577
- end
33578
- end
33579
-
33580
- # RegionInstanceGroupManagers.deletePerInstanceConfigs
33581
- class RegionInstanceGroupManagerDeleteInstanceConfigReq
33582
- include Google::Apis::Core::Hashable
33583
-
33584
- # The list of instance names for which we want to delete per-instance configs on
33585
- # this managed instance group.
33586
- # Corresponds to the JSON property `names`
34746
+ # [Output Only] Unreachable resources. end_interface:
34747
+ # MixerListResponseWithEtagBuilder
34748
+ # Corresponds to the JSON property `unreachables`
33587
34749
  # @return [Array<String>]
33588
- attr_accessor :names
33589
-
33590
- def initialize(**args)
33591
- update!(**args)
33592
- end
33593
-
33594
- # Update properties of this object
33595
- def update!(**args)
33596
- @names = args[:names] if args.key?(:names)
33597
- end
33598
- end
33599
-
33600
- # Contains a list of managed instance groups.
33601
- class RegionInstanceGroupManagerList
33602
- include Google::Apis::Core::Hashable
33603
-
33604
- # [Output Only] Unique identifier for the resource; defined by the server.
33605
- # Corresponds to the JSON property `id`
33606
- # @return [String]
33607
- attr_accessor :id
33608
-
33609
- # A list of InstanceGroupManager resources.
33610
- # Corresponds to the JSON property `items`
33611
- # @return [Array<Google::Apis::ComputeBeta::InstanceGroupManager>]
33612
- attr_accessor :items
33613
-
33614
- # [Output Only] The resource type, which is always compute#
33615
- # instanceGroupManagerList for a list of managed instance groups that exist in
33616
- # th regional scope.
33617
- # Corresponds to the JSON property `kind`
33618
- # @return [String]
33619
- attr_accessor :kind
33620
-
33621
- # [Output Only] This token allows you to get the next page of results for list
33622
- # requests. If the number of results is larger than maxResults, use the
33623
- # nextPageToken as a value for the query parameter pageToken in the next list
33624
- # request. Subsequent list requests will have their own nextPageToken to
33625
- # continue paging through the results.
33626
- # Corresponds to the JSON property `nextPageToken`
33627
- # @return [String]
33628
- attr_accessor :next_page_token
33629
-
33630
- # [Output Only] Server-defined URL for this resource.
33631
- # Corresponds to the JSON property `selfLink`
33632
- # @return [String]
33633
- attr_accessor :self_link
34750
+ attr_accessor :unreachables
33634
34751
 
33635
34752
  # [Output Only] Informational warning message.
33636
34753
  # Corresponds to the JSON property `warning`
33637
- # @return [Google::Apis::ComputeBeta::RegionInstanceGroupManagerList::Warning]
34754
+ # @return [Google::Apis::ComputeBeta::RegionInstanceGroupManagerResizeRequestsListResponse::Warning]
33638
34755
  attr_accessor :warning
33639
34756
 
33640
34757
  def initialize(**args)
@@ -33643,11 +34760,13 @@ module Google
33643
34760
 
33644
34761
  # Update properties of this object
33645
34762
  def update!(**args)
34763
+ @etag = args[:etag] if args.key?(:etag)
33646
34764
  @id = args[:id] if args.key?(:id)
33647
34765
  @items = args[:items] if args.key?(:items)
33648
34766
  @kind = args[:kind] if args.key?(:kind)
33649
34767
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
33650
34768
  @self_link = args[:self_link] if args.key?(:self_link)
34769
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
33651
34770
  @warning = args[:warning] if args.key?(:warning)
33652
34771
  end
33653
34772
 
@@ -33664,7 +34783,7 @@ module Google
33664
34783
  # [Output Only] Metadata about this warning in key: value format. For example: "
33665
34784
  # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
33666
34785
  # Corresponds to the JSON property `data`
33667
- # @return [Array<Google::Apis::ComputeBeta::RegionInstanceGroupManagerList::Warning::Datum>]
34786
+ # @return [Array<Google::Apis::ComputeBeta::RegionInstanceGroupManagerResizeRequestsListResponse::Warning::Datum>]
33668
34787
  attr_accessor :data
33669
34788
 
33670
34789
  # [Output Only] A human-readable description of the warning code.
@@ -33716,26 +34835,6 @@ module Google
33716
34835
  end
33717
34836
  end
33718
34837
 
33719
- # RegionInstanceGroupManagers.patchPerInstanceConfigs
33720
- class RegionInstanceGroupManagerPatchInstanceConfigReq
33721
- include Google::Apis::Core::Hashable
33722
-
33723
- # The list of per-instance configurations to insert or patch on this managed
33724
- # instance group.
33725
- # Corresponds to the JSON property `perInstanceConfigs`
33726
- # @return [Array<Google::Apis::ComputeBeta::PerInstanceConfig>]
33727
- attr_accessor :per_instance_configs
33728
-
33729
- def initialize(**args)
33730
- update!(**args)
33731
- end
33732
-
33733
- # Update properties of this object
33734
- def update!(**args)
33735
- @per_instance_configs = args[:per_instance_configs] if args.key?(:per_instance_configs)
33736
- end
33737
- end
33738
-
33739
34838
  # RegionInstanceGroupManagers.updatePerInstanceConfigs
33740
34839
  class RegionInstanceGroupManagerUpdateInstanceConfigReq
33741
34840
  include Google::Apis::Core::Hashable
@@ -34599,7 +35698,10 @@ module Google
34599
35698
  class RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse
34600
35699
  include Google::Apis::Core::Hashable
34601
35700
 
34602
- # Effective firewalls from firewall policy.
35701
+ # [Output only] Effective firewalls from firewall policy. It applies to Regional
35702
+ # Network Firewall Policies in the specified region, Global Network Firewall
35703
+ # Policies and Hierachial Firewall Policies which are associated with the
35704
+ # network.
34603
35705
  # Corresponds to the JSON property `firewallPolicys`
34604
35706
  # @return [Array<Google::Apis::ComputeBeta::RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy>]
34605
35707
  attr_accessor :firewall_policys
@@ -34640,7 +35742,7 @@ module Google
34640
35742
  # @return [Fixnum]
34641
35743
  attr_accessor :priority
34642
35744
 
34643
- # The rules that apply to the network.
35745
+ # [Output only] The rules that apply to the network.
34644
35746
  # Corresponds to the JSON property `rules`
34645
35747
  # @return [Array<Google::Apis::ComputeBeta::FirewallPolicyRule>]
34646
35748
  attr_accessor :rules
@@ -34793,9 +35895,10 @@ module Google
34793
35895
  # Director features: Routing and traffic management table. This resource defines
34794
35896
  # mappings from hostnames and URL paths to either a backend service or a backend
34795
35897
  # bucket. To use the global urlMaps resource, the backend service must have a
34796
- # loadBalancingScheme of either EXTERNAL or INTERNAL_SELF_MANAGED. To use the
34797
- # regionUrlMaps resource, the backend service must have a loadBalancingScheme of
34798
- # INTERNAL_MANAGED. For more information, read URL Map Concepts.
35898
+ # loadBalancingScheme of either EXTERNAL, EXTERNAL_MANAGED, or
35899
+ # INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service
35900
+ # must have a loadBalancingScheme of INTERNAL_MANAGED. For more information,
35901
+ # read URL Map Concepts.
34799
35902
  # Corresponds to the JSON property `resource`
34800
35903
  # @return [Google::Apis::ComputeBeta::UrlMap]
34801
35904
  attr_accessor :resource
@@ -34826,6 +35929,11 @@ module Google
34826
35929
  # @return [String]
34827
35930
  attr_accessor :backend_service
34828
35931
 
35932
+ # The percentage of requests to be mirrored to `backend_service`.
35933
+ # Corresponds to the JSON property `mirrorPercent`
35934
+ # @return [Float]
35935
+ attr_accessor :mirror_percent
35936
+
34829
35937
  def initialize(**args)
34830
35938
  update!(**args)
34831
35939
  end
@@ -34833,6 +35941,7 @@ module Google
34833
35941
  # Update properties of this object
34834
35942
  def update!(**args)
34835
35943
  @backend_service = args[:backend_service] if args.key?(:backend_service)
35944
+ @mirror_percent = args[:mirror_percent] if args.key?(:mirror_percent)
34836
35945
  end
34837
35946
  end
34838
35947
 
@@ -34874,6 +35983,11 @@ module Google
34874
35983
  # @return [String]
34875
35984
  attr_accessor :delete_at_time
34876
35985
 
35986
+ # Specifies the deployment strategy for this reservation.
35987
+ # Corresponds to the JSON property `deploymentType`
35988
+ # @return [String]
35989
+ attr_accessor :deployment_type
35990
+
34877
35991
  # An optional description of this resource. Provide this property when you
34878
35992
  # create the resource.
34879
35993
  # Corresponds to the JSON property `description`
@@ -34886,6 +36000,12 @@ module Google
34886
36000
  # @return [Fixnum]
34887
36001
  attr_accessor :id
34888
36002
 
36003
+ # Instance termination action is invoked when the reservation is deleted. This
36004
+ # only applies to reservations with a Deployment type.
36005
+ # Corresponds to the JSON property `instanceTerminationAction`
36006
+ # @return [String]
36007
+ attr_accessor :instance_termination_action
36008
+
34889
36009
  # [Output Only] Type of the resource. Always compute#reservations for
34890
36010
  # reservations.
34891
36011
  # Corresponds to the JSON property `kind`
@@ -34903,6 +36023,12 @@ module Google
34903
36023
  # @return [String]
34904
36024
  attr_accessor :name
34905
36025
 
36026
+ # Specify the reservation sharing policy. If unspecified, the reservation will
36027
+ # not be shared with Google Cloud managed services.
36028
+ # Corresponds to the JSON property `reservationSharingPolicy`
36029
+ # @return [Google::Apis::ComputeBeta::AllocationReservationSharingPolicy]
36030
+ attr_accessor :reservation_sharing_policy
36031
+
34906
36032
  # Resource policies to be added to this reservation. The key is defined by user,
34907
36033
  # and the value is resource policy url. This is to define placement policy with
34908
36034
  # reservation.
@@ -34944,7 +36070,10 @@ module Google
34944
36070
  attr_accessor :specific_reservation_required
34945
36071
  alias_method :specific_reservation_required?, :specific_reservation_required
34946
36072
 
34947
- # [Output Only] The status of the reservation.
36073
+ # [Output Only] The status of the reservation. - CREATING: Reservation resources
36074
+ # are being allocated. - READY: Reservation resources have been allocated, and
36075
+ # the reservation is ready for use. - DELETING: Reservation deletion is in
36076
+ # progress. - UPDATING: Reservation update is in progress.
34948
36077
  # Corresponds to the JSON property `status`
34949
36078
  # @return [String]
34950
36079
  attr_accessor :status
@@ -34966,10 +36095,13 @@ module Google
34966
36095
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
34967
36096
  @delete_after_duration = args[:delete_after_duration] if args.key?(:delete_after_duration)
34968
36097
  @delete_at_time = args[:delete_at_time] if args.key?(:delete_at_time)
36098
+ @deployment_type = args[:deployment_type] if args.key?(:deployment_type)
34969
36099
  @description = args[:description] if args.key?(:description)
34970
36100
  @id = args[:id] if args.key?(:id)
36101
+ @instance_termination_action = args[:instance_termination_action] if args.key?(:instance_termination_action)
34971
36102
  @kind = args[:kind] if args.key?(:kind)
34972
36103
  @name = args[:name] if args.key?(:name)
36104
+ @reservation_sharing_policy = args[:reservation_sharing_policy] if args.key?(:reservation_sharing_policy)
34973
36105
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
34974
36106
  @resource_status = args[:resource_status] if args.key?(:resource_status)
34975
36107
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
@@ -35143,6 +36275,259 @@ module Google
35143
36275
  end
35144
36276
  end
35145
36277
 
36278
+ # Represents a reservation block resource.
36279
+ class ReservationBlock
36280
+ include Google::Apis::Core::Hashable
36281
+
36282
+ # [Output Only] The number of resources that are allocated in this reservation
36283
+ # block.
36284
+ # Corresponds to the JSON property `count`
36285
+ # @return [Fixnum]
36286
+ attr_accessor :count
36287
+
36288
+ # [Output Only] Creation timestamp in RFC3339 text format.
36289
+ # Corresponds to the JSON property `creationTimestamp`
36290
+ # @return [String]
36291
+ attr_accessor :creation_timestamp
36292
+
36293
+ # [Output Only] The unique identifier for the resource. This identifier is
36294
+ # defined by the server.
36295
+ # Corresponds to the JSON property `id`
36296
+ # @return [Fixnum]
36297
+ attr_accessor :id
36298
+
36299
+ # [Output Only] The number of instances that are currently in use on this
36300
+ # reservation block.
36301
+ # Corresponds to the JSON property `inUseCount`
36302
+ # @return [Fixnum]
36303
+ attr_accessor :in_use_count
36304
+
36305
+ # [Output Only] Type of the resource. Always compute#reservationBlock for
36306
+ # reservation blocks.
36307
+ # Corresponds to the JSON property `kind`
36308
+ # @return [String]
36309
+ attr_accessor :kind
36310
+
36311
+ # [Output Only] The name of this reservation block generated by Google Compute
36312
+ # Engine. The name must be 1-63 characters long, and comply with RFC1035 @
36313
+ # pattern [a-z](?:[-a-z0-9]`0,61`[a-z0-9])?
36314
+ # Corresponds to the JSON property `name`
36315
+ # @return [String]
36316
+ attr_accessor :name
36317
+
36318
+ # [Output Only] The physical topology of the reservation block.
36319
+ # Corresponds to the JSON property `physicalTopology`
36320
+ # @return [Google::Apis::ComputeBeta::ReservationBlockPhysicalTopology]
36321
+ attr_accessor :physical_topology
36322
+
36323
+ # Maintenance Info for ReservationBlocks.
36324
+ # Corresponds to the JSON property `reservationMaintenance`
36325
+ # @return [Google::Apis::ComputeBeta::GroupMaintenanceInfo]
36326
+ attr_accessor :reservation_maintenance
36327
+
36328
+ # [Output Only] Server-defined fully-qualified URL for this resource.
36329
+ # Corresponds to the JSON property `selfLink`
36330
+ # @return [String]
36331
+ attr_accessor :self_link
36332
+
36333
+ # [Output Only] Server-defined URL for this resource with the resource id.
36334
+ # Corresponds to the JSON property `selfLinkWithId`
36335
+ # @return [String]
36336
+ attr_accessor :self_link_with_id
36337
+
36338
+ # [Output Only] Status of the reservation block.
36339
+ # Corresponds to the JSON property `status`
36340
+ # @return [String]
36341
+ attr_accessor :status
36342
+
36343
+ # [Output Only] Zone in which the reservation block resides.
36344
+ # Corresponds to the JSON property `zone`
36345
+ # @return [String]
36346
+ attr_accessor :zone
36347
+
36348
+ def initialize(**args)
36349
+ update!(**args)
36350
+ end
36351
+
36352
+ # Update properties of this object
36353
+ def update!(**args)
36354
+ @count = args[:count] if args.key?(:count)
36355
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
36356
+ @id = args[:id] if args.key?(:id)
36357
+ @in_use_count = args[:in_use_count] if args.key?(:in_use_count)
36358
+ @kind = args[:kind] if args.key?(:kind)
36359
+ @name = args[:name] if args.key?(:name)
36360
+ @physical_topology = args[:physical_topology] if args.key?(:physical_topology)
36361
+ @reservation_maintenance = args[:reservation_maintenance] if args.key?(:reservation_maintenance)
36362
+ @self_link = args[:self_link] if args.key?(:self_link)
36363
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
36364
+ @status = args[:status] if args.key?(:status)
36365
+ @zone = args[:zone] if args.key?(:zone)
36366
+ end
36367
+ end
36368
+
36369
+ #
36370
+ class ReservationBlockPhysicalTopology
36371
+ include Google::Apis::Core::Hashable
36372
+
36373
+ # The hash of the capacity block within the cluster.
36374
+ # Corresponds to the JSON property `block`
36375
+ # @return [String]
36376
+ attr_accessor :block
36377
+
36378
+ # The cluster name of the reservation block.
36379
+ # Corresponds to the JSON property `cluster`
36380
+ # @return [String]
36381
+ attr_accessor :cluster
36382
+
36383
+ def initialize(**args)
36384
+ update!(**args)
36385
+ end
36386
+
36387
+ # Update properties of this object
36388
+ def update!(**args)
36389
+ @block = args[:block] if args.key?(:block)
36390
+ @cluster = args[:cluster] if args.key?(:cluster)
36391
+ end
36392
+ end
36393
+
36394
+ #
36395
+ class ReservationBlocksGetResponse
36396
+ include Google::Apis::Core::Hashable
36397
+
36398
+ # Represents a reservation block resource.
36399
+ # Corresponds to the JSON property `resource`
36400
+ # @return [Google::Apis::ComputeBeta::ReservationBlock]
36401
+ attr_accessor :resource
36402
+
36403
+ def initialize(**args)
36404
+ update!(**args)
36405
+ end
36406
+
36407
+ # Update properties of this object
36408
+ def update!(**args)
36409
+ @resource = args[:resource] if args.key?(:resource)
36410
+ end
36411
+ end
36412
+
36413
+ # A list of reservation blocks under a single reservation.
36414
+ class ReservationBlocksListResponse
36415
+ include Google::Apis::Core::Hashable
36416
+
36417
+ # Unique identifier for the resource; defined by the server.
36418
+ # Corresponds to the JSON property `id`
36419
+ # @return [String]
36420
+ attr_accessor :id
36421
+
36422
+ # A list of reservation block resources.
36423
+ # Corresponds to the JSON property `items`
36424
+ # @return [Array<Google::Apis::ComputeBeta::ReservationBlock>]
36425
+ attr_accessor :items
36426
+
36427
+ # Type of the resource. Always compute#reservationBlock for a list of
36428
+ # reservation blocks.
36429
+ # Corresponds to the JSON property `kind`
36430
+ # @return [String]
36431
+ attr_accessor :kind
36432
+
36433
+ # This token allows you to get the next page of results for list requests. If
36434
+ # the number of results is larger than maxResults, use the nextPageToken as a
36435
+ # value for the query parameter pageToken in the next list request. Subsequent
36436
+ # list requests will have their own nextPageToken to continue paging through the
36437
+ # results.
36438
+ # Corresponds to the JSON property `nextPageToken`
36439
+ # @return [String]
36440
+ attr_accessor :next_page_token
36441
+
36442
+ # Server-defined URL for this resource.
36443
+ # Corresponds to the JSON property `selfLink`
36444
+ # @return [String]
36445
+ attr_accessor :self_link
36446
+
36447
+ # Informational warning message.
36448
+ # Corresponds to the JSON property `warning`
36449
+ # @return [Google::Apis::ComputeBeta::ReservationBlocksListResponse::Warning]
36450
+ attr_accessor :warning
36451
+
36452
+ def initialize(**args)
36453
+ update!(**args)
36454
+ end
36455
+
36456
+ # Update properties of this object
36457
+ def update!(**args)
36458
+ @id = args[:id] if args.key?(:id)
36459
+ @items = args[:items] if args.key?(:items)
36460
+ @kind = args[:kind] if args.key?(:kind)
36461
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
36462
+ @self_link = args[:self_link] if args.key?(:self_link)
36463
+ @warning = args[:warning] if args.key?(:warning)
36464
+ end
36465
+
36466
+ # Informational warning message.
36467
+ class Warning
36468
+ include Google::Apis::Core::Hashable
36469
+
36470
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
36471
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
36472
+ # Corresponds to the JSON property `code`
36473
+ # @return [String]
36474
+ attr_accessor :code
36475
+
36476
+ # [Output Only] Metadata about this warning in key: value format. For example: "
36477
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
36478
+ # Corresponds to the JSON property `data`
36479
+ # @return [Array<Google::Apis::ComputeBeta::ReservationBlocksListResponse::Warning::Datum>]
36480
+ attr_accessor :data
36481
+
36482
+ # [Output Only] A human-readable description of the warning code.
36483
+ # Corresponds to the JSON property `message`
36484
+ # @return [String]
36485
+ attr_accessor :message
36486
+
36487
+ def initialize(**args)
36488
+ update!(**args)
36489
+ end
36490
+
36491
+ # Update properties of this object
36492
+ def update!(**args)
36493
+ @code = args[:code] if args.key?(:code)
36494
+ @data = args[:data] if args.key?(:data)
36495
+ @message = args[:message] if args.key?(:message)
36496
+ end
36497
+
36498
+ #
36499
+ class Datum
36500
+ include Google::Apis::Core::Hashable
36501
+
36502
+ # [Output Only] A key that provides more detail on the warning being returned.
36503
+ # For example, for warnings where there are no results in a list request for a
36504
+ # particular zone, this key might be scope and the key value might be the zone
36505
+ # name. Other examples might be a key indicating a deprecated resource and a
36506
+ # suggested replacement, or a warning about invalid network settings (for
36507
+ # example, if an instance attempts to perform IP forwarding but is not enabled
36508
+ # for IP forwarding).
36509
+ # Corresponds to the JSON property `key`
36510
+ # @return [String]
36511
+ attr_accessor :key
36512
+
36513
+ # [Output Only] A warning data value corresponding to the key.
36514
+ # Corresponds to the JSON property `value`
36515
+ # @return [String]
36516
+ attr_accessor :value
36517
+
36518
+ def initialize(**args)
36519
+ update!(**args)
36520
+ end
36521
+
36522
+ # Update properties of this object
36523
+ def update!(**args)
36524
+ @key = args[:key] if args.key?(:key)
36525
+ @value = args[:value] if args.key?(:value)
36526
+ end
36527
+ end
36528
+ end
36529
+ end
36530
+
35146
36531
  #
35147
36532
  class ReservationList
35148
36533
  include Google::Apis::Core::Hashable
@@ -35606,6 +36991,11 @@ module Google
35606
36991
  # @return [String]
35607
36992
  attr_accessor :status
35608
36993
 
36994
+ # Represents the workload policy.
36995
+ # Corresponds to the JSON property `workloadPolicy`
36996
+ # @return [Google::Apis::ComputeBeta::ResourcePolicyWorkloadPolicy]
36997
+ attr_accessor :workload_policy
36998
+
35609
36999
  def initialize(**args)
35610
37000
  update!(**args)
35611
37001
  end
@@ -35625,6 +37015,7 @@ module Google
35625
37015
  @self_link = args[:self_link] if args.key?(:self_link)
35626
37016
  @snapshot_schedule_policy = args[:snapshot_schedule_policy] if args.key?(:snapshot_schedule_policy)
35627
37017
  @status = args[:status] if args.key?(:status)
37018
+ @workload_policy = args[:workload_policy] if args.key?(:workload_policy)
35628
37019
  end
35629
37020
  end
35630
37021
 
@@ -36317,6 +37708,25 @@ module Google
36317
37708
  end
36318
37709
  end
36319
37710
 
37711
+ # Represents the workload policy.
37712
+ class ResourcePolicyWorkloadPolicy
37713
+ include Google::Apis::Core::Hashable
37714
+
37715
+ #
37716
+ # Corresponds to the JSON property `type`
37717
+ # @return [String]
37718
+ attr_accessor :type
37719
+
37720
+ def initialize(**args)
37721
+ update!(**args)
37722
+ end
37723
+
37724
+ # Update properties of this object
37725
+ def update!(**args)
37726
+ @type = args[:type] if args.key?(:type)
37727
+ end
37728
+ end
37729
+
36320
37730
  # Contains output only fields. Use this sub-message for actual values set on
36321
37731
  # Instance attributes as compared to the value requested by the user (intent) in
36322
37732
  # their instance CRUD calls.
@@ -36496,6 +37906,13 @@ module Google
36496
37906
  # @return [String]
36497
37907
  attr_accessor :next_hop_instance
36498
37908
 
37909
+ # [Output only] Internal fixed region-to-region cost that Google Cloud
37910
+ # calculates based on factors such as network performance, distance, and
37911
+ # available bandwidth between regions.
37912
+ # Corresponds to the JSON property `nextHopInterRegionCost`
37913
+ # @return [Fixnum]
37914
+ attr_accessor :next_hop_inter_region_cost
37915
+
36499
37916
  # [Output Only] The URL to an InterconnectAttachment which is the next hop for
36500
37917
  # the route. This field will only be populated for the dynamic routes generated
36501
37918
  # by Cloud Router with a linked interconnectAttachment.
@@ -36513,11 +37930,23 @@ module Google
36513
37930
  # @return [String]
36514
37931
  attr_accessor :next_hop_ip
36515
37932
 
37933
+ # [Output Only] Multi-Exit Discriminator, a BGP route metric that indicates the
37934
+ # desirability of a particular route in a network.
37935
+ # Corresponds to the JSON property `nextHopMed`
37936
+ # @return [Fixnum]
37937
+ attr_accessor :next_hop_med
37938
+
36516
37939
  # The URL of the local network if it should handle matching packets.
36517
37940
  # Corresponds to the JSON property `nextHopNetwork`
36518
37941
  # @return [String]
36519
37942
  attr_accessor :next_hop_network
36520
37943
 
37944
+ # [Output Only] Indicates the origin of the route. Can be IGP (Interior Gateway
37945
+ # Protocol), EGP (Exterior Gateway Protocol), or INCOMPLETE.
37946
+ # Corresponds to the JSON property `nextHopOrigin`
37947
+ # @return [String]
37948
+ attr_accessor :next_hop_origin
37949
+
36521
37950
  # [Output Only] The network peering name that should handle matching packets,
36522
37951
  # which should conform to RFC1035.
36523
37952
  # Corresponds to the JSON property `nextHopPeering`
@@ -36586,9 +38015,12 @@ module Google
36586
38015
  @next_hop_hub = args[:next_hop_hub] if args.key?(:next_hop_hub)
36587
38016
  @next_hop_ilb = args[:next_hop_ilb] if args.key?(:next_hop_ilb)
36588
38017
  @next_hop_instance = args[:next_hop_instance] if args.key?(:next_hop_instance)
38018
+ @next_hop_inter_region_cost = args[:next_hop_inter_region_cost] if args.key?(:next_hop_inter_region_cost)
36589
38019
  @next_hop_interconnect_attachment = args[:next_hop_interconnect_attachment] if args.key?(:next_hop_interconnect_attachment)
36590
38020
  @next_hop_ip = args[:next_hop_ip] if args.key?(:next_hop_ip)
38021
+ @next_hop_med = args[:next_hop_med] if args.key?(:next_hop_med)
36591
38022
  @next_hop_network = args[:next_hop_network] if args.key?(:next_hop_network)
38023
+ @next_hop_origin = args[:next_hop_origin] if args.key?(:next_hop_origin)
36592
38024
  @next_hop_peering = args[:next_hop_peering] if args.key?(:next_hop_peering)
36593
38025
  @next_hop_vpn_tunnel = args[:next_hop_vpn_tunnel] if args.key?(:next_hop_vpn_tunnel)
36594
38026
  @priority = args[:priority] if args.key?(:priority)
@@ -36816,6 +38248,11 @@ module Google
36816
38248
  class RoutePolicy
36817
38249
  include Google::Apis::Core::Hashable
36818
38250
 
38251
+ # An optional description of route policy.
38252
+ # Corresponds to the JSON property `description`
38253
+ # @return [String]
38254
+ attr_accessor :description
38255
+
36819
38256
  # A fingerprint for the Route Policy being applied to this Router, which is
36820
38257
  # essentially a hash of the Route Policy used for optimistic locking. The
36821
38258
  # fingerprint is initially generated by Compute Engine and changes after every
@@ -36851,6 +38288,7 @@ module Google
36851
38288
 
36852
38289
  # Update properties of this object
36853
38290
  def update!(**args)
38291
+ @description = args[:description] if args.key?(:description)
36854
38292
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
36855
38293
  @name = args[:name] if args.key?(:name)
36856
38294
  @terms = args[:terms] if args.key?(:terms)
@@ -38819,61 +40257,6 @@ module Google
38819
40257
  end
38820
40258
  end
38821
40259
 
38822
- # This is deprecated and has no effect. Do not use.
38823
- class Rule
38824
- include Google::Apis::Core::Hashable
38825
-
38826
- # This is deprecated and has no effect. Do not use.
38827
- # Corresponds to the JSON property `action`
38828
- # @return [String]
38829
- attr_accessor :action
38830
-
38831
- # This is deprecated and has no effect. Do not use.
38832
- # Corresponds to the JSON property `conditions`
38833
- # @return [Array<Google::Apis::ComputeBeta::Condition>]
38834
- attr_accessor :conditions
38835
-
38836
- # This is deprecated and has no effect. Do not use.
38837
- # Corresponds to the JSON property `description`
38838
- # @return [String]
38839
- attr_accessor :description
38840
-
38841
- # This is deprecated and has no effect. Do not use.
38842
- # Corresponds to the JSON property `ins`
38843
- # @return [Array<String>]
38844
- attr_accessor :ins
38845
-
38846
- # This is deprecated and has no effect. Do not use.
38847
- # Corresponds to the JSON property `logConfigs`
38848
- # @return [Array<Google::Apis::ComputeBeta::LogConfig>]
38849
- attr_accessor :log_configs
38850
-
38851
- # This is deprecated and has no effect. Do not use.
38852
- # Corresponds to the JSON property `notIns`
38853
- # @return [Array<String>]
38854
- attr_accessor :not_ins
38855
-
38856
- # This is deprecated and has no effect. Do not use.
38857
- # Corresponds to the JSON property `permissions`
38858
- # @return [Array<String>]
38859
- attr_accessor :permissions
38860
-
38861
- def initialize(**args)
38862
- update!(**args)
38863
- end
38864
-
38865
- # Update properties of this object
38866
- def update!(**args)
38867
- @action = args[:action] if args.key?(:action)
38868
- @conditions = args[:conditions] if args.key?(:conditions)
38869
- @description = args[:description] if args.key?(:description)
38870
- @ins = args[:ins] if args.key?(:ins)
38871
- @log_configs = args[:log_configs] if args.key?(:log_configs)
38872
- @not_ins = args[:not_ins] if args.key?(:not_ins)
38873
- @permissions = args[:permissions] if args.key?(:permissions)
38874
- end
38875
- end
38876
-
38877
40260
  #
38878
40261
  class SslHealthCheck
38879
40262
  include Google::Apis::Core::Hashable
@@ -45542,8 +46925,7 @@ module Google
45542
46925
  # @return [Fixnum]
45543
46926
  attr_accessor :id
45544
46927
 
45545
- # [Output Only] The internal IPv6 address range that is assigned to this
45546
- # subnetwork.
46928
+ # The internal IPv6 address range that is owned by this subnetwork.
45547
46929
  # Corresponds to the JSON property `internalIpv6Prefix`
45548
46930
  # @return [String]
45549
46931
  attr_accessor :internal_ipv6_prefix
@@ -47203,10 +48585,11 @@ module Google
47203
48585
  attr_accessor :authorization_policy
47204
48586
 
47205
48587
  # URL of a certificate map that identifies a certificate map associated with the
47206
- # given target proxy. This field can only be set for global target proxies. If
47207
- # set, sslCertificates will be ignored. Accepted format is //certificatemanager.
47208
- # googleapis.com/projects/`project `/locations/`location`/certificateMaps/`
47209
- # resourceName`.
48588
+ # given target proxy. This field can only be set for Global external Application
48589
+ # Load Balancer or Classic Application Load Balancer. For other products use
48590
+ # Certificate Manager Certificates instead. If set, sslCertificates will be
48591
+ # ignored. Accepted format is //certificatemanager.googleapis.com/projects/`
48592
+ # project `/locations/`location`/certificateMaps/`resourceName`.
47210
48593
  # Corresponds to the JSON property `certificateMap`
47211
48594
  # @return [String]
47212
48595
  attr_accessor :certificate_map
@@ -47329,9 +48712,18 @@ module Google
47329
48712
 
47330
48713
  # URLs to SslCertificate resources that are used to authenticate connections
47331
48714
  # between users and the load balancer. At least one SSL certificate must be
47332
- # specified. Currently, you may specify up to 15 SSL certificates.
47333
- # sslCertificates do not apply when the load balancing scheme is set to
47334
- # INTERNAL_SELF_MANAGED.
48715
+ # specified. SslCertificates do not apply when the load balancing scheme is set
48716
+ # to INTERNAL_SELF_MANAGED. The URLs should refer to a SSL Certificate resource
48717
+ # or Certificate Manager Certificate resource. Mixing Classic Certificates and
48718
+ # Certificate Manager Certificates is not allowed. Certificate Manager
48719
+ # Certificates must include the certificatemanager API. Certificate Manager
48720
+ # Certificates are not supported by Global external Application Load Balancer or
48721
+ # Classic Application Load Balancer, use certificate_map instead. Currently, you
48722
+ # may specify up to 15 Classic SSL Certificates. Certificate Manager
48723
+ # Certificates accepted formats are: - //certificatemanager.googleapis.com/
48724
+ # projects/`project`/locations/` location`/certificates/`resourceName`. - https:/
48725
+ # /certificatemanager.googleapis.com/v1alpha1/projects/`project `/locations/`
48726
+ # location`/certificates/`resourceName`.
47335
48727
  # Corresponds to the JSON property `sslCertificates`
47336
48728
  # @return [Array<String>]
47337
48729
  attr_accessor :ssl_certificates
@@ -50083,9 +51475,10 @@ module Google
50083
51475
  # Director features: Routing and traffic management table. This resource defines
50084
51476
  # mappings from hostnames and URL paths to either a backend service or a backend
50085
51477
  # bucket. To use the global urlMaps resource, the backend service must have a
50086
- # loadBalancingScheme of either EXTERNAL or INTERNAL_SELF_MANAGED. To use the
50087
- # regionUrlMaps resource, the backend service must have a loadBalancingScheme of
50088
- # INTERNAL_MANAGED. For more information, read URL Map Concepts.
51478
+ # loadBalancingScheme of either EXTERNAL, EXTERNAL_MANAGED, or
51479
+ # INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service
51480
+ # must have a loadBalancingScheme of INTERNAL_MANAGED. For more information,
51481
+ # read URL Map Concepts.
50089
51482
  class UrlMap
50090
51483
  include Google::Apis::Core::Hashable
50091
51484
 
@@ -50118,8 +51511,9 @@ module Google
50118
51511
  # directed if none of the hostRules match. If defaultRouteAction is also
50119
51512
  # specified, advanced routing actions, such as URL rewrites, take effect before
50120
51513
  # sending the request to the backend. However, if defaultService is specified,
50121
- # defaultRouteAction cannot contain any weightedBackendServices. Conversely, if
50122
- # routeAction specifies any weightedBackendServices, service must not be
51514
+ # defaultRouteAction cannot contain any defaultRouteAction.
51515
+ # weightedBackendServices. Conversely, if defaultRouteAction specifies any
51516
+ # defaultRouteAction.weightedBackendServices, defaultService must not be
50123
51517
  # specified. If defaultService is specified, then set either defaultUrlRedirect ,
50124
51518
  # or defaultRouteAction.weightedBackendService Don't set both. defaultService
50125
51519
  # has no effect when the URL map is bound to a target gRPC proxy that has the
@@ -50753,9 +52147,10 @@ module Google
50753
52147
  # Director features: Routing and traffic management table. This resource defines
50754
52148
  # mappings from hostnames and URL paths to either a backend service or a backend
50755
52149
  # bucket. To use the global urlMaps resource, the backend service must have a
50756
- # loadBalancingScheme of either EXTERNAL or INTERNAL_SELF_MANAGED. To use the
50757
- # regionUrlMaps resource, the backend service must have a loadBalancingScheme of
50758
- # INTERNAL_MANAGED. For more information, read URL Map Concepts.
52150
+ # loadBalancingScheme of either EXTERNAL, EXTERNAL_MANAGED, or
52151
+ # INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service
52152
+ # must have a loadBalancingScheme of INTERNAL_MANAGED. For more information,
52153
+ # read URL Map Concepts.
50759
52154
  # Corresponds to the JSON property `resource`
50760
52155
  # @return [Google::Apis::ComputeBeta::UrlMap]
50761
52156
  attr_accessor :resource
@@ -52069,7 +53464,8 @@ module Google
52069
53464
 
52070
53465
  # Local traffic selector to use when establishing the VPN tunnel with the peer
52071
53466
  # VPN gateway. The value should be a CIDR formatted string, for example: 192.168.
52072
- # 0.0/16. The ranges must be disjoint. Only IPv4 is supported.
53467
+ # 0.0/16. The ranges must be disjoint. Only IPv4 is supported for Classic VPN
53468
+ # tunnels. This field is output only for HA VPN tunnels.
52073
53469
  # Corresponds to the JSON property `localTrafficSelector`
52074
53470
  # @return [Array<String>]
52075
53471
  attr_accessor :local_traffic_selector
@@ -52109,7 +53505,8 @@ module Google
52109
53505
  # @return [String]
52110
53506
  attr_accessor :peer_gcp_gateway
52111
53507
 
52112
- # IP address of the peer VPN gateway. Only IPv4 is supported.
53508
+ # IP address of the peer VPN gateway. Only IPv4 is supported. This field can be
53509
+ # set only for Classic VPN tunnels.
52113
53510
  # Corresponds to the JSON property `peerIp`
52114
53511
  # @return [String]
52115
53512
  attr_accessor :peer_ip
@@ -52123,7 +53520,8 @@ module Google
52123
53520
 
52124
53521
  # Remote traffic selectors to use when establishing the VPN tunnel with the peer
52125
53522
  # VPN gateway. The value should be a CIDR formatted string, for example: 192.168.
52126
- # 0.0/16. The ranges should be disjoint. Only IPv4 is supported.
53523
+ # 0.0/16. The ranges should be disjoint. Only IPv4 is supported for Classic VPN
53524
+ # tunnels. This field is output only for HA VPN tunnels.
52127
53525
  # Corresponds to the JSON property `remoteTrafficSelector`
52128
53526
  # @return [Array<String>]
52129
53527
  attr_accessor :remote_traffic_selector
@@ -52172,7 +53570,8 @@ module Google
52172
53570
  attr_accessor :status
52173
53571
 
52174
53572
  # URL of the Target VPN gateway with which this VPN tunnel is associated.
52175
- # Provided by the client when the VPN tunnel is created.
53573
+ # Provided by the client when the VPN tunnel is created. This field can be set
53574
+ # only for Classic VPN tunnels.
52176
53575
  # Corresponds to the JSON property `targetVpnGateway`
52177
53576
  # @return [String]
52178
53577
  attr_accessor :target_vpn_gateway