google-api-client 0.30.0 → 0.30.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (100) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +44 -0
  3. data/generated/google/apis/accesscontextmanager_v1.rb +1 -1
  4. data/generated/google/apis/accesscontextmanager_v1/classes.rb +8 -74
  5. data/generated/google/apis/accesscontextmanager_v1beta.rb +1 -1
  6. data/generated/google/apis/accesscontextmanager_v1beta/classes.rb +8 -74
  7. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  8. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +50 -0
  9. data/generated/google/apis/adexchangebuyer2_v2beta1/representations.rb +16 -0
  10. data/generated/google/apis/cloudidentity_v1.rb +1 -1
  11. data/generated/google/apis/cloudidentity_v1/classes.rb +8 -74
  12. data/generated/google/apis/cloudidentity_v1beta1.rb +1 -1
  13. data/generated/google/apis/cloudidentity_v1beta1/classes.rb +8 -74
  14. data/generated/google/apis/cloudsearch_v1.rb +1 -1
  15. data/generated/google/apis/cloudsearch_v1/classes.rb +11 -0
  16. data/generated/google/apis/cloudsearch_v1/representations.rb +1 -0
  17. data/generated/google/apis/commentanalyzer_v1alpha1.rb +1 -1
  18. data/generated/google/apis/commentanalyzer_v1alpha1/classes.rb +9 -6
  19. data/generated/google/apis/compute_alpha.rb +1 -1
  20. data/generated/google/apis/compute_alpha/classes.rb +255 -155
  21. data/generated/google/apis/compute_alpha/representations.rb +4 -3
  22. data/generated/google/apis/compute_alpha/service.rb +11 -4
  23. data/generated/google/apis/compute_beta.rb +1 -1
  24. data/generated/google/apis/compute_beta/classes.rb +2818 -235
  25. data/generated/google/apis/compute_beta/representations.rb +957 -0
  26. data/generated/google/apis/compute_beta/service.rb +2371 -475
  27. data/generated/google/apis/compute_v1.rb +1 -1
  28. data/generated/google/apis/compute_v1/classes.rb +239 -92
  29. data/generated/google/apis/compute_v1/representations.rb +19 -0
  30. data/generated/google/apis/compute_v1/service.rb +4 -2
  31. data/generated/google/apis/container_v1beta1.rb +1 -1
  32. data/generated/google/apis/container_v1beta1/classes.rb +24 -0
  33. data/generated/google/apis/container_v1beta1/representations.rb +3 -0
  34. data/generated/google/apis/containeranalysis_v1alpha1.rb +1 -1
  35. data/generated/google/apis/containeranalysis_v1beta1.rb +1 -1
  36. data/generated/google/apis/containeranalysis_v1beta1/classes.rb +1 -0
  37. data/generated/google/apis/content_v2.rb +1 -1
  38. data/generated/google/apis/content_v2/classes.rb +1 -1
  39. data/generated/google/apis/content_v2_1.rb +1 -1
  40. data/generated/google/apis/content_v2_1/classes.rb +1 -1
  41. data/generated/google/apis/dialogflow_v2.rb +1 -1
  42. data/generated/google/apis/dialogflow_v2/classes.rb +3 -4
  43. data/generated/google/apis/dlp_v2.rb +1 -1
  44. data/generated/google/apis/dlp_v2/classes.rb +44 -0
  45. data/generated/google/apis/dlp_v2/representations.rb +29 -0
  46. data/generated/google/apis/docs_v1.rb +1 -1
  47. data/generated/google/apis/docs_v1/classes.rb +0 -10
  48. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  49. data/generated/google/apis/healthcare_v1alpha2.rb +1 -1
  50. data/generated/google/apis/healthcare_v1alpha2/classes.rb +7 -6
  51. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  52. data/generated/google/apis/healthcare_v1beta1/classes.rb +1 -1
  53. data/generated/google/apis/jobs_v2.rb +1 -1
  54. data/generated/google/apis/jobs_v2/classes.rb +2 -2
  55. data/generated/google/apis/jobs_v3.rb +1 -1
  56. data/generated/google/apis/jobs_v3/classes.rb +4 -3
  57. data/generated/google/apis/logging_v2.rb +1 -1
  58. data/generated/google/apis/logging_v2/classes.rb +4 -1
  59. data/generated/google/apis/ml_v1.rb +1 -1
  60. data/generated/google/apis/ml_v1/classes.rb +6 -0
  61. data/generated/google/apis/ml_v1/representations.rb +1 -0
  62. data/generated/google/apis/monitoring_v3.rb +1 -1
  63. data/generated/google/apis/monitoring_v3/service.rb +1 -1
  64. data/generated/google/apis/redis_v1.rb +1 -1
  65. data/generated/google/apis/redis_v1/classes.rb +125 -0
  66. data/generated/google/apis/redis_v1/representations.rb +83 -0
  67. data/generated/google/apis/redis_v1/service.rb +78 -0
  68. data/generated/google/apis/redis_v1beta1.rb +1 -1
  69. data/generated/google/apis/redis_v1beta1/classes.rb +125 -0
  70. data/generated/google/apis/redis_v1beta1/representations.rb +83 -0
  71. data/generated/google/apis/redis_v1beta1/service.rb +78 -0
  72. data/generated/google/apis/securitycenter_v1.rb +1 -1
  73. data/generated/google/apis/securitycenter_v1/classes.rb +10 -76
  74. data/generated/google/apis/securitycenter_v1beta1.rb +1 -1
  75. data/generated/google/apis/securitycenter_v1beta1/classes.rb +10 -76
  76. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  77. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +8 -74
  78. data/generated/google/apis/servicenetworking_v1.rb +1 -1
  79. data/generated/google/apis/servicenetworking_v1/classes.rb +8 -74
  80. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  81. data/generated/google/apis/servicenetworking_v1beta/classes.rb +8 -74
  82. data/generated/google/apis/serviceusage_v1.rb +1 -1
  83. data/generated/google/apis/serviceusage_v1/classes.rb +8 -74
  84. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  85. data/generated/google/apis/serviceusage_v1beta1/classes.rb +8 -74
  86. data/generated/google/apis/speech_v1p1beta1.rb +1 -1
  87. data/generated/google/apis/speech_v1p1beta1/classes.rb +13 -0
  88. data/generated/google/apis/speech_v1p1beta1/representations.rb +1 -0
  89. data/generated/google/apis/streetviewpublish_v1.rb +1 -1
  90. data/generated/google/apis/streetviewpublish_v1/classes.rb +12 -111
  91. data/generated/google/apis/toolresults_v1beta3.rb +1 -1
  92. data/generated/google/apis/toolresults_v1beta3/classes.rb +8 -74
  93. data/generated/google/apis/vision_v1.rb +1 -1
  94. data/generated/google/apis/vision_v1/classes.rb +36 -20
  95. data/generated/google/apis/vision_v1p1beta1.rb +1 -1
  96. data/generated/google/apis/vision_v1p1beta1/classes.rb +36 -20
  97. data/generated/google/apis/vision_v1p2beta1.rb +1 -1
  98. data/generated/google/apis/vision_v1p2beta1/classes.rb +36 -20
  99. data/lib/google/apis/version.rb +1 -1
  100. metadata +2 -2
@@ -7319,6 +7319,7 @@ module Google
7319
7319
 
7320
7320
  property :route_action, as: 'routeAction', class: Google::Apis::ComputeAlpha::HttpRouteAction, decorator: Google::Apis::ComputeAlpha::HttpRouteAction::Representation
7321
7321
 
7322
+ property :service, as: 'service'
7322
7323
  property :url_redirect, as: 'urlRedirect', class: Google::Apis::ComputeAlpha::HttpRedirectAction, decorator: Google::Apis::ComputeAlpha::HttpRedirectAction::Representation
7323
7324
 
7324
7325
  end
@@ -9324,6 +9325,7 @@ module Google
9324
9325
  property :id, :numeric_string => true, as: 'id'
9325
9326
  property :kind, as: 'kind'
9326
9327
  property :load_balancer_vm_encryption, as: 'loadBalancerVmEncryption'
9328
+ property :mtu, as: 'mtu'
9327
9329
  property :multicast_mode, as: 'multicastMode'
9328
9330
  property :name, as: 'name'
9329
9331
  collection :peerings, as: 'peerings', class: Google::Apis::ComputeAlpha::NetworkPeering, decorator: Google::Apis::ComputeAlpha::NetworkPeering::Representation
@@ -9607,6 +9609,7 @@ module Google
9607
9609
  property :import_subnet_routes_with_public_ip, as: 'importSubnetRoutesWithPublicIp'
9608
9610
  property :name, as: 'name'
9609
9611
  property :network, as: 'network'
9612
+ property :peer_mtu, as: 'peerMtu'
9610
9613
  property :state, as: 'state'
9611
9614
  property :state_details, as: 'stateDetails'
9612
9615
  end
@@ -11544,6 +11547,7 @@ module Google
11544
11547
  property :mode, as: 'mode'
11545
11548
  property :multiplier, as: 'multiplier'
11546
11549
  property :packet_mode, as: 'packetMode'
11550
+ property :session_initialization_mode, as: 'sessionInitializationMode'
11547
11551
  property :slow_timer_interval, as: 'slowTimerInterval'
11548
11552
  end
11549
11553
  end
@@ -11758,13 +11762,10 @@ module Google
11758
11762
  collection :guest_os_features, as: 'guestOsFeatures', class: Google::Apis::ComputeAlpha::GuestOsFeature, decorator: Google::Apis::ComputeAlpha::GuestOsFeature::Representation
11759
11763
 
11760
11764
  property :index, as: 'index'
11761
- property :initialize_params, as: 'initializeParams', class: Google::Apis::ComputeAlpha::AttachedDiskInitializeParams, decorator: Google::Apis::ComputeAlpha::AttachedDiskInitializeParams::Representation
11762
-
11763
11765
  property :interface, as: 'interface'
11764
11766
  property :kind, as: 'kind'
11765
11767
  collection :licenses, as: 'licenses'
11766
11768
  property :mode, as: 'mode'
11767
- property :saved_state, as: 'savedState'
11768
11769
  property :source, as: 'source'
11769
11770
  property :storage_bytes, :numeric_string => true, as: 'storageBytes'
11770
11771
  property :storage_bytes_status, as: 'storageBytesStatus'
@@ -47,7 +47,7 @@ module Google
47
47
  attr_accessor :user_ip
48
48
 
49
49
  def initialize
50
- super('https://compute.googleapis.com/', 'compute/alpha/projects/')
50
+ super('https://www.googleapis.com/', 'compute/alpha/projects/')
51
51
  @batch_path = 'batch/compute/alpha'
52
52
  end
53
53
 
@@ -2534,7 +2534,9 @@ module Google
2534
2534
  # Name of the persistent disk to snapshot.
2535
2535
  # @param [Google::Apis::ComputeAlpha::Snapshot] snapshot_object
2536
2536
  # @param [Boolean] guest_flush
2537
- # Application consistent snapshot (ie. VSS).
2537
+ # [Input Only] Specifies to create an application consistent snapshot by
2538
+ # informing the OS to prepare for the snapshot process. Currently only supported
2539
+ # on Windows instances using the Volume Shadow Copy Service (VSS).
2538
2540
  # @param [String] request_id
2539
2541
  # An optional request ID to identify requests. Specify a unique request ID so
2540
2542
  # that if you must retry your request, the server will know to ignore the
@@ -12188,6 +12190,8 @@ module Google
12188
12190
  # accidentally creating duplicate commitments.
12189
12191
  # The request ID must be a valid UUID with the exception that zero UUID is not
12190
12192
  # supported (00000000-0000-0000-0000-000000000000).
12193
+ # @param [Boolean] validate_only
12194
+ # If true, the request will not be committed.
12191
12195
  # @param [String] fields
12192
12196
  # Selector specifying which fields to include in a partial response.
12193
12197
  # @param [String] quota_user
@@ -12207,7 +12211,7 @@ module Google
12207
12211
  # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
12208
12212
  # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
12209
12213
  # @raise [Google::Apis::AuthorizationError] Authorization is required
12210
- def insert_interconnect_attachment(project, region, interconnect_attachment_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
12214
+ def insert_interconnect_attachment(project, region, interconnect_attachment_object = nil, request_id: nil, validate_only: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
12211
12215
  command = make_simple_command(:post, '{project}/regions/{region}/interconnectAttachments', options)
12212
12216
  command.request_representation = Google::Apis::ComputeAlpha::InterconnectAttachment::Representation
12213
12217
  command.request_object = interconnect_attachment_object
@@ -12216,6 +12220,7 @@ module Google
12216
12220
  command.params['project'] = project unless project.nil?
12217
12221
  command.params['region'] = region unless region.nil?
12218
12222
  command.query['requestId'] = request_id unless request_id.nil?
12223
+ command.query['validateOnly'] = validate_only unless validate_only.nil?
12219
12224
  command.query['fields'] = fields unless fields.nil?
12220
12225
  command.query['quotaUser'] = quota_user unless quota_user.nil?
12221
12226
  command.query['userIp'] = user_ip unless user_ip.nil?
@@ -19398,7 +19403,9 @@ module Google
19398
19403
  # Name of the regional persistent disk to snapshot.
19399
19404
  # @param [Google::Apis::ComputeAlpha::Snapshot] snapshot_object
19400
19405
  # @param [Boolean] guest_flush
19401
- # Application consistent snapshot (ie. VSS).
19406
+ # [Input Only] Specifies to create an application consistent snapshot by
19407
+ # informing the OS to prepare for the snapshot process. Currently only supported
19408
+ # on Windows instances using the Volume Shadow Copy Service (VSS).
19402
19409
  # @param [String] request_id
19403
19410
  # An optional request ID to identify requests. Specify a unique request ID so
19404
19411
  # that if you must retry your request, the server will know to ignore the
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://developers.google.com/compute/docs/reference/latest/
26
26
  module ComputeBeta
27
27
  VERSION = 'Beta'
28
- REVISION = '20190416'
28
+ REVISION = '20190528'
29
29
 
30
30
  # View and manage your data across Google Cloud Platform services
31
31
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -2512,11 +2512,21 @@ module Google
2512
2512
  # @return [Google::Apis::ComputeBeta::BackendServiceCdnPolicy]
2513
2513
  attr_accessor :cdn_policy
2514
2514
 
2515
+ # Settings controlling the volume of connections to a backend service.
2516
+ # Corresponds to the JSON property `circuitBreakers`
2517
+ # @return [Google::Apis::ComputeBeta::CircuitBreakers]
2518
+ attr_accessor :circuit_breakers
2519
+
2515
2520
  # Message containing connection draining configuration.
2516
2521
  # Corresponds to the JSON property `connectionDraining`
2517
2522
  # @return [Google::Apis::ComputeBeta::ConnectionDraining]
2518
2523
  attr_accessor :connection_draining
2519
2524
 
2525
+ # This message defines settings for a consistent hash style load balancer.
2526
+ # Corresponds to the JSON property `consistentHash`
2527
+ # @return [Google::Apis::ComputeBeta::ConsistentHashLoadBalancerSettings]
2528
+ attr_accessor :consistent_hash
2529
+
2520
2530
  # [Output Only] Creation timestamp in RFC3339 text format.
2521
2531
  # Corresponds to the JSON property `creationTimestamp`
2522
2532
  # @return [String]
@@ -2592,6 +2602,33 @@ module Google
2592
2602
  # @return [String]
2593
2603
  attr_accessor :load_balancing_scheme
2594
2604
 
2605
+ # The load balancing algorithm used within the scope of the locality. The
2606
+ # possible values are:
2607
+ # - ROUND_ROBIN: This is a simple policy in which each healthy backend is
2608
+ # selected in round robin order. This is the default.
2609
+ # - LEAST_REQUEST: An O(1) algorithm which selects two random healthy hosts and
2610
+ # picks the host which has fewer active requests.
2611
+ # - RING_HASH: The ring/modulo hash load balancer implements consistent hashing
2612
+ # to backends. The algorithm has the property that the addition/removal of a
2613
+ # host from a set of N hosts only affects 1/N of the requests.
2614
+ # - RANDOM: The load balancer selects a random healthy host.
2615
+ # - ORIGINAL_DESTINATION: Backend host is selected based on the client
2616
+ # connection metadata, i.e., connections are opened to the same address as the
2617
+ # destination address of the incoming connection before the connection was
2618
+ # redirected to the load balancer.
2619
+ # - MAGLEV: used as a drop in replacement for the ring hash load balancer.
2620
+ # Maglev is not as stable as ring hash but has faster table lookup build times
2621
+ # and host selection times. For more information about Maglev, refer to https://
2622
+ # ai.google/research/pubs/pub44824
2623
+ # This field is applicable to either:
2624
+ # - A regional backend service with the service_protocol set to HTTP, HTTPS, or
2625
+ # HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED.
2626
+ # - A global backend service with the load_balancing_scheme set to
2627
+ # INTERNAL_SELF_MANAGED.
2628
+ # Corresponds to the JSON property `localityLbPolicy`
2629
+ # @return [String]
2630
+ attr_accessor :locality_lb_policy
2631
+
2595
2632
  # The available logging options for the load balancer traffic served by this
2596
2633
  # backend service.
2597
2634
  # Corresponds to the JSON property `logConfig`
@@ -2608,6 +2645,11 @@ module Google
2608
2645
  # @return [String]
2609
2646
  attr_accessor :name
2610
2647
 
2648
+ # Settings controlling eviction of unhealthy hosts from the load balancing pool.
2649
+ # Corresponds to the JSON property `outlierDetection`
2650
+ # @return [Google::Apis::ComputeBeta::OutlierDetection]
2651
+ attr_accessor :outlier_detection
2652
+
2611
2653
  # Deprecated in favor of portName. The TCP port to connect on the backend. The
2612
2654
  # default value is 80.
2613
2655
  # This cannot be used for internal load balancing.
@@ -2675,7 +2717,9 @@ module Google
2675
2717
  @affinity_cookie_ttl_sec = args[:affinity_cookie_ttl_sec] if args.key?(:affinity_cookie_ttl_sec)
2676
2718
  @backends = args[:backends] if args.key?(:backends)
2677
2719
  @cdn_policy = args[:cdn_policy] if args.key?(:cdn_policy)
2720
+ @circuit_breakers = args[:circuit_breakers] if args.key?(:circuit_breakers)
2678
2721
  @connection_draining = args[:connection_draining] if args.key?(:connection_draining)
2722
+ @consistent_hash = args[:consistent_hash] if args.key?(:consistent_hash)
2679
2723
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
2680
2724
  @custom_request_headers = args[:custom_request_headers] if args.key?(:custom_request_headers)
2681
2725
  @description = args[:description] if args.key?(:description)
@@ -2687,8 +2731,10 @@ module Google
2687
2731
  @id = args[:id] if args.key?(:id)
2688
2732
  @kind = args[:kind] if args.key?(:kind)
2689
2733
  @load_balancing_scheme = args[:load_balancing_scheme] if args.key?(:load_balancing_scheme)
2734
+ @locality_lb_policy = args[:locality_lb_policy] if args.key?(:locality_lb_policy)
2690
2735
  @log_config = args[:log_config] if args.key?(:log_config)
2691
2736
  @name = args[:name] if args.key?(:name)
2737
+ @outlier_detection = args[:outlier_detection] if args.key?(:outlier_detection)
2692
2738
  @port = args[:port] if args.key?(:port)
2693
2739
  @port_name = args[:port_name] if args.key?(:port_name)
2694
2740
  @protocol = args[:protocol] if args.key?(:protocol)
@@ -3358,6 +3404,64 @@ module Google
3358
3404
  end
3359
3405
  end
3360
3406
 
3407
+ # Settings controlling the volume of connections to a backend service.
3408
+ class CircuitBreakers
3409
+ include Google::Apis::Core::Hashable
3410
+
3411
+ # A Duration represents a fixed-length span of time represented as a count of
3412
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
3413
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
3414
+ # 000 years.
3415
+ # Corresponds to the JSON property `connectTimeout`
3416
+ # @return [Google::Apis::ComputeBeta::Duration]
3417
+ attr_accessor :connect_timeout
3418
+
3419
+ # The maximum number of connections to the backend cluster. If not specified,
3420
+ # the default is 1024.
3421
+ # Corresponds to the JSON property `maxConnections`
3422
+ # @return [Fixnum]
3423
+ attr_accessor :max_connections
3424
+
3425
+ # The maximum number of pending requests allowed to the backend cluster. If not
3426
+ # specified, the default is 1024.
3427
+ # Corresponds to the JSON property `maxPendingRequests`
3428
+ # @return [Fixnum]
3429
+ attr_accessor :max_pending_requests
3430
+
3431
+ # The maximum number of parallel requests that allowed to the backend cluster.
3432
+ # If not specified, the default is 1024.
3433
+ # Corresponds to the JSON property `maxRequests`
3434
+ # @return [Fixnum]
3435
+ attr_accessor :max_requests
3436
+
3437
+ # Maximum requests for a single backend connection. This parameter is respected
3438
+ # by both the HTTP/1.1 and HTTP/2 implementations. If not specified, there is no
3439
+ # limit. Setting this parameter to 1 will effectively disable keep alive.
3440
+ # Corresponds to the JSON property `maxRequestsPerConnection`
3441
+ # @return [Fixnum]
3442
+ attr_accessor :max_requests_per_connection
3443
+
3444
+ # The maximum number of parallel retries allowed to the backend cluster. If not
3445
+ # specified, the default is 3.
3446
+ # Corresponds to the JSON property `maxRetries`
3447
+ # @return [Fixnum]
3448
+ attr_accessor :max_retries
3449
+
3450
+ def initialize(**args)
3451
+ update!(**args)
3452
+ end
3453
+
3454
+ # Update properties of this object
3455
+ def update!(**args)
3456
+ @connect_timeout = args[:connect_timeout] if args.key?(:connect_timeout)
3457
+ @max_connections = args[:max_connections] if args.key?(:max_connections)
3458
+ @max_pending_requests = args[:max_pending_requests] if args.key?(:max_pending_requests)
3459
+ @max_requests = args[:max_requests] if args.key?(:max_requests)
3460
+ @max_requests_per_connection = args[:max_requests_per_connection] if args.key?(:max_requests_per_connection)
3461
+ @max_retries = args[:max_retries] if args.key?(:max_retries)
3462
+ end
3463
+ end
3464
+
3361
3465
  # Represents a Commitment resource. Creating a Commitment resource means that
3362
3466
  # you are purchasing a committed use contract with an explicit start and end
3363
3467
  # time. You can create commitments based on vCPUs and memory usage and receive
@@ -3867,6 +3971,150 @@ module Google
3867
3971
  end
3868
3972
  end
3869
3973
 
3974
+ # This message defines settings for a consistent hash style load balancer.
3975
+ class ConsistentHashLoadBalancerSettings
3976
+ include Google::Apis::Core::Hashable
3977
+
3978
+ # The information about the HTTP Cookie on which the hash function is based for
3979
+ # load balancing policies that use a consistent hash.
3980
+ # Corresponds to the JSON property `httpCookie`
3981
+ # @return [Google::Apis::ComputeBeta::ConsistentHashLoadBalancerSettingsHttpCookie]
3982
+ attr_accessor :http_cookie
3983
+
3984
+ # The hash based on the value of the specified header field. This field is
3985
+ # applicable if the sessionAffinity is set to HEADER_FIELD.
3986
+ # Corresponds to the JSON property `httpHeaderName`
3987
+ # @return [String]
3988
+ attr_accessor :http_header_name
3989
+
3990
+ # The minimum number of virtual nodes to use for the hash ring. Defaults to 1024.
3991
+ # Larger ring sizes result in more granular load distributions. If the number
3992
+ # of hosts in the load balancing pool is larger than the ring size, each host
3993
+ # will be assigned a single virtual node.
3994
+ # Corresponds to the JSON property `minimumRingSize`
3995
+ # @return [Fixnum]
3996
+ attr_accessor :minimum_ring_size
3997
+
3998
+ def initialize(**args)
3999
+ update!(**args)
4000
+ end
4001
+
4002
+ # Update properties of this object
4003
+ def update!(**args)
4004
+ @http_cookie = args[:http_cookie] if args.key?(:http_cookie)
4005
+ @http_header_name = args[:http_header_name] if args.key?(:http_header_name)
4006
+ @minimum_ring_size = args[:minimum_ring_size] if args.key?(:minimum_ring_size)
4007
+ end
4008
+ end
4009
+
4010
+ # The information about the HTTP Cookie on which the hash function is based for
4011
+ # load balancing policies that use a consistent hash.
4012
+ class ConsistentHashLoadBalancerSettingsHttpCookie
4013
+ include Google::Apis::Core::Hashable
4014
+
4015
+ # Name of the cookie.
4016
+ # Corresponds to the JSON property `name`
4017
+ # @return [String]
4018
+ attr_accessor :name
4019
+
4020
+ # Path to set for the cookie.
4021
+ # Corresponds to the JSON property `path`
4022
+ # @return [String]
4023
+ attr_accessor :path
4024
+
4025
+ # A Duration represents a fixed-length span of time represented as a count of
4026
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
4027
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
4028
+ # 000 years.
4029
+ # Corresponds to the JSON property `ttl`
4030
+ # @return [Google::Apis::ComputeBeta::Duration]
4031
+ attr_accessor :ttl
4032
+
4033
+ def initialize(**args)
4034
+ update!(**args)
4035
+ end
4036
+
4037
+ # Update properties of this object
4038
+ def update!(**args)
4039
+ @name = args[:name] if args.key?(:name)
4040
+ @path = args[:path] if args.key?(:path)
4041
+ @ttl = args[:ttl] if args.key?(:ttl)
4042
+ end
4043
+ end
4044
+
4045
+ # The specification for allowing client side cross-origin requests. Please see
4046
+ # W3C Recommendation for Cross Origin Resource Sharing
4047
+ class CorsPolicy
4048
+ include Google::Apis::Core::Hashable
4049
+
4050
+ # In response to a preflight request, setting this to true indicates that the
4051
+ # actual request can include user credentials. This translates to the Access-
4052
+ # Control-Allow-Credentials header.
4053
+ # Default is false.
4054
+ # Corresponds to the JSON property `allowCredentials`
4055
+ # @return [Boolean]
4056
+ attr_accessor :allow_credentials
4057
+ alias_method :allow_credentials?, :allow_credentials
4058
+
4059
+ # Specifies the content for the Access-Control-Allow-Headers header.
4060
+ # Corresponds to the JSON property `allowHeaders`
4061
+ # @return [Array<String>]
4062
+ attr_accessor :allow_headers
4063
+
4064
+ # Specifies the content for the Access-Control-Allow-Methods header.
4065
+ # Corresponds to the JSON property `allowMethods`
4066
+ # @return [Array<String>]
4067
+ attr_accessor :allow_methods
4068
+
4069
+ # Specifies the regualar expression patterns that match allowed origins. For
4070
+ # regular expression grammar please see en.cppreference.com/w/cpp/regex/
4071
+ # ecmascript
4072
+ # An origin is allowed if it matches either allow_origins or allow_origin_regex.
4073
+ # Corresponds to the JSON property `allowOriginRegexes`
4074
+ # @return [Array<String>]
4075
+ attr_accessor :allow_origin_regexes
4076
+
4077
+ # Specifies the list of origins that will be allowed to do CORS requests.
4078
+ # An origin is allowed if it matches either allow_origins or allow_origin_regex.
4079
+ # Corresponds to the JSON property `allowOrigins`
4080
+ # @return [Array<String>]
4081
+ attr_accessor :allow_origins
4082
+
4083
+ # If true, specifies the CORS policy is disabled. The default value of false,
4084
+ # which indicates that the CORS policy is in effect.
4085
+ # Corresponds to the JSON property `disabled`
4086
+ # @return [Boolean]
4087
+ attr_accessor :disabled
4088
+ alias_method :disabled?, :disabled
4089
+
4090
+ # Specifies the content for the Access-Control-Expose-Headers header.
4091
+ # Corresponds to the JSON property `exposeHeaders`
4092
+ # @return [Array<String>]
4093
+ attr_accessor :expose_headers
4094
+
4095
+ # Specifies how long the results of a preflight request can be cached. This
4096
+ # translates to the content for the Access-Control-Max-Age header.
4097
+ # Corresponds to the JSON property `maxAge`
4098
+ # @return [Fixnum]
4099
+ attr_accessor :max_age
4100
+
4101
+ def initialize(**args)
4102
+ update!(**args)
4103
+ end
4104
+
4105
+ # Update properties of this object
4106
+ def update!(**args)
4107
+ @allow_credentials = args[:allow_credentials] if args.key?(:allow_credentials)
4108
+ @allow_headers = args[:allow_headers] if args.key?(:allow_headers)
4109
+ @allow_methods = args[:allow_methods] if args.key?(:allow_methods)
4110
+ @allow_origin_regexes = args[:allow_origin_regexes] if args.key?(:allow_origin_regexes)
4111
+ @allow_origins = args[:allow_origins] if args.key?(:allow_origins)
4112
+ @disabled = args[:disabled] if args.key?(:disabled)
4113
+ @expose_headers = args[:expose_headers] if args.key?(:expose_headers)
4114
+ @max_age = args[:max_age] if args.key?(:max_age)
4115
+ end
4116
+ end
4117
+
3870
4118
  # Represents a customer-supplied encryption key
3871
4119
  class CustomerEncryptionKey
3872
4120
  include Google::Apis::Core::Hashable
@@ -4196,14 +4444,14 @@ module Google
4196
4444
  attr_accessor :storage_type
4197
4445
 
4198
4446
  # URL of the disk type resource describing which disk type to use to create the
4199
- # disk. Provide this when creating the disk. For example: project/zones/zone/
4200
- # diskTypes/pd-standard or pd-ssd
4447
+ # disk. Provide this when creating the disk. For example: projects/project/zones/
4448
+ # zone/diskTypes/pd-standard or pd-ssd
4201
4449
  # Corresponds to the JSON property `type`
4202
4450
  # @return [String]
4203
4451
  attr_accessor :type
4204
4452
 
4205
4453
  # [Output Only] Links to the users of the disk (attached instances) in form:
4206
- # project/zones/zone/instances/instance
4454
+ # projects/project/zones/zone/instances/instance
4207
4455
  # Corresponds to the JSON property `users`
4208
4456
  # @return [Array<String>]
4209
4457
  attr_accessor :users
@@ -5195,6 +5443,38 @@ module Google
5195
5443
  end
5196
5444
  end
5197
5445
 
5446
+ # A Duration represents a fixed-length span of time represented as a count of
5447
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
5448
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
5449
+ # 000 years.
5450
+ class Duration
5451
+ include Google::Apis::Core::Hashable
5452
+
5453
+ # Span of time that's a fraction of a second at nanosecond resolution. Durations
5454
+ # less than one second are represented with a 0 `seconds` field and a positive `
5455
+ # nanos` field. Must be from 0 to 999,999,999 inclusive.
5456
+ # Corresponds to the JSON property `nanos`
5457
+ # @return [Fixnum]
5458
+ attr_accessor :nanos
5459
+
5460
+ # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
5461
+ # inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24
5462
+ # hr/day * 365.25 days/year * 10000 years
5463
+ # Corresponds to the JSON property `seconds`
5464
+ # @return [Fixnum]
5465
+ attr_accessor :seconds
5466
+
5467
+ def initialize(**args)
5468
+ update!(**args)
5469
+ end
5470
+
5471
+ # Update properties of this object
5472
+ def update!(**args)
5473
+ @nanos = args[:nanos] if args.key?(:nanos)
5474
+ @seconds = args[:seconds] if args.key?(:seconds)
5475
+ end
5476
+ end
5477
+
5198
5478
  #
5199
5479
  class ExchangedPeeringRoute
5200
5480
  include Google::Apis::Core::Hashable
@@ -6236,6 +6516,23 @@ module Google
6236
6516
  # @return [String]
6237
6517
  attr_accessor :load_balancing_scheme
6238
6518
 
6519
+ # Opaque filter criteria used by Loadbalancer to restrict routing configuration
6520
+ # to a limited set xDS compliant clients. In their xDS requests to Loadbalancer,
6521
+ # xDS clients present node metadata. If a match takes place, the relevant
6522
+ # routing configuration is made available to those proxies.
6523
+ # For each metadataFilter in this list, if its filterMatchCriteria is set to
6524
+ # MATCH_ANY, at least one of the filterLabels must match the corresponding label
6525
+ # provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then
6526
+ # all of its filterLabels must match with corresponding labels in the provided
6527
+ # metadata.
6528
+ # metadataFilters specified here can be overridden by those specified in the
6529
+ # UrlMap that this ForwardingRule references.
6530
+ # metadataFilters only applies to Loadbalancers that have their
6531
+ # loadBalancingScheme set to INTERNAL_SELF_MANAGED.
6532
+ # Corresponds to the JSON property `metadataFilters`
6533
+ # @return [Array<Google::Apis::ComputeBeta::MetadataFilter>]
6534
+ attr_accessor :metadata_filters
6535
+
6239
6536
  # Name of the resource; provided by the client when the resource is created. The
6240
6537
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
6241
6538
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
@@ -6364,6 +6661,7 @@ module Google
6364
6661
  @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
6365
6662
  @labels = args[:labels] if args.key?(:labels)
6366
6663
  @load_balancing_scheme = args[:load_balancing_scheme] if args.key?(:load_balancing_scheme)
6664
+ @metadata_filters = args[:metadata_filters] if args.key?(:metadata_filters)
6367
6665
  @name = args[:name] if args.key?(:name)
6368
6666
  @network = args[:network] if args.key?(:network)
6369
6667
  @network_tier = args[:network_tier] if args.key?(:network_tier)
@@ -7226,6 +7524,12 @@ module Google
7226
7524
  # @return [String]
7227
7525
  attr_accessor :name
7228
7526
 
7527
+ # [Output Only] Region where the health check resides. Not applicable to global
7528
+ # health checks.
7529
+ # Corresponds to the JSON property `region`
7530
+ # @return [String]
7531
+ attr_accessor :region
7532
+
7229
7533
  # [Output Only] Server-defined URL for the resource.
7230
7534
  # Corresponds to the JSON property `selfLink`
7231
7535
  # @return [String]
@@ -7277,6 +7581,7 @@ module Google
7277
7581
  @id = args[:id] if args.key?(:id)
7278
7582
  @kind = args[:kind] if args.key?(:kind)
7279
7583
  @name = args[:name] if args.key?(:name)
7584
+ @region = args[:region] if args.key?(:region)
7280
7585
  @self_link = args[:self_link] if args.key?(:self_link)
7281
7586
  @ssl_health_check = args[:ssl_health_check] if args.key?(:ssl_health_check)
7282
7587
  @tcp_health_check = args[:tcp_health_check] if args.key?(:tcp_health_check)
@@ -7428,28 +7733,42 @@ module Google
7428
7733
  end
7429
7734
 
7430
7735
  #
7431
- class HealthStatus
7736
+ class HealthChecksAggregatedList
7432
7737
  include Google::Apis::Core::Hashable
7433
7738
 
7434
- # Health state of the instance.
7435
- # Corresponds to the JSON property `healthState`
7739
+ # [Output Only] Unique identifier for the resource; defined by the server.
7740
+ # Corresponds to the JSON property `id`
7436
7741
  # @return [String]
7437
- attr_accessor :health_state
7742
+ attr_accessor :id
7438
7743
 
7439
- # URL of the instance resource.
7440
- # Corresponds to the JSON property `instance`
7744
+ # A list of HealthChecksScopedList resources.
7745
+ # Corresponds to the JSON property `items`
7746
+ # @return [Hash<String,Google::Apis::ComputeBeta::HealthChecksScopedList>]
7747
+ attr_accessor :items
7748
+
7749
+ # Type of resource.
7750
+ # Corresponds to the JSON property `kind`
7441
7751
  # @return [String]
7442
- attr_accessor :instance
7752
+ attr_accessor :kind
7443
7753
 
7444
- # The IP address represented by this resource.
7445
- # Corresponds to the JSON property `ipAddress`
7754
+ # [Output Only] This token allows you to get the next page of results for list
7755
+ # requests. If the number of results is larger than maxResults, use the
7756
+ # nextPageToken as a value for the query parameter pageToken in the next list
7757
+ # request. Subsequent list requests will have their own nextPageToken to
7758
+ # continue paging through the results.
7759
+ # Corresponds to the JSON property `nextPageToken`
7446
7760
  # @return [String]
7447
- attr_accessor :ip_address
7761
+ attr_accessor :next_page_token
7448
7762
 
7449
- # The port on the instance.
7450
- # Corresponds to the JSON property `port`
7451
- # @return [Fixnum]
7452
- attr_accessor :port
7763
+ # [Output Only] Server-defined URL for this resource.
7764
+ # Corresponds to the JSON property `selfLink`
7765
+ # @return [String]
7766
+ attr_accessor :self_link
7767
+
7768
+ # [Output Only] Informational warning message.
7769
+ # Corresponds to the JSON property `warning`
7770
+ # @return [Google::Apis::ComputeBeta::HealthChecksAggregatedList::Warning]
7771
+ attr_accessor :warning
7453
7772
 
7454
7773
  def initialize(**args)
7455
7774
  update!(**args)
@@ -7457,36 +7776,230 @@ module Google
7457
7776
 
7458
7777
  # Update properties of this object
7459
7778
  def update!(**args)
7460
- @health_state = args[:health_state] if args.key?(:health_state)
7461
- @instance = args[:instance] if args.key?(:instance)
7462
- @ip_address = args[:ip_address] if args.key?(:ip_address)
7463
- @port = args[:port] if args.key?(:port)
7779
+ @id = args[:id] if args.key?(:id)
7780
+ @items = args[:items] if args.key?(:items)
7781
+ @kind = args[:kind] if args.key?(:kind)
7782
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
7783
+ @self_link = args[:self_link] if args.key?(:self_link)
7784
+ @warning = args[:warning] if args.key?(:warning)
7785
+ end
7786
+
7787
+ # [Output Only] Informational warning message.
7788
+ class Warning
7789
+ include Google::Apis::Core::Hashable
7790
+
7791
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
7792
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
7793
+ # Corresponds to the JSON property `code`
7794
+ # @return [String]
7795
+ attr_accessor :code
7796
+
7797
+ # [Output Only] Metadata about this warning in key: value format. For example:
7798
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
7799
+ # Corresponds to the JSON property `data`
7800
+ # @return [Array<Google::Apis::ComputeBeta::HealthChecksAggregatedList::Warning::Datum>]
7801
+ attr_accessor :data
7802
+
7803
+ # [Output Only] A human-readable description of the warning code.
7804
+ # Corresponds to the JSON property `message`
7805
+ # @return [String]
7806
+ attr_accessor :message
7807
+
7808
+ def initialize(**args)
7809
+ update!(**args)
7810
+ end
7811
+
7812
+ # Update properties of this object
7813
+ def update!(**args)
7814
+ @code = args[:code] if args.key?(:code)
7815
+ @data = args[:data] if args.key?(:data)
7816
+ @message = args[:message] if args.key?(:message)
7817
+ end
7818
+
7819
+ #
7820
+ class Datum
7821
+ include Google::Apis::Core::Hashable
7822
+
7823
+ # [Output Only] A key that provides more detail on the warning being returned.
7824
+ # For example, for warnings where there are no results in a list request for a
7825
+ # particular zone, this key might be scope and the key value might be the zone
7826
+ # name. Other examples might be a key indicating a deprecated resource and a
7827
+ # suggested replacement, or a warning about invalid network settings (for
7828
+ # example, if an instance attempts to perform IP forwarding but is not enabled
7829
+ # for IP forwarding).
7830
+ # Corresponds to the JSON property `key`
7831
+ # @return [String]
7832
+ attr_accessor :key
7833
+
7834
+ # [Output Only] A warning data value corresponding to the key.
7835
+ # Corresponds to the JSON property `value`
7836
+ # @return [String]
7837
+ attr_accessor :value
7838
+
7839
+ def initialize(**args)
7840
+ update!(**args)
7841
+ end
7842
+
7843
+ # Update properties of this object
7844
+ def update!(**args)
7845
+ @key = args[:key] if args.key?(:key)
7846
+ @value = args[:value] if args.key?(:value)
7847
+ end
7848
+ end
7464
7849
  end
7465
7850
  end
7466
7851
 
7467
7852
  #
7468
- class HealthStatusForNetworkEndpoint
7853
+ class HealthChecksScopedList
7469
7854
  include Google::Apis::Core::Hashable
7470
7855
 
7471
- # URL of the backend service associated with the health state of the network
7472
- # endpoint.
7473
- # Corresponds to the JSON property `backendService`
7474
- # @return [Google::Apis::ComputeBeta::BackendServiceReference]
7475
- attr_accessor :backend_service
7856
+ # A list of HealthChecks contained in this scope.
7857
+ # Corresponds to the JSON property `healthChecks`
7858
+ # @return [Array<Google::Apis::ComputeBeta::HealthCheck>]
7859
+ attr_accessor :health_checks
7476
7860
 
7477
- # URL of the forwarding rule associated with the health state of the network
7478
- # endpoint.
7479
- # Corresponds to the JSON property `forwardingRule`
7480
- # @return [Google::Apis::ComputeBeta::ForwardingRuleReference]
7481
- attr_accessor :forwarding_rule
7861
+ # Informational warning which replaces the list of backend services when the
7862
+ # list is empty.
7863
+ # Corresponds to the JSON property `warning`
7864
+ # @return [Google::Apis::ComputeBeta::HealthChecksScopedList::Warning]
7865
+ attr_accessor :warning
7482
7866
 
7483
- # A full or valid partial URL to a health check. For example, the following are
7484
- # valid URLs:
7485
- # - https://www.googleapis.com/compute/beta/projects/project-id/global/
7486
- # httpHealthChecks/health-check
7487
- # - projects/project-id/global/httpHealthChecks/health-check
7488
- # - global/httpHealthChecks/health-check
7489
- # Corresponds to the JSON property `healthCheck`
7867
+ def initialize(**args)
7868
+ update!(**args)
7869
+ end
7870
+
7871
+ # Update properties of this object
7872
+ def update!(**args)
7873
+ @health_checks = args[:health_checks] if args.key?(:health_checks)
7874
+ @warning = args[:warning] if args.key?(:warning)
7875
+ end
7876
+
7877
+ # Informational warning which replaces the list of backend services when the
7878
+ # list is empty.
7879
+ class Warning
7880
+ include Google::Apis::Core::Hashable
7881
+
7882
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
7883
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
7884
+ # Corresponds to the JSON property `code`
7885
+ # @return [String]
7886
+ attr_accessor :code
7887
+
7888
+ # [Output Only] Metadata about this warning in key: value format. For example:
7889
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
7890
+ # Corresponds to the JSON property `data`
7891
+ # @return [Array<Google::Apis::ComputeBeta::HealthChecksScopedList::Warning::Datum>]
7892
+ attr_accessor :data
7893
+
7894
+ # [Output Only] A human-readable description of the warning code.
7895
+ # Corresponds to the JSON property `message`
7896
+ # @return [String]
7897
+ attr_accessor :message
7898
+
7899
+ def initialize(**args)
7900
+ update!(**args)
7901
+ end
7902
+
7903
+ # Update properties of this object
7904
+ def update!(**args)
7905
+ @code = args[:code] if args.key?(:code)
7906
+ @data = args[:data] if args.key?(:data)
7907
+ @message = args[:message] if args.key?(:message)
7908
+ end
7909
+
7910
+ #
7911
+ class Datum
7912
+ include Google::Apis::Core::Hashable
7913
+
7914
+ # [Output Only] A key that provides more detail on the warning being returned.
7915
+ # For example, for warnings where there are no results in a list request for a
7916
+ # particular zone, this key might be scope and the key value might be the zone
7917
+ # name. Other examples might be a key indicating a deprecated resource and a
7918
+ # suggested replacement, or a warning about invalid network settings (for
7919
+ # example, if an instance attempts to perform IP forwarding but is not enabled
7920
+ # for IP forwarding).
7921
+ # Corresponds to the JSON property `key`
7922
+ # @return [String]
7923
+ attr_accessor :key
7924
+
7925
+ # [Output Only] A warning data value corresponding to the key.
7926
+ # Corresponds to the JSON property `value`
7927
+ # @return [String]
7928
+ attr_accessor :value
7929
+
7930
+ def initialize(**args)
7931
+ update!(**args)
7932
+ end
7933
+
7934
+ # Update properties of this object
7935
+ def update!(**args)
7936
+ @key = args[:key] if args.key?(:key)
7937
+ @value = args[:value] if args.key?(:value)
7938
+ end
7939
+ end
7940
+ end
7941
+ end
7942
+
7943
+ #
7944
+ class HealthStatus
7945
+ include Google::Apis::Core::Hashable
7946
+
7947
+ # Health state of the instance.
7948
+ # Corresponds to the JSON property `healthState`
7949
+ # @return [String]
7950
+ attr_accessor :health_state
7951
+
7952
+ # URL of the instance resource.
7953
+ # Corresponds to the JSON property `instance`
7954
+ # @return [String]
7955
+ attr_accessor :instance
7956
+
7957
+ # The IP address represented by this resource.
7958
+ # Corresponds to the JSON property `ipAddress`
7959
+ # @return [String]
7960
+ attr_accessor :ip_address
7961
+
7962
+ # The port on the instance.
7963
+ # Corresponds to the JSON property `port`
7964
+ # @return [Fixnum]
7965
+ attr_accessor :port
7966
+
7967
+ def initialize(**args)
7968
+ update!(**args)
7969
+ end
7970
+
7971
+ # Update properties of this object
7972
+ def update!(**args)
7973
+ @health_state = args[:health_state] if args.key?(:health_state)
7974
+ @instance = args[:instance] if args.key?(:instance)
7975
+ @ip_address = args[:ip_address] if args.key?(:ip_address)
7976
+ @port = args[:port] if args.key?(:port)
7977
+ end
7978
+ end
7979
+
7980
+ #
7981
+ class HealthStatusForNetworkEndpoint
7982
+ include Google::Apis::Core::Hashable
7983
+
7984
+ # URL of the backend service associated with the health state of the network
7985
+ # endpoint.
7986
+ # Corresponds to the JSON property `backendService`
7987
+ # @return [Google::Apis::ComputeBeta::BackendServiceReference]
7988
+ attr_accessor :backend_service
7989
+
7990
+ # URL of the forwarding rule associated with the health state of the network
7991
+ # endpoint.
7992
+ # Corresponds to the JSON property `forwardingRule`
7993
+ # @return [Google::Apis::ComputeBeta::ForwardingRuleReference]
7994
+ attr_accessor :forwarding_rule
7995
+
7996
+ # A full or valid partial URL to a health check. For example, the following are
7997
+ # valid URLs:
7998
+ # - https://www.googleapis.com/compute/beta/projects/project-id/global/
7999
+ # httpHealthChecks/health-check
8000
+ # - projects/project-id/global/httpHealthChecks/health-check
8001
+ # - global/httpHealthChecks/health-check
8002
+ # Corresponds to the JSON property `healthCheck`
7490
8003
  # @return [Google::Apis::ComputeBeta::HealthCheckReference]
7491
8004
  attr_accessor :health_check
7492
8005
 
@@ -7545,6 +8058,258 @@ module Google
7545
8058
  end
7546
8059
  end
7547
8060
 
8061
+ # Specification for how requests are aborted as part of fault injection.
8062
+ class HttpFaultAbort
8063
+ include Google::Apis::Core::Hashable
8064
+
8065
+ # The HTTP status code used to abort the request.
8066
+ # The value must be between 200 and 599 inclusive.
8067
+ # Corresponds to the JSON property `httpStatus`
8068
+ # @return [Fixnum]
8069
+ attr_accessor :http_status
8070
+
8071
+ # The percentage of traffic (connections/operations/requests) which will be
8072
+ # aborted as part of fault injection.
8073
+ # The value must be between 0.0 and 100.0 inclusive.
8074
+ # Corresponds to the JSON property `percentage`
8075
+ # @return [Float]
8076
+ attr_accessor :percentage
8077
+
8078
+ def initialize(**args)
8079
+ update!(**args)
8080
+ end
8081
+
8082
+ # Update properties of this object
8083
+ def update!(**args)
8084
+ @http_status = args[:http_status] if args.key?(:http_status)
8085
+ @percentage = args[:percentage] if args.key?(:percentage)
8086
+ end
8087
+ end
8088
+
8089
+ # Specifies the delay introduced by Loadbalancer before forwarding the request
8090
+ # to the backend service as part of fault injection.
8091
+ class HttpFaultDelay
8092
+ include Google::Apis::Core::Hashable
8093
+
8094
+ # A Duration represents a fixed-length span of time represented as a count of
8095
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
8096
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
8097
+ # 000 years.
8098
+ # Corresponds to the JSON property `fixedDelay`
8099
+ # @return [Google::Apis::ComputeBeta::Duration]
8100
+ attr_accessor :fixed_delay
8101
+
8102
+ # The percentage of traffic (connections/operations/requests) on which delay
8103
+ # will be introduced as part of fault injection.
8104
+ # The value must be between 0.0 and 100.0 inclusive.
8105
+ # Corresponds to the JSON property `percentage`
8106
+ # @return [Float]
8107
+ attr_accessor :percentage
8108
+
8109
+ def initialize(**args)
8110
+ update!(**args)
8111
+ end
8112
+
8113
+ # Update properties of this object
8114
+ def update!(**args)
8115
+ @fixed_delay = args[:fixed_delay] if args.key?(:fixed_delay)
8116
+ @percentage = args[:percentage] if args.key?(:percentage)
8117
+ end
8118
+ end
8119
+
8120
+ # The specification for fault injection introduced into traffic to test the
8121
+ # resiliency of clients to backend service failure. As part of fault injection,
8122
+ # when clients send requests to a backend service, delays can be introduced by
8123
+ # Loadbalancer on a percentage of requests before sending those request to the
8124
+ # backend service. Similarly requests from clients can be aborted by the
8125
+ # Loadbalancer for a percentage of requests.
8126
+ class HttpFaultInjection
8127
+ include Google::Apis::Core::Hashable
8128
+
8129
+ # Specification for how requests are aborted as part of fault injection.
8130
+ # Corresponds to the JSON property `abort`
8131
+ # @return [Google::Apis::ComputeBeta::HttpFaultAbort]
8132
+ attr_accessor :abort
8133
+
8134
+ # Specifies the delay introduced by Loadbalancer before forwarding the request
8135
+ # to the backend service as part of fault injection.
8136
+ # Corresponds to the JSON property `delay`
8137
+ # @return [Google::Apis::ComputeBeta::HttpFaultDelay]
8138
+ attr_accessor :delay
8139
+
8140
+ def initialize(**args)
8141
+ update!(**args)
8142
+ end
8143
+
8144
+ # Update properties of this object
8145
+ def update!(**args)
8146
+ @abort = args[:abort] if args.key?(:abort)
8147
+ @delay = args[:delay] if args.key?(:delay)
8148
+ end
8149
+ end
8150
+
8151
+ # The request and response header transformations that take effect before the
8152
+ # request is passed along to the selected backendService.
8153
+ class HttpHeaderAction
8154
+ include Google::Apis::Core::Hashable
8155
+
8156
+ # Headers to add to a matching request prior to forwarding the request to the
8157
+ # backendService.
8158
+ # Corresponds to the JSON property `requestHeadersToAdd`
8159
+ # @return [Array<Google::Apis::ComputeBeta::HttpHeaderOption>]
8160
+ attr_accessor :request_headers_to_add
8161
+
8162
+ # A list of header names for headers that need to be removed from the request
8163
+ # prior to forwarding the request to the backendService.
8164
+ # Corresponds to the JSON property `requestHeadersToRemove`
8165
+ # @return [Array<String>]
8166
+ attr_accessor :request_headers_to_remove
8167
+
8168
+ # Headers to add the response prior to sending the response back to the client.
8169
+ # Corresponds to the JSON property `responseHeadersToAdd`
8170
+ # @return [Array<Google::Apis::ComputeBeta::HttpHeaderOption>]
8171
+ attr_accessor :response_headers_to_add
8172
+
8173
+ # A list of header names for headers that need to be removed from the response
8174
+ # prior to sending the response back to the client.
8175
+ # Corresponds to the JSON property `responseHeadersToRemove`
8176
+ # @return [Array<String>]
8177
+ attr_accessor :response_headers_to_remove
8178
+
8179
+ def initialize(**args)
8180
+ update!(**args)
8181
+ end
8182
+
8183
+ # Update properties of this object
8184
+ def update!(**args)
8185
+ @request_headers_to_add = args[:request_headers_to_add] if args.key?(:request_headers_to_add)
8186
+ @request_headers_to_remove = args[:request_headers_to_remove] if args.key?(:request_headers_to_remove)
8187
+ @response_headers_to_add = args[:response_headers_to_add] if args.key?(:response_headers_to_add)
8188
+ @response_headers_to_remove = args[:response_headers_to_remove] if args.key?(:response_headers_to_remove)
8189
+ end
8190
+ end
8191
+
8192
+ # matchRule criteria for request header matches.
8193
+ class HttpHeaderMatch
8194
+ include Google::Apis::Core::Hashable
8195
+
8196
+ # The value should exactly match contents of exactMatch.
8197
+ # Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or
8198
+ # rangeMatch must be set.
8199
+ # Corresponds to the JSON property `exactMatch`
8200
+ # @return [String]
8201
+ attr_accessor :exact_match
8202
+
8203
+ # The name of the HTTP header to match.
8204
+ # For matching against the HTTP request's authority, use a headerMatch with the
8205
+ # header name ":authority".
8206
+ # For matching a request's method, use the headerName ":method".
8207
+ # Corresponds to the JSON property `headerName`
8208
+ # @return [String]
8209
+ attr_accessor :header_name
8210
+
8211
+ # If set to false, the headerMatch is considered a match if the match criteria
8212
+ # above are met. If set to true, the headerMatch is considered a match if the
8213
+ # match criteria above are NOT met.
8214
+ # The default setting is false.
8215
+ # Corresponds to the JSON property `invertMatch`
8216
+ # @return [Boolean]
8217
+ attr_accessor :invert_match
8218
+ alias_method :invert_match?, :invert_match
8219
+
8220
+ # The value of the header must start with the contents of prefixMatch.
8221
+ # Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or
8222
+ # rangeMatch must be set.
8223
+ # Corresponds to the JSON property `prefixMatch`
8224
+ # @return [String]
8225
+ attr_accessor :prefix_match
8226
+
8227
+ # A header with the contents of headerName must exist. The match takes place
8228
+ # whether or not the request's header has a value or not.
8229
+ # Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or
8230
+ # rangeMatch must be set.
8231
+ # Corresponds to the JSON property `presentMatch`
8232
+ # @return [Boolean]
8233
+ attr_accessor :present_match
8234
+ alias_method :present_match?, :present_match
8235
+
8236
+ # HttpRouteRuleMatch criteria for field values that must stay within the
8237
+ # specified integer range.
8238
+ # Corresponds to the JSON property `rangeMatch`
8239
+ # @return [Google::Apis::ComputeBeta::Int64RangeMatch]
8240
+ attr_accessor :range_match
8241
+
8242
+ # The value of the header must match the regualar expression specified in
8243
+ # regexMatch. For regular expression grammar, please see: en.cppreference.com/w/
8244
+ # cpp/regex/ecmascript
8245
+ # For matching against a port specified in the HTTP request, use a headerMatch
8246
+ # with headerName set to PORT and a regular expression that satisfies the
8247
+ # RFC2616 Host header's port specifier.
8248
+ # Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or
8249
+ # rangeMatch must be set.
8250
+ # Corresponds to the JSON property `regexMatch`
8251
+ # @return [String]
8252
+ attr_accessor :regex_match
8253
+
8254
+ # The value of the header must end with the contents of suffixMatch.
8255
+ # Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or
8256
+ # rangeMatch must be set.
8257
+ # Corresponds to the JSON property `suffixMatch`
8258
+ # @return [String]
8259
+ attr_accessor :suffix_match
8260
+
8261
+ def initialize(**args)
8262
+ update!(**args)
8263
+ end
8264
+
8265
+ # Update properties of this object
8266
+ def update!(**args)
8267
+ @exact_match = args[:exact_match] if args.key?(:exact_match)
8268
+ @header_name = args[:header_name] if args.key?(:header_name)
8269
+ @invert_match = args[:invert_match] if args.key?(:invert_match)
8270
+ @prefix_match = args[:prefix_match] if args.key?(:prefix_match)
8271
+ @present_match = args[:present_match] if args.key?(:present_match)
8272
+ @range_match = args[:range_match] if args.key?(:range_match)
8273
+ @regex_match = args[:regex_match] if args.key?(:regex_match)
8274
+ @suffix_match = args[:suffix_match] if args.key?(:suffix_match)
8275
+ end
8276
+ end
8277
+
8278
+ # Specification determining how headers are added to requests or responses.
8279
+ class HttpHeaderOption
8280
+ include Google::Apis::Core::Hashable
8281
+
8282
+ # The name of the header.
8283
+ # Corresponds to the JSON property `headerName`
8284
+ # @return [String]
8285
+ attr_accessor :header_name
8286
+
8287
+ # The value of the header to add.
8288
+ # Corresponds to the JSON property `headerValue`
8289
+ # @return [String]
8290
+ attr_accessor :header_value
8291
+
8292
+ # If false, headerValue is appended to any values that already exist for the
8293
+ # header. If true, headerValue is set for the header, discarding any values that
8294
+ # were set for that header.
8295
+ # The default value is false.
8296
+ # Corresponds to the JSON property `replace`
8297
+ # @return [Boolean]
8298
+ attr_accessor :replace
8299
+ alias_method :replace?, :replace
8300
+
8301
+ def initialize(**args)
8302
+ update!(**args)
8303
+ end
8304
+
8305
+ # Update properties of this object
8306
+ def update!(**args)
8307
+ @header_name = args[:header_name] if args.key?(:header_name)
8308
+ @header_value = args[:header_value] if args.key?(:header_value)
8309
+ @replace = args[:replace] if args.key?(:replace)
8310
+ end
8311
+ end
8312
+
7548
8313
  # An HttpHealthCheck resource. This resource defines a template for how
7549
8314
  # individual instances should be checked for health, via HTTP.
7550
8315
  class HttpHealthCheck
@@ -7768,26 +8533,420 @@ module Google
7768
8533
  end
7769
8534
  end
7770
8535
 
7771
- # An HttpsHealthCheck resource. This resource defines a template for how
7772
- # individual instances should be checked for health, via HTTPS.
7773
- class HttpsHealthCheck
8536
+ # HttpRouteRuleMatch criteria for a request's query parameter.
8537
+ class HttpQueryParameterMatch
7774
8538
  include Google::Apis::Core::Hashable
7775
8539
 
7776
- # How often (in seconds) to send a health check. The default value is 5 seconds.
7777
- # Corresponds to the JSON property `checkIntervalSec`
7778
- # @return [Fixnum]
7779
- attr_accessor :check_interval_sec
8540
+ # The queryParameterMatch matches if the value of the parameter exactly matches
8541
+ # the contents of exactMatch.
8542
+ # Only one of presentMatch, exactMatch and regexMatch must be set.
8543
+ # Corresponds to the JSON property `exactMatch`
8544
+ # @return [String]
8545
+ attr_accessor :exact_match
7780
8546
 
7781
- # [Output Only] Creation timestamp in RFC3339 text format.
7782
- # Corresponds to the JSON property `creationTimestamp`
8547
+ # The name of the query parameter to match. The query parameter must exist in
8548
+ # the request, in the absence of which the request match fails.
8549
+ # Corresponds to the JSON property `name`
7783
8550
  # @return [String]
7784
- attr_accessor :creation_timestamp
8551
+ attr_accessor :name
7785
8552
 
7786
- # An optional description of this resource. Provide this property when you
7787
- # create the resource.
7788
- # Corresponds to the JSON property `description`
8553
+ # Specifies that the queryParameterMatch matches if the request contains the
8554
+ # query parameter, irrespective of whether the parameter has a value or not.
8555
+ # Only one of presentMatch, exactMatch and regexMatch must be set.
8556
+ # Corresponds to the JSON property `presentMatch`
8557
+ # @return [Boolean]
8558
+ attr_accessor :present_match
8559
+ alias_method :present_match?, :present_match
8560
+
8561
+ # The queryParameterMatch matches if the value of the parameter matches the
8562
+ # regular expression specified by regexMatch. For the regular expression grammar,
8563
+ # please see en.cppreference.com/w/cpp/regex/ecmascript
8564
+ # Only one of presentMatch, exactMatch and regexMatch must be set.
8565
+ # Corresponds to the JSON property `regexMatch`
7789
8566
  # @return [String]
7790
- attr_accessor :description
8567
+ attr_accessor :regex_match
8568
+
8569
+ def initialize(**args)
8570
+ update!(**args)
8571
+ end
8572
+
8573
+ # Update properties of this object
8574
+ def update!(**args)
8575
+ @exact_match = args[:exact_match] if args.key?(:exact_match)
8576
+ @name = args[:name] if args.key?(:name)
8577
+ @present_match = args[:present_match] if args.key?(:present_match)
8578
+ @regex_match = args[:regex_match] if args.key?(:regex_match)
8579
+ end
8580
+ end
8581
+
8582
+ # Specifies settings for an HTTP redirect.
8583
+ class HttpRedirectAction
8584
+ include Google::Apis::Core::Hashable
8585
+
8586
+ # The host that will be used in the redirect response instead of the one that
8587
+ # was supplied in the request.
8588
+ # The value must be between 1 and 255 characters.
8589
+ # Corresponds to the JSON property `hostRedirect`
8590
+ # @return [String]
8591
+ attr_accessor :host_redirect
8592
+
8593
+ # If set to true, the URL scheme in the redirected request is set to https. If
8594
+ # set to false, the URL scheme of the redirected request will remain the same as
8595
+ # that of the request.
8596
+ # This must only be set for UrlMaps used in TargetHttpProxys. Setting this true
8597
+ # for TargetHttpsProxy is not permitted.
8598
+ # The default is set to false.
8599
+ # Corresponds to the JSON property `httpsRedirect`
8600
+ # @return [Boolean]
8601
+ attr_accessor :https_redirect
8602
+ alias_method :https_redirect?, :https_redirect
8603
+
8604
+ # The path that will be used in the redirect response instead of the one that
8605
+ # was supplied in the request.
8606
+ # Only one of pathRedirect or prefixRedirect must be specified.
8607
+ # The value must be between 1 and 1024 characters.
8608
+ # Corresponds to the JSON property `pathRedirect`
8609
+ # @return [String]
8610
+ attr_accessor :path_redirect
8611
+
8612
+ # The prefix that replaces the prefixMatch specified in the HttpRouteRuleMatch,
8613
+ # retaining the remaining portion of the URL before redirecting the request.
8614
+ # Corresponds to the JSON property `prefixRedirect`
8615
+ # @return [String]
8616
+ attr_accessor :prefix_redirect
8617
+
8618
+ # The HTTP Status code to use for this RedirectAction.
8619
+ # Supported values are:
8620
+ # - MOVED_PERMANENTLY_DEFAULT, which is the default value and corresponds to 301.
8621
+ #
8622
+ # - FOUND, which corresponds to 302.
8623
+ # - SEE_OTHER which corresponds to 303.
8624
+ # - TEMPORARY_REDIRECT, which corresponds to 307. In this case, the request
8625
+ # method will be retained.
8626
+ # - PERMANENT_REDIRECT, which corresponds to 308. In this case, the request
8627
+ # method will be retained.
8628
+ # Corresponds to the JSON property `redirectResponseCode`
8629
+ # @return [String]
8630
+ attr_accessor :redirect_response_code
8631
+
8632
+ # If set to true, any accompanying query portion of the original URL is removed
8633
+ # prior to redirecting the request. If set to false, the query portion of the
8634
+ # original URL is retained.
8635
+ # The default is set to false.
8636
+ # Corresponds to the JSON property `stripQuery`
8637
+ # @return [Boolean]
8638
+ attr_accessor :strip_query
8639
+ alias_method :strip_query?, :strip_query
8640
+
8641
+ def initialize(**args)
8642
+ update!(**args)
8643
+ end
8644
+
8645
+ # Update properties of this object
8646
+ def update!(**args)
8647
+ @host_redirect = args[:host_redirect] if args.key?(:host_redirect)
8648
+ @https_redirect = args[:https_redirect] if args.key?(:https_redirect)
8649
+ @path_redirect = args[:path_redirect] if args.key?(:path_redirect)
8650
+ @prefix_redirect = args[:prefix_redirect] if args.key?(:prefix_redirect)
8651
+ @redirect_response_code = args[:redirect_response_code] if args.key?(:redirect_response_code)
8652
+ @strip_query = args[:strip_query] if args.key?(:strip_query)
8653
+ end
8654
+ end
8655
+
8656
+ # The retry policy associates with HttpRouteRule
8657
+ class HttpRetryPolicy
8658
+ include Google::Apis::Core::Hashable
8659
+
8660
+ # Specifies the allowed number retries. This number must be > 0.
8661
+ # Corresponds to the JSON property `numRetries`
8662
+ # @return [Fixnum]
8663
+ attr_accessor :num_retries
8664
+
8665
+ # A Duration represents a fixed-length span of time represented as a count of
8666
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
8667
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
8668
+ # 000 years.
8669
+ # Corresponds to the JSON property `perTryTimeout`
8670
+ # @return [Google::Apis::ComputeBeta::Duration]
8671
+ attr_accessor :per_try_timeout
8672
+
8673
+ # Specfies one or more conditions when this retry rule applies. Valid values are:
8674
+ #
8675
+ # - 5xx: Loadbalancer will attempt a retry if the backend service responds with
8676
+ # any 5xx response code, or if the backend service does not respond at all,
8677
+ # example: disconnects, reset, read timeout, connection failure, and refused
8678
+ # streams.
8679
+ # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503
8680
+ # or 504.
8681
+ # -
8682
+ # - connect-failure: Loadbalancer will retry on failures connecting to backend
8683
+ # services, for example due to connection timeouts.
8684
+ # - retriable-4xx: Loadbalancer will retry for retriable 4xx response codes.
8685
+ # Currently the only retriable error supported is 409.
8686
+ # - refused-stream:Loadbalancer will retry if the backend service resets the
8687
+ # stream with a REFUSED_STREAM error code. This reset type indicates that it is
8688
+ # safe to retry.
8689
+ # - cancelledLoadbalancer will retry if the gRPC status code in the response
8690
+ # header is set to cancelled
8691
+ # - deadline-exceeded: Loadbalancer will retry if the gRPC status code in the
8692
+ # response header is set to deadline-exceeded
8693
+ # - resource-exhausted: Loadbalancer will retry if the gRPC status code in the
8694
+ # response header is set to resource-exhausted
8695
+ # - unavailable: Loadbalancer will retry if the gRPC status code in the response
8696
+ # header is set to unavailable
8697
+ # Corresponds to the JSON property `retryConditions`
8698
+ # @return [Array<String>]
8699
+ attr_accessor :retry_conditions
8700
+
8701
+ def initialize(**args)
8702
+ update!(**args)
8703
+ end
8704
+
8705
+ # Update properties of this object
8706
+ def update!(**args)
8707
+ @num_retries = args[:num_retries] if args.key?(:num_retries)
8708
+ @per_try_timeout = args[:per_try_timeout] if args.key?(:per_try_timeout)
8709
+ @retry_conditions = args[:retry_conditions] if args.key?(:retry_conditions)
8710
+ end
8711
+ end
8712
+
8713
+ #
8714
+ class HttpRouteAction
8715
+ include Google::Apis::Core::Hashable
8716
+
8717
+ # The specification for allowing client side cross-origin requests. Please see
8718
+ # W3C Recommendation for Cross Origin Resource Sharing
8719
+ # Corresponds to the JSON property `corsPolicy`
8720
+ # @return [Google::Apis::ComputeBeta::CorsPolicy]
8721
+ attr_accessor :cors_policy
8722
+
8723
+ # The specification for fault injection introduced into traffic to test the
8724
+ # resiliency of clients to backend service failure. As part of fault injection,
8725
+ # when clients send requests to a backend service, delays can be introduced by
8726
+ # Loadbalancer on a percentage of requests before sending those request to the
8727
+ # backend service. Similarly requests from clients can be aborted by the
8728
+ # Loadbalancer for a percentage of requests.
8729
+ # Corresponds to the JSON property `faultInjectionPolicy`
8730
+ # @return [Google::Apis::ComputeBeta::HttpFaultInjection]
8731
+ attr_accessor :fault_injection_policy
8732
+
8733
+ # A policy that specifies how requests intended for the route's backends are
8734
+ # shadowed to a separate mirrored backend service. Loadbalancer does not wait
8735
+ # for responses from the shadow service. Prior to sending traffic to the shadow
8736
+ # service, the host / authority header is suffixed with -shadow.
8737
+ # Corresponds to the JSON property `requestMirrorPolicy`
8738
+ # @return [Google::Apis::ComputeBeta::RequestMirrorPolicy]
8739
+ attr_accessor :request_mirror_policy
8740
+
8741
+ # The retry policy associates with HttpRouteRule
8742
+ # Corresponds to the JSON property `retryPolicy`
8743
+ # @return [Google::Apis::ComputeBeta::HttpRetryPolicy]
8744
+ attr_accessor :retry_policy
8745
+
8746
+ # A Duration represents a fixed-length span of time represented as a count of
8747
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
8748
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
8749
+ # 000 years.
8750
+ # Corresponds to the JSON property `timeout`
8751
+ # @return [Google::Apis::ComputeBeta::Duration]
8752
+ attr_accessor :timeout
8753
+
8754
+ # The spec for modifying the path before sending the request to the matched
8755
+ # backend service.
8756
+ # Corresponds to the JSON property `urlRewrite`
8757
+ # @return [Google::Apis::ComputeBeta::UrlRewrite]
8758
+ attr_accessor :url_rewrite
8759
+
8760
+ # A list of weighted backend services to send traffic to when a route match
8761
+ # occurs. The weights determine the fraction of traffic that flows to their
8762
+ # corresponding backend service. If all traffic needs to go to a single backend
8763
+ # service, there must be one weightedBackendService with weight set to a non 0
8764
+ # number.
8765
+ # Once a backendService is identified and before forwarding the request to the
8766
+ # backend service, advanced routing actions like Url rewrites and header
8767
+ # transformations are applied depending on additional settings specified in this
8768
+ # HttpRouteAction.
8769
+ # Corresponds to the JSON property `weightedBackendServices`
8770
+ # @return [Array<Google::Apis::ComputeBeta::WeightedBackendService>]
8771
+ attr_accessor :weighted_backend_services
8772
+
8773
+ def initialize(**args)
8774
+ update!(**args)
8775
+ end
8776
+
8777
+ # Update properties of this object
8778
+ def update!(**args)
8779
+ @cors_policy = args[:cors_policy] if args.key?(:cors_policy)
8780
+ @fault_injection_policy = args[:fault_injection_policy] if args.key?(:fault_injection_policy)
8781
+ @request_mirror_policy = args[:request_mirror_policy] if args.key?(:request_mirror_policy)
8782
+ @retry_policy = args[:retry_policy] if args.key?(:retry_policy)
8783
+ @timeout = args[:timeout] if args.key?(:timeout)
8784
+ @url_rewrite = args[:url_rewrite] if args.key?(:url_rewrite)
8785
+ @weighted_backend_services = args[:weighted_backend_services] if args.key?(:weighted_backend_services)
8786
+ end
8787
+ end
8788
+
8789
+ # An HttpRouteRule specifies how to match an HTTP request and the corresponding
8790
+ # routing action that load balancing proxies will perform.
8791
+ class HttpRouteRule
8792
+ include Google::Apis::Core::Hashable
8793
+
8794
+ # The request and response header transformations that take effect before the
8795
+ # request is passed along to the selected backendService.
8796
+ # Corresponds to the JSON property `headerAction`
8797
+ # @return [Google::Apis::ComputeBeta::HttpHeaderAction]
8798
+ attr_accessor :header_action
8799
+
8800
+ #
8801
+ # Corresponds to the JSON property `matchRules`
8802
+ # @return [Array<Google::Apis::ComputeBeta::HttpRouteRuleMatch>]
8803
+ attr_accessor :match_rules
8804
+
8805
+ # In response to a matching matchRule, the load balancer performs advanced
8806
+ # routing actions like URL rewrites, header transformations, etc. prior to
8807
+ # forwarding the request to the selected backend. If routeAction specifies any
8808
+ # weightedBackendServices, service must not be set. Conversely if service is set,
8809
+ # routeAction cannot contain any weightedBackendServices.
8810
+ # Only one of routeAction or urlRedirect must be set.
8811
+ # Corresponds to the JSON property `routeAction`
8812
+ # @return [Google::Apis::ComputeBeta::HttpRouteAction]
8813
+ attr_accessor :route_action
8814
+
8815
+ # The full or partial URL of the backend service resource to which traffic is
8816
+ # directed if this rule is matched. If routeAction is additionally specified,
8817
+ # advanced routing actions like URL Rewrites, etc. take effect prior to sending
8818
+ # the request to the backend. However, if service is specified, routeAction
8819
+ # cannot contain any weightedBackendService s. Conversely, if routeAction
8820
+ # specifies any weightedBackendServices, service must not be specified.
8821
+ # Only one of urlRedirect, service or routeAction.weightedBackendService must be
8822
+ # set.
8823
+ # Corresponds to the JSON property `service`
8824
+ # @return [String]
8825
+ attr_accessor :service
8826
+
8827
+ # Specifies settings for an HTTP redirect.
8828
+ # Corresponds to the JSON property `urlRedirect`
8829
+ # @return [Google::Apis::ComputeBeta::HttpRedirectAction]
8830
+ attr_accessor :url_redirect
8831
+
8832
+ def initialize(**args)
8833
+ update!(**args)
8834
+ end
8835
+
8836
+ # Update properties of this object
8837
+ def update!(**args)
8838
+ @header_action = args[:header_action] if args.key?(:header_action)
8839
+ @match_rules = args[:match_rules] if args.key?(:match_rules)
8840
+ @route_action = args[:route_action] if args.key?(:route_action)
8841
+ @service = args[:service] if args.key?(:service)
8842
+ @url_redirect = args[:url_redirect] if args.key?(:url_redirect)
8843
+ end
8844
+ end
8845
+
8846
+ # HttpRouteRuleMatch specifies a set of criteria for matching requests to an
8847
+ # HttpRouteRule. All specified criteria must be satisfied for a match to occur.
8848
+ class HttpRouteRuleMatch
8849
+ include Google::Apis::Core::Hashable
8850
+
8851
+ # For satifying the matchRule condition, the path of the request must exactly
8852
+ # match the value specified in fullPathMatch after removing any query parameters
8853
+ # and anchor that may be part of the original URL.
8854
+ # FullPathMatch must be between 1 and 1024 characters.
8855
+ # Only one of prefixMatch, fullPathMatch or regexMatch must be specified.
8856
+ # Corresponds to the JSON property `fullPathMatch`
8857
+ # @return [String]
8858
+ attr_accessor :full_path_match
8859
+
8860
+ # Specifies a list of header match criteria, all of which must match
8861
+ # corresponding headers in the request.
8862
+ # Corresponds to the JSON property `headerMatches`
8863
+ # @return [Array<Google::Apis::ComputeBeta::HttpHeaderMatch>]
8864
+ attr_accessor :header_matches
8865
+
8866
+ # Specifies that prefixMatch and fullPathMatch matches are case sensitive.
8867
+ # The default value is false.
8868
+ # caseSensitive must not be used with regexMatch.
8869
+ # Corresponds to the JSON property `ignoreCase`
8870
+ # @return [Boolean]
8871
+ attr_accessor :ignore_case
8872
+ alias_method :ignore_case?, :ignore_case
8873
+
8874
+ # Opaque filter criteria used by Loadbalancer to restrict routing configuration
8875
+ # to a limited set xDS compliant clients. In their xDS requests to Loadbalancer,
8876
+ # xDS clients present node metadata. If a match takes place, the relevant
8877
+ # routing configuration is made available to those proxies.
8878
+ # For each metadataFilter in this list, if its filterMatchCriteria is set to
8879
+ # MATCH_ANY, at least one of the filterLabels must match the corresponding label
8880
+ # provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then
8881
+ # all of its filterLabels must match with corresponding labels in the provided
8882
+ # metadata.
8883
+ # metadataFilters specified here can be overrides those specified in
8884
+ # ForwardingRule that refers to this UrlMap.
8885
+ # metadataFilters only applies to Loadbalancers that have their
8886
+ # loadBalancingScheme set to INTERNAL_SELF_MANAGED.
8887
+ # Corresponds to the JSON property `metadataFilters`
8888
+ # @return [Array<Google::Apis::ComputeBeta::MetadataFilter>]
8889
+ attr_accessor :metadata_filters
8890
+
8891
+ # For satifying the matchRule condition, the request's path must begin with the
8892
+ # specified prefixMatch. prefixMatch must begin with a /.
8893
+ # The value must be between 1 and 1024 characters.
8894
+ # Only one of prefixMatch, fullPathMatch or regexMatch must be specified.
8895
+ # Corresponds to the JSON property `prefixMatch`
8896
+ # @return [String]
8897
+ attr_accessor :prefix_match
8898
+
8899
+ # Specifies a list of query parameter match criteria, all of which must match
8900
+ # corresponding query parameters in the request.
8901
+ # Corresponds to the JSON property `queryParameterMatches`
8902
+ # @return [Array<Google::Apis::ComputeBeta::HttpQueryParameterMatch>]
8903
+ attr_accessor :query_parameter_matches
8904
+
8905
+ # For satifying the matchRule condition, the path of the request must satisfy
8906
+ # the regular expression specified in regexMatch after removing any query
8907
+ # parameters and anchor supplied with the original URL. For regular expression
8908
+ # grammar please see en.cppreference.com/w/cpp/regex/ecmascript
8909
+ # Only one of prefixMatch, fullPathMatch or regexMatch must be specified.
8910
+ # Corresponds to the JSON property `regexMatch`
8911
+ # @return [String]
8912
+ attr_accessor :regex_match
8913
+
8914
+ def initialize(**args)
8915
+ update!(**args)
8916
+ end
8917
+
8918
+ # Update properties of this object
8919
+ def update!(**args)
8920
+ @full_path_match = args[:full_path_match] if args.key?(:full_path_match)
8921
+ @header_matches = args[:header_matches] if args.key?(:header_matches)
8922
+ @ignore_case = args[:ignore_case] if args.key?(:ignore_case)
8923
+ @metadata_filters = args[:metadata_filters] if args.key?(:metadata_filters)
8924
+ @prefix_match = args[:prefix_match] if args.key?(:prefix_match)
8925
+ @query_parameter_matches = args[:query_parameter_matches] if args.key?(:query_parameter_matches)
8926
+ @regex_match = args[:regex_match] if args.key?(:regex_match)
8927
+ end
8928
+ end
8929
+
8930
+ # An HttpsHealthCheck resource. This resource defines a template for how
8931
+ # individual instances should be checked for health, via HTTPS.
8932
+ class HttpsHealthCheck
8933
+ include Google::Apis::Core::Hashable
8934
+
8935
+ # How often (in seconds) to send a health check. The default value is 5 seconds.
8936
+ # Corresponds to the JSON property `checkIntervalSec`
8937
+ # @return [Fixnum]
8938
+ attr_accessor :check_interval_sec
8939
+
8940
+ # [Output Only] Creation timestamp in RFC3339 text format.
8941
+ # Corresponds to the JSON property `creationTimestamp`
8942
+ # @return [String]
8943
+ attr_accessor :creation_timestamp
8944
+
8945
+ # An optional description of this resource. Provide this property when you
8946
+ # create the resource.
8947
+ # Corresponds to the JSON property `description`
8948
+ # @return [String]
8949
+ attr_accessor :description
7791
8950
 
7792
8951
  # A so-far unhealthy instance will be marked healthy after this many consecutive
7793
8952
  # successes. The default value is 2.
@@ -8181,6 +9340,11 @@ module Google
8181
9340
  # @return [String]
8182
9341
  attr_accessor :status
8183
9342
 
9343
+ # GCS bucket storage location of the image (regional or multi-regional).
9344
+ # Corresponds to the JSON property `storageLocations`
9345
+ # @return [Array<String>]
9346
+ attr_accessor :storage_locations
9347
+
8184
9348
  def initialize(**args)
8185
9349
  update!(**args)
8186
9350
  end
@@ -8215,6 +9379,7 @@ module Google
8215
9379
  @source_snapshot_id = args[:source_snapshot_id] if args.key?(:source_snapshot_id)
8216
9380
  @source_type = args[:source_type] if args.key?(:source_type)
8217
9381
  @status = args[:status] if args.key?(:status)
9382
+ @storage_locations = args[:storage_locations] if args.key?(:storage_locations)
8218
9383
  end
8219
9384
 
8220
9385
  # The parameters of the raw disk image.
@@ -8228,8 +9393,8 @@ module Google
8228
9393
  # @return [String]
8229
9394
  attr_accessor :container_type
8230
9395
 
8231
- # An optional SHA1 checksum of the disk image before unpackaging provided by the
8232
- # client when the disk image is created.
9396
+ # [Deprecated] This field is deprecated. An optional SHA1 checksum of the disk
9397
+ # image before unpackaging provided by the client when the disk image is created.
8233
9398
  # Corresponds to the JSON property `sha1Checksum`
8234
9399
  # @return [String]
8235
9400
  attr_accessor :sha1_checksum
@@ -11365,6 +12530,32 @@ module Google
11365
12530
  end
11366
12531
  end
11367
12532
 
12533
+ # HttpRouteRuleMatch criteria for field values that must stay within the
12534
+ # specified integer range.
12535
+ class Int64RangeMatch
12536
+ include Google::Apis::Core::Hashable
12537
+
12538
+ # The end of the range (exclusive) in signed long integer format.
12539
+ # Corresponds to the JSON property `rangeEnd`
12540
+ # @return [Fixnum]
12541
+ attr_accessor :range_end
12542
+
12543
+ # The start of the range (inclusive) in signed long integer format.
12544
+ # Corresponds to the JSON property `rangeStart`
12545
+ # @return [Fixnum]
12546
+ attr_accessor :range_start
12547
+
12548
+ def initialize(**args)
12549
+ update!(**args)
12550
+ end
12551
+
12552
+ # Update properties of this object
12553
+ def update!(**args)
12554
+ @range_end = args[:range_end] if args.key?(:range_end)
12555
+ @range_start = args[:range_start] if args.key?(:range_start)
12556
+ end
12557
+ end
12558
+
11368
12559
  # Represents an Interconnects resource. The Interconnects resource is a
11369
12560
  # dedicated connection between Google's network and your on-premises network.
11370
12561
  # For more information, see the Dedicated overview page. (== resource_for v1.
@@ -11433,8 +12624,11 @@ module Google
11433
12624
  # @return [Array<String>]
11434
12625
  attr_accessor :interconnect_attachments
11435
12626
 
11436
- # Type of interconnect. Note that "IT_PRIVATE" has been deprecated in favor of "
11437
- # DEDICATED"
12627
+ # Type of interconnect, which can take one of the following values:
12628
+ # - PARTNER: A partner-managed interconnection shared between customers though a
12629
+ # partner.
12630
+ # - DEDICATED: A dedicated physical interconnection with the customer. Note that
12631
+ # a value IT_PRIVATE has been deprecated in favor of DEDICATED.
11438
12632
  # Corresponds to the JSON property `interconnectType`
11439
12633
  # @return [String]
11440
12634
  attr_accessor :interconnect_type
@@ -11465,8 +12659,11 @@ module Google
11465
12659
  # @return [Hash<String,String>]
11466
12660
  attr_accessor :labels
11467
12661
 
11468
- # Type of link requested. This field indicates speed of each of the links in the
11469
- # bundle, not the entire bundle.
12662
+ # Type of link requested, which can take one of the following values:
12663
+ # - LINK_TYPE_ETHERNET_10G_LR: A 10G Ethernet with LR optics
12664
+ # - LINK_TYPE_ETHERNET_100G_LR: A 100G Ethernet with LR optics. Note that this
12665
+ # field indicates the speed of each of the links in the bundle, not the speed of
12666
+ # the entire bundle.
11470
12667
  # Corresponds to the JSON property `linkType`
11471
12668
  # @return [String]
11472
12669
  attr_accessor :link_type
@@ -11495,8 +12692,14 @@ module Google
11495
12692
  # @return [String]
11496
12693
  attr_accessor :noc_contact_email
11497
12694
 
11498
- # [Output Only] The current status of whether or not this Interconnect is
11499
- # functional.
12695
+ # [Output Only] The current status of this Interconnect's functionality, which
12696
+ # can take one of the following values:
12697
+ # - OS_ACTIVE: A valid Interconnect, which is turned up and is ready to use.
12698
+ # Attachments may be provisioned on this Interconnect.
12699
+ # - OS_UNPROVISIONED: An Interconnect that has not completed turnup. No
12700
+ # attachments may be provisioned on this Interconnect.
12701
+ # - OS_UNDER_MAINTENANCE: An Interconnect that is undergoing internal
12702
+ # maintenance. No attachments may be provisioned or updated on this Interconnect.
11500
12703
  # Corresponds to the JSON property `operationalStatus`
11501
12704
  # @return [String]
11502
12705
  attr_accessor :operational_status
@@ -11524,8 +12727,14 @@ module Google
11524
12727
  # @return [String]
11525
12728
  attr_accessor :self_link
11526
12729
 
11527
- # [Output Only] The current state of whether or not this Interconnect is
11528
- # functional.
12730
+ # [Output Only] The current state of Interconnect functionality, which can take
12731
+ # one of the following values:
12732
+ # - ACTIVE: The Interconnect is valid, turned up and ready to use. Attachments
12733
+ # may be provisioned on this Interconnect.
12734
+ # - UNPROVISIONED: The Interconnect has not completed turnup. No attachments may
12735
+ # be provisioned on this Interconnect.
12736
+ # - UNDER_MAINTENANCE: The Interconnect is undergoing internal maintenance. No
12737
+ # attachments may be provisioned or updated on this Interconnect.
11529
12738
  # Corresponds to the JSON property `state`
11530
12739
  # @return [String]
11531
12740
  attr_accessor :state
@@ -11576,9 +12785,21 @@ module Google
11576
12785
  attr_accessor :admin_enabled
11577
12786
  alias_method :admin_enabled?, :admin_enabled
11578
12787
 
11579
- # Provisioned bandwidth capacity for the interconnectAttachment. Can be set by
11580
- # the partner to update the customer's provisioned bandwidth. Output only for
11581
- # PARTNER type, mutable for PARTNER_PROVIDER and DEDICATED.
12788
+ # Provisioned bandwidth capacity for the interconnect attachment. For
12789
+ # attachments of type DEDICATED, the user can set the bandwidth. For attachments
12790
+ # of type PARTNER, the Google Partner that is operating the interconnect must
12791
+ # set the bandwidth. Output only for PARTNER type, mutable for PARTNER_PROVIDER
12792
+ # and DEDICATED, and can take one of the following values:
12793
+ # - BPS_50M: 50 Mbit/s
12794
+ # - BPS_100M: 100 Mbit/s
12795
+ # - BPS_200M: 200 Mbit/s
12796
+ # - BPS_300M: 300 Mbit/s
12797
+ # - BPS_400M: 400 Mbit/s
12798
+ # - BPS_500M: 500 Mbit/s
12799
+ # - BPS_1G: 1 Gbit/s
12800
+ # - BPS_2G: 2 Gbit/s
12801
+ # - BPS_5G: 5 Gbit/s
12802
+ # - BPS_10G: 10 Gbit/s
11582
12803
  # Corresponds to the JSON property `bandwidth`
11583
12804
  # @return [String]
11584
12805
  attr_accessor :bandwidth
@@ -11617,11 +12838,14 @@ module Google
11617
12838
  attr_accessor :description
11618
12839
 
11619
12840
  # Desired availability domain for the attachment. Only available for type
11620
- # PARTNER, at creation time. For improved reliability, customers should
11621
- # configure a pair of attachments with one per availability domain. The selected
11622
- # availability domain will be provided to the Partner via the pairing key so
11623
- # that the provisioned circuit will lie in the specified domain. If not
11624
- # specified, the value will default to AVAILABILITY_DOMAIN_ANY.
12841
+ # PARTNER, at creation time, and can take one of the following values:
12842
+ # - AVAILABILITY_DOMAIN_ANY
12843
+ # - AVAILABILITY_DOMAIN_1
12844
+ # - AVAILABILITY_DOMAIN_2 For improved reliability, customers should configure a
12845
+ # pair of attachments, one per availability domain. The selected availability
12846
+ # domain will be provided to the Partner via the pairing key, so that the
12847
+ # provisioned circuit will lie in the specified domain. If not specified, the
12848
+ # value will default to AVAILABILITY_DOMAIN_ANY.
11625
12849
  # Corresponds to the JSON property `edgeAvailabilityDomain`
11626
12850
  # @return [String]
11627
12851
  attr_accessor :edge_availability_domain
@@ -11681,7 +12905,10 @@ module Google
11681
12905
  attr_accessor :name
11682
12906
 
11683
12907
  # [Output Only] The current status of whether or not this interconnect
11684
- # attachment is functional.
12908
+ # attachment is functional, which can take one of the following values:
12909
+ # - OS_ACTIVE: The attachment has been turned up and is ready to use.
12910
+ # - OS_UNPROVISIONED: The attachment is not ready to use yet, because turnup is
12911
+ # not complete.
11685
12912
  # Corresponds to the JSON property `operationalStatus`
11686
12913
  # @return [String]
11687
12914
  attr_accessor :operational_status
@@ -11694,9 +12921,9 @@ module Google
11694
12921
  # @return [String]
11695
12922
  attr_accessor :pairing_key
11696
12923
 
11697
- # Optional BGP ASN for the router that should be supplied by a layer 3 Partner
11698
- # if they configured BGP on behalf of the customer. Output only for PARTNER type,
11699
- # input only for PARTNER_PROVIDER, not available for DEDICATED.
12924
+ # Optional BGP ASN for the router supplied by a Layer 3 Partner if they
12925
+ # configured BGP on behalf of the customer. Output only for PARTNER type, input
12926
+ # only for PARTNER_PROVIDER, not available for DEDICATED.
11700
12927
  # Corresponds to the JSON property `partnerAsn`
11701
12928
  # @return [Fixnum]
11702
12929
  attr_accessor :partner_asn
@@ -11734,12 +12961,35 @@ module Google
11734
12961
  # @return [String]
11735
12962
  attr_accessor :self_link
11736
12963
 
11737
- # [Output Only] The current state of this attachment's functionality.
12964
+ # [Output Only] The current state of this attachment's functionality. Enum
12965
+ # values ACTIVE and UNPROVISIONED are shared by DEDICATED/PRIVATE, PARTNER, and
12966
+ # PARTNER_PROVIDER interconnect attachments, while enum values PENDING_PARTNER,
12967
+ # PARTNER_REQUEST_RECEIVED, and PENDING_CUSTOMER are used for only PARTNER and
12968
+ # PARTNER_PROVIDER interconnect attachments. This state can take one of the
12969
+ # following values:
12970
+ # - ACTIVE: The attachment has been turned up and is ready to use.
12971
+ # - UNPROVISIONED: The attachment is not ready to use yet, because turnup is not
12972
+ # complete.
12973
+ # - PENDING_PARTNER: A newly-created PARTNER attachment that has not yet been
12974
+ # configured on the Partner side.
12975
+ # - PARTNER_REQUEST_RECEIVED: A PARTNER attachment is in the process of
12976
+ # provisioning after a PARTNER_PROVIDER attachment was created that references
12977
+ # it.
12978
+ # - PENDING_CUSTOMER: A PARTNER or PARTNER_PROVIDER attachment that is waiting
12979
+ # for a customer to activate it.
12980
+ # - DEFUNCT: The attachment was deleted externally and is no longer functional.
12981
+ # This could be because the associated Interconnect was removed, or because the
12982
+ # other side of a Partner attachment was deleted.
11738
12983
  # Corresponds to the JSON property `state`
11739
12984
  # @return [String]
11740
12985
  attr_accessor :state
11741
12986
 
11742
- #
12987
+ # The type of interconnect attachment this is, which can take one of the
12988
+ # following values:
12989
+ # - DEDICATED: an attachment to a Dedicated Interconnect.
12990
+ # - PARTNER: an attachment to a Partner Interconnect, created by the customer.
12991
+ # - PARTNER_PROVIDER: an attachment to a Partner Interconnect, created by the
12992
+ # partner.
11743
12993
  # Corresponds to the JSON property `type`
11744
12994
  # @return [String]
11745
12995
  attr_accessor :type
@@ -12042,7 +13292,7 @@ module Google
12042
13292
  attr_accessor :partner_name
12043
13293
 
12044
13294
  # URL of the Partner?s portal for this Attachment. Partners may customise this
12045
- # to be a deep-link to the specific resource on the Partner portal. This value
13295
+ # to be a deep link to the specific resource on the Partner portal. This value
12046
13296
  # may be validated to match approved Partner values.
12047
13297
  # Corresponds to the JSON property `portalUrl`
12048
13298
  # @return [String]
@@ -12280,7 +13530,10 @@ module Google
12280
13530
  # @return [String]
12281
13531
  attr_accessor :neighbor_system_id
12282
13532
 
12283
- #
13533
+ # The state of a LACP link, which can take one of the following values:
13534
+ # - ACTIVE: The link is configured and active within the bundle.
13535
+ # - DETACHED: The link is not configured within the bundle. This means that the
13536
+ # rest of the object should be empty.
12284
13537
  # Corresponds to the JSON property `state`
12285
13538
  # @return [String]
12286
13539
  attr_accessor :state
@@ -12526,7 +13779,13 @@ module Google
12526
13779
  # @return [String]
12527
13780
  attr_accessor :city
12528
13781
 
12529
- # [Output Only] Continent for this location.
13782
+ # [Output Only] Continent for this location, which can take one of the following
13783
+ # values:
13784
+ # - AFRICA
13785
+ # - ASIA_PAC
13786
+ # - EUROPE
13787
+ # - NORTH_AMERICA
13788
+ # - SOUTH_AMERICA
12530
13789
  # Corresponds to the JSON property `continent`
12531
13790
  # @return [String]
12532
13791
  attr_accessor :continent
@@ -12587,9 +13846,12 @@ module Google
12587
13846
  # @return [String]
12588
13847
  attr_accessor :self_link
12589
13848
 
12590
- # [Output Only] The status of this InterconnectLocation. If the status is
12591
- # AVAILABLE, new Interconnects may be provisioned in this InterconnectLocation.
12592
- # Otherwise, no new Interconnects may be provisioned.
13849
+ # [Output Only] The status of this InterconnectLocation, which can take one of
13850
+ # the following values:
13851
+ # - CLOSED: The InterconnectLocation is closed and is unavailable for
13852
+ # provisioning new Interconnects.
13853
+ # - AVAILABLE: The InterconnectLocation is available for provisioning new
13854
+ # Interconnects.
12593
13855
  # Corresponds to the JSON property `status`
12594
13856
  # @return [String]
12595
13857
  attr_accessor :status
@@ -12789,8 +14051,13 @@ module Google
12789
14051
  # @return [Fixnum]
12790
14052
  attr_accessor :end_time
12791
14053
 
12792
- # Form this outage is expected to take. Note that the "IT_" versions of this
12793
- # enum have been deprecated in favor of the unprefixed values.
14054
+ # Form this outage is expected to take, which can take one of the following
14055
+ # values:
14056
+ # - OUTAGE: The Interconnect may be completely out of service for some or all of
14057
+ # the specified window.
14058
+ # - PARTIAL_OUTAGE: Some circuits comprising the Interconnect as a whole should
14059
+ # remain up, but with reduced bandwidth. Note that the versions of this enum
14060
+ # prefixed with "IT_" have been deprecated in favor of the unprefixed values.
12794
14061
  # Corresponds to the JSON property `issueType`
12795
14062
  # @return [String]
12796
14063
  attr_accessor :issue_type
@@ -12800,8 +14067,10 @@ module Google
12800
14067
  # @return [String]
12801
14068
  attr_accessor :name
12802
14069
 
12803
- # The party that generated this notification. Note that "NSRC_GOOGLE" has been
12804
- # deprecated in favor of "GOOGLE"
14070
+ # The party that generated this notification, which can take the following value:
14071
+ #
14072
+ # - GOOGLE: this notification as generated by Google. Note that the value of
14073
+ # NSRC_GOOGLE has been deprecated in favor of GOOGLE.
12805
14074
  # Corresponds to the JSON property `source`
12806
14075
  # @return [String]
12807
14076
  attr_accessor :source
@@ -12811,8 +14080,12 @@ module Google
12811
14080
  # @return [Fixnum]
12812
14081
  attr_accessor :start_time
12813
14082
 
12814
- # State of this notification. Note that the "NS_" versions of this enum have
12815
- # been deprecated in favor of the unprefixed values.
14083
+ # State of this notification, which can take one of the following values:
14084
+ # - ACTIVE: This outage notification is active. The event could be in the past,
14085
+ # present, or future. See start_time and end_time for scheduling.
14086
+ # - CANCELLED: The outage associated with this notification was cancelled before
14087
+ # the outage was due to start. Note that the versions of this enum prefixed with
14088
+ # "NS_" have been deprecated in favor of the unprefixed values.
12816
14089
  # Corresponds to the JSON property `state`
12817
14090
  # @return [String]
12818
14091
  attr_accessor :state
@@ -13287,10 +14560,6 @@ module Google
13287
14560
 
13288
14561
  # Whether Gin logging should happen in a fail-closed manner at the caller. This
13289
14562
  # is relevant only in the LocalIAM implementation, for now.
13290
- # NOTE: Logging to Gin in a fail-closed manner is currently unsupported while
13291
- # work is being done to satisfy the requirements of go/345. Currently, setting
13292
- # LOG_FAIL_CLOSED mode will have no effect, but still exists because there is
13293
- # active work being done to support it (b/115874152).
13294
14563
  # Corresponds to the JSON property `logMode`
13295
14564
  # @return [String]
13296
14565
  attr_accessor :log_mode
@@ -13970,6 +15239,82 @@ module Google
13970
15239
  end
13971
15240
  end
13972
15241
 
15242
+ # Opaque filter criteria used by loadbalancers to restrict routing configuration
15243
+ # to a limited set of loadbalancing proxies. Proxies and sidecars involved in
15244
+ # loadbalancing would typically present metadata to the loadbalancers which need
15245
+ # to match criteria specified here. If a match takes place, the relevant routing
15246
+ # configuration is made available to those proxies.
15247
+ # For each metadataFilter in this list, if its filterMatchCriteria is set to
15248
+ # MATCH_ANY, at least one of the filterLabels must match the corresponding label
15249
+ # provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then
15250
+ # all of its filterLabels must match with corresponding labels in the provided
15251
+ # metadata.
15252
+ # An example for using metadataFilters would be: if loadbalancing involves
15253
+ # Envoys, they will only receive routing configuration when values in
15254
+ # metadataFilters match values supplied in <a href="https://www.envoyproxy.io/
15255
+ # docs/envoy/latest/api-v2/api/v2/core/base.proto#envoy-api-msg-core-node" Node
15256
+ # metadata of their XDS requests to loadbalancers.
15257
+ class MetadataFilter
15258
+ include Google::Apis::Core::Hashable
15259
+
15260
+ # The list of label value pairs that must match labels in the provided metadata
15261
+ # based on filterMatchCriteria
15262
+ # This list must not be empty and can have at the most 64 entries.
15263
+ # Corresponds to the JSON property `filterLabels`
15264
+ # @return [Array<Google::Apis::ComputeBeta::MetadataFilterLabelMatch>]
15265
+ attr_accessor :filter_labels
15266
+
15267
+ # Specifies how individual filterLabel matches within the list of filterLabels
15268
+ # contribute towards the overall metadataFilter match.
15269
+ # Supported values are:
15270
+ # - MATCH_ANY: At least one of the filterLabels must have a matching label in
15271
+ # the provided metadata.
15272
+ # - MATCH_ALL: All filterLabels must have matching labels in the provided
15273
+ # metadata.
15274
+ # Corresponds to the JSON property `filterMatchCriteria`
15275
+ # @return [String]
15276
+ attr_accessor :filter_match_criteria
15277
+
15278
+ def initialize(**args)
15279
+ update!(**args)
15280
+ end
15281
+
15282
+ # Update properties of this object
15283
+ def update!(**args)
15284
+ @filter_labels = args[:filter_labels] if args.key?(:filter_labels)
15285
+ @filter_match_criteria = args[:filter_match_criteria] if args.key?(:filter_match_criteria)
15286
+ end
15287
+ end
15288
+
15289
+ # MetadataFilter label name value pairs that are expected to match corresponding
15290
+ # labels presented as metadata to the loadbalancer.
15291
+ class MetadataFilterLabelMatch
15292
+ include Google::Apis::Core::Hashable
15293
+
15294
+ # Name of metadata label.
15295
+ # The name can have a maximum length of 1024 characters and must be at least 1
15296
+ # character long.
15297
+ # Corresponds to the JSON property `name`
15298
+ # @return [String]
15299
+ attr_accessor :name
15300
+
15301
+ # The value of the label must match the specified value.
15302
+ # value can have a maximum length of 1024 characters.
15303
+ # Corresponds to the JSON property `value`
15304
+ # @return [String]
15305
+ attr_accessor :value
15306
+
15307
+ def initialize(**args)
15308
+ update!(**args)
15309
+ end
15310
+
15311
+ # Update properties of this object
15312
+ def update!(**args)
15313
+ @name = args[:name] if args.key?(:name)
15314
+ @value = args[:value] if args.key?(:value)
15315
+ end
15316
+ end
15317
+
13973
15318
  # The named port. For example: .
13974
15319
  class NamedPort
13975
15320
  include Google::Apis::Core::Hashable
@@ -17348,12 +18693,131 @@ module Google
17348
18693
  end
17349
18694
  end
17350
18695
 
18696
+ # Settings controlling eviction of unhealthy hosts from the load balancing pool.
18697
+ class OutlierDetection
18698
+ include Google::Apis::Core::Hashable
18699
+
18700
+ # A Duration represents a fixed-length span of time represented as a count of
18701
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
18702
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
18703
+ # 000 years.
18704
+ # Corresponds to the JSON property `baseEjectionTime`
18705
+ # @return [Google::Apis::ComputeBeta::Duration]
18706
+ attr_accessor :base_ejection_time
18707
+
18708
+ # Number of errors before a host is ejected from the connection pool. When the
18709
+ # backend host is accessed over HTTP, a 5xx return code qualifies as an error.
18710
+ # Defaults to 5.
18711
+ # Corresponds to the JSON property `consecutiveErrors`
18712
+ # @return [Fixnum]
18713
+ attr_accessor :consecutive_errors
18714
+
18715
+ # The number of consecutive gateway failures (502, 503, 504 status or connection
18716
+ # errors that are mapped to one of those status codes) before a consecutive
18717
+ # gateway failure ejection occurs. Defaults to 5.
18718
+ # Corresponds to the JSON property `consecutiveGatewayFailure`
18719
+ # @return [Fixnum]
18720
+ attr_accessor :consecutive_gateway_failure
18721
+
18722
+ # The percentage chance that a host will be actually ejected when an outlier
18723
+ # status is detected through consecutive 5xx. This setting can be used to
18724
+ # disable ejection or to ramp it up slowly. Defaults to 100.
18725
+ # Corresponds to the JSON property `enforcingConsecutiveErrors`
18726
+ # @return [Fixnum]
18727
+ attr_accessor :enforcing_consecutive_errors
18728
+
18729
+ # The percentage chance that a host will be actually ejected when an outlier
18730
+ # status is detected through consecutive gateway failures. This setting can be
18731
+ # used to disable ejection or to ramp it up slowly. Defaults to 0.
18732
+ # Corresponds to the JSON property `enforcingConsecutiveGatewayFailure`
18733
+ # @return [Fixnum]
18734
+ attr_accessor :enforcing_consecutive_gateway_failure
18735
+
18736
+ # The percentage chance that a host will be actually ejected when an outlier
18737
+ # status is detected through success rate statistics. This setting can be used
18738
+ # to disable ejection or to ramp it up slowly. Defaults to 100.
18739
+ # Corresponds to the JSON property `enforcingSuccessRate`
18740
+ # @return [Fixnum]
18741
+ attr_accessor :enforcing_success_rate
18742
+
18743
+ # A Duration represents a fixed-length span of time represented as a count of
18744
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
18745
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
18746
+ # 000 years.
18747
+ # Corresponds to the JSON property `interval`
18748
+ # @return [Google::Apis::ComputeBeta::Duration]
18749
+ attr_accessor :interval
18750
+
18751
+ # Maximum percentage of hosts in the load balancing pool for the backend service
18752
+ # that can be ejected. Defaults to 10%.
18753
+ # Corresponds to the JSON property `maxEjectionPercent`
18754
+ # @return [Fixnum]
18755
+ attr_accessor :max_ejection_percent
18756
+
18757
+ # The number of hosts in a cluster that must have enough request volume to
18758
+ # detect success rate outliers. If the number of hosts is less than this setting,
18759
+ # outlier detection via success rate statistics is not performed for any host
18760
+ # in the cluster. Defaults to 5.
18761
+ # Corresponds to the JSON property `successRateMinimumHosts`
18762
+ # @return [Fixnum]
18763
+ attr_accessor :success_rate_minimum_hosts
18764
+
18765
+ # The minimum number of total requests that must be collected in one interval (
18766
+ # as defined by the interval duration above) to include this host in success
18767
+ # rate based outlier detection. If the volume is lower than this setting,
18768
+ # outlier detection via success rate statistics is not performed for that host.
18769
+ # Defaults to 100.
18770
+ # Corresponds to the JSON property `successRateRequestVolume`
18771
+ # @return [Fixnum]
18772
+ attr_accessor :success_rate_request_volume
18773
+
18774
+ # This factor is used to determine the ejection threshold for success rate
18775
+ # outlier ejection. The ejection threshold is the difference between the mean
18776
+ # success rate, and the product of this factor and the standard deviation of the
18777
+ # mean success rate: mean - (stdev * success_rate_stdev_factor). This factor is
18778
+ # divided by a thousand to get a double. That is, if the desired factor is 1.9,
18779
+ # the runtime value should be 1900. Defaults to 1900.
18780
+ # Corresponds to the JSON property `successRateStdevFactor`
18781
+ # @return [Fixnum]
18782
+ attr_accessor :success_rate_stdev_factor
18783
+
18784
+ def initialize(**args)
18785
+ update!(**args)
18786
+ end
18787
+
18788
+ # Update properties of this object
18789
+ def update!(**args)
18790
+ @base_ejection_time = args[:base_ejection_time] if args.key?(:base_ejection_time)
18791
+ @consecutive_errors = args[:consecutive_errors] if args.key?(:consecutive_errors)
18792
+ @consecutive_gateway_failure = args[:consecutive_gateway_failure] if args.key?(:consecutive_gateway_failure)
18793
+ @enforcing_consecutive_errors = args[:enforcing_consecutive_errors] if args.key?(:enforcing_consecutive_errors)
18794
+ @enforcing_consecutive_gateway_failure = args[:enforcing_consecutive_gateway_failure] if args.key?(:enforcing_consecutive_gateway_failure)
18795
+ @enforcing_success_rate = args[:enforcing_success_rate] if args.key?(:enforcing_success_rate)
18796
+ @interval = args[:interval] if args.key?(:interval)
18797
+ @max_ejection_percent = args[:max_ejection_percent] if args.key?(:max_ejection_percent)
18798
+ @success_rate_minimum_hosts = args[:success_rate_minimum_hosts] if args.key?(:success_rate_minimum_hosts)
18799
+ @success_rate_request_volume = args[:success_rate_request_volume] if args.key?(:success_rate_request_volume)
18800
+ @success_rate_stdev_factor = args[:success_rate_stdev_factor] if args.key?(:success_rate_stdev_factor)
18801
+ end
18802
+ end
18803
+
17351
18804
  # A matcher for the path portion of the URL. The BackendService from the longest-
17352
18805
  # matched rule will serve the URL. If no rule was matched, the default service
17353
18806
  # will be used.
17354
18807
  class PathMatcher
17355
18808
  include Google::Apis::Core::Hashable
17356
18809
 
18810
+ # defaultRouteAction takes effect when none of the pathRules or routeRules
18811
+ # match. The load balancer performs advanced routing actions like URL rewrites,
18812
+ # header transformations, etc. prior to forwarding the request to the selected
18813
+ # backend. If defaultRouteAction specifies any weightedBackendServices,
18814
+ # defaultService must not be set. Conversely if defaultService is set,
18815
+ # defaultRouteAction cannot contain any weightedBackendServices.
18816
+ # Only one of defaultRouteAction or defaultUrlRedirect must be set.
18817
+ # Corresponds to the JSON property `defaultRouteAction`
18818
+ # @return [Google::Apis::ComputeBeta::HttpRouteAction]
18819
+ attr_accessor :default_route_action
18820
+
17357
18821
  # The full or partial URL to the BackendService resource. This will be used if
17358
18822
  # none of the pathRules or routeRules defined by this PathMatcher are matched.
17359
18823
  # For example, the following are all valid URLs to a BackendService resource:
@@ -17376,12 +18840,23 @@ module Google
17376
18840
  # @return [String]
17377
18841
  attr_accessor :default_service
17378
18842
 
18843
+ # Specifies settings for an HTTP redirect.
18844
+ # Corresponds to the JSON property `defaultUrlRedirect`
18845
+ # @return [Google::Apis::ComputeBeta::HttpRedirectAction]
18846
+ attr_accessor :default_url_redirect
18847
+
17379
18848
  # An optional description of this resource. Provide this property when you
17380
18849
  # create the resource.
17381
18850
  # Corresponds to the JSON property `description`
17382
18851
  # @return [String]
17383
18852
  attr_accessor :description
17384
18853
 
18854
+ # The request and response header transformations that take effect before the
18855
+ # request is passed along to the selected backendService.
18856
+ # Corresponds to the JSON property `headerAction`
18857
+ # @return [Google::Apis::ComputeBeta::HttpHeaderAction]
18858
+ attr_accessor :header_action
18859
+
17385
18860
  # The name to which this PathMatcher is referred by the HostRule.
17386
18861
  # Corresponds to the JSON property `name`
17387
18862
  # @return [String]
@@ -17398,16 +18873,29 @@ module Google
17398
18873
  # @return [Array<Google::Apis::ComputeBeta::PathRule>]
17399
18874
  attr_accessor :path_rules
17400
18875
 
18876
+ # The list of ordered HTTP route rules. Use this list instead of pathRules when
18877
+ # advanced route matching and routing actions are desired. The order of
18878
+ # specifying routeRules matters: the first rule that matches will cause its
18879
+ # specified routing action to take effect.
18880
+ # Only one of pathRules or routeRules must be set.
18881
+ # Corresponds to the JSON property `routeRules`
18882
+ # @return [Array<Google::Apis::ComputeBeta::HttpRouteRule>]
18883
+ attr_accessor :route_rules
18884
+
17401
18885
  def initialize(**args)
17402
18886
  update!(**args)
17403
18887
  end
17404
18888
 
17405
18889
  # Update properties of this object
17406
18890
  def update!(**args)
18891
+ @default_route_action = args[:default_route_action] if args.key?(:default_route_action)
17407
18892
  @default_service = args[:default_service] if args.key?(:default_service)
18893
+ @default_url_redirect = args[:default_url_redirect] if args.key?(:default_url_redirect)
17408
18894
  @description = args[:description] if args.key?(:description)
18895
+ @header_action = args[:header_action] if args.key?(:header_action)
17409
18896
  @name = args[:name] if args.key?(:name)
17410
18897
  @path_rules = args[:path_rules] if args.key?(:path_rules)
18898
+ @route_rules = args[:route_rules] if args.key?(:route_rules)
17411
18899
  end
17412
18900
  end
17413
18901
 
@@ -17424,6 +18912,16 @@ module Google
17424
18912
  # @return [Array<String>]
17425
18913
  attr_accessor :paths
17426
18914
 
18915
+ # In response to a matching path, the load balancer performs advanced routing
18916
+ # actions like URL rewrites, header transformations, etc. prior to forwarding
18917
+ # the request to the selected backend. If routeAction specifies any
18918
+ # weightedBackendServices, service must not be set. Conversely if service is set,
18919
+ # routeAction cannot contain any weightedBackendServices.
18920
+ # Only one of routeAction or urlRedirect must be set.
18921
+ # Corresponds to the JSON property `routeAction`
18922
+ # @return [Google::Apis::ComputeBeta::HttpRouteAction]
18923
+ attr_accessor :route_action
18924
+
17427
18925
  # The full or partial URL of the backend service resource to which traffic is
17428
18926
  # directed if this rule is matched. If routeAction is additionally specified,
17429
18927
  # advanced routing actions like URL Rewrites, etc. take effect prior to sending
@@ -17436,6 +18934,11 @@ module Google
17436
18934
  # @return [String]
17437
18935
  attr_accessor :service
17438
18936
 
18937
+ # Specifies settings for an HTTP redirect.
18938
+ # Corresponds to the JSON property `urlRedirect`
18939
+ # @return [Google::Apis::ComputeBeta::HttpRedirectAction]
18940
+ attr_accessor :url_redirect
18941
+
17439
18942
  def initialize(**args)
17440
18943
  update!(**args)
17441
18944
  end
@@ -17443,7 +18946,9 @@ module Google
17443
18946
  # Update properties of this object
17444
18947
  def update!(**args)
17445
18948
  @paths = args[:paths] if args.key?(:paths)
18949
+ @route_action = args[:route_action] if args.key?(:route_action)
17446
18950
  @service = args[:service] if args.key?(:service)
18951
+ @url_redirect = args[:url_redirect] if args.key?(:url_redirect)
17447
18952
  end
17448
18953
  end
17449
18954
 
@@ -19027,30 +20532,93 @@ module Google
19027
20532
  end
19028
20533
  end
19029
20534
 
19030
- # Reservation resource
19031
- class Reservation
20535
+ #
20536
+ class RegionTargetHttpsProxiesSetSslCertificatesRequest
19032
20537
  include Google::Apis::Core::Hashable
19033
20538
 
19034
- # [OutputOnly] Full or partial url for parent commitment for reservations which
19035
- # are tied to a commitment.
19036
- # Corresponds to the JSON property `commitment`
19037
- # @return [String]
19038
- attr_accessor :commitment
19039
-
19040
- # [Output Only] Creation timestamp in RFC3339 text format.
19041
- # Corresponds to the JSON property `creationTimestamp`
19042
- # @return [String]
19043
- attr_accessor :creation_timestamp
20539
+ # New set of SslCertificate resources to associate with this TargetHttpsProxy
20540
+ # resource. Currently exactly one SslCertificate resource must be specified.
20541
+ # Corresponds to the JSON property `sslCertificates`
20542
+ # @return [Array<String>]
20543
+ attr_accessor :ssl_certificates
19044
20544
 
19045
- # An optional description of this resource. Provide this property when you
19046
- # create the resource.
19047
- # Corresponds to the JSON property `description`
19048
- # @return [String]
19049
- attr_accessor :description
20545
+ def initialize(**args)
20546
+ update!(**args)
20547
+ end
19050
20548
 
19051
- # [Output Only] The unique identifier for the resource. This identifier is
19052
- # defined by the server.
19053
- # Corresponds to the JSON property `id`
20549
+ # Update properties of this object
20550
+ def update!(**args)
20551
+ @ssl_certificates = args[:ssl_certificates] if args.key?(:ssl_certificates)
20552
+ end
20553
+ end
20554
+
20555
+ #
20556
+ class RegionUrlMapsValidateRequest
20557
+ include Google::Apis::Core::Hashable
20558
+
20559
+ # A UrlMap resource. This resource defines the mapping from URL to the
20560
+ # BackendService resource, based on the "longest-match" of the URL's host and
20561
+ # path.
20562
+ # Corresponds to the JSON property `resource`
20563
+ # @return [Google::Apis::ComputeBeta::UrlMap]
20564
+ attr_accessor :resource
20565
+
20566
+ def initialize(**args)
20567
+ update!(**args)
20568
+ end
20569
+
20570
+ # Update properties of this object
20571
+ def update!(**args)
20572
+ @resource = args[:resource] if args.key?(:resource)
20573
+ end
20574
+ end
20575
+
20576
+ # A policy that specifies how requests intended for the route's backends are
20577
+ # shadowed to a separate mirrored backend service. Loadbalancer does not wait
20578
+ # for responses from the shadow service. Prior to sending traffic to the shadow
20579
+ # service, the host / authority header is suffixed with -shadow.
20580
+ class RequestMirrorPolicy
20581
+ include Google::Apis::Core::Hashable
20582
+
20583
+ # The full or partial URL to the BackendService resource being mirrored to.
20584
+ # Corresponds to the JSON property `backendService`
20585
+ # @return [String]
20586
+ attr_accessor :backend_service
20587
+
20588
+ def initialize(**args)
20589
+ update!(**args)
20590
+ end
20591
+
20592
+ # Update properties of this object
20593
+ def update!(**args)
20594
+ @backend_service = args[:backend_service] if args.key?(:backend_service)
20595
+ end
20596
+ end
20597
+
20598
+ # Reservation resource
20599
+ class Reservation
20600
+ include Google::Apis::Core::Hashable
20601
+
20602
+ # [OutputOnly] Full or partial url for parent commitment for reservations which
20603
+ # are tied to a commitment.
20604
+ # Corresponds to the JSON property `commitment`
20605
+ # @return [String]
20606
+ attr_accessor :commitment
20607
+
20608
+ # [Output Only] Creation timestamp in RFC3339 text format.
20609
+ # Corresponds to the JSON property `creationTimestamp`
20610
+ # @return [String]
20611
+ attr_accessor :creation_timestamp
20612
+
20613
+ # An optional description of this resource. Provide this property when you
20614
+ # create the resource.
20615
+ # Corresponds to the JSON property `description`
20616
+ # @return [String]
20617
+ attr_accessor :description
20618
+
20619
+ # [Output Only] The unique identifier for the resource. This identifier is
20620
+ # defined by the server.
20621
+ # Corresponds to the JSON property `id`
19054
20622
  # @return [Fixnum]
19055
20623
  attr_accessor :id
19056
20624
 
@@ -19119,7 +20687,9 @@ module Google
19119
20687
  class ReservationAffinity
19120
20688
  include Google::Apis::Core::Hashable
19121
20689
 
19122
- #
20690
+ # Specifies the type of reservation from which this instance can consume
20691
+ # resources: ANY_RESERVATION (default), SPECIFIC_RESERVATION, or NO_RESERVATION.
20692
+ # See Consuming reserved instances for examples.
19123
20693
  # Corresponds to the JSON property `consumeReservationType`
19124
20694
  # @return [String]
19125
20695
  attr_accessor :consume_reservation_type
@@ -20564,9 +22134,9 @@ module Google
20564
22134
  # @return [Google::Apis::ComputeBeta::RouterBgp]
20565
22135
  attr_accessor :bgp
20566
22136
 
20567
- # BGP information that needs to be configured into the routing stack to
20568
- # establish the BGP peering. It must specify peer ASN and either interface name,
20569
- # IP, or peer IP. Please refer to RFC4273.
22137
+ # BGP information that must be configured into the routing stack to establish
22138
+ # BGP peering. This information must specify the peer ASN and either the
22139
+ # interface name, IP address, or peer IP address. Please refer to RFC4273.
20570
22140
  # Corresponds to the JSON property `bgpPeers`
20571
22141
  # @return [Array<Google::Apis::ComputeBeta::RouterBgpPeer>]
20572
22142
  attr_accessor :bgp_peers
@@ -20588,8 +22158,9 @@ module Google
20588
22158
  # @return [Fixnum]
20589
22159
  attr_accessor :id
20590
22160
 
20591
- # Router interfaces. Each interface requires either one linked resource (e.g.
20592
- # linkedVpnTunnel), or IP address and IP address range (e.g. ipRange), or both.
22161
+ # Router interfaces. Each interface requires either one linked resource, (for
22162
+ # example, linkedVpnTunnel), or IP address and IP address range (for example,
22163
+ # ipRange), or both.
20593
22164
  # Corresponds to the JSON property `interfaces`
20594
22165
  # @return [Array<Google::Apis::ComputeBeta::RouterInterface>]
20595
22166
  attr_accessor :interfaces
@@ -20609,7 +22180,7 @@ module Google
20609
22180
  # @return [String]
20610
22181
  attr_accessor :name
20611
22182
 
20612
- # A list of Nat services created in this router.
22183
+ # A list of NAT services created in this router.
20613
22184
  # Corresponds to the JSON property `nats`
20614
22185
  # @return [Array<Google::Apis::ComputeBeta::RouterNat>]
20615
22186
  attr_accessor :nats
@@ -20798,7 +22369,8 @@ module Google
20798
22369
  class RouterBgp
20799
22370
  include Google::Apis::Core::Hashable
20800
22371
 
20801
- # User-specified flag to indicate which mode to use for advertisement.
22372
+ # User-specified flag to indicate which mode to use for advertisement. The
22373
+ # options are DEFAULT or CUSTOM.
20802
22374
  # Corresponds to the JSON property `advertiseMode`
20803
22375
  # @return [String]
20804
22376
  attr_accessor :advertise_mode
@@ -20848,27 +22420,31 @@ module Google
20848
22420
  # @return [String]
20849
22421
  attr_accessor :advertise_mode
20850
22422
 
20851
- # User-specified list of prefix groups to advertise in custom mode. This field
20852
- # can only be populated if advertise_mode is CUSTOM and overrides the list
20853
- # defined for the router (in Bgp message). These groups will be advertised in
20854
- # addition to any specified prefixes. Leave this field blank to advertise no
20855
- # custom groups.
22423
+ # User-specified list of prefix groups to advertise in custom mode, which can
22424
+ # take one of the following options:
22425
+ # - ALL_SUBNETS: Advertises all available subnets, including peer VPC subnets.
22426
+ # - ALL_VPC_SUBNETS: Advertises the router's own VPC subnets.
22427
+ # - ALL_PEER_VPC_SUBNETS: Advertises peer subnets of the router's VPC network.
22428
+ # Note that this field can only be populated if advertise_mode is CUSTOM and
22429
+ # overrides the list defined for the router (in the "bgp" message). These groups
22430
+ # are advertised in addition to any specified prefixes. Leave this field blank
22431
+ # to advertise no custom groups.
20856
22432
  # Corresponds to the JSON property `advertisedGroups`
20857
22433
  # @return [Array<String>]
20858
22434
  attr_accessor :advertised_groups
20859
22435
 
20860
22436
  # User-specified list of individual IP ranges to advertise in custom mode. This
20861
22437
  # field can only be populated if advertise_mode is CUSTOM and overrides the list
20862
- # defined for the router (in Bgp message). These IP ranges will be advertised in
20863
- # addition to any specified groups. Leave this field blank to advertise no
22438
+ # defined for the router (in the "bgp" message). These IP ranges are advertised
22439
+ # in addition to any specified groups. Leave this field blank to advertise no
20864
22440
  # custom IP ranges.
20865
22441
  # Corresponds to the JSON property `advertisedIpRanges`
20866
22442
  # @return [Array<Google::Apis::ComputeBeta::RouterAdvertisedIpRange>]
20867
22443
  attr_accessor :advertised_ip_ranges
20868
22444
 
20869
- # The priority of routes advertised to this BGP peer. In the case where there is
20870
- # more than one matching route of maximum length, the routes with lowest
20871
- # priority value win.
22445
+ # The priority of routes advertised to this BGP peer. Where there is more than
22446
+ # one matching route of maximum length, the routes with the lowest priority
22447
+ # value win.
20872
22448
  # Corresponds to the JSON property `advertisedRoutePriority`
20873
22449
  # @return [Fixnum]
20874
22450
  attr_accessor :advertised_route_priority
@@ -20885,11 +22461,12 @@ module Google
20885
22461
  attr_accessor :ip_address
20886
22462
 
20887
22463
  # [Output Only] The resource that configures and manages this BGP peer.
20888
- # MANAGED_BY_USER is the default value and can be managed by you or other users;
20889
- # MANAGED_BY_ATTACHMENT is a BGP peer that is configured and managed by Cloud
22464
+ # - MANAGED_BY_USER is the default value and can be managed by you or other
22465
+ # users
22466
+ # - MANAGED_BY_ATTACHMENT is a BGP peer that is configured and managed by Cloud
20890
22467
  # Interconnect, specifically by an InterconnectAttachment of type PARTNER.
20891
- # Google will automatically create, update, and delete this type of BGP peer
20892
- # when the PARTNER InterconnectAttachment is created, updated, or deleted.
22468
+ # Google automatically creates, updates, and deletes this type of BGP peer when
22469
+ # the PARTNER InterconnectAttachment is created, updated, or deleted.
20893
22470
  # Corresponds to the JSON property `managementType`
20894
22471
  # @return [String]
20895
22472
  attr_accessor :management_type
@@ -20900,13 +22477,14 @@ module Google
20900
22477
  # @return [String]
20901
22478
  attr_accessor :name
20902
22479
 
20903
- # Peer BGP Autonomous System Number (ASN). For VPN use case, this value can be
20904
- # different for every tunnel.
22480
+ # Peer BGP Autonomous System Number (ASN). Each BGP interface may use a
22481
+ # different value.
20905
22482
  # Corresponds to the JSON property `peerAsn`
20906
22483
  # @return [Fixnum]
20907
22484
  attr_accessor :peer_asn
20908
22485
 
20909
- # IP address of the BGP interface outside Google cloud. Only IPv4 is supported.
22486
+ # IP address of the BGP interface outside Google Cloud Platform. Only IPv4 is
22487
+ # supported.
20910
22488
  # Corresponds to the JSON property `peerIpAddress`
20911
22489
  # @return [String]
20912
22490
  attr_accessor :peer_ip_address
@@ -20935,32 +22513,32 @@ module Google
20935
22513
  include Google::Apis::Core::Hashable
20936
22514
 
20937
22515
  # IP address and range of the interface. The IP range must be in the RFC3927
20938
- # link-local IP space. The value must be a CIDR-formatted string, for example:
20939
- # 169.254.0.1/30. NOTE: Do not truncate the address as it represents the IP
20940
- # address of the interface.
22516
+ # link-local IP address space. The value must be a CIDR-formatted string, for
22517
+ # example: 169.254.0.1/30. NOTE: Do not truncate the address as it represents
22518
+ # the IP address of the interface.
20941
22519
  # Corresponds to the JSON property `ipRange`
20942
22520
  # @return [String]
20943
22521
  attr_accessor :ip_range
20944
22522
 
20945
- # URI of the linked interconnect attachment. It must be in the same region as
20946
- # the router. Each interface can have at most one linked resource and it could
20947
- # either be a VPN Tunnel or an interconnect attachment.
22523
+ # URI of the linked Interconnect attachment. It must be in the same region as
22524
+ # the router. Each interface can have one linked resource, which can be either
22525
+ # be a VPN tunnel or an Interconnect attachment.
20948
22526
  # Corresponds to the JSON property `linkedInterconnectAttachment`
20949
22527
  # @return [String]
20950
22528
  attr_accessor :linked_interconnect_attachment
20951
22529
 
20952
- # URI of the linked VPN tunnel. It must be in the same region as the router.
20953
- # Each interface can have at most one linked resource and it could either be a
20954
- # VPN Tunnel or an interconnect attachment.
22530
+ # URI of the linked VPN tunnel, which must be in the same region as the router.
22531
+ # Each interface can have one linked resource, which can be either a VPN tunnel
22532
+ # or an Interconnect attachment.
20955
22533
  # Corresponds to the JSON property `linkedVpnTunnel`
20956
22534
  # @return [String]
20957
22535
  attr_accessor :linked_vpn_tunnel
20958
22536
 
20959
22537
  # [Output Only] The resource that configures and manages this interface.
20960
- # MANAGED_BY_USER is the default value and can be managed by you or other users;
20961
- # MANAGED_BY_ATTACHMENT is an interface that is configured and managed by Cloud
20962
- # Interconnect, specifically by an InterconnectAttachment of type PARTNER.
20963
- # Google will automatically create, update, and delete this type of interface
22538
+ # - MANAGED_BY_USER is the default value and can be managed directly by users.
22539
+ # - MANAGED_BY_ATTACHMENT is an interface that is configured and managed by
22540
+ # Cloud Interconnect, specifically, by an InterconnectAttachment of type PARTNER.
22541
+ # Google automatically creates, updates, and deletes this type of interface
20964
22542
  # when the PARTNER InterconnectAttachment is created, updated, or deleted.
20965
22543
  # Corresponds to the JSON property `managementType`
20966
22544
  # @return [String]
@@ -21122,9 +22700,9 @@ module Google
21122
22700
  attr_accessor :log_config
21123
22701
 
21124
22702
  # Minimum number of ports allocated to a VM from this NAT config. If not set, a
21125
- # default number of ports is allocated to a VM. This gets rounded up to the
21126
- # nearest power of 2. Eg. if the value of this field is 50, at least 64 ports
21127
- # will be allocated to a VM.
22703
+ # default number of ports is allocated to a VM. This is rounded up to the
22704
+ # nearest power of 2. For example, if the value of this field is 50, at least 64
22705
+ # ports are allocated to a VM.
21128
22706
  # Corresponds to the JSON property `minPortsPerVm`
21129
22707
  # @return [Fixnum]
21130
22708
  attr_accessor :min_ports_per_vm
@@ -21135,21 +22713,31 @@ module Google
21135
22713
  # @return [String]
21136
22714
  attr_accessor :name
21137
22715
 
21138
- # Specify the NatIpAllocateOption. If it is AUTO_ONLY, then nat_ip should be
21139
- # empty.
22716
+ # Specify the NatIpAllocateOption, which can take one of the following values:
22717
+ # - MANUAL_ONLY: Uses only Nat IP addresses provided by customers. When there
22718
+ # are not enough specified Nat IPs, the Nat service fails for new VMs.
22719
+ # - AUTO_ONLY: Nat IPs are allocated by Google Cloud Platform; customers can't
22720
+ # specify any Nat IPs. When choosing AUTO_ONLY, then nat_ip should be empty.
21140
22721
  # Corresponds to the JSON property `natIpAllocateOption`
21141
22722
  # @return [String]
21142
22723
  attr_accessor :nat_ip_allocate_option
21143
22724
 
21144
- # A list of URLs of the IP resources used for this Nat service. These IPs must
21145
- # be valid static external IP addresses assigned to the project. max_length is
21146
- # subject to change post alpha.
22725
+ # A list of URLs of the IP resources used for this Nat service. These IP
22726
+ # addresses must be valid static external IP addresses assigned to the project.
21147
22727
  # Corresponds to the JSON property `natIps`
21148
22728
  # @return [Array<String>]
21149
22729
  attr_accessor :nat_ips
21150
22730
 
21151
- # Specify the Nat option. If this field contains ALL_SUBNETWORKS_ALL_IP_RANGES
21152
- # or ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES, then there should not be any other
22731
+ # Specify the Nat option, which can take one of the following values:
22732
+ # - ALL_SUBNETWORKS_ALL_IP_RANGES: All of the IP ranges in every Subnetwork are
22733
+ # allowed to Nat.
22734
+ # - ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES: All of the primary IP ranges in every
22735
+ # Subnetwork are allowed to Nat.
22736
+ # - LIST_OF_SUBNETWORKS: A list of Subnetworks are allowed to Nat (specified in
22737
+ # the field subnetwork below) The default is
22738
+ # SUBNETWORK_IP_RANGE_TO_NAT_OPTION_UNSPECIFIED. Note that if this field
22739
+ # contains ALL_SUBNETWORKS_ALL_IP_RANGES or
22740
+ # ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES, then there should not be any other
21153
22741
  # Router.Nat section in any Router for this network in this region.
21154
22742
  # Corresponds to the JSON property `sourceSubnetworkIpRangesToNat`
21155
22743
  # @return [String]
@@ -21230,7 +22818,7 @@ module Google
21230
22818
  class RouterNatSubnetworkToNat
21231
22819
  include Google::Apis::Core::Hashable
21232
22820
 
21233
- # URL for the subnetwork resource to use NAT.
22821
+ # URL for the subnetwork resource that will use NAT.
21234
22822
  # Corresponds to the JSON property `name`
21235
22823
  # @return [String]
21236
22824
  attr_accessor :name
@@ -21242,7 +22830,7 @@ module Google
21242
22830
  # @return [Array<String>]
21243
22831
  attr_accessor :secondary_ip_range_names
21244
22832
 
21245
- # Specify the options for NAT ranges in the Subnetwork. All usages of single
22833
+ # Specify the options for NAT ranges in the Subnetwork. All options of a single
21246
22834
  # value are valid except NAT_IP_RANGE_OPTION_UNSPECIFIED. The only valid option
21247
22835
  # with multiple values is: ["PRIMARY_IP_RANGE", "LIST_OF_SECONDARY_IP_RANGES"]
21248
22836
  # Default: [ALL_IP_RANGES]
@@ -22881,6 +24469,12 @@ module Google
22881
24469
  # @return [String]
22882
24470
  attr_accessor :private_key
22883
24471
 
24472
+ # [Output Only] URL of the region where the regional SSL Certificate resides.
24473
+ # This field is not applicable to global SSL Certificate.
24474
+ # Corresponds to the JSON property `region`
24475
+ # @return [String]
24476
+ attr_accessor :region
24477
+
22884
24478
  # [Output only] Server-defined URL for the resource.
22885
24479
  # Corresponds to the JSON property `selfLink`
22886
24480
  # @return [String]
@@ -22919,6 +24513,7 @@ module Google
22919
24513
  @managed = args[:managed] if args.key?(:managed)
22920
24514
  @name = args[:name] if args.key?(:name)
22921
24515
  @private_key = args[:private_key] if args.key?(:private_key)
24516
+ @region = args[:region] if args.key?(:region)
22922
24517
  @self_link = args[:self_link] if args.key?(:self_link)
22923
24518
  @self_managed = args[:self_managed] if args.key?(:self_managed)
22924
24519
  @subject_alternative_names = args[:subject_alternative_names] if args.key?(:subject_alternative_names)
@@ -22926,6 +24521,124 @@ module Google
22926
24521
  end
22927
24522
  end
22928
24523
 
24524
+ #
24525
+ class SslCertificateAggregatedList
24526
+ include Google::Apis::Core::Hashable
24527
+
24528
+ # [Output Only] Unique identifier for the resource; defined by the server.
24529
+ # Corresponds to the JSON property `id`
24530
+ # @return [String]
24531
+ attr_accessor :id
24532
+
24533
+ # A list of SslCertificatesScopedList resources.
24534
+ # Corresponds to the JSON property `items`
24535
+ # @return [Hash<String,Google::Apis::ComputeBeta::SslCertificatesScopedList>]
24536
+ attr_accessor :items
24537
+
24538
+ # [Output Only] Type of resource. Always compute#sslCertificateAggregatedList
24539
+ # for lists of SSL Certificates.
24540
+ # Corresponds to the JSON property `kind`
24541
+ # @return [String]
24542
+ attr_accessor :kind
24543
+
24544
+ # [Output Only] This token allows you to get the next page of results for list
24545
+ # requests. If the number of results is larger than maxResults, use the
24546
+ # nextPageToken as a value for the query parameter pageToken in the next list
24547
+ # request. Subsequent list requests will have their own nextPageToken to
24548
+ # continue paging through the results.
24549
+ # Corresponds to the JSON property `nextPageToken`
24550
+ # @return [String]
24551
+ attr_accessor :next_page_token
24552
+
24553
+ # [Output Only] Server-defined URL for this resource.
24554
+ # Corresponds to the JSON property `selfLink`
24555
+ # @return [String]
24556
+ attr_accessor :self_link
24557
+
24558
+ # [Output Only] Informational warning message.
24559
+ # Corresponds to the JSON property `warning`
24560
+ # @return [Google::Apis::ComputeBeta::SslCertificateAggregatedList::Warning]
24561
+ attr_accessor :warning
24562
+
24563
+ def initialize(**args)
24564
+ update!(**args)
24565
+ end
24566
+
24567
+ # Update properties of this object
24568
+ def update!(**args)
24569
+ @id = args[:id] if args.key?(:id)
24570
+ @items = args[:items] if args.key?(:items)
24571
+ @kind = args[:kind] if args.key?(:kind)
24572
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
24573
+ @self_link = args[:self_link] if args.key?(:self_link)
24574
+ @warning = args[:warning] if args.key?(:warning)
24575
+ end
24576
+
24577
+ # [Output Only] Informational warning message.
24578
+ class Warning
24579
+ include Google::Apis::Core::Hashable
24580
+
24581
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
24582
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
24583
+ # Corresponds to the JSON property `code`
24584
+ # @return [String]
24585
+ attr_accessor :code
24586
+
24587
+ # [Output Only] Metadata about this warning in key: value format. For example:
24588
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
24589
+ # Corresponds to the JSON property `data`
24590
+ # @return [Array<Google::Apis::ComputeBeta::SslCertificateAggregatedList::Warning::Datum>]
24591
+ attr_accessor :data
24592
+
24593
+ # [Output Only] A human-readable description of the warning code.
24594
+ # Corresponds to the JSON property `message`
24595
+ # @return [String]
24596
+ attr_accessor :message
24597
+
24598
+ def initialize(**args)
24599
+ update!(**args)
24600
+ end
24601
+
24602
+ # Update properties of this object
24603
+ def update!(**args)
24604
+ @code = args[:code] if args.key?(:code)
24605
+ @data = args[:data] if args.key?(:data)
24606
+ @message = args[:message] if args.key?(:message)
24607
+ end
24608
+
24609
+ #
24610
+ class Datum
24611
+ include Google::Apis::Core::Hashable
24612
+
24613
+ # [Output Only] A key that provides more detail on the warning being returned.
24614
+ # For example, for warnings where there are no results in a list request for a
24615
+ # particular zone, this key might be scope and the key value might be the zone
24616
+ # name. Other examples might be a key indicating a deprecated resource and a
24617
+ # suggested replacement, or a warning about invalid network settings (for
24618
+ # example, if an instance attempts to perform IP forwarding but is not enabled
24619
+ # for IP forwarding).
24620
+ # Corresponds to the JSON property `key`
24621
+ # @return [String]
24622
+ attr_accessor :key
24623
+
24624
+ # [Output Only] A warning data value corresponding to the key.
24625
+ # Corresponds to the JSON property `value`
24626
+ # @return [String]
24627
+ attr_accessor :value
24628
+
24629
+ def initialize(**args)
24630
+ update!(**args)
24631
+ end
24632
+
24633
+ # Update properties of this object
24634
+ def update!(**args)
24635
+ @key = args[:key] if args.key?(:key)
24636
+ @value = args[:value] if args.key?(:value)
24637
+ end
24638
+ end
24639
+ end
24640
+ end
24641
+
22929
24642
  # Contains a list of SslCertificate resources.
22930
24643
  class SslCertificateList
22931
24644
  include Google::Apis::Core::Hashable
@@ -23105,42 +24818,18 @@ module Google
23105
24818
  end
23106
24819
 
23107
24820
  #
23108
- class SslPoliciesList
24821
+ class SslCertificatesScopedList
23109
24822
  include Google::Apis::Core::Hashable
23110
24823
 
23111
- # [Output Only] Unique identifier for the resource; defined by the server.
23112
- # Corresponds to the JSON property `id`
23113
- # @return [String]
23114
- attr_accessor :id
23115
-
23116
- # A list of SslPolicy resources.
23117
- # Corresponds to the JSON property `items`
23118
- # @return [Array<Google::Apis::ComputeBeta::SslPolicy>]
23119
- attr_accessor :items
23120
-
23121
- # [Output Only] Type of the resource. Always compute#sslPoliciesList for lists
23122
- # of sslPolicies.
23123
- # Corresponds to the JSON property `kind`
23124
- # @return [String]
23125
- attr_accessor :kind
23126
-
23127
- # [Output Only] This token allows you to get the next page of results for list
23128
- # requests. If the number of results is larger than maxResults, use the
23129
- # nextPageToken as a value for the query parameter pageToken in the next list
23130
- # request. Subsequent list requests will have their own nextPageToken to
23131
- # continue paging through the results.
23132
- # Corresponds to the JSON property `nextPageToken`
23133
- # @return [String]
23134
- attr_accessor :next_page_token
23135
-
23136
- # [Output Only] Server-defined URL for this resource.
23137
- # Corresponds to the JSON property `selfLink`
23138
- # @return [String]
23139
- attr_accessor :self_link
24824
+ # List of SslCertificates contained in this scope.
24825
+ # Corresponds to the JSON property `sslCertificates`
24826
+ # @return [Array<Google::Apis::ComputeBeta::SslCertificate>]
24827
+ attr_accessor :ssl_certificates
23140
24828
 
23141
- # [Output Only] Informational warning message.
24829
+ # Informational warning which replaces the list of backend services when the
24830
+ # list is empty.
23142
24831
  # Corresponds to the JSON property `warning`
23143
- # @return [Google::Apis::ComputeBeta::SslPoliciesList::Warning]
24832
+ # @return [Google::Apis::ComputeBeta::SslCertificatesScopedList::Warning]
23144
24833
  attr_accessor :warning
23145
24834
 
23146
24835
  def initialize(**args)
@@ -23149,15 +24838,12 @@ module Google
23149
24838
 
23150
24839
  # Update properties of this object
23151
24840
  def update!(**args)
23152
- @id = args[:id] if args.key?(:id)
23153
- @items = args[:items] if args.key?(:items)
23154
- @kind = args[:kind] if args.key?(:kind)
23155
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
23156
- @self_link = args[:self_link] if args.key?(:self_link)
24841
+ @ssl_certificates = args[:ssl_certificates] if args.key?(:ssl_certificates)
23157
24842
  @warning = args[:warning] if args.key?(:warning)
23158
24843
  end
23159
24844
 
23160
- # [Output Only] Informational warning message.
24845
+ # Informational warning which replaces the list of backend services when the
24846
+ # list is empty.
23161
24847
  class Warning
23162
24848
  include Google::Apis::Core::Hashable
23163
24849
 
@@ -23170,7 +24856,7 @@ module Google
23170
24856
  # [Output Only] Metadata about this warning in key: value format. For example:
23171
24857
  # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
23172
24858
  # Corresponds to the JSON property `data`
23173
- # @return [Array<Google::Apis::ComputeBeta::SslPoliciesList::Warning::Datum>]
24859
+ # @return [Array<Google::Apis::ComputeBeta::SslCertificatesScopedList::Warning::Datum>]
23174
24860
  attr_accessor :data
23175
24861
 
23176
24862
  # [Output Only] A human-readable description of the warning code.
@@ -23223,21 +24909,139 @@ module Google
23223
24909
  end
23224
24910
 
23225
24911
  #
23226
- class SslPoliciesListAvailableFeaturesResponse
24912
+ class SslPoliciesList
23227
24913
  include Google::Apis::Core::Hashable
23228
24914
 
23229
- #
23230
- # Corresponds to the JSON property `features`
23231
- # @return [Array<String>]
23232
- attr_accessor :features
24915
+ # [Output Only] Unique identifier for the resource; defined by the server.
24916
+ # Corresponds to the JSON property `id`
24917
+ # @return [String]
24918
+ attr_accessor :id
23233
24919
 
23234
- def initialize(**args)
23235
- update!(**args)
23236
- end
24920
+ # A list of SslPolicy resources.
24921
+ # Corresponds to the JSON property `items`
24922
+ # @return [Array<Google::Apis::ComputeBeta::SslPolicy>]
24923
+ attr_accessor :items
23237
24924
 
23238
- # Update properties of this object
23239
- def update!(**args)
23240
- @features = args[:features] if args.key?(:features)
24925
+ # [Output Only] Type of the resource. Always compute#sslPoliciesList for lists
24926
+ # of sslPolicies.
24927
+ # Corresponds to the JSON property `kind`
24928
+ # @return [String]
24929
+ attr_accessor :kind
24930
+
24931
+ # [Output Only] This token allows you to get the next page of results for list
24932
+ # requests. If the number of results is larger than maxResults, use the
24933
+ # nextPageToken as a value for the query parameter pageToken in the next list
24934
+ # request. Subsequent list requests will have their own nextPageToken to
24935
+ # continue paging through the results.
24936
+ # Corresponds to the JSON property `nextPageToken`
24937
+ # @return [String]
24938
+ attr_accessor :next_page_token
24939
+
24940
+ # [Output Only] Server-defined URL for this resource.
24941
+ # Corresponds to the JSON property `selfLink`
24942
+ # @return [String]
24943
+ attr_accessor :self_link
24944
+
24945
+ # [Output Only] Informational warning message.
24946
+ # Corresponds to the JSON property `warning`
24947
+ # @return [Google::Apis::ComputeBeta::SslPoliciesList::Warning]
24948
+ attr_accessor :warning
24949
+
24950
+ def initialize(**args)
24951
+ update!(**args)
24952
+ end
24953
+
24954
+ # Update properties of this object
24955
+ def update!(**args)
24956
+ @id = args[:id] if args.key?(:id)
24957
+ @items = args[:items] if args.key?(:items)
24958
+ @kind = args[:kind] if args.key?(:kind)
24959
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
24960
+ @self_link = args[:self_link] if args.key?(:self_link)
24961
+ @warning = args[:warning] if args.key?(:warning)
24962
+ end
24963
+
24964
+ # [Output Only] Informational warning message.
24965
+ class Warning
24966
+ include Google::Apis::Core::Hashable
24967
+
24968
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
24969
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
24970
+ # Corresponds to the JSON property `code`
24971
+ # @return [String]
24972
+ attr_accessor :code
24973
+
24974
+ # [Output Only] Metadata about this warning in key: value format. For example:
24975
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
24976
+ # Corresponds to the JSON property `data`
24977
+ # @return [Array<Google::Apis::ComputeBeta::SslPoliciesList::Warning::Datum>]
24978
+ attr_accessor :data
24979
+
24980
+ # [Output Only] A human-readable description of the warning code.
24981
+ # Corresponds to the JSON property `message`
24982
+ # @return [String]
24983
+ attr_accessor :message
24984
+
24985
+ def initialize(**args)
24986
+ update!(**args)
24987
+ end
24988
+
24989
+ # Update properties of this object
24990
+ def update!(**args)
24991
+ @code = args[:code] if args.key?(:code)
24992
+ @data = args[:data] if args.key?(:data)
24993
+ @message = args[:message] if args.key?(:message)
24994
+ end
24995
+
24996
+ #
24997
+ class Datum
24998
+ include Google::Apis::Core::Hashable
24999
+
25000
+ # [Output Only] A key that provides more detail on the warning being returned.
25001
+ # For example, for warnings where there are no results in a list request for a
25002
+ # particular zone, this key might be scope and the key value might be the zone
25003
+ # name. Other examples might be a key indicating a deprecated resource and a
25004
+ # suggested replacement, or a warning about invalid network settings (for
25005
+ # example, if an instance attempts to perform IP forwarding but is not enabled
25006
+ # for IP forwarding).
25007
+ # Corresponds to the JSON property `key`
25008
+ # @return [String]
25009
+ attr_accessor :key
25010
+
25011
+ # [Output Only] A warning data value corresponding to the key.
25012
+ # Corresponds to the JSON property `value`
25013
+ # @return [String]
25014
+ attr_accessor :value
25015
+
25016
+ def initialize(**args)
25017
+ update!(**args)
25018
+ end
25019
+
25020
+ # Update properties of this object
25021
+ def update!(**args)
25022
+ @key = args[:key] if args.key?(:key)
25023
+ @value = args[:value] if args.key?(:value)
25024
+ end
25025
+ end
25026
+ end
25027
+ end
25028
+
25029
+ #
25030
+ class SslPoliciesListAvailableFeaturesResponse
25031
+ include Google::Apis::Core::Hashable
25032
+
25033
+ #
25034
+ # Corresponds to the JSON property `features`
25035
+ # @return [Array<String>]
25036
+ attr_accessor :features
25037
+
25038
+ def initialize(**args)
25039
+ update!(**args)
25040
+ end
25041
+
25042
+ # Update properties of this object
25043
+ def update!(**args)
25044
+ @features = args[:features] if args.key?(:features)
23241
25045
  end
23242
25046
  end
23243
25047
 
@@ -23542,12 +25346,31 @@ module Google
23542
25346
  attr_accessor :private_ip_google_access
23543
25347
  alias_method :private_ip_google_access?, :private_ip_google_access
23544
25348
 
25349
+ # The purpose of the resource. This field can be either PRIVATE_RFC_1918 or
25350
+ # INTERNAL_HTTPS_LOAD_BALANCER. A subnetwork with purpose set to
25351
+ # INTERNAL_HTTPS_LOAD_BALANCER is a user-created subnetwork that is reserved for
25352
+ # Internal HTTP(S) Load Balancing. If unspecified, the purpose defaults to
25353
+ # PRIVATE_RFC_1918.
25354
+ # Corresponds to the JSON property `purpose`
25355
+ # @return [String]
25356
+ attr_accessor :purpose
25357
+
23545
25358
  # URL of the region where the Subnetwork resides. This field can be set only at
23546
25359
  # resource creation time.
23547
25360
  # Corresponds to the JSON property `region`
23548
25361
  # @return [String]
23549
25362
  attr_accessor :region
23550
25363
 
25364
+ # The role of subnetwork. Currenly, this field is only used when purpose =
25365
+ # INTERNAL_HTTPS_LOAD_BALANCER. The value can be set to ACTIVE or BACKUP. An
25366
+ # ACTIVE subnetwork is one that is currently being used for Internal HTTP(S)
25367
+ # Load Balancing. A BACKUP subnetwork is one that is ready to be promoted to
25368
+ # ACTIVE or is currently draining. This field can be updated with a patch
25369
+ # request.
25370
+ # Corresponds to the JSON property `role`
25371
+ # @return [String]
25372
+ attr_accessor :role
25373
+
23551
25374
  # An array of configurations for secondary IP ranges for VM instances contained
23552
25375
  # in this subnetwork. The primary IP of such VM must belong to the primary
23553
25376
  # ipCidrRange of the subnetwork. The alias IPs may belong to either primary or
@@ -23561,6 +25384,16 @@ module Google
23561
25384
  # @return [String]
23562
25385
  attr_accessor :self_link
23563
25386
 
25387
+ # [Output Only] The state of the subnetwork, which can be one of READY or
25388
+ # DRAINING. A subnetwork that is READY is ready to be used. The state of
25389
+ # DRAINING is only applicable to subnetworks that have the purpose set to
25390
+ # INTERNAL_HTTPS_LOAD_BALANCER and indicates that connections to the load
25391
+ # balancer are being drained. A subnetwork that is draining cannot be used or
25392
+ # modified until it reaches a status of READY.
25393
+ # Corresponds to the JSON property `state`
25394
+ # @return [String]
25395
+ attr_accessor :state
25396
+
23564
25397
  def initialize(**args)
23565
25398
  update!(**args)
23566
25399
  end
@@ -23580,9 +25413,12 @@ module Google
23580
25413
  @name = args[:name] if args.key?(:name)
23581
25414
  @network = args[:network] if args.key?(:network)
23582
25415
  @private_ip_google_access = args[:private_ip_google_access] if args.key?(:private_ip_google_access)
25416
+ @purpose = args[:purpose] if args.key?(:purpose)
23583
25417
  @region = args[:region] if args.key?(:region)
25418
+ @role = args[:role] if args.key?(:role)
23584
25419
  @secondary_ip_ranges = args[:secondary_ip_ranges] if args.key?(:secondary_ip_ranges)
23585
25420
  @self_link = args[:self_link] if args.key?(:self_link)
25421
+ @state = args[:state] if args.key?(:state)
23586
25422
  end
23587
25423
  end
23588
25424
 
@@ -23845,7 +25681,7 @@ module Google
23845
25681
  # Can only be specified if VPC flow logging for this subnetwork is enabled. The
23846
25682
  # value of the field must be in [0, 1]. Set the sampling rate of VPC flow logs
23847
25683
  # within the subnetwork where 1.0 means all collected logs are reported and 0.0
23848
- # means no logs are reported. Default is 0.5 which means half of all collected
25684
+ # means no logs are reported. Default is 0.5, which means half of all collected
23849
25685
  # logs are reported.
23850
25686
  # Corresponds to the JSON property `flowSampling`
23851
25687
  # @return [Float]
@@ -24136,6 +25972,97 @@ module Google
24136
25972
  end
24137
25973
  end
24138
25974
 
25975
+ #
25976
+ class TargetHttpProxiesScopedList
25977
+ include Google::Apis::Core::Hashable
25978
+
25979
+ # A list of TargetHttpProxies contained in this scope.
25980
+ # Corresponds to the JSON property `targetHttpProxies`
25981
+ # @return [Array<Google::Apis::ComputeBeta::TargetHttpProxy>]
25982
+ attr_accessor :target_http_proxies
25983
+
25984
+ # Informational warning which replaces the list of backend services when the
25985
+ # list is empty.
25986
+ # Corresponds to the JSON property `warning`
25987
+ # @return [Google::Apis::ComputeBeta::TargetHttpProxiesScopedList::Warning]
25988
+ attr_accessor :warning
25989
+
25990
+ def initialize(**args)
25991
+ update!(**args)
25992
+ end
25993
+
25994
+ # Update properties of this object
25995
+ def update!(**args)
25996
+ @target_http_proxies = args[:target_http_proxies] if args.key?(:target_http_proxies)
25997
+ @warning = args[:warning] if args.key?(:warning)
25998
+ end
25999
+
26000
+ # Informational warning which replaces the list of backend services when the
26001
+ # list is empty.
26002
+ class Warning
26003
+ include Google::Apis::Core::Hashable
26004
+
26005
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
26006
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
26007
+ # Corresponds to the JSON property `code`
26008
+ # @return [String]
26009
+ attr_accessor :code
26010
+
26011
+ # [Output Only] Metadata about this warning in key: value format. For example:
26012
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
26013
+ # Corresponds to the JSON property `data`
26014
+ # @return [Array<Google::Apis::ComputeBeta::TargetHttpProxiesScopedList::Warning::Datum>]
26015
+ attr_accessor :data
26016
+
26017
+ # [Output Only] A human-readable description of the warning code.
26018
+ # Corresponds to the JSON property `message`
26019
+ # @return [String]
26020
+ attr_accessor :message
26021
+
26022
+ def initialize(**args)
26023
+ update!(**args)
26024
+ end
26025
+
26026
+ # Update properties of this object
26027
+ def update!(**args)
26028
+ @code = args[:code] if args.key?(:code)
26029
+ @data = args[:data] if args.key?(:data)
26030
+ @message = args[:message] if args.key?(:message)
26031
+ end
26032
+
26033
+ #
26034
+ class Datum
26035
+ include Google::Apis::Core::Hashable
26036
+
26037
+ # [Output Only] A key that provides more detail on the warning being returned.
26038
+ # For example, for warnings where there are no results in a list request for a
26039
+ # particular zone, this key might be scope and the key value might be the zone
26040
+ # name. Other examples might be a key indicating a deprecated resource and a
26041
+ # suggested replacement, or a warning about invalid network settings (for
26042
+ # example, if an instance attempts to perform IP forwarding but is not enabled
26043
+ # for IP forwarding).
26044
+ # Corresponds to the JSON property `key`
26045
+ # @return [String]
26046
+ attr_accessor :key
26047
+
26048
+ # [Output Only] A warning data value corresponding to the key.
26049
+ # Corresponds to the JSON property `value`
26050
+ # @return [String]
26051
+ attr_accessor :value
26052
+
26053
+ def initialize(**args)
26054
+ update!(**args)
26055
+ end
26056
+
26057
+ # Update properties of this object
26058
+ def update!(**args)
26059
+ @key = args[:key] if args.key?(:key)
26060
+ @value = args[:value] if args.key?(:value)
26061
+ end
26062
+ end
26063
+ end
26064
+ end
26065
+
24139
26066
  # A TargetHttpProxy resource. This resource defines an HTTP proxy. (==
24140
26067
  # resource_for beta.targetHttpProxies ==) (== resource_for v1.targetHttpProxies =
24141
26068
  # =)
@@ -24175,6 +26102,12 @@ module Google
24175
26102
  # @return [String]
24176
26103
  attr_accessor :name
24177
26104
 
26105
+ # [Output Only] URL of the region where the regional Target HTTP Proxy resides.
26106
+ # This field is not applicable to global Target HTTP Proxies.
26107
+ # Corresponds to the JSON property `region`
26108
+ # @return [String]
26109
+ attr_accessor :region
26110
+
24178
26111
  # [Output Only] Server-defined URL for the resource.
24179
26112
  # Corresponds to the JSON property `selfLink`
24180
26113
  # @return [String]
@@ -24197,13 +26130,14 @@ module Google
24197
26130
  @id = args[:id] if args.key?(:id)
24198
26131
  @kind = args[:kind] if args.key?(:kind)
24199
26132
  @name = args[:name] if args.key?(:name)
26133
+ @region = args[:region] if args.key?(:region)
24200
26134
  @self_link = args[:self_link] if args.key?(:self_link)
24201
26135
  @url_map = args[:url_map] if args.key?(:url_map)
24202
26136
  end
24203
26137
  end
24204
26138
 
24205
- # A list of TargetHttpProxy resources.
24206
- class TargetHttpProxyList
26139
+ #
26140
+ class TargetHttpProxyAggregatedList
24207
26141
  include Google::Apis::Core::Hashable
24208
26142
 
24209
26143
  # [Output Only] Unique identifier for the resource; defined by the server.
@@ -24211,13 +26145,13 @@ module Google
24211
26145
  # @return [String]
24212
26146
  attr_accessor :id
24213
26147
 
24214
- # A list of TargetHttpProxy resources.
26148
+ # A list of TargetHttpProxiesScopedList resources.
24215
26149
  # Corresponds to the JSON property `items`
24216
- # @return [Array<Google::Apis::ComputeBeta::TargetHttpProxy>]
26150
+ # @return [Hash<String,Google::Apis::ComputeBeta::TargetHttpProxiesScopedList>]
24217
26151
  attr_accessor :items
24218
26152
 
24219
- # Type of resource. Always compute#targetHttpProxyList for lists of target HTTP
24220
- # proxies.
26153
+ # [Output Only] Type of resource. Always compute#targetHttpProxyAggregatedList
26154
+ # for lists of Target HTTP Proxies.
24221
26155
  # Corresponds to the JSON property `kind`
24222
26156
  # @return [String]
24223
26157
  attr_accessor :kind
@@ -24238,7 +26172,7 @@ module Google
24238
26172
 
24239
26173
  # [Output Only] Informational warning message.
24240
26174
  # Corresponds to the JSON property `warning`
24241
- # @return [Google::Apis::ComputeBeta::TargetHttpProxyList::Warning]
26175
+ # @return [Google::Apis::ComputeBeta::TargetHttpProxyAggregatedList::Warning]
24242
26176
  attr_accessor :warning
24243
26177
 
24244
26178
  def initialize(**args)
@@ -24268,7 +26202,7 @@ module Google
24268
26202
  # [Output Only] Metadata about this warning in key: value format. For example:
24269
26203
  # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
24270
26204
  # Corresponds to the JSON property `data`
24271
- # @return [Array<Google::Apis::ComputeBeta::TargetHttpProxyList::Warning::Datum>]
26205
+ # @return [Array<Google::Apis::ComputeBeta::TargetHttpProxyAggregatedList::Warning::Datum>]
24272
26206
  attr_accessor :data
24273
26207
 
24274
26208
  # [Output Only] A human-readable description of the warning code.
@@ -24320,24 +26254,233 @@ module Google
24320
26254
  end
24321
26255
  end
24322
26256
 
24323
- #
24324
- class TargetHttpsProxiesSetQuicOverrideRequest
26257
+ # A list of TargetHttpProxy resources.
26258
+ class TargetHttpProxyList
24325
26259
  include Google::Apis::Core::Hashable
24326
26260
 
24327
- # QUIC policy for the TargetHttpsProxy resource.
24328
- # Corresponds to the JSON property `quicOverride`
26261
+ # [Output Only] Unique identifier for the resource; defined by the server.
26262
+ # Corresponds to the JSON property `id`
24329
26263
  # @return [String]
24330
- attr_accessor :quic_override
26264
+ attr_accessor :id
24331
26265
 
24332
- def initialize(**args)
24333
- update!(**args)
24334
- end
26266
+ # A list of TargetHttpProxy resources.
26267
+ # Corresponds to the JSON property `items`
26268
+ # @return [Array<Google::Apis::ComputeBeta::TargetHttpProxy>]
26269
+ attr_accessor :items
24335
26270
 
24336
- # Update properties of this object
24337
- def update!(**args)
24338
- @quic_override = args[:quic_override] if args.key?(:quic_override)
24339
- end
24340
- end
26271
+ # Type of resource. Always compute#targetHttpProxyList for lists of target HTTP
26272
+ # proxies.
26273
+ # Corresponds to the JSON property `kind`
26274
+ # @return [String]
26275
+ attr_accessor :kind
26276
+
26277
+ # [Output Only] This token allows you to get the next page of results for list
26278
+ # requests. If the number of results is larger than maxResults, use the
26279
+ # nextPageToken as a value for the query parameter pageToken in the next list
26280
+ # request. Subsequent list requests will have their own nextPageToken to
26281
+ # continue paging through the results.
26282
+ # Corresponds to the JSON property `nextPageToken`
26283
+ # @return [String]
26284
+ attr_accessor :next_page_token
26285
+
26286
+ # [Output Only] Server-defined URL for this resource.
26287
+ # Corresponds to the JSON property `selfLink`
26288
+ # @return [String]
26289
+ attr_accessor :self_link
26290
+
26291
+ # [Output Only] Informational warning message.
26292
+ # Corresponds to the JSON property `warning`
26293
+ # @return [Google::Apis::ComputeBeta::TargetHttpProxyList::Warning]
26294
+ attr_accessor :warning
26295
+
26296
+ def initialize(**args)
26297
+ update!(**args)
26298
+ end
26299
+
26300
+ # Update properties of this object
26301
+ def update!(**args)
26302
+ @id = args[:id] if args.key?(:id)
26303
+ @items = args[:items] if args.key?(:items)
26304
+ @kind = args[:kind] if args.key?(:kind)
26305
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
26306
+ @self_link = args[:self_link] if args.key?(:self_link)
26307
+ @warning = args[:warning] if args.key?(:warning)
26308
+ end
26309
+
26310
+ # [Output Only] Informational warning message.
26311
+ class Warning
26312
+ include Google::Apis::Core::Hashable
26313
+
26314
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
26315
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
26316
+ # Corresponds to the JSON property `code`
26317
+ # @return [String]
26318
+ attr_accessor :code
26319
+
26320
+ # [Output Only] Metadata about this warning in key: value format. For example:
26321
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
26322
+ # Corresponds to the JSON property `data`
26323
+ # @return [Array<Google::Apis::ComputeBeta::TargetHttpProxyList::Warning::Datum>]
26324
+ attr_accessor :data
26325
+
26326
+ # [Output Only] A human-readable description of the warning code.
26327
+ # Corresponds to the JSON property `message`
26328
+ # @return [String]
26329
+ attr_accessor :message
26330
+
26331
+ def initialize(**args)
26332
+ update!(**args)
26333
+ end
26334
+
26335
+ # Update properties of this object
26336
+ def update!(**args)
26337
+ @code = args[:code] if args.key?(:code)
26338
+ @data = args[:data] if args.key?(:data)
26339
+ @message = args[:message] if args.key?(:message)
26340
+ end
26341
+
26342
+ #
26343
+ class Datum
26344
+ include Google::Apis::Core::Hashable
26345
+
26346
+ # [Output Only] A key that provides more detail on the warning being returned.
26347
+ # For example, for warnings where there are no results in a list request for a
26348
+ # particular zone, this key might be scope and the key value might be the zone
26349
+ # name. Other examples might be a key indicating a deprecated resource and a
26350
+ # suggested replacement, or a warning about invalid network settings (for
26351
+ # example, if an instance attempts to perform IP forwarding but is not enabled
26352
+ # for IP forwarding).
26353
+ # Corresponds to the JSON property `key`
26354
+ # @return [String]
26355
+ attr_accessor :key
26356
+
26357
+ # [Output Only] A warning data value corresponding to the key.
26358
+ # Corresponds to the JSON property `value`
26359
+ # @return [String]
26360
+ attr_accessor :value
26361
+
26362
+ def initialize(**args)
26363
+ update!(**args)
26364
+ end
26365
+
26366
+ # Update properties of this object
26367
+ def update!(**args)
26368
+ @key = args[:key] if args.key?(:key)
26369
+ @value = args[:value] if args.key?(:value)
26370
+ end
26371
+ end
26372
+ end
26373
+ end
26374
+
26375
+ #
26376
+ class TargetHttpsProxiesScopedList
26377
+ include Google::Apis::Core::Hashable
26378
+
26379
+ # A list of TargetHttpsProxies contained in this scope.
26380
+ # Corresponds to the JSON property `targetHttpsProxies`
26381
+ # @return [Array<Google::Apis::ComputeBeta::TargetHttpsProxy>]
26382
+ attr_accessor :target_https_proxies
26383
+
26384
+ # Informational warning which replaces the list of backend services when the
26385
+ # list is empty.
26386
+ # Corresponds to the JSON property `warning`
26387
+ # @return [Google::Apis::ComputeBeta::TargetHttpsProxiesScopedList::Warning]
26388
+ attr_accessor :warning
26389
+
26390
+ def initialize(**args)
26391
+ update!(**args)
26392
+ end
26393
+
26394
+ # Update properties of this object
26395
+ def update!(**args)
26396
+ @target_https_proxies = args[:target_https_proxies] if args.key?(:target_https_proxies)
26397
+ @warning = args[:warning] if args.key?(:warning)
26398
+ end
26399
+
26400
+ # Informational warning which replaces the list of backend services when the
26401
+ # list is empty.
26402
+ class Warning
26403
+ include Google::Apis::Core::Hashable
26404
+
26405
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
26406
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
26407
+ # Corresponds to the JSON property `code`
26408
+ # @return [String]
26409
+ attr_accessor :code
26410
+
26411
+ # [Output Only] Metadata about this warning in key: value format. For example:
26412
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
26413
+ # Corresponds to the JSON property `data`
26414
+ # @return [Array<Google::Apis::ComputeBeta::TargetHttpsProxiesScopedList::Warning::Datum>]
26415
+ attr_accessor :data
26416
+
26417
+ # [Output Only] A human-readable description of the warning code.
26418
+ # Corresponds to the JSON property `message`
26419
+ # @return [String]
26420
+ attr_accessor :message
26421
+
26422
+ def initialize(**args)
26423
+ update!(**args)
26424
+ end
26425
+
26426
+ # Update properties of this object
26427
+ def update!(**args)
26428
+ @code = args[:code] if args.key?(:code)
26429
+ @data = args[:data] if args.key?(:data)
26430
+ @message = args[:message] if args.key?(:message)
26431
+ end
26432
+
26433
+ #
26434
+ class Datum
26435
+ include Google::Apis::Core::Hashable
26436
+
26437
+ # [Output Only] A key that provides more detail on the warning being returned.
26438
+ # For example, for warnings where there are no results in a list request for a
26439
+ # particular zone, this key might be scope and the key value might be the zone
26440
+ # name. Other examples might be a key indicating a deprecated resource and a
26441
+ # suggested replacement, or a warning about invalid network settings (for
26442
+ # example, if an instance attempts to perform IP forwarding but is not enabled
26443
+ # for IP forwarding).
26444
+ # Corresponds to the JSON property `key`
26445
+ # @return [String]
26446
+ attr_accessor :key
26447
+
26448
+ # [Output Only] A warning data value corresponding to the key.
26449
+ # Corresponds to the JSON property `value`
26450
+ # @return [String]
26451
+ attr_accessor :value
26452
+
26453
+ def initialize(**args)
26454
+ update!(**args)
26455
+ end
26456
+
26457
+ # Update properties of this object
26458
+ def update!(**args)
26459
+ @key = args[:key] if args.key?(:key)
26460
+ @value = args[:value] if args.key?(:value)
26461
+ end
26462
+ end
26463
+ end
26464
+ end
26465
+
26466
+ #
26467
+ class TargetHttpsProxiesSetQuicOverrideRequest
26468
+ include Google::Apis::Core::Hashable
26469
+
26470
+ # QUIC policy for the TargetHttpsProxy resource.
26471
+ # Corresponds to the JSON property `quicOverride`
26472
+ # @return [String]
26473
+ attr_accessor :quic_override
26474
+
26475
+ def initialize(**args)
26476
+ update!(**args)
26477
+ end
26478
+
26479
+ # Update properties of this object
26480
+ def update!(**args)
26481
+ @quic_override = args[:quic_override] if args.key?(:quic_override)
26482
+ end
26483
+ end
24341
26484
 
24342
26485
  #
24343
26486
  class TargetHttpsProxiesSetSslCertificatesRequest
@@ -24409,6 +26552,12 @@ module Google
24409
26552
  # @return [String]
24410
26553
  attr_accessor :quic_override
24411
26554
 
26555
+ # [Output Only] URL of the region where the regional TargetHttpsProxy resides.
26556
+ # This field is not applicable to global TargetHttpsProxies.
26557
+ # Corresponds to the JSON property `region`
26558
+ # @return [String]
26559
+ attr_accessor :region
26560
+
24412
26561
  # [Output Only] Server-defined URL for the resource.
24413
26562
  # Corresponds to the JSON property `selfLink`
24414
26563
  # @return [String]
@@ -24450,6 +26599,7 @@ module Google
24450
26599
  @kind = args[:kind] if args.key?(:kind)
24451
26600
  @name = args[:name] if args.key?(:name)
24452
26601
  @quic_override = args[:quic_override] if args.key?(:quic_override)
26602
+ @region = args[:region] if args.key?(:region)
24453
26603
  @self_link = args[:self_link] if args.key?(:self_link)
24454
26604
  @ssl_certificates = args[:ssl_certificates] if args.key?(:ssl_certificates)
24455
26605
  @ssl_policy = args[:ssl_policy] if args.key?(:ssl_policy)
@@ -24457,6 +26607,124 @@ module Google
24457
26607
  end
24458
26608
  end
24459
26609
 
26610
+ #
26611
+ class TargetHttpsProxyAggregatedList
26612
+ include Google::Apis::Core::Hashable
26613
+
26614
+ # [Output Only] Unique identifier for the resource; defined by the server.
26615
+ # Corresponds to the JSON property `id`
26616
+ # @return [String]
26617
+ attr_accessor :id
26618
+
26619
+ # A list of TargetHttpsProxiesScopedList resources.
26620
+ # Corresponds to the JSON property `items`
26621
+ # @return [Hash<String,Google::Apis::ComputeBeta::TargetHttpsProxiesScopedList>]
26622
+ attr_accessor :items
26623
+
26624
+ # [Output Only] Type of resource. Always compute#targetHttpsProxyAggregatedList
26625
+ # for lists of Target HTTP Proxies.
26626
+ # Corresponds to the JSON property `kind`
26627
+ # @return [String]
26628
+ attr_accessor :kind
26629
+
26630
+ # [Output Only] This token allows you to get the next page of results for list
26631
+ # requests. If the number of results is larger than maxResults, use the
26632
+ # nextPageToken as a value for the query parameter pageToken in the next list
26633
+ # request. Subsequent list requests will have their own nextPageToken to
26634
+ # continue paging through the results.
26635
+ # Corresponds to the JSON property `nextPageToken`
26636
+ # @return [String]
26637
+ attr_accessor :next_page_token
26638
+
26639
+ # [Output Only] Server-defined URL for this resource.
26640
+ # Corresponds to the JSON property `selfLink`
26641
+ # @return [String]
26642
+ attr_accessor :self_link
26643
+
26644
+ # [Output Only] Informational warning message.
26645
+ # Corresponds to the JSON property `warning`
26646
+ # @return [Google::Apis::ComputeBeta::TargetHttpsProxyAggregatedList::Warning]
26647
+ attr_accessor :warning
26648
+
26649
+ def initialize(**args)
26650
+ update!(**args)
26651
+ end
26652
+
26653
+ # Update properties of this object
26654
+ def update!(**args)
26655
+ @id = args[:id] if args.key?(:id)
26656
+ @items = args[:items] if args.key?(:items)
26657
+ @kind = args[:kind] if args.key?(:kind)
26658
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
26659
+ @self_link = args[:self_link] if args.key?(:self_link)
26660
+ @warning = args[:warning] if args.key?(:warning)
26661
+ end
26662
+
26663
+ # [Output Only] Informational warning message.
26664
+ class Warning
26665
+ include Google::Apis::Core::Hashable
26666
+
26667
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
26668
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
26669
+ # Corresponds to the JSON property `code`
26670
+ # @return [String]
26671
+ attr_accessor :code
26672
+
26673
+ # [Output Only] Metadata about this warning in key: value format. For example:
26674
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
26675
+ # Corresponds to the JSON property `data`
26676
+ # @return [Array<Google::Apis::ComputeBeta::TargetHttpsProxyAggregatedList::Warning::Datum>]
26677
+ attr_accessor :data
26678
+
26679
+ # [Output Only] A human-readable description of the warning code.
26680
+ # Corresponds to the JSON property `message`
26681
+ # @return [String]
26682
+ attr_accessor :message
26683
+
26684
+ def initialize(**args)
26685
+ update!(**args)
26686
+ end
26687
+
26688
+ # Update properties of this object
26689
+ def update!(**args)
26690
+ @code = args[:code] if args.key?(:code)
26691
+ @data = args[:data] if args.key?(:data)
26692
+ @message = args[:message] if args.key?(:message)
26693
+ end
26694
+
26695
+ #
26696
+ class Datum
26697
+ include Google::Apis::Core::Hashable
26698
+
26699
+ # [Output Only] A key that provides more detail on the warning being returned.
26700
+ # For example, for warnings where there are no results in a list request for a
26701
+ # particular zone, this key might be scope and the key value might be the zone
26702
+ # name. Other examples might be a key indicating a deprecated resource and a
26703
+ # suggested replacement, or a warning about invalid network settings (for
26704
+ # example, if an instance attempts to perform IP forwarding but is not enabled
26705
+ # for IP forwarding).
26706
+ # Corresponds to the JSON property `key`
26707
+ # @return [String]
26708
+ attr_accessor :key
26709
+
26710
+ # [Output Only] A warning data value corresponding to the key.
26711
+ # Corresponds to the JSON property `value`
26712
+ # @return [String]
26713
+ attr_accessor :value
26714
+
26715
+ def initialize(**args)
26716
+ update!(**args)
26717
+ end
26718
+
26719
+ # Update properties of this object
26720
+ def update!(**args)
26721
+ @key = args[:key] if args.key?(:key)
26722
+ @value = args[:value] if args.key?(:value)
26723
+ end
26724
+ end
26725
+ end
26726
+ end
26727
+
24460
26728
  # Contains a list of TargetHttpsProxy resources.
24461
26729
  class TargetHttpsProxyList
24462
26730
  include Google::Apis::Core::Hashable
@@ -26590,6 +28858,17 @@ module Google
26590
28858
  # @return [String]
26591
28859
  attr_accessor :creation_timestamp
26592
28860
 
28861
+ # defaultRouteAction takes effect when none of the hostRules match. The load
28862
+ # balancer performs advanced routing actions like URL rewrites, header
28863
+ # transformations, etc. prior to forwarding the request to the selected backend.
28864
+ # If defaultRouteAction specifies any weightedBackendServices, defaultService
28865
+ # must not be set. Conversely if defaultService is set, defaultRouteAction
28866
+ # cannot contain any weightedBackendServices.
28867
+ # Only one of defaultRouteAction or defaultUrlRedirect must be set.
28868
+ # Corresponds to the JSON property `defaultRouteAction`
28869
+ # @return [Google::Apis::ComputeBeta::HttpRouteAction]
28870
+ attr_accessor :default_route_action
28871
+
26593
28872
  # The full or partial URL of the defaultService resource to which traffic is
26594
28873
  # directed if none of the hostRules match. If defaultRouteAction is additionally
26595
28874
  # specified, advanced routing actions like URL Rewrites, etc. take effect prior
@@ -26603,6 +28882,11 @@ module Google
26603
28882
  # @return [String]
26604
28883
  attr_accessor :default_service
26605
28884
 
28885
+ # Specifies settings for an HTTP redirect.
28886
+ # Corresponds to the JSON property `defaultUrlRedirect`
28887
+ # @return [Google::Apis::ComputeBeta::HttpRedirectAction]
28888
+ attr_accessor :default_url_redirect
28889
+
26606
28890
  # An optional description of this resource. Provide this property when you
26607
28891
  # create the resource.
26608
28892
  # Corresponds to the JSON property `description`
@@ -26620,6 +28904,12 @@ module Google
26620
28904
  # @return [String]
26621
28905
  attr_accessor :fingerprint
26622
28906
 
28907
+ # The request and response header transformations that take effect before the
28908
+ # request is passed along to the selected backendService.
28909
+ # Corresponds to the JSON property `headerAction`
28910
+ # @return [Google::Apis::ComputeBeta::HttpHeaderAction]
28911
+ attr_accessor :header_action
28912
+
26623
28913
  # The list of HostRules to use against the URL.
26624
28914
  # Corresponds to the JSON property `hostRules`
26625
28915
  # @return [Array<Google::Apis::ComputeBeta::HostRule>]
@@ -26651,6 +28941,13 @@ module Google
26651
28941
  # @return [Array<Google::Apis::ComputeBeta::PathMatcher>]
26652
28942
  attr_accessor :path_matchers
26653
28943
 
28944
+ # [Output Only] URL of the region where the regional URL map resides. This field
28945
+ # is not applicable to global URL maps. You must specify this field as part of
28946
+ # the HTTP request URL. It is not settable as a field in the request body.
28947
+ # Corresponds to the JSON property `region`
28948
+ # @return [String]
28949
+ attr_accessor :region
28950
+
26654
28951
  # [Output Only] Server-defined URL for the resource.
26655
28952
  # Corresponds to the JSON property `selfLink`
26656
28953
  # @return [String]
@@ -26670,14 +28967,18 @@ module Google
26670
28967
  # Update properties of this object
26671
28968
  def update!(**args)
26672
28969
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
28970
+ @default_route_action = args[:default_route_action] if args.key?(:default_route_action)
26673
28971
  @default_service = args[:default_service] if args.key?(:default_service)
28972
+ @default_url_redirect = args[:default_url_redirect] if args.key?(:default_url_redirect)
26674
28973
  @description = args[:description] if args.key?(:description)
26675
28974
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
28975
+ @header_action = args[:header_action] if args.key?(:header_action)
26676
28976
  @host_rules = args[:host_rules] if args.key?(:host_rules)
26677
28977
  @id = args[:id] if args.key?(:id)
26678
28978
  @kind = args[:kind] if args.key?(:kind)
26679
28979
  @name = args[:name] if args.key?(:name)
26680
28980
  @path_matchers = args[:path_matchers] if args.key?(:path_matchers)
28981
+ @region = args[:region] if args.key?(:region)
26681
28982
  @self_link = args[:self_link] if args.key?(:self_link)
26682
28983
  @tests = args[:tests] if args.key?(:tests)
26683
28984
  end
@@ -26897,6 +29198,214 @@ module Google
26897
29198
  end
26898
29199
  end
26899
29200
 
29201
+ #
29202
+ class UrlMapsAggregatedList
29203
+ include Google::Apis::Core::Hashable
29204
+
29205
+ # [Output Only] Unique identifier for the resource; defined by the server.
29206
+ # Corresponds to the JSON property `id`
29207
+ # @return [String]
29208
+ attr_accessor :id
29209
+
29210
+ # A list of UrlMapsScopedList resources.
29211
+ # Corresponds to the JSON property `items`
29212
+ # @return [Hash<String,Google::Apis::ComputeBeta::UrlMapsScopedList>]
29213
+ attr_accessor :items
29214
+
29215
+ # Type of resource.
29216
+ # Corresponds to the JSON property `kind`
29217
+ # @return [String]
29218
+ attr_accessor :kind
29219
+
29220
+ # [Output Only] This token allows you to get the next page of results for list
29221
+ # requests. If the number of results is larger than maxResults, use the
29222
+ # nextPageToken as a value for the query parameter pageToken in the next list
29223
+ # request. Subsequent list requests will have their own nextPageToken to
29224
+ # continue paging through the results.
29225
+ # Corresponds to the JSON property `nextPageToken`
29226
+ # @return [String]
29227
+ attr_accessor :next_page_token
29228
+
29229
+ # [Output Only] Server-defined URL for this resource.
29230
+ # Corresponds to the JSON property `selfLink`
29231
+ # @return [String]
29232
+ attr_accessor :self_link
29233
+
29234
+ # [Output Only] Informational warning message.
29235
+ # Corresponds to the JSON property `warning`
29236
+ # @return [Google::Apis::ComputeBeta::UrlMapsAggregatedList::Warning]
29237
+ attr_accessor :warning
29238
+
29239
+ def initialize(**args)
29240
+ update!(**args)
29241
+ end
29242
+
29243
+ # Update properties of this object
29244
+ def update!(**args)
29245
+ @id = args[:id] if args.key?(:id)
29246
+ @items = args[:items] if args.key?(:items)
29247
+ @kind = args[:kind] if args.key?(:kind)
29248
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
29249
+ @self_link = args[:self_link] if args.key?(:self_link)
29250
+ @warning = args[:warning] if args.key?(:warning)
29251
+ end
29252
+
29253
+ # [Output Only] Informational warning message.
29254
+ class Warning
29255
+ include Google::Apis::Core::Hashable
29256
+
29257
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
29258
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
29259
+ # Corresponds to the JSON property `code`
29260
+ # @return [String]
29261
+ attr_accessor :code
29262
+
29263
+ # [Output Only] Metadata about this warning in key: value format. For example:
29264
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
29265
+ # Corresponds to the JSON property `data`
29266
+ # @return [Array<Google::Apis::ComputeBeta::UrlMapsAggregatedList::Warning::Datum>]
29267
+ attr_accessor :data
29268
+
29269
+ # [Output Only] A human-readable description of the warning code.
29270
+ # Corresponds to the JSON property `message`
29271
+ # @return [String]
29272
+ attr_accessor :message
29273
+
29274
+ def initialize(**args)
29275
+ update!(**args)
29276
+ end
29277
+
29278
+ # Update properties of this object
29279
+ def update!(**args)
29280
+ @code = args[:code] if args.key?(:code)
29281
+ @data = args[:data] if args.key?(:data)
29282
+ @message = args[:message] if args.key?(:message)
29283
+ end
29284
+
29285
+ #
29286
+ class Datum
29287
+ include Google::Apis::Core::Hashable
29288
+
29289
+ # [Output Only] A key that provides more detail on the warning being returned.
29290
+ # For example, for warnings where there are no results in a list request for a
29291
+ # particular zone, this key might be scope and the key value might be the zone
29292
+ # name. Other examples might be a key indicating a deprecated resource and a
29293
+ # suggested replacement, or a warning about invalid network settings (for
29294
+ # example, if an instance attempts to perform IP forwarding but is not enabled
29295
+ # for IP forwarding).
29296
+ # Corresponds to the JSON property `key`
29297
+ # @return [String]
29298
+ attr_accessor :key
29299
+
29300
+ # [Output Only] A warning data value corresponding to the key.
29301
+ # Corresponds to the JSON property `value`
29302
+ # @return [String]
29303
+ attr_accessor :value
29304
+
29305
+ def initialize(**args)
29306
+ update!(**args)
29307
+ end
29308
+
29309
+ # Update properties of this object
29310
+ def update!(**args)
29311
+ @key = args[:key] if args.key?(:key)
29312
+ @value = args[:value] if args.key?(:value)
29313
+ end
29314
+ end
29315
+ end
29316
+ end
29317
+
29318
+ #
29319
+ class UrlMapsScopedList
29320
+ include Google::Apis::Core::Hashable
29321
+
29322
+ # A list of UrlMaps contained in this scope.
29323
+ # Corresponds to the JSON property `urlMaps`
29324
+ # @return [Array<Google::Apis::ComputeBeta::UrlMap>]
29325
+ attr_accessor :url_maps
29326
+
29327
+ # Informational warning which replaces the list of backend services when the
29328
+ # list is empty.
29329
+ # Corresponds to the JSON property `warning`
29330
+ # @return [Google::Apis::ComputeBeta::UrlMapsScopedList::Warning]
29331
+ attr_accessor :warning
29332
+
29333
+ def initialize(**args)
29334
+ update!(**args)
29335
+ end
29336
+
29337
+ # Update properties of this object
29338
+ def update!(**args)
29339
+ @url_maps = args[:url_maps] if args.key?(:url_maps)
29340
+ @warning = args[:warning] if args.key?(:warning)
29341
+ end
29342
+
29343
+ # Informational warning which replaces the list of backend services when the
29344
+ # list is empty.
29345
+ class Warning
29346
+ include Google::Apis::Core::Hashable
29347
+
29348
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
29349
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
29350
+ # Corresponds to the JSON property `code`
29351
+ # @return [String]
29352
+ attr_accessor :code
29353
+
29354
+ # [Output Only] Metadata about this warning in key: value format. For example:
29355
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
29356
+ # Corresponds to the JSON property `data`
29357
+ # @return [Array<Google::Apis::ComputeBeta::UrlMapsScopedList::Warning::Datum>]
29358
+ attr_accessor :data
29359
+
29360
+ # [Output Only] A human-readable description of the warning code.
29361
+ # Corresponds to the JSON property `message`
29362
+ # @return [String]
29363
+ attr_accessor :message
29364
+
29365
+ def initialize(**args)
29366
+ update!(**args)
29367
+ end
29368
+
29369
+ # Update properties of this object
29370
+ def update!(**args)
29371
+ @code = args[:code] if args.key?(:code)
29372
+ @data = args[:data] if args.key?(:data)
29373
+ @message = args[:message] if args.key?(:message)
29374
+ end
29375
+
29376
+ #
29377
+ class Datum
29378
+ include Google::Apis::Core::Hashable
29379
+
29380
+ # [Output Only] A key that provides more detail on the warning being returned.
29381
+ # For example, for warnings where there are no results in a list request for a
29382
+ # particular zone, this key might be scope and the key value might be the zone
29383
+ # name. Other examples might be a key indicating a deprecated resource and a
29384
+ # suggested replacement, or a warning about invalid network settings (for
29385
+ # example, if an instance attempts to perform IP forwarding but is not enabled
29386
+ # for IP forwarding).
29387
+ # Corresponds to the JSON property `key`
29388
+ # @return [String]
29389
+ attr_accessor :key
29390
+
29391
+ # [Output Only] A warning data value corresponding to the key.
29392
+ # Corresponds to the JSON property `value`
29393
+ # @return [String]
29394
+ attr_accessor :value
29395
+
29396
+ def initialize(**args)
29397
+ update!(**args)
29398
+ end
29399
+
29400
+ # Update properties of this object
29401
+ def update!(**args)
29402
+ @key = args[:key] if args.key?(:key)
29403
+ @value = args[:value] if args.key?(:value)
29404
+ end
29405
+ end
29406
+ end
29407
+ end
29408
+
26900
29409
  #
26901
29410
  class ValidateUrlMapsRequest
26902
29411
  include Google::Apis::Core::Hashable
@@ -26937,6 +29446,36 @@ module Google
26937
29446
  end
26938
29447
  end
26939
29448
 
29449
+ # The spec for modifying the path before sending the request to the matched
29450
+ # backend service.
29451
+ class UrlRewrite
29452
+ include Google::Apis::Core::Hashable
29453
+
29454
+ # Prior to forwarding the request to the selected service, the request's host
29455
+ # header is replaced with contents of hostRewrite.
29456
+ # The value must be between 1 and 255 characters.
29457
+ # Corresponds to the JSON property `hostRewrite`
29458
+ # @return [String]
29459
+ attr_accessor :host_rewrite
29460
+
29461
+ # Prior to forwarding the request to the selected backend service, the matching
29462
+ # portion of the request's path is replaced by pathPrefixRewrite.
29463
+ # The value must be between 1 and 1024 characters.
29464
+ # Corresponds to the JSON property `pathPrefixRewrite`
29465
+ # @return [String]
29466
+ attr_accessor :path_prefix_rewrite
29467
+
29468
+ def initialize(**args)
29469
+ update!(**args)
29470
+ end
29471
+
29472
+ # Update properties of this object
29473
+ def update!(**args)
29474
+ @host_rewrite = args[:host_rewrite] if args.key?(:host_rewrite)
29475
+ @path_prefix_rewrite = args[:path_prefix_rewrite] if args.key?(:path_prefix_rewrite)
29476
+ end
29477
+ end
29478
+
26940
29479
  # Subnetwork which the current user has compute.subnetworks.use permission on.
26941
29480
  class UsableSubnetwork
26942
29481
  include Google::Apis::Core::Hashable
@@ -28514,6 +31053,50 @@ module Google
28514
31053
  end
28515
31054
  end
28516
31055
 
31056
+ # In contrast to a single BackendService in HttpRouteAction to which all
31057
+ # matching traffic is directed to, WeightedBackendService allows traffic to be
31058
+ # split across multiple BackendServices. The volume of traffic for each
31059
+ # BackendService is proportional to the weight specified in each
31060
+ # WeightedBackendService
31061
+ class WeightedBackendService
31062
+ include Google::Apis::Core::Hashable
31063
+
31064
+ # The full or partial URL to the default BackendService resource. Before
31065
+ # forwarding the request to backendService, the loadbalancer applies any
31066
+ # relevant headerActions specified as part of this backendServiceWeight.
31067
+ # Corresponds to the JSON property `backendService`
31068
+ # @return [String]
31069
+ attr_accessor :backend_service
31070
+
31071
+ # The request and response header transformations that take effect before the
31072
+ # request is passed along to the selected backendService.
31073
+ # Corresponds to the JSON property `headerAction`
31074
+ # @return [Google::Apis::ComputeBeta::HttpHeaderAction]
31075
+ attr_accessor :header_action
31076
+
31077
+ # Specifies the fraction of traffic sent to backendService, computed as weight /
31078
+ # (sum of all weightedBackendService weights in routeAction) .
31079
+ # The selection of a backend service is determined only for new traffic. Once a
31080
+ # user's request has been directed to a backendService, subsequent requests will
31081
+ # be sent to the same backendService as determined by the BackendService's
31082
+ # session affinity policy.
31083
+ # The value must be between 0 and 1000
31084
+ # Corresponds to the JSON property `weight`
31085
+ # @return [Fixnum]
31086
+ attr_accessor :weight
31087
+
31088
+ def initialize(**args)
31089
+ update!(**args)
31090
+ end
31091
+
31092
+ # Update properties of this object
31093
+ def update!(**args)
31094
+ @backend_service = args[:backend_service] if args.key?(:backend_service)
31095
+ @header_action = args[:header_action] if args.key?(:header_action)
31096
+ @weight = args[:weight] if args.key?(:weight)
31097
+ end
31098
+ end
31099
+
28517
31100
  #
28518
31101
  class XpnHostList
28519
31102
  include Google::Apis::Core::Hashable