google-apis-compute_beta 0.105.0 → 0.107.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1157,6 +1157,13 @@ module Google
1157
1157
  # @return [Fixnum]
1158
1158
  attr_accessor :threads_per_core
1159
1159
 
1160
+ # Turbo frequency mode to use for the instance. Supported modes include: *
1161
+ # ALL_CORE_MAX Using empty string or not setting this field will use the
1162
+ # platform-specific default turbo mode.
1163
+ # Corresponds to the JSON property `turboMode`
1164
+ # @return [String]
1165
+ attr_accessor :turbo_mode
1166
+
1160
1167
  # The number of physical cores to expose to an instance. Multiply by the number
1161
1168
  # of threads per core to compute the total number of virtual CPUs to expose to
1162
1169
  # the instance. If unset, the number of cores is inferred from the instance's
@@ -1175,6 +1182,7 @@ module Google
1175
1182
  @enable_uefi_networking = args[:enable_uefi_networking] if args.key?(:enable_uefi_networking)
1176
1183
  @performance_monitoring_unit = args[:performance_monitoring_unit] if args.key?(:performance_monitoring_unit)
1177
1184
  @threads_per_core = args[:threads_per_core] if args.key?(:threads_per_core)
1185
+ @turbo_mode = args[:turbo_mode] if args.key?(:turbo_mode)
1178
1186
  @visible_core_count = args[:visible_core_count] if args.key?(:visible_core_count)
1179
1187
  end
1180
1188
  end
@@ -1294,10 +1302,39 @@ module Google
1294
1302
  end
1295
1303
  end
1296
1304
 
1305
+ #
1306
+ class AllocationReservationSharingPolicy
1307
+ include Google::Apis::Core::Hashable
1308
+
1309
+ # Sharing config for all Google Cloud services.
1310
+ # Corresponds to the JSON property `serviceShareType`
1311
+ # @return [String]
1312
+ attr_accessor :service_share_type
1313
+
1314
+ def initialize(**args)
1315
+ update!(**args)
1316
+ end
1317
+
1318
+ # Update properties of this object
1319
+ def update!(**args)
1320
+ @service_share_type = args[:service_share_type] if args.key?(:service_share_type)
1321
+ end
1322
+ end
1323
+
1297
1324
  # [Output Only] Contains output only fields.
1298
1325
  class AllocationResourceStatus
1299
1326
  include Google::Apis::Core::Hashable
1300
1327
 
1328
+ # The number of reservation blocks associated with this reservation.
1329
+ # Corresponds to the JSON property `reservationBlockCount`
1330
+ # @return [Fixnum]
1331
+ attr_accessor :reservation_block_count
1332
+
1333
+ # Maintenance Info for ReservationBlocks.
1334
+ # Corresponds to the JSON property `reservationMaintenance`
1335
+ # @return [Google::Apis::ComputeBeta::GroupMaintenanceInfo]
1336
+ attr_accessor :reservation_maintenance
1337
+
1301
1338
  # Contains Properties set for the reservation.
1302
1339
  # Corresponds to the JSON property `specificSkuAllocation`
1303
1340
  # @return [Google::Apis::ComputeBeta::AllocationResourceStatusSpecificSkuAllocation]
@@ -1309,6 +1346,8 @@ module Google
1309
1346
 
1310
1347
  # Update properties of this object
1311
1348
  def update!(**args)
1349
+ @reservation_block_count = args[:reservation_block_count] if args.key?(:reservation_block_count)
1350
+ @reservation_maintenance = args[:reservation_maintenance] if args.key?(:reservation_maintenance)
1312
1351
  @specific_sku_allocation = args[:specific_sku_allocation] if args.key?(:specific_sku_allocation)
1313
1352
  end
1314
1353
  end
@@ -1322,6 +1361,12 @@ module Google
1322
1361
  # @return [String]
1323
1362
  attr_accessor :source_instance_template_id
1324
1363
 
1364
+ # Per service utilization breakdown. The Key is the Google Cloud managed service
1365
+ # name.
1366
+ # Corresponds to the JSON property `utilizations`
1367
+ # @return [Hash<String,Fixnum>]
1368
+ attr_accessor :utilizations
1369
+
1325
1370
  def initialize(**args)
1326
1371
  update!(**args)
1327
1372
  end
@@ -1329,6 +1374,7 @@ module Google
1329
1374
  # Update properties of this object
1330
1375
  def update!(**args)
1331
1376
  @source_instance_template_id = args[:source_instance_template_id] if args.key?(:source_instance_template_id)
1377
+ @utilizations = args[:utilizations] if args.key?(:utilizations)
1332
1378
  end
1333
1379
  end
1334
1380
 
@@ -1887,8 +1933,8 @@ module Google
1887
1933
  # "audit_log_configs": [ ` "log_type": "DATA_READ" `, ` "log_type": "DATA_WRITE"
1888
1934
  # , "exempted_members": [ "user:aliya@example.com" ] ` ] ` ] ` For sampleservice,
1889
1935
  # this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also
1890
- # exempts jose@example.com from DATA_READ logging, and aliya@example.com from
1891
- # DATA_WRITE logging.
1936
+ # exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com`
1937
+ # from DATA_WRITE logging.
1892
1938
  class AuditConfig
1893
1939
  include Google::Apis::Core::Hashable
1894
1940
 
@@ -1897,11 +1943,6 @@ module Google
1897
1943
  # @return [Array<Google::Apis::ComputeBeta::AuditLogConfig>]
1898
1944
  attr_accessor :audit_log_configs
1899
1945
 
1900
- # This is deprecated and has no effect. Do not use.
1901
- # Corresponds to the JSON property `exemptedMembers`
1902
- # @return [Array<String>]
1903
- attr_accessor :exempted_members
1904
-
1905
1946
  # Specifies a service that will be enabled for audit logging. For example, `
1906
1947
  # storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special
1907
1948
  # value that covers all services.
@@ -1916,7 +1957,6 @@ module Google
1916
1957
  # Update properties of this object
1917
1958
  def update!(**args)
1918
1959
  @audit_log_configs = args[:audit_log_configs] if args.key?(:audit_log_configs)
1919
- @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
1920
1960
  @service = args[:service] if args.key?(:service)
1921
1961
  end
1922
1962
  end
@@ -1935,12 +1975,6 @@ module Google
1935
1975
  # @return [Array<String>]
1936
1976
  attr_accessor :exempted_members
1937
1977
 
1938
- # This is deprecated and has no effect. Do not use.
1939
- # Corresponds to the JSON property `ignoreChildExemptions`
1940
- # @return [Boolean]
1941
- attr_accessor :ignore_child_exemptions
1942
- alias_method :ignore_child_exemptions?, :ignore_child_exemptions
1943
-
1944
1978
  # The log type that this config enables.
1945
1979
  # Corresponds to the JSON property `logType`
1946
1980
  # @return [String]
@@ -1953,7 +1987,6 @@ module Google
1953
1987
  # Update properties of this object
1954
1988
  def update!(**args)
1955
1989
  @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
1956
- @ignore_child_exemptions = args[:ignore_child_exemptions] if args.key?(:ignore_child_exemptions)
1957
1990
  @log_type = args[:log_type] if args.key?(:log_type)
1958
1991
  end
1959
1992
  end
@@ -2860,6 +2893,11 @@ module Google
2860
2893
  # @return [Float]
2861
2894
  attr_accessor :capacity_scaler
2862
2895
 
2896
+ # List of custom metrics that are used for CUSTOM_METRICS BalancingMode.
2897
+ # Corresponds to the JSON property `customMetrics`
2898
+ # @return [Array<Google::Apis::ComputeBeta::BackendCustomMetric>]
2899
+ attr_accessor :custom_metrics
2900
+
2863
2901
  # An optional description of this resource. Provide this property when you
2864
2902
  # create the resource.
2865
2903
  # Corresponds to the JSON property `description`
@@ -2950,6 +2988,7 @@ module Google
2950
2988
  def update!(**args)
2951
2989
  @balancing_mode = args[:balancing_mode] if args.key?(:balancing_mode)
2952
2990
  @capacity_scaler = args[:capacity_scaler] if args.key?(:capacity_scaler)
2991
+ @custom_metrics = args[:custom_metrics] if args.key?(:custom_metrics)
2953
2992
  @description = args[:description] if args.key?(:description)
2954
2993
  @failover = args[:failover] if args.key?(:failover)
2955
2994
  @group = args[:group] if args.key?(:group)
@@ -3024,6 +3063,14 @@ module Google
3024
3063
  # @return [String]
3025
3064
  attr_accessor :kind
3026
3065
 
3066
+ # The value can only be INTERNAL_MANAGED for cross-region internal layer 7 load
3067
+ # balancer. If loadBalancingScheme is not specified, the backend bucket can be
3068
+ # used by classic global external load balancers, or global application external
3069
+ # load balancers, or both.
3070
+ # Corresponds to the JSON property `loadBalancingScheme`
3071
+ # @return [String]
3072
+ attr_accessor :load_balancing_scheme
3073
+
3027
3074
  # Name of the resource. Provided by the client when the resource is created. The
3028
3075
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
3029
3076
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
@@ -3039,6 +3086,11 @@ module Google
3039
3086
  # @return [String]
3040
3087
  attr_accessor :self_link
3041
3088
 
3089
+ # [Output Only] List of resources referencing that backend bucket.
3090
+ # Corresponds to the JSON property `usedBy`
3091
+ # @return [Array<Google::Apis::ComputeBeta::BackendBucketUsedBy>]
3092
+ attr_accessor :used_by
3093
+
3042
3094
  def initialize(**args)
3043
3095
  update!(**args)
3044
3096
  end
@@ -3055,8 +3107,10 @@ module Google
3055
3107
  @enable_cdn = args[:enable_cdn] if args.key?(:enable_cdn)
3056
3108
  @id = args[:id] if args.key?(:id)
3057
3109
  @kind = args[:kind] if args.key?(:kind)
3110
+ @load_balancing_scheme = args[:load_balancing_scheme] if args.key?(:load_balancing_scheme)
3058
3111
  @name = args[:name] if args.key?(:name)
3059
3112
  @self_link = args[:self_link] if args.key?(:self_link)
3113
+ @used_by = args[:used_by] if args.key?(:used_by)
3060
3114
  end
3061
3115
  end
3062
3116
 
@@ -3411,6 +3465,66 @@ module Google
3411
3465
  end
3412
3466
  end
3413
3467
 
3468
+ #
3469
+ class BackendBucketUsedBy
3470
+ include Google::Apis::Core::Hashable
3471
+
3472
+ # [Output Only] Server-defined URL for UrlMaps referencing that BackendBucket.
3473
+ # Corresponds to the JSON property `reference`
3474
+ # @return [String]
3475
+ attr_accessor :reference
3476
+
3477
+ def initialize(**args)
3478
+ update!(**args)
3479
+ end
3480
+
3481
+ # Update properties of this object
3482
+ def update!(**args)
3483
+ @reference = args[:reference] if args.key?(:reference)
3484
+ end
3485
+ end
3486
+
3487
+ # Custom Metrics are used for CUSTOM_METRICS balancing_mode.
3488
+ class BackendCustomMetric
3489
+ include Google::Apis::Core::Hashable
3490
+
3491
+ # If true, the metric data is collected and reported to Cloud Monitoring, but is
3492
+ # not used for load balancing.
3493
+ # Corresponds to the JSON property `dryRun`
3494
+ # @return [Boolean]
3495
+ attr_accessor :dry_run
3496
+ alias_method :dry_run?, :dry_run
3497
+
3498
+ # Optional parameter to define a target utilization for the Custom Metrics
3499
+ # balancing mode. The valid range is [0.0, 1.0].
3500
+ # Corresponds to the JSON property `maxUtilization`
3501
+ # @return [Float]
3502
+ attr_accessor :max_utilization
3503
+
3504
+ # Name of a custom utilization signal. The name must be 1-24 characters long and
3505
+ # match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means the
3506
+ # first character must be a lowercase letter, and all following characters must
3507
+ # be a dash, period, underscore, lowercase letter, or digit, except the last
3508
+ # character, which cannot be a dash, period, or underscore. For usage guidelines,
3509
+ # see Custom Metrics balancing mode. This field can only be used for a global
3510
+ # or regional backend service with the loadBalancingScheme set to
3511
+ # EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED.
3512
+ # Corresponds to the JSON property `name`
3513
+ # @return [String]
3514
+ attr_accessor :name
3515
+
3516
+ def initialize(**args)
3517
+ update!(**args)
3518
+ end
3519
+
3520
+ # Update properties of this object
3521
+ def update!(**args)
3522
+ @dry_run = args[:dry_run] if args.key?(:dry_run)
3523
+ @max_utilization = args[:max_utilization] if args.key?(:max_utilization)
3524
+ @name = args[:name] if args.key?(:name)
3525
+ end
3526
+ end
3527
+
3414
3528
  # Represents a Backend Service resource. A backend service defines how Google
3415
3529
  # Cloud load balancers distribute traffic. The backend service configuration
3416
3530
  # contains a set of values, such as the protocol used to connect to backends,
@@ -3478,6 +3592,12 @@ module Google
3478
3592
  # @return [String]
3479
3593
  attr_accessor :creation_timestamp
3480
3594
 
3595
+ # List of custom metrics that are used for the WEIGHTED_ROUND_ROBIN
3596
+ # locality_lb_policy.
3597
+ # Corresponds to the JSON property `customMetrics`
3598
+ # @return [Array<Google::Apis::ComputeBeta::BackendServiceCustomMetric>]
3599
+ attr_accessor :custom_metrics
3600
+
3481
3601
  # Headers that the load balancer adds to proxied requests. See [Creating custom
3482
3602
  # headers](https://cloud.google.com/load-balancing/docs/custom-headers).
3483
3603
  # Corresponds to the JSON property `customRequestHeaders`
@@ -3509,6 +3629,32 @@ module Google
3509
3629
  attr_accessor :enable_cdn
3510
3630
  alias_method :enable_cdn?, :enable_cdn
3511
3631
 
3632
+ # Specifies the canary migration state. Possible values are PREPARE,
3633
+ # TEST_BY_PERCENTAGE, and TEST_ALL_TRAFFIC. To begin the migration from EXTERNAL
3634
+ # to EXTERNAL_MANAGED, the state must be changed to PREPARE. The state must be
3635
+ # changed to TEST_ALL_TRAFFIC before the loadBalancingScheme can be changed to
3636
+ # EXTERNAL_MANAGED. Optionally, the TEST_BY_PERCENTAGE state can be used to
3637
+ # migrate traffic by percentage using externalManagedMigrationTestingPercentage.
3638
+ # Rolling back a migration requires the states to be set in reverse order. So
3639
+ # changing the scheme from EXTERNAL_MANAGED to EXTERNAL requires the state to be
3640
+ # set to TEST_ALL_TRAFFIC at the same time. Optionally, the TEST_BY_PERCENTAGE
3641
+ # state can be used to migrate some traffic back to EXTERNAL or PREPARE can be
3642
+ # used to migrate all traffic back to EXTERNAL.
3643
+ # Corresponds to the JSON property `externalManagedMigrationState`
3644
+ # @return [String]
3645
+ attr_accessor :external_managed_migration_state
3646
+
3647
+ # Determines the fraction of requests that should be processed by the Global
3648
+ # external Application Load Balancer. The value of this field must be in the
3649
+ # range [0, 100]. Session affinity options will slightly affect this routing
3650
+ # behavior, for more details, see: Session Affinity. This value can only be set
3651
+ # if the loadBalancingScheme in the BackendService is set to EXTERNAL (when
3652
+ # using the classic Application Load Balancer) and the migration state is
3653
+ # TEST_BY_PERCENTAGE.
3654
+ # Corresponds to the JSON property `externalManagedMigrationTestingPercentage`
3655
+ # @return [Float]
3656
+ attr_accessor :external_managed_migration_testing_percentage
3657
+
3512
3658
  # For load balancers that have configurable failover: [Internal passthrough
3513
3659
  # Network Load Balancers](https://cloud.google.com/load-balancing/docs/internal/
3514
3660
  # failover-overview) and [external passthrough Network Load Balancers](https://
@@ -3622,8 +3768,10 @@ module Google
3622
3768
  # set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to
3623
3769
  # INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme
3624
3770
  # set to INTERNAL_SELF_MANAGED, INTERNAL_MANAGED, or EXTERNAL_MANAGED. If
3625
- # sessionAffinity is not NONE, and this field is not set to MAGLEV or RING_HASH,
3626
- # session affinity settings will not take effect. Only ROUND_ROBIN and RING_HASH
3771
+ # sessionAffinity is not configured—that is, if session affinity remains at the
3772
+ # default value of NONE—then the default value for localityLbPolicy is
3773
+ # ROUND_ROBIN. If session affinity is set to a value other than NONE, then the
3774
+ # default value for localityLbPolicy is MAGLEV. Only ROUND_ROBIN and RING_HASH
3627
3775
  # are supported when the backend service is referenced by a URL map that is
3628
3776
  # bound to target gRPC proxy that has validateForProxyless field set to true.
3629
3777
  # Corresponds to the JSON property `localityLbPolicy`
@@ -3746,6 +3894,11 @@ module Google
3746
3894
  # @return [String]
3747
3895
  attr_accessor :session_affinity
3748
3896
 
3897
+ # The HTTP cookie used for stateful session affinity.
3898
+ # Corresponds to the JSON property `strongSessionAffinityCookie`
3899
+ # @return [Google::Apis::ComputeBeta::BackendServiceHttpCookie]
3900
+ attr_accessor :strong_session_affinity_cookie
3901
+
3749
3902
  # Subsetting configuration for this BackendService. Currently this is applicable
3750
3903
  # only for Internal TCP/UDP load balancing, Internal HTTP(S) load balancing and
3751
3904
  # Traffic Director.
@@ -3765,7 +3918,7 @@ module Google
3765
3918
  # @return [Fixnum]
3766
3919
  attr_accessor :timeout_sec
3767
3920
 
3768
- #
3921
+ # [Output Only] List of resources referencing given backend service.
3769
3922
  # Corresponds to the JSON property `usedBy`
3770
3923
  # @return [Array<Google::Apis::ComputeBeta::BackendServiceUsedBy>]
3771
3924
  attr_accessor :used_by
@@ -3785,11 +3938,14 @@ module Google
3785
3938
  @connection_tracking_policy = args[:connection_tracking_policy] if args.key?(:connection_tracking_policy)
3786
3939
  @consistent_hash = args[:consistent_hash] if args.key?(:consistent_hash)
3787
3940
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
3941
+ @custom_metrics = args[:custom_metrics] if args.key?(:custom_metrics)
3788
3942
  @custom_request_headers = args[:custom_request_headers] if args.key?(:custom_request_headers)
3789
3943
  @custom_response_headers = args[:custom_response_headers] if args.key?(:custom_response_headers)
3790
3944
  @description = args[:description] if args.key?(:description)
3791
3945
  @edge_security_policy = args[:edge_security_policy] if args.key?(:edge_security_policy)
3792
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)
3793
3949
  @failover_policy = args[:failover_policy] if args.key?(:failover_policy)
3794
3950
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
3795
3951
  @health_checks = args[:health_checks] if args.key?(:health_checks)
@@ -3816,6 +3972,7 @@ module Google
3816
3972
  @service_bindings = args[:service_bindings] if args.key?(:service_bindings)
3817
3973
  @service_lb_policy = args[:service_lb_policy] if args.key?(:service_lb_policy)
3818
3974
  @session_affinity = args[:session_affinity] if args.key?(:session_affinity)
3975
+ @strong_session_affinity_cookie = args[:strong_session_affinity_cookie] if args.key?(:strong_session_affinity_cookie)
3819
3976
  @subsetting = args[:subsetting] if args.key?(:subsetting)
3820
3977
  @timeout_sec = args[:timeout_sec] if args.key?(:timeout_sec)
3821
3978
  @used_by = args[:used_by] if args.key?(:used_by)
@@ -4219,6 +4376,39 @@ module Google
4219
4376
  end
4220
4377
  end
4221
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
+
4222
4412
  # For load balancers that have configurable failover: [Internal passthrough
4223
4413
  # Network Load Balancers](https://cloud.google.com/load-balancing/docs/internal/
4224
4414
  # failover-overview) and [external passthrough Network Load Balancers](https://
@@ -4308,6 +4498,40 @@ module Google
4308
4498
  end
4309
4499
  end
4310
4500
 
4501
+ # The HTTP cookie used for stateful session affinity.
4502
+ class BackendServiceHttpCookie
4503
+ include Google::Apis::Core::Hashable
4504
+
4505
+ # Name of the cookie.
4506
+ # Corresponds to the JSON property `name`
4507
+ # @return [String]
4508
+ attr_accessor :name
4509
+
4510
+ # Path to set for the cookie.
4511
+ # Corresponds to the JSON property `path`
4512
+ # @return [String]
4513
+ attr_accessor :path
4514
+
4515
+ # A Duration represents a fixed-length span of time represented as a count of
4516
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
4517
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
4518
+ # 000 years.
4519
+ # Corresponds to the JSON property `ttl`
4520
+ # @return [Google::Apis::ComputeBeta::Duration]
4521
+ attr_accessor :ttl
4522
+
4523
+ def initialize(**args)
4524
+ update!(**args)
4525
+ end
4526
+
4527
+ # Update properties of this object
4528
+ def update!(**args)
4529
+ @name = args[:name] if args.key?(:name)
4530
+ @path = args[:path] if args.key?(:path)
4531
+ @ttl = args[:ttl] if args.key?(:ttl)
4532
+ end
4533
+ end
4534
+
4311
4535
  # Identity-Aware Proxy
4312
4536
  class BackendServiceIap
4313
4537
  include Google::Apis::Core::Hashable
@@ -4740,7 +4964,9 @@ module Google
4740
4964
  class BackendServiceUsedBy
4741
4965
  include Google::Apis::Core::Hashable
4742
4966
 
4743
- #
4967
+ # [Output Only] Server-defined URL for resources referencing given
4968
+ # BackendService like UrlMaps, TargetTcpProxies, TargetSslProxies and
4969
+ # ForwardingRule.
4744
4970
  # Corresponds to the JSON property `reference`
4745
4971
  # @return [String]
4746
4972
  attr_accessor :reference
@@ -5194,11 +5420,6 @@ module Google
5194
5420
  class Binding
5195
5421
  include Google::Apis::Core::Hashable
5196
5422
 
5197
- # This is deprecated and has no effect. Do not use.
5198
- # Corresponds to the JSON property `bindingId`
5199
- # @return [String]
5200
- attr_accessor :binding_id
5201
-
5202
5423
  # Represents a textual expression in the Common Expression Language (CEL) syntax.
5203
5424
  # CEL is a C-like expression language. The syntax and semantics of CEL are
5204
5425
  # documented at https://github.com/google/cel-spec. Example (Comparison): title:
@@ -5290,7 +5511,6 @@ module Google
5290
5511
 
5291
5512
  # Update properties of this object
5292
5513
  def update!(**args)
5293
- @binding_id = args[:binding_id] if args.key?(:binding_id)
5294
5514
  @condition = args[:condition] if args.key?(:condition)
5295
5515
  @members = args[:members] if args.key?(:members)
5296
5516
  @role = args[:role] if args.key?(:role)
@@ -5691,6 +5911,13 @@ module Google
5691
5911
  # @return [String]
5692
5912
  attr_accessor :creation_timestamp
5693
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
+
5694
5921
  # An optional description of this resource. Provide this property when you
5695
5922
  # create the resource.
5696
5923
  # Corresponds to the JSON property `description`
@@ -5759,6 +5986,11 @@ module Google
5759
5986
  # @return [Array<Google::Apis::ComputeBeta::Reservation>]
5760
5987
  attr_accessor :reservations
5761
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
+
5762
5994
  # A list of commitment amounts for particular resources. Note that VCPU and
5763
5995
  # MEMORY resource commitments must occur together.
5764
5996
  # Corresponds to the JSON property `resources`
@@ -5809,6 +6041,7 @@ module Google
5809
6041
  @auto_renew = args[:auto_renew] if args.key?(:auto_renew)
5810
6042
  @category = args[:category] if args.key?(:category)
5811
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)
5812
6045
  @description = args[:description] if args.key?(:description)
5813
6046
  @end_timestamp = args[:end_timestamp] if args.key?(:end_timestamp)
5814
6047
  @existing_reservations = args[:existing_reservations] if args.key?(:existing_reservations)
@@ -5820,6 +6053,7 @@ module Google
5820
6053
  @plan = args[:plan] if args.key?(:plan)
5821
6054
  @region = args[:region] if args.key?(:region)
5822
6055
  @reservations = args[:reservations] if args.key?(:reservations)
6056
+ @resource_status = args[:resource_status] if args.key?(:resource_status)
5823
6057
  @resources = args[:resources] if args.key?(:resources)
5824
6058
  @self_link = args[:self_link] if args.key?(:self_link)
5825
6059
  @split_source_commitment = args[:split_source_commitment] if args.key?(:split_source_commitment)
@@ -6072,6 +6306,27 @@ module Google
6072
6306
  end
6073
6307
  end
6074
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
+
6075
6330
  #
6076
6331
  class CommitmentsScopedList
6077
6332
  include Google::Apis::Core::Hashable
@@ -6163,49 +6418,6 @@ module Google
6163
6418
  end
6164
6419
  end
6165
6420
 
6166
- # This is deprecated and has no effect. Do not use.
6167
- class Condition
6168
- include Google::Apis::Core::Hashable
6169
-
6170
- # This is deprecated and has no effect. Do not use.
6171
- # Corresponds to the JSON property `iam`
6172
- # @return [String]
6173
- attr_accessor :iam
6174
-
6175
- # This is deprecated and has no effect. Do not use.
6176
- # Corresponds to the JSON property `op`
6177
- # @return [String]
6178
- attr_accessor :op
6179
-
6180
- # This is deprecated and has no effect. Do not use.
6181
- # Corresponds to the JSON property `svc`
6182
- # @return [String]
6183
- attr_accessor :svc
6184
-
6185
- # This is deprecated and has no effect. Do not use.
6186
- # Corresponds to the JSON property `sys`
6187
- # @return [String]
6188
- attr_accessor :sys
6189
-
6190
- # This is deprecated and has no effect. Do not use.
6191
- # Corresponds to the JSON property `values`
6192
- # @return [Array<String>]
6193
- attr_accessor :values
6194
-
6195
- def initialize(**args)
6196
- update!(**args)
6197
- end
6198
-
6199
- # Update properties of this object
6200
- def update!(**args)
6201
- @iam = args[:iam] if args.key?(:iam)
6202
- @op = args[:op] if args.key?(:op)
6203
- @svc = args[:svc] if args.key?(:svc)
6204
- @sys = args[:sys] if args.key?(:sys)
6205
- @values = args[:values] if args.key?(:values)
6206
- end
6207
- end
6208
-
6209
6421
  # A set of Confidential Instance options.
6210
6422
  class ConfidentialInstanceConfig
6211
6423
  include Google::Apis::Core::Hashable
@@ -9365,6 +9577,11 @@ module Google
9365
9577
  # @return [String]
9366
9578
  attr_accessor :name
9367
9579
 
9580
+ # A list of packet mirroring rules that belong to this policy.
9581
+ # Corresponds to the JSON property `packetMirroringRules`
9582
+ # @return [Array<Google::Apis::ComputeBeta::FirewallPolicyRule>]
9583
+ attr_accessor :packet_mirroring_rules
9584
+
9368
9585
  # [Output Only] The parent of the firewall policy. This field is not applicable
9369
9586
  # to network firewall policies.
9370
9587
  # Corresponds to the JSON property `parent`
@@ -9430,6 +9647,7 @@ module Google
9430
9647
  @id = args[:id] if args.key?(:id)
9431
9648
  @kind = args[:kind] if args.key?(:kind)
9432
9649
  @name = args[:name] if args.key?(:name)
9650
+ @packet_mirroring_rules = args[:packet_mirroring_rules] if args.key?(:packet_mirroring_rules)
9433
9651
  @parent = args[:parent] if args.key?(:parent)
9434
9652
  @region = args[:region] if args.key?(:region)
9435
9653
  @rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
@@ -9602,7 +9820,9 @@ module Google
9602
9820
  include Google::Apis::Core::Hashable
9603
9821
 
9604
9822
  # The Action to perform when the client connection triggers the rule. Valid
9605
- # 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".
9606
9826
  # Corresponds to the JSON property `action`
9607
9827
  # @return [String]
9608
9828
  attr_accessor :action
@@ -9634,8 +9854,8 @@ module Google
9634
9854
  attr_accessor :enable_logging
9635
9855
  alias_method :enable_logging?, :enable_logging
9636
9856
 
9637
- # [Output only] Type of the resource. Always compute#firewallPolicyRule for
9638
- # firewall policy rules
9857
+ # [Output only] Type of the resource. Returns compute#firewallPolicyRule for
9858
+ # firewall rules and compute#packetMirroringRule for packet mirroring rules.
9639
9859
  # Corresponds to the JSON property `kind`
9640
9860
  # @return [String]
9641
9861
  attr_accessor :kind
@@ -9649,7 +9869,7 @@ module Google
9649
9869
  # An integer indicating the priority of a rule in the list. The priority must be
9650
9870
  # a positive value between 0 and 2147483647. Rules are evaluated from highest to
9651
9871
  # lowest priority where 0 is the highest priority and 2147483647 is the lowest
9652
- # prority.
9872
+ # priority.
9653
9873
  # Corresponds to the JSON property `priority`
9654
9874
  # @return [Fixnum]
9655
9875
  attr_accessor :priority
@@ -9667,8 +9887,9 @@ module Google
9667
9887
 
9668
9888
  # A fully-qualified URL of a SecurityProfile resource instance. Example: https://
9669
9889
  # networksecurity.googleapis.com/v1/projects/`project`/locations/`location`/
9670
- # securityProfileGroups/my-security-profile-group Must be specified if action = '
9671
- # 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.
9672
9893
  # Corresponds to the JSON property `securityProfileGroup`
9673
9894
  # @return [String]
9674
9895
  attr_accessor :security_profile_group
@@ -9753,6 +9974,11 @@ module Google
9753
9974
  # @return [Array<String>]
9754
9975
  attr_accessor :dest_ip_ranges
9755
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
+
9756
9982
  # Region codes whose IP addresses will be used to match for destination of
9757
9983
  # traffic. Should be specified as 2 letter country code defined as per ISO 3166
9758
9984
  # alpha-2 country codes. ex."US" Maximum number of dest region codes allowed is
@@ -9789,6 +10015,16 @@ module Google
9789
10015
  # @return [Array<String>]
9790
10016
  attr_accessor :src_ip_ranges
9791
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
+
9792
10028
  # Region codes whose IP addresses will be used to match for source of traffic.
9793
10029
  # Should be specified as 2 letter country code defined as per ISO 3166 alpha-2
9794
10030
  # country codes. ex."US" Maximum number of source region codes allowed is 5000.
@@ -9819,12 +10055,15 @@ module Google
9819
10055
  @dest_address_groups = args[:dest_address_groups] if args.key?(:dest_address_groups)
9820
10056
  @dest_fqdns = args[:dest_fqdns] if args.key?(:dest_fqdns)
9821
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)
9822
10059
  @dest_region_codes = args[:dest_region_codes] if args.key?(:dest_region_codes)
9823
10060
  @dest_threat_intelligences = args[:dest_threat_intelligences] if args.key?(:dest_threat_intelligences)
9824
10061
  @layer4_configs = args[:layer4_configs] if args.key?(:layer4_configs)
9825
10062
  @src_address_groups = args[:src_address_groups] if args.key?(:src_address_groups)
9826
10063
  @src_fqdns = args[:src_fqdns] if args.key?(:src_fqdns)
9827
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)
9828
10067
  @src_region_codes = args[:src_region_codes] if args.key?(:src_region_codes)
9829
10068
  @src_secure_tags = args[:src_secure_tags] if args.key?(:src_secure_tags)
9830
10069
  @src_threat_intelligences = args[:src_threat_intelligences] if args.key?(:src_threat_intelligences)
@@ -10042,6 +10281,33 @@ module Google
10042
10281
  # @return [String]
10043
10282
  attr_accessor :description
10044
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
+
10045
10311
  # Fingerprint of this resource. A hash of the contents stored in this object.
10046
10312
  # This field is used in optimistic locking. This field will be ignored when
10047
10313
  # inserting a ForwardingRule. Include the fingerprint in patch request to ensure
@@ -10313,6 +10579,8 @@ module Google
10313
10579
  @base_forwarding_rule = args[:base_forwarding_rule] if args.key?(:base_forwarding_rule)
10314
10580
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
10315
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)
10316
10584
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
10317
10585
  @id = args[:id] if args.key?(:id)
10318
10586
  @ip_collection = args[:ip_collection] if args.key?(:ip_collection)
@@ -10765,18 +11033,36 @@ module Google
10765
11033
  # @return [String]
10766
11034
  attr_accessor :creation_timestamp
10767
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
+
10768
11041
  # An optional description of this resource. Provide this property when you
10769
11042
  # create the future reservation.
10770
11043
  # Corresponds to the JSON property `description`
10771
11044
  # @return [String]
10772
11045
  attr_accessor :description
10773
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
+
10774
11055
  # [Output Only] A unique identifier for this future reservation. The server
10775
11056
  # defines this identifier.
10776
11057
  # Corresponds to the JSON property `id`
10777
11058
  # @return [Fixnum]
10778
11059
  attr_accessor :id
10779
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
+
10780
11066
  # [Output Only] Type of the resource. Always compute#futureReservation for
10781
11067
  # future reservations.
10782
11068
  # Corresponds to the JSON property `kind`
@@ -10806,6 +11092,20 @@ module Google
10806
11092
  # @return [String]
10807
11093
  attr_accessor :planning_status
10808
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
+
10809
11109
  # [Output Only] Server-defined fully-qualified URL for this resource.
10810
11110
  # Corresponds to the JSON property `selfLink`
10811
11111
  # @return [String]
@@ -10821,6 +11121,14 @@ module Google
10821
11121
  # @return [Google::Apis::ComputeBeta::ShareSettings]
10822
11122
  attr_accessor :share_settings
10823
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
+
10824
11132
  # Future Reservation configuration to indicate instance properties and total
10825
11133
  # count.
10826
11134
  # Corresponds to the JSON property `specificSkuProperties`
@@ -10852,15 +11160,21 @@ module Google
10852
11160
  @auto_created_reservations_duration = args[:auto_created_reservations_duration] if args.key?(:auto_created_reservations_duration)
10853
11161
  @auto_delete_auto_created_reservations = args[:auto_delete_auto_created_reservations] if args.key?(:auto_delete_auto_created_reservations)
10854
11162
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
11163
+ @deployment_type = args[:deployment_type] if args.key?(:deployment_type)
10855
11164
  @description = args[:description] if args.key?(:description)
11165
+ @enable_opportunistic_maintenance = args[:enable_opportunistic_maintenance] if args.key?(:enable_opportunistic_maintenance)
10856
11166
  @id = args[:id] if args.key?(:id)
11167
+ @instance_termination_action = args[:instance_termination_action] if args.key?(:instance_termination_action)
10857
11168
  @kind = args[:kind] if args.key?(:kind)
10858
11169
  @name = args[:name] if args.key?(:name)
10859
11170
  @name_prefix = args[:name_prefix] if args.key?(:name_prefix)
10860
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)
10861
11174
  @self_link = args[:self_link] if args.key?(:self_link)
10862
11175
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
10863
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)
10864
11178
  @specific_sku_properties = args[:specific_sku_properties] if args.key?(:specific_sku_properties)
10865
11179
  @status = args[:status] if args.key?(:status)
10866
11180
  @time_window = args[:time_window] if args.key?(:time_window)
@@ -10915,6 +11229,12 @@ module Google
10915
11229
  # @return [Array<String>]
10916
11230
  attr_accessor :auto_created_reservations
10917
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
+
10918
11238
  # This count indicates the fulfilled capacity so far. This is set during "
10919
11239
  # PROVISIONING" state. This count also includes capacity delivered as part of
10920
11240
  # existing matching reservations.
@@ -10954,6 +11274,7 @@ module Google
10954
11274
  def update!(**args)
10955
11275
  @amendment_status = args[:amendment_status] if args.key?(:amendment_status)
10956
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)
10957
11278
  @fulfilled_count = args[:fulfilled_count] if args.key?(:fulfilled_count)
10958
11279
  @last_known_good_state = args[:last_known_good_state] if args.key?(:last_known_good_state)
10959
11280
  @lock_time = args[:lock_time] if args.key?(:lock_time)
@@ -10962,6 +11283,33 @@ module Google
10962
11283
  end
10963
11284
  end
10964
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
+
10965
11313
  # The state that the future reservation will be reverted to should the amendment
10966
11314
  # be declined.
10967
11315
  class FutureReservationStatusLastKnownGoodState
@@ -10973,6 +11321,12 @@ module Google
10973
11321
  # @return [String]
10974
11322
  attr_accessor :description
10975
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
+
10976
11330
  # The properties of the last known good state for the Future Reservation.
10977
11331
  # Corresponds to the JSON property `futureReservationSpecs`
10978
11332
  # @return [Google::Apis::ComputeBeta::FutureReservationStatusLastKnownGoodStateFutureReservationSpecs]
@@ -11003,6 +11357,7 @@ module Google
11003
11357
  # Update properties of this object
11004
11358
  def update!(**args)
11005
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)
11006
11361
  @future_reservation_specs = args[:future_reservation_specs] if args.key?(:future_reservation_specs)
11007
11362
  @lock_time = args[:lock_time] if args.key?(:lock_time)
11008
11363
  @name_prefix = args[:name_prefix] if args.key?(:name_prefix)
@@ -11729,6 +12084,53 @@ module Google
11729
12084
  end
11730
12085
  end
11731
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
+
11732
12134
  # A guest attributes entry.
11733
12135
  class GuestAttributes
11734
12136
  include Google::Apis::Core::Hashable
@@ -15865,10 +16267,15 @@ module Google
15865
16267
  # @return [Array<Google::Apis::ComputeBeta::InstanceGroupManagerAutoHealingPolicy>]
15866
16268
  attr_accessor :auto_healing_policies
15867
16269
 
15868
- # The base instance name to use for instances in this group. The value must be 1-
15869
- # 58 characters long. Instances are named by appending a hyphen and a random
15870
- # four-character string to the base instance name. The base instance name must
15871
- # comply with RFC1035.
16270
+ # The base instance name is a prefix that you want to attach to the names of all
16271
+ # VMs in a MIG. The maximum character length is 58 and the name must comply with
16272
+ # RFC1035 format. When a VM is created in the group, the MIG appends a hyphen
16273
+ # and a random four-character string to the base instance name. If you want the
16274
+ # MIG to assign sequential numbers instead of a random string, then end the base
16275
+ # instance name with a hyphen followed by one or more hash symbols. The hash
16276
+ # symbols indicate the number of digits. For example, a base instance name of "
16277
+ # vm-###" results in "vm-001" as a VM name. @pattern [a-z](([-a-z0-9]`0,57`)|([-
16278
+ # a-z0-9]`0,51`-#`1,10`(\\[[0-9]`1,10`\\])?))
15872
16279
  # Corresponds to the JSON property `baseInstanceName`
15873
16280
  # @return [String]
15874
16281
  attr_accessor :base_instance_name
@@ -15956,14 +16363,19 @@ module Google
15956
16363
  # @return [String]
15957
16364
  attr_accessor :list_managed_instances_results
15958
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
+
15959
16371
  # The name of the managed instance group. The name must be 1-63 characters long,
15960
16372
  # and comply with RFC1035.
15961
16373
  # Corresponds to the JSON property `name`
15962
16374
  # @return [String]
15963
16375
  attr_accessor :name
15964
16376
 
15965
- # Named ports configured for the Instance Groups complementary to this Instance
15966
- # Group Manager.
16377
+ # [Output Only] Named ports configured on the Instance Groups complementary to
16378
+ # this Instance Group Manager.
15967
16379
  # Corresponds to the JSON property `namedPorts`
15968
16380
  # @return [Array<Google::Apis::ComputeBeta::NamedPort>]
15969
16381
  attr_accessor :named_ports
@@ -15979,6 +16391,11 @@ module Google
15979
16391
  # @return [String]
15980
16392
  attr_accessor :region
15981
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
+
15982
16399
  # [Output Only] Reserved for future use.
15983
16400
  # Corresponds to the JSON property `satisfiesPzi`
15984
16401
  # @return [Boolean]
@@ -16094,10 +16511,12 @@ module Google
16094
16511
  @instance_template = args[:instance_template] if args.key?(:instance_template)
16095
16512
  @kind = args[:kind] if args.key?(:kind)
16096
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)
16097
16515
  @name = args[:name] if args.key?(:name)
16098
16516
  @named_ports = args[:named_ports] if args.key?(:named_ports)
16099
16517
  @params = args[:params] if args.key?(:params)
16100
16518
  @region = args[:region] if args.key?(:region)
16519
+ @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
16101
16520
  @satisfies_pzi = args[:satisfies_pzi] if args.key?(:satisfies_pzi)
16102
16521
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
16103
16522
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -16408,12 +16827,6 @@ module Google
16408
16827
  class InstanceGroupManagerInstanceFlexibilityPolicy
16409
16828
  include Google::Apis::Core::Hashable
16410
16829
 
16411
- # Named instance selections configuring properties that the group will use when
16412
- # creating new VMs.
16413
- # Corresponds to the JSON property `instanceSelectionLists`
16414
- # @return [Hash<String,Google::Apis::ComputeBeta::InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection>]
16415
- attr_accessor :instance_selection_lists
16416
-
16417
16830
  # Named instance selections configuring properties that the group will use when
16418
16831
  # creating new VMs.
16419
16832
  # Corresponds to the JSON property `instanceSelections`
@@ -16432,7 +16845,6 @@ module Google
16432
16845
 
16433
16846
  # Update properties of this object
16434
16847
  def update!(**args)
16435
- @instance_selection_lists = args[:instance_selection_lists] if args.key?(:instance_selection_lists)
16436
16848
  @instance_selections = args[:instance_selections] if args.key?(:instance_selections)
16437
16849
  @provisioning_model_mix = args[:provisioning_model_mix] if args.key?(:provisioning_model_mix)
16438
16850
  end
@@ -16710,6 +17122,12 @@ module Google
16710
17122
  # @return [String]
16711
17123
  attr_accessor :name
16712
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
+
16713
17131
  # A Duration represents a fixed-length span of time represented as a count of
16714
17132
  # seconds and fractions of seconds at nanosecond resolution. It is independent
16715
17133
  # of any calendar and concepts like "day" or "month". Range is approximately 10,
@@ -16719,7 +17137,8 @@ module Google
16719
17137
  attr_accessor :requested_run_duration
16720
17138
 
16721
17139
  # The number of instances to be created by this resize request. The group's
16722
- # 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'.
16723
17142
  # Corresponds to the JSON property `resizeBy`
16724
17143
  # @return [Fixnum]
16725
17144
  attr_accessor :resize_by
@@ -16762,6 +17181,7 @@ module Google
16762
17181
  @id = args[:id] if args.key?(:id)
16763
17182
  @kind = args[:kind] if args.key?(:kind)
16764
17183
  @name = args[:name] if args.key?(:name)
17184
+ @region = args[:region] if args.key?(:region)
16765
17185
  @requested_run_duration = args[:requested_run_duration] if args.key?(:requested_run_duration)
16766
17186
  @resize_by = args[:resize_by] if args.key?(:resize_by)
16767
17187
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -17163,6 +17583,30 @@ module Google
17163
17583
  end
17164
17584
  end
17165
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
+
17166
17610
  #
17167
17611
  class InstanceGroupManagerStandbyPolicy
17168
17612
  include Google::Apis::Core::Hashable
@@ -19645,7 +20089,7 @@ module Google
19645
20089
  class InstancesGetEffectiveFirewallsResponse
19646
20090
  include Google::Apis::Core::Hashable
19647
20091
 
19648
- # Effective firewalls from firewall policies.
20092
+ # [Output Only] Effective firewalls from firewall policies.
19649
20093
  # Corresponds to the JSON property `firewallPolicys`
19650
20094
  # @return [Array<Google::Apis::ComputeBeta::InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy>]
19651
20095
  attr_accessor :firewall_policys
@@ -19687,7 +20131,15 @@ module Google
19687
20131
  # @return [String]
19688
20132
  attr_accessor :name
19689
20133
 
19690
- # The rules that apply to the network.
20134
+ # [Output only] Priority of firewall policy association. Not applicable for type=
20135
+ # HIERARCHY.
20136
+ # Corresponds to the JSON property `priority`
20137
+ # @return [Fixnum]
20138
+ attr_accessor :priority
20139
+
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.
19691
20143
  # Corresponds to the JSON property `rules`
19692
20144
  # @return [Array<Google::Apis::ComputeBeta::FirewallPolicyRule>]
19693
20145
  attr_accessor :rules
@@ -19711,6 +20163,7 @@ module Google
19711
20163
  def update!(**args)
19712
20164
  @display_name = args[:display_name] if args.key?(:display_name)
19713
20165
  @name = args[:name] if args.key?(:name)
20166
+ @priority = args[:priority] if args.key?(:priority)
19714
20167
  @rules = args[:rules] if args.key?(:rules)
19715
20168
  @short_name = args[:short_name] if args.key?(:short_name)
19716
20169
  @type = args[:type] if args.key?(:type)
@@ -20616,6 +21069,12 @@ module Google
20616
21069
  class Interconnect
20617
21070
  include Google::Apis::Core::Hashable
20618
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
+
20619
21078
  # Administrative status of the interconnect. When this is set to true, the
20620
21079
  # Interconnect is functional and can carry traffic. When set to false, no
20621
21080
  # packets can be carried over the interconnect and no BGP routes are exchanged
@@ -20625,8 +21084,13 @@ module Google
20625
21084
  attr_accessor :admin_enabled
20626
21085
  alias_method :admin_enabled?, :admin_enabled
20627
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
+
20628
21092
  # [Output only] List of features available for this Interconnect connection,
20629
- # 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
20630
21094
  # Interconnect connection is provisioned on MACsec capable hardware ports. If
20631
21095
  # not present then the Interconnect connection is provisioned on non-MACsec
20632
21096
  # capable ports and MACsec isn't supported and enabling MACsec fails.
@@ -20797,7 +21261,7 @@ module Google
20797
21261
  attr_accessor :remote_location
20798
21262
 
20799
21263
  # Optional. List of features requested for this Interconnect connection, which
20800
- # 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
20801
21265
  # connection is created on MACsec capable hardware ports. If not specified, the
20802
21266
  # default value is false, which allocates non-MACsec capable ports first if
20803
21267
  # available. This parameter can be provided only with Interconnect INSERT. It
@@ -20840,7 +21304,9 @@ module Google
20840
21304
 
20841
21305
  # Update properties of this object
20842
21306
  def update!(**args)
21307
+ @aai_enabled = args[:aai_enabled] if args.key?(:aai_enabled)
20843
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)
20844
21310
  @available_features = args[:available_features] if args.key?(:available_features)
20845
21311
  @circuit_infos = args[:circuit_infos] if args.key?(:circuit_infos)
20846
21312
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
@@ -20873,6 +21339,104 @@ module Google
20873
21339
  end
20874
21340
  end
20875
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
+
20876
21440
  # Represents an Interconnect Attachment (VLAN) resource. You can use
20877
21441
  # Interconnect attachments (VLANS) to connect your Virtual Private Cloud
20878
21442
  # networks to your on-premises networks through an Interconnect. For more
@@ -23485,131 +24049,6 @@ module Google
23485
24049
  end
23486
24050
  end
23487
24051
 
23488
- # This is deprecated and has no effect. Do not use.
23489
- class LogConfig
23490
- include Google::Apis::Core::Hashable
23491
-
23492
- # This is deprecated and has no effect. Do not use.
23493
- # Corresponds to the JSON property `cloudAudit`
23494
- # @return [Google::Apis::ComputeBeta::LogConfigCloudAuditOptions]
23495
- attr_accessor :cloud_audit
23496
-
23497
- # This is deprecated and has no effect. Do not use.
23498
- # Corresponds to the JSON property `counter`
23499
- # @return [Google::Apis::ComputeBeta::LogConfigCounterOptions]
23500
- attr_accessor :counter
23501
-
23502
- # This is deprecated and has no effect. Do not use.
23503
- # Corresponds to the JSON property `dataAccess`
23504
- # @return [Google::Apis::ComputeBeta::LogConfigDataAccessOptions]
23505
- attr_accessor :data_access
23506
-
23507
- def initialize(**args)
23508
- update!(**args)
23509
- end
23510
-
23511
- # Update properties of this object
23512
- def update!(**args)
23513
- @cloud_audit = args[:cloud_audit] if args.key?(:cloud_audit)
23514
- @counter = args[:counter] if args.key?(:counter)
23515
- @data_access = args[:data_access] if args.key?(:data_access)
23516
- end
23517
- end
23518
-
23519
- # This is deprecated and has no effect. Do not use.
23520
- class LogConfigCloudAuditOptions
23521
- include Google::Apis::Core::Hashable
23522
-
23523
- # This is deprecated and has no effect. Do not use.
23524
- # Corresponds to the JSON property `logName`
23525
- # @return [String]
23526
- attr_accessor :log_name
23527
-
23528
- def initialize(**args)
23529
- update!(**args)
23530
- end
23531
-
23532
- # Update properties of this object
23533
- def update!(**args)
23534
- @log_name = args[:log_name] if args.key?(:log_name)
23535
- end
23536
- end
23537
-
23538
- # This is deprecated and has no effect. Do not use.
23539
- class LogConfigCounterOptions
23540
- include Google::Apis::Core::Hashable
23541
-
23542
- # This is deprecated and has no effect. Do not use.
23543
- # Corresponds to the JSON property `customFields`
23544
- # @return [Array<Google::Apis::ComputeBeta::LogConfigCounterOptionsCustomField>]
23545
- attr_accessor :custom_fields
23546
-
23547
- # This is deprecated and has no effect. Do not use.
23548
- # Corresponds to the JSON property `field`
23549
- # @return [String]
23550
- attr_accessor :field
23551
-
23552
- # This is deprecated and has no effect. Do not use.
23553
- # Corresponds to the JSON property `metric`
23554
- # @return [String]
23555
- attr_accessor :metric
23556
-
23557
- def initialize(**args)
23558
- update!(**args)
23559
- end
23560
-
23561
- # Update properties of this object
23562
- def update!(**args)
23563
- @custom_fields = args[:custom_fields] if args.key?(:custom_fields)
23564
- @field = args[:field] if args.key?(:field)
23565
- @metric = args[:metric] if args.key?(:metric)
23566
- end
23567
- end
23568
-
23569
- # This is deprecated and has no effect. Do not use.
23570
- class LogConfigCounterOptionsCustomField
23571
- include Google::Apis::Core::Hashable
23572
-
23573
- # This is deprecated and has no effect. Do not use.
23574
- # Corresponds to the JSON property `name`
23575
- # @return [String]
23576
- attr_accessor :name
23577
-
23578
- # This is deprecated and has no effect. Do not use.
23579
- # Corresponds to the JSON property `value`
23580
- # @return [String]
23581
- attr_accessor :value
23582
-
23583
- def initialize(**args)
23584
- update!(**args)
23585
- end
23586
-
23587
- # Update properties of this object
23588
- def update!(**args)
23589
- @name = args[:name] if args.key?(:name)
23590
- @value = args[:value] if args.key?(:value)
23591
- end
23592
- end
23593
-
23594
- # This is deprecated and has no effect. Do not use.
23595
- class LogConfigDataAccessOptions
23596
- include Google::Apis::Core::Hashable
23597
-
23598
- # This is deprecated and has no effect. Do not use.
23599
- # Corresponds to the JSON property `logMode`
23600
- # @return [String]
23601
- attr_accessor :log_mode
23602
-
23603
- def initialize(**args)
23604
- update!(**args)
23605
- end
23606
-
23607
- # Update properties of this object
23608
- def update!(**args)
23609
- @log_mode = args[:log_mode] if args.key?(:log_mode)
23610
- end
23611
- end
23612
-
23613
24052
  # Represents a machine image resource. A machine image is a Compute Engine
23614
24053
  # resource that stores all the configuration, metadata, permissions, and data
23615
24054
  # from one or more disks required to create a Virtual machine (VM) instance. For
@@ -23894,6 +24333,11 @@ module Google
23894
24333
  # @return [Array<Google::Apis::ComputeBeta::MachineType::Accelerator>]
23895
24334
  attr_accessor :accelerators
23896
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
+
23897
24341
  # [Output Only] The configuration of bundled local SSD for the machine type.
23898
24342
  # Corresponds to the JSON property `bundledLocalSsds`
23899
24343
  # @return [Google::Apis::ComputeBeta::BundledLocalSsds]
@@ -23977,6 +24421,7 @@ module Google
23977
24421
  # Update properties of this object
23978
24422
  def update!(**args)
23979
24423
  @accelerators = args[:accelerators] if args.key?(:accelerators)
24424
+ @architecture = args[:architecture] if args.key?(:architecture)
23980
24425
  @bundled_local_ssds = args[:bundled_local_ssds] if args.key?(:bundled_local_ssds)
23981
24426
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
23982
24427
  @deprecated = args[:deprecated] if args.key?(:deprecated)
@@ -24396,12 +24841,6 @@ module Google
24396
24841
  # @return [String]
24397
24842
  attr_accessor :instance
24398
24843
 
24399
- # [Output Only] The overrides to instance properties resulting from
24400
- # InstanceFlexibilityPolicy.
24401
- # Corresponds to the JSON property `instanceFlexibilityOverride`
24402
- # @return [Google::Apis::ComputeBeta::ManagedInstanceInstanceFlexibilityOverride]
24403
- attr_accessor :instance_flexibility_override
24404
-
24405
24844
  # [Output Only] Health state of the instance per health-check.
24406
24845
  # Corresponds to the JSON property `instanceHealth`
24407
24846
  # @return [Array<Google::Apis::ComputeBeta::ManagedInstanceInstanceHealth>]
@@ -24463,7 +24902,6 @@ module Google
24463
24902
  @current_action = args[:current_action] if args.key?(:current_action)
24464
24903
  @id = args[:id] if args.key?(:id)
24465
24904
  @instance = args[:instance] if args.key?(:instance)
24466
- @instance_flexibility_override = args[:instance_flexibility_override] if args.key?(:instance_flexibility_override)
24467
24905
  @instance_health = args[:instance_health] if args.key?(:instance_health)
24468
24906
  @instance_status = args[:instance_status] if args.key?(:instance_status)
24469
24907
  @last_attempt = args[:last_attempt] if args.key?(:last_attempt)
@@ -24496,25 +24934,6 @@ module Google
24496
24934
  end
24497
24935
  end
24498
24936
 
24499
- #
24500
- class ManagedInstanceInstanceFlexibilityOverride
24501
- include Google::Apis::Core::Hashable
24502
-
24503
- # The machine type to be used for this instance.
24504
- # Corresponds to the JSON property `machineType`
24505
- # @return [String]
24506
- attr_accessor :machine_type
24507
-
24508
- def initialize(**args)
24509
- update!(**args)
24510
- end
24511
-
24512
- # Update properties of this object
24513
- def update!(**args)
24514
- @machine_type = args[:machine_type] if args.key?(:machine_type)
24515
- end
24516
- end
24517
-
24518
24937
  #
24519
24938
  class ManagedInstanceInstanceHealth
24520
24939
  include Google::Apis::Core::Hashable
@@ -24861,6 +25280,222 @@ module Google
24861
25280
  end
24862
25281
  end
24863
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
+
24864
25499
  # The named port. For example: <"http", 80>.
24865
25500
  class NamedPort
24866
25501
  include Google::Apis::Core::Hashable
@@ -25061,6 +25696,15 @@ module Google
25061
25696
  # @return [String]
25062
25697
  attr_accessor :network_firewall_policy_enforcement_order
25063
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
+
25064
25708
  # [Output Only] A list of network peerings for the resource.
25065
25709
  # Corresponds to the JSON property `peerings`
25066
25710
  # @return [Array<Google::Apis::ComputeBeta::NetworkPeering>]
@@ -25108,6 +25752,7 @@ module Google
25108
25752
  @mtu = args[:mtu] if args.key?(:mtu)
25109
25753
  @name = args[:name] if args.key?(:name)
25110
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)
25111
25756
  @peerings = args[:peerings] if args.key?(:peerings)
25112
25757
  @routing_config = args[:routing_config] if args.key?(:routing_config)
25113
25758
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -25952,12 +26597,6 @@ module Google
25952
26597
  # @return [Fixnum]
25953
26598
  attr_accessor :client_destination_port
25954
26599
 
25955
- # Represents the port number to which PSC consumer sends packets. Only valid for
25956
- # network endpoint groups created with CLIENT_PORT_PER_ENDPOINT mapping mode.
25957
- # Corresponds to the JSON property `clientPort`
25958
- # @return [Fixnum]
25959
- attr_accessor :client_port
25960
-
25961
26600
  # Optional fully qualified domain name of network endpoint. This can only be
25962
26601
  # specified when NetworkEndpointGroup.network_endpoint_type is NON_GCP_FQDN_PORT.
25963
26602
  # Corresponds to the JSON property `fqdn`
@@ -26008,7 +26647,6 @@ module Google
26008
26647
  def update!(**args)
26009
26648
  @annotations = args[:annotations] if args.key?(:annotations)
26010
26649
  @client_destination_port = args[:client_destination_port] if args.key?(:client_destination_port)
26011
- @client_port = args[:client_port] if args.key?(:client_port)
26012
26650
  @fqdn = args[:fqdn] if args.key?(:fqdn)
26013
26651
  @instance = args[:instance] if args.key?(:instance)
26014
26652
  @ip_address = args[:ip_address] if args.key?(:ip_address)
@@ -26038,11 +26676,6 @@ module Google
26038
26676
  # @return [Google::Apis::ComputeBeta::NetworkEndpointGroupAppEngine]
26039
26677
  attr_accessor :app_engine
26040
26678
 
26041
- # Only valid when networkEndpointType is GCE_VM_IP_PORT and the NEG is regional.
26042
- # Corresponds to the JSON property `clientPortMappingMode`
26043
- # @return [String]
26044
- attr_accessor :client_port_mapping_mode
26045
-
26046
26679
  # Configuration for a Cloud Function network endpoint group (NEG). The function
26047
26680
  # must be provided explicitly or in the URL mask. Note: Cloud Function must be
26048
26681
  # in the same project and located in the same region as the Serverless NEG.
@@ -26171,7 +26804,6 @@ module Google
26171
26804
  def update!(**args)
26172
26805
  @annotations = args[:annotations] if args.key?(:annotations)
26173
26806
  @app_engine = args[:app_engine] if args.key?(:app_engine)
26174
- @client_port_mapping_mode = args[:client_port_mapping_mode] if args.key?(:client_port_mapping_mode)
26175
26807
  @cloud_function = args[:cloud_function] if args.key?(:cloud_function)
26176
26808
  @cloud_run = args[:cloud_run] if args.key?(:cloud_run)
26177
26809
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
@@ -26613,6 +27245,12 @@ module Google
26613
27245
  # @return [String]
26614
27246
  attr_accessor :consumer_psc_address
26615
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
+
26616
27254
  # [Output Only] The PSC connection id of the PSC Network Endpoint Group Consumer.
26617
27255
  # Corresponds to the JSON property `pscConnectionId`
26618
27256
  # @return [Fixnum]
@@ -26630,6 +27268,7 @@ module Google
26630
27268
  # Update properties of this object
26631
27269
  def update!(**args)
26632
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)
26633
27272
  @psc_connection_id = args[:psc_connection_id] if args.key?(:psc_connection_id)
26634
27273
  @psc_connection_status = args[:psc_connection_status] if args.key?(:psc_connection_status)
26635
27274
  end
@@ -27272,146 +27911,515 @@ module Google
27272
27911
  end
27273
27912
  end
27274
27913
 
27275
- # A network peering attached to a network resource. The message includes the
27276
- # peering name, peer network, peering state, and a flag indicating whether
27277
- # Google Compute Engine should automatically create routes for the peering.
27278
- class NetworkPeering
27914
+ # A network peering attached to a network resource. The message includes the
27915
+ # peering name, peer network, peering state, and a flag indicating whether
27916
+ # Google Compute Engine should automatically create routes for the peering.
27917
+ class NetworkPeering
27918
+ include Google::Apis::Core::Hashable
27919
+
27920
+ # This field will be deprecated soon. Use the exchange_subnet_routes field
27921
+ # instead. Indicates whether full mesh connectivity is created and managed
27922
+ # automatically between peered networks. Currently this field should always be
27923
+ # true since Google Compute Engine will automatically create and manage
27924
+ # subnetwork routes between two networks when peering state is ACTIVE.
27925
+ # Corresponds to the JSON property `autoCreateRoutes`
27926
+ # @return [Boolean]
27927
+ attr_accessor :auto_create_routes
27928
+ alias_method :auto_create_routes?, :auto_create_routes
27929
+
27930
+ # Indicates whether full mesh connectivity is created and managed automatically
27931
+ # between peered networks. Currently this field should always be true since
27932
+ # Google Compute Engine will automatically create and manage subnetwork routes
27933
+ # between two networks when peering state is ACTIVE.
27934
+ # Corresponds to the JSON property `exchangeSubnetRoutes`
27935
+ # @return [Boolean]
27936
+ attr_accessor :exchange_subnet_routes
27937
+ alias_method :exchange_subnet_routes?, :exchange_subnet_routes
27938
+
27939
+ # Whether to export the custom routes to peer network. The default value is
27940
+ # false.
27941
+ # Corresponds to the JSON property `exportCustomRoutes`
27942
+ # @return [Boolean]
27943
+ attr_accessor :export_custom_routes
27944
+ alias_method :export_custom_routes?, :export_custom_routes
27945
+
27946
+ # Whether subnet routes with public IP range are exported. The default value is
27947
+ # true, all subnet routes are exported. IPv4 special-use ranges are always
27948
+ # exported to peers and are not controlled by this field.
27949
+ # Corresponds to the JSON property `exportSubnetRoutesWithPublicIp`
27950
+ # @return [Boolean]
27951
+ attr_accessor :export_subnet_routes_with_public_ip
27952
+ alias_method :export_subnet_routes_with_public_ip?, :export_subnet_routes_with_public_ip
27953
+
27954
+ # Whether to import the custom routes from peer network. The default value is
27955
+ # false.
27956
+ # Corresponds to the JSON property `importCustomRoutes`
27957
+ # @return [Boolean]
27958
+ attr_accessor :import_custom_routes
27959
+ alias_method :import_custom_routes?, :import_custom_routes
27960
+
27961
+ # Whether subnet routes with public IP range are imported. The default value is
27962
+ # false. IPv4 special-use ranges are always imported from peers and are not
27963
+ # controlled by this field.
27964
+ # Corresponds to the JSON property `importSubnetRoutesWithPublicIp`
27965
+ # @return [Boolean]
27966
+ attr_accessor :import_subnet_routes_with_public_ip
27967
+ alias_method :import_subnet_routes_with_public_ip?, :import_subnet_routes_with_public_ip
27968
+
27969
+ # Name of this peering. Provided by the client when the peering is created. The
27970
+ # name must comply with RFC1035. Specifically, the name must be 1-63 characters
27971
+ # long and match regular expression `[a-z]([-a-z0-9]*[a-z0-9])?`. The first
27972
+ # character must be a lowercase letter, and all the following characters must be
27973
+ # a dash, lowercase letter, or digit, except the last character, which cannot be
27974
+ # a dash.
27975
+ # Corresponds to the JSON property `name`
27976
+ # @return [String]
27977
+ attr_accessor :name
27978
+
27979
+ # The URL of the peer network. It can be either full URL or partial URL. The
27980
+ # peer network may belong to a different project. If the partial URL does not
27981
+ # contain project, it is assumed that the peer network is in the same project as
27982
+ # the current network.
27983
+ # Corresponds to the JSON property `network`
27984
+ # @return [String]
27985
+ attr_accessor :network
27986
+
27987
+ # Maximum Transmission Unit in bytes.
27988
+ # Corresponds to the JSON property `peerMtu`
27989
+ # @return [Fixnum]
27990
+ attr_accessor :peer_mtu
27991
+
27992
+ # Which IP version(s) of traffic and routes are allowed to be imported or
27993
+ # exported between peer networks. The default value is IPV4_ONLY.
27994
+ # Corresponds to the JSON property `stackType`
27995
+ # @return [String]
27996
+ attr_accessor :stack_type
27997
+
27998
+ # [Output Only] State for the peering, either `ACTIVE` or `INACTIVE`. The
27999
+ # peering is `ACTIVE` when there's a matching configuration in the peer network.
28000
+ # Corresponds to the JSON property `state`
28001
+ # @return [String]
28002
+ attr_accessor :state
28003
+
28004
+ # [Output Only] Details about the current state of the peering.
28005
+ # Corresponds to the JSON property `stateDetails`
28006
+ # @return [String]
28007
+ attr_accessor :state_details
28008
+
28009
+ def initialize(**args)
28010
+ update!(**args)
28011
+ end
28012
+
28013
+ # Update properties of this object
28014
+ def update!(**args)
28015
+ @auto_create_routes = args[:auto_create_routes] if args.key?(:auto_create_routes)
28016
+ @exchange_subnet_routes = args[:exchange_subnet_routes] if args.key?(:exchange_subnet_routes)
28017
+ @export_custom_routes = args[:export_custom_routes] if args.key?(:export_custom_routes)
28018
+ @export_subnet_routes_with_public_ip = args[:export_subnet_routes_with_public_ip] if args.key?(:export_subnet_routes_with_public_ip)
28019
+ @import_custom_routes = args[:import_custom_routes] if args.key?(:import_custom_routes)
28020
+ @import_subnet_routes_with_public_ip = args[:import_subnet_routes_with_public_ip] if args.key?(:import_subnet_routes_with_public_ip)
28021
+ @name = args[:name] if args.key?(:name)
28022
+ @network = args[:network] if args.key?(:network)
28023
+ @peer_mtu = args[:peer_mtu] if args.key?(:peer_mtu)
28024
+ @stack_type = args[:stack_type] if args.key?(:stack_type)
28025
+ @state = args[:state] if args.key?(:state)
28026
+ @state_details = args[:state_details] if args.key?(:state_details)
28027
+ end
28028
+ end
28029
+
28030
+ #
28031
+ class NetworkPerformanceConfig
28032
+ include Google::Apis::Core::Hashable
28033
+
28034
+ #
28035
+ # Corresponds to the JSON property `totalEgressBandwidthTier`
28036
+ # @return [String]
28037
+ attr_accessor :total_egress_bandwidth_tier
28038
+
28039
+ def initialize(**args)
28040
+ update!(**args)
28041
+ end
28042
+
28043
+ # Update properties of this object
28044
+ def update!(**args)
28045
+ @total_egress_bandwidth_tier = args[:total_egress_bandwidth_tier] if args.key?(:total_egress_bandwidth_tier)
28046
+ end
28047
+ end
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
+
28397
+ # A routing configuration attached to a network resource. The message includes
28398
+ # the list of routers associated with the network, and a flag indicating the
28399
+ # type of routing behavior to enforce network-wide.
28400
+ class NetworkRoutingConfig
27279
28401
  include Google::Apis::Core::Hashable
27280
28402
 
27281
- # This field will be deprecated soon. Use the exchange_subnet_routes field
27282
- # instead. Indicates whether full mesh connectivity is created and managed
27283
- # automatically between peered networks. Currently this field should always be
27284
- # true since Google Compute Engine will automatically create and manage
27285
- # subnetwork routes between two networks when peering state is ACTIVE.
27286
- # Corresponds to the JSON property `autoCreateRoutes`
27287
- # @return [Boolean]
27288
- attr_accessor :auto_create_routes
27289
- alias_method :auto_create_routes?, :auto_create_routes
27290
-
27291
- # Indicates whether full mesh connectivity is created and managed automatically
27292
- # between peered networks. Currently this field should always be true since
27293
- # Google Compute Engine will automatically create and manage subnetwork routes
27294
- # between two networks when peering state is ACTIVE.
27295
- # Corresponds to the JSON property `exchangeSubnetRoutes`
27296
- # @return [Boolean]
27297
- attr_accessor :exchange_subnet_routes
27298
- alias_method :exchange_subnet_routes?, :exchange_subnet_routes
27299
-
27300
- # Whether to export the custom routes to peer network. The default value is
27301
- # false.
27302
- # Corresponds to the JSON property `exportCustomRoutes`
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`
27303
28407
  # @return [Boolean]
27304
- attr_accessor :export_custom_routes
27305
- alias_method :export_custom_routes?, :export_custom_routes
27306
-
27307
- # Whether subnet routes with public IP range are exported. The default value is
27308
- # true, all subnet routes are exported. IPv4 special-use ranges are always
27309
- # exported to peers and are not controlled by this field.
27310
- # Corresponds to the JSON property `exportSubnetRoutesWithPublicIp`
27311
- # @return [Boolean]
27312
- attr_accessor :export_subnet_routes_with_public_ip
27313
- alias_method :export_subnet_routes_with_public_ip?, :export_subnet_routes_with_public_ip
27314
-
27315
- # Whether to import the custom routes from peer network. The default value is
27316
- # false.
27317
- # Corresponds to the JSON property `importCustomRoutes`
27318
- # @return [Boolean]
27319
- attr_accessor :import_custom_routes
27320
- alias_method :import_custom_routes?, :import_custom_routes
27321
-
27322
- # Whether subnet routes with public IP range are imported. The default value is
27323
- # false. IPv4 special-use ranges are always imported from peers and are not
27324
- # controlled by this field.
27325
- # Corresponds to the JSON property `importSubnetRoutesWithPublicIp`
27326
- # @return [Boolean]
27327
- attr_accessor :import_subnet_routes_with_public_ip
27328
- alias_method :import_subnet_routes_with_public_ip?, :import_subnet_routes_with_public_ip
27329
-
27330
- # Name of this peering. Provided by the client when the peering is created. The
27331
- # name must comply with RFC1035. Specifically, the name must be 1-63 characters
27332
- # long and match regular expression `[a-z]([-a-z0-9]*[a-z0-9])?`. The first
27333
- # character must be a lowercase letter, and all the following characters must be
27334
- # a dash, lowercase letter, or digit, except the last character, which cannot be
27335
- # a dash.
27336
- # Corresponds to the JSON property `name`
27337
- # @return [String]
27338
- attr_accessor :name
27339
-
27340
- # The URL of the peer network. It can be either full URL or partial URL. The
27341
- # peer network may belong to a different project. If the partial URL does not
27342
- # contain project, it is assumed that the peer network is in the same project as
27343
- # the current network.
27344
- # Corresponds to the JSON property `network`
27345
- # @return [String]
27346
- attr_accessor :network
27347
-
27348
- # Maximum Transmission Unit in bytes.
27349
- # Corresponds to the JSON property `peerMtu`
27350
- # @return [Fixnum]
27351
- attr_accessor :peer_mtu
27352
-
27353
- # Which IP version(s) of traffic and routes are allowed to be imported or
27354
- # exported between peer networks. The default value is IPV4_ONLY.
27355
- # Corresponds to the JSON property `stackType`
27356
- # @return [String]
27357
- attr_accessor :stack_type
28408
+ attr_accessor :bgp_always_compare_med
28409
+ alias_method :bgp_always_compare_med?, :bgp_always_compare_med
27358
28410
 
27359
- # [Output Only] State for the peering, either `ACTIVE` or `INACTIVE`. The
27360
- # peering is `ACTIVE` when there's a matching configuration in the peer network.
27361
- # Corresponds to the JSON property `state`
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`
27362
28414
  # @return [String]
27363
- attr_accessor :state
28415
+ attr_accessor :bgp_best_path_selection_mode
27364
28416
 
27365
- # [Output Only] Details about the current state of the peering.
27366
- # Corresponds to the JSON property `stateDetails`
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`
27367
28421
  # @return [String]
27368
- attr_accessor :state_details
27369
-
27370
- def initialize(**args)
27371
- update!(**args)
27372
- end
27373
-
27374
- # Update properties of this object
27375
- def update!(**args)
27376
- @auto_create_routes = args[:auto_create_routes] if args.key?(:auto_create_routes)
27377
- @exchange_subnet_routes = args[:exchange_subnet_routes] if args.key?(:exchange_subnet_routes)
27378
- @export_custom_routes = args[:export_custom_routes] if args.key?(:export_custom_routes)
27379
- @export_subnet_routes_with_public_ip = args[:export_subnet_routes_with_public_ip] if args.key?(:export_subnet_routes_with_public_ip)
27380
- @import_custom_routes = args[:import_custom_routes] if args.key?(:import_custom_routes)
27381
- @import_subnet_routes_with_public_ip = args[:import_subnet_routes_with_public_ip] if args.key?(:import_subnet_routes_with_public_ip)
27382
- @name = args[:name] if args.key?(:name)
27383
- @network = args[:network] if args.key?(:network)
27384
- @peer_mtu = args[:peer_mtu] if args.key?(:peer_mtu)
27385
- @stack_type = args[:stack_type] if args.key?(:stack_type)
27386
- @state = args[:state] if args.key?(:state)
27387
- @state_details = args[:state_details] if args.key?(:state_details)
27388
- end
27389
- end
27390
-
27391
- #
27392
- class NetworkPerformanceConfig
27393
- include Google::Apis::Core::Hashable
27394
-
27395
- #
27396
- # Corresponds to the JSON property `totalEgressBandwidthTier`
27397
- # @return [String]
27398
- attr_accessor :total_egress_bandwidth_tier
27399
-
27400
- def initialize(**args)
27401
- update!(**args)
27402
- end
27403
-
27404
- # Update properties of this object
27405
- def update!(**args)
27406
- @total_egress_bandwidth_tier = args[:total_egress_bandwidth_tier] if args.key?(:total_egress_bandwidth_tier)
27407
- end
27408
- end
27409
-
27410
- # A routing configuration attached to a network resource. The message includes
27411
- # the list of routers associated with the network, and a flag indicating the
27412
- # type of routing behavior to enforce network-wide.
27413
- class NetworkRoutingConfig
27414
- include Google::Apis::Core::Hashable
28422
+ attr_accessor :bgp_inter_region_cost
27415
28423
 
27416
28424
  # The network-wide routing mode to use. If set to REGIONAL, this network's Cloud
27417
28425
  # Routers will only advertise routes with subnets of this network in the same
@@ -27427,6 +28435,9 @@ module Google
27427
28435
 
27428
28436
  # Update properties of this object
27429
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)
27430
28441
  @routing_mode = args[:routing_mode] if args.key?(:routing_mode)
27431
28442
  end
27432
28443
  end
@@ -27482,7 +28493,10 @@ module Google
27482
28493
  class NetworksGetEffectiveFirewallsResponse
27483
28494
  include Google::Apis::Core::Hashable
27484
28495
 
27485
- # 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.
27486
28500
  # Corresponds to the JSON property `firewallPolicys`
27487
28501
  # @return [Array<Google::Apis::ComputeBeta::NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy>]
27488
28502
  attr_accessor :firewall_policys
@@ -27524,7 +28538,13 @@ module Google
27524
28538
  # @return [String]
27525
28539
  attr_accessor :name
27526
28540
 
27527
- # 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.
27528
28548
  # Corresponds to the JSON property `rules`
27529
28549
  # @return [Array<Google::Apis::ComputeBeta::FirewallPolicyRule>]
27530
28550
  attr_accessor :rules
@@ -27547,6 +28567,7 @@ module Google
27547
28567
  def update!(**args)
27548
28568
  @display_name = args[:display_name] if args.key?(:display_name)
27549
28569
  @name = args[:name] if args.key?(:name)
28570
+ @priority = args[:priority] if args.key?(:priority)
27550
28571
  @rules = args[:rules] if args.key?(:rules)
27551
28572
  @short_name = args[:short_name] if args.key?(:short_name)
27552
28573
  @type = args[:type] if args.key?(:type)
@@ -29778,8 +30799,8 @@ module Google
29778
30799
  attr_accessor :target_id
29779
30800
 
29780
30801
  # [Output Only] The URL of the resource that the operation modifies. For
29781
- # operations related to creating a snapshot, this points to the persistent disk
29782
- # 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.
29783
30804
  # Corresponds to the JSON property `targetLink`
29784
30805
  # @return [String]
29785
30806
  attr_accessor :target_link
@@ -31464,11 +32485,6 @@ module Google
31464
32485
  # @return [String]
31465
32486
  attr_accessor :etag
31466
32487
 
31467
- # This is deprecated and has no effect. Do not use.
31468
- # Corresponds to the JSON property `rules`
31469
- # @return [Array<Google::Apis::ComputeBeta::Rule>]
31470
- attr_accessor :rules
31471
-
31472
32488
  # Specifies the format of the policy. Valid values are `0`, `1`, and `3`.
31473
32489
  # Requests that specify an invalid value are rejected. Any operation that
31474
32490
  # affects conditional role bindings must specify version `3`. This requirement
@@ -31497,7 +32513,6 @@ module Google
31497
32513
  @audit_configs = args[:audit_configs] if args.key?(:audit_configs)
31498
32514
  @bindings = args[:bindings] if args.key?(:bindings)
31499
32515
  @etag = args[:etag] if args.key?(:etag)
31500
- @rules = args[:rules] if args.key?(:rules)
31501
32516
  @version = args[:version] if args.key?(:version)
31502
32517
  end
31503
32518
  end
@@ -33143,7 +34158,144 @@ module Google
33143
34158
  # [Output Only] Metadata about this warning in key: value format. For example: "
33144
34159
  # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
33145
34160
  # Corresponds to the JSON property `data`
33146
- # @return [Array<Google::Apis::ComputeBeta::RegionAutoscalerList::Warning::Datum>]
34161
+ # @return [Array<Google::Apis::ComputeBeta::RegionAutoscalerList::Warning::Datum>]
34162
+ attr_accessor :data
34163
+
34164
+ # [Output Only] A human-readable description of the warning code.
34165
+ # Corresponds to the JSON property `message`
34166
+ # @return [String]
34167
+ attr_accessor :message
34168
+
34169
+ def initialize(**args)
34170
+ update!(**args)
34171
+ end
34172
+
34173
+ # Update properties of this object
34174
+ def update!(**args)
34175
+ @code = args[:code] if args.key?(:code)
34176
+ @data = args[:data] if args.key?(:data)
34177
+ @message = args[:message] if args.key?(:message)
34178
+ end
34179
+
34180
+ #
34181
+ class Datum
34182
+ include Google::Apis::Core::Hashable
34183
+
34184
+ # [Output Only] A key that provides more detail on the warning being returned.
34185
+ # For example, for warnings where there are no results in a list request for a
34186
+ # particular zone, this key might be scope and the key value might be the zone
34187
+ # name. Other examples might be a key indicating a deprecated resource and a
34188
+ # suggested replacement, or a warning about invalid network settings (for
34189
+ # example, if an instance attempts to perform IP forwarding but is not enabled
34190
+ # for IP forwarding).
34191
+ # Corresponds to the JSON property `key`
34192
+ # @return [String]
34193
+ attr_accessor :key
34194
+
34195
+ # [Output Only] A warning data value corresponding to the key.
34196
+ # Corresponds to the JSON property `value`
34197
+ # @return [String]
34198
+ attr_accessor :value
34199
+
34200
+ def initialize(**args)
34201
+ update!(**args)
34202
+ end
34203
+
34204
+ # Update properties of this object
34205
+ def update!(**args)
34206
+ @key = args[:key] if args.key?(:key)
34207
+ @value = args[:value] if args.key?(:value)
34208
+ end
34209
+ end
34210
+ end
34211
+ end
34212
+
34213
+ #
34214
+ class RegionCommitmentsUpdateReservationsRequest
34215
+ include Google::Apis::Core::Hashable
34216
+
34217
+ # A list of two reservations to transfer GPUs and local SSD between.
34218
+ # Corresponds to the JSON property `reservations`
34219
+ # @return [Array<Google::Apis::ComputeBeta::Reservation>]
34220
+ attr_accessor :reservations
34221
+
34222
+ def initialize(**args)
34223
+ update!(**args)
34224
+ end
34225
+
34226
+ # Update properties of this object
34227
+ def update!(**args)
34228
+ @reservations = args[:reservations] if args.key?(:reservations)
34229
+ end
34230
+ end
34231
+
34232
+ #
34233
+ class RegionDiskTypeList
34234
+ include Google::Apis::Core::Hashable
34235
+
34236
+ # [Output Only] Unique identifier for the resource; defined by the server.
34237
+ # Corresponds to the JSON property `id`
34238
+ # @return [String]
34239
+ attr_accessor :id
34240
+
34241
+ # A list of DiskType resources.
34242
+ # Corresponds to the JSON property `items`
34243
+ # @return [Array<Google::Apis::ComputeBeta::DiskType>]
34244
+ attr_accessor :items
34245
+
34246
+ # [Output Only] Type of resource. Always compute#regionDiskTypeList for region
34247
+ # disk types.
34248
+ # Corresponds to the JSON property `kind`
34249
+ # @return [String]
34250
+ attr_accessor :kind
34251
+
34252
+ # [Output Only] This token allows you to get the next page of results for list
34253
+ # requests. If the number of results is larger than maxResults, use the
34254
+ # nextPageToken as a value for the query parameter pageToken in the next list
34255
+ # request. Subsequent list requests will have their own nextPageToken to
34256
+ # continue paging through the results.
34257
+ # Corresponds to the JSON property `nextPageToken`
34258
+ # @return [String]
34259
+ attr_accessor :next_page_token
34260
+
34261
+ # [Output Only] Server-defined URL for this resource.
34262
+ # Corresponds to the JSON property `selfLink`
34263
+ # @return [String]
34264
+ attr_accessor :self_link
34265
+
34266
+ # [Output Only] Informational warning message.
34267
+ # Corresponds to the JSON property `warning`
34268
+ # @return [Google::Apis::ComputeBeta::RegionDiskTypeList::Warning]
34269
+ attr_accessor :warning
34270
+
34271
+ def initialize(**args)
34272
+ update!(**args)
34273
+ end
34274
+
34275
+ # Update properties of this object
34276
+ def update!(**args)
34277
+ @id = args[:id] if args.key?(:id)
34278
+ @items = args[:items] if args.key?(:items)
34279
+ @kind = args[:kind] if args.key?(:kind)
34280
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
34281
+ @self_link = args[:self_link] if args.key?(:self_link)
34282
+ @warning = args[:warning] if args.key?(:warning)
34283
+ end
34284
+
34285
+ # [Output Only] Informational warning message.
34286
+ class Warning
34287
+ include Google::Apis::Core::Hashable
34288
+
34289
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
34290
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
34291
+ # Corresponds to the JSON property `code`
34292
+ # @return [String]
34293
+ attr_accessor :code
34294
+
34295
+ # [Output Only] Metadata about this warning in key: value format. For example: "
34296
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
34297
+ # Corresponds to the JSON property `data`
34298
+ # @return [Array<Google::Apis::ComputeBeta::RegionDiskTypeList::Warning::Datum>]
33147
34299
  attr_accessor :data
33148
34300
 
33149
34301
  # [Output Only] A human-readable description of the warning code.
@@ -33196,13 +34348,13 @@ module Google
33196
34348
  end
33197
34349
 
33198
34350
  #
33199
- class RegionCommitmentsUpdateReservationsRequest
34351
+ class RegionDisksAddResourcePoliciesRequest
33200
34352
  include Google::Apis::Core::Hashable
33201
34353
 
33202
- # A list of two reservations to transfer GPUs and local SSD between.
33203
- # Corresponds to the JSON property `reservations`
33204
- # @return [Array<Google::Apis::ComputeBeta::Reservation>]
33205
- attr_accessor :reservations
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
33206
34358
 
33207
34359
  def initialize(**args)
33208
34360
  update!(**args)
@@ -33210,12 +34362,74 @@ module Google
33210
34362
 
33211
34363
  # Update properties of this object
33212
34364
  def update!(**args)
33213
- @reservations = args[:reservations] if args.key?(:reservations)
34365
+ @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
33214
34366
  end
33215
34367
  end
33216
34368
 
33217
34369
  #
33218
- class RegionDiskTypeList
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
33219
34433
  include Google::Apis::Core::Hashable
33220
34434
 
33221
34435
  # [Output Only] Unique identifier for the resource; defined by the server.
@@ -33223,13 +34437,12 @@ module Google
33223
34437
  # @return [String]
33224
34438
  attr_accessor :id
33225
34439
 
33226
- # A list of DiskType resources.
34440
+ # A list of InstanceGroup resources.
33227
34441
  # Corresponds to the JSON property `items`
33228
- # @return [Array<Google::Apis::ComputeBeta::DiskType>]
34442
+ # @return [Array<Google::Apis::ComputeBeta::InstanceGroup>]
33229
34443
  attr_accessor :items
33230
34444
 
33231
- # [Output Only] Type of resource. Always compute#regionDiskTypeList for region
33232
- # disk types.
34445
+ # The resource type.
33233
34446
  # Corresponds to the JSON property `kind`
33234
34447
  # @return [String]
33235
34448
  attr_accessor :kind
@@ -33250,7 +34463,7 @@ module Google
33250
34463
 
33251
34464
  # [Output Only] Informational warning message.
33252
34465
  # Corresponds to the JSON property `warning`
33253
- # @return [Google::Apis::ComputeBeta::RegionDiskTypeList::Warning]
34466
+ # @return [Google::Apis::ComputeBeta::RegionInstanceGroupList::Warning]
33254
34467
  attr_accessor :warning
33255
34468
 
33256
34469
  def initialize(**args)
@@ -33280,7 +34493,7 @@ module Google
33280
34493
  # [Output Only] Metadata about this warning in key: value format. For example: "
33281
34494
  # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
33282
34495
  # Corresponds to the JSON property `data`
33283
- # @return [Array<Google::Apis::ComputeBeta::RegionDiskTypeList::Warning::Datum>]
34496
+ # @return [Array<Google::Apis::ComputeBeta::RegionInstanceGroupList::Warning::Datum>]
33284
34497
  attr_accessor :data
33285
34498
 
33286
34499
  # [Output Only] A human-readable description of the warning code.
@@ -33332,76 +34545,15 @@ module Google
33332
34545
  end
33333
34546
  end
33334
34547
 
33335
- #
33336
- class RegionDisksAddResourcePoliciesRequest
33337
- include Google::Apis::Core::Hashable
33338
-
33339
- # Resource policies to be added to this disk.
33340
- # Corresponds to the JSON property `resourcePolicies`
33341
- # @return [Array<String>]
33342
- attr_accessor :resource_policies
33343
-
33344
- def initialize(**args)
33345
- update!(**args)
33346
- end
33347
-
33348
- # Update properties of this object
33349
- def update!(**args)
33350
- @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
33351
- end
33352
- end
33353
-
33354
- #
33355
- class RegionDisksRemoveResourcePoliciesRequest
34548
+ # RegionInstanceGroupManagers.deletePerInstanceConfigs
34549
+ class RegionInstanceGroupManagerDeleteInstanceConfigReq
33356
34550
  include Google::Apis::Core::Hashable
33357
34551
 
33358
- # Resource policies to be removed from this disk.
33359
- # Corresponds to the JSON property `resourcePolicies`
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`
33360
34555
  # @return [Array<String>]
33361
- attr_accessor :resource_policies
33362
-
33363
- def initialize(**args)
33364
- update!(**args)
33365
- end
33366
-
33367
- # Update properties of this object
33368
- def update!(**args)
33369
- @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
33370
- end
33371
- end
33372
-
33373
- #
33374
- class RegionDisksResizeRequest
33375
- include Google::Apis::Core::Hashable
33376
-
33377
- # The new size of the regional persistent disk, which is specified in GB.
33378
- # Corresponds to the JSON property `sizeGb`
33379
- # @return [Fixnum]
33380
- attr_accessor :size_gb
33381
-
33382
- def initialize(**args)
33383
- update!(**args)
33384
- end
33385
-
33386
- # Update properties of this object
33387
- def update!(**args)
33388
- @size_gb = args[:size_gb] if args.key?(:size_gb)
33389
- end
33390
- end
33391
-
33392
- #
33393
- class RegionDisksStartAsyncReplicationRequest
33394
- include Google::Apis::Core::Hashable
33395
-
33396
- # The secondary disk to start asynchronous replication to. You can provide this
33397
- # as a partial or full URL to the resource. For example, the following are valid
33398
- # values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /
33399
- # disks/disk - https://www.googleapis.com/compute/v1/projects/project/regions/
33400
- # region /disks/disk - projects/project/zones/zone/disks/disk - projects/project/
33401
- # regions/region/disks/disk - zones/zone/disks/disk - regions/region/disks/disk
33402
- # Corresponds to the JSON property `asyncSecondaryDisk`
33403
- # @return [String]
33404
- attr_accessor :async_secondary_disk
34556
+ attr_accessor :names
33405
34557
 
33406
34558
  def initialize(**args)
33407
34559
  update!(**args)
@@ -33409,12 +34561,12 @@ module Google
33409
34561
 
33410
34562
  # Update properties of this object
33411
34563
  def update!(**args)
33412
- @async_secondary_disk = args[:async_secondary_disk] if args.key?(:async_secondary_disk)
34564
+ @names = args[:names] if args.key?(:names)
33413
34565
  end
33414
34566
  end
33415
34567
 
33416
- # Contains a list of InstanceGroup resources.
33417
- class RegionInstanceGroupList
34568
+ # Contains a list of managed instance groups.
34569
+ class RegionInstanceGroupManagerList
33418
34570
  include Google::Apis::Core::Hashable
33419
34571
 
33420
34572
  # [Output Only] Unique identifier for the resource; defined by the server.
@@ -33422,12 +34574,14 @@ module Google
33422
34574
  # @return [String]
33423
34575
  attr_accessor :id
33424
34576
 
33425
- # A list of InstanceGroup resources.
34577
+ # A list of InstanceGroupManager resources.
33426
34578
  # Corresponds to the JSON property `items`
33427
- # @return [Array<Google::Apis::ComputeBeta::InstanceGroup>]
34579
+ # @return [Array<Google::Apis::ComputeBeta::InstanceGroupManager>]
33428
34580
  attr_accessor :items
33429
34581
 
33430
- # The resource type.
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.
33431
34585
  # Corresponds to the JSON property `kind`
33432
34586
  # @return [String]
33433
34587
  attr_accessor :kind
@@ -33448,7 +34602,7 @@ module Google
33448
34602
 
33449
34603
  # [Output Only] Informational warning message.
33450
34604
  # Corresponds to the JSON property `warning`
33451
- # @return [Google::Apis::ComputeBeta::RegionInstanceGroupList::Warning]
34605
+ # @return [Google::Apis::ComputeBeta::RegionInstanceGroupManagerList::Warning]
33452
34606
  attr_accessor :warning
33453
34607
 
33454
34608
  def initialize(**args)
@@ -33478,7 +34632,7 @@ module Google
33478
34632
  # [Output Only] Metadata about this warning in key: value format. For example: "
33479
34633
  # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
33480
34634
  # Corresponds to the JSON property `data`
33481
- # @return [Array<Google::Apis::ComputeBeta::RegionInstanceGroupList::Warning::Datum>]
34635
+ # @return [Array<Google::Apis::ComputeBeta::RegionInstanceGroupManagerList::Warning::Datum>]
33482
34636
  attr_accessor :data
33483
34637
 
33484
34638
  # [Output Only] A human-readable description of the warning code.
@@ -33530,15 +34684,15 @@ module Google
33530
34684
  end
33531
34685
  end
33532
34686
 
33533
- # RegionInstanceGroupManagers.deletePerInstanceConfigs
33534
- class RegionInstanceGroupManagerDeleteInstanceConfigReq
34687
+ # RegionInstanceGroupManagers.patchPerInstanceConfigs
34688
+ class RegionInstanceGroupManagerPatchInstanceConfigReq
33535
34689
  include Google::Apis::Core::Hashable
33536
34690
 
33537
- # The list of instance names for which we want to delete per-instance configs on
33538
- # this managed instance group.
33539
- # Corresponds to the JSON property `names`
33540
- # @return [Array<String>]
33541
- attr_accessor :names
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
33542
34696
 
33543
34697
  def initialize(**args)
33544
34698
  update!(**args)
@@ -33546,27 +34700,31 @@ module Google
33546
34700
 
33547
34701
  # Update properties of this object
33548
34702
  def update!(**args)
33549
- @names = args[:names] if args.key?(:names)
34703
+ @per_instance_configs = args[:per_instance_configs] if args.key?(:per_instance_configs)
33550
34704
  end
33551
34705
  end
33552
34706
 
33553
- # Contains a list of managed instance groups.
33554
- class RegionInstanceGroupManagerList
34707
+ #
34708
+ class RegionInstanceGroupManagerResizeRequestsListResponse
33555
34709
  include Google::Apis::Core::Hashable
33556
34710
 
34711
+ #
34712
+ # Corresponds to the JSON property `etag`
34713
+ # @return [String]
34714
+ attr_accessor :etag
34715
+
33557
34716
  # [Output Only] Unique identifier for the resource; defined by the server.
33558
34717
  # Corresponds to the JSON property `id`
33559
34718
  # @return [String]
33560
34719
  attr_accessor :id
33561
34720
 
33562
- # A list of InstanceGroupManager resources.
34721
+ # A list of Resize Request resources.
33563
34722
  # Corresponds to the JSON property `items`
33564
- # @return [Array<Google::Apis::ComputeBeta::InstanceGroupManager>]
34723
+ # @return [Array<Google::Apis::ComputeBeta::InstanceGroupManagerResizeRequest>]
33565
34724
  attr_accessor :items
33566
34725
 
33567
- # [Output Only] The resource type, which is always compute#
33568
- # instanceGroupManagerList for a list of managed instance groups that exist in
33569
- # th regional scope.
34726
+ # [Output Only] Type of the resource. Always compute#
34727
+ # regionInstanceGroupManagerResizeRequestList for a list of Resize Requests.
33570
34728
  # Corresponds to the JSON property `kind`
33571
34729
  # @return [String]
33572
34730
  attr_accessor :kind
@@ -33585,9 +34743,15 @@ module Google
33585
34743
  # @return [String]
33586
34744
  attr_accessor :self_link
33587
34745
 
34746
+ # [Output Only] Unreachable resources. end_interface:
34747
+ # MixerListResponseWithEtagBuilder
34748
+ # Corresponds to the JSON property `unreachables`
34749
+ # @return [Array<String>]
34750
+ attr_accessor :unreachables
34751
+
33588
34752
  # [Output Only] Informational warning message.
33589
34753
  # Corresponds to the JSON property `warning`
33590
- # @return [Google::Apis::ComputeBeta::RegionInstanceGroupManagerList::Warning]
34754
+ # @return [Google::Apis::ComputeBeta::RegionInstanceGroupManagerResizeRequestsListResponse::Warning]
33591
34755
  attr_accessor :warning
33592
34756
 
33593
34757
  def initialize(**args)
@@ -33596,11 +34760,13 @@ module Google
33596
34760
 
33597
34761
  # Update properties of this object
33598
34762
  def update!(**args)
34763
+ @etag = args[:etag] if args.key?(:etag)
33599
34764
  @id = args[:id] if args.key?(:id)
33600
34765
  @items = args[:items] if args.key?(:items)
33601
34766
  @kind = args[:kind] if args.key?(:kind)
33602
34767
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
33603
34768
  @self_link = args[:self_link] if args.key?(:self_link)
34769
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
33604
34770
  @warning = args[:warning] if args.key?(:warning)
33605
34771
  end
33606
34772
 
@@ -33617,7 +34783,7 @@ module Google
33617
34783
  # [Output Only] Metadata about this warning in key: value format. For example: "
33618
34784
  # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
33619
34785
  # Corresponds to the JSON property `data`
33620
- # @return [Array<Google::Apis::ComputeBeta::RegionInstanceGroupManagerList::Warning::Datum>]
34786
+ # @return [Array<Google::Apis::ComputeBeta::RegionInstanceGroupManagerResizeRequestsListResponse::Warning::Datum>]
33621
34787
  attr_accessor :data
33622
34788
 
33623
34789
  # [Output Only] A human-readable description of the warning code.
@@ -33669,26 +34835,6 @@ module Google
33669
34835
  end
33670
34836
  end
33671
34837
 
33672
- # RegionInstanceGroupManagers.patchPerInstanceConfigs
33673
- class RegionInstanceGroupManagerPatchInstanceConfigReq
33674
- include Google::Apis::Core::Hashable
33675
-
33676
- # The list of per-instance configurations to insert or patch on this managed
33677
- # instance group.
33678
- # Corresponds to the JSON property `perInstanceConfigs`
33679
- # @return [Array<Google::Apis::ComputeBeta::PerInstanceConfig>]
33680
- attr_accessor :per_instance_configs
33681
-
33682
- def initialize(**args)
33683
- update!(**args)
33684
- end
33685
-
33686
- # Update properties of this object
33687
- def update!(**args)
33688
- @per_instance_configs = args[:per_instance_configs] if args.key?(:per_instance_configs)
33689
- end
33690
- end
33691
-
33692
34838
  # RegionInstanceGroupManagers.updatePerInstanceConfigs
33693
34839
  class RegionInstanceGroupManagerUpdateInstanceConfigReq
33694
34840
  include Google::Apis::Core::Hashable
@@ -34552,7 +35698,10 @@ module Google
34552
35698
  class RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse
34553
35699
  include Google::Apis::Core::Hashable
34554
35700
 
34555
- # 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.
34556
35705
  # Corresponds to the JSON property `firewallPolicys`
34557
35706
  # @return [Array<Google::Apis::ComputeBeta::RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy>]
34558
35707
  attr_accessor :firewall_policys
@@ -34587,7 +35736,13 @@ module Google
34587
35736
  # @return [String]
34588
35737
  attr_accessor :name
34589
35738
 
34590
- # The rules that apply to the network.
35739
+ # [Output only] Priority of firewall policy association. Not applicable for type=
35740
+ # HIERARCHY.
35741
+ # Corresponds to the JSON property `priority`
35742
+ # @return [Fixnum]
35743
+ attr_accessor :priority
35744
+
35745
+ # [Output only] The rules that apply to the network.
34591
35746
  # Corresponds to the JSON property `rules`
34592
35747
  # @return [Array<Google::Apis::ComputeBeta::FirewallPolicyRule>]
34593
35748
  attr_accessor :rules
@@ -34606,6 +35761,7 @@ module Google
34606
35761
  def update!(**args)
34607
35762
  @display_name = args[:display_name] if args.key?(:display_name)
34608
35763
  @name = args[:name] if args.key?(:name)
35764
+ @priority = args[:priority] if args.key?(:priority)
34609
35765
  @rules = args[:rules] if args.key?(:rules)
34610
35766
  @type = args[:type] if args.key?(:type)
34611
35767
  end
@@ -34739,9 +35895,10 @@ module Google
34739
35895
  # Director features: Routing and traffic management table. This resource defines
34740
35896
  # mappings from hostnames and URL paths to either a backend service or a backend
34741
35897
  # bucket. To use the global urlMaps resource, the backend service must have a
34742
- # loadBalancingScheme of either EXTERNAL or INTERNAL_SELF_MANAGED. To use the
34743
- # regionUrlMaps resource, the backend service must have a loadBalancingScheme of
34744
- # 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.
34745
35902
  # Corresponds to the JSON property `resource`
34746
35903
  # @return [Google::Apis::ComputeBeta::UrlMap]
34747
35904
  attr_accessor :resource
@@ -34772,6 +35929,11 @@ module Google
34772
35929
  # @return [String]
34773
35930
  attr_accessor :backend_service
34774
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
+
34775
35937
  def initialize(**args)
34776
35938
  update!(**args)
34777
35939
  end
@@ -34779,6 +35941,7 @@ module Google
34779
35941
  # Update properties of this object
34780
35942
  def update!(**args)
34781
35943
  @backend_service = args[:backend_service] if args.key?(:backend_service)
35944
+ @mirror_percent = args[:mirror_percent] if args.key?(:mirror_percent)
34782
35945
  end
34783
35946
  end
34784
35947
 
@@ -34820,6 +35983,11 @@ module Google
34820
35983
  # @return [String]
34821
35984
  attr_accessor :delete_at_time
34822
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
+
34823
35991
  # An optional description of this resource. Provide this property when you
34824
35992
  # create the resource.
34825
35993
  # Corresponds to the JSON property `description`
@@ -34832,6 +36000,12 @@ module Google
34832
36000
  # @return [Fixnum]
34833
36001
  attr_accessor :id
34834
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
+
34835
36009
  # [Output Only] Type of the resource. Always compute#reservations for
34836
36010
  # reservations.
34837
36011
  # Corresponds to the JSON property `kind`
@@ -34849,6 +36023,12 @@ module Google
34849
36023
  # @return [String]
34850
36024
  attr_accessor :name
34851
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
+
34852
36032
  # Resource policies to be added to this reservation. The key is defined by user,
34853
36033
  # and the value is resource policy url. This is to define placement policy with
34854
36034
  # reservation.
@@ -34890,7 +36070,10 @@ module Google
34890
36070
  attr_accessor :specific_reservation_required
34891
36071
  alias_method :specific_reservation_required?, :specific_reservation_required
34892
36072
 
34893
- # [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.
34894
36077
  # Corresponds to the JSON property `status`
34895
36078
  # @return [String]
34896
36079
  attr_accessor :status
@@ -34912,10 +36095,13 @@ module Google
34912
36095
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
34913
36096
  @delete_after_duration = args[:delete_after_duration] if args.key?(:delete_after_duration)
34914
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)
34915
36099
  @description = args[:description] if args.key?(:description)
34916
36100
  @id = args[:id] if args.key?(:id)
36101
+ @instance_termination_action = args[:instance_termination_action] if args.key?(:instance_termination_action)
34917
36102
  @kind = args[:kind] if args.key?(:kind)
34918
36103
  @name = args[:name] if args.key?(:name)
36104
+ @reservation_sharing_policy = args[:reservation_sharing_policy] if args.key?(:reservation_sharing_policy)
34919
36105
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
34920
36106
  @resource_status = args[:resource_status] if args.key?(:resource_status)
34921
36107
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
@@ -35089,6 +36275,259 @@ module Google
35089
36275
  end
35090
36276
  end
35091
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
+
35092
36531
  #
35093
36532
  class ReservationList
35094
36533
  include Google::Apis::Core::Hashable
@@ -35552,6 +36991,11 @@ module Google
35552
36991
  # @return [String]
35553
36992
  attr_accessor :status
35554
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
+
35555
36999
  def initialize(**args)
35556
37000
  update!(**args)
35557
37001
  end
@@ -35571,6 +37015,7 @@ module Google
35571
37015
  @self_link = args[:self_link] if args.key?(:self_link)
35572
37016
  @snapshot_schedule_policy = args[:snapshot_schedule_policy] if args.key?(:snapshot_schedule_policy)
35573
37017
  @status = args[:status] if args.key?(:status)
37018
+ @workload_policy = args[:workload_policy] if args.key?(:workload_policy)
35574
37019
  end
35575
37020
  end
35576
37021
 
@@ -36263,6 +37708,25 @@ module Google
36263
37708
  end
36264
37709
  end
36265
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
+
36266
37730
  # Contains output only fields. Use this sub-message for actual values set on
36267
37731
  # Instance attributes as compared to the value requested by the user (intent) in
36268
37732
  # their instance CRUD calls.
@@ -36300,6 +37764,13 @@ module Google
36300
37764
  class ResourceStatusScheduling
36301
37765
  include Google::Apis::Core::Hashable
36302
37766
 
37767
+ # Specifies the availability domain to place the instance in. The value must be
37768
+ # a number between 1 and the number of availability domains specified in the
37769
+ # spread placement policy attached to the instance.
37770
+ # Corresponds to the JSON property `availabilityDomain`
37771
+ # @return [Fixnum]
37772
+ attr_accessor :availability_domain
37773
+
36303
37774
  # Time in future when the instance will be terminated in RFC3339 text format.
36304
37775
  # Corresponds to the JSON property `terminationTimestamp`
36305
37776
  # @return [String]
@@ -36311,6 +37782,7 @@ module Google
36311
37782
 
36312
37783
  # Update properties of this object
36313
37784
  def update!(**args)
37785
+ @availability_domain = args[:availability_domain] if args.key?(:availability_domain)
36314
37786
  @termination_timestamp = args[:termination_timestamp] if args.key?(:termination_timestamp)
36315
37787
  end
36316
37788
  end
@@ -36434,6 +37906,13 @@ module Google
36434
37906
  # @return [String]
36435
37907
  attr_accessor :next_hop_instance
36436
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
+
36437
37916
  # [Output Only] The URL to an InterconnectAttachment which is the next hop for
36438
37917
  # the route. This field will only be populated for the dynamic routes generated
36439
37918
  # by Cloud Router with a linked interconnectAttachment.
@@ -36451,11 +37930,23 @@ module Google
36451
37930
  # @return [String]
36452
37931
  attr_accessor :next_hop_ip
36453
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
+
36454
37939
  # The URL of the local network if it should handle matching packets.
36455
37940
  # Corresponds to the JSON property `nextHopNetwork`
36456
37941
  # @return [String]
36457
37942
  attr_accessor :next_hop_network
36458
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
+
36459
37950
  # [Output Only] The network peering name that should handle matching packets,
36460
37951
  # which should conform to RFC1035.
36461
37952
  # Corresponds to the JSON property `nextHopPeering`
@@ -36524,9 +38015,12 @@ module Google
36524
38015
  @next_hop_hub = args[:next_hop_hub] if args.key?(:next_hop_hub)
36525
38016
  @next_hop_ilb = args[:next_hop_ilb] if args.key?(:next_hop_ilb)
36526
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)
36527
38019
  @next_hop_interconnect_attachment = args[:next_hop_interconnect_attachment] if args.key?(:next_hop_interconnect_attachment)
36528
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)
36529
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)
36530
38024
  @next_hop_peering = args[:next_hop_peering] if args.key?(:next_hop_peering)
36531
38025
  @next_hop_vpn_tunnel = args[:next_hop_vpn_tunnel] if args.key?(:next_hop_vpn_tunnel)
36532
38026
  @priority = args[:priority] if args.key?(:priority)
@@ -36754,6 +38248,11 @@ module Google
36754
38248
  class RoutePolicy
36755
38249
  include Google::Apis::Core::Hashable
36756
38250
 
38251
+ # An optional description of route policy.
38252
+ # Corresponds to the JSON property `description`
38253
+ # @return [String]
38254
+ attr_accessor :description
38255
+
36757
38256
  # A fingerprint for the Route Policy being applied to this Router, which is
36758
38257
  # essentially a hash of the Route Policy used for optimistic locking. The
36759
38258
  # fingerprint is initially generated by Compute Engine and changes after every
@@ -36789,6 +38288,7 @@ module Google
36789
38288
 
36790
38289
  # Update properties of this object
36791
38290
  def update!(**args)
38291
+ @description = args[:description] if args.key?(:description)
36792
38292
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
36793
38293
  @name = args[:name] if args.key?(:name)
36794
38294
  @terms = args[:terms] if args.key?(:terms)
@@ -38757,61 +40257,6 @@ module Google
38757
40257
  end
38758
40258
  end
38759
40259
 
38760
- # This is deprecated and has no effect. Do not use.
38761
- class Rule
38762
- include Google::Apis::Core::Hashable
38763
-
38764
- # This is deprecated and has no effect. Do not use.
38765
- # Corresponds to the JSON property `action`
38766
- # @return [String]
38767
- attr_accessor :action
38768
-
38769
- # This is deprecated and has no effect. Do not use.
38770
- # Corresponds to the JSON property `conditions`
38771
- # @return [Array<Google::Apis::ComputeBeta::Condition>]
38772
- attr_accessor :conditions
38773
-
38774
- # This is deprecated and has no effect. Do not use.
38775
- # Corresponds to the JSON property `description`
38776
- # @return [String]
38777
- attr_accessor :description
38778
-
38779
- # This is deprecated and has no effect. Do not use.
38780
- # Corresponds to the JSON property `ins`
38781
- # @return [Array<String>]
38782
- attr_accessor :ins
38783
-
38784
- # This is deprecated and has no effect. Do not use.
38785
- # Corresponds to the JSON property `logConfigs`
38786
- # @return [Array<Google::Apis::ComputeBeta::LogConfig>]
38787
- attr_accessor :log_configs
38788
-
38789
- # This is deprecated and has no effect. Do not use.
38790
- # Corresponds to the JSON property `notIns`
38791
- # @return [Array<String>]
38792
- attr_accessor :not_ins
38793
-
38794
- # This is deprecated and has no effect. Do not use.
38795
- # Corresponds to the JSON property `permissions`
38796
- # @return [Array<String>]
38797
- attr_accessor :permissions
38798
-
38799
- def initialize(**args)
38800
- update!(**args)
38801
- end
38802
-
38803
- # Update properties of this object
38804
- def update!(**args)
38805
- @action = args[:action] if args.key?(:action)
38806
- @conditions = args[:conditions] if args.key?(:conditions)
38807
- @description = args[:description] if args.key?(:description)
38808
- @ins = args[:ins] if args.key?(:ins)
38809
- @log_configs = args[:log_configs] if args.key?(:log_configs)
38810
- @not_ins = args[:not_ins] if args.key?(:not_ins)
38811
- @permissions = args[:permissions] if args.key?(:permissions)
38812
- end
38813
- end
38814
-
38815
40260
  #
38816
40261
  class SslHealthCheck
38817
40262
  include Google::Apis::Core::Hashable
@@ -39105,6 +40550,13 @@ module Google
39105
40550
  attr_accessor :automatic_restart
39106
40551
  alias_method :automatic_restart?, :automatic_restart
39107
40552
 
40553
+ # Specifies the availability domain to place the instance in. The value must be
40554
+ # a number between 1 and the number of availability domains specified in the
40555
+ # spread placement policy attached to the instance.
40556
+ # Corresponds to the JSON property `availabilityDomain`
40557
+ # @return [Fixnum]
40558
+ attr_accessor :availability_domain
40559
+
39108
40560
  # Specify the time in seconds for host error detection, the value must be within
39109
40561
  # the range of [90, 330] with the increment of 30, if unset, the default
39110
40562
  # behavior of host error recovery will be used.
@@ -39204,6 +40656,7 @@ module Google
39204
40656
  # Update properties of this object
39205
40657
  def update!(**args)
39206
40658
  @automatic_restart = args[:automatic_restart] if args.key?(:automatic_restart)
40659
+ @availability_domain = args[:availability_domain] if args.key?(:availability_domain)
39207
40660
  @host_error_timeout_seconds = args[:host_error_timeout_seconds] if args.key?(:host_error_timeout_seconds)
39208
40661
  @instance_termination_action = args[:instance_termination_action] if args.key?(:instance_termination_action)
39209
40662
  @local_ssd_recovery_timeout = args[:local_ssd_recovery_timeout] if args.key?(:local_ssd_recovery_timeout)
@@ -45472,8 +46925,7 @@ module Google
45472
46925
  # @return [Fixnum]
45473
46926
  attr_accessor :id
45474
46927
 
45475
- # [Output Only] The internal IPv6 address range that is assigned to this
45476
- # subnetwork.
46928
+ # The internal IPv6 address range that is owned by this subnetwork.
45477
46929
  # Corresponds to the JSON property `internalIpv6Prefix`
45478
46930
  # @return [String]
45479
46931
  attr_accessor :internal_ipv6_prefix
@@ -47133,10 +48585,11 @@ module Google
47133
48585
  attr_accessor :authorization_policy
47134
48586
 
47135
48587
  # URL of a certificate map that identifies a certificate map associated with the
47136
- # given target proxy. This field can only be set for global target proxies. If
47137
- # set, sslCertificates will be ignored. Accepted format is //certificatemanager.
47138
- # googleapis.com/projects/`project `/locations/`location`/certificateMaps/`
47139
- # 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`.
47140
48593
  # Corresponds to the JSON property `certificateMap`
47141
48594
  # @return [String]
47142
48595
  attr_accessor :certificate_map
@@ -47259,9 +48712,18 @@ module Google
47259
48712
 
47260
48713
  # URLs to SslCertificate resources that are used to authenticate connections
47261
48714
  # between users and the load balancer. At least one SSL certificate must be
47262
- # specified. Currently, you may specify up to 15 SSL certificates.
47263
- # sslCertificates do not apply when the load balancing scheme is set to
47264
- # 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`.
47265
48727
  # Corresponds to the JSON property `sslCertificates`
47266
48728
  # @return [Array<String>]
47267
48729
  attr_accessor :ssl_certificates
@@ -50013,9 +51475,10 @@ module Google
50013
51475
  # Director features: Routing and traffic management table. This resource defines
50014
51476
  # mappings from hostnames and URL paths to either a backend service or a backend
50015
51477
  # bucket. To use the global urlMaps resource, the backend service must have a
50016
- # loadBalancingScheme of either EXTERNAL or INTERNAL_SELF_MANAGED. To use the
50017
- # regionUrlMaps resource, the backend service must have a loadBalancingScheme of
50018
- # 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.
50019
51482
  class UrlMap
50020
51483
  include Google::Apis::Core::Hashable
50021
51484
 
@@ -50048,8 +51511,9 @@ module Google
50048
51511
  # directed if none of the hostRules match. If defaultRouteAction is also
50049
51512
  # specified, advanced routing actions, such as URL rewrites, take effect before
50050
51513
  # sending the request to the backend. However, if defaultService is specified,
50051
- # defaultRouteAction cannot contain any weightedBackendServices. Conversely, if
50052
- # 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
50053
51517
  # specified. If defaultService is specified, then set either defaultUrlRedirect ,
50054
51518
  # or defaultRouteAction.weightedBackendService Don't set both. defaultService
50055
51519
  # has no effect when the URL map is bound to a target gRPC proxy that has the
@@ -50683,9 +52147,10 @@ module Google
50683
52147
  # Director features: Routing and traffic management table. This resource defines
50684
52148
  # mappings from hostnames and URL paths to either a backend service or a backend
50685
52149
  # bucket. To use the global urlMaps resource, the backend service must have a
50686
- # loadBalancingScheme of either EXTERNAL or INTERNAL_SELF_MANAGED. To use the
50687
- # regionUrlMaps resource, the backend service must have a loadBalancingScheme of
50688
- # 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.
50689
52154
  # Corresponds to the JSON property `resource`
50690
52155
  # @return [Google::Apis::ComputeBeta::UrlMap]
50691
52156
  attr_accessor :resource
@@ -51381,8 +52846,9 @@ module Google
51381
52846
  attr_accessor :self_link
51382
52847
 
51383
52848
  # The stack type for this VPN gateway to identify the IP protocols that are
51384
- # enabled. Possible values are: IPV4_ONLY, IPV4_IPV6. If not specified,
51385
- # IPV4_ONLY will be used.
52849
+ # enabled. Possible values are: IPV4_ONLY, IPV4_IPV6, IPV6_ONLY. If not
52850
+ # specified, IPV4_ONLY is used if the gateway IP version is IPV4, or IPV4_IPV6
52851
+ # if the gateway IP version is IPV6.
51386
52852
  # Corresponds to the JSON property `stackType`
51387
52853
  # @return [String]
51388
52854
  attr_accessor :stack_type
@@ -51998,7 +53464,8 @@ module Google
51998
53464
 
51999
53465
  # Local traffic selector to use when establishing the VPN tunnel with the peer
52000
53466
  # VPN gateway. The value should be a CIDR formatted string, for example: 192.168.
52001
- # 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.
52002
53469
  # Corresponds to the JSON property `localTrafficSelector`
52003
53470
  # @return [Array<String>]
52004
53471
  attr_accessor :local_traffic_selector
@@ -52038,7 +53505,8 @@ module Google
52038
53505
  # @return [String]
52039
53506
  attr_accessor :peer_gcp_gateway
52040
53507
 
52041
- # 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.
52042
53510
  # Corresponds to the JSON property `peerIp`
52043
53511
  # @return [String]
52044
53512
  attr_accessor :peer_ip
@@ -52052,7 +53520,8 @@ module Google
52052
53520
 
52053
53521
  # Remote traffic selectors to use when establishing the VPN tunnel with the peer
52054
53522
  # VPN gateway. The value should be a CIDR formatted string, for example: 192.168.
52055
- # 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.
52056
53525
  # Corresponds to the JSON property `remoteTrafficSelector`
52057
53526
  # @return [Array<String>]
52058
53527
  attr_accessor :remote_traffic_selector
@@ -52101,7 +53570,8 @@ module Google
52101
53570
  attr_accessor :status
52102
53571
 
52103
53572
  # URL of the Target VPN gateway with which this VPN tunnel is associated.
52104
- # 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.
52105
53575
  # Corresponds to the JSON property `targetVpnGateway`
52106
53576
  # @return [String]
52107
53577
  attr_accessor :target_vpn_gateway