google-api-client 0.30.0 → 0.30.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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