google-apis-compute_beta 0.106.0 → 0.108.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1157,6 +1157,13 @@ module Google
1157
1157
  # @return [Fixnum]
1158
1158
  attr_accessor :threads_per_core
1159
1159
 
1160
+ # Turbo frequency mode to use for the instance. Supported modes include: *
1161
+ # ALL_CORE_MAX Using empty string or not setting this field will use the
1162
+ # platform-specific default turbo mode.
1163
+ # Corresponds to the JSON property `turboMode`
1164
+ # @return [String]
1165
+ attr_accessor :turbo_mode
1166
+
1160
1167
  # The number of physical cores to expose to an instance. Multiply by the number
1161
1168
  # of threads per core to compute the total number of virtual CPUs to expose to
1162
1169
  # the instance. If unset, the number of cores is inferred from the instance's
@@ -1175,6 +1182,7 @@ module Google
1175
1182
  @enable_uefi_networking = args[:enable_uefi_networking] if args.key?(:enable_uefi_networking)
1176
1183
  @performance_monitoring_unit = args[:performance_monitoring_unit] if args.key?(:performance_monitoring_unit)
1177
1184
  @threads_per_core = args[:threads_per_core] if args.key?(:threads_per_core)
1185
+ @turbo_mode = args[:turbo_mode] if args.key?(:turbo_mode)
1178
1186
  @visible_core_count = args[:visible_core_count] if args.key?(:visible_core_count)
1179
1187
  end
1180
1188
  end
@@ -1294,10 +1302,39 @@ module Google
1294
1302
  end
1295
1303
  end
1296
1304
 
1305
+ #
1306
+ class AllocationReservationSharingPolicy
1307
+ include Google::Apis::Core::Hashable
1308
+
1309
+ # Sharing config for all Google Cloud services.
1310
+ # Corresponds to the JSON property `serviceShareType`
1311
+ # @return [String]
1312
+ attr_accessor :service_share_type
1313
+
1314
+ def initialize(**args)
1315
+ update!(**args)
1316
+ end
1317
+
1318
+ # Update properties of this object
1319
+ def update!(**args)
1320
+ @service_share_type = args[:service_share_type] if args.key?(:service_share_type)
1321
+ end
1322
+ end
1323
+
1297
1324
  # [Output Only] Contains output only fields.
1298
1325
  class AllocationResourceStatus
1299
1326
  include Google::Apis::Core::Hashable
1300
1327
 
1328
+ # The number of reservation blocks associated with this reservation.
1329
+ # Corresponds to the JSON property `reservationBlockCount`
1330
+ # @return [Fixnum]
1331
+ attr_accessor :reservation_block_count
1332
+
1333
+ # Maintenance Info for ReservationBlocks.
1334
+ # Corresponds to the JSON property `reservationMaintenance`
1335
+ # @return [Google::Apis::ComputeBeta::GroupMaintenanceInfo]
1336
+ attr_accessor :reservation_maintenance
1337
+
1301
1338
  # Contains Properties set for the reservation.
1302
1339
  # Corresponds to the JSON property `specificSkuAllocation`
1303
1340
  # @return [Google::Apis::ComputeBeta::AllocationResourceStatusSpecificSkuAllocation]
@@ -1309,6 +1346,8 @@ module Google
1309
1346
 
1310
1347
  # Update properties of this object
1311
1348
  def update!(**args)
1349
+ @reservation_block_count = args[:reservation_block_count] if args.key?(:reservation_block_count)
1350
+ @reservation_maintenance = args[:reservation_maintenance] if args.key?(:reservation_maintenance)
1312
1351
  @specific_sku_allocation = args[:specific_sku_allocation] if args.key?(:specific_sku_allocation)
1313
1352
  end
1314
1353
  end
@@ -1322,6 +1361,12 @@ module Google
1322
1361
  # @return [String]
1323
1362
  attr_accessor :source_instance_template_id
1324
1363
 
1364
+ # Per service utilization breakdown. The Key is the Google Cloud managed service
1365
+ # name.
1366
+ # Corresponds to the JSON property `utilizations`
1367
+ # @return [Hash<String,Fixnum>]
1368
+ attr_accessor :utilizations
1369
+
1325
1370
  def initialize(**args)
1326
1371
  update!(**args)
1327
1372
  end
@@ -1329,6 +1374,7 @@ module Google
1329
1374
  # Update properties of this object
1330
1375
  def update!(**args)
1331
1376
  @source_instance_template_id = args[:source_instance_template_id] if args.key?(:source_instance_template_id)
1377
+ @utilizations = args[:utilizations] if args.key?(:utilizations)
1332
1378
  end
1333
1379
  end
1334
1380
 
@@ -1887,8 +1933,8 @@ module Google
1887
1933
  # "audit_log_configs": [ ` "log_type": "DATA_READ" `, ` "log_type": "DATA_WRITE"
1888
1934
  # , "exempted_members": [ "user:aliya@example.com" ] ` ] ` ] ` For sampleservice,
1889
1935
  # this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also
1890
- # exempts jose@example.com from DATA_READ logging, and aliya@example.com from
1891
- # DATA_WRITE logging.
1936
+ # exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com`
1937
+ # from DATA_WRITE logging.
1892
1938
  class AuditConfig
1893
1939
  include Google::Apis::Core::Hashable
1894
1940
 
@@ -1897,11 +1943,6 @@ module Google
1897
1943
  # @return [Array<Google::Apis::ComputeBeta::AuditLogConfig>]
1898
1944
  attr_accessor :audit_log_configs
1899
1945
 
1900
- # This is deprecated and has no effect. Do not use.
1901
- # Corresponds to the JSON property `exemptedMembers`
1902
- # @return [Array<String>]
1903
- attr_accessor :exempted_members
1904
-
1905
1946
  # Specifies a service that will be enabled for audit logging. For example, `
1906
1947
  # storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special
1907
1948
  # value that covers all services.
@@ -1916,7 +1957,6 @@ module Google
1916
1957
  # Update properties of this object
1917
1958
  def update!(**args)
1918
1959
  @audit_log_configs = args[:audit_log_configs] if args.key?(:audit_log_configs)
1919
- @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
1920
1960
  @service = args[:service] if args.key?(:service)
1921
1961
  end
1922
1962
  end
@@ -1935,12 +1975,6 @@ module Google
1935
1975
  # @return [Array<String>]
1936
1976
  attr_accessor :exempted_members
1937
1977
 
1938
- # This is deprecated and has no effect. Do not use.
1939
- # Corresponds to the JSON property `ignoreChildExemptions`
1940
- # @return [Boolean]
1941
- attr_accessor :ignore_child_exemptions
1942
- alias_method :ignore_child_exemptions?, :ignore_child_exemptions
1943
-
1944
1978
  # The log type that this config enables.
1945
1979
  # Corresponds to the JSON property `logType`
1946
1980
  # @return [String]
@@ -1953,7 +1987,6 @@ module Google
1953
1987
  # Update properties of this object
1954
1988
  def update!(**args)
1955
1989
  @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
1956
- @ignore_child_exemptions = args[:ignore_child_exemptions] if args.key?(:ignore_child_exemptions)
1957
1990
  @log_type = args[:log_type] if args.key?(:log_type)
1958
1991
  end
1959
1992
  end
@@ -2860,6 +2893,11 @@ module Google
2860
2893
  # @return [Float]
2861
2894
  attr_accessor :capacity_scaler
2862
2895
 
2896
+ # List of custom metrics that are used for CUSTOM_METRICS BalancingMode.
2897
+ # Corresponds to the JSON property `customMetrics`
2898
+ # @return [Array<Google::Apis::ComputeBeta::BackendCustomMetric>]
2899
+ attr_accessor :custom_metrics
2900
+
2863
2901
  # An optional description of this resource. Provide this property when you
2864
2902
  # create the resource.
2865
2903
  # Corresponds to the JSON property `description`
@@ -2950,6 +2988,7 @@ module Google
2950
2988
  def update!(**args)
2951
2989
  @balancing_mode = args[:balancing_mode] if args.key?(:balancing_mode)
2952
2990
  @capacity_scaler = args[:capacity_scaler] if args.key?(:capacity_scaler)
2991
+ @custom_metrics = args[:custom_metrics] if args.key?(:custom_metrics)
2953
2992
  @description = args[:description] if args.key?(:description)
2954
2993
  @failover = args[:failover] if args.key?(:failover)
2955
2994
  @group = args[:group] if args.key?(:group)
@@ -3024,6 +3063,14 @@ module Google
3024
3063
  # @return [String]
3025
3064
  attr_accessor :kind
3026
3065
 
3066
+ # The value can only be INTERNAL_MANAGED for cross-region internal layer 7 load
3067
+ # balancer. If loadBalancingScheme is not specified, the backend bucket can be
3068
+ # used by classic global external load balancers, or global application external
3069
+ # load balancers, or both.
3070
+ # Corresponds to the JSON property `loadBalancingScheme`
3071
+ # @return [String]
3072
+ attr_accessor :load_balancing_scheme
3073
+
3027
3074
  # Name of the resource. Provided by the client when the resource is created. The
3028
3075
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
3029
3076
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
@@ -3039,6 +3086,11 @@ module Google
3039
3086
  # @return [String]
3040
3087
  attr_accessor :self_link
3041
3088
 
3089
+ # [Output Only] List of resources referencing that backend bucket.
3090
+ # Corresponds to the JSON property `usedBy`
3091
+ # @return [Array<Google::Apis::ComputeBeta::BackendBucketUsedBy>]
3092
+ attr_accessor :used_by
3093
+
3042
3094
  def initialize(**args)
3043
3095
  update!(**args)
3044
3096
  end
@@ -3055,8 +3107,10 @@ module Google
3055
3107
  @enable_cdn = args[:enable_cdn] if args.key?(:enable_cdn)
3056
3108
  @id = args[:id] if args.key?(:id)
3057
3109
  @kind = args[:kind] if args.key?(:kind)
3110
+ @load_balancing_scheme = args[:load_balancing_scheme] if args.key?(:load_balancing_scheme)
3058
3111
  @name = args[:name] if args.key?(:name)
3059
3112
  @self_link = args[:self_link] if args.key?(:self_link)
3113
+ @used_by = args[:used_by] if args.key?(:used_by)
3060
3114
  end
3061
3115
  end
3062
3116
 
@@ -3088,7 +3142,8 @@ module Google
3088
3142
  # CACHE_ALL_STATIC Automatically cache static content, including common image
3089
3143
  # formats, media (video and audio), and web assets (JavaScript and CSS).
3090
3144
  # Requests and responses that are marked as uncacheable, as well as dynamic
3091
- # content (including HTML), will not be cached.
3145
+ # content (including HTML), will not be cached. If no value is provided for
3146
+ # cdnPolicy.cacheMode, it defaults to CACHE_ALL_STATIC.
3092
3147
  # Corresponds to the JSON property `cacheMode`
3093
3148
  # @return [String]
3094
3149
  attr_accessor :cache_mode
@@ -3411,6 +3466,66 @@ module Google
3411
3466
  end
3412
3467
  end
3413
3468
 
3469
+ #
3470
+ class BackendBucketUsedBy
3471
+ include Google::Apis::Core::Hashable
3472
+
3473
+ # [Output Only] Server-defined URL for UrlMaps referencing that BackendBucket.
3474
+ # Corresponds to the JSON property `reference`
3475
+ # @return [String]
3476
+ attr_accessor :reference
3477
+
3478
+ def initialize(**args)
3479
+ update!(**args)
3480
+ end
3481
+
3482
+ # Update properties of this object
3483
+ def update!(**args)
3484
+ @reference = args[:reference] if args.key?(:reference)
3485
+ end
3486
+ end
3487
+
3488
+ # Custom Metrics are used for CUSTOM_METRICS balancing_mode.
3489
+ class BackendCustomMetric
3490
+ include Google::Apis::Core::Hashable
3491
+
3492
+ # If true, the metric data is collected and reported to Cloud Monitoring, but is
3493
+ # not used for load balancing.
3494
+ # Corresponds to the JSON property `dryRun`
3495
+ # @return [Boolean]
3496
+ attr_accessor :dry_run
3497
+ alias_method :dry_run?, :dry_run
3498
+
3499
+ # Optional parameter to define a target utilization for the Custom Metrics
3500
+ # balancing mode. The valid range is [0.0, 1.0].
3501
+ # Corresponds to the JSON property `maxUtilization`
3502
+ # @return [Float]
3503
+ attr_accessor :max_utilization
3504
+
3505
+ # Name of a custom utilization signal. The name must be 1-24 characters long and
3506
+ # match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means the
3507
+ # first character must be a lowercase letter, and all following characters must
3508
+ # be a dash, period, underscore, lowercase letter, or digit, except the last
3509
+ # character, which cannot be a dash, period, or underscore. For usage guidelines,
3510
+ # see Custom Metrics balancing mode. This field can only be used for a global
3511
+ # or regional backend service with the loadBalancingScheme set to
3512
+ # EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED.
3513
+ # Corresponds to the JSON property `name`
3514
+ # @return [String]
3515
+ attr_accessor :name
3516
+
3517
+ def initialize(**args)
3518
+ update!(**args)
3519
+ end
3520
+
3521
+ # Update properties of this object
3522
+ def update!(**args)
3523
+ @dry_run = args[:dry_run] if args.key?(:dry_run)
3524
+ @max_utilization = args[:max_utilization] if args.key?(:max_utilization)
3525
+ @name = args[:name] if args.key?(:name)
3526
+ end
3527
+ end
3528
+
3414
3529
  # Represents a Backend Service resource. A backend service defines how Google
3415
3530
  # Cloud load balancers distribute traffic. The backend service configuration
3416
3531
  # contains a set of values, such as the protocol used to connect to backends,
@@ -3478,6 +3593,12 @@ module Google
3478
3593
  # @return [String]
3479
3594
  attr_accessor :creation_timestamp
3480
3595
 
3596
+ # List of custom metrics that are used for the WEIGHTED_ROUND_ROBIN
3597
+ # locality_lb_policy.
3598
+ # Corresponds to the JSON property `customMetrics`
3599
+ # @return [Array<Google::Apis::ComputeBeta::BackendServiceCustomMetric>]
3600
+ attr_accessor :custom_metrics
3601
+
3481
3602
  # Headers that the load balancer adds to proxied requests. See [Creating custom
3482
3603
  # headers](https://cloud.google.com/load-balancing/docs/custom-headers).
3483
3604
  # Corresponds to the JSON property `customRequestHeaders`
@@ -3509,6 +3630,32 @@ module Google
3509
3630
  attr_accessor :enable_cdn
3510
3631
  alias_method :enable_cdn?, :enable_cdn
3511
3632
 
3633
+ # Specifies the canary migration state. Possible values are PREPARE,
3634
+ # TEST_BY_PERCENTAGE, and TEST_ALL_TRAFFIC. To begin the migration from EXTERNAL
3635
+ # to EXTERNAL_MANAGED, the state must be changed to PREPARE. The state must be
3636
+ # changed to TEST_ALL_TRAFFIC before the loadBalancingScheme can be changed to
3637
+ # EXTERNAL_MANAGED. Optionally, the TEST_BY_PERCENTAGE state can be used to
3638
+ # migrate traffic by percentage using externalManagedMigrationTestingPercentage.
3639
+ # Rolling back a migration requires the states to be set in reverse order. So
3640
+ # changing the scheme from EXTERNAL_MANAGED to EXTERNAL requires the state to be
3641
+ # set to TEST_ALL_TRAFFIC at the same time. Optionally, the TEST_BY_PERCENTAGE
3642
+ # state can be used to migrate some traffic back to EXTERNAL or PREPARE can be
3643
+ # used to migrate all traffic back to EXTERNAL.
3644
+ # Corresponds to the JSON property `externalManagedMigrationState`
3645
+ # @return [String]
3646
+ attr_accessor :external_managed_migration_state
3647
+
3648
+ # Determines the fraction of requests that should be processed by the Global
3649
+ # external Application Load Balancer. The value of this field must be in the
3650
+ # range [0, 100]. Session affinity options will slightly affect this routing
3651
+ # behavior, for more details, see: Session Affinity. This value can only be set
3652
+ # if the loadBalancingScheme in the BackendService is set to EXTERNAL (when
3653
+ # using the classic Application Load Balancer) and the migration state is
3654
+ # TEST_BY_PERCENTAGE.
3655
+ # Corresponds to the JSON property `externalManagedMigrationTestingPercentage`
3656
+ # @return [Float]
3657
+ attr_accessor :external_managed_migration_testing_percentage
3658
+
3512
3659
  # For load balancers that have configurable failover: [Internal passthrough
3513
3660
  # Network Load Balancers](https://cloud.google.com/load-balancing/docs/internal/
3514
3661
  # failover-overview) and [external passthrough Network Load Balancers](https://
@@ -3622,8 +3769,10 @@ module Google
3622
3769
  # set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to
3623
3770
  # INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme
3624
3771
  # 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
3772
+ # sessionAffinity is not configured—that is, if session affinity remains at the
3773
+ # default value of NONE—then the default value for localityLbPolicy is
3774
+ # ROUND_ROBIN. If session affinity is set to a value other than NONE, then the
3775
+ # default value for localityLbPolicy is MAGLEV. Only ROUND_ROBIN and RING_HASH
3627
3776
  # are supported when the backend service is referenced by a URL map that is
3628
3777
  # bound to target gRPC proxy that has validateForProxyless field set to true.
3629
3778
  # Corresponds to the JSON property `localityLbPolicy`
@@ -3790,11 +3939,14 @@ module Google
3790
3939
  @connection_tracking_policy = args[:connection_tracking_policy] if args.key?(:connection_tracking_policy)
3791
3940
  @consistent_hash = args[:consistent_hash] if args.key?(:consistent_hash)
3792
3941
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
3942
+ @custom_metrics = args[:custom_metrics] if args.key?(:custom_metrics)
3793
3943
  @custom_request_headers = args[:custom_request_headers] if args.key?(:custom_request_headers)
3794
3944
  @custom_response_headers = args[:custom_response_headers] if args.key?(:custom_response_headers)
3795
3945
  @description = args[:description] if args.key?(:description)
3796
3946
  @edge_security_policy = args[:edge_security_policy] if args.key?(:edge_security_policy)
3797
3947
  @enable_cdn = args[:enable_cdn] if args.key?(:enable_cdn)
3948
+ @external_managed_migration_state = args[:external_managed_migration_state] if args.key?(:external_managed_migration_state)
3949
+ @external_managed_migration_testing_percentage = args[:external_managed_migration_testing_percentage] if args.key?(:external_managed_migration_testing_percentage)
3798
3950
  @failover_policy = args[:failover_policy] if args.key?(:failover_policy)
3799
3951
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
3800
3952
  @health_checks = args[:health_checks] if args.key?(:health_checks)
@@ -3979,7 +4131,8 @@ module Google
3979
4131
  # CACHE_ALL_STATIC Automatically cache static content, including common image
3980
4132
  # formats, media (video and audio), and web assets (JavaScript and CSS).
3981
4133
  # Requests and responses that are marked as uncacheable, as well as dynamic
3982
- # content (including HTML), will not be cached.
4134
+ # content (including HTML), will not be cached. If no value is provided for
4135
+ # cdnPolicy.cacheMode, it defaults to CACHE_ALL_STATIC.
3983
4136
  # Corresponds to the JSON property `cacheMode`
3984
4137
  # @return [String]
3985
4138
  attr_accessor :cache_mode
@@ -4225,6 +4378,39 @@ module Google
4225
4378
  end
4226
4379
  end
4227
4380
 
4381
+ # Custom Metrics are used for WEIGHTED_ROUND_ROBIN locality_lb_policy.
4382
+ class BackendServiceCustomMetric
4383
+ include Google::Apis::Core::Hashable
4384
+
4385
+ # If true, the metric data is not used for load balancing.
4386
+ # Corresponds to the JSON property `dryRun`
4387
+ # @return [Boolean]
4388
+ attr_accessor :dry_run
4389
+ alias_method :dry_run?, :dry_run
4390
+
4391
+ # Name of a custom utilization signal. The name must be 1-24 characters long and
4392
+ # match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means the
4393
+ # first character must be a lowercase letter, and all following characters must
4394
+ # be a dash, period, underscore, lowercase letter, or digit, except the last
4395
+ # character, which cannot be a dash, period, or underscore. For usage guidelines,
4396
+ # see Custom Metrics balancing mode. This field can only be used for a global
4397
+ # or regional backend service with the loadBalancingScheme set to
4398
+ # EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED.
4399
+ # Corresponds to the JSON property `name`
4400
+ # @return [String]
4401
+ attr_accessor :name
4402
+
4403
+ def initialize(**args)
4404
+ update!(**args)
4405
+ end
4406
+
4407
+ # Update properties of this object
4408
+ def update!(**args)
4409
+ @dry_run = args[:dry_run] if args.key?(:dry_run)
4410
+ @name = args[:name] if args.key?(:name)
4411
+ end
4412
+ end
4413
+
4228
4414
  # For load balancers that have configurable failover: [Internal passthrough
4229
4415
  # Network Load Balancers](https://cloud.google.com/load-balancing/docs/internal/
4230
4416
  # failover-overview) and [external passthrough Network Load Balancers](https://
@@ -4797,6 +4983,25 @@ module Google
4797
4983
  end
4798
4984
  end
4799
4985
 
4986
+ #
4987
+ class BackendServicesGetEffectiveSecurityPoliciesResponse
4988
+ include Google::Apis::Core::Hashable
4989
+
4990
+ # Effective security policies for the backend service.
4991
+ # Corresponds to the JSON property `securityPolicies`
4992
+ # @return [Array<Google::Apis::ComputeBeta::SecurityPolicy>]
4993
+ attr_accessor :security_policies
4994
+
4995
+ def initialize(**args)
4996
+ update!(**args)
4997
+ end
4998
+
4999
+ # Update properties of this object
5000
+ def update!(**args)
5001
+ @security_policies = args[:security_policies] if args.key?(:security_policies)
5002
+ end
5003
+ end
5004
+
4800
5005
  #
4801
5006
  class BackendServicesScopedList
4802
5007
  include Google::Apis::Core::Hashable
@@ -5236,11 +5441,6 @@ module Google
5236
5441
  class Binding
5237
5442
  include Google::Apis::Core::Hashable
5238
5443
 
5239
- # This is deprecated and has no effect. Do not use.
5240
- # Corresponds to the JSON property `bindingId`
5241
- # @return [String]
5242
- attr_accessor :binding_id
5243
-
5244
5444
  # Represents a textual expression in the Common Expression Language (CEL) syntax.
5245
5445
  # CEL is a C-like expression language. The syntax and semantics of CEL are
5246
5446
  # documented at https://github.com/google/cel-spec. Example (Comparison): title:
@@ -5332,7 +5532,6 @@ module Google
5332
5532
 
5333
5533
  # Update properties of this object
5334
5534
  def update!(**args)
5335
- @binding_id = args[:binding_id] if args.key?(:binding_id)
5336
5535
  @condition = args[:condition] if args.key?(:condition)
5337
5536
  @members = args[:members] if args.key?(:members)
5338
5537
  @role = args[:role] if args.key?(:role)
@@ -5733,6 +5932,13 @@ module Google
5733
5932
  # @return [String]
5734
5933
  attr_accessor :creation_timestamp
5735
5934
 
5935
+ # [Input Only] Optional, specifies the CUD end time requested by the customer in
5936
+ # RFC3339 text format. Needed when the customer wants CUD's end date is later
5937
+ # than the start date + term duration.
5938
+ # Corresponds to the JSON property `customEndTimestamp`
5939
+ # @return [String]
5940
+ attr_accessor :custom_end_timestamp
5941
+
5736
5942
  # An optional description of this resource. Provide this property when you
5737
5943
  # create the resource.
5738
5944
  # Corresponds to the JSON property `description`
@@ -5801,6 +6007,11 @@ module Google
5801
6007
  # @return [Array<Google::Apis::ComputeBeta::Reservation>]
5802
6008
  attr_accessor :reservations
5803
6009
 
6010
+ # [Output Only] Contains output only fields.
6011
+ # Corresponds to the JSON property `resourceStatus`
6012
+ # @return [Google::Apis::ComputeBeta::CommitmentResourceStatus]
6013
+ attr_accessor :resource_status
6014
+
5804
6015
  # A list of commitment amounts for particular resources. Note that VCPU and
5805
6016
  # MEMORY resource commitments must occur together.
5806
6017
  # Corresponds to the JSON property `resources`
@@ -5851,6 +6062,7 @@ module Google
5851
6062
  @auto_renew = args[:auto_renew] if args.key?(:auto_renew)
5852
6063
  @category = args[:category] if args.key?(:category)
5853
6064
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
6065
+ @custom_end_timestamp = args[:custom_end_timestamp] if args.key?(:custom_end_timestamp)
5854
6066
  @description = args[:description] if args.key?(:description)
5855
6067
  @end_timestamp = args[:end_timestamp] if args.key?(:end_timestamp)
5856
6068
  @existing_reservations = args[:existing_reservations] if args.key?(:existing_reservations)
@@ -5862,6 +6074,7 @@ module Google
5862
6074
  @plan = args[:plan] if args.key?(:plan)
5863
6075
  @region = args[:region] if args.key?(:region)
5864
6076
  @reservations = args[:reservations] if args.key?(:reservations)
6077
+ @resource_status = args[:resource_status] if args.key?(:resource_status)
5865
6078
  @resources = args[:resources] if args.key?(:resources)
5866
6079
  @self_link = args[:self_link] if args.key?(:self_link)
5867
6080
  @split_source_commitment = args[:split_source_commitment] if args.key?(:split_source_commitment)
@@ -6114,6 +6327,27 @@ module Google
6114
6327
  end
6115
6328
  end
6116
6329
 
6330
+ # [Output Only] Contains output only fields.
6331
+ class CommitmentResourceStatus
6332
+ include Google::Apis::Core::Hashable
6333
+
6334
+ # [Output Only] Indicates the end time of customer's eligibility to send custom
6335
+ # term requests in RFC3339 text format. Term extension requests that (not the
6336
+ # end time in the request) after this time will be rejected.
6337
+ # Corresponds to the JSON property `customTermEligibilityEndTimestamp`
6338
+ # @return [String]
6339
+ attr_accessor :custom_term_eligibility_end_timestamp
6340
+
6341
+ def initialize(**args)
6342
+ update!(**args)
6343
+ end
6344
+
6345
+ # Update properties of this object
6346
+ def update!(**args)
6347
+ @custom_term_eligibility_end_timestamp = args[:custom_term_eligibility_end_timestamp] if args.key?(:custom_term_eligibility_end_timestamp)
6348
+ end
6349
+ end
6350
+
6117
6351
  #
6118
6352
  class CommitmentsScopedList
6119
6353
  include Google::Apis::Core::Hashable
@@ -6205,49 +6439,6 @@ module Google
6205
6439
  end
6206
6440
  end
6207
6441
 
6208
- # This is deprecated and has no effect. Do not use.
6209
- class Condition
6210
- include Google::Apis::Core::Hashable
6211
-
6212
- # This is deprecated and has no effect. Do not use.
6213
- # Corresponds to the JSON property `iam`
6214
- # @return [String]
6215
- attr_accessor :iam
6216
-
6217
- # This is deprecated and has no effect. Do not use.
6218
- # Corresponds to the JSON property `op`
6219
- # @return [String]
6220
- attr_accessor :op
6221
-
6222
- # This is deprecated and has no effect. Do not use.
6223
- # Corresponds to the JSON property `svc`
6224
- # @return [String]
6225
- attr_accessor :svc
6226
-
6227
- # This is deprecated and has no effect. Do not use.
6228
- # Corresponds to the JSON property `sys`
6229
- # @return [String]
6230
- attr_accessor :sys
6231
-
6232
- # This is deprecated and has no effect. Do not use.
6233
- # Corresponds to the JSON property `values`
6234
- # @return [Array<String>]
6235
- attr_accessor :values
6236
-
6237
- def initialize(**args)
6238
- update!(**args)
6239
- end
6240
-
6241
- # Update properties of this object
6242
- def update!(**args)
6243
- @iam = args[:iam] if args.key?(:iam)
6244
- @op = args[:op] if args.key?(:op)
6245
- @svc = args[:svc] if args.key?(:svc)
6246
- @sys = args[:sys] if args.key?(:sys)
6247
- @values = args[:values] if args.key?(:values)
6248
- end
6249
- end
6250
-
6251
6442
  # A set of Confidential Instance options.
6252
6443
  class ConfidentialInstanceConfig
6253
6444
  include Google::Apis::Core::Hashable
@@ -9650,7 +9841,9 @@ module Google
9650
9841
  include Google::Apis::Core::Hashable
9651
9842
 
9652
9843
  # The Action to perform when the client connection triggers the rule. Valid
9653
- # actions are "allow", "deny" and "goto_next".
9844
+ # actions for firewall rules are: "allow", "deny", "apply_security_profile_group"
9845
+ # and "goto_next". Valid actions for packet mirroring rules are: "mirror", "
9846
+ # do_not_mirror" and "goto_next".
9654
9847
  # Corresponds to the JSON property `action`
9655
9848
  # @return [String]
9656
9849
  attr_accessor :action
@@ -9682,8 +9875,8 @@ module Google
9682
9875
  attr_accessor :enable_logging
9683
9876
  alias_method :enable_logging?, :enable_logging
9684
9877
 
9685
- # [Output only] Type of the resource. Always compute#firewallPolicyRule for
9686
- # firewall policy rules
9878
+ # [Output only] Type of the resource. Returns compute#firewallPolicyRule for
9879
+ # firewall rules and compute#packetMirroringRule for packet mirroring rules.
9687
9880
  # Corresponds to the JSON property `kind`
9688
9881
  # @return [String]
9689
9882
  attr_accessor :kind
@@ -9697,7 +9890,7 @@ module Google
9697
9890
  # An integer indicating the priority of a rule in the list. The priority must be
9698
9891
  # a positive value between 0 and 2147483647. Rules are evaluated from highest to
9699
9892
  # lowest priority where 0 is the highest priority and 2147483647 is the lowest
9700
- # prority.
9893
+ # priority.
9701
9894
  # Corresponds to the JSON property `priority`
9702
9895
  # @return [Fixnum]
9703
9896
  attr_accessor :priority
@@ -9715,8 +9908,9 @@ module Google
9715
9908
 
9716
9909
  # A fully-qualified URL of a SecurityProfile resource instance. Example: https://
9717
9910
  # networksecurity.googleapis.com/v1/projects/`project`/locations/`location`/
9718
- # securityProfileGroups/my-security-profile-group Must be specified if action = '
9719
- # apply_security_profile_group' and cannot be specified for other actions.
9911
+ # securityProfileGroups/my-security-profile-group Must be specified if action is
9912
+ # one of 'apply_security_profile_group' or 'mirror'. Cannot be specified for
9913
+ # other actions.
9720
9914
  # Corresponds to the JSON property `securityProfileGroup`
9721
9915
  # @return [String]
9722
9916
  attr_accessor :security_profile_group
@@ -9801,6 +9995,11 @@ module Google
9801
9995
  # @return [Array<String>]
9802
9996
  attr_accessor :dest_ip_ranges
9803
9997
 
9998
+ # Network scope of the traffic destination.
9999
+ # Corresponds to the JSON property `destNetworkScope`
10000
+ # @return [String]
10001
+ attr_accessor :dest_network_scope
10002
+
9804
10003
  # Region codes whose IP addresses will be used to match for destination of
9805
10004
  # traffic. Should be specified as 2 letter country code defined as per ISO 3166
9806
10005
  # alpha-2 country codes. ex."US" Maximum number of dest region codes allowed is
@@ -9837,6 +10036,16 @@ module Google
9837
10036
  # @return [Array<String>]
9838
10037
  attr_accessor :src_ip_ranges
9839
10038
 
10039
+ # Network scope of the traffic source.
10040
+ # Corresponds to the JSON property `srcNetworkScope`
10041
+ # @return [String]
10042
+ attr_accessor :src_network_scope
10043
+
10044
+ # Networks of the traffic source. It can be either a full or partial url.
10045
+ # Corresponds to the JSON property `srcNetworks`
10046
+ # @return [Array<String>]
10047
+ attr_accessor :src_networks
10048
+
9840
10049
  # Region codes whose IP addresses will be used to match for source of traffic.
9841
10050
  # Should be specified as 2 letter country code defined as per ISO 3166 alpha-2
9842
10051
  # country codes. ex."US" Maximum number of source region codes allowed is 5000.
@@ -9867,12 +10076,15 @@ module Google
9867
10076
  @dest_address_groups = args[:dest_address_groups] if args.key?(:dest_address_groups)
9868
10077
  @dest_fqdns = args[:dest_fqdns] if args.key?(:dest_fqdns)
9869
10078
  @dest_ip_ranges = args[:dest_ip_ranges] if args.key?(:dest_ip_ranges)
10079
+ @dest_network_scope = args[:dest_network_scope] if args.key?(:dest_network_scope)
9870
10080
  @dest_region_codes = args[:dest_region_codes] if args.key?(:dest_region_codes)
9871
10081
  @dest_threat_intelligences = args[:dest_threat_intelligences] if args.key?(:dest_threat_intelligences)
9872
10082
  @layer4_configs = args[:layer4_configs] if args.key?(:layer4_configs)
9873
10083
  @src_address_groups = args[:src_address_groups] if args.key?(:src_address_groups)
9874
10084
  @src_fqdns = args[:src_fqdns] if args.key?(:src_fqdns)
9875
10085
  @src_ip_ranges = args[:src_ip_ranges] if args.key?(:src_ip_ranges)
10086
+ @src_network_scope = args[:src_network_scope] if args.key?(:src_network_scope)
10087
+ @src_networks = args[:src_networks] if args.key?(:src_networks)
9876
10088
  @src_region_codes = args[:src_region_codes] if args.key?(:src_region_codes)
9877
10089
  @src_secure_tags = args[:src_secure_tags] if args.key?(:src_secure_tags)
9878
10090
  @src_threat_intelligences = args[:src_threat_intelligences] if args.key?(:src_threat_intelligences)
@@ -10090,6 +10302,33 @@ module Google
10090
10302
  # @return [String]
10091
10303
  attr_accessor :description
10092
10304
 
10305
+ # Specifies the canary migration state for the backend buckets attached to this
10306
+ # forwarding rule. Possible values are PREPARE, TEST_BY_PERCENTAGE, and
10307
+ # TEST_ALL_TRAFFIC. To begin the migration from EXTERNAL to EXTERNAL_MANAGED,
10308
+ # the state must be changed to PREPARE. The state must be changed to
10309
+ # TEST_ALL_TRAFFIC before the loadBalancingScheme can be changed to
10310
+ # EXTERNAL_MANAGED. Optionally, the TEST_BY_PERCENTAGE state can be used to
10311
+ # migrate traffic to backend buckets attached to this forwarding rule by
10312
+ # percentage using externalManagedBackendBucketMigrationTestingPercentage.
10313
+ # Rolling back a migration requires the states to be set in reverse order. So
10314
+ # changing the scheme from EXTERNAL_MANAGED to EXTERNAL requires the state to be
10315
+ # set to TEST_ALL_TRAFFIC at the same time. Optionally, the TEST_BY_PERCENTAGE
10316
+ # state can be used to migrate some traffic back to EXTERNAL or PREPARE can be
10317
+ # used to migrate all traffic back to EXTERNAL.
10318
+ # Corresponds to the JSON property `externalManagedBackendBucketMigrationState`
10319
+ # @return [String]
10320
+ attr_accessor :external_managed_backend_bucket_migration_state
10321
+
10322
+ # Determines the fraction of requests to backend buckets that should be
10323
+ # processed by the global external Application Load Balancer. The value of this
10324
+ # field must be in the range [0, 100]. This value can only be set if the
10325
+ # loadBalancingScheme in the BackendService is set to EXTERNAL (when using the
10326
+ # classic Application Load Balancer) and the migration state is
10327
+ # TEST_BY_PERCENTAGE.
10328
+ # Corresponds to the JSON property `externalManagedBackendBucketMigrationTestingPercentage`
10329
+ # @return [Float]
10330
+ attr_accessor :external_managed_backend_bucket_migration_testing_percentage
10331
+
10093
10332
  # Fingerprint of this resource. A hash of the contents stored in this object.
10094
10333
  # This field is used in optimistic locking. This field will be ignored when
10095
10334
  # inserting a ForwardingRule. Include the fingerprint in patch request to ensure
@@ -10361,6 +10600,8 @@ module Google
10361
10600
  @base_forwarding_rule = args[:base_forwarding_rule] if args.key?(:base_forwarding_rule)
10362
10601
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
10363
10602
  @description = args[:description] if args.key?(:description)
10603
+ @external_managed_backend_bucket_migration_state = args[:external_managed_backend_bucket_migration_state] if args.key?(:external_managed_backend_bucket_migration_state)
10604
+ @external_managed_backend_bucket_migration_testing_percentage = args[:external_managed_backend_bucket_migration_testing_percentage] if args.key?(:external_managed_backend_bucket_migration_testing_percentage)
10364
10605
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
10365
10606
  @id = args[:id] if args.key?(:id)
10366
10607
  @ip_collection = args[:ip_collection] if args.key?(:ip_collection)
@@ -10813,6 +11054,11 @@ module Google
10813
11054
  # @return [String]
10814
11055
  attr_accessor :creation_timestamp
10815
11056
 
11057
+ # Type of the deployment requested as part of future reservation.
11058
+ # Corresponds to the JSON property `deploymentType`
11059
+ # @return [String]
11060
+ attr_accessor :deployment_type
11061
+
10816
11062
  # An optional description of this resource. Provide this property when you
10817
11063
  # create the future reservation.
10818
11064
  # Corresponds to the JSON property `description`
@@ -10854,6 +11100,20 @@ module Google
10854
11100
  # @return [String]
10855
11101
  attr_accessor :planning_status
10856
11102
 
11103
+ # Name of reservations where the capacity is provisioned at the time of delivery
11104
+ # of future reservations. If the reservation with the given name does not exist
11105
+ # already, it is created automatically at the time of Approval with INACTIVE
11106
+ # state till specified start-time. Either provide the reservation_name or a
11107
+ # name_prefix.
11108
+ # Corresponds to the JSON property `reservationName`
11109
+ # @return [String]
11110
+ attr_accessor :reservation_name
11111
+
11112
+ # Maintenance information for this reservation
11113
+ # Corresponds to the JSON property `schedulingType`
11114
+ # @return [String]
11115
+ attr_accessor :scheduling_type
11116
+
10857
11117
  # [Output Only] Server-defined fully-qualified URL for this resource.
10858
11118
  # Corresponds to the JSON property `selfLink`
10859
11119
  # @return [String]
@@ -10869,6 +11129,14 @@ module Google
10869
11129
  # @return [Google::Apis::ComputeBeta::ShareSettings]
10870
11130
  attr_accessor :share_settings
10871
11131
 
11132
+ # Indicates whether the auto-created reservation can be consumed by VMs with
11133
+ # affinity for "any" reservation. If the field is set, then only VMs that target
11134
+ # the reservation by name can consume from the delivered reservation.
11135
+ # Corresponds to the JSON property `specificReservationRequired`
11136
+ # @return [Boolean]
11137
+ attr_accessor :specific_reservation_required
11138
+ alias_method :specific_reservation_required?, :specific_reservation_required
11139
+
10872
11140
  # Future Reservation configuration to indicate instance properties and total
10873
11141
  # count.
10874
11142
  # Corresponds to the JSON property `specificSkuProperties`
@@ -10900,15 +11168,19 @@ module Google
10900
11168
  @auto_created_reservations_duration = args[:auto_created_reservations_duration] if args.key?(:auto_created_reservations_duration)
10901
11169
  @auto_delete_auto_created_reservations = args[:auto_delete_auto_created_reservations] if args.key?(:auto_delete_auto_created_reservations)
10902
11170
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
11171
+ @deployment_type = args[:deployment_type] if args.key?(:deployment_type)
10903
11172
  @description = args[:description] if args.key?(:description)
10904
11173
  @id = args[:id] if args.key?(:id)
10905
11174
  @kind = args[:kind] if args.key?(:kind)
10906
11175
  @name = args[:name] if args.key?(:name)
10907
11176
  @name_prefix = args[:name_prefix] if args.key?(:name_prefix)
10908
11177
  @planning_status = args[:planning_status] if args.key?(:planning_status)
11178
+ @reservation_name = args[:reservation_name] if args.key?(:reservation_name)
11179
+ @scheduling_type = args[:scheduling_type] if args.key?(:scheduling_type)
10909
11180
  @self_link = args[:self_link] if args.key?(:self_link)
10910
11181
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
10911
11182
  @share_settings = args[:share_settings] if args.key?(:share_settings)
11183
+ @specific_reservation_required = args[:specific_reservation_required] if args.key?(:specific_reservation_required)
10912
11184
  @specific_sku_properties = args[:specific_sku_properties] if args.key?(:specific_sku_properties)
10913
11185
  @status = args[:status] if args.key?(:status)
10914
11186
  @time_window = args[:time_window] if args.key?(:time_window)
@@ -10963,6 +11235,12 @@ module Google
10963
11235
  # @return [Array<String>]
10964
11236
  attr_accessor :auto_created_reservations
10965
11237
 
11238
+ # [Output Only] Represents the existing matching usage for the future
11239
+ # reservation.
11240
+ # Corresponds to the JSON property `existingMatchingUsageInfo`
11241
+ # @return [Google::Apis::ComputeBeta::FutureReservationStatusExistingMatchingUsageInfo]
11242
+ attr_accessor :existing_matching_usage_info
11243
+
10966
11244
  # This count indicates the fulfilled capacity so far. This is set during "
10967
11245
  # PROVISIONING" state. This count also includes capacity delivered as part of
10968
11246
  # existing matching reservations.
@@ -11002,6 +11280,7 @@ module Google
11002
11280
  def update!(**args)
11003
11281
  @amendment_status = args[:amendment_status] if args.key?(:amendment_status)
11004
11282
  @auto_created_reservations = args[:auto_created_reservations] if args.key?(:auto_created_reservations)
11283
+ @existing_matching_usage_info = args[:existing_matching_usage_info] if args.key?(:existing_matching_usage_info)
11005
11284
  @fulfilled_count = args[:fulfilled_count] if args.key?(:fulfilled_count)
11006
11285
  @last_known_good_state = args[:last_known_good_state] if args.key?(:last_known_good_state)
11007
11286
  @lock_time = args[:lock_time] if args.key?(:lock_time)
@@ -11010,6 +11289,33 @@ module Google
11010
11289
  end
11011
11290
  end
11012
11291
 
11292
+ # [Output Only] Represents the existing matching usage for the future
11293
+ # reservation.
11294
+ class FutureReservationStatusExistingMatchingUsageInfo
11295
+ include Google::Apis::Core::Hashable
11296
+
11297
+ # Count to represent min(FR total_count, matching_reserved_capacity+
11298
+ # matching_unreserved_instances)
11299
+ # Corresponds to the JSON property `count`
11300
+ # @return [Fixnum]
11301
+ attr_accessor :count
11302
+
11303
+ # Timestamp when the matching usage was calculated
11304
+ # Corresponds to the JSON property `timestamp`
11305
+ # @return [String]
11306
+ attr_accessor :timestamp
11307
+
11308
+ def initialize(**args)
11309
+ update!(**args)
11310
+ end
11311
+
11312
+ # Update properties of this object
11313
+ def update!(**args)
11314
+ @count = args[:count] if args.key?(:count)
11315
+ @timestamp = args[:timestamp] if args.key?(:timestamp)
11316
+ end
11317
+ end
11318
+
11013
11319
  # The state that the future reservation will be reverted to should the amendment
11014
11320
  # be declined.
11015
11321
  class FutureReservationStatusLastKnownGoodState
@@ -11021,6 +11327,12 @@ module Google
11021
11327
  # @return [String]
11022
11328
  attr_accessor :description
11023
11329
 
11330
+ # [Output Only] Represents the existing matching usage for the future
11331
+ # reservation.
11332
+ # Corresponds to the JSON property `existingMatchingUsageInfo`
11333
+ # @return [Google::Apis::ComputeBeta::FutureReservationStatusExistingMatchingUsageInfo]
11334
+ attr_accessor :existing_matching_usage_info
11335
+
11024
11336
  # The properties of the last known good state for the Future Reservation.
11025
11337
  # Corresponds to the JSON property `futureReservationSpecs`
11026
11338
  # @return [Google::Apis::ComputeBeta::FutureReservationStatusLastKnownGoodStateFutureReservationSpecs]
@@ -11051,6 +11363,7 @@ module Google
11051
11363
  # Update properties of this object
11052
11364
  def update!(**args)
11053
11365
  @description = args[:description] if args.key?(:description)
11366
+ @existing_matching_usage_info = args[:existing_matching_usage_info] if args.key?(:existing_matching_usage_info)
11054
11367
  @future_reservation_specs = args[:future_reservation_specs] if args.key?(:future_reservation_specs)
11055
11368
  @lock_time = args[:lock_time] if args.key?(:lock_time)
11056
11369
  @name_prefix = args[:name_prefix] if args.key?(:name_prefix)
@@ -11777,6 +12090,45 @@ module Google
11777
12090
  end
11778
12091
  end
11779
12092
 
12093
+ # Maintenance Info for ReservationBlocks.
12094
+ class GroupMaintenanceInfo
12095
+ include Google::Apis::Core::Hashable
12096
+
12097
+ # Progress for ongoing maintenance for this group of VMs/hosts. Describes number
12098
+ # of hosts in the block that have ongoing maintenance.
12099
+ # Corresponds to the JSON property `maintenanceOngoingCount`
12100
+ # @return [Fixnum]
12101
+ attr_accessor :maintenance_ongoing_count
12102
+
12103
+ # Progress for ongoing maintenance for this group of VMs/hosts. Describes number
12104
+ # of hosts in the block that have pending maintenance.
12105
+ # Corresponds to the JSON property `maintenancePendingCount`
12106
+ # @return [Fixnum]
12107
+ attr_accessor :maintenance_pending_count
12108
+
12109
+ # The type of maintenance for the reservation.
12110
+ # Corresponds to the JSON property `schedulingType`
12111
+ # @return [String]
12112
+ attr_accessor :scheduling_type
12113
+
12114
+ # Upcoming Maintenance notification information.
12115
+ # Corresponds to the JSON property `upcomingGroupMaintenance`
12116
+ # @return [Google::Apis::ComputeBeta::UpcomingMaintenance]
12117
+ attr_accessor :upcoming_group_maintenance
12118
+
12119
+ def initialize(**args)
12120
+ update!(**args)
12121
+ end
12122
+
12123
+ # Update properties of this object
12124
+ def update!(**args)
12125
+ @maintenance_ongoing_count = args[:maintenance_ongoing_count] if args.key?(:maintenance_ongoing_count)
12126
+ @maintenance_pending_count = args[:maintenance_pending_count] if args.key?(:maintenance_pending_count)
12127
+ @scheduling_type = args[:scheduling_type] if args.key?(:scheduling_type)
12128
+ @upcoming_group_maintenance = args[:upcoming_group_maintenance] if args.key?(:upcoming_group_maintenance)
12129
+ end
12130
+ end
12131
+
11780
12132
  # A guest attributes entry.
11781
12133
  class GuestAttributes
11782
12134
  include Google::Apis::Core::Hashable
@@ -14050,12 +14402,10 @@ module Google
14050
14402
 
14051
14403
  # In response to a matching matchRule, the load balancer performs advanced
14052
14404
  # routing actions, such as URL rewrites and header transformations, before
14053
- # forwarding the request to the selected backend. If routeAction specifies any
14054
- # weightedBackendServices, service must not be set. Conversely if service is set,
14055
- # routeAction cannot contain any weightedBackendServices. Only one of
14056
- # urlRedirect, service or routeAction.weightedBackendService must be set. URL
14057
- # maps for classic Application Load Balancers only support the urlRewrite action
14058
- # within a route rule's routeAction.
14405
+ # forwarding the request to the selected backend. Only one of urlRedirect,
14406
+ # service or routeAction.weightedBackendService can be set. URL maps for classic
14407
+ # Application Load Balancers only support the urlRewrite action within a route
14408
+ # rule's routeAction.
14059
14409
  # Corresponds to the JSON property `routeAction`
14060
14410
  # @return [Google::Apis::ComputeBeta::HttpRouteAction]
14061
14411
  attr_accessor :route_action
@@ -14063,10 +14413,8 @@ module Google
14063
14413
  # The full or partial URL of the backend service resource to which traffic is
14064
14414
  # directed if this rule is matched. If routeAction is also specified, advanced
14065
14415
  # routing actions, such as URL rewrites, take effect before sending the request
14066
- # to the backend. However, if service is specified, routeAction cannot contain
14067
- # any weightedBackendServices. Conversely, if routeAction specifies any
14068
- # weightedBackendServices, service must not be specified. Only one of
14069
- # urlRedirect, service or routeAction.weightedBackendService must be set.
14416
+ # to the backend. Only one of urlRedirect, service or routeAction.
14417
+ # weightedBackendService can be set.
14070
14418
  # Corresponds to the JSON property `service`
14071
14419
  # @return [String]
14072
14420
  attr_accessor :service
@@ -15921,7 +16269,7 @@ module Google
15921
16269
  # instance name with a hyphen followed by one or more hash symbols. The hash
15922
16270
  # symbols indicate the number of digits. For example, a base instance name of "
15923
16271
  # vm-###" results in "vm-001" as a VM name. @pattern [a-z](([-a-z0-9]`0,57`)|([-
15924
- # a-z0-9]`0,52`-#`1,10`(\\[[0-9]`1,10`\\])?))
16272
+ # a-z0-9]`0,51`-#`1,10`(\\[[0-9]`1,10`\\])?))
15925
16273
  # Corresponds to the JSON property `baseInstanceName`
15926
16274
  # @return [String]
15927
16275
  attr_accessor :base_instance_name
@@ -16009,14 +16357,19 @@ module Google
16009
16357
  # @return [String]
16010
16358
  attr_accessor :list_managed_instances_results
16011
16359
 
16360
+ # URL to the multi-MIG that this Managed Instance Group belongs to.
16361
+ # Corresponds to the JSON property `multiMig`
16362
+ # @return [String]
16363
+ attr_accessor :multi_mig
16364
+
16012
16365
  # The name of the managed instance group. The name must be 1-63 characters long,
16013
16366
  # and comply with RFC1035.
16014
16367
  # Corresponds to the JSON property `name`
16015
16368
  # @return [String]
16016
16369
  attr_accessor :name
16017
16370
 
16018
- # Named ports configured for the Instance Groups complementary to this Instance
16019
- # Group Manager.
16371
+ # [Output Only] Named ports configured on the Instance Groups complementary to
16372
+ # this Instance Group Manager.
16020
16373
  # Corresponds to the JSON property `namedPorts`
16021
16374
  # @return [Array<Google::Apis::ComputeBeta::NamedPort>]
16022
16375
  attr_accessor :named_ports
@@ -16032,6 +16385,11 @@ module Google
16032
16385
  # @return [String]
16033
16386
  attr_accessor :region
16034
16387
 
16388
+ # Resource policies for this managed instance group.
16389
+ # Corresponds to the JSON property `resourcePolicies`
16390
+ # @return [Google::Apis::ComputeBeta::InstanceGroupManagerResourcePolicies]
16391
+ attr_accessor :resource_policies
16392
+
16035
16393
  # [Output Only] Reserved for future use.
16036
16394
  # Corresponds to the JSON property `satisfiesPzi`
16037
16395
  # @return [Boolean]
@@ -16147,10 +16505,12 @@ module Google
16147
16505
  @instance_template = args[:instance_template] if args.key?(:instance_template)
16148
16506
  @kind = args[:kind] if args.key?(:kind)
16149
16507
  @list_managed_instances_results = args[:list_managed_instances_results] if args.key?(:list_managed_instances_results)
16508
+ @multi_mig = args[:multi_mig] if args.key?(:multi_mig)
16150
16509
  @name = args[:name] if args.key?(:name)
16151
16510
  @named_ports = args[:named_ports] if args.key?(:named_ports)
16152
16511
  @params = args[:params] if args.key?(:params)
16153
16512
  @region = args[:region] if args.key?(:region)
16513
+ @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
16154
16514
  @satisfies_pzi = args[:satisfies_pzi] if args.key?(:satisfies_pzi)
16155
16515
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
16156
16516
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -16461,12 +16821,6 @@ module Google
16461
16821
  class InstanceGroupManagerInstanceFlexibilityPolicy
16462
16822
  include Google::Apis::Core::Hashable
16463
16823
 
16464
- # Named instance selections configuring properties that the group will use when
16465
- # creating new VMs.
16466
- # Corresponds to the JSON property `instanceSelectionLists`
16467
- # @return [Hash<String,Google::Apis::ComputeBeta::InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection>]
16468
- attr_accessor :instance_selection_lists
16469
-
16470
16824
  # Named instance selections configuring properties that the group will use when
16471
16825
  # creating new VMs.
16472
16826
  # Corresponds to the JSON property `instanceSelections`
@@ -16485,7 +16839,6 @@ module Google
16485
16839
 
16486
16840
  # Update properties of this object
16487
16841
  def update!(**args)
16488
- @instance_selection_lists = args[:instance_selection_lists] if args.key?(:instance_selection_lists)
16489
16842
  @instance_selections = args[:instance_selections] if args.key?(:instance_selections)
16490
16843
  @provisioning_model_mix = args[:provisioning_model_mix] if args.key?(:provisioning_model_mix)
16491
16844
  end
@@ -16763,6 +17116,12 @@ module Google
16763
17116
  # @return [String]
16764
17117
  attr_accessor :name
16765
17118
 
17119
+ # [Output Only] The URL of a region where the resize request is located.
17120
+ # Populated only for regional resize requests.
17121
+ # Corresponds to the JSON property `region`
17122
+ # @return [String]
17123
+ attr_accessor :region
17124
+
16766
17125
  # A Duration represents a fixed-length span of time represented as a count of
16767
17126
  # seconds and fractions of seconds at nanosecond resolution. It is independent
16768
17127
  # of any calendar and concepts like "day" or "month". Range is approximately 10,
@@ -16772,7 +17131,8 @@ module Google
16772
17131
  attr_accessor :requested_run_duration
16773
17132
 
16774
17133
  # The number of instances to be created by this resize request. The group's
16775
- # target size will be increased by this number.
17134
+ # target size will be increased by this number. This field cannot be used
17135
+ # together with 'instances'.
16776
17136
  # Corresponds to the JSON property `resizeBy`
16777
17137
  # @return [Fixnum]
16778
17138
  attr_accessor :resize_by
@@ -16815,6 +17175,7 @@ module Google
16815
17175
  @id = args[:id] if args.key?(:id)
16816
17176
  @kind = args[:kind] if args.key?(:kind)
16817
17177
  @name = args[:name] if args.key?(:name)
17178
+ @region = args[:region] if args.key?(:region)
16818
17179
  @requested_run_duration = args[:requested_run_duration] if args.key?(:requested_run_duration)
16819
17180
  @resize_by = args[:resize_by] if args.key?(:resize_by)
16820
17181
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -17216,6 +17577,30 @@ module Google
17216
17577
  end
17217
17578
  end
17218
17579
 
17580
+ #
17581
+ class InstanceGroupManagerResourcePolicies
17582
+ include Google::Apis::Core::Hashable
17583
+
17584
+ # The URL of the workload policy that is specified for this managed instance
17585
+ # group. It can be a full or partial URL. For example, the following are all
17586
+ # valid URLs to a workload policy: - https://www.googleapis.com/compute/v1/
17587
+ # projects/project/regions/region /resourcePolicies/resourcePolicy - projects/
17588
+ # project/regions/region/resourcePolicies/resourcePolicy - regions/region/
17589
+ # resourcePolicies/resourcePolicy
17590
+ # Corresponds to the JSON property `workloadPolicy`
17591
+ # @return [String]
17592
+ attr_accessor :workload_policy
17593
+
17594
+ def initialize(**args)
17595
+ update!(**args)
17596
+ end
17597
+
17598
+ # Update properties of this object
17599
+ def update!(**args)
17600
+ @workload_policy = args[:workload_policy] if args.key?(:workload_policy)
17601
+ end
17602
+ end
17603
+
17219
17604
  #
17220
17605
  class InstanceGroupManagerStandbyPolicy
17221
17606
  include Google::Apis::Core::Hashable
@@ -19698,7 +20083,7 @@ module Google
19698
20083
  class InstancesGetEffectiveFirewallsResponse
19699
20084
  include Google::Apis::Core::Hashable
19700
20085
 
19701
- # Effective firewalls from firewall policies.
20086
+ # [Output Only] Effective firewalls from firewall policies.
19702
20087
  # Corresponds to the JSON property `firewallPolicys`
19703
20088
  # @return [Array<Google::Apis::ComputeBeta::InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy>]
19704
20089
  attr_accessor :firewall_policys
@@ -19740,13 +20125,20 @@ module Google
19740
20125
  # @return [String]
19741
20126
  attr_accessor :name
19742
20127
 
20128
+ # [Output Only] The packet mirroring rules that apply to the instance.
20129
+ # Corresponds to the JSON property `packetMirroringRules`
20130
+ # @return [Array<Google::Apis::ComputeBeta::FirewallPolicyRule>]
20131
+ attr_accessor :packet_mirroring_rules
20132
+
19743
20133
  # [Output only] Priority of firewall policy association. Not applicable for type=
19744
20134
  # HIERARCHY.
19745
20135
  # Corresponds to the JSON property `priority`
19746
20136
  # @return [Fixnum]
19747
20137
  attr_accessor :priority
19748
20138
 
19749
- # The rules that apply to the network.
20139
+ # [Output Only] The rules that apply to the instance. Only rules that target the
20140
+ # specific VM instance are returned if target service accounts or target secure
20141
+ # tags are specified in the rules.
19750
20142
  # Corresponds to the JSON property `rules`
19751
20143
  # @return [Array<Google::Apis::ComputeBeta::FirewallPolicyRule>]
19752
20144
  attr_accessor :rules
@@ -19770,6 +20162,7 @@ module Google
19770
20162
  def update!(**args)
19771
20163
  @display_name = args[:display_name] if args.key?(:display_name)
19772
20164
  @name = args[:name] if args.key?(:name)
20165
+ @packet_mirroring_rules = args[:packet_mirroring_rules] if args.key?(:packet_mirroring_rules)
19773
20166
  @priority = args[:priority] if args.key?(:priority)
19774
20167
  @rules = args[:rules] if args.key?(:rules)
19775
20168
  @short_name = args[:short_name] if args.key?(:short_name)
@@ -20676,6 +21069,12 @@ module Google
20676
21069
  class Interconnect
20677
21070
  include Google::Apis::Core::Hashable
20678
21071
 
21072
+ # Enable or disable the application awareness feature on this Cloud Interconnect.
21073
+ # Corresponds to the JSON property `aaiEnabled`
21074
+ # @return [Boolean]
21075
+ attr_accessor :aai_enabled
21076
+ alias_method :aai_enabled?, :aai_enabled
21077
+
20679
21078
  # Administrative status of the interconnect. When this is set to true, the
20680
21079
  # Interconnect is functional and can carry traffic. When set to false, no
20681
21080
  # packets can be carried over the interconnect and no BGP routes are exchanged
@@ -20685,8 +21084,13 @@ module Google
20685
21084
  attr_accessor :admin_enabled
20686
21085
  alias_method :admin_enabled?, :admin_enabled
20687
21086
 
21087
+ # Configuration information for application awareness on this Cloud Interconnect.
21088
+ # Corresponds to the JSON property `applicationAwareInterconnect`
21089
+ # @return [Google::Apis::ComputeBeta::InterconnectApplicationAwareInterconnect]
21090
+ attr_accessor :application_aware_interconnect
21091
+
20688
21092
  # [Output only] List of features available for this Interconnect connection,
20689
- # which can take one of the following values: - MACSEC If present then the
21093
+ # which can take one of the following values: - IF_MACSEC If present then the
20690
21094
  # Interconnect connection is provisioned on MACsec capable hardware ports. If
20691
21095
  # not present then the Interconnect connection is provisioned on non-MACsec
20692
21096
  # capable ports and MACsec isn't supported and enabling MACsec fails.
@@ -20857,7 +21261,7 @@ module Google
20857
21261
  attr_accessor :remote_location
20858
21262
 
20859
21263
  # Optional. List of features requested for this Interconnect connection, which
20860
- # can take one of the following values: - MACSEC If specified then the
21264
+ # can take one of the following values: - IF_MACSEC If specified then the
20861
21265
  # connection is created on MACsec capable hardware ports. If not specified, the
20862
21266
  # default value is false, which allocates non-MACsec capable ports first if
20863
21267
  # available. This parameter can be provided only with Interconnect INSERT. It
@@ -20900,7 +21304,9 @@ module Google
20900
21304
 
20901
21305
  # Update properties of this object
20902
21306
  def update!(**args)
21307
+ @aai_enabled = args[:aai_enabled] if args.key?(:aai_enabled)
20903
21308
  @admin_enabled = args[:admin_enabled] if args.key?(:admin_enabled)
21309
+ @application_aware_interconnect = args[:application_aware_interconnect] if args.key?(:application_aware_interconnect)
20904
21310
  @available_features = args[:available_features] if args.key?(:available_features)
20905
21311
  @circuit_infos = args[:circuit_infos] if args.key?(:circuit_infos)
20906
21312
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
@@ -20933,6 +21339,104 @@ module Google
20933
21339
  end
20934
21340
  end
20935
21341
 
21342
+ # Configuration information for application awareness on this Cloud Interconnect.
21343
+ class InterconnectApplicationAwareInterconnect
21344
+ include Google::Apis::Core::Hashable
21345
+
21346
+ #
21347
+ # Corresponds to the JSON property `bandwidthPercentagePolicy`
21348
+ # @return [Google::Apis::ComputeBeta::InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy]
21349
+ attr_accessor :bandwidth_percentage_policy
21350
+
21351
+ # Description for the application awareness profile on this Cloud Interconnect.
21352
+ # Corresponds to the JSON property `profileDescription`
21353
+ # @return [String]
21354
+ attr_accessor :profile_description
21355
+
21356
+ # Optional field to specify a list of shape average percentages to be applied in
21357
+ # conjunction with StrictPriorityPolicy or BandwidthPercentagePolicy.
21358
+ # Corresponds to the JSON property `shapeAveragePercentages`
21359
+ # @return [Array<Google::Apis::ComputeBeta::InterconnectApplicationAwareInterconnectBandwidthPercentage>]
21360
+ attr_accessor :shape_average_percentages
21361
+
21362
+ # Specify configuration for StrictPriorityPolicy.
21363
+ # Corresponds to the JSON property `strictPriorityPolicy`
21364
+ # @return [Google::Apis::ComputeBeta::InterconnectApplicationAwareInterconnectStrictPriorityPolicy]
21365
+ attr_accessor :strict_priority_policy
21366
+
21367
+ def initialize(**args)
21368
+ update!(**args)
21369
+ end
21370
+
21371
+ # Update properties of this object
21372
+ def update!(**args)
21373
+ @bandwidth_percentage_policy = args[:bandwidth_percentage_policy] if args.key?(:bandwidth_percentage_policy)
21374
+ @profile_description = args[:profile_description] if args.key?(:profile_description)
21375
+ @shape_average_percentages = args[:shape_average_percentages] if args.key?(:shape_average_percentages)
21376
+ @strict_priority_policy = args[:strict_priority_policy] if args.key?(:strict_priority_policy)
21377
+ end
21378
+ end
21379
+
21380
+ # Specify bandwidth percentages [1-100] for various traffic classes in
21381
+ # BandwidthPercentagePolicy. The sum of all percentages must equal 100. All
21382
+ # traffic classes must have a percentage value specified.
21383
+ class InterconnectApplicationAwareInterconnectBandwidthPercentage
21384
+ include Google::Apis::Core::Hashable
21385
+
21386
+ # Bandwidth percentage for a specific traffic class.
21387
+ # Corresponds to the JSON property `percentage`
21388
+ # @return [Fixnum]
21389
+ attr_accessor :percentage
21390
+
21391
+ # TrafficClass whose bandwidth percentage is being specified.
21392
+ # Corresponds to the JSON property `trafficClass`
21393
+ # @return [String]
21394
+ attr_accessor :traffic_class
21395
+
21396
+ def initialize(**args)
21397
+ update!(**args)
21398
+ end
21399
+
21400
+ # Update properties of this object
21401
+ def update!(**args)
21402
+ @percentage = args[:percentage] if args.key?(:percentage)
21403
+ @traffic_class = args[:traffic_class] if args.key?(:traffic_class)
21404
+ end
21405
+ end
21406
+
21407
+ #
21408
+ class InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy
21409
+ include Google::Apis::Core::Hashable
21410
+
21411
+ # Specify bandwidth percentages for various traffic classes for queuing type
21412
+ # Bandwidth Percent.
21413
+ # Corresponds to the JSON property `bandwidthPercentages`
21414
+ # @return [Array<Google::Apis::ComputeBeta::InterconnectApplicationAwareInterconnectBandwidthPercentage>]
21415
+ attr_accessor :bandwidth_percentages
21416
+
21417
+ def initialize(**args)
21418
+ update!(**args)
21419
+ end
21420
+
21421
+ # Update properties of this object
21422
+ def update!(**args)
21423
+ @bandwidth_percentages = args[:bandwidth_percentages] if args.key?(:bandwidth_percentages)
21424
+ end
21425
+ end
21426
+
21427
+ # Specify configuration for StrictPriorityPolicy.
21428
+ class InterconnectApplicationAwareInterconnectStrictPriorityPolicy
21429
+ include Google::Apis::Core::Hashable
21430
+
21431
+ def initialize(**args)
21432
+ update!(**args)
21433
+ end
21434
+
21435
+ # Update properties of this object
21436
+ def update!(**args)
21437
+ end
21438
+ end
21439
+
20936
21440
  # Represents an Interconnect Attachment (VLAN) resource. You can use
20937
21441
  # Interconnect attachments (VLANS) to connect your Virtual Private Cloud
20938
21442
  # networks to your on-premises networks through an Interconnect. For more
@@ -22168,7 +22672,7 @@ module Google
22168
22672
  attr_accessor :availability_zone
22169
22673
 
22170
22674
  # [Output only] List of features available at this InterconnectLocation, which
22171
- # can take one of the following values: - MACSEC
22675
+ # can take one of the following values: - IF_MACSEC
22172
22676
  # Corresponds to the JSON property `availableFeatures`
22173
22677
  # @return [Array<String>]
22174
22678
  attr_accessor :available_features
@@ -23108,7 +23612,7 @@ module Google
23108
23612
  # @return [String]
23109
23613
  attr_accessor :name
23110
23614
 
23111
- #
23615
+ # [Input Only] Deprecated.
23112
23616
  # Corresponds to the JSON property `resourceRequirements`
23113
23617
  # @return [Google::Apis::ComputeBeta::LicenseResourceRequirements]
23114
23618
  attr_accessor :resource_requirements
@@ -23278,14 +23782,14 @@ module Google
23278
23782
  class LicenseResourceRequirements
23279
23783
  include Google::Apis::Core::Hashable
23280
23784
 
23281
- # Minimum number of guest cpus required to use the Instance. Enforced at
23282
- # Instance creation and Instance start.
23785
+ # [Input Only] Deprecated. This field no longer reflects the minimum number of
23786
+ # guest cpus required to use the Instance.
23283
23787
  # Corresponds to the JSON property `minGuestCpuCount`
23284
23788
  # @return [Fixnum]
23285
23789
  attr_accessor :min_guest_cpu_count
23286
23790
 
23287
- # Minimum memory required to use the Instance. Enforced at Instance creation and
23288
- # Instance start.
23791
+ # [Input Only] Deprecated. This field no longer reflects the minimum memory
23792
+ # required to use the Instance.
23289
23793
  # Corresponds to the JSON property `minMemoryMb`
23290
23794
  # @return [Fixnum]
23291
23795
  attr_accessor :min_memory_mb
@@ -23545,131 +24049,6 @@ module Google
23545
24049
  end
23546
24050
  end
23547
24051
 
23548
- # This is deprecated and has no effect. Do not use.
23549
- class LogConfig
23550
- include Google::Apis::Core::Hashable
23551
-
23552
- # This is deprecated and has no effect. Do not use.
23553
- # Corresponds to the JSON property `cloudAudit`
23554
- # @return [Google::Apis::ComputeBeta::LogConfigCloudAuditOptions]
23555
- attr_accessor :cloud_audit
23556
-
23557
- # This is deprecated and has no effect. Do not use.
23558
- # Corresponds to the JSON property `counter`
23559
- # @return [Google::Apis::ComputeBeta::LogConfigCounterOptions]
23560
- attr_accessor :counter
23561
-
23562
- # This is deprecated and has no effect. Do not use.
23563
- # Corresponds to the JSON property `dataAccess`
23564
- # @return [Google::Apis::ComputeBeta::LogConfigDataAccessOptions]
23565
- attr_accessor :data_access
23566
-
23567
- def initialize(**args)
23568
- update!(**args)
23569
- end
23570
-
23571
- # Update properties of this object
23572
- def update!(**args)
23573
- @cloud_audit = args[:cloud_audit] if args.key?(:cloud_audit)
23574
- @counter = args[:counter] if args.key?(:counter)
23575
- @data_access = args[:data_access] if args.key?(:data_access)
23576
- end
23577
- end
23578
-
23579
- # This is deprecated and has no effect. Do not use.
23580
- class LogConfigCloudAuditOptions
23581
- include Google::Apis::Core::Hashable
23582
-
23583
- # This is deprecated and has no effect. Do not use.
23584
- # Corresponds to the JSON property `logName`
23585
- # @return [String]
23586
- attr_accessor :log_name
23587
-
23588
- def initialize(**args)
23589
- update!(**args)
23590
- end
23591
-
23592
- # Update properties of this object
23593
- def update!(**args)
23594
- @log_name = args[:log_name] if args.key?(:log_name)
23595
- end
23596
- end
23597
-
23598
- # This is deprecated and has no effect. Do not use.
23599
- class LogConfigCounterOptions
23600
- include Google::Apis::Core::Hashable
23601
-
23602
- # This is deprecated and has no effect. Do not use.
23603
- # Corresponds to the JSON property `customFields`
23604
- # @return [Array<Google::Apis::ComputeBeta::LogConfigCounterOptionsCustomField>]
23605
- attr_accessor :custom_fields
23606
-
23607
- # This is deprecated and has no effect. Do not use.
23608
- # Corresponds to the JSON property `field`
23609
- # @return [String]
23610
- attr_accessor :field
23611
-
23612
- # This is deprecated and has no effect. Do not use.
23613
- # Corresponds to the JSON property `metric`
23614
- # @return [String]
23615
- attr_accessor :metric
23616
-
23617
- def initialize(**args)
23618
- update!(**args)
23619
- end
23620
-
23621
- # Update properties of this object
23622
- def update!(**args)
23623
- @custom_fields = args[:custom_fields] if args.key?(:custom_fields)
23624
- @field = args[:field] if args.key?(:field)
23625
- @metric = args[:metric] if args.key?(:metric)
23626
- end
23627
- end
23628
-
23629
- # This is deprecated and has no effect. Do not use.
23630
- class LogConfigCounterOptionsCustomField
23631
- include Google::Apis::Core::Hashable
23632
-
23633
- # This is deprecated and has no effect. Do not use.
23634
- # Corresponds to the JSON property `name`
23635
- # @return [String]
23636
- attr_accessor :name
23637
-
23638
- # This is deprecated and has no effect. Do not use.
23639
- # Corresponds to the JSON property `value`
23640
- # @return [String]
23641
- attr_accessor :value
23642
-
23643
- def initialize(**args)
23644
- update!(**args)
23645
- end
23646
-
23647
- # Update properties of this object
23648
- def update!(**args)
23649
- @name = args[:name] if args.key?(:name)
23650
- @value = args[:value] if args.key?(:value)
23651
- end
23652
- end
23653
-
23654
- # This is deprecated and has no effect. Do not use.
23655
- class LogConfigDataAccessOptions
23656
- include Google::Apis::Core::Hashable
23657
-
23658
- # This is deprecated and has no effect. Do not use.
23659
- # Corresponds to the JSON property `logMode`
23660
- # @return [String]
23661
- attr_accessor :log_mode
23662
-
23663
- def initialize(**args)
23664
- update!(**args)
23665
- end
23666
-
23667
- # Update properties of this object
23668
- def update!(**args)
23669
- @log_mode = args[:log_mode] if args.key?(:log_mode)
23670
- end
23671
- end
23672
-
23673
24052
  # Represents a machine image resource. A machine image is a Compute Engine
23674
24053
  # resource that stores all the configuration, metadata, permissions, and data
23675
24054
  # from one or more disks required to create a Virtual machine (VM) instance. For
@@ -23954,6 +24333,11 @@ module Google
23954
24333
  # @return [Array<Google::Apis::ComputeBeta::MachineType::Accelerator>]
23955
24334
  attr_accessor :accelerators
23956
24335
 
24336
+ # [Output Only] The architecture of the machine type.
24337
+ # Corresponds to the JSON property `architecture`
24338
+ # @return [String]
24339
+ attr_accessor :architecture
24340
+
23957
24341
  # [Output Only] The configuration of bundled local SSD for the machine type.
23958
24342
  # Corresponds to the JSON property `bundledLocalSsds`
23959
24343
  # @return [Google::Apis::ComputeBeta::BundledLocalSsds]
@@ -24037,6 +24421,7 @@ module Google
24037
24421
  # Update properties of this object
24038
24422
  def update!(**args)
24039
24423
  @accelerators = args[:accelerators] if args.key?(:accelerators)
24424
+ @architecture = args[:architecture] if args.key?(:architecture)
24040
24425
  @bundled_local_ssds = args[:bundled_local_ssds] if args.key?(:bundled_local_ssds)
24041
24426
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
24042
24427
  @deprecated = args[:deprecated] if args.key?(:deprecated)
@@ -24456,12 +24841,6 @@ module Google
24456
24841
  # @return [String]
24457
24842
  attr_accessor :instance
24458
24843
 
24459
- # [Output Only] The overrides to instance properties resulting from
24460
- # InstanceFlexibilityPolicy.
24461
- # Corresponds to the JSON property `instanceFlexibilityOverride`
24462
- # @return [Google::Apis::ComputeBeta::ManagedInstanceInstanceFlexibilityOverride]
24463
- attr_accessor :instance_flexibility_override
24464
-
24465
24844
  # [Output Only] Health state of the instance per health-check.
24466
24845
  # Corresponds to the JSON property `instanceHealth`
24467
24846
  # @return [Array<Google::Apis::ComputeBeta::ManagedInstanceInstanceHealth>]
@@ -24523,7 +24902,6 @@ module Google
24523
24902
  @current_action = args[:current_action] if args.key?(:current_action)
24524
24903
  @id = args[:id] if args.key?(:id)
24525
24904
  @instance = args[:instance] if args.key?(:instance)
24526
- @instance_flexibility_override = args[:instance_flexibility_override] if args.key?(:instance_flexibility_override)
24527
24905
  @instance_health = args[:instance_health] if args.key?(:instance_health)
24528
24906
  @instance_status = args[:instance_status] if args.key?(:instance_status)
24529
24907
  @last_attempt = args[:last_attempt] if args.key?(:last_attempt)
@@ -24556,25 +24934,6 @@ module Google
24556
24934
  end
24557
24935
  end
24558
24936
 
24559
- #
24560
- class ManagedInstanceInstanceFlexibilityOverride
24561
- include Google::Apis::Core::Hashable
24562
-
24563
- # The machine type to be used for this instance.
24564
- # Corresponds to the JSON property `machineType`
24565
- # @return [String]
24566
- attr_accessor :machine_type
24567
-
24568
- def initialize(**args)
24569
- update!(**args)
24570
- end
24571
-
24572
- # Update properties of this object
24573
- def update!(**args)
24574
- @machine_type = args[:machine_type] if args.key?(:machine_type)
24575
- end
24576
- end
24577
-
24578
24937
  #
24579
24938
  class ManagedInstanceInstanceHealth
24580
24939
  include Google::Apis::Core::Hashable
@@ -24921,6 +25280,229 @@ module Google
24921
25280
  end
24922
25281
  end
24923
25282
 
25283
+ # Multi-MIG represents a group of managed instance groups.
25284
+ class MultiMig
25285
+ include Google::Apis::Core::Hashable
25286
+
25287
+ # [Output only] The creation timestamp of this multi-MIG in RFC3339 text format.
25288
+ # Corresponds to the JSON property `creationTimestamp`
25289
+ # @return [String]
25290
+ attr_accessor :creation_timestamp
25291
+
25292
+ # An optional description of this resource.
25293
+ # Corresponds to the JSON property `description`
25294
+ # @return [String]
25295
+ attr_accessor :description
25296
+
25297
+ # [Output only] The unique identifier for this resource type. The server
25298
+ # generates this identifier.
25299
+ # Corresponds to the JSON property `id`
25300
+ # @return [Fixnum]
25301
+ attr_accessor :id
25302
+
25303
+ # [Output only] Type of the resource. Always compute#multiMig for multi-MIGs.
25304
+ # Corresponds to the JSON property `kind`
25305
+ # @return [String]
25306
+ attr_accessor :kind
25307
+
25308
+ # The name of the multi-MIG. The name must be 1-63 characters long, and comply
25309
+ # with RFC1035. Specifically, the name must be 1-63 characters long and match
25310
+ # the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first
25311
+ # character must be a lowercase letter, and all following characters must be a
25312
+ # dash, lowercase letter, or digit, except the last character, which cannot be a
25313
+ # dash.
25314
+ # Corresponds to the JSON property `name`
25315
+ # @return [String]
25316
+ attr_accessor :name
25317
+
25318
+ # [Output only] The URL of the region where the resource resides. You must
25319
+ # specify this field as part of the HTTP request URL. You cannot set the region
25320
+ # as a field in the request body.
25321
+ # Corresponds to the JSON property `region`
25322
+ # @return [String]
25323
+ attr_accessor :region
25324
+
25325
+ # Resource policies message for a multi-MIG. Specifies the workload policy
25326
+ # configuration of the multi-MIG.
25327
+ # Corresponds to the JSON property `resourcePolicies`
25328
+ # @return [Google::Apis::ComputeBeta::MultiMigResourcePolicies]
25329
+ attr_accessor :resource_policies
25330
+
25331
+ # [Output only] Server-defined URL for the resource.
25332
+ # Corresponds to the JSON property `selfLink`
25333
+ # @return [String]
25334
+ attr_accessor :self_link
25335
+
25336
+ def initialize(**args)
25337
+ update!(**args)
25338
+ end
25339
+
25340
+ # Update properties of this object
25341
+ def update!(**args)
25342
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
25343
+ @description = args[:description] if args.key?(:description)
25344
+ @id = args[:id] if args.key?(:id)
25345
+ @kind = args[:kind] if args.key?(:kind)
25346
+ @name = args[:name] if args.key?(:name)
25347
+ @region = args[:region] if args.key?(:region)
25348
+ @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
25349
+ @self_link = args[:self_link] if args.key?(:self_link)
25350
+ end
25351
+ end
25352
+
25353
+ # Resource policies message for a multi-MIG. Specifies the workload policy
25354
+ # configuration of the multi-MIG.
25355
+ class MultiMigResourcePolicies
25356
+ include Google::Apis::Core::Hashable
25357
+
25358
+ # The URL of the workload policy for this multi-MIG. It can be a full or partial
25359
+ # URL. For example, the following are all valid URLs to a workload policy: -
25360
+ # https://www.googleapis.com/compute/v1/projects/project/regions/region /
25361
+ # resourcePolicies/resourcePolicy - projects/project/regions/region/
25362
+ # resourcePolicies/resourcePolicy - regions/region/resourcePolicies/
25363
+ # resourcePolicy
25364
+ # Corresponds to the JSON property `workloadPolicy`
25365
+ # @return [String]
25366
+ attr_accessor :workload_policy
25367
+
25368
+ def initialize(**args)
25369
+ update!(**args)
25370
+ end
25371
+
25372
+ # Update properties of this object
25373
+ def update!(**args)
25374
+ @workload_policy = args[:workload_policy] if args.key?(:workload_policy)
25375
+ end
25376
+ end
25377
+
25378
+ #
25379
+ class MultiMigsList
25380
+ include Google::Apis::Core::Hashable
25381
+
25382
+ #
25383
+ # Corresponds to the JSON property `etag`
25384
+ # @return [String]
25385
+ attr_accessor :etag
25386
+
25387
+ # Unique identifier for the resource; defined by the server.
25388
+ # Corresponds to the JSON property `id`
25389
+ # @return [String]
25390
+ attr_accessor :id
25391
+
25392
+ # A list of multi-MIGs in the specified project and region.
25393
+ # Corresponds to the JSON property `items`
25394
+ # @return [Array<Google::Apis::ComputeBeta::MultiMig>]
25395
+ attr_accessor :items
25396
+
25397
+ # Type of resource.
25398
+ # Corresponds to the JSON property `kind`
25399
+ # @return [String]
25400
+ attr_accessor :kind
25401
+
25402
+ # This token allows you to get the next page of results for maxResults, use the
25403
+ # nextPageToken as a value for the query parameter pageToken in the next list
25404
+ # request. Subsequent list requests will have their own nextPageToken to
25405
+ # continue paging through the results.
25406
+ # Corresponds to the JSON property `nextPageToken`
25407
+ # @return [String]
25408
+ attr_accessor :next_page_token
25409
+
25410
+ # [Output only] Server-defined URL for this resource.
25411
+ # Corresponds to the JSON property `selfLink`
25412
+ # @return [String]
25413
+ attr_accessor :self_link
25414
+
25415
+ # [Output only] Unreachable resources.
25416
+ # Corresponds to the JSON property `unreachables`
25417
+ # @return [Array<String>]
25418
+ attr_accessor :unreachables
25419
+
25420
+ # Informational warning message.
25421
+ # Corresponds to the JSON property `warning`
25422
+ # @return [Google::Apis::ComputeBeta::MultiMigsList::Warning]
25423
+ attr_accessor :warning
25424
+
25425
+ def initialize(**args)
25426
+ update!(**args)
25427
+ end
25428
+
25429
+ # Update properties of this object
25430
+ def update!(**args)
25431
+ @etag = args[:etag] if args.key?(:etag)
25432
+ @id = args[:id] if args.key?(:id)
25433
+ @items = args[:items] if args.key?(:items)
25434
+ @kind = args[:kind] if args.key?(:kind)
25435
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
25436
+ @self_link = args[:self_link] if args.key?(:self_link)
25437
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
25438
+ @warning = args[:warning] if args.key?(:warning)
25439
+ end
25440
+
25441
+ # Informational warning message.
25442
+ class Warning
25443
+ include Google::Apis::Core::Hashable
25444
+
25445
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
25446
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
25447
+ # Corresponds to the JSON property `code`
25448
+ # @return [String]
25449
+ attr_accessor :code
25450
+
25451
+ # [Output Only] Metadata about this warning in key: value format. For example: "
25452
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
25453
+ # Corresponds to the JSON property `data`
25454
+ # @return [Array<Google::Apis::ComputeBeta::MultiMigsList::Warning::Datum>]
25455
+ attr_accessor :data
25456
+
25457
+ # [Output Only] A human-readable description of the warning code.
25458
+ # Corresponds to the JSON property `message`
25459
+ # @return [String]
25460
+ attr_accessor :message
25461
+
25462
+ def initialize(**args)
25463
+ update!(**args)
25464
+ end
25465
+
25466
+ # Update properties of this object
25467
+ def update!(**args)
25468
+ @code = args[:code] if args.key?(:code)
25469
+ @data = args[:data] if args.key?(:data)
25470
+ @message = args[:message] if args.key?(:message)
25471
+ end
25472
+
25473
+ #
25474
+ class Datum
25475
+ include Google::Apis::Core::Hashable
25476
+
25477
+ # [Output Only] A key that provides more detail on the warning being returned.
25478
+ # For example, for warnings where there are no results in a list request for a
25479
+ # particular zone, this key might be scope and the key value might be the zone
25480
+ # name. Other examples might be a key indicating a deprecated resource and a
25481
+ # suggested replacement, or a warning about invalid network settings (for
25482
+ # example, if an instance attempts to perform IP forwarding but is not enabled
25483
+ # for IP forwarding).
25484
+ # Corresponds to the JSON property `key`
25485
+ # @return [String]
25486
+ attr_accessor :key
25487
+
25488
+ # [Output Only] A warning data value corresponding to the key.
25489
+ # Corresponds to the JSON property `value`
25490
+ # @return [String]
25491
+ attr_accessor :value
25492
+
25493
+ def initialize(**args)
25494
+ update!(**args)
25495
+ end
25496
+
25497
+ # Update properties of this object
25498
+ def update!(**args)
25499
+ @key = args[:key] if args.key?(:key)
25500
+ @value = args[:value] if args.key?(:value)
25501
+ end
25502
+ end
25503
+ end
25504
+ end
25505
+
24924
25506
  # The named port. For example: <"http", 80>.
24925
25507
  class NamedPort
24926
25508
  include Google::Apis::Core::Hashable
@@ -25121,6 +25703,15 @@ module Google
25121
25703
  # @return [String]
25122
25704
  attr_accessor :network_firewall_policy_enforcement_order
25123
25705
 
25706
+ # A full or partial URL of the network profile to apply to this network. This
25707
+ # field can be set only at resource creation time. For example, the following
25708
+ # are valid URLs: - https://www.googleapis.com/compute/`api_version`/projects/`
25709
+ # project_id`/global/networkProfiles/`network_profile_name` - projects/`
25710
+ # project_id`/global/networkProfiles/`network_profile_name`
25711
+ # Corresponds to the JSON property `networkProfile`
25712
+ # @return [String]
25713
+ attr_accessor :network_profile
25714
+
25124
25715
  # [Output Only] A list of network peerings for the resource.
25125
25716
  # Corresponds to the JSON property `peerings`
25126
25717
  # @return [Array<Google::Apis::ComputeBeta::NetworkPeering>]
@@ -25168,6 +25759,7 @@ module Google
25168
25759
  @mtu = args[:mtu] if args.key?(:mtu)
25169
25760
  @name = args[:name] if args.key?(:name)
25170
25761
  @network_firewall_policy_enforcement_order = args[:network_firewall_policy_enforcement_order] if args.key?(:network_firewall_policy_enforcement_order)
25762
+ @network_profile = args[:network_profile] if args.key?(:network_profile)
25171
25763
  @peerings = args[:peerings] if args.key?(:peerings)
25172
25764
  @routing_config = args[:routing_config] if args.key?(:routing_config)
25173
25765
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -26660,6 +27252,12 @@ module Google
26660
27252
  # @return [String]
26661
27253
  attr_accessor :consumer_psc_address
26662
27254
 
27255
+ # The psc producer port is used to connect PSC NEG with specific port on the PSC
27256
+ # Producer side; should only be used for the PRIVATE_SERVICE_CONNECT NEG type
27257
+ # Corresponds to the JSON property `producerPort`
27258
+ # @return [Fixnum]
27259
+ attr_accessor :producer_port
27260
+
26663
27261
  # [Output Only] The PSC connection id of the PSC Network Endpoint Group Consumer.
26664
27262
  # Corresponds to the JSON property `pscConnectionId`
26665
27263
  # @return [Fixnum]
@@ -26677,6 +27275,7 @@ module Google
26677
27275
  # Update properties of this object
26678
27276
  def update!(**args)
26679
27277
  @consumer_psc_address = args[:consumer_psc_address] if args.key?(:consumer_psc_address)
27278
+ @producer_port = args[:producer_port] if args.key?(:producer_port)
26680
27279
  @psc_connection_id = args[:psc_connection_id] if args.key?(:psc_connection_id)
26681
27280
  @psc_connection_status = args[:psc_connection_status] if args.key?(:psc_connection_status)
26682
27281
  end
@@ -27454,12 +28053,423 @@ module Google
27454
28053
  end
27455
28054
  end
27456
28055
 
28056
+ # NetworkProfile represents a Google managed network profile resource.
28057
+ class NetworkProfile
28058
+ include Google::Apis::Core::Hashable
28059
+
28060
+ # [Output Only] Creation timestamp in RFC3339 text format.
28061
+ # Corresponds to the JSON property `creationTimestamp`
28062
+ # @return [String]
28063
+ attr_accessor :creation_timestamp
28064
+
28065
+ # [Output Only] An optional description of this resource.
28066
+ # Corresponds to the JSON property `description`
28067
+ # @return [String]
28068
+ attr_accessor :description
28069
+
28070
+ # [Output Only] Features supported by the network.
28071
+ # Corresponds to the JSON property `features`
28072
+ # @return [Google::Apis::ComputeBeta::NetworkProfileNetworkFeatures]
28073
+ attr_accessor :features
28074
+
28075
+ # [Output Only] The unique identifier for the resource. This identifier is
28076
+ # defined by the server.
28077
+ # Corresponds to the JSON property `id`
28078
+ # @return [Fixnum]
28079
+ attr_accessor :id
28080
+
28081
+ # [Output Only] Type of the resource. Always compute#networkProfile for network
28082
+ # profiles.
28083
+ # Corresponds to the JSON property `kind`
28084
+ # @return [String]
28085
+ attr_accessor :kind
28086
+
28087
+ # [Output Only] Location to which the network is restricted.
28088
+ # Corresponds to the JSON property `location`
28089
+ # @return [Google::Apis::ComputeBeta::NetworkProfileLocation]
28090
+ attr_accessor :location
28091
+
28092
+ # [Output Only] Name of the resource.
28093
+ # Corresponds to the JSON property `name`
28094
+ # @return [String]
28095
+ attr_accessor :name
28096
+
28097
+ # [Output Only] Server-defined URL for the resource.
28098
+ # Corresponds to the JSON property `selfLink`
28099
+ # @return [String]
28100
+ attr_accessor :self_link
28101
+
28102
+ # [Output Only] Server-defined URL for this resource with the resource id.
28103
+ # Corresponds to the JSON property `selfLinkWithId`
28104
+ # @return [String]
28105
+ attr_accessor :self_link_with_id
28106
+
28107
+ # [Output Only] Zone to which the network is restricted.
28108
+ # Corresponds to the JSON property `zone`
28109
+ # @return [String]
28110
+ attr_accessor :zone
28111
+
28112
+ def initialize(**args)
28113
+ update!(**args)
28114
+ end
28115
+
28116
+ # Update properties of this object
28117
+ def update!(**args)
28118
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
28119
+ @description = args[:description] if args.key?(:description)
28120
+ @features = args[:features] if args.key?(:features)
28121
+ @id = args[:id] if args.key?(:id)
28122
+ @kind = args[:kind] if args.key?(:kind)
28123
+ @location = args[:location] if args.key?(:location)
28124
+ @name = args[:name] if args.key?(:name)
28125
+ @self_link = args[:self_link] if args.key?(:self_link)
28126
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
28127
+ @zone = args[:zone] if args.key?(:zone)
28128
+ end
28129
+ end
28130
+
28131
+ #
28132
+ class NetworkProfileLocation
28133
+ include Google::Apis::Core::Hashable
28134
+
28135
+ #
28136
+ # Corresponds to the JSON property `name`
28137
+ # @return [String]
28138
+ attr_accessor :name
28139
+
28140
+ #
28141
+ # Corresponds to the JSON property `scope`
28142
+ # @return [String]
28143
+ attr_accessor :scope
28144
+
28145
+ def initialize(**args)
28146
+ update!(**args)
28147
+ end
28148
+
28149
+ # Update properties of this object
28150
+ def update!(**args)
28151
+ @name = args[:name] if args.key?(:name)
28152
+ @scope = args[:scope] if args.key?(:scope)
28153
+ end
28154
+ end
28155
+
28156
+ #
28157
+ class NetworkProfileNetworkFeatures
28158
+ include Google::Apis::Core::Hashable
28159
+
28160
+ # Specifies what address purposes are supported. If empty, all address purposes
28161
+ # are supported.
28162
+ # Corresponds to the JSON property `addressPurposes`
28163
+ # @return [Array<String>]
28164
+ attr_accessor :address_purposes
28165
+
28166
+ # Specifies whether alias IP ranges (and secondary address ranges) are allowed.
28167
+ # Corresponds to the JSON property `allowAliasIpRanges`
28168
+ # @return [String]
28169
+ attr_accessor :allow_alias_ip_ranges
28170
+
28171
+ # Specifies whether auto mode subnet creation is allowed.
28172
+ # Corresponds to the JSON property `allowAutoModeSubnet`
28173
+ # @return [String]
28174
+ attr_accessor :allow_auto_mode_subnet
28175
+
28176
+ # Specifies whether firewalls for Class D address ranges are supported.
28177
+ # Corresponds to the JSON property `allowClassDFirewalls`
28178
+ # @return [String]
28179
+ attr_accessor :allow_class_d_firewalls
28180
+
28181
+ # Specifies whether cloud NAT creation is allowed.
28182
+ # Corresponds to the JSON property `allowCloudNat`
28183
+ # @return [String]
28184
+ attr_accessor :allow_cloud_nat
28185
+
28186
+ # Specifies whether cloud router creation is allowed.
28187
+ # Corresponds to the JSON property `allowCloudRouter`
28188
+ # @return [String]
28189
+ attr_accessor :allow_cloud_router
28190
+
28191
+ # Specifies whether VMs are allowed to have external IP access on network
28192
+ # interfaces connected to this VPC.
28193
+ # Corresponds to the JSON property `allowExternalIpAccess`
28194
+ # @return [String]
28195
+ attr_accessor :allow_external_ip_access
28196
+
28197
+ # Specifies whether Cloud Interconnect creation is allowed.
28198
+ # Corresponds to the JSON property `allowInterconnect`
28199
+ # @return [String]
28200
+ attr_accessor :allow_interconnect
28201
+
28202
+ # Specifies whether cloud load balancing is allowed.
28203
+ # Corresponds to the JSON property `allowLoadBalancing`
28204
+ # @return [String]
28205
+ attr_accessor :allow_load_balancing
28206
+
28207
+ # Specifies whether multi-nic in the same network is allowed.
28208
+ # Corresponds to the JSON property `allowMultiNicInSameNetwork`
28209
+ # @return [String]
28210
+ attr_accessor :allow_multi_nic_in_same_network
28211
+
28212
+ # Specifies whether Packet Mirroring 1.0 is supported.
28213
+ # Corresponds to the JSON property `allowPacketMirroring`
28214
+ # @return [String]
28215
+ attr_accessor :allow_packet_mirroring
28216
+
28217
+ # Specifies whether private Google access is allowed.
28218
+ # Corresponds to the JSON property `allowPrivateGoogleAccess`
28219
+ # @return [String]
28220
+ attr_accessor :allow_private_google_access
28221
+
28222
+ # Specifies whether PSC creation is allowed.
28223
+ # Corresponds to the JSON property `allowPsc`
28224
+ # @return [String]
28225
+ attr_accessor :allow_psc
28226
+
28227
+ # Specifies whether unicast within the same network is allowed.
28228
+ # Corresponds to the JSON property `allowSameNetworkUnicast`
28229
+ # @return [String]
28230
+ attr_accessor :allow_same_network_unicast
28231
+
28232
+ # Specifies whether static route creation is allowed.
28233
+ # Corresponds to the JSON property `allowStaticRoutes`
28234
+ # @return [String]
28235
+ attr_accessor :allow_static_routes
28236
+
28237
+ # Specifies whether sub interfaces are allowed.
28238
+ # Corresponds to the JSON property `allowSubInterfaces`
28239
+ # @return [String]
28240
+ attr_accessor :allow_sub_interfaces
28241
+
28242
+ # Specifies whether VPC peering is allowed.
28243
+ # Corresponds to the JSON property `allowVpcPeering`
28244
+ # @return [String]
28245
+ attr_accessor :allow_vpc_peering
28246
+
28247
+ # Specifies whether VPN creation is allowed.
28248
+ # Corresponds to the JSON property `allowVpn`
28249
+ # @return [String]
28250
+ attr_accessor :allow_vpn
28251
+
28252
+ # If set, limits the interface types that the network supports. If empty, all
28253
+ # interface types are supported.
28254
+ # Corresponds to the JSON property `interfaceTypes`
28255
+ # @return [Array<String>]
28256
+ attr_accessor :interface_types
28257
+
28258
+ # Specifies which subnetwork purposes are supported.
28259
+ # Corresponds to the JSON property `subnetPurposes`
28260
+ # @return [Array<String>]
28261
+ attr_accessor :subnet_purposes
28262
+
28263
+ # Specifies which subnetwork stack types are supported.
28264
+ # Corresponds to the JSON property `subnetStackTypes`
28265
+ # @return [Array<String>]
28266
+ attr_accessor :subnet_stack_types
28267
+
28268
+ # Specifies which type of unicast is supported.
28269
+ # Corresponds to the JSON property `unicast`
28270
+ # @return [String]
28271
+ attr_accessor :unicast
28272
+
28273
+ def initialize(**args)
28274
+ update!(**args)
28275
+ end
28276
+
28277
+ # Update properties of this object
28278
+ def update!(**args)
28279
+ @address_purposes = args[:address_purposes] if args.key?(:address_purposes)
28280
+ @allow_alias_ip_ranges = args[:allow_alias_ip_ranges] if args.key?(:allow_alias_ip_ranges)
28281
+ @allow_auto_mode_subnet = args[:allow_auto_mode_subnet] if args.key?(:allow_auto_mode_subnet)
28282
+ @allow_class_d_firewalls = args[:allow_class_d_firewalls] if args.key?(:allow_class_d_firewalls)
28283
+ @allow_cloud_nat = args[:allow_cloud_nat] if args.key?(:allow_cloud_nat)
28284
+ @allow_cloud_router = args[:allow_cloud_router] if args.key?(:allow_cloud_router)
28285
+ @allow_external_ip_access = args[:allow_external_ip_access] if args.key?(:allow_external_ip_access)
28286
+ @allow_interconnect = args[:allow_interconnect] if args.key?(:allow_interconnect)
28287
+ @allow_load_balancing = args[:allow_load_balancing] if args.key?(:allow_load_balancing)
28288
+ @allow_multi_nic_in_same_network = args[:allow_multi_nic_in_same_network] if args.key?(:allow_multi_nic_in_same_network)
28289
+ @allow_packet_mirroring = args[:allow_packet_mirroring] if args.key?(:allow_packet_mirroring)
28290
+ @allow_private_google_access = args[:allow_private_google_access] if args.key?(:allow_private_google_access)
28291
+ @allow_psc = args[:allow_psc] if args.key?(:allow_psc)
28292
+ @allow_same_network_unicast = args[:allow_same_network_unicast] if args.key?(:allow_same_network_unicast)
28293
+ @allow_static_routes = args[:allow_static_routes] if args.key?(:allow_static_routes)
28294
+ @allow_sub_interfaces = args[:allow_sub_interfaces] if args.key?(:allow_sub_interfaces)
28295
+ @allow_vpc_peering = args[:allow_vpc_peering] if args.key?(:allow_vpc_peering)
28296
+ @allow_vpn = args[:allow_vpn] if args.key?(:allow_vpn)
28297
+ @interface_types = args[:interface_types] if args.key?(:interface_types)
28298
+ @subnet_purposes = args[:subnet_purposes] if args.key?(:subnet_purposes)
28299
+ @subnet_stack_types = args[:subnet_stack_types] if args.key?(:subnet_stack_types)
28300
+ @unicast = args[:unicast] if args.key?(:unicast)
28301
+ end
28302
+ end
28303
+
28304
+ # Contains a list of network profiles.
28305
+ class NetworkProfilesListResponse
28306
+ include Google::Apis::Core::Hashable
28307
+
28308
+ #
28309
+ # Corresponds to the JSON property `etag`
28310
+ # @return [String]
28311
+ attr_accessor :etag
28312
+
28313
+ # [Output Only] Unique identifier for the resource; defined by the server.
28314
+ # Corresponds to the JSON property `id`
28315
+ # @return [String]
28316
+ attr_accessor :id
28317
+
28318
+ # A list of NetworkProfile resources.
28319
+ # Corresponds to the JSON property `items`
28320
+ # @return [Array<Google::Apis::ComputeBeta::NetworkProfile>]
28321
+ attr_accessor :items
28322
+
28323
+ # [Output Only] Type of resource. Always compute#networkProfileList for network
28324
+ # profiles.
28325
+ # Corresponds to the JSON property `kind`
28326
+ # @return [String]
28327
+ attr_accessor :kind
28328
+
28329
+ # [Output Only] This token allows you to get the next page of results for list
28330
+ # requests. If the number of results is larger than maxResults, use the
28331
+ # nextPageToken as a value for the query parameter pageToken in the next list
28332
+ # request. Subsequent list requests will have their own nextPageToken to
28333
+ # continue paging through the results.
28334
+ # Corresponds to the JSON property `nextPageToken`
28335
+ # @return [String]
28336
+ attr_accessor :next_page_token
28337
+
28338
+ # [Output Only] Server-defined URL for this resource.
28339
+ # Corresponds to the JSON property `selfLink`
28340
+ # @return [String]
28341
+ attr_accessor :self_link
28342
+
28343
+ # [Output Only] Unreachable resources. end_interface:
28344
+ # MixerListResponseWithEtagBuilder
28345
+ # Corresponds to the JSON property `unreachables`
28346
+ # @return [Array<String>]
28347
+ attr_accessor :unreachables
28348
+
28349
+ # [Output Only] Informational warning message.
28350
+ # Corresponds to the JSON property `warning`
28351
+ # @return [Google::Apis::ComputeBeta::NetworkProfilesListResponse::Warning]
28352
+ attr_accessor :warning
28353
+
28354
+ def initialize(**args)
28355
+ update!(**args)
28356
+ end
28357
+
28358
+ # Update properties of this object
28359
+ def update!(**args)
28360
+ @etag = args[:etag] if args.key?(:etag)
28361
+ @id = args[:id] if args.key?(:id)
28362
+ @items = args[:items] if args.key?(:items)
28363
+ @kind = args[:kind] if args.key?(:kind)
28364
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
28365
+ @self_link = args[:self_link] if args.key?(:self_link)
28366
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
28367
+ @warning = args[:warning] if args.key?(:warning)
28368
+ end
28369
+
28370
+ # [Output Only] Informational warning message.
28371
+ class Warning
28372
+ include Google::Apis::Core::Hashable
28373
+
28374
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
28375
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
28376
+ # Corresponds to the JSON property `code`
28377
+ # @return [String]
28378
+ attr_accessor :code
28379
+
28380
+ # [Output Only] Metadata about this warning in key: value format. For example: "
28381
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
28382
+ # Corresponds to the JSON property `data`
28383
+ # @return [Array<Google::Apis::ComputeBeta::NetworkProfilesListResponse::Warning::Datum>]
28384
+ attr_accessor :data
28385
+
28386
+ # [Output Only] A human-readable description of the warning code.
28387
+ # Corresponds to the JSON property `message`
28388
+ # @return [String]
28389
+ attr_accessor :message
28390
+
28391
+ def initialize(**args)
28392
+ update!(**args)
28393
+ end
28394
+
28395
+ # Update properties of this object
28396
+ def update!(**args)
28397
+ @code = args[:code] if args.key?(:code)
28398
+ @data = args[:data] if args.key?(:data)
28399
+ @message = args[:message] if args.key?(:message)
28400
+ end
28401
+
28402
+ #
28403
+ class Datum
28404
+ include Google::Apis::Core::Hashable
28405
+
28406
+ # [Output Only] A key that provides more detail on the warning being returned.
28407
+ # For example, for warnings where there are no results in a list request for a
28408
+ # particular zone, this key might be scope and the key value might be the zone
28409
+ # name. Other examples might be a key indicating a deprecated resource and a
28410
+ # suggested replacement, or a warning about invalid network settings (for
28411
+ # example, if an instance attempts to perform IP forwarding but is not enabled
28412
+ # for IP forwarding).
28413
+ # Corresponds to the JSON property `key`
28414
+ # @return [String]
28415
+ attr_accessor :key
28416
+
28417
+ # [Output Only] A warning data value corresponding to the key.
28418
+ # Corresponds to the JSON property `value`
28419
+ # @return [String]
28420
+ attr_accessor :value
28421
+
28422
+ def initialize(**args)
28423
+ update!(**args)
28424
+ end
28425
+
28426
+ # Update properties of this object
28427
+ def update!(**args)
28428
+ @key = args[:key] if args.key?(:key)
28429
+ @value = args[:value] if args.key?(:value)
28430
+ end
28431
+ end
28432
+ end
28433
+ end
28434
+
27457
28435
  # A routing configuration attached to a network resource. The message includes
27458
28436
  # the list of routers associated with the network, and a flag indicating the
27459
28437
  # type of routing behavior to enforce network-wide.
27460
28438
  class NetworkRoutingConfig
27461
28439
  include Google::Apis::Core::Hashable
27462
28440
 
28441
+ # Enable comparison of Multi-Exit Discriminators (MED) across routes with
28442
+ # different neighbor ASNs when using the STANDARD BGP best path selection
28443
+ # algorithm.
28444
+ # Corresponds to the JSON property `bgpAlwaysCompareMed`
28445
+ # @return [Boolean]
28446
+ attr_accessor :bgp_always_compare_med
28447
+ alias_method :bgp_always_compare_med?, :bgp_always_compare_med
28448
+
28449
+ # The BGP best path selection algorithm to be employed within this network for
28450
+ # dynamic routes learned by Cloud Routers. Can be LEGACY (default) or STANDARD.
28451
+ # Corresponds to the JSON property `bgpBestPathSelectionMode`
28452
+ # @return [String]
28453
+ attr_accessor :bgp_best_path_selection_mode
28454
+
28455
+ # Allows to define a preferred approach for handling inter-region cost in the
28456
+ # selection process when using the STANDARD BGP best path selection algorithm.
28457
+ # Can be DEFAULT or ADD_COST_TO_MED.
28458
+ # Corresponds to the JSON property `bgpInterRegionCost`
28459
+ # @return [String]
28460
+ attr_accessor :bgp_inter_region_cost
28461
+
28462
+ # [Output Only] Effective value of the bgp_always_compare_med field.
28463
+ # Corresponds to the JSON property `effectiveBgpAlwaysCompareMed`
28464
+ # @return [Boolean]
28465
+ attr_accessor :effective_bgp_always_compare_med
28466
+ alias_method :effective_bgp_always_compare_med?, :effective_bgp_always_compare_med
28467
+
28468
+ # [Output Only] Effective value of the bgp_inter_region_cost field.
28469
+ # Corresponds to the JSON property `effectiveBgpInterRegionCost`
28470
+ # @return [String]
28471
+ attr_accessor :effective_bgp_inter_region_cost
28472
+
27463
28473
  # The network-wide routing mode to use. If set to REGIONAL, this network's Cloud
27464
28474
  # Routers will only advertise routes with subnets of this network in the same
27465
28475
  # region as the router. If set to GLOBAL, this network's Cloud Routers will
@@ -27474,6 +28484,11 @@ module Google
27474
28484
 
27475
28485
  # Update properties of this object
27476
28486
  def update!(**args)
28487
+ @bgp_always_compare_med = args[:bgp_always_compare_med] if args.key?(:bgp_always_compare_med)
28488
+ @bgp_best_path_selection_mode = args[:bgp_best_path_selection_mode] if args.key?(:bgp_best_path_selection_mode)
28489
+ @bgp_inter_region_cost = args[:bgp_inter_region_cost] if args.key?(:bgp_inter_region_cost)
28490
+ @effective_bgp_always_compare_med = args[:effective_bgp_always_compare_med] if args.key?(:effective_bgp_always_compare_med)
28491
+ @effective_bgp_inter_region_cost = args[:effective_bgp_inter_region_cost] if args.key?(:effective_bgp_inter_region_cost)
27477
28492
  @routing_mode = args[:routing_mode] if args.key?(:routing_mode)
27478
28493
  end
27479
28494
  end
@@ -27529,7 +28544,10 @@ module Google
27529
28544
  class NetworksGetEffectiveFirewallsResponse
27530
28545
  include Google::Apis::Core::Hashable
27531
28546
 
27532
- # Effective firewalls from firewall policy.
28547
+ # [Output Only] Effective firewalls from firewall policy. It returns Global
28548
+ # Network Firewall Policies and Hierarchical Firewall Policies. Use
28549
+ # regionNetworkFirewallPolicies.getEffectiveFirewalls to get Regional Network
28550
+ # Firewall Policies as well.
27533
28551
  # Corresponds to the JSON property `firewallPolicys`
27534
28552
  # @return [Array<Google::Apis::ComputeBeta::NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy>]
27535
28553
  attr_accessor :firewall_policys
@@ -27571,7 +28589,18 @@ module Google
27571
28589
  # @return [String]
27572
28590
  attr_accessor :name
27573
28591
 
27574
- # The rules that apply to the network.
28592
+ # [Output Only] The packet mirroring rules that apply to the network.
28593
+ # Corresponds to the JSON property `packetMirroringRules`
28594
+ # @return [Array<Google::Apis::ComputeBeta::FirewallPolicyRule>]
28595
+ attr_accessor :packet_mirroring_rules
28596
+
28597
+ # [Output only] Priority of firewall policy association. Not applicable for type=
28598
+ # HIERARCHY.
28599
+ # Corresponds to the JSON property `priority`
28600
+ # @return [Fixnum]
28601
+ attr_accessor :priority
28602
+
28603
+ # [Output Only] The rules that apply to the network.
27575
28604
  # Corresponds to the JSON property `rules`
27576
28605
  # @return [Array<Google::Apis::ComputeBeta::FirewallPolicyRule>]
27577
28606
  attr_accessor :rules
@@ -27594,6 +28623,8 @@ module Google
27594
28623
  def update!(**args)
27595
28624
  @display_name = args[:display_name] if args.key?(:display_name)
27596
28625
  @name = args[:name] if args.key?(:name)
28626
+ @packet_mirroring_rules = args[:packet_mirroring_rules] if args.key?(:packet_mirroring_rules)
28627
+ @priority = args[:priority] if args.key?(:priority)
27597
28628
  @rules = args[:rules] if args.key?(:rules)
27598
28629
  @short_name = args[:short_name] if args.key?(:short_name)
27599
28630
  @type = args[:type] if args.key?(:type)
@@ -29825,8 +30856,8 @@ module Google
29825
30856
  attr_accessor :target_id
29826
30857
 
29827
30858
  # [Output Only] The URL of the resource that the operation modifies. For
29828
- # operations related to creating a snapshot, this points to the persistent disk
29829
- # that the snapshot was created from.
30859
+ # operations related to creating a snapshot, this points to the disk that the
30860
+ # snapshot was created from.
29830
30861
  # Corresponds to the JSON property `targetLink`
29831
30862
  # @return [String]
29832
30863
  attr_accessor :target_link
@@ -31253,11 +32284,8 @@ module Google
31253
32284
  # defaultRouteAction takes effect when none of the pathRules or routeRules match.
31254
32285
  # The load balancer performs advanced routing actions, such as URL rewrites and
31255
32286
  # header transformations, before forwarding the request to the selected backend.
31256
- # If defaultRouteAction specifies any weightedBackendServices, defaultService
31257
- # must not be set. Conversely if defaultService is set, defaultRouteAction
31258
- # cannot contain any weightedBackendServices. If defaultRouteAction is specified,
31259
- # don't set defaultUrlRedirect. If defaultRouteAction.weightedBackendServices
31260
- # is specified, don't set defaultService. URL maps for classic Application Load
32287
+ # Only one of defaultUrlRedirect, defaultService or defaultRouteAction.
32288
+ # weightedBackendService can be set. URL maps for classic Application Load
31261
32289
  # Balancers only support the urlRewrite action within a path matcher's
31262
32290
  # defaultRouteAction.
31263
32291
  # Corresponds to the JSON property `defaultRouteAction`
@@ -31271,14 +32299,11 @@ module Google
31271
32299
  # backendService - compute/v1/projects/project/global/backendServices/
31272
32300
  # backendService - global/backendServices/backendService If defaultRouteAction
31273
32301
  # is also specified, advanced routing actions, such as URL rewrites, take effect
31274
- # before sending the request to the backend. However, if defaultService is
31275
- # specified, defaultRouteAction cannot contain any weightedBackendServices.
31276
- # Conversely, if defaultRouteAction specifies any weightedBackendServices,
31277
- # defaultService must not be specified. If defaultService is specified, then set
31278
- # either defaultUrlRedirect or defaultRouteAction.weightedBackendService. Don't
31279
- # set both. Authorization requires one or more of the following Google IAM
31280
- # permissions on the specified resource default_service: - compute.
31281
- # backendBuckets.use - compute.backendServices.use
32302
+ # before sending the request to the backend. Only one of defaultUrlRedirect,
32303
+ # defaultService or defaultRouteAction.weightedBackendService can be set.
32304
+ # Authorization requires one or more of the following Google IAM permissions on
32305
+ # the specified resource default_service: - compute.backendBuckets.use - compute.
32306
+ # backendServices.use
31282
32307
  # Corresponds to the JSON property `defaultService`
31283
32308
  # @return [String]
31284
32309
  attr_accessor :default_service
@@ -31362,11 +32387,10 @@ module Google
31362
32387
 
31363
32388
  # In response to a matching path, the load balancer performs advanced routing
31364
32389
  # actions, such as URL rewrites and header transformations, before forwarding
31365
- # the request to the selected backend. If routeAction specifies any
31366
- # weightedBackendServices, service must not be set. Conversely if service is set,
31367
- # routeAction cannot contain any weightedBackendServices. Only one of
31368
- # routeAction or urlRedirect must be set. URL maps for classic Application Load
31369
- # Balancers only support the urlRewrite action within a path rule's routeAction.
32390
+ # the request to the selected backend. Only one of urlRedirect, service or
32391
+ # routeAction.weightedBackendService can be set. URL maps for classic
32392
+ # Application Load Balancers only support the urlRewrite action within a path
32393
+ # rule's routeAction.
31370
32394
  # Corresponds to the JSON property `routeAction`
31371
32395
  # @return [Google::Apis::ComputeBeta::HttpRouteAction]
31372
32396
  attr_accessor :route_action
@@ -31374,10 +32398,8 @@ module Google
31374
32398
  # The full or partial URL of the backend service resource to which traffic is
31375
32399
  # directed if this rule is matched. If routeAction is also specified, advanced
31376
32400
  # routing actions, such as URL rewrites, take effect before sending the request
31377
- # to the backend. However, if service is specified, routeAction cannot contain
31378
- # any weightedBackendServices. Conversely, if routeAction specifies any
31379
- # weightedBackendServices, service must not be specified. Only one of
31380
- # urlRedirect, service or routeAction.weightedBackendService must be set.
32401
+ # to the backend. Only one of urlRedirect, service or routeAction.
32402
+ # weightedBackendService can be set.
31381
32403
  # Corresponds to the JSON property `service`
31382
32404
  # @return [String]
31383
32405
  attr_accessor :service
@@ -31418,7 +32440,7 @@ module Google
31418
32440
  # Serves as a merge key during UpdatePerInstanceConfigs operations, that is, if
31419
32441
  # a per-instance configuration with the same name exists then it will be updated,
31420
32442
  # otherwise a new one will be created for the VM instance with the same name.
31421
- # An attempt to create a per-instance configconfiguration for a VM instance that
32443
+ # An attempt to create a per-instance configuration for a VM instance that
31422
32444
  # either doesn't exist or is not part of the group will result in an error.
31423
32445
  # Corresponds to the JSON property `name`
31424
32446
  # @return [String]
@@ -31511,11 +32533,6 @@ module Google
31511
32533
  # @return [String]
31512
32534
  attr_accessor :etag
31513
32535
 
31514
- # This is deprecated and has no effect. Do not use.
31515
- # Corresponds to the JSON property `rules`
31516
- # @return [Array<Google::Apis::ComputeBeta::Rule>]
31517
- attr_accessor :rules
31518
-
31519
32536
  # Specifies the format of the policy. Valid values are `0`, `1`, and `3`.
31520
32537
  # Requests that specify an invalid value are rejected. Any operation that
31521
32538
  # affects conditional role bindings must specify version `3`. This requirement
@@ -31544,7 +32561,6 @@ module Google
31544
32561
  @audit_configs = args[:audit_configs] if args.key?(:audit_configs)
31545
32562
  @bindings = args[:bindings] if args.key?(:bindings)
31546
32563
  @etag = args[:etag] if args.key?(:etag)
31547
- @rules = args[:rules] if args.key?(:rules)
31548
32564
  @version = args[:version] if args.key?(:version)
31549
32565
  end
31550
32566
  end
@@ -31739,7 +32755,7 @@ module Google
31739
32755
  # @return [String]
31740
32756
  attr_accessor :description
31741
32757
 
31742
- # Restricted features enabled for use on this project.
32758
+ # An optional list of restricted features enabled for use on this project.
31743
32759
  # Corresponds to the JSON property `enabledFeatures`
31744
32760
  # @return [Array<String>]
31745
32761
  attr_accessor :enabled_features
@@ -33379,52 +34395,352 @@ module Google
33379
34395
  end
33380
34396
  end
33381
34397
 
33382
- #
33383
- class RegionDisksAddResourcePoliciesRequest
33384
- include Google::Apis::Core::Hashable
33385
-
33386
- # Resource policies to be added to this disk.
33387
- # Corresponds to the JSON property `resourcePolicies`
33388
- # @return [Array<String>]
33389
- attr_accessor :resource_policies
33390
-
33391
- def initialize(**args)
33392
- update!(**args)
33393
- end
33394
-
33395
- # Update properties of this object
33396
- def update!(**args)
33397
- @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
33398
- end
33399
- end
33400
-
33401
- #
33402
- class RegionDisksRemoveResourcePoliciesRequest
33403
- include Google::Apis::Core::Hashable
33404
-
33405
- # Resource policies to be removed from this disk.
33406
- # Corresponds to the JSON property `resourcePolicies`
33407
- # @return [Array<String>]
33408
- attr_accessor :resource_policies
33409
-
33410
- def initialize(**args)
33411
- update!(**args)
33412
- end
33413
-
33414
- # Update properties of this object
33415
- def update!(**args)
33416
- @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
33417
- end
33418
- end
33419
-
33420
- #
33421
- class RegionDisksResizeRequest
34398
+ #
34399
+ class RegionDisksAddResourcePoliciesRequest
34400
+ include Google::Apis::Core::Hashable
34401
+
34402
+ # Resource policies to be added to this disk.
34403
+ # Corresponds to the JSON property `resourcePolicies`
34404
+ # @return [Array<String>]
34405
+ attr_accessor :resource_policies
34406
+
34407
+ def initialize(**args)
34408
+ update!(**args)
34409
+ end
34410
+
34411
+ # Update properties of this object
34412
+ def update!(**args)
34413
+ @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
34414
+ end
34415
+ end
34416
+
34417
+ #
34418
+ class RegionDisksRemoveResourcePoliciesRequest
34419
+ include Google::Apis::Core::Hashable
34420
+
34421
+ # Resource policies to be removed from this disk.
34422
+ # Corresponds to the JSON property `resourcePolicies`
34423
+ # @return [Array<String>]
34424
+ attr_accessor :resource_policies
34425
+
34426
+ def initialize(**args)
34427
+ update!(**args)
34428
+ end
34429
+
34430
+ # Update properties of this object
34431
+ def update!(**args)
34432
+ @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
34433
+ end
34434
+ end
34435
+
34436
+ #
34437
+ class RegionDisksResizeRequest
34438
+ include Google::Apis::Core::Hashable
34439
+
34440
+ # The new size of the regional persistent disk, which is specified in GB.
34441
+ # Corresponds to the JSON property `sizeGb`
34442
+ # @return [Fixnum]
34443
+ attr_accessor :size_gb
34444
+
34445
+ def initialize(**args)
34446
+ update!(**args)
34447
+ end
34448
+
34449
+ # Update properties of this object
34450
+ def update!(**args)
34451
+ @size_gb = args[:size_gb] if args.key?(:size_gb)
34452
+ end
34453
+ end
34454
+
34455
+ #
34456
+ class RegionDisksStartAsyncReplicationRequest
34457
+ include Google::Apis::Core::Hashable
34458
+
34459
+ # The secondary disk to start asynchronous replication to. You can provide this
34460
+ # as a partial or full URL to the resource. For example, the following are valid
34461
+ # values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /
34462
+ # disks/disk - https://www.googleapis.com/compute/v1/projects/project/regions/
34463
+ # region /disks/disk - projects/project/zones/zone/disks/disk - projects/project/
34464
+ # regions/region/disks/disk - zones/zone/disks/disk - regions/region/disks/disk
34465
+ # Corresponds to the JSON property `asyncSecondaryDisk`
34466
+ # @return [String]
34467
+ attr_accessor :async_secondary_disk
34468
+
34469
+ def initialize(**args)
34470
+ update!(**args)
34471
+ end
34472
+
34473
+ # Update properties of this object
34474
+ def update!(**args)
34475
+ @async_secondary_disk = args[:async_secondary_disk] if args.key?(:async_secondary_disk)
34476
+ end
34477
+ end
34478
+
34479
+ # Contains a list of InstanceGroup resources.
34480
+ class RegionInstanceGroupList
34481
+ include Google::Apis::Core::Hashable
34482
+
34483
+ # [Output Only] Unique identifier for the resource; defined by the server.
34484
+ # Corresponds to the JSON property `id`
34485
+ # @return [String]
34486
+ attr_accessor :id
34487
+
34488
+ # A list of InstanceGroup resources.
34489
+ # Corresponds to the JSON property `items`
34490
+ # @return [Array<Google::Apis::ComputeBeta::InstanceGroup>]
34491
+ attr_accessor :items
34492
+
34493
+ # The resource type.
34494
+ # Corresponds to the JSON property `kind`
34495
+ # @return [String]
34496
+ attr_accessor :kind
34497
+
34498
+ # [Output Only] This token allows you to get the next page of results for list
34499
+ # requests. If the number of results is larger than maxResults, use the
34500
+ # nextPageToken as a value for the query parameter pageToken in the next list
34501
+ # request. Subsequent list requests will have their own nextPageToken to
34502
+ # continue paging through the results.
34503
+ # Corresponds to the JSON property `nextPageToken`
34504
+ # @return [String]
34505
+ attr_accessor :next_page_token
34506
+
34507
+ # [Output Only] Server-defined URL for this resource.
34508
+ # Corresponds to the JSON property `selfLink`
34509
+ # @return [String]
34510
+ attr_accessor :self_link
34511
+
34512
+ # [Output Only] Informational warning message.
34513
+ # Corresponds to the JSON property `warning`
34514
+ # @return [Google::Apis::ComputeBeta::RegionInstanceGroupList::Warning]
34515
+ attr_accessor :warning
34516
+
34517
+ def initialize(**args)
34518
+ update!(**args)
34519
+ end
34520
+
34521
+ # Update properties of this object
34522
+ def update!(**args)
34523
+ @id = args[:id] if args.key?(:id)
34524
+ @items = args[:items] if args.key?(:items)
34525
+ @kind = args[:kind] if args.key?(:kind)
34526
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
34527
+ @self_link = args[:self_link] if args.key?(:self_link)
34528
+ @warning = args[:warning] if args.key?(:warning)
34529
+ end
34530
+
34531
+ # [Output Only] Informational warning message.
34532
+ class Warning
34533
+ include Google::Apis::Core::Hashable
34534
+
34535
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
34536
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
34537
+ # Corresponds to the JSON property `code`
34538
+ # @return [String]
34539
+ attr_accessor :code
34540
+
34541
+ # [Output Only] Metadata about this warning in key: value format. For example: "
34542
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
34543
+ # Corresponds to the JSON property `data`
34544
+ # @return [Array<Google::Apis::ComputeBeta::RegionInstanceGroupList::Warning::Datum>]
34545
+ attr_accessor :data
34546
+
34547
+ # [Output Only] A human-readable description of the warning code.
34548
+ # Corresponds to the JSON property `message`
34549
+ # @return [String]
34550
+ attr_accessor :message
34551
+
34552
+ def initialize(**args)
34553
+ update!(**args)
34554
+ end
34555
+
34556
+ # Update properties of this object
34557
+ def update!(**args)
34558
+ @code = args[:code] if args.key?(:code)
34559
+ @data = args[:data] if args.key?(:data)
34560
+ @message = args[:message] if args.key?(:message)
34561
+ end
34562
+
34563
+ #
34564
+ class Datum
34565
+ include Google::Apis::Core::Hashable
34566
+
34567
+ # [Output Only] A key that provides more detail on the warning being returned.
34568
+ # For example, for warnings where there are no results in a list request for a
34569
+ # particular zone, this key might be scope and the key value might be the zone
34570
+ # name. Other examples might be a key indicating a deprecated resource and a
34571
+ # suggested replacement, or a warning about invalid network settings (for
34572
+ # example, if an instance attempts to perform IP forwarding but is not enabled
34573
+ # for IP forwarding).
34574
+ # Corresponds to the JSON property `key`
34575
+ # @return [String]
34576
+ attr_accessor :key
34577
+
34578
+ # [Output Only] A warning data value corresponding to the key.
34579
+ # Corresponds to the JSON property `value`
34580
+ # @return [String]
34581
+ attr_accessor :value
34582
+
34583
+ def initialize(**args)
34584
+ update!(**args)
34585
+ end
34586
+
34587
+ # Update properties of this object
34588
+ def update!(**args)
34589
+ @key = args[:key] if args.key?(:key)
34590
+ @value = args[:value] if args.key?(:value)
34591
+ end
34592
+ end
34593
+ end
34594
+ end
34595
+
34596
+ # RegionInstanceGroupManagers.deletePerInstanceConfigs
34597
+ class RegionInstanceGroupManagerDeleteInstanceConfigReq
34598
+ include Google::Apis::Core::Hashable
34599
+
34600
+ # The list of instance names for which we want to delete per-instance configs on
34601
+ # this managed instance group.
34602
+ # Corresponds to the JSON property `names`
34603
+ # @return [Array<String>]
34604
+ attr_accessor :names
34605
+
34606
+ def initialize(**args)
34607
+ update!(**args)
34608
+ end
34609
+
34610
+ # Update properties of this object
34611
+ def update!(**args)
34612
+ @names = args[:names] if args.key?(:names)
34613
+ end
34614
+ end
34615
+
34616
+ # Contains a list of managed instance groups.
34617
+ class RegionInstanceGroupManagerList
34618
+ include Google::Apis::Core::Hashable
34619
+
34620
+ # [Output Only] Unique identifier for the resource; defined by the server.
34621
+ # Corresponds to the JSON property `id`
34622
+ # @return [String]
34623
+ attr_accessor :id
34624
+
34625
+ # A list of InstanceGroupManager resources.
34626
+ # Corresponds to the JSON property `items`
34627
+ # @return [Array<Google::Apis::ComputeBeta::InstanceGroupManager>]
34628
+ attr_accessor :items
34629
+
34630
+ # [Output Only] The resource type, which is always compute#
34631
+ # instanceGroupManagerList for a list of managed instance groups that exist in
34632
+ # th regional scope.
34633
+ # Corresponds to the JSON property `kind`
34634
+ # @return [String]
34635
+ attr_accessor :kind
34636
+
34637
+ # [Output Only] This token allows you to get the next page of results for list
34638
+ # requests. If the number of results is larger than maxResults, use the
34639
+ # nextPageToken as a value for the query parameter pageToken in the next list
34640
+ # request. Subsequent list requests will have their own nextPageToken to
34641
+ # continue paging through the results.
34642
+ # Corresponds to the JSON property `nextPageToken`
34643
+ # @return [String]
34644
+ attr_accessor :next_page_token
34645
+
34646
+ # [Output Only] Server-defined URL for this resource.
34647
+ # Corresponds to the JSON property `selfLink`
34648
+ # @return [String]
34649
+ attr_accessor :self_link
34650
+
34651
+ # [Output Only] Informational warning message.
34652
+ # Corresponds to the JSON property `warning`
34653
+ # @return [Google::Apis::ComputeBeta::RegionInstanceGroupManagerList::Warning]
34654
+ attr_accessor :warning
34655
+
34656
+ def initialize(**args)
34657
+ update!(**args)
34658
+ end
34659
+
34660
+ # Update properties of this object
34661
+ def update!(**args)
34662
+ @id = args[:id] if args.key?(:id)
34663
+ @items = args[:items] if args.key?(:items)
34664
+ @kind = args[:kind] if args.key?(:kind)
34665
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
34666
+ @self_link = args[:self_link] if args.key?(:self_link)
34667
+ @warning = args[:warning] if args.key?(:warning)
34668
+ end
34669
+
34670
+ # [Output Only] Informational warning message.
34671
+ class Warning
34672
+ include Google::Apis::Core::Hashable
34673
+
34674
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
34675
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
34676
+ # Corresponds to the JSON property `code`
34677
+ # @return [String]
34678
+ attr_accessor :code
34679
+
34680
+ # [Output Only] Metadata about this warning in key: value format. For example: "
34681
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
34682
+ # Corresponds to the JSON property `data`
34683
+ # @return [Array<Google::Apis::ComputeBeta::RegionInstanceGroupManagerList::Warning::Datum>]
34684
+ attr_accessor :data
34685
+
34686
+ # [Output Only] A human-readable description of the warning code.
34687
+ # Corresponds to the JSON property `message`
34688
+ # @return [String]
34689
+ attr_accessor :message
34690
+
34691
+ def initialize(**args)
34692
+ update!(**args)
34693
+ end
34694
+
34695
+ # Update properties of this object
34696
+ def update!(**args)
34697
+ @code = args[:code] if args.key?(:code)
34698
+ @data = args[:data] if args.key?(:data)
34699
+ @message = args[:message] if args.key?(:message)
34700
+ end
34701
+
34702
+ #
34703
+ class Datum
34704
+ include Google::Apis::Core::Hashable
34705
+
34706
+ # [Output Only] A key that provides more detail on the warning being returned.
34707
+ # For example, for warnings where there are no results in a list request for a
34708
+ # particular zone, this key might be scope and the key value might be the zone
34709
+ # name. Other examples might be a key indicating a deprecated resource and a
34710
+ # suggested replacement, or a warning about invalid network settings (for
34711
+ # example, if an instance attempts to perform IP forwarding but is not enabled
34712
+ # for IP forwarding).
34713
+ # Corresponds to the JSON property `key`
34714
+ # @return [String]
34715
+ attr_accessor :key
34716
+
34717
+ # [Output Only] A warning data value corresponding to the key.
34718
+ # Corresponds to the JSON property `value`
34719
+ # @return [String]
34720
+ attr_accessor :value
34721
+
34722
+ def initialize(**args)
34723
+ update!(**args)
34724
+ end
34725
+
34726
+ # Update properties of this object
34727
+ def update!(**args)
34728
+ @key = args[:key] if args.key?(:key)
34729
+ @value = args[:value] if args.key?(:value)
34730
+ end
34731
+ end
34732
+ end
34733
+ end
34734
+
34735
+ # RegionInstanceGroupManagers.patchPerInstanceConfigs
34736
+ class RegionInstanceGroupManagerPatchInstanceConfigReq
33422
34737
  include Google::Apis::Core::Hashable
33423
34738
 
33424
- # The new size of the regional persistent disk, which is specified in GB.
33425
- # Corresponds to the JSON property `sizeGb`
33426
- # @return [Fixnum]
33427
- attr_accessor :size_gb
34739
+ # The list of per-instance configurations to insert or patch on this managed
34740
+ # instance group.
34741
+ # Corresponds to the JSON property `perInstanceConfigs`
34742
+ # @return [Array<Google::Apis::ComputeBeta::PerInstanceConfig>]
34743
+ attr_accessor :per_instance_configs
33428
34744
 
33429
34745
  def initialize(**args)
33430
34746
  update!(**args)
@@ -33432,49 +34748,31 @@ module Google
33432
34748
 
33433
34749
  # Update properties of this object
33434
34750
  def update!(**args)
33435
- @size_gb = args[:size_gb] if args.key?(:size_gb)
34751
+ @per_instance_configs = args[:per_instance_configs] if args.key?(:per_instance_configs)
33436
34752
  end
33437
34753
  end
33438
34754
 
33439
34755
  #
33440
- class RegionDisksStartAsyncReplicationRequest
34756
+ class RegionInstanceGroupManagerResizeRequestsListResponse
33441
34757
  include Google::Apis::Core::Hashable
33442
34758
 
33443
- # The secondary disk to start asynchronous replication to. You can provide this
33444
- # as a partial or full URL to the resource. For example, the following are valid
33445
- # values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /
33446
- # disks/disk - https://www.googleapis.com/compute/v1/projects/project/regions/
33447
- # region /disks/disk - projects/project/zones/zone/disks/disk - projects/project/
33448
- # regions/region/disks/disk - zones/zone/disks/disk - regions/region/disks/disk
33449
- # Corresponds to the JSON property `asyncSecondaryDisk`
34759
+ #
34760
+ # Corresponds to the JSON property `etag`
33450
34761
  # @return [String]
33451
- attr_accessor :async_secondary_disk
33452
-
33453
- def initialize(**args)
33454
- update!(**args)
33455
- end
33456
-
33457
- # Update properties of this object
33458
- def update!(**args)
33459
- @async_secondary_disk = args[:async_secondary_disk] if args.key?(:async_secondary_disk)
33460
- end
33461
- end
33462
-
33463
- # Contains a list of InstanceGroup resources.
33464
- class RegionInstanceGroupList
33465
- include Google::Apis::Core::Hashable
34762
+ attr_accessor :etag
33466
34763
 
33467
34764
  # [Output Only] Unique identifier for the resource; defined by the server.
33468
34765
  # Corresponds to the JSON property `id`
33469
34766
  # @return [String]
33470
34767
  attr_accessor :id
33471
34768
 
33472
- # A list of InstanceGroup resources.
34769
+ # A list of Resize Request resources.
33473
34770
  # Corresponds to the JSON property `items`
33474
- # @return [Array<Google::Apis::ComputeBeta::InstanceGroup>]
34771
+ # @return [Array<Google::Apis::ComputeBeta::InstanceGroupManagerResizeRequest>]
33475
34772
  attr_accessor :items
33476
34773
 
33477
- # The resource type.
34774
+ # [Output Only] Type of the resource. Always compute#
34775
+ # regionInstanceGroupManagerResizeRequestList for a list of Resize Requests.
33478
34776
  # Corresponds to the JSON property `kind`
33479
34777
  # @return [String]
33480
34778
  attr_accessor :kind
@@ -33493,148 +34791,15 @@ module Google
33493
34791
  # @return [String]
33494
34792
  attr_accessor :self_link
33495
34793
 
33496
- # [Output Only] Informational warning message.
33497
- # Corresponds to the JSON property `warning`
33498
- # @return [Google::Apis::ComputeBeta::RegionInstanceGroupList::Warning]
33499
- attr_accessor :warning
33500
-
33501
- def initialize(**args)
33502
- update!(**args)
33503
- end
33504
-
33505
- # Update properties of this object
33506
- def update!(**args)
33507
- @id = args[:id] if args.key?(:id)
33508
- @items = args[:items] if args.key?(:items)
33509
- @kind = args[:kind] if args.key?(:kind)
33510
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
33511
- @self_link = args[:self_link] if args.key?(:self_link)
33512
- @warning = args[:warning] if args.key?(:warning)
33513
- end
33514
-
33515
- # [Output Only] Informational warning message.
33516
- class Warning
33517
- include Google::Apis::Core::Hashable
33518
-
33519
- # [Output Only] A warning code, if applicable. For example, Compute Engine
33520
- # returns NO_RESULTS_ON_PAGE if there are no results in the response.
33521
- # Corresponds to the JSON property `code`
33522
- # @return [String]
33523
- attr_accessor :code
33524
-
33525
- # [Output Only] Metadata about this warning in key: value format. For example: "
33526
- # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
33527
- # Corresponds to the JSON property `data`
33528
- # @return [Array<Google::Apis::ComputeBeta::RegionInstanceGroupList::Warning::Datum>]
33529
- attr_accessor :data
33530
-
33531
- # [Output Only] A human-readable description of the warning code.
33532
- # Corresponds to the JSON property `message`
33533
- # @return [String]
33534
- attr_accessor :message
33535
-
33536
- def initialize(**args)
33537
- update!(**args)
33538
- end
33539
-
33540
- # Update properties of this object
33541
- def update!(**args)
33542
- @code = args[:code] if args.key?(:code)
33543
- @data = args[:data] if args.key?(:data)
33544
- @message = args[:message] if args.key?(:message)
33545
- end
33546
-
33547
- #
33548
- class Datum
33549
- include Google::Apis::Core::Hashable
33550
-
33551
- # [Output Only] A key that provides more detail on the warning being returned.
33552
- # For example, for warnings where there are no results in a list request for a
33553
- # particular zone, this key might be scope and the key value might be the zone
33554
- # name. Other examples might be a key indicating a deprecated resource and a
33555
- # suggested replacement, or a warning about invalid network settings (for
33556
- # example, if an instance attempts to perform IP forwarding but is not enabled
33557
- # for IP forwarding).
33558
- # Corresponds to the JSON property `key`
33559
- # @return [String]
33560
- attr_accessor :key
33561
-
33562
- # [Output Only] A warning data value corresponding to the key.
33563
- # Corresponds to the JSON property `value`
33564
- # @return [String]
33565
- attr_accessor :value
33566
-
33567
- def initialize(**args)
33568
- update!(**args)
33569
- end
33570
-
33571
- # Update properties of this object
33572
- def update!(**args)
33573
- @key = args[:key] if args.key?(:key)
33574
- @value = args[:value] if args.key?(:value)
33575
- end
33576
- end
33577
- end
33578
- end
33579
-
33580
- # RegionInstanceGroupManagers.deletePerInstanceConfigs
33581
- class RegionInstanceGroupManagerDeleteInstanceConfigReq
33582
- include Google::Apis::Core::Hashable
33583
-
33584
- # The list of instance names for which we want to delete per-instance configs on
33585
- # this managed instance group.
33586
- # Corresponds to the JSON property `names`
34794
+ # [Output Only] Unreachable resources. end_interface:
34795
+ # MixerListResponseWithEtagBuilder
34796
+ # Corresponds to the JSON property `unreachables`
33587
34797
  # @return [Array<String>]
33588
- attr_accessor :names
33589
-
33590
- def initialize(**args)
33591
- update!(**args)
33592
- end
33593
-
33594
- # Update properties of this object
33595
- def update!(**args)
33596
- @names = args[:names] if args.key?(:names)
33597
- end
33598
- end
33599
-
33600
- # Contains a list of managed instance groups.
33601
- class RegionInstanceGroupManagerList
33602
- include Google::Apis::Core::Hashable
33603
-
33604
- # [Output Only] Unique identifier for the resource; defined by the server.
33605
- # Corresponds to the JSON property `id`
33606
- # @return [String]
33607
- attr_accessor :id
33608
-
33609
- # A list of InstanceGroupManager resources.
33610
- # Corresponds to the JSON property `items`
33611
- # @return [Array<Google::Apis::ComputeBeta::InstanceGroupManager>]
33612
- attr_accessor :items
33613
-
33614
- # [Output Only] The resource type, which is always compute#
33615
- # instanceGroupManagerList for a list of managed instance groups that exist in
33616
- # th regional scope.
33617
- # Corresponds to the JSON property `kind`
33618
- # @return [String]
33619
- attr_accessor :kind
33620
-
33621
- # [Output Only] This token allows you to get the next page of results for list
33622
- # requests. If the number of results is larger than maxResults, use the
33623
- # nextPageToken as a value for the query parameter pageToken in the next list
33624
- # request. Subsequent list requests will have their own nextPageToken to
33625
- # continue paging through the results.
33626
- # Corresponds to the JSON property `nextPageToken`
33627
- # @return [String]
33628
- attr_accessor :next_page_token
33629
-
33630
- # [Output Only] Server-defined URL for this resource.
33631
- # Corresponds to the JSON property `selfLink`
33632
- # @return [String]
33633
- attr_accessor :self_link
34798
+ attr_accessor :unreachables
33634
34799
 
33635
34800
  # [Output Only] Informational warning message.
33636
34801
  # Corresponds to the JSON property `warning`
33637
- # @return [Google::Apis::ComputeBeta::RegionInstanceGroupManagerList::Warning]
34802
+ # @return [Google::Apis::ComputeBeta::RegionInstanceGroupManagerResizeRequestsListResponse::Warning]
33638
34803
  attr_accessor :warning
33639
34804
 
33640
34805
  def initialize(**args)
@@ -33643,11 +34808,13 @@ module Google
33643
34808
 
33644
34809
  # Update properties of this object
33645
34810
  def update!(**args)
34811
+ @etag = args[:etag] if args.key?(:etag)
33646
34812
  @id = args[:id] if args.key?(:id)
33647
34813
  @items = args[:items] if args.key?(:items)
33648
34814
  @kind = args[:kind] if args.key?(:kind)
33649
34815
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
33650
34816
  @self_link = args[:self_link] if args.key?(:self_link)
34817
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
33651
34818
  @warning = args[:warning] if args.key?(:warning)
33652
34819
  end
33653
34820
 
@@ -33664,7 +34831,7 @@ module Google
33664
34831
  # [Output Only] Metadata about this warning in key: value format. For example: "
33665
34832
  # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
33666
34833
  # Corresponds to the JSON property `data`
33667
- # @return [Array<Google::Apis::ComputeBeta::RegionInstanceGroupManagerList::Warning::Datum>]
34834
+ # @return [Array<Google::Apis::ComputeBeta::RegionInstanceGroupManagerResizeRequestsListResponse::Warning::Datum>]
33668
34835
  attr_accessor :data
33669
34836
 
33670
34837
  # [Output Only] A human-readable description of the warning code.
@@ -33716,26 +34883,6 @@ module Google
33716
34883
  end
33717
34884
  end
33718
34885
 
33719
- # RegionInstanceGroupManagers.patchPerInstanceConfigs
33720
- class RegionInstanceGroupManagerPatchInstanceConfigReq
33721
- include Google::Apis::Core::Hashable
33722
-
33723
- # The list of per-instance configurations to insert or patch on this managed
33724
- # instance group.
33725
- # Corresponds to the JSON property `perInstanceConfigs`
33726
- # @return [Array<Google::Apis::ComputeBeta::PerInstanceConfig>]
33727
- attr_accessor :per_instance_configs
33728
-
33729
- def initialize(**args)
33730
- update!(**args)
33731
- end
33732
-
33733
- # Update properties of this object
33734
- def update!(**args)
33735
- @per_instance_configs = args[:per_instance_configs] if args.key?(:per_instance_configs)
33736
- end
33737
- end
33738
-
33739
34886
  # RegionInstanceGroupManagers.updatePerInstanceConfigs
33740
34887
  class RegionInstanceGroupManagerUpdateInstanceConfigReq
33741
34888
  include Google::Apis::Core::Hashable
@@ -34599,7 +35746,10 @@ module Google
34599
35746
  class RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse
34600
35747
  include Google::Apis::Core::Hashable
34601
35748
 
34602
- # Effective firewalls from firewall policy.
35749
+ # [Output only] Effective firewalls from firewall policy. It applies to Regional
35750
+ # Network Firewall Policies in the specified region, Global Network Firewall
35751
+ # Policies and Hierachial Firewall Policies which are associated with the
35752
+ # network.
34603
35753
  # Corresponds to the JSON property `firewallPolicys`
34604
35754
  # @return [Array<Google::Apis::ComputeBeta::RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy>]
34605
35755
  attr_accessor :firewall_policys
@@ -34634,13 +35784,18 @@ module Google
34634
35784
  # @return [String]
34635
35785
  attr_accessor :name
34636
35786
 
35787
+ # [Output only] The packet mirroring rules that apply to the network.
35788
+ # Corresponds to the JSON property `packetMirroringRules`
35789
+ # @return [Array<Google::Apis::ComputeBeta::FirewallPolicyRule>]
35790
+ attr_accessor :packet_mirroring_rules
35791
+
34637
35792
  # [Output only] Priority of firewall policy association. Not applicable for type=
34638
35793
  # HIERARCHY.
34639
35794
  # Corresponds to the JSON property `priority`
34640
35795
  # @return [Fixnum]
34641
35796
  attr_accessor :priority
34642
35797
 
34643
- # The rules that apply to the network.
35798
+ # [Output only] The rules that apply to the network.
34644
35799
  # Corresponds to the JSON property `rules`
34645
35800
  # @return [Array<Google::Apis::ComputeBeta::FirewallPolicyRule>]
34646
35801
  attr_accessor :rules
@@ -34659,6 +35814,7 @@ module Google
34659
35814
  def update!(**args)
34660
35815
  @display_name = args[:display_name] if args.key?(:display_name)
34661
35816
  @name = args[:name] if args.key?(:name)
35817
+ @packet_mirroring_rules = args[:packet_mirroring_rules] if args.key?(:packet_mirroring_rules)
34662
35818
  @priority = args[:priority] if args.key?(:priority)
34663
35819
  @rules = args[:rules] if args.key?(:rules)
34664
35820
  @type = args[:type] if args.key?(:type)
@@ -34793,9 +35949,10 @@ module Google
34793
35949
  # Director features: Routing and traffic management table. This resource defines
34794
35950
  # mappings from hostnames and URL paths to either a backend service or a backend
34795
35951
  # bucket. To use the global urlMaps resource, the backend service must have a
34796
- # loadBalancingScheme of either EXTERNAL or INTERNAL_SELF_MANAGED. To use the
34797
- # regionUrlMaps resource, the backend service must have a loadBalancingScheme of
34798
- # INTERNAL_MANAGED. For more information, read URL Map Concepts.
35952
+ # loadBalancingScheme of either EXTERNAL, EXTERNAL_MANAGED, or
35953
+ # INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service
35954
+ # must have a loadBalancingScheme of INTERNAL_MANAGED. For more information,
35955
+ # read URL Map Concepts.
34799
35956
  # Corresponds to the JSON property `resource`
34800
35957
  # @return [Google::Apis::ComputeBeta::UrlMap]
34801
35958
  attr_accessor :resource
@@ -34826,6 +35983,11 @@ module Google
34826
35983
  # @return [String]
34827
35984
  attr_accessor :backend_service
34828
35985
 
35986
+ # The percentage of requests to be mirrored to `backend_service`.
35987
+ # Corresponds to the JSON property `mirrorPercent`
35988
+ # @return [Float]
35989
+ attr_accessor :mirror_percent
35990
+
34829
35991
  def initialize(**args)
34830
35992
  update!(**args)
34831
35993
  end
@@ -34833,6 +35995,7 @@ module Google
34833
35995
  # Update properties of this object
34834
35996
  def update!(**args)
34835
35997
  @backend_service = args[:backend_service] if args.key?(:backend_service)
35998
+ @mirror_percent = args[:mirror_percent] if args.key?(:mirror_percent)
34836
35999
  end
34837
36000
  end
34838
36001
 
@@ -34874,6 +36037,11 @@ module Google
34874
36037
  # @return [String]
34875
36038
  attr_accessor :delete_at_time
34876
36039
 
36040
+ # Specifies the deployment strategy for this reservation.
36041
+ # Corresponds to the JSON property `deploymentType`
36042
+ # @return [String]
36043
+ attr_accessor :deployment_type
36044
+
34877
36045
  # An optional description of this resource. Provide this property when you
34878
36046
  # create the resource.
34879
36047
  # Corresponds to the JSON property `description`
@@ -34903,6 +36071,12 @@ module Google
34903
36071
  # @return [String]
34904
36072
  attr_accessor :name
34905
36073
 
36074
+ # Specify the reservation sharing policy. If unspecified, the reservation will
36075
+ # not be shared with Google Cloud managed services.
36076
+ # Corresponds to the JSON property `reservationSharingPolicy`
36077
+ # @return [Google::Apis::ComputeBeta::AllocationReservationSharingPolicy]
36078
+ attr_accessor :reservation_sharing_policy
36079
+
34906
36080
  # Resource policies to be added to this reservation. The key is defined by user,
34907
36081
  # and the value is resource policy url. This is to define placement policy with
34908
36082
  # reservation.
@@ -34944,7 +36118,10 @@ module Google
34944
36118
  attr_accessor :specific_reservation_required
34945
36119
  alias_method :specific_reservation_required?, :specific_reservation_required
34946
36120
 
34947
- # [Output Only] The status of the reservation.
36121
+ # [Output Only] The status of the reservation. - CREATING: Reservation resources
36122
+ # are being allocated. - READY: Reservation resources have been allocated, and
36123
+ # the reservation is ready for use. - DELETING: Reservation deletion is in
36124
+ # progress. - UPDATING: Reservation update is in progress.
34948
36125
  # Corresponds to the JSON property `status`
34949
36126
  # @return [String]
34950
36127
  attr_accessor :status
@@ -34966,10 +36143,12 @@ module Google
34966
36143
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
34967
36144
  @delete_after_duration = args[:delete_after_duration] if args.key?(:delete_after_duration)
34968
36145
  @delete_at_time = args[:delete_at_time] if args.key?(:delete_at_time)
36146
+ @deployment_type = args[:deployment_type] if args.key?(:deployment_type)
34969
36147
  @description = args[:description] if args.key?(:description)
34970
36148
  @id = args[:id] if args.key?(:id)
34971
36149
  @kind = args[:kind] if args.key?(:kind)
34972
36150
  @name = args[:name] if args.key?(:name)
36151
+ @reservation_sharing_policy = args[:reservation_sharing_policy] if args.key?(:reservation_sharing_policy)
34973
36152
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
34974
36153
  @resource_status = args[:resource_status] if args.key?(:resource_status)
34975
36154
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
@@ -35143,6 +36322,259 @@ module Google
35143
36322
  end
35144
36323
  end
35145
36324
 
36325
+ # Represents a reservation block resource.
36326
+ class ReservationBlock
36327
+ include Google::Apis::Core::Hashable
36328
+
36329
+ # [Output Only] The number of resources that are allocated in this reservation
36330
+ # block.
36331
+ # Corresponds to the JSON property `count`
36332
+ # @return [Fixnum]
36333
+ attr_accessor :count
36334
+
36335
+ # [Output Only] Creation timestamp in RFC3339 text format.
36336
+ # Corresponds to the JSON property `creationTimestamp`
36337
+ # @return [String]
36338
+ attr_accessor :creation_timestamp
36339
+
36340
+ # [Output Only] The unique identifier for the resource. This identifier is
36341
+ # defined by the server.
36342
+ # Corresponds to the JSON property `id`
36343
+ # @return [Fixnum]
36344
+ attr_accessor :id
36345
+
36346
+ # [Output Only] The number of instances that are currently in use on this
36347
+ # reservation block.
36348
+ # Corresponds to the JSON property `inUseCount`
36349
+ # @return [Fixnum]
36350
+ attr_accessor :in_use_count
36351
+
36352
+ # [Output Only] Type of the resource. Always compute#reservationBlock for
36353
+ # reservation blocks.
36354
+ # Corresponds to the JSON property `kind`
36355
+ # @return [String]
36356
+ attr_accessor :kind
36357
+
36358
+ # [Output Only] The name of this reservation block generated by Google Compute
36359
+ # Engine. The name must be 1-63 characters long, and comply with RFC1035 @
36360
+ # pattern [a-z](?:[-a-z0-9]`0,61`[a-z0-9])?
36361
+ # Corresponds to the JSON property `name`
36362
+ # @return [String]
36363
+ attr_accessor :name
36364
+
36365
+ # [Output Only] The physical topology of the reservation block.
36366
+ # Corresponds to the JSON property `physicalTopology`
36367
+ # @return [Google::Apis::ComputeBeta::ReservationBlockPhysicalTopology]
36368
+ attr_accessor :physical_topology
36369
+
36370
+ # Maintenance Info for ReservationBlocks.
36371
+ # Corresponds to the JSON property `reservationMaintenance`
36372
+ # @return [Google::Apis::ComputeBeta::GroupMaintenanceInfo]
36373
+ attr_accessor :reservation_maintenance
36374
+
36375
+ # [Output Only] Server-defined fully-qualified URL for this resource.
36376
+ # Corresponds to the JSON property `selfLink`
36377
+ # @return [String]
36378
+ attr_accessor :self_link
36379
+
36380
+ # [Output Only] Server-defined URL for this resource with the resource id.
36381
+ # Corresponds to the JSON property `selfLinkWithId`
36382
+ # @return [String]
36383
+ attr_accessor :self_link_with_id
36384
+
36385
+ # [Output Only] Status of the reservation block.
36386
+ # Corresponds to the JSON property `status`
36387
+ # @return [String]
36388
+ attr_accessor :status
36389
+
36390
+ # [Output Only] Zone in which the reservation block resides.
36391
+ # Corresponds to the JSON property `zone`
36392
+ # @return [String]
36393
+ attr_accessor :zone
36394
+
36395
+ def initialize(**args)
36396
+ update!(**args)
36397
+ end
36398
+
36399
+ # Update properties of this object
36400
+ def update!(**args)
36401
+ @count = args[:count] if args.key?(:count)
36402
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
36403
+ @id = args[:id] if args.key?(:id)
36404
+ @in_use_count = args[:in_use_count] if args.key?(:in_use_count)
36405
+ @kind = args[:kind] if args.key?(:kind)
36406
+ @name = args[:name] if args.key?(:name)
36407
+ @physical_topology = args[:physical_topology] if args.key?(:physical_topology)
36408
+ @reservation_maintenance = args[:reservation_maintenance] if args.key?(:reservation_maintenance)
36409
+ @self_link = args[:self_link] if args.key?(:self_link)
36410
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
36411
+ @status = args[:status] if args.key?(:status)
36412
+ @zone = args[:zone] if args.key?(:zone)
36413
+ end
36414
+ end
36415
+
36416
+ #
36417
+ class ReservationBlockPhysicalTopology
36418
+ include Google::Apis::Core::Hashable
36419
+
36420
+ # The hash of the capacity block within the cluster.
36421
+ # Corresponds to the JSON property `block`
36422
+ # @return [String]
36423
+ attr_accessor :block
36424
+
36425
+ # The cluster name of the reservation block.
36426
+ # Corresponds to the JSON property `cluster`
36427
+ # @return [String]
36428
+ attr_accessor :cluster
36429
+
36430
+ def initialize(**args)
36431
+ update!(**args)
36432
+ end
36433
+
36434
+ # Update properties of this object
36435
+ def update!(**args)
36436
+ @block = args[:block] if args.key?(:block)
36437
+ @cluster = args[:cluster] if args.key?(:cluster)
36438
+ end
36439
+ end
36440
+
36441
+ #
36442
+ class ReservationBlocksGetResponse
36443
+ include Google::Apis::Core::Hashable
36444
+
36445
+ # Represents a reservation block resource.
36446
+ # Corresponds to the JSON property `resource`
36447
+ # @return [Google::Apis::ComputeBeta::ReservationBlock]
36448
+ attr_accessor :resource
36449
+
36450
+ def initialize(**args)
36451
+ update!(**args)
36452
+ end
36453
+
36454
+ # Update properties of this object
36455
+ def update!(**args)
36456
+ @resource = args[:resource] if args.key?(:resource)
36457
+ end
36458
+ end
36459
+
36460
+ # A list of reservation blocks under a single reservation.
36461
+ class ReservationBlocksListResponse
36462
+ include Google::Apis::Core::Hashable
36463
+
36464
+ # Unique identifier for the resource; defined by the server.
36465
+ # Corresponds to the JSON property `id`
36466
+ # @return [String]
36467
+ attr_accessor :id
36468
+
36469
+ # A list of reservation block resources.
36470
+ # Corresponds to the JSON property `items`
36471
+ # @return [Array<Google::Apis::ComputeBeta::ReservationBlock>]
36472
+ attr_accessor :items
36473
+
36474
+ # Type of the resource. Always compute#reservationBlock for a list of
36475
+ # reservation blocks.
36476
+ # Corresponds to the JSON property `kind`
36477
+ # @return [String]
36478
+ attr_accessor :kind
36479
+
36480
+ # This token allows you to get the next page of results for list requests. If
36481
+ # the number of results is larger than maxResults, use the nextPageToken as a
36482
+ # value for the query parameter pageToken in the next list request. Subsequent
36483
+ # list requests will have their own nextPageToken to continue paging through the
36484
+ # results.
36485
+ # Corresponds to the JSON property `nextPageToken`
36486
+ # @return [String]
36487
+ attr_accessor :next_page_token
36488
+
36489
+ # Server-defined URL for this resource.
36490
+ # Corresponds to the JSON property `selfLink`
36491
+ # @return [String]
36492
+ attr_accessor :self_link
36493
+
36494
+ # Informational warning message.
36495
+ # Corresponds to the JSON property `warning`
36496
+ # @return [Google::Apis::ComputeBeta::ReservationBlocksListResponse::Warning]
36497
+ attr_accessor :warning
36498
+
36499
+ def initialize(**args)
36500
+ update!(**args)
36501
+ end
36502
+
36503
+ # Update properties of this object
36504
+ def update!(**args)
36505
+ @id = args[:id] if args.key?(:id)
36506
+ @items = args[:items] if args.key?(:items)
36507
+ @kind = args[:kind] if args.key?(:kind)
36508
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
36509
+ @self_link = args[:self_link] if args.key?(:self_link)
36510
+ @warning = args[:warning] if args.key?(:warning)
36511
+ end
36512
+
36513
+ # Informational warning message.
36514
+ class Warning
36515
+ include Google::Apis::Core::Hashable
36516
+
36517
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
36518
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
36519
+ # Corresponds to the JSON property `code`
36520
+ # @return [String]
36521
+ attr_accessor :code
36522
+
36523
+ # [Output Only] Metadata about this warning in key: value format. For example: "
36524
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
36525
+ # Corresponds to the JSON property `data`
36526
+ # @return [Array<Google::Apis::ComputeBeta::ReservationBlocksListResponse::Warning::Datum>]
36527
+ attr_accessor :data
36528
+
36529
+ # [Output Only] A human-readable description of the warning code.
36530
+ # Corresponds to the JSON property `message`
36531
+ # @return [String]
36532
+ attr_accessor :message
36533
+
36534
+ def initialize(**args)
36535
+ update!(**args)
36536
+ end
36537
+
36538
+ # Update properties of this object
36539
+ def update!(**args)
36540
+ @code = args[:code] if args.key?(:code)
36541
+ @data = args[:data] if args.key?(:data)
36542
+ @message = args[:message] if args.key?(:message)
36543
+ end
36544
+
36545
+ #
36546
+ class Datum
36547
+ include Google::Apis::Core::Hashable
36548
+
36549
+ # [Output Only] A key that provides more detail on the warning being returned.
36550
+ # For example, for warnings where there are no results in a list request for a
36551
+ # particular zone, this key might be scope and the key value might be the zone
36552
+ # name. Other examples might be a key indicating a deprecated resource and a
36553
+ # suggested replacement, or a warning about invalid network settings (for
36554
+ # example, if an instance attempts to perform IP forwarding but is not enabled
36555
+ # for IP forwarding).
36556
+ # Corresponds to the JSON property `key`
36557
+ # @return [String]
36558
+ attr_accessor :key
36559
+
36560
+ # [Output Only] A warning data value corresponding to the key.
36561
+ # Corresponds to the JSON property `value`
36562
+ # @return [String]
36563
+ attr_accessor :value
36564
+
36565
+ def initialize(**args)
36566
+ update!(**args)
36567
+ end
36568
+
36569
+ # Update properties of this object
36570
+ def update!(**args)
36571
+ @key = args[:key] if args.key?(:key)
36572
+ @value = args[:value] if args.key?(:value)
36573
+ end
36574
+ end
36575
+ end
36576
+ end
36577
+
35146
36578
  #
35147
36579
  class ReservationList
35148
36580
  include Google::Apis::Core::Hashable
@@ -35606,6 +37038,11 @@ module Google
35606
37038
  # @return [String]
35607
37039
  attr_accessor :status
35608
37040
 
37041
+ # Represents the workload policy.
37042
+ # Corresponds to the JSON property `workloadPolicy`
37043
+ # @return [Google::Apis::ComputeBeta::ResourcePolicyWorkloadPolicy]
37044
+ attr_accessor :workload_policy
37045
+
35609
37046
  def initialize(**args)
35610
37047
  update!(**args)
35611
37048
  end
@@ -35625,6 +37062,7 @@ module Google
35625
37062
  @self_link = args[:self_link] if args.key?(:self_link)
35626
37063
  @snapshot_schedule_policy = args[:snapshot_schedule_policy] if args.key?(:snapshot_schedule_policy)
35627
37064
  @status = args[:status] if args.key?(:status)
37065
+ @workload_policy = args[:workload_policy] if args.key?(:workload_policy)
35628
37066
  end
35629
37067
  end
35630
37068
 
@@ -36317,22 +37755,53 @@ module Google
36317
37755
  end
36318
37756
  end
36319
37757
 
37758
+ # Represents the workload policy.
37759
+ class ResourcePolicyWorkloadPolicy
37760
+ include Google::Apis::Core::Hashable
37761
+
37762
+ #
37763
+ # Corresponds to the JSON property `type`
37764
+ # @return [String]
37765
+ attr_accessor :type
37766
+
37767
+ def initialize(**args)
37768
+ update!(**args)
37769
+ end
37770
+
37771
+ # Update properties of this object
37772
+ def update!(**args)
37773
+ @type = args[:type] if args.key?(:type)
37774
+ end
37775
+ end
37776
+
36320
37777
  # Contains output only fields. Use this sub-message for actual values set on
36321
37778
  # Instance attributes as compared to the value requested by the user (intent) in
36322
37779
  # their instance CRUD calls.
36323
37780
  class ResourceStatus
36324
37781
  include Google::Apis::Core::Hashable
36325
37782
 
36326
- # [Output Only] An opaque ID of the host on which the VM is running.
37783
+ # [Output Only] The precise location of your instance within the zone's data
37784
+ # center, including the block, sub-block, and host. The field is formatted as
37785
+ # follows: blockId/subBlockId/hostId.
36327
37786
  # Corresponds to the JSON property `physicalHost`
36328
37787
  # @return [String]
36329
37788
  attr_accessor :physical_host
36330
37789
 
37790
+ # Represents the physical host topology of the host on which the VM is running.
37791
+ # Corresponds to the JSON property `physicalHostTopology`
37792
+ # @return [Google::Apis::ComputeBeta::ResourceStatusPhysicalHostTopology]
37793
+ attr_accessor :physical_host_topology
37794
+
36331
37795
  #
36332
37796
  # Corresponds to the JSON property `scheduling`
36333
37797
  # @return [Google::Apis::ComputeBeta::ResourceStatusScheduling]
36334
37798
  attr_accessor :scheduling
36335
37799
 
37800
+ # [Output Only] Details about the instance stopping state.
37801
+ # Corresponds to the JSON property `shutdownDetails`
37802
+ # @return [Google::Apis::ComputeBeta::ResourceStatusShutdownDetails]
37803
+ attr_accessor :shutdown_details
37804
+
36336
37805
  # Upcoming Maintenance notification information.
36337
37806
  # Corresponds to the JSON property `upcomingMaintenance`
36338
37807
  # @return [Google::Apis::ComputeBeta::UpcomingMaintenance]
@@ -36345,11 +37814,55 @@ module Google
36345
37814
  # Update properties of this object
36346
37815
  def update!(**args)
36347
37816
  @physical_host = args[:physical_host] if args.key?(:physical_host)
37817
+ @physical_host_topology = args[:physical_host_topology] if args.key?(:physical_host_topology)
36348
37818
  @scheduling = args[:scheduling] if args.key?(:scheduling)
37819
+ @shutdown_details = args[:shutdown_details] if args.key?(:shutdown_details)
36349
37820
  @upcoming_maintenance = args[:upcoming_maintenance] if args.key?(:upcoming_maintenance)
36350
37821
  end
36351
37822
  end
36352
37823
 
37824
+ # Represents the physical host topology of the host on which the VM is running.
37825
+ class ResourceStatusPhysicalHostTopology
37826
+ include Google::Apis::Core::Hashable
37827
+
37828
+ # [Output Only] The ID of the block in which the running instance is located.
37829
+ # Instances within the same block experience low network latency.
37830
+ # Corresponds to the JSON property `block`
37831
+ # @return [String]
37832
+ attr_accessor :block
37833
+
37834
+ # [Output Only] The global name of the Compute Engine cluster where the running
37835
+ # instance is located.
37836
+ # Corresponds to the JSON property `cluster`
37837
+ # @return [String]
37838
+ attr_accessor :cluster
37839
+
37840
+ # [Output Only] The ID of the host on which the running instance is located.
37841
+ # Instances on the same host experience the lowest possible network latency.
37842
+ # Corresponds to the JSON property `host`
37843
+ # @return [String]
37844
+ attr_accessor :host
37845
+
37846
+ # [Output Only] The ID of the sub-block in which the running instance is located.
37847
+ # Instances in the same sub-block experience lower network latency than
37848
+ # instances in the same block.
37849
+ # Corresponds to the JSON property `subblock`
37850
+ # @return [String]
37851
+ attr_accessor :subblock
37852
+
37853
+ def initialize(**args)
37854
+ update!(**args)
37855
+ end
37856
+
37857
+ # Update properties of this object
37858
+ def update!(**args)
37859
+ @block = args[:block] if args.key?(:block)
37860
+ @cluster = args[:cluster] if args.key?(:cluster)
37861
+ @host = args[:host] if args.key?(:host)
37862
+ @subblock = args[:subblock] if args.key?(:subblock)
37863
+ end
37864
+ end
37865
+
36353
37866
  #
36354
37867
  class ResourceStatusScheduling
36355
37868
  include Google::Apis::Core::Hashable
@@ -36377,6 +37890,46 @@ module Google
36377
37890
  end
36378
37891
  end
36379
37892
 
37893
+ #
37894
+ class ResourceStatusShutdownDetails
37895
+ include Google::Apis::Core::Hashable
37896
+
37897
+ # A Duration represents a fixed-length span of time represented as a count of
37898
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
37899
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
37900
+ # 000 years.
37901
+ # Corresponds to the JSON property `maxDuration`
37902
+ # @return [Google::Apis::ComputeBeta::Duration]
37903
+ attr_accessor :max_duration
37904
+
37905
+ #
37906
+ # Corresponds to the JSON property `requestTimestamp`
37907
+ # @return [String]
37908
+ attr_accessor :request_timestamp
37909
+
37910
+ #
37911
+ # Corresponds to the JSON property `stopState`
37912
+ # @return [String]
37913
+ attr_accessor :stop_state
37914
+
37915
+ #
37916
+ # Corresponds to the JSON property `targetState`
37917
+ # @return [String]
37918
+ attr_accessor :target_state
37919
+
37920
+ def initialize(**args)
37921
+ update!(**args)
37922
+ end
37923
+
37924
+ # Update properties of this object
37925
+ def update!(**args)
37926
+ @max_duration = args[:max_duration] if args.key?(:max_duration)
37927
+ @request_timestamp = args[:request_timestamp] if args.key?(:request_timestamp)
37928
+ @stop_state = args[:stop_state] if args.key?(:stop_state)
37929
+ @target_state = args[:target_state] if args.key?(:target_state)
37930
+ end
37931
+ end
37932
+
36380
37933
  # A rollout policy configuration.
36381
37934
  class RolloutPolicy
36382
37935
  include Google::Apis::Core::Hashable
@@ -36496,6 +38049,13 @@ module Google
36496
38049
  # @return [String]
36497
38050
  attr_accessor :next_hop_instance
36498
38051
 
38052
+ # [Output only] Internal fixed region-to-region cost that Google Cloud
38053
+ # calculates based on factors such as network performance, distance, and
38054
+ # available bandwidth between regions.
38055
+ # Corresponds to the JSON property `nextHopInterRegionCost`
38056
+ # @return [Fixnum]
38057
+ attr_accessor :next_hop_inter_region_cost
38058
+
36499
38059
  # [Output Only] The URL to an InterconnectAttachment which is the next hop for
36500
38060
  # the route. This field will only be populated for the dynamic routes generated
36501
38061
  # by Cloud Router with a linked interconnectAttachment.
@@ -36513,11 +38073,23 @@ module Google
36513
38073
  # @return [String]
36514
38074
  attr_accessor :next_hop_ip
36515
38075
 
38076
+ # [Output Only] Multi-Exit Discriminator, a BGP route metric that indicates the
38077
+ # desirability of a particular route in a network.
38078
+ # Corresponds to the JSON property `nextHopMed`
38079
+ # @return [Fixnum]
38080
+ attr_accessor :next_hop_med
38081
+
36516
38082
  # The URL of the local network if it should handle matching packets.
36517
38083
  # Corresponds to the JSON property `nextHopNetwork`
36518
38084
  # @return [String]
36519
38085
  attr_accessor :next_hop_network
36520
38086
 
38087
+ # [Output Only] Indicates the origin of the route. Can be IGP (Interior Gateway
38088
+ # Protocol), EGP (Exterior Gateway Protocol), or INCOMPLETE.
38089
+ # Corresponds to the JSON property `nextHopOrigin`
38090
+ # @return [String]
38091
+ attr_accessor :next_hop_origin
38092
+
36521
38093
  # [Output Only] The network peering name that should handle matching packets,
36522
38094
  # which should conform to RFC1035.
36523
38095
  # Corresponds to the JSON property `nextHopPeering`
@@ -36586,9 +38158,12 @@ module Google
36586
38158
  @next_hop_hub = args[:next_hop_hub] if args.key?(:next_hop_hub)
36587
38159
  @next_hop_ilb = args[:next_hop_ilb] if args.key?(:next_hop_ilb)
36588
38160
  @next_hop_instance = args[:next_hop_instance] if args.key?(:next_hop_instance)
38161
+ @next_hop_inter_region_cost = args[:next_hop_inter_region_cost] if args.key?(:next_hop_inter_region_cost)
36589
38162
  @next_hop_interconnect_attachment = args[:next_hop_interconnect_attachment] if args.key?(:next_hop_interconnect_attachment)
36590
38163
  @next_hop_ip = args[:next_hop_ip] if args.key?(:next_hop_ip)
38164
+ @next_hop_med = args[:next_hop_med] if args.key?(:next_hop_med)
36591
38165
  @next_hop_network = args[:next_hop_network] if args.key?(:next_hop_network)
38166
+ @next_hop_origin = args[:next_hop_origin] if args.key?(:next_hop_origin)
36592
38167
  @next_hop_peering = args[:next_hop_peering] if args.key?(:next_hop_peering)
36593
38168
  @next_hop_vpn_tunnel = args[:next_hop_vpn_tunnel] if args.key?(:next_hop_vpn_tunnel)
36594
38169
  @priority = args[:priority] if args.key?(:priority)
@@ -36816,6 +38391,11 @@ module Google
36816
38391
  class RoutePolicy
36817
38392
  include Google::Apis::Core::Hashable
36818
38393
 
38394
+ # An optional description of route policy.
38395
+ # Corresponds to the JSON property `description`
38396
+ # @return [String]
38397
+ attr_accessor :description
38398
+
36819
38399
  # A fingerprint for the Route Policy being applied to this Router, which is
36820
38400
  # essentially a hash of the Route Policy used for optimistic locking. The
36821
38401
  # fingerprint is initially generated by Compute Engine and changes after every
@@ -36851,6 +38431,7 @@ module Google
36851
38431
 
36852
38432
  # Update properties of this object
36853
38433
  def update!(**args)
38434
+ @description = args[:description] if args.key?(:description)
36854
38435
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
36855
38436
  @name = args[:name] if args.key?(:name)
36856
38437
  @terms = args[:terms] if args.key?(:terms)
@@ -37837,6 +39418,13 @@ module Google
37837
39418
  # @return [String]
37838
39419
  attr_accessor :name
37839
39420
 
39421
+ # List of Subnetwork resources whose traffic should be translated by NAT64
39422
+ # Gateway. It is used only when LIST_OF_IPV6_SUBNETWORKS is selected for the
39423
+ # SubnetworkIpRangeToNat64Option above.
39424
+ # Corresponds to the JSON property `nat64Subnetworks`
39425
+ # @return [Array<Google::Apis::ComputeBeta::RouterNatSubnetworkToNat64>]
39426
+ attr_accessor :nat64_subnetworks
39427
+
37840
39428
  # Specify the NatIpAllocateOption, which can take one of the following values: -
37841
39429
  # MANUAL_ONLY: Uses only Nat IP addresses provided by customers. When there are
37842
39430
  # not enough specified Nat IPs, the Nat service fails for new VMs. - AUTO_ONLY:
@@ -37869,6 +39457,18 @@ module Google
37869
39457
  # @return [String]
37870
39458
  attr_accessor :source_subnetwork_ip_ranges_to_nat
37871
39459
 
39460
+ # Specify the Nat option for NAT64, which can take one of the following values: -
39461
+ # ALL_IPV6_SUBNETWORKS: All of the IP ranges in every Subnetwork are allowed to
39462
+ # Nat. - LIST_OF_IPV6_SUBNETWORKS: A list of Subnetworks are allowed to Nat (
39463
+ # specified in the field nat64_subnetwork below) The default is
39464
+ # NAT64_OPTION_UNSPECIFIED. Note that if this field contains
39465
+ # NAT64_ALL_V6_SUBNETWORKS no other Router.Nat section in this region can also
39466
+ # enable NAT64 for any Subnetworks in this network. Other Router.Nat sections
39467
+ # can still be present to enable NAT44 only.
39468
+ # Corresponds to the JSON property `sourceSubnetworkIpRangesToNat64`
39469
+ # @return [String]
39470
+ attr_accessor :source_subnetwork_ip_ranges_to_nat64
39471
+
37872
39472
  # A list of Subnetwork resources whose traffic should be translated by NAT
37873
39473
  # Gateway. It is used only when LIST_OF_SUBNETWORKS is selected for the
37874
39474
  # SubnetworkIpRangeToNatOption above.
@@ -37921,10 +39521,12 @@ module Google
37921
39521
  @max_ports_per_vm = args[:max_ports_per_vm] if args.key?(:max_ports_per_vm)
37922
39522
  @min_ports_per_vm = args[:min_ports_per_vm] if args.key?(:min_ports_per_vm)
37923
39523
  @name = args[:name] if args.key?(:name)
39524
+ @nat64_subnetworks = args[:nat64_subnetworks] if args.key?(:nat64_subnetworks)
37924
39525
  @nat_ip_allocate_option = args[:nat_ip_allocate_option] if args.key?(:nat_ip_allocate_option)
37925
39526
  @nat_ips = args[:nat_ips] if args.key?(:nat_ips)
37926
39527
  @rules = args[:rules] if args.key?(:rules)
37927
39528
  @source_subnetwork_ip_ranges_to_nat = args[:source_subnetwork_ip_ranges_to_nat] if args.key?(:source_subnetwork_ip_ranges_to_nat)
39529
+ @source_subnetwork_ip_ranges_to_nat64 = args[:source_subnetwork_ip_ranges_to_nat64] if args.key?(:source_subnetwork_ip_ranges_to_nat64)
37928
39530
  @subnetworks = args[:subnetworks] if args.key?(:subnetworks)
37929
39531
  @tcp_established_idle_timeout_sec = args[:tcp_established_idle_timeout_sec] if args.key?(:tcp_established_idle_timeout_sec)
37930
39532
  @tcp_time_wait_timeout_sec = args[:tcp_time_wait_timeout_sec] if args.key?(:tcp_time_wait_timeout_sec)
@@ -38092,6 +39694,25 @@ module Google
38092
39694
  end
38093
39695
  end
38094
39696
 
39697
+ # Specifies a subnetwork to enable NAT64.
39698
+ class RouterNatSubnetworkToNat64
39699
+ include Google::Apis::Core::Hashable
39700
+
39701
+ # URL for the subnetwork resource that will use NAT64.
39702
+ # Corresponds to the JSON property `name`
39703
+ # @return [String]
39704
+ attr_accessor :name
39705
+
39706
+ def initialize(**args)
39707
+ update!(**args)
39708
+ end
39709
+
39710
+ # Update properties of this object
39711
+ def update!(**args)
39712
+ @name = args[:name] if args.key?(:name)
39713
+ end
39714
+ end
39715
+
38095
39716
  #
38096
39717
  class RouterStatus
38097
39718
  include Google::Apis::Core::Hashable
@@ -38577,286 +40198,55 @@ module Google
38577
40198
  end
38578
40199
  end
38579
40200
 
38580
- #
38581
- class RoutersListRoutePolicies
38582
- include Google::Apis::Core::Hashable
38583
-
38584
- #
38585
- # Corresponds to the JSON property `etag`
38586
- # @return [String]
38587
- attr_accessor :etag
38588
-
38589
- # [Output Only] The unique identifier for the resource. This identifier is
38590
- # defined by the server.
38591
- # Corresponds to the JSON property `id`
38592
- # @return [String]
38593
- attr_accessor :id
38594
-
38595
- # [Output Only] Type of resource. Always compute#routersListRoutePolicies for
38596
- # lists of route policies.
38597
- # Corresponds to the JSON property `kind`
38598
- # @return [String]
38599
- attr_accessor :kind
38600
-
38601
- # [Output Only] This token allows you to get the next page of results for list
38602
- # requests. If the number of results is larger than maxResults, use the
38603
- # nextPageToken as a value for the query parameter pageToken in the next list
38604
- # request. Subsequent list requests will have their own nextPageToken to
38605
- # continue paging through the results.
38606
- # Corresponds to the JSON property `nextPageToken`
38607
- # @return [String]
38608
- attr_accessor :next_page_token
38609
-
38610
- # [Output Only] A list of route policies.
38611
- # Corresponds to the JSON property `result`
38612
- # @return [Array<Google::Apis::ComputeBeta::RoutePolicy>]
38613
- attr_accessor :result
38614
-
38615
- # [Output Only] Server-defined URL for this resource.
38616
- # Corresponds to the JSON property `selfLink`
38617
- # @return [String]
38618
- attr_accessor :self_link
38619
-
38620
- # [Output Only] Unreachable resources.
38621
- # Corresponds to the JSON property `unreachables`
38622
- # @return [Array<String>]
38623
- attr_accessor :unreachables
38624
-
38625
- # [Output Only] Informational warning message.
38626
- # Corresponds to the JSON property `warning`
38627
- # @return [Google::Apis::ComputeBeta::RoutersListRoutePolicies::Warning]
38628
- attr_accessor :warning
38629
-
38630
- def initialize(**args)
38631
- update!(**args)
38632
- end
38633
-
38634
- # Update properties of this object
38635
- def update!(**args)
38636
- @etag = args[:etag] if args.key?(:etag)
38637
- @id = args[:id] if args.key?(:id)
38638
- @kind = args[:kind] if args.key?(:kind)
38639
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
38640
- @result = args[:result] if args.key?(:result)
38641
- @self_link = args[:self_link] if args.key?(:self_link)
38642
- @unreachables = args[:unreachables] if args.key?(:unreachables)
38643
- @warning = args[:warning] if args.key?(:warning)
38644
- end
38645
-
38646
- # [Output Only] Informational warning message.
38647
- class Warning
38648
- include Google::Apis::Core::Hashable
38649
-
38650
- # [Output Only] A warning code, if applicable. For example, Compute Engine
38651
- # returns NO_RESULTS_ON_PAGE if there are no results in the response.
38652
- # Corresponds to the JSON property `code`
38653
- # @return [String]
38654
- attr_accessor :code
38655
-
38656
- # [Output Only] Metadata about this warning in key: value format. For example: "
38657
- # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
38658
- # Corresponds to the JSON property `data`
38659
- # @return [Array<Google::Apis::ComputeBeta::RoutersListRoutePolicies::Warning::Datum>]
38660
- attr_accessor :data
38661
-
38662
- # [Output Only] A human-readable description of the warning code.
38663
- # Corresponds to the JSON property `message`
38664
- # @return [String]
38665
- attr_accessor :message
38666
-
38667
- def initialize(**args)
38668
- update!(**args)
38669
- end
38670
-
38671
- # Update properties of this object
38672
- def update!(**args)
38673
- @code = args[:code] if args.key?(:code)
38674
- @data = args[:data] if args.key?(:data)
38675
- @message = args[:message] if args.key?(:message)
38676
- end
38677
-
38678
- #
38679
- class Datum
38680
- include Google::Apis::Core::Hashable
38681
-
38682
- # [Output Only] A key that provides more detail on the warning being returned.
38683
- # For example, for warnings where there are no results in a list request for a
38684
- # particular zone, this key might be scope and the key value might be the zone
38685
- # name. Other examples might be a key indicating a deprecated resource and a
38686
- # suggested replacement, or a warning about invalid network settings (for
38687
- # example, if an instance attempts to perform IP forwarding but is not enabled
38688
- # for IP forwarding).
38689
- # Corresponds to the JSON property `key`
38690
- # @return [String]
38691
- attr_accessor :key
38692
-
38693
- # [Output Only] A warning data value corresponding to the key.
38694
- # Corresponds to the JSON property `value`
38695
- # @return [String]
38696
- attr_accessor :value
38697
-
38698
- def initialize(**args)
38699
- update!(**args)
38700
- end
38701
-
38702
- # Update properties of this object
38703
- def update!(**args)
38704
- @key = args[:key] if args.key?(:key)
38705
- @value = args[:value] if args.key?(:value)
38706
- end
38707
- end
38708
- end
38709
- end
38710
-
38711
- #
38712
- class RoutersPreviewResponse
38713
- include Google::Apis::Core::Hashable
38714
-
38715
- # Represents a Cloud Router resource. For more information about Cloud Router,
38716
- # read the Cloud Router overview.
38717
- # Corresponds to the JSON property `resource`
38718
- # @return [Google::Apis::ComputeBeta::Router]
38719
- attr_accessor :resource
38720
-
38721
- def initialize(**args)
38722
- update!(**args)
38723
- end
38724
-
38725
- # Update properties of this object
38726
- def update!(**args)
38727
- @resource = args[:resource] if args.key?(:resource)
38728
- end
38729
- end
38730
-
38731
- #
38732
- class RoutersScopedList
38733
- include Google::Apis::Core::Hashable
38734
-
38735
- # A list of routers contained in this scope.
38736
- # Corresponds to the JSON property `routers`
38737
- # @return [Array<Google::Apis::ComputeBeta::Router>]
38738
- attr_accessor :routers
38739
-
38740
- # Informational warning which replaces the list of routers when the list is
38741
- # empty.
38742
- # Corresponds to the JSON property `warning`
38743
- # @return [Google::Apis::ComputeBeta::RoutersScopedList::Warning]
38744
- attr_accessor :warning
38745
-
38746
- def initialize(**args)
38747
- update!(**args)
38748
- end
38749
-
38750
- # Update properties of this object
38751
- def update!(**args)
38752
- @routers = args[:routers] if args.key?(:routers)
38753
- @warning = args[:warning] if args.key?(:warning)
38754
- end
38755
-
38756
- # Informational warning which replaces the list of routers when the list is
38757
- # empty.
38758
- class Warning
38759
- include Google::Apis::Core::Hashable
38760
-
38761
- # [Output Only] A warning code, if applicable. For example, Compute Engine
38762
- # returns NO_RESULTS_ON_PAGE if there are no results in the response.
38763
- # Corresponds to the JSON property `code`
38764
- # @return [String]
38765
- attr_accessor :code
38766
-
38767
- # [Output Only] Metadata about this warning in key: value format. For example: "
38768
- # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
38769
- # Corresponds to the JSON property `data`
38770
- # @return [Array<Google::Apis::ComputeBeta::RoutersScopedList::Warning::Datum>]
38771
- attr_accessor :data
38772
-
38773
- # [Output Only] A human-readable description of the warning code.
38774
- # Corresponds to the JSON property `message`
38775
- # @return [String]
38776
- attr_accessor :message
38777
-
38778
- def initialize(**args)
38779
- update!(**args)
38780
- end
38781
-
38782
- # Update properties of this object
38783
- def update!(**args)
38784
- @code = args[:code] if args.key?(:code)
38785
- @data = args[:data] if args.key?(:data)
38786
- @message = args[:message] if args.key?(:message)
38787
- end
38788
-
38789
- #
38790
- class Datum
38791
- include Google::Apis::Core::Hashable
38792
-
38793
- # [Output Only] A key that provides more detail on the warning being returned.
38794
- # For example, for warnings where there are no results in a list request for a
38795
- # particular zone, this key might be scope and the key value might be the zone
38796
- # name. Other examples might be a key indicating a deprecated resource and a
38797
- # suggested replacement, or a warning about invalid network settings (for
38798
- # example, if an instance attempts to perform IP forwarding but is not enabled
38799
- # for IP forwarding).
38800
- # Corresponds to the JSON property `key`
38801
- # @return [String]
38802
- attr_accessor :key
38803
-
38804
- # [Output Only] A warning data value corresponding to the key.
38805
- # Corresponds to the JSON property `value`
38806
- # @return [String]
38807
- attr_accessor :value
38808
-
38809
- def initialize(**args)
38810
- update!(**args)
38811
- end
38812
-
38813
- # Update properties of this object
38814
- def update!(**args)
38815
- @key = args[:key] if args.key?(:key)
38816
- @value = args[:value] if args.key?(:value)
38817
- end
38818
- end
38819
- end
38820
- end
38821
-
38822
- # This is deprecated and has no effect. Do not use.
38823
- class Rule
40201
+ #
40202
+ class RoutersListRoutePolicies
38824
40203
  include Google::Apis::Core::Hashable
38825
40204
 
38826
- # This is deprecated and has no effect. Do not use.
38827
- # Corresponds to the JSON property `action`
40205
+ #
40206
+ # Corresponds to the JSON property `etag`
38828
40207
  # @return [String]
38829
- attr_accessor :action
40208
+ attr_accessor :etag
38830
40209
 
38831
- # This is deprecated and has no effect. Do not use.
38832
- # Corresponds to the JSON property `conditions`
38833
- # @return [Array<Google::Apis::ComputeBeta::Condition>]
38834
- attr_accessor :conditions
40210
+ # [Output Only] The unique identifier for the resource. This identifier is
40211
+ # defined by the server.
40212
+ # Corresponds to the JSON property `id`
40213
+ # @return [String]
40214
+ attr_accessor :id
38835
40215
 
38836
- # This is deprecated and has no effect. Do not use.
38837
- # Corresponds to the JSON property `description`
40216
+ # [Output Only] Type of resource. Always compute#routersListRoutePolicies for
40217
+ # lists of route policies.
40218
+ # Corresponds to the JSON property `kind`
38838
40219
  # @return [String]
38839
- attr_accessor :description
40220
+ attr_accessor :kind
38840
40221
 
38841
- # This is deprecated and has no effect. Do not use.
38842
- # Corresponds to the JSON property `ins`
38843
- # @return [Array<String>]
38844
- attr_accessor :ins
40222
+ # [Output Only] This token allows you to get the next page of results for list
40223
+ # requests. If the number of results is larger than maxResults, use the
40224
+ # nextPageToken as a value for the query parameter pageToken in the next list
40225
+ # request. Subsequent list requests will have their own nextPageToken to
40226
+ # continue paging through the results.
40227
+ # Corresponds to the JSON property `nextPageToken`
40228
+ # @return [String]
40229
+ attr_accessor :next_page_token
38845
40230
 
38846
- # This is deprecated and has no effect. Do not use.
38847
- # Corresponds to the JSON property `logConfigs`
38848
- # @return [Array<Google::Apis::ComputeBeta::LogConfig>]
38849
- attr_accessor :log_configs
40231
+ # [Output Only] A list of route policies.
40232
+ # Corresponds to the JSON property `result`
40233
+ # @return [Array<Google::Apis::ComputeBeta::RoutePolicy>]
40234
+ attr_accessor :result
38850
40235
 
38851
- # This is deprecated and has no effect. Do not use.
38852
- # Corresponds to the JSON property `notIns`
38853
- # @return [Array<String>]
38854
- attr_accessor :not_ins
40236
+ # [Output Only] Server-defined URL for this resource.
40237
+ # Corresponds to the JSON property `selfLink`
40238
+ # @return [String]
40239
+ attr_accessor :self_link
38855
40240
 
38856
- # This is deprecated and has no effect. Do not use.
38857
- # Corresponds to the JSON property `permissions`
40241
+ # [Output Only] Unreachable resources.
40242
+ # Corresponds to the JSON property `unreachables`
38858
40243
  # @return [Array<String>]
38859
- attr_accessor :permissions
40244
+ attr_accessor :unreachables
40245
+
40246
+ # [Output Only] Informational warning message.
40247
+ # Corresponds to the JSON property `warning`
40248
+ # @return [Google::Apis::ComputeBeta::RoutersListRoutePolicies::Warning]
40249
+ attr_accessor :warning
38860
40250
 
38861
40251
  def initialize(**args)
38862
40252
  update!(**args)
@@ -38864,13 +40254,189 @@ module Google
38864
40254
 
38865
40255
  # Update properties of this object
38866
40256
  def update!(**args)
38867
- @action = args[:action] if args.key?(:action)
38868
- @conditions = args[:conditions] if args.key?(:conditions)
38869
- @description = args[:description] if args.key?(:description)
38870
- @ins = args[:ins] if args.key?(:ins)
38871
- @log_configs = args[:log_configs] if args.key?(:log_configs)
38872
- @not_ins = args[:not_ins] if args.key?(:not_ins)
38873
- @permissions = args[:permissions] if args.key?(:permissions)
40257
+ @etag = args[:etag] if args.key?(:etag)
40258
+ @id = args[:id] if args.key?(:id)
40259
+ @kind = args[:kind] if args.key?(:kind)
40260
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
40261
+ @result = args[:result] if args.key?(:result)
40262
+ @self_link = args[:self_link] if args.key?(:self_link)
40263
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
40264
+ @warning = args[:warning] if args.key?(:warning)
40265
+ end
40266
+
40267
+ # [Output Only] Informational warning message.
40268
+ class Warning
40269
+ include Google::Apis::Core::Hashable
40270
+
40271
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
40272
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
40273
+ # Corresponds to the JSON property `code`
40274
+ # @return [String]
40275
+ attr_accessor :code
40276
+
40277
+ # [Output Only] Metadata about this warning in key: value format. For example: "
40278
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
40279
+ # Corresponds to the JSON property `data`
40280
+ # @return [Array<Google::Apis::ComputeBeta::RoutersListRoutePolicies::Warning::Datum>]
40281
+ attr_accessor :data
40282
+
40283
+ # [Output Only] A human-readable description of the warning code.
40284
+ # Corresponds to the JSON property `message`
40285
+ # @return [String]
40286
+ attr_accessor :message
40287
+
40288
+ def initialize(**args)
40289
+ update!(**args)
40290
+ end
40291
+
40292
+ # Update properties of this object
40293
+ def update!(**args)
40294
+ @code = args[:code] if args.key?(:code)
40295
+ @data = args[:data] if args.key?(:data)
40296
+ @message = args[:message] if args.key?(:message)
40297
+ end
40298
+
40299
+ #
40300
+ class Datum
40301
+ include Google::Apis::Core::Hashable
40302
+
40303
+ # [Output Only] A key that provides more detail on the warning being returned.
40304
+ # For example, for warnings where there are no results in a list request for a
40305
+ # particular zone, this key might be scope and the key value might be the zone
40306
+ # name. Other examples might be a key indicating a deprecated resource and a
40307
+ # suggested replacement, or a warning about invalid network settings (for
40308
+ # example, if an instance attempts to perform IP forwarding but is not enabled
40309
+ # for IP forwarding).
40310
+ # Corresponds to the JSON property `key`
40311
+ # @return [String]
40312
+ attr_accessor :key
40313
+
40314
+ # [Output Only] A warning data value corresponding to the key.
40315
+ # Corresponds to the JSON property `value`
40316
+ # @return [String]
40317
+ attr_accessor :value
40318
+
40319
+ def initialize(**args)
40320
+ update!(**args)
40321
+ end
40322
+
40323
+ # Update properties of this object
40324
+ def update!(**args)
40325
+ @key = args[:key] if args.key?(:key)
40326
+ @value = args[:value] if args.key?(:value)
40327
+ end
40328
+ end
40329
+ end
40330
+ end
40331
+
40332
+ #
40333
+ class RoutersPreviewResponse
40334
+ include Google::Apis::Core::Hashable
40335
+
40336
+ # Represents a Cloud Router resource. For more information about Cloud Router,
40337
+ # read the Cloud Router overview.
40338
+ # Corresponds to the JSON property `resource`
40339
+ # @return [Google::Apis::ComputeBeta::Router]
40340
+ attr_accessor :resource
40341
+
40342
+ def initialize(**args)
40343
+ update!(**args)
40344
+ end
40345
+
40346
+ # Update properties of this object
40347
+ def update!(**args)
40348
+ @resource = args[:resource] if args.key?(:resource)
40349
+ end
40350
+ end
40351
+
40352
+ #
40353
+ class RoutersScopedList
40354
+ include Google::Apis::Core::Hashable
40355
+
40356
+ # A list of routers contained in this scope.
40357
+ # Corresponds to the JSON property `routers`
40358
+ # @return [Array<Google::Apis::ComputeBeta::Router>]
40359
+ attr_accessor :routers
40360
+
40361
+ # Informational warning which replaces the list of routers when the list is
40362
+ # empty.
40363
+ # Corresponds to the JSON property `warning`
40364
+ # @return [Google::Apis::ComputeBeta::RoutersScopedList::Warning]
40365
+ attr_accessor :warning
40366
+
40367
+ def initialize(**args)
40368
+ update!(**args)
40369
+ end
40370
+
40371
+ # Update properties of this object
40372
+ def update!(**args)
40373
+ @routers = args[:routers] if args.key?(:routers)
40374
+ @warning = args[:warning] if args.key?(:warning)
40375
+ end
40376
+
40377
+ # Informational warning which replaces the list of routers when the list is
40378
+ # empty.
40379
+ class Warning
40380
+ include Google::Apis::Core::Hashable
40381
+
40382
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
40383
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
40384
+ # Corresponds to the JSON property `code`
40385
+ # @return [String]
40386
+ attr_accessor :code
40387
+
40388
+ # [Output Only] Metadata about this warning in key: value format. For example: "
40389
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
40390
+ # Corresponds to the JSON property `data`
40391
+ # @return [Array<Google::Apis::ComputeBeta::RoutersScopedList::Warning::Datum>]
40392
+ attr_accessor :data
40393
+
40394
+ # [Output Only] A human-readable description of the warning code.
40395
+ # Corresponds to the JSON property `message`
40396
+ # @return [String]
40397
+ attr_accessor :message
40398
+
40399
+ def initialize(**args)
40400
+ update!(**args)
40401
+ end
40402
+
40403
+ # Update properties of this object
40404
+ def update!(**args)
40405
+ @code = args[:code] if args.key?(:code)
40406
+ @data = args[:data] if args.key?(:data)
40407
+ @message = args[:message] if args.key?(:message)
40408
+ end
40409
+
40410
+ #
40411
+ class Datum
40412
+ include Google::Apis::Core::Hashable
40413
+
40414
+ # [Output Only] A key that provides more detail on the warning being returned.
40415
+ # For example, for warnings where there are no results in a list request for a
40416
+ # particular zone, this key might be scope and the key value might be the zone
40417
+ # name. Other examples might be a key indicating a deprecated resource and a
40418
+ # suggested replacement, or a warning about invalid network settings (for
40419
+ # example, if an instance attempts to perform IP forwarding but is not enabled
40420
+ # for IP forwarding).
40421
+ # Corresponds to the JSON property `key`
40422
+ # @return [String]
40423
+ attr_accessor :key
40424
+
40425
+ # [Output Only] A warning data value corresponding to the key.
40426
+ # Corresponds to the JSON property `value`
40427
+ # @return [String]
40428
+ attr_accessor :value
40429
+
40430
+ def initialize(**args)
40431
+ update!(**args)
40432
+ end
40433
+
40434
+ # Update properties of this object
40435
+ def update!(**args)
40436
+ @key = args[:key] if args.key?(:key)
40437
+ @value = args[:value] if args.key?(:value)
40438
+ end
40439
+ end
38874
40440
  end
38875
40441
  end
38876
40442
 
@@ -39174,6 +40740,11 @@ module Google
39174
40740
  # @return [Fixnum]
39175
40741
  attr_accessor :availability_domain
39176
40742
 
40743
+ # The configuration for gracefully shutting down the instance.
40744
+ # Corresponds to the JSON property `gracefulShutdown`
40745
+ # @return [Google::Apis::ComputeBeta::SchedulingGracefulShutdown]
40746
+ attr_accessor :graceful_shutdown
40747
+
39177
40748
  # Specify the time in seconds for host error detection, the value must be within
39178
40749
  # the range of [90, 330] with the increment of 30, if unset, the default
39179
40750
  # behavior of host error recovery will be used.
@@ -39274,6 +40845,7 @@ module Google
39274
40845
  def update!(**args)
39275
40846
  @automatic_restart = args[:automatic_restart] if args.key?(:automatic_restart)
39276
40847
  @availability_domain = args[:availability_domain] if args.key?(:availability_domain)
40848
+ @graceful_shutdown = args[:graceful_shutdown] if args.key?(:graceful_shutdown)
39277
40849
  @host_error_timeout_seconds = args[:host_error_timeout_seconds] if args.key?(:host_error_timeout_seconds)
39278
40850
  @instance_termination_action = args[:instance_termination_action] if args.key?(:instance_termination_action)
39279
40851
  @local_ssd_recovery_timeout = args[:local_ssd_recovery_timeout] if args.key?(:local_ssd_recovery_timeout)
@@ -39291,6 +40863,35 @@ module Google
39291
40863
  end
39292
40864
  end
39293
40865
 
40866
+ # The configuration for gracefully shutting down the instance.
40867
+ class SchedulingGracefulShutdown
40868
+ include Google::Apis::Core::Hashable
40869
+
40870
+ # Opts-in for graceful shutdown.
40871
+ # Corresponds to the JSON property `enabled`
40872
+ # @return [Boolean]
40873
+ attr_accessor :enabled
40874
+ alias_method :enabled?, :enabled
40875
+
40876
+ # A Duration represents a fixed-length span of time represented as a count of
40877
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
40878
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
40879
+ # 000 years.
40880
+ # Corresponds to the JSON property `maxDuration`
40881
+ # @return [Google::Apis::ComputeBeta::Duration]
40882
+ attr_accessor :max_duration
40883
+
40884
+ def initialize(**args)
40885
+ update!(**args)
40886
+ end
40887
+
40888
+ # Update properties of this object
40889
+ def update!(**args)
40890
+ @enabled = args[:enabled] if args.key?(:enabled)
40891
+ @max_duration = args[:max_duration] if args.key?(:max_duration)
40892
+ end
40893
+ end
40894
+
39294
40895
  # Node Affinity: the configuration of desired nodes onto which this Instance
39295
40896
  # could be scheduled.
39296
40897
  class SchedulingNodeAffinity
@@ -40071,6 +41672,12 @@ module Google
40071
41672
  # @return [String]
40072
41673
  attr_accessor :log_level
40073
41674
 
41675
+ # The maximum request size chosen by the customer with Waf enabled. Currently
41676
+ # only "8KB" and "128KB" are supported. Values are case insensitive.
41677
+ # Corresponds to the JSON property `requestBodyInspectionSize`
41678
+ # @return [String]
41679
+ attr_accessor :request_body_inspection_size
41680
+
40074
41681
  # An optional list of case-insensitive request header names to use for resolving
40075
41682
  # the callers client IP address.
40076
41683
  # Corresponds to the JSON property `userIpRequestHeaders`
@@ -40086,6 +41693,7 @@ module Google
40086
41693
  @json_custom_config = args[:json_custom_config] if args.key?(:json_custom_config)
40087
41694
  @json_parsing = args[:json_parsing] if args.key?(:json_parsing)
40088
41695
  @log_level = args[:log_level] if args.key?(:log_level)
41696
+ @request_body_inspection_size = args[:request_body_inspection_size] if args.key?(:request_body_inspection_size)
40089
41697
  @user_ip_request_headers = args[:user_ip_request_headers] if args.key?(:user_ip_request_headers)
40090
41698
  end
40091
41699
  end
@@ -40959,7 +42567,9 @@ module Google
40959
42567
  # originating client, which is resolved based on "userIpRequestHeaders"
40960
42568
  # configured with the security policy. If there is no "userIpRequestHeaders"
40961
42569
  # configuration or an IP address cannot be resolved from it, the key type
40962
- # defaults to IP.
42570
+ # defaults to IP. - TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the client
42571
+ # connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type
42572
+ # defaults to ALL.
40963
42573
  # Corresponds to the JSON property `enforceOnKey`
40964
42574
  # @return [String]
40965
42575
  attr_accessor :enforce_on_key
@@ -41054,7 +42664,9 @@ module Google
41054
42664
  # originating client, which is resolved based on "userIpRequestHeaders"
41055
42665
  # configured with the security policy. If there is no "userIpRequestHeaders"
41056
42666
  # configuration or an IP address cannot be resolved from it, the key type
41057
- # defaults to IP.
42667
+ # defaults to IP. - TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the client
42668
+ # connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type
42669
+ # defaults to ALL.
41058
42670
  # Corresponds to the JSON property `enforceOnKeyType`
41059
42671
  # @return [String]
41060
42672
  attr_accessor :enforce_on_key_type
@@ -45542,8 +47154,7 @@ module Google
45542
47154
  # @return [Fixnum]
45543
47155
  attr_accessor :id
45544
47156
 
45545
- # [Output Only] The internal IPv6 address range that is assigned to this
45546
- # subnetwork.
47157
+ # The internal IPv6 address range that is owned by this subnetwork.
45547
47158
  # Corresponds to the JSON property `internalIpv6Prefix`
45548
47159
  # @return [String]
45549
47160
  attr_accessor :internal_ipv6_prefix
@@ -45558,6 +47169,18 @@ module Google
45558
47169
  # @return [String]
45559
47170
  attr_accessor :ip_cidr_range
45560
47171
 
47172
+ # Reference to the source of IP, like a PublicDelegatedPrefix (PDP) for BYOIP.
47173
+ # The PDP must be a sub-PDP in EXTERNAL_IPV6_SUBNETWORK_CREATION mode. Use one
47174
+ # of the following formats to specify a sub-PDP when creating a dual stack
47175
+ # subnetwork with external access using BYOIP: - Full resource URL, as in https:/
47176
+ # /www.googleapis.com/compute/v1/projects/projectId/regions/region /
47177
+ # publicDelegatedPrefixes/sub-pdp-name - Partial URL, as in - projects/projectId/
47178
+ # regions/region/publicDelegatedPrefixes/ sub-pdp-name - regions/region/
47179
+ # publicDelegatedPrefixes/sub-pdp-name
47180
+ # Corresponds to the JSON property `ipCollection`
47181
+ # @return [String]
47182
+ attr_accessor :ip_collection
47183
+
45561
47184
  # The access type of IPv6 address this subnet holds. It's immutable and can only
45562
47185
  # be specified during creation or the first time the subnet is updated into
45563
47186
  # IPV4_IPV6 dual stack.
@@ -45570,6 +47193,18 @@ module Google
45570
47193
  # @return [String]
45571
47194
  attr_accessor :ipv6_cidr_range
45572
47195
 
47196
+ # [Output Only] Possible endpoints of this subnetwork. It can be one of the
47197
+ # following: - VM_ONLY: The subnetwork can be used for creating instances and
47198
+ # IPv6 addresses with VM endpoint type. Such a subnetwork gets external IPv6
47199
+ # ranges from a public delegated prefix and cannot be used to create NetLb. -
47200
+ # VM_AND_FR: The subnetwork can be used for creating both VM instances and
47201
+ # Forwarding Rules. It can also be used to reserve IPv6 addresses with both VM
47202
+ # and FR endpoint types. Such a subnetwork gets its IPv6 range from Google IP
47203
+ # Pool directly.
47204
+ # Corresponds to the JSON property `ipv6GceEndpoint`
47205
+ # @return [String]
47206
+ attr_accessor :ipv6_gce_endpoint
47207
+
45573
47208
  # [Output Only] Type of the resource. Always compute#subnetwork for Subnetwork
45574
47209
  # resources.
45575
47210
  # Corresponds to the JSON property `kind`
@@ -45613,15 +47248,17 @@ module Google
45613
47248
  attr_accessor :private_ipv6_google_access
45614
47249
 
45615
47250
  # The purpose of the resource. This field can be either PRIVATE,
45616
- # GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PRIVATE_SERVICE_CONNECT, or
45617
- # PRIVATE is the default purpose for user-created subnets or subnets that are
45618
- # automatically created in auto mode networks. Subnets with purpose set to
45619
- # GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks
45620
- # that are reserved for Envoy-based load balancers. A subnet with purpose set to
45621
- # PRIVATE_SERVICE_CONNECT is used to publish services using Private Service
45622
- # Connect. If unspecified, the subnet purpose defaults to PRIVATE. The
45623
- # enableFlowLogs field isn't supported if the subnet purpose field is set to
45624
- # GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY.
47251
+ # GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION or
47252
+ # PRIVATE_SERVICE_CONNECT. PRIVATE is the default purpose for user-created
47253
+ # subnets or subnets that are automatically created in auto mode networks.
47254
+ # Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are
47255
+ # user-created subnetworks that are reserved for Envoy-based load balancers. A
47256
+ # subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services
47257
+ # using Private Service Connect. A subnet with purpose set to PEER_MIGRATION is
47258
+ # used for subnet migration from one peered VPC to another. If unspecified, the
47259
+ # subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported
47260
+ # if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or
47261
+ # REGIONAL_MANAGED_PROXY.
45625
47262
  # Corresponds to the JSON property `purpose`
45626
47263
  # @return [String]
45627
47264
  attr_accessor :purpose
@@ -45694,8 +47331,10 @@ module Google
45694
47331
  @id = args[:id] if args.key?(:id)
45695
47332
  @internal_ipv6_prefix = args[:internal_ipv6_prefix] if args.key?(:internal_ipv6_prefix)
45696
47333
  @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
47334
+ @ip_collection = args[:ip_collection] if args.key?(:ip_collection)
45697
47335
  @ipv6_access_type = args[:ipv6_access_type] if args.key?(:ipv6_access_type)
45698
47336
  @ipv6_cidr_range = args[:ipv6_cidr_range] if args.key?(:ipv6_cidr_range)
47337
+ @ipv6_gce_endpoint = args[:ipv6_gce_endpoint] if args.key?(:ipv6_gce_endpoint)
45699
47338
  @kind = args[:kind] if args.key?(:kind)
45700
47339
  @log_config = args[:log_config] if args.key?(:log_config)
45701
47340
  @name = args[:name] if args.key?(:name)
@@ -47170,14 +48809,14 @@ module Google
47170
48809
  # Represents a Target HTTPS Proxy resource. Google Compute Engine has two Target
47171
48810
  # HTTPS Proxy resources: * [Global](/compute/docs/reference/rest/beta/
47172
48811
  # targetHttpsProxies) * [Regional](/compute/docs/reference/rest/beta/
47173
- # regionTargetHttpsProxies) A target HTTPS proxy is a component of GCP HTTPS
47174
- # load balancers. * targetHttpProxies are used by global external Application
47175
- # Load Balancers, classic Application Load Balancers, cross-region internal
47176
- # Application Load Balancers, and Traffic Director. * regionTargetHttpProxies
47177
- # are used by regional internal Application Load Balancers and regional external
47178
- # Application Load Balancers. Forwarding rules reference a target HTTPS proxy,
47179
- # and the target proxy then references a URL map. For more information, read
47180
- # Using Target Proxies and Forwarding rule concepts.
48812
+ # regionTargetHttpsProxies) A target HTTPS proxy is a component of Google Cloud
48813
+ # HTTPS load balancers. * targetHttpProxies are used by global external
48814
+ # Application Load Balancers, classic Application Load Balancers, cross-region
48815
+ # internal Application Load Balancers, and Traffic Director. *
48816
+ # regionTargetHttpProxies are used by regional internal Application Load
48817
+ # Balancers and regional external Application Load Balancers. Forwarding rules
48818
+ # reference a target HTTPS proxy, and the target proxy then references a URL map.
48819
+ # For more information, read Using Target Proxies and Forwarding rule concepts.
47181
48820
  class TargetHttpsProxy
47182
48821
  include Google::Apis::Core::Hashable
47183
48822
 
@@ -47203,10 +48842,11 @@ module Google
47203
48842
  attr_accessor :authorization_policy
47204
48843
 
47205
48844
  # URL of a certificate map that identifies a certificate map associated with the
47206
- # given target proxy. This field can only be set for global target proxies. If
47207
- # set, sslCertificates will be ignored. Accepted format is //certificatemanager.
47208
- # googleapis.com/projects/`project `/locations/`location`/certificateMaps/`
47209
- # resourceName`.
48845
+ # given target proxy. This field can only be set for Global external Application
48846
+ # Load Balancer or Classic Application Load Balancer. For other products use
48847
+ # Certificate Manager Certificates instead. If set, sslCertificates will be
48848
+ # ignored. Accepted format is //certificatemanager.googleapis.com/projects/`
48849
+ # project `/locations/`location`/certificateMaps/`resourceName`.
47210
48850
  # Corresponds to the JSON property `certificateMap`
47211
48851
  # @return [String]
47212
48852
  attr_accessor :certificate_map
@@ -47329,9 +48969,18 @@ module Google
47329
48969
 
47330
48970
  # URLs to SslCertificate resources that are used to authenticate connections
47331
48971
  # between users and the load balancer. At least one SSL certificate must be
47332
- # specified. Currently, you may specify up to 15 SSL certificates.
47333
- # sslCertificates do not apply when the load balancing scheme is set to
47334
- # INTERNAL_SELF_MANAGED.
48972
+ # specified. SslCertificates do not apply when the load balancing scheme is set
48973
+ # to INTERNAL_SELF_MANAGED. The URLs should refer to a SSL Certificate resource
48974
+ # or Certificate Manager Certificate resource. Mixing Classic Certificates and
48975
+ # Certificate Manager Certificates is not allowed. Certificate Manager
48976
+ # Certificates must include the certificatemanager API. Certificate Manager
48977
+ # Certificates are not supported by Global external Application Load Balancer or
48978
+ # Classic Application Load Balancer, use certificate_map instead. Currently, you
48979
+ # may specify up to 15 Classic SSL Certificates. Certificate Manager
48980
+ # Certificates accepted formats are: - //certificatemanager.googleapis.com/
48981
+ # projects/`project`/locations/` location`/certificates/`resourceName`. - https:/
48982
+ # /certificatemanager.googleapis.com/v1alpha1/projects/`project `/locations/`
48983
+ # location`/certificates/`resourceName`.
47335
48984
  # Corresponds to the JSON property `sslCertificates`
47336
48985
  # @return [Array<String>]
47337
48986
  attr_accessor :ssl_certificates
@@ -50083,9 +51732,10 @@ module Google
50083
51732
  # Director features: Routing and traffic management table. This resource defines
50084
51733
  # mappings from hostnames and URL paths to either a backend service or a backend
50085
51734
  # bucket. To use the global urlMaps resource, the backend service must have a
50086
- # loadBalancingScheme of either EXTERNAL or INTERNAL_SELF_MANAGED. To use the
50087
- # regionUrlMaps resource, the backend service must have a loadBalancingScheme of
50088
- # INTERNAL_MANAGED. For more information, read URL Map Concepts.
51735
+ # loadBalancingScheme of either EXTERNAL, EXTERNAL_MANAGED, or
51736
+ # INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service
51737
+ # must have a loadBalancingScheme of INTERNAL_MANAGED. For more information,
51738
+ # read URL Map Concepts.
50089
51739
  class UrlMap
50090
51740
  include Google::Apis::Core::Hashable
50091
51741
 
@@ -50102,11 +51752,9 @@ module Google
50102
51752
 
50103
51753
  # defaultRouteAction takes effect when none of the hostRules match. The load
50104
51754
  # balancer performs advanced routing actions, such as URL rewrites and header
50105
- # transformations, before forwarding the request to the selected backend. If
50106
- # defaultRouteAction specifies any weightedBackendServices, defaultService must
50107
- # not be set. Conversely if defaultService is set, defaultRouteAction cannot
50108
- # contain any weightedBackendServices. Only one of defaultRouteAction or
50109
- # defaultUrlRedirect must be set. URL maps for classic Application Load
51755
+ # transformations, before forwarding the request to the selected backend. Only
51756
+ # one of defaultUrlRedirect, defaultService or defaultRouteAction.
51757
+ # weightedBackendService can be set. URL maps for classic Application Load
50110
51758
  # Balancers only support the urlRewrite action within defaultRouteAction.
50111
51759
  # defaultRouteAction has no effect when the URL map is bound to a target gRPC
50112
51760
  # proxy that has the validateForProxyless field set to true.
@@ -50117,13 +51765,10 @@ module Google
50117
51765
  # The full or partial URL of the defaultService resource to which traffic is
50118
51766
  # directed if none of the hostRules match. If defaultRouteAction is also
50119
51767
  # specified, advanced routing actions, such as URL rewrites, take effect before
50120
- # sending the request to the backend. However, if defaultService is specified,
50121
- # defaultRouteAction cannot contain any weightedBackendServices. Conversely, if
50122
- # routeAction specifies any weightedBackendServices, service must not be
50123
- # specified. If defaultService is specified, then set either defaultUrlRedirect ,
50124
- # or defaultRouteAction.weightedBackendService Don't set both. defaultService
50125
- # has no effect when the URL map is bound to a target gRPC proxy that has the
50126
- # validateForProxyless field set to true.
51768
+ # sending the request to the backend. Only one of defaultUrlRedirect,
51769
+ # defaultService or defaultRouteAction.weightedBackendService can be set.
51770
+ # defaultService has no effect when the URL map is bound to a target gRPC proxy
51771
+ # that has the validateForProxyless field set to true.
50127
51772
  # Corresponds to the JSON property `defaultService`
50128
51773
  # @return [String]
50129
51774
  attr_accessor :default_service
@@ -50753,9 +52398,10 @@ module Google
50753
52398
  # Director features: Routing and traffic management table. This resource defines
50754
52399
  # mappings from hostnames and URL paths to either a backend service or a backend
50755
52400
  # bucket. To use the global urlMaps resource, the backend service must have a
50756
- # loadBalancingScheme of either EXTERNAL or INTERNAL_SELF_MANAGED. To use the
50757
- # regionUrlMaps resource, the backend service must have a loadBalancingScheme of
50758
- # INTERNAL_MANAGED. For more information, read URL Map Concepts.
52401
+ # loadBalancingScheme of either EXTERNAL, EXTERNAL_MANAGED, or
52402
+ # INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service
52403
+ # must have a loadBalancingScheme of INTERNAL_MANAGED. For more information,
52404
+ # read URL Map Concepts.
50759
52405
  # Corresponds to the JSON property `resource`
50760
52406
  # @return [Google::Apis::ComputeBeta::UrlMap]
50761
52407
  attr_accessor :resource
@@ -50871,15 +52517,17 @@ module Google
50871
52517
  attr_accessor :network
50872
52518
 
50873
52519
  # The purpose of the resource. This field can be either PRIVATE,
50874
- # GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PRIVATE_SERVICE_CONNECT, or
50875
- # PRIVATE is the default purpose for user-created subnets or subnets that are
50876
- # automatically created in auto mode networks. Subnets with purpose set to
50877
- # GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks
50878
- # that are reserved for Envoy-based load balancers. A subnet with purpose set to
50879
- # PRIVATE_SERVICE_CONNECT is used to publish services using Private Service
50880
- # Connect. If unspecified, the subnet purpose defaults to PRIVATE. The
50881
- # enableFlowLogs field isn't supported if the subnet purpose field is set to
50882
- # GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY.
52520
+ # GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION or
52521
+ # PRIVATE_SERVICE_CONNECT. PRIVATE is the default purpose for user-created
52522
+ # subnets or subnets that are automatically created in auto mode networks.
52523
+ # Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are
52524
+ # user-created subnetworks that are reserved for Envoy-based load balancers. A
52525
+ # subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services
52526
+ # using Private Service Connect. A subnet with purpose set to PEER_MIGRATION is
52527
+ # used for subnet migration from one peered VPC to another. If unspecified, the
52528
+ # subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported
52529
+ # if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or
52530
+ # REGIONAL_MANAGED_PROXY.
50883
52531
  # Corresponds to the JSON property `purpose`
50884
52532
  # @return [String]
50885
52533
  attr_accessor :purpose
@@ -52069,7 +53717,8 @@ module Google
52069
53717
 
52070
53718
  # Local traffic selector to use when establishing the VPN tunnel with the peer
52071
53719
  # VPN gateway. The value should be a CIDR formatted string, for example: 192.168.
52072
- # 0.0/16. The ranges must be disjoint. Only IPv4 is supported.
53720
+ # 0.0/16. The ranges must be disjoint. Only IPv4 is supported for Classic VPN
53721
+ # tunnels. This field is output only for HA VPN tunnels.
52073
53722
  # Corresponds to the JSON property `localTrafficSelector`
52074
53723
  # @return [Array<String>]
52075
53724
  attr_accessor :local_traffic_selector
@@ -52109,7 +53758,8 @@ module Google
52109
53758
  # @return [String]
52110
53759
  attr_accessor :peer_gcp_gateway
52111
53760
 
52112
- # IP address of the peer VPN gateway. Only IPv4 is supported.
53761
+ # IP address of the peer VPN gateway. Only IPv4 is supported. This field can be
53762
+ # set only for Classic VPN tunnels.
52113
53763
  # Corresponds to the JSON property `peerIp`
52114
53764
  # @return [String]
52115
53765
  attr_accessor :peer_ip
@@ -52123,7 +53773,8 @@ module Google
52123
53773
 
52124
53774
  # Remote traffic selectors to use when establishing the VPN tunnel with the peer
52125
53775
  # VPN gateway. The value should be a CIDR formatted string, for example: 192.168.
52126
- # 0.0/16. The ranges should be disjoint. Only IPv4 is supported.
53776
+ # 0.0/16. The ranges should be disjoint. Only IPv4 is supported for Classic VPN
53777
+ # tunnels. This field is output only for HA VPN tunnels.
52127
53778
  # Corresponds to the JSON property `remoteTrafficSelector`
52128
53779
  # @return [Array<String>]
52129
53780
  attr_accessor :remote_traffic_selector
@@ -52172,7 +53823,8 @@ module Google
52172
53823
  attr_accessor :status
52173
53824
 
52174
53825
  # URL of the Target VPN gateway with which this VPN tunnel is associated.
52175
- # Provided by the client when the VPN tunnel is created.
53826
+ # Provided by the client when the VPN tunnel is created. This field can be set
53827
+ # only for Classic VPN tunnels.
52176
53828
  # Corresponds to the JSON property `targetVpnGateway`
52177
53829
  # @return [String]
52178
53830
  attr_accessor :target_vpn_gateway