google-apis-compute_beta 0.106.0 → 0.107.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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