google-apis-compute_beta 0.105.0 → 0.107.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1157,6 +1157,13 @@ module Google
1157
1157
  # @return [Fixnum]
1158
1158
  attr_accessor :threads_per_core
1159
1159
 
1160
+ # Turbo frequency mode to use for the instance. Supported modes include: *
1161
+ # ALL_CORE_MAX Using empty string or not setting this field will use the
1162
+ # platform-specific default turbo mode.
1163
+ # Corresponds to the JSON property `turboMode`
1164
+ # @return [String]
1165
+ attr_accessor :turbo_mode
1166
+
1160
1167
  # The number of physical cores to expose to an instance. Multiply by the number
1161
1168
  # of threads per core to compute the total number of virtual CPUs to expose to
1162
1169
  # the instance. If unset, the number of cores is inferred from the instance's
@@ -1175,6 +1182,7 @@ module Google
1175
1182
  @enable_uefi_networking = args[:enable_uefi_networking] if args.key?(:enable_uefi_networking)
1176
1183
  @performance_monitoring_unit = args[:performance_monitoring_unit] if args.key?(:performance_monitoring_unit)
1177
1184
  @threads_per_core = args[:threads_per_core] if args.key?(:threads_per_core)
1185
+ @turbo_mode = args[:turbo_mode] if args.key?(:turbo_mode)
1178
1186
  @visible_core_count = args[:visible_core_count] if args.key?(:visible_core_count)
1179
1187
  end
1180
1188
  end
@@ -1294,10 +1302,39 @@ module Google
1294
1302
  end
1295
1303
  end
1296
1304
 
1305
+ #
1306
+ class AllocationReservationSharingPolicy
1307
+ include Google::Apis::Core::Hashable
1308
+
1309
+ # Sharing config for all Google Cloud services.
1310
+ # Corresponds to the JSON property `serviceShareType`
1311
+ # @return [String]
1312
+ attr_accessor :service_share_type
1313
+
1314
+ def initialize(**args)
1315
+ update!(**args)
1316
+ end
1317
+
1318
+ # Update properties of this object
1319
+ def update!(**args)
1320
+ @service_share_type = args[:service_share_type] if args.key?(:service_share_type)
1321
+ end
1322
+ end
1323
+
1297
1324
  # [Output Only] Contains output only fields.
1298
1325
  class AllocationResourceStatus
1299
1326
  include Google::Apis::Core::Hashable
1300
1327
 
1328
+ # The number of reservation blocks associated with this reservation.
1329
+ # Corresponds to the JSON property `reservationBlockCount`
1330
+ # @return [Fixnum]
1331
+ attr_accessor :reservation_block_count
1332
+
1333
+ # Maintenance Info for ReservationBlocks.
1334
+ # Corresponds to the JSON property `reservationMaintenance`
1335
+ # @return [Google::Apis::ComputeBeta::GroupMaintenanceInfo]
1336
+ attr_accessor :reservation_maintenance
1337
+
1301
1338
  # Contains Properties set for the reservation.
1302
1339
  # Corresponds to the JSON property `specificSkuAllocation`
1303
1340
  # @return [Google::Apis::ComputeBeta::AllocationResourceStatusSpecificSkuAllocation]
@@ -1309,6 +1346,8 @@ module Google
1309
1346
 
1310
1347
  # Update properties of this object
1311
1348
  def update!(**args)
1349
+ @reservation_block_count = args[:reservation_block_count] if args.key?(:reservation_block_count)
1350
+ @reservation_maintenance = args[:reservation_maintenance] if args.key?(:reservation_maintenance)
1312
1351
  @specific_sku_allocation = args[:specific_sku_allocation] if args.key?(:specific_sku_allocation)
1313
1352
  end
1314
1353
  end
@@ -1322,6 +1361,12 @@ module Google
1322
1361
  # @return [String]
1323
1362
  attr_accessor :source_instance_template_id
1324
1363
 
1364
+ # Per service utilization breakdown. The Key is the Google Cloud managed service
1365
+ # name.
1366
+ # Corresponds to the JSON property `utilizations`
1367
+ # @return [Hash<String,Fixnum>]
1368
+ attr_accessor :utilizations
1369
+
1325
1370
  def initialize(**args)
1326
1371
  update!(**args)
1327
1372
  end
@@ -1329,6 +1374,7 @@ module Google
1329
1374
  # Update properties of this object
1330
1375
  def update!(**args)
1331
1376
  @source_instance_template_id = args[:source_instance_template_id] if args.key?(:source_instance_template_id)
1377
+ @utilizations = args[:utilizations] if args.key?(:utilizations)
1332
1378
  end
1333
1379
  end
1334
1380
 
@@ -1887,8 +1933,8 @@ module Google
1887
1933
  # "audit_log_configs": [ ` "log_type": "DATA_READ" `, ` "log_type": "DATA_WRITE"
1888
1934
  # , "exempted_members": [ "user:aliya@example.com" ] ` ] ` ] ` For sampleservice,
1889
1935
  # this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also
1890
- # exempts jose@example.com from DATA_READ logging, and aliya@example.com from
1891
- # DATA_WRITE logging.
1936
+ # exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com`
1937
+ # from DATA_WRITE logging.
1892
1938
  class AuditConfig
1893
1939
  include Google::Apis::Core::Hashable
1894
1940
 
@@ -1897,11 +1943,6 @@ module Google
1897
1943
  # @return [Array<Google::Apis::ComputeBeta::AuditLogConfig>]
1898
1944
  attr_accessor :audit_log_configs
1899
1945
 
1900
- # This is deprecated and has no effect. Do not use.
1901
- # Corresponds to the JSON property `exemptedMembers`
1902
- # @return [Array<String>]
1903
- attr_accessor :exempted_members
1904
-
1905
1946
  # Specifies a service that will be enabled for audit logging. For example, `
1906
1947
  # storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special
1907
1948
  # value that covers all services.
@@ -1916,7 +1957,6 @@ module Google
1916
1957
  # Update properties of this object
1917
1958
  def update!(**args)
1918
1959
  @audit_log_configs = args[:audit_log_configs] if args.key?(:audit_log_configs)
1919
- @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
1920
1960
  @service = args[:service] if args.key?(:service)
1921
1961
  end
1922
1962
  end
@@ -1935,12 +1975,6 @@ module Google
1935
1975
  # @return [Array<String>]
1936
1976
  attr_accessor :exempted_members
1937
1977
 
1938
- # This is deprecated and has no effect. Do not use.
1939
- # Corresponds to the JSON property `ignoreChildExemptions`
1940
- # @return [Boolean]
1941
- attr_accessor :ignore_child_exemptions
1942
- alias_method :ignore_child_exemptions?, :ignore_child_exemptions
1943
-
1944
1978
  # The log type that this config enables.
1945
1979
  # Corresponds to the JSON property `logType`
1946
1980
  # @return [String]
@@ -1953,7 +1987,6 @@ module Google
1953
1987
  # Update properties of this object
1954
1988
  def update!(**args)
1955
1989
  @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
1956
- @ignore_child_exemptions = args[:ignore_child_exemptions] if args.key?(:ignore_child_exemptions)
1957
1990
  @log_type = args[:log_type] if args.key?(:log_type)
1958
1991
  end
1959
1992
  end
@@ -2860,6 +2893,11 @@ module Google
2860
2893
  # @return [Float]
2861
2894
  attr_accessor :capacity_scaler
2862
2895
 
2896
+ # List of custom metrics that are used for CUSTOM_METRICS BalancingMode.
2897
+ # Corresponds to the JSON property `customMetrics`
2898
+ # @return [Array<Google::Apis::ComputeBeta::BackendCustomMetric>]
2899
+ attr_accessor :custom_metrics
2900
+
2863
2901
  # An optional description of this resource. Provide this property when you
2864
2902
  # create the resource.
2865
2903
  # Corresponds to the JSON property `description`
@@ -2950,6 +2988,7 @@ module Google
2950
2988
  def update!(**args)
2951
2989
  @balancing_mode = args[:balancing_mode] if args.key?(:balancing_mode)
2952
2990
  @capacity_scaler = args[:capacity_scaler] if args.key?(:capacity_scaler)
2991
+ @custom_metrics = args[:custom_metrics] if args.key?(:custom_metrics)
2953
2992
  @description = args[:description] if args.key?(:description)
2954
2993
  @failover = args[:failover] if args.key?(:failover)
2955
2994
  @group = args[:group] if args.key?(:group)
@@ -3024,6 +3063,14 @@ module Google
3024
3063
  # @return [String]
3025
3064
  attr_accessor :kind
3026
3065
 
3066
+ # The value can only be INTERNAL_MANAGED for cross-region internal layer 7 load
3067
+ # balancer. If loadBalancingScheme is not specified, the backend bucket can be
3068
+ # used by classic global external load balancers, or global application external
3069
+ # load balancers, or both.
3070
+ # Corresponds to the JSON property `loadBalancingScheme`
3071
+ # @return [String]
3072
+ attr_accessor :load_balancing_scheme
3073
+
3027
3074
  # Name of the resource. Provided by the client when the resource is created. The
3028
3075
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
3029
3076
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
@@ -3039,6 +3086,11 @@ module Google
3039
3086
  # @return [String]
3040
3087
  attr_accessor :self_link
3041
3088
 
3089
+ # [Output Only] List of resources referencing that backend bucket.
3090
+ # Corresponds to the JSON property `usedBy`
3091
+ # @return [Array<Google::Apis::ComputeBeta::BackendBucketUsedBy>]
3092
+ attr_accessor :used_by
3093
+
3042
3094
  def initialize(**args)
3043
3095
  update!(**args)
3044
3096
  end
@@ -3055,8 +3107,10 @@ module Google
3055
3107
  @enable_cdn = args[:enable_cdn] if args.key?(:enable_cdn)
3056
3108
  @id = args[:id] if args.key?(:id)
3057
3109
  @kind = args[:kind] if args.key?(:kind)
3110
+ @load_balancing_scheme = args[:load_balancing_scheme] if args.key?(:load_balancing_scheme)
3058
3111
  @name = args[:name] if args.key?(:name)
3059
3112
  @self_link = args[:self_link] if args.key?(:self_link)
3113
+ @used_by = args[:used_by] if args.key?(:used_by)
3060
3114
  end
3061
3115
  end
3062
3116
 
@@ -3411,6 +3465,66 @@ module Google
3411
3465
  end
3412
3466
  end
3413
3467
 
3468
+ #
3469
+ class BackendBucketUsedBy
3470
+ include Google::Apis::Core::Hashable
3471
+
3472
+ # [Output Only] Server-defined URL for UrlMaps referencing that BackendBucket.
3473
+ # Corresponds to the JSON property `reference`
3474
+ # @return [String]
3475
+ attr_accessor :reference
3476
+
3477
+ def initialize(**args)
3478
+ update!(**args)
3479
+ end
3480
+
3481
+ # Update properties of this object
3482
+ def update!(**args)
3483
+ @reference = args[:reference] if args.key?(:reference)
3484
+ end
3485
+ end
3486
+
3487
+ # Custom Metrics are used for CUSTOM_METRICS balancing_mode.
3488
+ class BackendCustomMetric
3489
+ include Google::Apis::Core::Hashable
3490
+
3491
+ # If true, the metric data is collected and reported to Cloud Monitoring, but is
3492
+ # not used for load balancing.
3493
+ # Corresponds to the JSON property `dryRun`
3494
+ # @return [Boolean]
3495
+ attr_accessor :dry_run
3496
+ alias_method :dry_run?, :dry_run
3497
+
3498
+ # Optional parameter to define a target utilization for the Custom Metrics
3499
+ # balancing mode. The valid range is [0.0, 1.0].
3500
+ # Corresponds to the JSON property `maxUtilization`
3501
+ # @return [Float]
3502
+ attr_accessor :max_utilization
3503
+
3504
+ # Name of a custom utilization signal. The name must be 1-24 characters long and
3505
+ # match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means the
3506
+ # first character must be a lowercase letter, and all following characters must
3507
+ # be a dash, period, underscore, lowercase letter, or digit, except the last
3508
+ # character, which cannot be a dash, period, or underscore. For usage guidelines,
3509
+ # see Custom Metrics balancing mode. This field can only be used for a global
3510
+ # or regional backend service with the loadBalancingScheme set to
3511
+ # EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED.
3512
+ # Corresponds to the JSON property `name`
3513
+ # @return [String]
3514
+ attr_accessor :name
3515
+
3516
+ def initialize(**args)
3517
+ update!(**args)
3518
+ end
3519
+
3520
+ # Update properties of this object
3521
+ def update!(**args)
3522
+ @dry_run = args[:dry_run] if args.key?(:dry_run)
3523
+ @max_utilization = args[:max_utilization] if args.key?(:max_utilization)
3524
+ @name = args[:name] if args.key?(:name)
3525
+ end
3526
+ end
3527
+
3414
3528
  # Represents a Backend Service resource. A backend service defines how Google
3415
3529
  # Cloud load balancers distribute traffic. The backend service configuration
3416
3530
  # contains a set of values, such as the protocol used to connect to backends,
@@ -3478,6 +3592,12 @@ module Google
3478
3592
  # @return [String]
3479
3593
  attr_accessor :creation_timestamp
3480
3594
 
3595
+ # List of custom metrics that are used for the WEIGHTED_ROUND_ROBIN
3596
+ # locality_lb_policy.
3597
+ # Corresponds to the JSON property `customMetrics`
3598
+ # @return [Array<Google::Apis::ComputeBeta::BackendServiceCustomMetric>]
3599
+ attr_accessor :custom_metrics
3600
+
3481
3601
  # Headers that the load balancer adds to proxied requests. See [Creating custom
3482
3602
  # headers](https://cloud.google.com/load-balancing/docs/custom-headers).
3483
3603
  # Corresponds to the JSON property `customRequestHeaders`
@@ -3509,6 +3629,32 @@ module Google
3509
3629
  attr_accessor :enable_cdn
3510
3630
  alias_method :enable_cdn?, :enable_cdn
3511
3631
 
3632
+ # Specifies the canary migration state. Possible values are PREPARE,
3633
+ # TEST_BY_PERCENTAGE, and TEST_ALL_TRAFFIC. To begin the migration from EXTERNAL
3634
+ # to EXTERNAL_MANAGED, the state must be changed to PREPARE. The state must be
3635
+ # changed to TEST_ALL_TRAFFIC before the loadBalancingScheme can be changed to
3636
+ # EXTERNAL_MANAGED. Optionally, the TEST_BY_PERCENTAGE state can be used to
3637
+ # migrate traffic by percentage using externalManagedMigrationTestingPercentage.
3638
+ # Rolling back a migration requires the states to be set in reverse order. So
3639
+ # changing the scheme from EXTERNAL_MANAGED to EXTERNAL requires the state to be
3640
+ # set to TEST_ALL_TRAFFIC at the same time. Optionally, the TEST_BY_PERCENTAGE
3641
+ # state can be used to migrate some traffic back to EXTERNAL or PREPARE can be
3642
+ # used to migrate all traffic back to EXTERNAL.
3643
+ # Corresponds to the JSON property `externalManagedMigrationState`
3644
+ # @return [String]
3645
+ attr_accessor :external_managed_migration_state
3646
+
3647
+ # Determines the fraction of requests that should be processed by the Global
3648
+ # external Application Load Balancer. The value of this field must be in the
3649
+ # range [0, 100]. Session affinity options will slightly affect this routing
3650
+ # behavior, for more details, see: Session Affinity. This value can only be set
3651
+ # if the loadBalancingScheme in the BackendService is set to EXTERNAL (when
3652
+ # using the classic Application Load Balancer) and the migration state is
3653
+ # TEST_BY_PERCENTAGE.
3654
+ # Corresponds to the JSON property `externalManagedMigrationTestingPercentage`
3655
+ # @return [Float]
3656
+ attr_accessor :external_managed_migration_testing_percentage
3657
+
3512
3658
  # For load balancers that have configurable failover: [Internal passthrough
3513
3659
  # Network Load Balancers](https://cloud.google.com/load-balancing/docs/internal/
3514
3660
  # failover-overview) and [external passthrough Network Load Balancers](https://
@@ -3622,8 +3768,10 @@ module Google
3622
3768
  # set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to
3623
3769
  # INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme
3624
3770
  # set to INTERNAL_SELF_MANAGED, INTERNAL_MANAGED, or EXTERNAL_MANAGED. If
3625
- # sessionAffinity is not NONE, and this field is not set to MAGLEV or RING_HASH,
3626
- # session affinity settings will not take effect. Only ROUND_ROBIN and RING_HASH
3771
+ # sessionAffinity is not configured—that is, if session affinity remains at the
3772
+ # default value of NONE—then the default value for localityLbPolicy is
3773
+ # ROUND_ROBIN. If session affinity is set to a value other than NONE, then the
3774
+ # default value for localityLbPolicy is MAGLEV. Only ROUND_ROBIN and RING_HASH
3627
3775
  # are supported when the backend service is referenced by a URL map that is
3628
3776
  # bound to target gRPC proxy that has validateForProxyless field set to true.
3629
3777
  # Corresponds to the JSON property `localityLbPolicy`
@@ -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