google-apis-compute_beta 0.106.0 → 0.108.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1157,6 +1157,13 @@ module Google
1157
1157
  # @return [Fixnum]
1158
1158
  attr_accessor :threads_per_core
1159
1159
 
1160
+ # Turbo frequency mode to use for the instance. Supported modes include: *
1161
+ # ALL_CORE_MAX Using empty string or not setting this field will use the
1162
+ # platform-specific default turbo mode.
1163
+ # Corresponds to the JSON property `turboMode`
1164
+ # @return [String]
1165
+ attr_accessor :turbo_mode
1166
+
1160
1167
  # The number of physical cores to expose to an instance. Multiply by the number
1161
1168
  # of threads per core to compute the total number of virtual CPUs to expose to
1162
1169
  # the instance. If unset, the number of cores is inferred from the instance's
@@ -1175,6 +1182,7 @@ module Google
1175
1182
  @enable_uefi_networking = args[:enable_uefi_networking] if args.key?(:enable_uefi_networking)
1176
1183
  @performance_monitoring_unit = args[:performance_monitoring_unit] if args.key?(:performance_monitoring_unit)
1177
1184
  @threads_per_core = args[:threads_per_core] if args.key?(:threads_per_core)
1185
+ @turbo_mode = args[:turbo_mode] if args.key?(:turbo_mode)
1178
1186
  @visible_core_count = args[:visible_core_count] if args.key?(:visible_core_count)
1179
1187
  end
1180
1188
  end
@@ -1294,10 +1302,39 @@ module Google
1294
1302
  end
1295
1303
  end
1296
1304
 
1305
+ #
1306
+ class AllocationReservationSharingPolicy
1307
+ include Google::Apis::Core::Hashable
1308
+
1309
+ # Sharing config for all Google Cloud services.
1310
+ # Corresponds to the JSON property `serviceShareType`
1311
+ # @return [String]
1312
+ attr_accessor :service_share_type
1313
+
1314
+ def initialize(**args)
1315
+ update!(**args)
1316
+ end
1317
+
1318
+ # Update properties of this object
1319
+ def update!(**args)
1320
+ @service_share_type = args[:service_share_type] if args.key?(:service_share_type)
1321
+ end
1322
+ end
1323
+
1297
1324
  # [Output Only] Contains output only fields.
1298
1325
  class AllocationResourceStatus
1299
1326
  include Google::Apis::Core::Hashable
1300
1327
 
1328
+ # The number of reservation blocks associated with this reservation.
1329
+ # Corresponds to the JSON property `reservationBlockCount`
1330
+ # @return [Fixnum]
1331
+ attr_accessor :reservation_block_count
1332
+
1333
+ # Maintenance Info for ReservationBlocks.
1334
+ # Corresponds to the JSON property `reservationMaintenance`
1335
+ # @return [Google::Apis::ComputeBeta::GroupMaintenanceInfo]
1336
+ attr_accessor :reservation_maintenance
1337
+
1301
1338
  # Contains Properties set for the reservation.
1302
1339
  # Corresponds to the JSON property `specificSkuAllocation`
1303
1340
  # @return [Google::Apis::ComputeBeta::AllocationResourceStatusSpecificSkuAllocation]
@@ -1309,6 +1346,8 @@ module Google
1309
1346
 
1310
1347
  # Update properties of this object
1311
1348
  def update!(**args)
1349
+ @reservation_block_count = args[:reservation_block_count] if args.key?(:reservation_block_count)
1350
+ @reservation_maintenance = args[:reservation_maintenance] if args.key?(:reservation_maintenance)
1312
1351
  @specific_sku_allocation = args[:specific_sku_allocation] if args.key?(:specific_sku_allocation)
1313
1352
  end
1314
1353
  end
@@ -1322,6 +1361,12 @@ module Google
1322
1361
  # @return [String]
1323
1362
  attr_accessor :source_instance_template_id
1324
1363
 
1364
+ # Per service utilization breakdown. The Key is the Google Cloud managed service
1365
+ # name.
1366
+ # Corresponds to the JSON property `utilizations`
1367
+ # @return [Hash<String,Fixnum>]
1368
+ attr_accessor :utilizations
1369
+
1325
1370
  def initialize(**args)
1326
1371
  update!(**args)
1327
1372
  end
@@ -1329,6 +1374,7 @@ module Google
1329
1374
  # Update properties of this object
1330
1375
  def update!(**args)
1331
1376
  @source_instance_template_id = args[:source_instance_template_id] if args.key?(:source_instance_template_id)
1377
+ @utilizations = args[:utilizations] if args.key?(:utilizations)
1332
1378
  end
1333
1379
  end
1334
1380
 
@@ -1887,8 +1933,8 @@ module Google
1887
1933
  # "audit_log_configs": [ ` "log_type": "DATA_READ" `, ` "log_type": "DATA_WRITE"
1888
1934
  # , "exempted_members": [ "user:aliya@example.com" ] ` ] ` ] ` For sampleservice,
1889
1935
  # this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also
1890
- # exempts jose@example.com from DATA_READ logging, and aliya@example.com from
1891
- # DATA_WRITE logging.
1936
+ # exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com`
1937
+ # from DATA_WRITE logging.
1892
1938
  class AuditConfig
1893
1939
  include Google::Apis::Core::Hashable
1894
1940
 
@@ -1897,11 +1943,6 @@ module Google
1897
1943
  # @return [Array<Google::Apis::ComputeBeta::AuditLogConfig>]
1898
1944
  attr_accessor :audit_log_configs
1899
1945
 
1900
- # This is deprecated and has no effect. Do not use.
1901
- # Corresponds to the JSON property `exemptedMembers`
1902
- # @return [Array<String>]
1903
- attr_accessor :exempted_members
1904
-
1905
1946
  # Specifies a service that will be enabled for audit logging. For example, `
1906
1947
  # storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special
1907
1948
  # value that covers all services.
@@ -1916,7 +1957,6 @@ module Google
1916
1957
  # Update properties of this object
1917
1958
  def update!(**args)
1918
1959
  @audit_log_configs = args[:audit_log_configs] if args.key?(:audit_log_configs)
1919
- @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
1920
1960
  @service = args[:service] if args.key?(:service)
1921
1961
  end
1922
1962
  end
@@ -1935,12 +1975,6 @@ module Google
1935
1975
  # @return [Array<String>]
1936
1976
  attr_accessor :exempted_members
1937
1977
 
1938
- # This is deprecated and has no effect. Do not use.
1939
- # Corresponds to the JSON property `ignoreChildExemptions`
1940
- # @return [Boolean]
1941
- attr_accessor :ignore_child_exemptions
1942
- alias_method :ignore_child_exemptions?, :ignore_child_exemptions
1943
-
1944
1978
  # The log type that this config enables.
1945
1979
  # Corresponds to the JSON property `logType`
1946
1980
  # @return [String]
@@ -1953,7 +1987,6 @@ module Google
1953
1987
  # Update properties of this object
1954
1988
  def update!(**args)
1955
1989
  @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
1956
- @ignore_child_exemptions = args[:ignore_child_exemptions] if args.key?(:ignore_child_exemptions)
1957
1990
  @log_type = args[:log_type] if args.key?(:log_type)
1958
1991
  end
1959
1992
  end
@@ -2860,6 +2893,11 @@ module Google
2860
2893
  # @return [Float]
2861
2894
  attr_accessor :capacity_scaler
2862
2895
 
2896
+ # List of custom metrics that are used for CUSTOM_METRICS BalancingMode.
2897
+ # Corresponds to the JSON property `customMetrics`
2898
+ # @return [Array<Google::Apis::ComputeBeta::BackendCustomMetric>]
2899
+ attr_accessor :custom_metrics
2900
+
2863
2901
  # An optional description of this resource. Provide this property when you
2864
2902
  # create the resource.
2865
2903
  # Corresponds to the JSON property `description`
@@ -2950,6 +2988,7 @@ module Google
2950
2988
  def update!(**args)
2951
2989
  @balancing_mode = args[:balancing_mode] if args.key?(:balancing_mode)
2952
2990
  @capacity_scaler = args[:capacity_scaler] if args.key?(:capacity_scaler)
2991
+ @custom_metrics = args[:custom_metrics] if args.key?(:custom_metrics)
2953
2992
  @description = args[:description] if args.key?(:description)
2954
2993
  @failover = args[:failover] if args.key?(:failover)
2955
2994
  @group = args[:group] if args.key?(:group)
@@ -3024,6 +3063,14 @@ module Google
3024
3063
  # @return [String]
3025
3064
  attr_accessor :kind
3026
3065
 
3066
+ # The value can only be INTERNAL_MANAGED for cross-region internal layer 7 load
3067
+ # balancer. If loadBalancingScheme is not specified, the backend bucket can be
3068
+ # used by classic global external load balancers, or global application external
3069
+ # load balancers, or both.
3070
+ # Corresponds to the JSON property `loadBalancingScheme`
3071
+ # @return [String]
3072
+ attr_accessor :load_balancing_scheme
3073
+
3027
3074
  # Name of the resource. Provided by the client when the resource is created. The
3028
3075
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
3029
3076
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
@@ -3039,6 +3086,11 @@ module Google
3039
3086
  # @return [String]
3040
3087
  attr_accessor :self_link
3041
3088
 
3089
+ # [Output Only] List of resources referencing that backend bucket.
3090
+ # Corresponds to the JSON property `usedBy`
3091
+ # @return [Array<Google::Apis::ComputeBeta::BackendBucketUsedBy>]
3092
+ attr_accessor :used_by
3093
+
3042
3094
  def initialize(**args)
3043
3095
  update!(**args)
3044
3096
  end
@@ -3055,8 +3107,10 @@ module Google
3055
3107
  @enable_cdn = args[:enable_cdn] if args.key?(:enable_cdn)
3056
3108
  @id = args[:id] if args.key?(:id)
3057
3109
  @kind = args[:kind] if args.key?(:kind)
3110
+ @load_balancing_scheme = args[:load_balancing_scheme] if args.key?(:load_balancing_scheme)
3058
3111
  @name = args[:name] if args.key?(:name)
3059
3112
  @self_link = args[:self_link] if args.key?(:self_link)
3113
+ @used_by = args[:used_by] if args.key?(:used_by)
3060
3114
  end
3061
3115
  end
3062
3116
 
@@ -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