google-api-client 0.31.0 → 0.32.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.kokoro/continuous/linux.cfg +11 -1
- data/.kokoro/continuous/osx.cfg +5 -0
- data/.kokoro/continuous/windows.cfg +10 -0
- data/.kokoro/presubmit/linux.cfg +11 -1
- data/.kokoro/presubmit/osx.cfg +5 -0
- data/.kokoro/presubmit/windows.cfg +10 -0
- data/CHANGELOG.md +107 -0
- data/generated/google/apis/androidmanagement_v1.rb +1 -1
- data/generated/google/apis/androidmanagement_v1/classes.rb +12 -1
- data/generated/google/apis/androidmanagement_v1/representations.rb +1 -0
- data/generated/google/apis/bigquery_v2.rb +1 -1
- data/generated/google/apis/bigquery_v2/classes.rb +241 -0
- data/generated/google/apis/bigquery_v2/representations.rb +115 -0
- data/generated/google/apis/bigqueryconnection_v1beta1.rb +1 -1
- data/generated/google/apis/bigqueryconnection_v1beta1/classes.rb +62 -29
- data/generated/google/apis/bigquerydatatransfer_v1.rb +1 -1
- data/generated/google/apis/bigquerydatatransfer_v1/classes.rb +2 -2
- data/generated/google/apis/bigquerydatatransfer_v1/service.rb +30 -26
- data/generated/google/apis/bigqueryreservation_v1.rb +1 -1
- data/generated/google/apis/bigqueryreservation_v1/classes.rb +7 -7
- data/generated/google/apis/bigqueryreservation_v1/representations.rb +3 -3
- data/generated/google/apis/bigqueryreservation_v1alpha2.rb +1 -1
- data/generated/google/apis/bigqueryreservation_v1alpha2/classes.rb +0 -175
- data/generated/google/apis/bigqueryreservation_v1alpha2/representations.rb +0 -65
- data/generated/google/apis/bigqueryreservation_v1alpha2/service.rb +0 -140
- data/generated/google/apis/bigqueryreservation_v1beta1.rb +37 -0
- data/generated/google/apis/bigqueryreservation_v1beta1/classes.rb +497 -0
- data/generated/google/apis/bigqueryreservation_v1beta1/representations.rb +236 -0
- data/generated/google/apis/bigqueryreservation_v1beta1/service.rb +713 -0
- data/generated/google/apis/binaryauthorization_v1.rb +1 -1
- data/generated/google/apis/binaryauthorization_v1/classes.rb +307 -0
- data/generated/google/apis/binaryauthorization_v1/representations.rb +88 -0
- data/generated/google/apis/binaryauthorization_v1/service.rb +230 -0
- data/generated/google/apis/binaryauthorization_v1beta1.rb +1 -1
- data/generated/google/apis/binaryauthorization_v1beta1/classes.rb +62 -29
- data/generated/google/apis/blogger_v3.rb +1 -1
- data/generated/google/apis/blogger_v3/service.rb +6 -6
- data/generated/google/apis/calendar_v3.rb +1 -1
- data/generated/google/apis/calendar_v3/classes.rb +1 -0
- data/generated/google/apis/cloudasset_v1.rb +1 -1
- data/generated/google/apis/cloudasset_v1/classes.rb +72 -29
- data/generated/google/apis/cloudasset_v1/representations.rb +1 -0
- data/generated/google/apis/cloudasset_v1/service.rb +1 -1
- data/generated/google/apis/cloudasset_v1beta1.rb +1 -1
- data/generated/google/apis/cloudasset_v1beta1/classes.rb +62 -29
- data/generated/google/apis/cloudasset_v1beta1/service.rb +2 -2
- data/generated/google/apis/cloudfunctions_v1.rb +1 -1
- data/generated/google/apis/cloudfunctions_v1/classes.rb +7 -2
- data/generated/google/apis/cloudfunctions_v1/service.rb +10 -7
- data/generated/google/apis/cloudfunctions_v1beta2.rb +1 -1
- data/generated/google/apis/cloudfunctions_v1beta2/classes.rb +1 -1
- data/generated/google/apis/cloudfunctions_v1beta2/service.rb +7 -6
- data/generated/google/apis/cloudidentity_v1.rb +4 -1
- data/generated/google/apis/cloudidentity_v1beta1.rb +4 -1
- data/generated/google/apis/cloudiot_v1.rb +1 -1
- data/generated/google/apis/cloudiot_v1/classes.rb +68 -35
- data/generated/google/apis/cloudiot_v1/service.rb +18 -17
- data/generated/google/apis/cloudkms_v1.rb +1 -1
- data/generated/google/apis/cloudkms_v1/classes.rb +77 -35
- data/generated/google/apis/cloudkms_v1/service.rb +33 -27
- data/generated/google/apis/cloudprivatecatalogproducer_v1beta1.rb +1 -1
- data/generated/google/apis/cloudprivatecatalogproducer_v1beta1/classes.rb +62 -29
- data/generated/google/apis/cloudsearch_v1.rb +1 -1
- data/generated/google/apis/cloudsearch_v1/classes.rb +354 -0
- data/generated/google/apis/cloudsearch_v1/representations.rb +196 -0
- data/generated/google/apis/cloudsearch_v1/service.rb +314 -2
- data/generated/google/apis/cloudtasks_v2beta3.rb +1 -1
- data/generated/google/apis/cloudtasks_v2beta3/classes.rb +62 -29
- data/generated/google/apis/cloudtrace_v1.rb +1 -1
- data/generated/google/apis/cloudtrace_v1/classes.rb +1 -1
- data/generated/google/apis/cloudtrace_v1/service.rb +10 -10
- data/generated/google/apis/cloudtrace_v2.rb +1 -1
- data/generated/google/apis/cloudtrace_v2/classes.rb +3 -3
- data/generated/google/apis/commentanalyzer_v1alpha1.rb +1 -1
- data/generated/google/apis/commentanalyzer_v1alpha1/classes.rb +7 -10
- data/generated/google/apis/compute_alpha.rb +1 -1
- data/generated/google/apis/compute_alpha/classes.rb +38 -42
- data/generated/google/apis/compute_alpha/representations.rb +5 -16
- data/generated/google/apis/compute_beta.rb +1 -1
- data/generated/google/apis/compute_beta/classes.rb +10 -5
- data/generated/google/apis/compute_v1.rb +1 -1
- data/generated/google/apis/compute_v1/classes.rb +1327 -4
- data/generated/google/apis/compute_v1/representations.rb +439 -0
- data/generated/google/apis/container_v1.rb +1 -1
- data/generated/google/apis/container_v1/classes.rb +111 -0
- data/generated/google/apis/container_v1/representations.rb +51 -0
- data/generated/google/apis/containeranalysis_v1alpha1.rb +1 -1
- data/generated/google/apis/containeranalysis_v1alpha1/classes.rb +76 -30
- data/generated/google/apis/containeranalysis_v1alpha1/representations.rb +1 -0
- data/generated/google/apis/containeranalysis_v1beta1.rb +1 -1
- data/generated/google/apis/containeranalysis_v1beta1/classes.rb +70 -30
- data/generated/google/apis/content_v2.rb +1 -1
- data/generated/google/apis/content_v2/service.rb +0 -226
- data/generated/google/apis/dataflow_v1b3.rb +1 -1
- data/generated/google/apis/dataflow_v1b3/classes.rb +42 -0
- data/generated/google/apis/dataflow_v1b3/representations.rb +4 -0
- data/generated/google/apis/dataproc_v1.rb +1 -1
- data/generated/google/apis/dataproc_v1/classes.rb +324 -38
- data/generated/google/apis/dataproc_v1/representations.rb +97 -0
- data/generated/google/apis/dataproc_v1/service.rb +613 -1
- data/generated/google/apis/dataproc_v1beta2.rb +1 -1
- data/generated/google/apis/dataproc_v1beta2/classes.rb +100 -54
- data/generated/google/apis/dataproc_v1beta2/service.rb +29 -22
- data/generated/google/apis/dialogflow_v2.rb +1 -1
- data/generated/google/apis/dialogflow_v2/classes.rb +363 -167
- data/generated/google/apis/dialogflow_v2/representations.rb +160 -49
- data/generated/google/apis/dialogflow_v2/service.rb +1 -1
- data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
- data/generated/google/apis/dialogflow_v2beta1/classes.rb +433 -178
- data/generated/google/apis/dialogflow_v2beta1/representations.rb +199 -59
- data/generated/google/apis/dialogflow_v2beta1/service.rb +39 -0
- data/generated/google/apis/dlp_v2.rb +1 -1
- data/generated/google/apis/dlp_v2/classes.rb +3 -4
- data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
- data/generated/google/apis/drive_v2.rb +1 -1
- data/generated/google/apis/drive_v2/classes.rb +2 -2
- data/generated/google/apis/drive_v3.rb +1 -1
- data/generated/google/apis/drive_v3/classes.rb +2 -2
- data/generated/google/apis/fcm_v1.rb +1 -1
- data/generated/google/apis/fcm_v1/classes.rb +9 -4
- data/generated/google/apis/file_v1.rb +1 -1
- data/generated/google/apis/file_v1/classes.rb +8 -0
- data/generated/google/apis/file_v1/representations.rb +1 -0
- data/generated/google/apis/file_v1/service.rb +2 -0
- data/generated/google/apis/file_v1beta1.rb +1 -1
- data/generated/google/apis/file_v1beta1/classes.rb +8 -0
- data/generated/google/apis/file_v1beta1/representations.rb +1 -0
- data/generated/google/apis/file_v1beta1/service.rb +2 -0
- data/generated/google/apis/firebase_v1beta1.rb +1 -1
- data/generated/google/apis/firebase_v1beta1/classes.rb +41 -4
- data/generated/google/apis/firebase_v1beta1/representations.rb +2 -0
- data/generated/google/apis/firebase_v1beta1/service.rb +22 -14
- data/generated/google/apis/fitness_v1.rb +19 -19
- data/generated/google/apis/healthcare_v1beta1.rb +1 -1
- data/generated/google/apis/healthcare_v1beta1/classes.rb +136 -100
- data/generated/google/apis/healthcare_v1beta1/representations.rb +1 -1
- data/generated/google/apis/healthcare_v1beta1/service.rb +124 -119
- data/generated/google/apis/iam_v1.rb +1 -1
- data/generated/google/apis/iam_v1/classes.rb +87 -41
- data/generated/google/apis/iap_v1.rb +1 -1
- data/generated/google/apis/iap_v1/classes.rb +62 -29
- data/generated/google/apis/iap_v1beta1.rb +1 -1
- data/generated/google/apis/iap_v1beta1/classes.rb +62 -29
- data/generated/google/apis/ml_v1.rb +1 -1
- data/generated/google/apis/ml_v1/classes.rb +114 -49
- data/generated/google/apis/ml_v1/representations.rb +2 -0
- data/generated/google/apis/ml_v1/service.rb +12 -6
- data/generated/google/apis/monitoring_v3.rb +1 -1
- data/generated/google/apis/monitoring_v3/classes.rb +14 -10
- data/generated/google/apis/monitoring_v3/representations.rb +1 -0
- data/generated/google/apis/oslogin_v1.rb +1 -1
- data/generated/google/apis/oslogin_v1/classes.rb +12 -0
- data/generated/google/apis/oslogin_v1/representations.rb +2 -0
- data/generated/google/apis/oslogin_v1alpha.rb +1 -1
- data/generated/google/apis/oslogin_v1alpha/classes.rb +12 -0
- data/generated/google/apis/oslogin_v1alpha/representations.rb +2 -0
- data/generated/google/apis/oslogin_v1beta.rb +1 -1
- data/generated/google/apis/oslogin_v1beta/classes.rb +12 -0
- data/generated/google/apis/oslogin_v1beta/representations.rb +2 -0
- data/generated/google/apis/policytroubleshooter_v1beta.rb +34 -0
- data/generated/google/apis/policytroubleshooter_v1beta/classes.rb +621 -0
- data/generated/google/apis/policytroubleshooter_v1beta/representations.rb +203 -0
- data/generated/google/apis/policytroubleshooter_v1beta/service.rb +91 -0
- data/generated/google/apis/proximitybeacon_v1beta1.rb +1 -1
- data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +7 -4
- data/generated/google/apis/proximitybeacon_v1beta1/service.rb +60 -58
- data/generated/google/apis/recommender_v1beta1.rb +34 -0
- data/generated/google/apis/recommender_v1beta1/classes.rb +502 -0
- data/generated/google/apis/recommender_v1beta1/representations.rb +232 -0
- data/generated/google/apis/recommender_v1beta1/service.rb +262 -0
- data/generated/google/apis/remotebuildexecution_v1.rb +1 -1
- data/generated/google/apis/remotebuildexecution_v1/classes.rb +49 -1100
- data/generated/google/apis/remotebuildexecution_v1/representations.rb +1 -276
- data/generated/google/apis/remotebuildexecution_v1/service.rb +0 -77
- data/generated/google/apis/remotebuildexecution_v1alpha.rb +1 -1
- data/generated/google/apis/remotebuildexecution_v1alpha/classes.rb +12 -990
- data/generated/google/apis/remotebuildexecution_v1alpha/representations.rb +1 -245
- data/generated/google/apis/remotebuildexecution_v2.rb +1 -1
- data/generated/google/apis/remotebuildexecution_v2/classes.rb +12 -990
- data/generated/google/apis/remotebuildexecution_v2/representations.rb +1 -245
- data/generated/google/apis/run_v1.rb +1 -1
- data/generated/google/apis/run_v1/classes.rb +3553 -33
- data/generated/google/apis/run_v1/representations.rb +1186 -4
- data/generated/google/apis/run_v1/service.rb +2509 -23
- data/generated/google/apis/run_v1alpha1.rb +1 -1
- data/generated/google/apis/run_v1alpha1/classes.rb +103 -140
- data/generated/google/apis/run_v1alpha1/representations.rb +5 -43
- data/generated/google/apis/run_v1beta1.rb +35 -0
- data/generated/google/apis/run_v1beta1/classes.rb +1209 -0
- data/generated/google/apis/run_v1beta1/representations.rb +421 -0
- data/generated/google/apis/run_v1beta1/service.rb +172 -0
- data/generated/google/apis/runtimeconfig_v1beta1.rb +1 -1
- data/generated/google/apis/runtimeconfig_v1beta1/classes.rb +62 -29
- data/generated/google/apis/safebrowsing_v4.rb +5 -2
- data/generated/google/apis/safebrowsing_v4/service.rb +4 -1
- data/generated/google/apis/securitycenter_v1.rb +1 -1
- data/generated/google/apis/securitycenter_v1/classes.rb +70 -35
- data/generated/google/apis/securitycenter_v1/service.rb +13 -12
- data/generated/google/apis/securitycenter_v1beta1.rb +1 -1
- data/generated/google/apis/securitycenter_v1beta1/classes.rb +71 -35
- data/generated/google/apis/securitycenter_v1beta1/service.rb +13 -12
- data/generated/google/apis/servicebroker_v1.rb +1 -1
- data/generated/google/apis/servicebroker_v1/classes.rb +62 -29
- data/generated/google/apis/servicebroker_v1alpha1.rb +1 -1
- data/generated/google/apis/servicebroker_v1alpha1/classes.rb +62 -29
- data/generated/google/apis/servicebroker_v1beta1.rb +1 -1
- data/generated/google/apis/servicebroker_v1beta1/classes.rb +62 -29
- data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
- data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +11 -2
- data/generated/google/apis/serviceconsumermanagement_v1/representations.rb +1 -0
- data/generated/google/apis/servicemanagement_v1.rb +1 -1
- data/generated/google/apis/servicemanagement_v1/classes.rb +63 -33
- data/generated/google/apis/servicenetworking_v1.rb +1 -1
- data/generated/google/apis/servicenetworking_v1/classes.rb +11 -2
- data/generated/google/apis/servicenetworking_v1/representations.rb +1 -0
- data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
- data/generated/google/apis/servicenetworking_v1beta/classes.rb +11 -2
- data/generated/google/apis/servicenetworking_v1beta/representations.rb +1 -0
- data/generated/google/apis/serviceusage_v1.rb +1 -1
- data/generated/google/apis/serviceusage_v1/classes.rb +11 -2
- data/generated/google/apis/serviceusage_v1/representations.rb +1 -0
- data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
- data/generated/google/apis/serviceusage_v1beta1/classes.rb +11 -2
- data/generated/google/apis/serviceusage_v1beta1/representations.rb +1 -0
- data/generated/google/apis/spanner_v1.rb +1 -1
- data/generated/google/apis/spanner_v1/classes.rb +78 -2
- data/generated/google/apis/spanner_v1/representations.rb +44 -0
- data/generated/google/apis/spanner_v1/service.rb +35 -0
- data/generated/google/apis/speech_v1.rb +1 -1
- data/generated/google/apis/speech_v1/classes.rb +73 -19
- data/generated/google/apis/speech_v1/representations.rb +18 -0
- data/generated/google/apis/speech_v1p1beta1.rb +1 -1
- data/generated/google/apis/speech_v1p1beta1/classes.rb +31 -35
- data/generated/google/apis/speech_v2beta.rb +1 -1
- data/generated/google/apis/speech_v2beta/classes.rb +6 -6
- data/generated/google/apis/speech_v2beta/representations.rb +2 -2
- data/generated/google/apis/storage_v1.rb +1 -1
- data/generated/google/apis/storage_v1/classes.rb +1 -1
- data/generated/google/apis/storage_v1/representations.rb +2 -1
- data/generated/google/apis/storage_v1beta1.rb +1 -1
- data/generated/google/apis/storage_v1beta2.rb +1 -1
- data/generated/google/apis/streetviewpublish_v1.rb +1 -1
- data/generated/google/apis/streetviewpublish_v1/classes.rb +1 -1
- data/generated/google/apis/streetviewpublish_v1/service.rb +9 -5
- data/generated/google/apis/testing_v1.rb +1 -1
- data/generated/google/apis/testing_v1/classes.rb +42 -0
- data/generated/google/apis/testing_v1/representations.rb +18 -0
- data/generated/google/apis/texttospeech_v1.rb +1 -1
- data/generated/google/apis/texttospeech_v1/classes.rb +6 -5
- data/generated/google/apis/texttospeech_v1/service.rb +1 -1
- data/generated/google/apis/texttospeech_v1beta1.rb +1 -1
- data/generated/google/apis/texttospeech_v1beta1/classes.rb +6 -5
- data/generated/google/apis/texttospeech_v1beta1/service.rb +1 -1
- data/generated/google/apis/toolresults_v1beta3.rb +1 -1
- data/generated/google/apis/toolresults_v1beta3/classes.rb +1 -1
- data/generated/google/apis/translate_v3beta1.rb +1 -1
- data/generated/google/apis/translate_v3beta1/classes.rb +22 -16
- data/generated/google/apis/translate_v3beta1/service.rb +31 -31
- data/generated/google/apis/videointelligence_v1.rb +1 -1
- data/generated/google/apis/videointelligence_v1/classes.rb +45 -10
- data/generated/google/apis/videointelligence_v1beta2.rb +1 -1
- data/generated/google/apis/videointelligence_v1beta2/classes.rb +45 -10
- data/generated/google/apis/videointelligence_v1p1beta1.rb +1 -1
- data/generated/google/apis/videointelligence_v1p1beta1/classes.rb +45 -10
- data/generated/google/apis/videointelligence_v1p2beta1.rb +1 -1
- data/generated/google/apis/videointelligence_v1p2beta1/classes.rb +45 -10
- data/generated/google/apis/videointelligence_v1p3beta1.rb +1 -1
- data/generated/google/apis/videointelligence_v1p3beta1/classes.rb +45 -10
- data/generated/google/apis/vision_v1.rb +1 -1
- data/generated/google/apis/vision_v1/classes.rb +6 -156
- data/generated/google/apis/vision_v1/representations.rb +0 -44
- data/generated/google/apis/vision_v1p1beta1.rb +1 -1
- data/generated/google/apis/vision_v1p1beta1/classes.rb +6 -156
- data/generated/google/apis/vision_v1p1beta1/representations.rb +0 -44
- data/generated/google/apis/vision_v1p2beta1.rb +1 -1
- data/generated/google/apis/vision_v1p2beta1/classes.rb +6 -156
- data/generated/google/apis/vision_v1p2beta1/representations.rb +0 -44
- data/generated/google/apis/websecurityscanner_v1.rb +1 -1
- data/generated/google/apis/websecurityscanner_v1alpha.rb +1 -1
- data/generated/google/apis/websecurityscanner_v1alpha/classes.rb +21 -31
- data/generated/google/apis/websecurityscanner_v1alpha/service.rb +1 -1
- data/generated/google/apis/websecurityscanner_v1beta.rb +1 -1
- data/generated/google/apis/websecurityscanner_v1beta/classes.rb +30 -42
- data/generated/google/apis/websecurityscanner_v1beta/service.rb +1 -1
- data/generated/google/apis/youtube_partner_v1.rb +1 -1
- data/generated/google/apis/youtube_partner_v1/classes.rb +0 -83
- data/generated/google/apis/youtube_partner_v1/representations.rb +0 -35
- data/generated/google/apis/youtube_partner_v1/service.rb +0 -100
- data/lib/google/apis/version.rb +1 -1
- metadata +18 -6
- data/generated/google/apis/dfareporting_v3_1.rb +0 -40
- data/generated/google/apis/dfareporting_v3_1/classes.rb +0 -11998
- data/generated/google/apis/dfareporting_v3_1/representations.rb +0 -4313
- data/generated/google/apis/dfareporting_v3_1/service.rb +0 -8688
@@ -25,7 +25,7 @@ module Google
|
|
25
25
|
# @see https://developers.google.com/compute/docs/reference/latest/
|
26
26
|
module ComputeV1
|
27
27
|
VERSION = 'V1'
|
28
|
-
REVISION = '
|
28
|
+
REVISION = '20190905'
|
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'
|
@@ -1445,8 +1445,7 @@ module Google
|
|
1445
1445
|
# @return [Array<String>]
|
1446
1446
|
attr_accessor :exempted_members
|
1447
1447
|
|
1448
|
-
#
|
1449
|
-
# level resource policies. If true, any lower-level exemptions will be ignored.
|
1448
|
+
#
|
1450
1449
|
# Corresponds to the JSON property `ignoreChildExemptions`
|
1451
1450
|
# @return [Boolean]
|
1452
1451
|
attr_accessor :ignore_child_exemptions
|
@@ -2515,11 +2514,21 @@ module Google
|
|
2515
2514
|
# @return [Google::Apis::ComputeV1::BackendServiceCdnPolicy]
|
2516
2515
|
attr_accessor :cdn_policy
|
2517
2516
|
|
2517
|
+
# Settings controlling the volume of connections to a backend service.
|
2518
|
+
# Corresponds to the JSON property `circuitBreakers`
|
2519
|
+
# @return [Google::Apis::ComputeV1::CircuitBreakers]
|
2520
|
+
attr_accessor :circuit_breakers
|
2521
|
+
|
2518
2522
|
# Message containing connection draining configuration.
|
2519
2523
|
# Corresponds to the JSON property `connectionDraining`
|
2520
2524
|
# @return [Google::Apis::ComputeV1::ConnectionDraining]
|
2521
2525
|
attr_accessor :connection_draining
|
2522
2526
|
|
2527
|
+
# This message defines settings for a consistent hash style load balancer.
|
2528
|
+
# Corresponds to the JSON property `consistentHash`
|
2529
|
+
# @return [Google::Apis::ComputeV1::ConsistentHashLoadBalancerSettings]
|
2530
|
+
attr_accessor :consistent_hash
|
2531
|
+
|
2523
2532
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
2524
2533
|
# Corresponds to the JSON property `creationTimestamp`
|
2525
2534
|
# @return [String]
|
@@ -2590,6 +2599,33 @@ module Google
|
|
2590
2599
|
# @return [String]
|
2591
2600
|
attr_accessor :load_balancing_scheme
|
2592
2601
|
|
2602
|
+
# The load balancing algorithm used within the scope of the locality. The
|
2603
|
+
# possible values are:
|
2604
|
+
# - ROUND_ROBIN: This is a simple policy in which each healthy backend is
|
2605
|
+
# selected in round robin order. This is the default.
|
2606
|
+
# - LEAST_REQUEST: An O(1) algorithm which selects two random healthy hosts and
|
2607
|
+
# picks the host which has fewer active requests.
|
2608
|
+
# - RING_HASH: The ring/modulo hash load balancer implements consistent hashing
|
2609
|
+
# to backends. The algorithm has the property that the addition/removal of a
|
2610
|
+
# host from a set of N hosts only affects 1/N of the requests.
|
2611
|
+
# - RANDOM: The load balancer selects a random healthy host.
|
2612
|
+
# - ORIGINAL_DESTINATION: Backend host is selected based on the client
|
2613
|
+
# connection metadata, i.e., connections are opened to the same address as the
|
2614
|
+
# destination address of the incoming connection before the connection was
|
2615
|
+
# redirected to the load balancer.
|
2616
|
+
# - MAGLEV: used as a drop in replacement for the ring hash load balancer.
|
2617
|
+
# Maglev is not as stable as ring hash but has faster table lookup build times
|
2618
|
+
# and host selection times. For more information about Maglev, refer to https://
|
2619
|
+
# ai.google/research/pubs/pub44824
|
2620
|
+
# This field is applicable to either:
|
2621
|
+
# - A regional backend service with the service_protocol set to HTTP, HTTPS, or
|
2622
|
+
# HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED.
|
2623
|
+
# - A global backend service with the load_balancing_scheme set to
|
2624
|
+
# INTERNAL_SELF_MANAGED.
|
2625
|
+
# Corresponds to the JSON property `localityLbPolicy`
|
2626
|
+
# @return [String]
|
2627
|
+
attr_accessor :locality_lb_policy
|
2628
|
+
|
2593
2629
|
# Name of the resource. Provided by the client when the resource is created. The
|
2594
2630
|
# name must be 1-63 characters long, and comply with RFC1035. Specifically, the
|
2595
2631
|
# name must be 1-63 characters long and match the regular expression `[a-z]([-a-
|
@@ -2600,6 +2636,11 @@ module Google
|
|
2600
2636
|
# @return [String]
|
2601
2637
|
attr_accessor :name
|
2602
2638
|
|
2639
|
+
# Settings controlling eviction of unhealthy hosts from the load balancing pool.
|
2640
|
+
# Corresponds to the JSON property `outlierDetection`
|
2641
|
+
# @return [Google::Apis::ComputeV1::OutlierDetection]
|
2642
|
+
attr_accessor :outlier_detection
|
2643
|
+
|
2603
2644
|
# Deprecated in favor of portName. The TCP port to connect on the backend. The
|
2604
2645
|
# default value is 80.
|
2605
2646
|
# This cannot be used if the loadBalancingScheme is INTERNAL (Internal TCP/UDP
|
@@ -2675,7 +2716,9 @@ module Google
|
|
2675
2716
|
@affinity_cookie_ttl_sec = args[:affinity_cookie_ttl_sec] if args.key?(:affinity_cookie_ttl_sec)
|
2676
2717
|
@backends = args[:backends] if args.key?(:backends)
|
2677
2718
|
@cdn_policy = args[:cdn_policy] if args.key?(:cdn_policy)
|
2719
|
+
@circuit_breakers = args[:circuit_breakers] if args.key?(:circuit_breakers)
|
2678
2720
|
@connection_draining = args[:connection_draining] if args.key?(:connection_draining)
|
2721
|
+
@consistent_hash = args[:consistent_hash] if args.key?(:consistent_hash)
|
2679
2722
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
2680
2723
|
@custom_request_headers = args[:custom_request_headers] if args.key?(:custom_request_headers)
|
2681
2724
|
@description = args[:description] if args.key?(:description)
|
@@ -2686,7 +2729,9 @@ module Google
|
|
2686
2729
|
@id = args[:id] if args.key?(:id)
|
2687
2730
|
@kind = args[:kind] if args.key?(:kind)
|
2688
2731
|
@load_balancing_scheme = args[:load_balancing_scheme] if args.key?(:load_balancing_scheme)
|
2732
|
+
@locality_lb_policy = args[:locality_lb_policy] if args.key?(:locality_lb_policy)
|
2689
2733
|
@name = args[:name] if args.key?(:name)
|
2734
|
+
@outlier_detection = args[:outlier_detection] if args.key?(:outlier_detection)
|
2690
2735
|
@port = args[:port] if args.key?(:port)
|
2691
2736
|
@port_name = args[:port_name] if args.key?(:port_name)
|
2692
2737
|
@protocol = args[:protocol] if args.key?(:protocol)
|
@@ -3275,6 +3320,55 @@ module Google
|
|
3275
3320
|
end
|
3276
3321
|
end
|
3277
3322
|
|
3323
|
+
# Settings controlling the volume of connections to a backend service.
|
3324
|
+
class CircuitBreakers
|
3325
|
+
include Google::Apis::Core::Hashable
|
3326
|
+
|
3327
|
+
# The maximum number of connections to the backend cluster. If not specified,
|
3328
|
+
# the default is 1024.
|
3329
|
+
# Corresponds to the JSON property `maxConnections`
|
3330
|
+
# @return [Fixnum]
|
3331
|
+
attr_accessor :max_connections
|
3332
|
+
|
3333
|
+
# The maximum number of pending requests allowed to the backend cluster. If not
|
3334
|
+
# specified, the default is 1024.
|
3335
|
+
# Corresponds to the JSON property `maxPendingRequests`
|
3336
|
+
# @return [Fixnum]
|
3337
|
+
attr_accessor :max_pending_requests
|
3338
|
+
|
3339
|
+
# The maximum number of parallel requests that allowed to the backend cluster.
|
3340
|
+
# If not specified, the default is 1024.
|
3341
|
+
# Corresponds to the JSON property `maxRequests`
|
3342
|
+
# @return [Fixnum]
|
3343
|
+
attr_accessor :max_requests
|
3344
|
+
|
3345
|
+
# Maximum requests for a single backend connection. This parameter is respected
|
3346
|
+
# by both the HTTP/1.1 and HTTP/2 implementations. If not specified, there is no
|
3347
|
+
# limit. Setting this parameter to 1 will effectively disable keep alive.
|
3348
|
+
# Corresponds to the JSON property `maxRequestsPerConnection`
|
3349
|
+
# @return [Fixnum]
|
3350
|
+
attr_accessor :max_requests_per_connection
|
3351
|
+
|
3352
|
+
# The maximum number of parallel retries allowed to the backend cluster. If not
|
3353
|
+
# specified, the default is 3.
|
3354
|
+
# Corresponds to the JSON property `maxRetries`
|
3355
|
+
# @return [Fixnum]
|
3356
|
+
attr_accessor :max_retries
|
3357
|
+
|
3358
|
+
def initialize(**args)
|
3359
|
+
update!(**args)
|
3360
|
+
end
|
3361
|
+
|
3362
|
+
# Update properties of this object
|
3363
|
+
def update!(**args)
|
3364
|
+
@max_connections = args[:max_connections] if args.key?(:max_connections)
|
3365
|
+
@max_pending_requests = args[:max_pending_requests] if args.key?(:max_pending_requests)
|
3366
|
+
@max_requests = args[:max_requests] if args.key?(:max_requests)
|
3367
|
+
@max_requests_per_connection = args[:max_requests_per_connection] if args.key?(:max_requests_per_connection)
|
3368
|
+
@max_retries = args[:max_retries] if args.key?(:max_retries)
|
3369
|
+
end
|
3370
|
+
end
|
3371
|
+
|
3278
3372
|
# Represents a regional Commitment resource.
|
3279
3373
|
# Creating a commitment resource means that you are purchasing a committed use
|
3280
3374
|
# contract with an explicit start and end time. You can create commitments based
|
@@ -3781,6 +3875,150 @@ module Google
|
|
3781
3875
|
end
|
3782
3876
|
end
|
3783
3877
|
|
3878
|
+
# This message defines settings for a consistent hash style load balancer.
|
3879
|
+
class ConsistentHashLoadBalancerSettings
|
3880
|
+
include Google::Apis::Core::Hashable
|
3881
|
+
|
3882
|
+
# The information about the HTTP Cookie on which the hash function is based for
|
3883
|
+
# load balancing policies that use a consistent hash.
|
3884
|
+
# Corresponds to the JSON property `httpCookie`
|
3885
|
+
# @return [Google::Apis::ComputeV1::ConsistentHashLoadBalancerSettingsHttpCookie]
|
3886
|
+
attr_accessor :http_cookie
|
3887
|
+
|
3888
|
+
# The hash based on the value of the specified header field. This field is
|
3889
|
+
# applicable if the sessionAffinity is set to HEADER_FIELD.
|
3890
|
+
# Corresponds to the JSON property `httpHeaderName`
|
3891
|
+
# @return [String]
|
3892
|
+
attr_accessor :http_header_name
|
3893
|
+
|
3894
|
+
# The minimum number of virtual nodes to use for the hash ring. Defaults to 1024.
|
3895
|
+
# Larger ring sizes result in more granular load distributions. If the number
|
3896
|
+
# of hosts in the load balancing pool is larger than the ring size, each host
|
3897
|
+
# will be assigned a single virtual node.
|
3898
|
+
# Corresponds to the JSON property `minimumRingSize`
|
3899
|
+
# @return [Fixnum]
|
3900
|
+
attr_accessor :minimum_ring_size
|
3901
|
+
|
3902
|
+
def initialize(**args)
|
3903
|
+
update!(**args)
|
3904
|
+
end
|
3905
|
+
|
3906
|
+
# Update properties of this object
|
3907
|
+
def update!(**args)
|
3908
|
+
@http_cookie = args[:http_cookie] if args.key?(:http_cookie)
|
3909
|
+
@http_header_name = args[:http_header_name] if args.key?(:http_header_name)
|
3910
|
+
@minimum_ring_size = args[:minimum_ring_size] if args.key?(:minimum_ring_size)
|
3911
|
+
end
|
3912
|
+
end
|
3913
|
+
|
3914
|
+
# The information about the HTTP Cookie on which the hash function is based for
|
3915
|
+
# load balancing policies that use a consistent hash.
|
3916
|
+
class ConsistentHashLoadBalancerSettingsHttpCookie
|
3917
|
+
include Google::Apis::Core::Hashable
|
3918
|
+
|
3919
|
+
# Name of the cookie.
|
3920
|
+
# Corresponds to the JSON property `name`
|
3921
|
+
# @return [String]
|
3922
|
+
attr_accessor :name
|
3923
|
+
|
3924
|
+
# Path to set for the cookie.
|
3925
|
+
# Corresponds to the JSON property `path`
|
3926
|
+
# @return [String]
|
3927
|
+
attr_accessor :path
|
3928
|
+
|
3929
|
+
# A Duration represents a fixed-length span of time represented as a count of
|
3930
|
+
# seconds and fractions of seconds at nanosecond resolution. It is independent
|
3931
|
+
# of any calendar and concepts like "day" or "month". Range is approximately 10,
|
3932
|
+
# 000 years.
|
3933
|
+
# Corresponds to the JSON property `ttl`
|
3934
|
+
# @return [Google::Apis::ComputeV1::Duration]
|
3935
|
+
attr_accessor :ttl
|
3936
|
+
|
3937
|
+
def initialize(**args)
|
3938
|
+
update!(**args)
|
3939
|
+
end
|
3940
|
+
|
3941
|
+
# Update properties of this object
|
3942
|
+
def update!(**args)
|
3943
|
+
@name = args[:name] if args.key?(:name)
|
3944
|
+
@path = args[:path] if args.key?(:path)
|
3945
|
+
@ttl = args[:ttl] if args.key?(:ttl)
|
3946
|
+
end
|
3947
|
+
end
|
3948
|
+
|
3949
|
+
# The specification for allowing client side cross-origin requests. Please see
|
3950
|
+
# W3C Recommendation for Cross Origin Resource Sharing
|
3951
|
+
class CorsPolicy
|
3952
|
+
include Google::Apis::Core::Hashable
|
3953
|
+
|
3954
|
+
# In response to a preflight request, setting this to true indicates that the
|
3955
|
+
# actual request can include user credentials. This translates to the Access-
|
3956
|
+
# Control-Allow-Credentials header.
|
3957
|
+
# Default is false.
|
3958
|
+
# Corresponds to the JSON property `allowCredentials`
|
3959
|
+
# @return [Boolean]
|
3960
|
+
attr_accessor :allow_credentials
|
3961
|
+
alias_method :allow_credentials?, :allow_credentials
|
3962
|
+
|
3963
|
+
# Specifies the content for the Access-Control-Allow-Headers header.
|
3964
|
+
# Corresponds to the JSON property `allowHeaders`
|
3965
|
+
# @return [Array<String>]
|
3966
|
+
attr_accessor :allow_headers
|
3967
|
+
|
3968
|
+
# Specifies the content for the Access-Control-Allow-Methods header.
|
3969
|
+
# Corresponds to the JSON property `allowMethods`
|
3970
|
+
# @return [Array<String>]
|
3971
|
+
attr_accessor :allow_methods
|
3972
|
+
|
3973
|
+
# Specifies the regualar expression patterns that match allowed origins. For
|
3974
|
+
# regular expression grammar please see en.cppreference.com/w/cpp/regex/
|
3975
|
+
# ecmascript
|
3976
|
+
# An origin is allowed if it matches either allow_origins or allow_origin_regex.
|
3977
|
+
# Corresponds to the JSON property `allowOriginRegexes`
|
3978
|
+
# @return [Array<String>]
|
3979
|
+
attr_accessor :allow_origin_regexes
|
3980
|
+
|
3981
|
+
# Specifies the list of origins that will be allowed to do CORS requests.
|
3982
|
+
# An origin is allowed if it matches either allow_origins or allow_origin_regex.
|
3983
|
+
# Corresponds to the JSON property `allowOrigins`
|
3984
|
+
# @return [Array<String>]
|
3985
|
+
attr_accessor :allow_origins
|
3986
|
+
|
3987
|
+
# If true, specifies the CORS policy is disabled. The default value of false,
|
3988
|
+
# which indicates that the CORS policy is in effect.
|
3989
|
+
# Corresponds to the JSON property `disabled`
|
3990
|
+
# @return [Boolean]
|
3991
|
+
attr_accessor :disabled
|
3992
|
+
alias_method :disabled?, :disabled
|
3993
|
+
|
3994
|
+
# Specifies the content for the Access-Control-Expose-Headers header.
|
3995
|
+
# Corresponds to the JSON property `exposeHeaders`
|
3996
|
+
# @return [Array<String>]
|
3997
|
+
attr_accessor :expose_headers
|
3998
|
+
|
3999
|
+
# Specifies how long the results of a preflight request can be cached. This
|
4000
|
+
# translates to the content for the Access-Control-Max-Age header.
|
4001
|
+
# Corresponds to the JSON property `maxAge`
|
4002
|
+
# @return [Fixnum]
|
4003
|
+
attr_accessor :max_age
|
4004
|
+
|
4005
|
+
def initialize(**args)
|
4006
|
+
update!(**args)
|
4007
|
+
end
|
4008
|
+
|
4009
|
+
# Update properties of this object
|
4010
|
+
def update!(**args)
|
4011
|
+
@allow_credentials = args[:allow_credentials] if args.key?(:allow_credentials)
|
4012
|
+
@allow_headers = args[:allow_headers] if args.key?(:allow_headers)
|
4013
|
+
@allow_methods = args[:allow_methods] if args.key?(:allow_methods)
|
4014
|
+
@allow_origin_regexes = args[:allow_origin_regexes] if args.key?(:allow_origin_regexes)
|
4015
|
+
@allow_origins = args[:allow_origins] if args.key?(:allow_origins)
|
4016
|
+
@disabled = args[:disabled] if args.key?(:disabled)
|
4017
|
+
@expose_headers = args[:expose_headers] if args.key?(:expose_headers)
|
4018
|
+
@max_age = args[:max_age] if args.key?(:max_age)
|
4019
|
+
end
|
4020
|
+
end
|
4021
|
+
|
3784
4022
|
# Represents a customer-supplied encryption key
|
3785
4023
|
class CustomerEncryptionKey
|
3786
4024
|
include Google::Apis::Core::Hashable
|
@@ -5108,6 +5346,38 @@ module Google
|
|
5108
5346
|
end
|
5109
5347
|
end
|
5110
5348
|
|
5349
|
+
# A Duration represents a fixed-length span of time represented as a count of
|
5350
|
+
# seconds and fractions of seconds at nanosecond resolution. It is independent
|
5351
|
+
# of any calendar and concepts like "day" or "month". Range is approximately 10,
|
5352
|
+
# 000 years.
|
5353
|
+
class Duration
|
5354
|
+
include Google::Apis::Core::Hashable
|
5355
|
+
|
5356
|
+
# Span of time that's a fraction of a second at nanosecond resolution. Durations
|
5357
|
+
# less than one second are represented with a 0 `seconds` field and a positive `
|
5358
|
+
# nanos` field. Must be from 0 to 999,999,999 inclusive.
|
5359
|
+
# Corresponds to the JSON property `nanos`
|
5360
|
+
# @return [Fixnum]
|
5361
|
+
attr_accessor :nanos
|
5362
|
+
|
5363
|
+
# Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
|
5364
|
+
# inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24
|
5365
|
+
# hr/day * 365.25 days/year * 10000 years
|
5366
|
+
# Corresponds to the JSON property `seconds`
|
5367
|
+
# @return [Fixnum]
|
5368
|
+
attr_accessor :seconds
|
5369
|
+
|
5370
|
+
def initialize(**args)
|
5371
|
+
update!(**args)
|
5372
|
+
end
|
5373
|
+
|
5374
|
+
# Update properties of this object
|
5375
|
+
def update!(**args)
|
5376
|
+
@nanos = args[:nanos] if args.key?(:nanos)
|
5377
|
+
@seconds = args[:seconds] if args.key?(:seconds)
|
5378
|
+
end
|
5379
|
+
end
|
5380
|
+
|
5111
5381
|
# Represents an expression text. Example:
|
5112
5382
|
# title: "User account presence" description: "Determines whether the request
|
5113
5383
|
# has a user account" expression: "size(request.user) > 0"
|
@@ -5951,6 +6221,23 @@ module Google
|
|
5951
6221
|
# @return [String]
|
5952
6222
|
attr_accessor :load_balancing_scheme
|
5953
6223
|
|
6224
|
+
# Opaque filter criteria used by Loadbalancer to restrict routing configuration
|
6225
|
+
# to a limited set xDS compliant clients. In their xDS requests to Loadbalancer,
|
6226
|
+
# xDS clients present node metadata. If a match takes place, the relevant
|
6227
|
+
# routing configuration is made available to those proxies.
|
6228
|
+
# For each metadataFilter in this list, if its filterMatchCriteria is set to
|
6229
|
+
# MATCH_ANY, at least one of the filterLabels must match the corresponding label
|
6230
|
+
# provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then
|
6231
|
+
# all of its filterLabels must match with corresponding labels in the provided
|
6232
|
+
# metadata.
|
6233
|
+
# metadataFilters specified here can be overridden by those specified in the
|
6234
|
+
# UrlMap that this ForwardingRule references.
|
6235
|
+
# metadataFilters only applies to Loadbalancers that have their
|
6236
|
+
# loadBalancingScheme set to INTERNAL_SELF_MANAGED.
|
6237
|
+
# Corresponds to the JSON property `metadataFilters`
|
6238
|
+
# @return [Array<Google::Apis::ComputeV1::MetadataFilter>]
|
6239
|
+
attr_accessor :metadata_filters
|
6240
|
+
|
5954
6241
|
# Name of the resource; provided by the client when the resource is created. The
|
5955
6242
|
# name must be 1-63 characters long, and comply with RFC1035. Specifically, the
|
5956
6243
|
# name must be 1-63 characters long and match the regular expression `[a-z]([-a-
|
@@ -6085,6 +6372,7 @@ module Google
|
|
6085
6372
|
@ip_version = args[:ip_version] if args.key?(:ip_version)
|
6086
6373
|
@kind = args[:kind] if args.key?(:kind)
|
6087
6374
|
@load_balancing_scheme = args[:load_balancing_scheme] if args.key?(:load_balancing_scheme)
|
6375
|
+
@metadata_filters = args[:metadata_filters] if args.key?(:metadata_filters)
|
6088
6376
|
@name = args[:name] if args.key?(:name)
|
6089
6377
|
@network = args[:network] if args.key?(:network)
|
6090
6378
|
@network_tier = args[:network_tier] if args.key?(:network_tier)
|
@@ -7483,6 +7771,258 @@ module Google
|
|
7483
7771
|
end
|
7484
7772
|
end
|
7485
7773
|
|
7774
|
+
# Specification for how requests are aborted as part of fault injection.
|
7775
|
+
class HttpFaultAbort
|
7776
|
+
include Google::Apis::Core::Hashable
|
7777
|
+
|
7778
|
+
# The HTTP status code used to abort the request.
|
7779
|
+
# The value must be between 200 and 599 inclusive.
|
7780
|
+
# Corresponds to the JSON property `httpStatus`
|
7781
|
+
# @return [Fixnum]
|
7782
|
+
attr_accessor :http_status
|
7783
|
+
|
7784
|
+
# The percentage of traffic (connections/operations/requests) which will be
|
7785
|
+
# aborted as part of fault injection.
|
7786
|
+
# The value must be between 0.0 and 100.0 inclusive.
|
7787
|
+
# Corresponds to the JSON property `percentage`
|
7788
|
+
# @return [Float]
|
7789
|
+
attr_accessor :percentage
|
7790
|
+
|
7791
|
+
def initialize(**args)
|
7792
|
+
update!(**args)
|
7793
|
+
end
|
7794
|
+
|
7795
|
+
# Update properties of this object
|
7796
|
+
def update!(**args)
|
7797
|
+
@http_status = args[:http_status] if args.key?(:http_status)
|
7798
|
+
@percentage = args[:percentage] if args.key?(:percentage)
|
7799
|
+
end
|
7800
|
+
end
|
7801
|
+
|
7802
|
+
# Specifies the delay introduced by Loadbalancer before forwarding the request
|
7803
|
+
# to the backend service as part of fault injection.
|
7804
|
+
class HttpFaultDelay
|
7805
|
+
include Google::Apis::Core::Hashable
|
7806
|
+
|
7807
|
+
# A Duration represents a fixed-length span of time represented as a count of
|
7808
|
+
# seconds and fractions of seconds at nanosecond resolution. It is independent
|
7809
|
+
# of any calendar and concepts like "day" or "month". Range is approximately 10,
|
7810
|
+
# 000 years.
|
7811
|
+
# Corresponds to the JSON property `fixedDelay`
|
7812
|
+
# @return [Google::Apis::ComputeV1::Duration]
|
7813
|
+
attr_accessor :fixed_delay
|
7814
|
+
|
7815
|
+
# The percentage of traffic (connections/operations/requests) on which delay
|
7816
|
+
# will be introduced as part of fault injection.
|
7817
|
+
# The value must be between 0.0 and 100.0 inclusive.
|
7818
|
+
# Corresponds to the JSON property `percentage`
|
7819
|
+
# @return [Float]
|
7820
|
+
attr_accessor :percentage
|
7821
|
+
|
7822
|
+
def initialize(**args)
|
7823
|
+
update!(**args)
|
7824
|
+
end
|
7825
|
+
|
7826
|
+
# Update properties of this object
|
7827
|
+
def update!(**args)
|
7828
|
+
@fixed_delay = args[:fixed_delay] if args.key?(:fixed_delay)
|
7829
|
+
@percentage = args[:percentage] if args.key?(:percentage)
|
7830
|
+
end
|
7831
|
+
end
|
7832
|
+
|
7833
|
+
# The specification for fault injection introduced into traffic to test the
|
7834
|
+
# resiliency of clients to backend service failure. As part of fault injection,
|
7835
|
+
# when clients send requests to a backend service, delays can be introduced by
|
7836
|
+
# Loadbalancer on a percentage of requests before sending those request to the
|
7837
|
+
# backend service. Similarly requests from clients can be aborted by the
|
7838
|
+
# Loadbalancer for a percentage of requests.
|
7839
|
+
class HttpFaultInjection
|
7840
|
+
include Google::Apis::Core::Hashable
|
7841
|
+
|
7842
|
+
# Specification for how requests are aborted as part of fault injection.
|
7843
|
+
# Corresponds to the JSON property `abort`
|
7844
|
+
# @return [Google::Apis::ComputeV1::HttpFaultAbort]
|
7845
|
+
attr_accessor :abort
|
7846
|
+
|
7847
|
+
# Specifies the delay introduced by Loadbalancer before forwarding the request
|
7848
|
+
# to the backend service as part of fault injection.
|
7849
|
+
# Corresponds to the JSON property `delay`
|
7850
|
+
# @return [Google::Apis::ComputeV1::HttpFaultDelay]
|
7851
|
+
attr_accessor :delay
|
7852
|
+
|
7853
|
+
def initialize(**args)
|
7854
|
+
update!(**args)
|
7855
|
+
end
|
7856
|
+
|
7857
|
+
# Update properties of this object
|
7858
|
+
def update!(**args)
|
7859
|
+
@abort = args[:abort] if args.key?(:abort)
|
7860
|
+
@delay = args[:delay] if args.key?(:delay)
|
7861
|
+
end
|
7862
|
+
end
|
7863
|
+
|
7864
|
+
# The request and response header transformations that take effect before the
|
7865
|
+
# request is passed along to the selected backendService.
|
7866
|
+
class HttpHeaderAction
|
7867
|
+
include Google::Apis::Core::Hashable
|
7868
|
+
|
7869
|
+
# Headers to add to a matching request prior to forwarding the request to the
|
7870
|
+
# backendService.
|
7871
|
+
# Corresponds to the JSON property `requestHeadersToAdd`
|
7872
|
+
# @return [Array<Google::Apis::ComputeV1::HttpHeaderOption>]
|
7873
|
+
attr_accessor :request_headers_to_add
|
7874
|
+
|
7875
|
+
# A list of header names for headers that need to be removed from the request
|
7876
|
+
# prior to forwarding the request to the backendService.
|
7877
|
+
# Corresponds to the JSON property `requestHeadersToRemove`
|
7878
|
+
# @return [Array<String>]
|
7879
|
+
attr_accessor :request_headers_to_remove
|
7880
|
+
|
7881
|
+
# Headers to add the response prior to sending the response back to the client.
|
7882
|
+
# Corresponds to the JSON property `responseHeadersToAdd`
|
7883
|
+
# @return [Array<Google::Apis::ComputeV1::HttpHeaderOption>]
|
7884
|
+
attr_accessor :response_headers_to_add
|
7885
|
+
|
7886
|
+
# A list of header names for headers that need to be removed from the response
|
7887
|
+
# prior to sending the response back to the client.
|
7888
|
+
# Corresponds to the JSON property `responseHeadersToRemove`
|
7889
|
+
# @return [Array<String>]
|
7890
|
+
attr_accessor :response_headers_to_remove
|
7891
|
+
|
7892
|
+
def initialize(**args)
|
7893
|
+
update!(**args)
|
7894
|
+
end
|
7895
|
+
|
7896
|
+
# Update properties of this object
|
7897
|
+
def update!(**args)
|
7898
|
+
@request_headers_to_add = args[:request_headers_to_add] if args.key?(:request_headers_to_add)
|
7899
|
+
@request_headers_to_remove = args[:request_headers_to_remove] if args.key?(:request_headers_to_remove)
|
7900
|
+
@response_headers_to_add = args[:response_headers_to_add] if args.key?(:response_headers_to_add)
|
7901
|
+
@response_headers_to_remove = args[:response_headers_to_remove] if args.key?(:response_headers_to_remove)
|
7902
|
+
end
|
7903
|
+
end
|
7904
|
+
|
7905
|
+
# matchRule criteria for request header matches.
|
7906
|
+
class HttpHeaderMatch
|
7907
|
+
include Google::Apis::Core::Hashable
|
7908
|
+
|
7909
|
+
# The value should exactly match contents of exactMatch.
|
7910
|
+
# Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or
|
7911
|
+
# rangeMatch must be set.
|
7912
|
+
# Corresponds to the JSON property `exactMatch`
|
7913
|
+
# @return [String]
|
7914
|
+
attr_accessor :exact_match
|
7915
|
+
|
7916
|
+
# The name of the HTTP header to match.
|
7917
|
+
# For matching against the HTTP request's authority, use a headerMatch with the
|
7918
|
+
# header name ":authority".
|
7919
|
+
# For matching a request's method, use the headerName ":method".
|
7920
|
+
# Corresponds to the JSON property `headerName`
|
7921
|
+
# @return [String]
|
7922
|
+
attr_accessor :header_name
|
7923
|
+
|
7924
|
+
# If set to false, the headerMatch is considered a match if the match criteria
|
7925
|
+
# above are met. If set to true, the headerMatch is considered a match if the
|
7926
|
+
# match criteria above are NOT met.
|
7927
|
+
# The default setting is false.
|
7928
|
+
# Corresponds to the JSON property `invertMatch`
|
7929
|
+
# @return [Boolean]
|
7930
|
+
attr_accessor :invert_match
|
7931
|
+
alias_method :invert_match?, :invert_match
|
7932
|
+
|
7933
|
+
# The value of the header must start with the contents of prefixMatch.
|
7934
|
+
# Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or
|
7935
|
+
# rangeMatch must be set.
|
7936
|
+
# Corresponds to the JSON property `prefixMatch`
|
7937
|
+
# @return [String]
|
7938
|
+
attr_accessor :prefix_match
|
7939
|
+
|
7940
|
+
# A header with the contents of headerName must exist. The match takes place
|
7941
|
+
# whether or not the request's header has a value or not.
|
7942
|
+
# Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or
|
7943
|
+
# rangeMatch must be set.
|
7944
|
+
# Corresponds to the JSON property `presentMatch`
|
7945
|
+
# @return [Boolean]
|
7946
|
+
attr_accessor :present_match
|
7947
|
+
alias_method :present_match?, :present_match
|
7948
|
+
|
7949
|
+
# HttpRouteRuleMatch criteria for field values that must stay within the
|
7950
|
+
# specified integer range.
|
7951
|
+
# Corresponds to the JSON property `rangeMatch`
|
7952
|
+
# @return [Google::Apis::ComputeV1::Int64RangeMatch]
|
7953
|
+
attr_accessor :range_match
|
7954
|
+
|
7955
|
+
# The value of the header must match the regualar expression specified in
|
7956
|
+
# regexMatch. For regular expression grammar, please see: en.cppreference.com/w/
|
7957
|
+
# cpp/regex/ecmascript
|
7958
|
+
# For matching against a port specified in the HTTP request, use a headerMatch
|
7959
|
+
# with headerName set to PORT and a regular expression that satisfies the
|
7960
|
+
# RFC2616 Host header's port specifier.
|
7961
|
+
# Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or
|
7962
|
+
# rangeMatch must be set.
|
7963
|
+
# Corresponds to the JSON property `regexMatch`
|
7964
|
+
# @return [String]
|
7965
|
+
attr_accessor :regex_match
|
7966
|
+
|
7967
|
+
# The value of the header must end with the contents of suffixMatch.
|
7968
|
+
# Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or
|
7969
|
+
# rangeMatch must be set.
|
7970
|
+
# Corresponds to the JSON property `suffixMatch`
|
7971
|
+
# @return [String]
|
7972
|
+
attr_accessor :suffix_match
|
7973
|
+
|
7974
|
+
def initialize(**args)
|
7975
|
+
update!(**args)
|
7976
|
+
end
|
7977
|
+
|
7978
|
+
# Update properties of this object
|
7979
|
+
def update!(**args)
|
7980
|
+
@exact_match = args[:exact_match] if args.key?(:exact_match)
|
7981
|
+
@header_name = args[:header_name] if args.key?(:header_name)
|
7982
|
+
@invert_match = args[:invert_match] if args.key?(:invert_match)
|
7983
|
+
@prefix_match = args[:prefix_match] if args.key?(:prefix_match)
|
7984
|
+
@present_match = args[:present_match] if args.key?(:present_match)
|
7985
|
+
@range_match = args[:range_match] if args.key?(:range_match)
|
7986
|
+
@regex_match = args[:regex_match] if args.key?(:regex_match)
|
7987
|
+
@suffix_match = args[:suffix_match] if args.key?(:suffix_match)
|
7988
|
+
end
|
7989
|
+
end
|
7990
|
+
|
7991
|
+
# Specification determining how headers are added to requests or responses.
|
7992
|
+
class HttpHeaderOption
|
7993
|
+
include Google::Apis::Core::Hashable
|
7994
|
+
|
7995
|
+
# The name of the header.
|
7996
|
+
# Corresponds to the JSON property `headerName`
|
7997
|
+
# @return [String]
|
7998
|
+
attr_accessor :header_name
|
7999
|
+
|
8000
|
+
# The value of the header to add.
|
8001
|
+
# Corresponds to the JSON property `headerValue`
|
8002
|
+
# @return [String]
|
8003
|
+
attr_accessor :header_value
|
8004
|
+
|
8005
|
+
# If false, headerValue is appended to any values that already exist for the
|
8006
|
+
# header. If true, headerValue is set for the header, discarding any values that
|
8007
|
+
# were set for that header.
|
8008
|
+
# The default value is false.
|
8009
|
+
# Corresponds to the JSON property `replace`
|
8010
|
+
# @return [Boolean]
|
8011
|
+
attr_accessor :replace
|
8012
|
+
alias_method :replace?, :replace
|
8013
|
+
|
8014
|
+
def initialize(**args)
|
8015
|
+
update!(**args)
|
8016
|
+
end
|
8017
|
+
|
8018
|
+
# Update properties of this object
|
8019
|
+
def update!(**args)
|
8020
|
+
@header_name = args[:header_name] if args.key?(:header_name)
|
8021
|
+
@header_value = args[:header_value] if args.key?(:header_value)
|
8022
|
+
@replace = args[:replace] if args.key?(:replace)
|
8023
|
+
end
|
8024
|
+
end
|
8025
|
+
|
7486
8026
|
# Represents a legacy HTTP Health Check resource.
|
7487
8027
|
# Legacy health checks are required by network load balancers. For more
|
7488
8028
|
# information, read Health Check Concepts.
|
@@ -7708,6 +8248,400 @@ module Google
|
|
7708
8248
|
end
|
7709
8249
|
end
|
7710
8250
|
|
8251
|
+
# HttpRouteRuleMatch criteria for a request's query parameter.
|
8252
|
+
class HttpQueryParameterMatch
|
8253
|
+
include Google::Apis::Core::Hashable
|
8254
|
+
|
8255
|
+
# The queryParameterMatch matches if the value of the parameter exactly matches
|
8256
|
+
# the contents of exactMatch.
|
8257
|
+
# Only one of presentMatch, exactMatch and regexMatch must be set.
|
8258
|
+
# Corresponds to the JSON property `exactMatch`
|
8259
|
+
# @return [String]
|
8260
|
+
attr_accessor :exact_match
|
8261
|
+
|
8262
|
+
# The name of the query parameter to match. The query parameter must exist in
|
8263
|
+
# the request, in the absence of which the request match fails.
|
8264
|
+
# Corresponds to the JSON property `name`
|
8265
|
+
# @return [String]
|
8266
|
+
attr_accessor :name
|
8267
|
+
|
8268
|
+
# Specifies that the queryParameterMatch matches if the request contains the
|
8269
|
+
# query parameter, irrespective of whether the parameter has a value or not.
|
8270
|
+
# Only one of presentMatch, exactMatch and regexMatch must be set.
|
8271
|
+
# Corresponds to the JSON property `presentMatch`
|
8272
|
+
# @return [Boolean]
|
8273
|
+
attr_accessor :present_match
|
8274
|
+
alias_method :present_match?, :present_match
|
8275
|
+
|
8276
|
+
# The queryParameterMatch matches if the value of the parameter matches the
|
8277
|
+
# regular expression specified by regexMatch. For the regular expression grammar,
|
8278
|
+
# please see en.cppreference.com/w/cpp/regex/ecmascript
|
8279
|
+
# Only one of presentMatch, exactMatch and regexMatch must be set.
|
8280
|
+
# Corresponds to the JSON property `regexMatch`
|
8281
|
+
# @return [String]
|
8282
|
+
attr_accessor :regex_match
|
8283
|
+
|
8284
|
+
def initialize(**args)
|
8285
|
+
update!(**args)
|
8286
|
+
end
|
8287
|
+
|
8288
|
+
# Update properties of this object
|
8289
|
+
def update!(**args)
|
8290
|
+
@exact_match = args[:exact_match] if args.key?(:exact_match)
|
8291
|
+
@name = args[:name] if args.key?(:name)
|
8292
|
+
@present_match = args[:present_match] if args.key?(:present_match)
|
8293
|
+
@regex_match = args[:regex_match] if args.key?(:regex_match)
|
8294
|
+
end
|
8295
|
+
end
|
8296
|
+
|
8297
|
+
# Specifies settings for an HTTP redirect.
|
8298
|
+
class HttpRedirectAction
|
8299
|
+
include Google::Apis::Core::Hashable
|
8300
|
+
|
8301
|
+
# The host that will be used in the redirect response instead of the one that
|
8302
|
+
# was supplied in the request.
|
8303
|
+
# The value must be between 1 and 255 characters.
|
8304
|
+
# Corresponds to the JSON property `hostRedirect`
|
8305
|
+
# @return [String]
|
8306
|
+
attr_accessor :host_redirect
|
8307
|
+
|
8308
|
+
# If set to true, the URL scheme in the redirected request is set to https. If
|
8309
|
+
# set to false, the URL scheme of the redirected request will remain the same as
|
8310
|
+
# that of the request.
|
8311
|
+
# This must only be set for UrlMaps used in TargetHttpProxys. Setting this true
|
8312
|
+
# for TargetHttpsProxy is not permitted.
|
8313
|
+
# The default is set to false.
|
8314
|
+
# Corresponds to the JSON property `httpsRedirect`
|
8315
|
+
# @return [Boolean]
|
8316
|
+
attr_accessor :https_redirect
|
8317
|
+
alias_method :https_redirect?, :https_redirect
|
8318
|
+
|
8319
|
+
# The path that will be used in the redirect response instead of the one that
|
8320
|
+
# was supplied in the request.
|
8321
|
+
# Only one of pathRedirect or prefixRedirect must be specified.
|
8322
|
+
# The value must be between 1 and 1024 characters.
|
8323
|
+
# Corresponds to the JSON property `pathRedirect`
|
8324
|
+
# @return [String]
|
8325
|
+
attr_accessor :path_redirect
|
8326
|
+
|
8327
|
+
# The prefix that replaces the prefixMatch specified in the HttpRouteRuleMatch,
|
8328
|
+
# retaining the remaining portion of the URL before redirecting the request.
|
8329
|
+
# Corresponds to the JSON property `prefixRedirect`
|
8330
|
+
# @return [String]
|
8331
|
+
attr_accessor :prefix_redirect
|
8332
|
+
|
8333
|
+
# The HTTP Status code to use for this RedirectAction.
|
8334
|
+
# Supported values are:
|
8335
|
+
# - MOVED_PERMANENTLY_DEFAULT, which is the default value and corresponds to 301.
|
8336
|
+
#
|
8337
|
+
# - FOUND, which corresponds to 302.
|
8338
|
+
# - SEE_OTHER which corresponds to 303.
|
8339
|
+
# - TEMPORARY_REDIRECT, which corresponds to 307. In this case, the request
|
8340
|
+
# method will be retained.
|
8341
|
+
# - PERMANENT_REDIRECT, which corresponds to 308. In this case, the request
|
8342
|
+
# method will be retained.
|
8343
|
+
# Corresponds to the JSON property `redirectResponseCode`
|
8344
|
+
# @return [String]
|
8345
|
+
attr_accessor :redirect_response_code
|
8346
|
+
|
8347
|
+
# If set to true, any accompanying query portion of the original URL is removed
|
8348
|
+
# prior to redirecting the request. If set to false, the query portion of the
|
8349
|
+
# original URL is retained.
|
8350
|
+
# The default is set to false.
|
8351
|
+
# Corresponds to the JSON property `stripQuery`
|
8352
|
+
# @return [Boolean]
|
8353
|
+
attr_accessor :strip_query
|
8354
|
+
alias_method :strip_query?, :strip_query
|
8355
|
+
|
8356
|
+
def initialize(**args)
|
8357
|
+
update!(**args)
|
8358
|
+
end
|
8359
|
+
|
8360
|
+
# Update properties of this object
|
8361
|
+
def update!(**args)
|
8362
|
+
@host_redirect = args[:host_redirect] if args.key?(:host_redirect)
|
8363
|
+
@https_redirect = args[:https_redirect] if args.key?(:https_redirect)
|
8364
|
+
@path_redirect = args[:path_redirect] if args.key?(:path_redirect)
|
8365
|
+
@prefix_redirect = args[:prefix_redirect] if args.key?(:prefix_redirect)
|
8366
|
+
@redirect_response_code = args[:redirect_response_code] if args.key?(:redirect_response_code)
|
8367
|
+
@strip_query = args[:strip_query] if args.key?(:strip_query)
|
8368
|
+
end
|
8369
|
+
end
|
8370
|
+
|
8371
|
+
# The retry policy associates with HttpRouteRule
|
8372
|
+
class HttpRetryPolicy
|
8373
|
+
include Google::Apis::Core::Hashable
|
8374
|
+
|
8375
|
+
# Specifies the allowed number retries. This number must be > 0.
|
8376
|
+
# Corresponds to the JSON property `numRetries`
|
8377
|
+
# @return [Fixnum]
|
8378
|
+
attr_accessor :num_retries
|
8379
|
+
|
8380
|
+
# A Duration represents a fixed-length span of time represented as a count of
|
8381
|
+
# seconds and fractions of seconds at nanosecond resolution. It is independent
|
8382
|
+
# of any calendar and concepts like "day" or "month". Range is approximately 10,
|
8383
|
+
# 000 years.
|
8384
|
+
# Corresponds to the JSON property `perTryTimeout`
|
8385
|
+
# @return [Google::Apis::ComputeV1::Duration]
|
8386
|
+
attr_accessor :per_try_timeout
|
8387
|
+
|
8388
|
+
# Specfies one or more conditions when this retry rule applies. Valid values are:
|
8389
|
+
#
|
8390
|
+
# - 5xx: Loadbalancer will attempt a retry if the backend service responds with
|
8391
|
+
# any 5xx response code, or if the backend service does not respond at all,
|
8392
|
+
# example: disconnects, reset, read timeout, connection failure, and refused
|
8393
|
+
# streams.
|
8394
|
+
# - gateway-error: Similar to 5xx, but only applies to response codes 502, 503
|
8395
|
+
# or 504.
|
8396
|
+
# -
|
8397
|
+
# - connect-failure: Loadbalancer will retry on failures connecting to backend
|
8398
|
+
# services, for example due to connection timeouts.
|
8399
|
+
# - retriable-4xx: Loadbalancer will retry for retriable 4xx response codes.
|
8400
|
+
# Currently the only retriable error supported is 409.
|
8401
|
+
# - refused-stream:Loadbalancer will retry if the backend service resets the
|
8402
|
+
# stream with a REFUSED_STREAM error code. This reset type indicates that it is
|
8403
|
+
# safe to retry.
|
8404
|
+
# - cancelledLoadbalancer will retry if the gRPC status code in the response
|
8405
|
+
# header is set to cancelled
|
8406
|
+
# - deadline-exceeded: Loadbalancer will retry if the gRPC status code in the
|
8407
|
+
# response header is set to deadline-exceeded
|
8408
|
+
# - resource-exhausted: Loadbalancer will retry if the gRPC status code in the
|
8409
|
+
# response header is set to resource-exhausted
|
8410
|
+
# - unavailable: Loadbalancer will retry if the gRPC status code in the response
|
8411
|
+
# header is set to unavailable
|
8412
|
+
# Corresponds to the JSON property `retryConditions`
|
8413
|
+
# @return [Array<String>]
|
8414
|
+
attr_accessor :retry_conditions
|
8415
|
+
|
8416
|
+
def initialize(**args)
|
8417
|
+
update!(**args)
|
8418
|
+
end
|
8419
|
+
|
8420
|
+
# Update properties of this object
|
8421
|
+
def update!(**args)
|
8422
|
+
@num_retries = args[:num_retries] if args.key?(:num_retries)
|
8423
|
+
@per_try_timeout = args[:per_try_timeout] if args.key?(:per_try_timeout)
|
8424
|
+
@retry_conditions = args[:retry_conditions] if args.key?(:retry_conditions)
|
8425
|
+
end
|
8426
|
+
end
|
8427
|
+
|
8428
|
+
#
|
8429
|
+
class HttpRouteAction
|
8430
|
+
include Google::Apis::Core::Hashable
|
8431
|
+
|
8432
|
+
# The specification for allowing client side cross-origin requests. Please see
|
8433
|
+
# W3C Recommendation for Cross Origin Resource Sharing
|
8434
|
+
# Corresponds to the JSON property `corsPolicy`
|
8435
|
+
# @return [Google::Apis::ComputeV1::CorsPolicy]
|
8436
|
+
attr_accessor :cors_policy
|
8437
|
+
|
8438
|
+
# The specification for fault injection introduced into traffic to test the
|
8439
|
+
# resiliency of clients to backend service failure. As part of fault injection,
|
8440
|
+
# when clients send requests to a backend service, delays can be introduced by
|
8441
|
+
# Loadbalancer on a percentage of requests before sending those request to the
|
8442
|
+
# backend service. Similarly requests from clients can be aborted by the
|
8443
|
+
# Loadbalancer for a percentage of requests.
|
8444
|
+
# Corresponds to the JSON property `faultInjectionPolicy`
|
8445
|
+
# @return [Google::Apis::ComputeV1::HttpFaultInjection]
|
8446
|
+
attr_accessor :fault_injection_policy
|
8447
|
+
|
8448
|
+
# A policy that specifies how requests intended for the route's backends are
|
8449
|
+
# shadowed to a separate mirrored backend service. Loadbalancer does not wait
|
8450
|
+
# for responses from the shadow service. Prior to sending traffic to the shadow
|
8451
|
+
# service, the host / authority header is suffixed with -shadow.
|
8452
|
+
# Corresponds to the JSON property `requestMirrorPolicy`
|
8453
|
+
# @return [Google::Apis::ComputeV1::RequestMirrorPolicy]
|
8454
|
+
attr_accessor :request_mirror_policy
|
8455
|
+
|
8456
|
+
# The retry policy associates with HttpRouteRule
|
8457
|
+
# Corresponds to the JSON property `retryPolicy`
|
8458
|
+
# @return [Google::Apis::ComputeV1::HttpRetryPolicy]
|
8459
|
+
attr_accessor :retry_policy
|
8460
|
+
|
8461
|
+
# A Duration represents a fixed-length span of time represented as a count of
|
8462
|
+
# seconds and fractions of seconds at nanosecond resolution. It is independent
|
8463
|
+
# of any calendar and concepts like "day" or "month". Range is approximately 10,
|
8464
|
+
# 000 years.
|
8465
|
+
# Corresponds to the JSON property `timeout`
|
8466
|
+
# @return [Google::Apis::ComputeV1::Duration]
|
8467
|
+
attr_accessor :timeout
|
8468
|
+
|
8469
|
+
# The spec for modifying the path before sending the request to the matched
|
8470
|
+
# backend service.
|
8471
|
+
# Corresponds to the JSON property `urlRewrite`
|
8472
|
+
# @return [Google::Apis::ComputeV1::UrlRewrite]
|
8473
|
+
attr_accessor :url_rewrite
|
8474
|
+
|
8475
|
+
# A list of weighted backend services to send traffic to when a route match
|
8476
|
+
# occurs. The weights determine the fraction of traffic that flows to their
|
8477
|
+
# corresponding backend service. If all traffic needs to go to a single backend
|
8478
|
+
# service, there must be one weightedBackendService with weight set to a non 0
|
8479
|
+
# number.
|
8480
|
+
# Once a backendService is identified and before forwarding the request to the
|
8481
|
+
# backend service, advanced routing actions like Url rewrites and header
|
8482
|
+
# transformations are applied depending on additional settings specified in this
|
8483
|
+
# HttpRouteAction.
|
8484
|
+
# Corresponds to the JSON property `weightedBackendServices`
|
8485
|
+
# @return [Array<Google::Apis::ComputeV1::WeightedBackendService>]
|
8486
|
+
attr_accessor :weighted_backend_services
|
8487
|
+
|
8488
|
+
def initialize(**args)
|
8489
|
+
update!(**args)
|
8490
|
+
end
|
8491
|
+
|
8492
|
+
# Update properties of this object
|
8493
|
+
def update!(**args)
|
8494
|
+
@cors_policy = args[:cors_policy] if args.key?(:cors_policy)
|
8495
|
+
@fault_injection_policy = args[:fault_injection_policy] if args.key?(:fault_injection_policy)
|
8496
|
+
@request_mirror_policy = args[:request_mirror_policy] if args.key?(:request_mirror_policy)
|
8497
|
+
@retry_policy = args[:retry_policy] if args.key?(:retry_policy)
|
8498
|
+
@timeout = args[:timeout] if args.key?(:timeout)
|
8499
|
+
@url_rewrite = args[:url_rewrite] if args.key?(:url_rewrite)
|
8500
|
+
@weighted_backend_services = args[:weighted_backend_services] if args.key?(:weighted_backend_services)
|
8501
|
+
end
|
8502
|
+
end
|
8503
|
+
|
8504
|
+
# An HttpRouteRule specifies how to match an HTTP request and the corresponding
|
8505
|
+
# routing action that load balancing proxies will perform.
|
8506
|
+
class HttpRouteRule
|
8507
|
+
include Google::Apis::Core::Hashable
|
8508
|
+
|
8509
|
+
# The request and response header transformations that take effect before the
|
8510
|
+
# request is passed along to the selected backendService.
|
8511
|
+
# Corresponds to the JSON property `headerAction`
|
8512
|
+
# @return [Google::Apis::ComputeV1::HttpHeaderAction]
|
8513
|
+
attr_accessor :header_action
|
8514
|
+
|
8515
|
+
#
|
8516
|
+
# Corresponds to the JSON property `matchRules`
|
8517
|
+
# @return [Array<Google::Apis::ComputeV1::HttpRouteRuleMatch>]
|
8518
|
+
attr_accessor :match_rules
|
8519
|
+
|
8520
|
+
# In response to a matching matchRule, the load balancer performs advanced
|
8521
|
+
# routing actions like URL rewrites, header transformations, etc. prior to
|
8522
|
+
# forwarding the request to the selected backend. If routeAction specifies any
|
8523
|
+
# weightedBackendServices, service must not be set. Conversely if service is set,
|
8524
|
+
# routeAction cannot contain any weightedBackendServices.
|
8525
|
+
# Only one of routeAction or urlRedirect must be set.
|
8526
|
+
# Corresponds to the JSON property `routeAction`
|
8527
|
+
# @return [Google::Apis::ComputeV1::HttpRouteAction]
|
8528
|
+
attr_accessor :route_action
|
8529
|
+
|
8530
|
+
# The full or partial URL of the backend service resource to which traffic is
|
8531
|
+
# directed if this rule is matched. If routeAction is additionally specified,
|
8532
|
+
# advanced routing actions like URL Rewrites, etc. take effect prior to sending
|
8533
|
+
# the request to the backend. However, if service is specified, routeAction
|
8534
|
+
# cannot contain any weightedBackendService s. Conversely, if routeAction
|
8535
|
+
# specifies any weightedBackendServices, service must not be specified.
|
8536
|
+
# Only one of urlRedirect, service or routeAction.weightedBackendService must be
|
8537
|
+
# set.
|
8538
|
+
# Corresponds to the JSON property `service`
|
8539
|
+
# @return [String]
|
8540
|
+
attr_accessor :service
|
8541
|
+
|
8542
|
+
# Specifies settings for an HTTP redirect.
|
8543
|
+
# Corresponds to the JSON property `urlRedirect`
|
8544
|
+
# @return [Google::Apis::ComputeV1::HttpRedirectAction]
|
8545
|
+
attr_accessor :url_redirect
|
8546
|
+
|
8547
|
+
def initialize(**args)
|
8548
|
+
update!(**args)
|
8549
|
+
end
|
8550
|
+
|
8551
|
+
# Update properties of this object
|
8552
|
+
def update!(**args)
|
8553
|
+
@header_action = args[:header_action] if args.key?(:header_action)
|
8554
|
+
@match_rules = args[:match_rules] if args.key?(:match_rules)
|
8555
|
+
@route_action = args[:route_action] if args.key?(:route_action)
|
8556
|
+
@service = args[:service] if args.key?(:service)
|
8557
|
+
@url_redirect = args[:url_redirect] if args.key?(:url_redirect)
|
8558
|
+
end
|
8559
|
+
end
|
8560
|
+
|
8561
|
+
# HttpRouteRuleMatch specifies a set of criteria for matching requests to an
|
8562
|
+
# HttpRouteRule. All specified criteria must be satisfied for a match to occur.
|
8563
|
+
class HttpRouteRuleMatch
|
8564
|
+
include Google::Apis::Core::Hashable
|
8565
|
+
|
8566
|
+
# For satifying the matchRule condition, the path of the request must exactly
|
8567
|
+
# match the value specified in fullPathMatch after removing any query parameters
|
8568
|
+
# and anchor that may be part of the original URL.
|
8569
|
+
# FullPathMatch must be between 1 and 1024 characters.
|
8570
|
+
# Only one of prefixMatch, fullPathMatch or regexMatch must be specified.
|
8571
|
+
# Corresponds to the JSON property `fullPathMatch`
|
8572
|
+
# @return [String]
|
8573
|
+
attr_accessor :full_path_match
|
8574
|
+
|
8575
|
+
# Specifies a list of header match criteria, all of which must match
|
8576
|
+
# corresponding headers in the request.
|
8577
|
+
# Corresponds to the JSON property `headerMatches`
|
8578
|
+
# @return [Array<Google::Apis::ComputeV1::HttpHeaderMatch>]
|
8579
|
+
attr_accessor :header_matches
|
8580
|
+
|
8581
|
+
# Specifies that prefixMatch and fullPathMatch matches are case sensitive.
|
8582
|
+
# The default value is false.
|
8583
|
+
# caseSensitive must not be used with regexMatch.
|
8584
|
+
# Corresponds to the JSON property `ignoreCase`
|
8585
|
+
# @return [Boolean]
|
8586
|
+
attr_accessor :ignore_case
|
8587
|
+
alias_method :ignore_case?, :ignore_case
|
8588
|
+
|
8589
|
+
# Opaque filter criteria used by Loadbalancer to restrict routing configuration
|
8590
|
+
# to a limited set xDS compliant clients. In their xDS requests to Loadbalancer,
|
8591
|
+
# xDS clients present node metadata. If a match takes place, the relevant
|
8592
|
+
# routing configuration is made available to those proxies.
|
8593
|
+
# For each metadataFilter in this list, if its filterMatchCriteria is set to
|
8594
|
+
# MATCH_ANY, at least one of the filterLabels must match the corresponding label
|
8595
|
+
# provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then
|
8596
|
+
# all of its filterLabels must match with corresponding labels in the provided
|
8597
|
+
# metadata.
|
8598
|
+
# metadataFilters specified here can be overrides those specified in
|
8599
|
+
# ForwardingRule that refers to this UrlMap.
|
8600
|
+
# metadataFilters only applies to Loadbalancers that have their
|
8601
|
+
# loadBalancingScheme set to INTERNAL_SELF_MANAGED.
|
8602
|
+
# Corresponds to the JSON property `metadataFilters`
|
8603
|
+
# @return [Array<Google::Apis::ComputeV1::MetadataFilter>]
|
8604
|
+
attr_accessor :metadata_filters
|
8605
|
+
|
8606
|
+
# For satifying the matchRule condition, the request's path must begin with the
|
8607
|
+
# specified prefixMatch. prefixMatch must begin with a /.
|
8608
|
+
# The value must be between 1 and 1024 characters.
|
8609
|
+
# Only one of prefixMatch, fullPathMatch or regexMatch must be specified.
|
8610
|
+
# Corresponds to the JSON property `prefixMatch`
|
8611
|
+
# @return [String]
|
8612
|
+
attr_accessor :prefix_match
|
8613
|
+
|
8614
|
+
# Specifies a list of query parameter match criteria, all of which must match
|
8615
|
+
# corresponding query parameters in the request.
|
8616
|
+
# Corresponds to the JSON property `queryParameterMatches`
|
8617
|
+
# @return [Array<Google::Apis::ComputeV1::HttpQueryParameterMatch>]
|
8618
|
+
attr_accessor :query_parameter_matches
|
8619
|
+
|
8620
|
+
# For satifying the matchRule condition, the path of the request must satisfy
|
8621
|
+
# the regular expression specified in regexMatch after removing any query
|
8622
|
+
# parameters and anchor supplied with the original URL. For regular expression
|
8623
|
+
# grammar please see en.cppreference.com/w/cpp/regex/ecmascript
|
8624
|
+
# Only one of prefixMatch, fullPathMatch or regexMatch must be specified.
|
8625
|
+
# Corresponds to the JSON property `regexMatch`
|
8626
|
+
# @return [String]
|
8627
|
+
attr_accessor :regex_match
|
8628
|
+
|
8629
|
+
def initialize(**args)
|
8630
|
+
update!(**args)
|
8631
|
+
end
|
8632
|
+
|
8633
|
+
# Update properties of this object
|
8634
|
+
def update!(**args)
|
8635
|
+
@full_path_match = args[:full_path_match] if args.key?(:full_path_match)
|
8636
|
+
@header_matches = args[:header_matches] if args.key?(:header_matches)
|
8637
|
+
@ignore_case = args[:ignore_case] if args.key?(:ignore_case)
|
8638
|
+
@metadata_filters = args[:metadata_filters] if args.key?(:metadata_filters)
|
8639
|
+
@prefix_match = args[:prefix_match] if args.key?(:prefix_match)
|
8640
|
+
@query_parameter_matches = args[:query_parameter_matches] if args.key?(:query_parameter_matches)
|
8641
|
+
@regex_match = args[:regex_match] if args.key?(:regex_match)
|
8642
|
+
end
|
8643
|
+
end
|
8644
|
+
|
7711
8645
|
# Represents a legacy HTTPS Health Check resource.
|
7712
8646
|
# Legacy health checks are required by network load balancers. For more
|
7713
8647
|
# information, read Health Check Concepts.
|
@@ -11048,6 +11982,32 @@ module Google
|
|
11048
11982
|
end
|
11049
11983
|
end
|
11050
11984
|
|
11985
|
+
# HttpRouteRuleMatch criteria for field values that must stay within the
|
11986
|
+
# specified integer range.
|
11987
|
+
class Int64RangeMatch
|
11988
|
+
include Google::Apis::Core::Hashable
|
11989
|
+
|
11990
|
+
# The end of the range (exclusive) in signed long integer format.
|
11991
|
+
# Corresponds to the JSON property `rangeEnd`
|
11992
|
+
# @return [Fixnum]
|
11993
|
+
attr_accessor :range_end
|
11994
|
+
|
11995
|
+
# The start of the range (inclusive) in signed long integer format.
|
11996
|
+
# Corresponds to the JSON property `rangeStart`
|
11997
|
+
# @return [Fixnum]
|
11998
|
+
attr_accessor :range_start
|
11999
|
+
|
12000
|
+
def initialize(**args)
|
12001
|
+
update!(**args)
|
12002
|
+
end
|
12003
|
+
|
12004
|
+
# Update properties of this object
|
12005
|
+
def update!(**args)
|
12006
|
+
@range_end = args[:range_end] if args.key?(:range_end)
|
12007
|
+
@range_start = args[:range_start] if args.key?(:range_start)
|
12008
|
+
end
|
12009
|
+
end
|
12010
|
+
|
11051
12011
|
# Represents an Interconnect resource.
|
11052
12012
|
# An Interconnect resource is a dedicated connection between the GCP network and
|
11053
12013
|
# your on-premises network. For more information, read the Dedicated
|
@@ -13728,6 +14688,82 @@ module Google
|
|
13728
14688
|
end
|
13729
14689
|
end
|
13730
14690
|
|
14691
|
+
# Opaque filter criteria used by loadbalancers to restrict routing configuration
|
14692
|
+
# to a limited set of loadbalancing proxies. Proxies and sidecars involved in
|
14693
|
+
# loadbalancing would typically present metadata to the loadbalancers which need
|
14694
|
+
# to match criteria specified here. If a match takes place, the relevant routing
|
14695
|
+
# configuration is made available to those proxies.
|
14696
|
+
# For each metadataFilter in this list, if its filterMatchCriteria is set to
|
14697
|
+
# MATCH_ANY, at least one of the filterLabels must match the corresponding label
|
14698
|
+
# provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then
|
14699
|
+
# all of its filterLabels must match with corresponding labels in the provided
|
14700
|
+
# metadata.
|
14701
|
+
# An example for using metadataFilters would be: if loadbalancing involves
|
14702
|
+
# Envoys, they will only receive routing configuration when values in
|
14703
|
+
# metadataFilters match values supplied in <a href="https://www.envoyproxy.io/
|
14704
|
+
# docs/envoy/latest/api-v2/api/v2/core/base.proto#envoy-api-msg-core-node" Node
|
14705
|
+
# metadata of their XDS requests to loadbalancers.
|
14706
|
+
class MetadataFilter
|
14707
|
+
include Google::Apis::Core::Hashable
|
14708
|
+
|
14709
|
+
# The list of label value pairs that must match labels in the provided metadata
|
14710
|
+
# based on filterMatchCriteria
|
14711
|
+
# This list must not be empty and can have at the most 64 entries.
|
14712
|
+
# Corresponds to the JSON property `filterLabels`
|
14713
|
+
# @return [Array<Google::Apis::ComputeV1::MetadataFilterLabelMatch>]
|
14714
|
+
attr_accessor :filter_labels
|
14715
|
+
|
14716
|
+
# Specifies how individual filterLabel matches within the list of filterLabels
|
14717
|
+
# contribute towards the overall metadataFilter match.
|
14718
|
+
# Supported values are:
|
14719
|
+
# - MATCH_ANY: At least one of the filterLabels must have a matching label in
|
14720
|
+
# the provided metadata.
|
14721
|
+
# - MATCH_ALL: All filterLabels must have matching labels in the provided
|
14722
|
+
# metadata.
|
14723
|
+
# Corresponds to the JSON property `filterMatchCriteria`
|
14724
|
+
# @return [String]
|
14725
|
+
attr_accessor :filter_match_criteria
|
14726
|
+
|
14727
|
+
def initialize(**args)
|
14728
|
+
update!(**args)
|
14729
|
+
end
|
14730
|
+
|
14731
|
+
# Update properties of this object
|
14732
|
+
def update!(**args)
|
14733
|
+
@filter_labels = args[:filter_labels] if args.key?(:filter_labels)
|
14734
|
+
@filter_match_criteria = args[:filter_match_criteria] if args.key?(:filter_match_criteria)
|
14735
|
+
end
|
14736
|
+
end
|
14737
|
+
|
14738
|
+
# MetadataFilter label name value pairs that are expected to match corresponding
|
14739
|
+
# labels presented as metadata to the loadbalancer.
|
14740
|
+
class MetadataFilterLabelMatch
|
14741
|
+
include Google::Apis::Core::Hashable
|
14742
|
+
|
14743
|
+
# Name of metadata label.
|
14744
|
+
# The name can have a maximum length of 1024 characters and must be at least 1
|
14745
|
+
# character long.
|
14746
|
+
# Corresponds to the JSON property `name`
|
14747
|
+
# @return [String]
|
14748
|
+
attr_accessor :name
|
14749
|
+
|
14750
|
+
# The value of the label must match the specified value.
|
14751
|
+
# value can have a maximum length of 1024 characters.
|
14752
|
+
# Corresponds to the JSON property `value`
|
14753
|
+
# @return [String]
|
14754
|
+
attr_accessor :value
|
14755
|
+
|
14756
|
+
def initialize(**args)
|
14757
|
+
update!(**args)
|
14758
|
+
end
|
14759
|
+
|
14760
|
+
# Update properties of this object
|
14761
|
+
def update!(**args)
|
14762
|
+
@name = args[:name] if args.key?(:name)
|
14763
|
+
@value = args[:value] if args.key?(:value)
|
14764
|
+
end
|
14765
|
+
end
|
14766
|
+
|
13731
14767
|
# The named port. For example: .
|
13732
14768
|
class NamedPort
|
13733
14769
|
include Google::Apis::Core::Hashable
|
@@ -17079,12 +18115,131 @@ module Google
|
|
17079
18115
|
end
|
17080
18116
|
end
|
17081
18117
|
|
18118
|
+
# Settings controlling eviction of unhealthy hosts from the load balancing pool.
|
18119
|
+
class OutlierDetection
|
18120
|
+
include Google::Apis::Core::Hashable
|
18121
|
+
|
18122
|
+
# A Duration represents a fixed-length span of time represented as a count of
|
18123
|
+
# seconds and fractions of seconds at nanosecond resolution. It is independent
|
18124
|
+
# of any calendar and concepts like "day" or "month". Range is approximately 10,
|
18125
|
+
# 000 years.
|
18126
|
+
# Corresponds to the JSON property `baseEjectionTime`
|
18127
|
+
# @return [Google::Apis::ComputeV1::Duration]
|
18128
|
+
attr_accessor :base_ejection_time
|
18129
|
+
|
18130
|
+
# Number of errors before a host is ejected from the connection pool. When the
|
18131
|
+
# backend host is accessed over HTTP, a 5xx return code qualifies as an error.
|
18132
|
+
# Defaults to 5.
|
18133
|
+
# Corresponds to the JSON property `consecutiveErrors`
|
18134
|
+
# @return [Fixnum]
|
18135
|
+
attr_accessor :consecutive_errors
|
18136
|
+
|
18137
|
+
# The number of consecutive gateway failures (502, 503, 504 status or connection
|
18138
|
+
# errors that are mapped to one of those status codes) before a consecutive
|
18139
|
+
# gateway failure ejection occurs. Defaults to 5.
|
18140
|
+
# Corresponds to the JSON property `consecutiveGatewayFailure`
|
18141
|
+
# @return [Fixnum]
|
18142
|
+
attr_accessor :consecutive_gateway_failure
|
18143
|
+
|
18144
|
+
# The percentage chance that a host will be actually ejected when an outlier
|
18145
|
+
# status is detected through consecutive 5xx. This setting can be used to
|
18146
|
+
# disable ejection or to ramp it up slowly. Defaults to 100.
|
18147
|
+
# Corresponds to the JSON property `enforcingConsecutiveErrors`
|
18148
|
+
# @return [Fixnum]
|
18149
|
+
attr_accessor :enforcing_consecutive_errors
|
18150
|
+
|
18151
|
+
# The percentage chance that a host will be actually ejected when an outlier
|
18152
|
+
# status is detected through consecutive gateway failures. This setting can be
|
18153
|
+
# used to disable ejection or to ramp it up slowly. Defaults to 0.
|
18154
|
+
# Corresponds to the JSON property `enforcingConsecutiveGatewayFailure`
|
18155
|
+
# @return [Fixnum]
|
18156
|
+
attr_accessor :enforcing_consecutive_gateway_failure
|
18157
|
+
|
18158
|
+
# The percentage chance that a host will be actually ejected when an outlier
|
18159
|
+
# status is detected through success rate statistics. This setting can be used
|
18160
|
+
# to disable ejection or to ramp it up slowly. Defaults to 100.
|
18161
|
+
# Corresponds to the JSON property `enforcingSuccessRate`
|
18162
|
+
# @return [Fixnum]
|
18163
|
+
attr_accessor :enforcing_success_rate
|
18164
|
+
|
18165
|
+
# A Duration represents a fixed-length span of time represented as a count of
|
18166
|
+
# seconds and fractions of seconds at nanosecond resolution. It is independent
|
18167
|
+
# of any calendar and concepts like "day" or "month". Range is approximately 10,
|
18168
|
+
# 000 years.
|
18169
|
+
# Corresponds to the JSON property `interval`
|
18170
|
+
# @return [Google::Apis::ComputeV1::Duration]
|
18171
|
+
attr_accessor :interval
|
18172
|
+
|
18173
|
+
# Maximum percentage of hosts in the load balancing pool for the backend service
|
18174
|
+
# that can be ejected. Defaults to 10%.
|
18175
|
+
# Corresponds to the JSON property `maxEjectionPercent`
|
18176
|
+
# @return [Fixnum]
|
18177
|
+
attr_accessor :max_ejection_percent
|
18178
|
+
|
18179
|
+
# The number of hosts in a cluster that must have enough request volume to
|
18180
|
+
# detect success rate outliers. If the number of hosts is less than this setting,
|
18181
|
+
# outlier detection via success rate statistics is not performed for any host
|
18182
|
+
# in the cluster. Defaults to 5.
|
18183
|
+
# Corresponds to the JSON property `successRateMinimumHosts`
|
18184
|
+
# @return [Fixnum]
|
18185
|
+
attr_accessor :success_rate_minimum_hosts
|
18186
|
+
|
18187
|
+
# The minimum number of total requests that must be collected in one interval (
|
18188
|
+
# as defined by the interval duration above) to include this host in success
|
18189
|
+
# rate based outlier detection. If the volume is lower than this setting,
|
18190
|
+
# outlier detection via success rate statistics is not performed for that host.
|
18191
|
+
# Defaults to 100.
|
18192
|
+
# Corresponds to the JSON property `successRateRequestVolume`
|
18193
|
+
# @return [Fixnum]
|
18194
|
+
attr_accessor :success_rate_request_volume
|
18195
|
+
|
18196
|
+
# This factor is used to determine the ejection threshold for success rate
|
18197
|
+
# outlier ejection. The ejection threshold is the difference between the mean
|
18198
|
+
# success rate, and the product of this factor and the standard deviation of the
|
18199
|
+
# mean success rate: mean - (stdev * success_rate_stdev_factor). This factor is
|
18200
|
+
# divided by a thousand to get a double. That is, if the desired factor is 1.9,
|
18201
|
+
# the runtime value should be 1900. Defaults to 1900.
|
18202
|
+
# Corresponds to the JSON property `successRateStdevFactor`
|
18203
|
+
# @return [Fixnum]
|
18204
|
+
attr_accessor :success_rate_stdev_factor
|
18205
|
+
|
18206
|
+
def initialize(**args)
|
18207
|
+
update!(**args)
|
18208
|
+
end
|
18209
|
+
|
18210
|
+
# Update properties of this object
|
18211
|
+
def update!(**args)
|
18212
|
+
@base_ejection_time = args[:base_ejection_time] if args.key?(:base_ejection_time)
|
18213
|
+
@consecutive_errors = args[:consecutive_errors] if args.key?(:consecutive_errors)
|
18214
|
+
@consecutive_gateway_failure = args[:consecutive_gateway_failure] if args.key?(:consecutive_gateway_failure)
|
18215
|
+
@enforcing_consecutive_errors = args[:enforcing_consecutive_errors] if args.key?(:enforcing_consecutive_errors)
|
18216
|
+
@enforcing_consecutive_gateway_failure = args[:enforcing_consecutive_gateway_failure] if args.key?(:enforcing_consecutive_gateway_failure)
|
18217
|
+
@enforcing_success_rate = args[:enforcing_success_rate] if args.key?(:enforcing_success_rate)
|
18218
|
+
@interval = args[:interval] if args.key?(:interval)
|
18219
|
+
@max_ejection_percent = args[:max_ejection_percent] if args.key?(:max_ejection_percent)
|
18220
|
+
@success_rate_minimum_hosts = args[:success_rate_minimum_hosts] if args.key?(:success_rate_minimum_hosts)
|
18221
|
+
@success_rate_request_volume = args[:success_rate_request_volume] if args.key?(:success_rate_request_volume)
|
18222
|
+
@success_rate_stdev_factor = args[:success_rate_stdev_factor] if args.key?(:success_rate_stdev_factor)
|
18223
|
+
end
|
18224
|
+
end
|
18225
|
+
|
17082
18226
|
# A matcher for the path portion of the URL. The BackendService from the longest-
|
17083
18227
|
# matched rule will serve the URL. If no rule was matched, the default service
|
17084
18228
|
# will be used.
|
17085
18229
|
class PathMatcher
|
17086
18230
|
include Google::Apis::Core::Hashable
|
17087
18231
|
|
18232
|
+
# defaultRouteAction takes effect when none of the pathRules or routeRules
|
18233
|
+
# match. The load balancer performs advanced routing actions like URL rewrites,
|
18234
|
+
# header transformations, etc. prior to forwarding the request to the selected
|
18235
|
+
# backend. If defaultRouteAction specifies any weightedBackendServices,
|
18236
|
+
# defaultService must not be set. Conversely if defaultService is set,
|
18237
|
+
# defaultRouteAction cannot contain any weightedBackendServices.
|
18238
|
+
# Only one of defaultRouteAction or defaultUrlRedirect must be set.
|
18239
|
+
# Corresponds to the JSON property `defaultRouteAction`
|
18240
|
+
# @return [Google::Apis::ComputeV1::HttpRouteAction]
|
18241
|
+
attr_accessor :default_route_action
|
18242
|
+
|
17088
18243
|
# The full or partial URL to the BackendService resource. This will be used if
|
17089
18244
|
# none of the pathRules or routeRules defined by this PathMatcher are matched.
|
17090
18245
|
# For example, the following are all valid URLs to a BackendService resource:
|
@@ -17107,12 +18262,23 @@ module Google
|
|
17107
18262
|
# @return [String]
|
17108
18263
|
attr_accessor :default_service
|
17109
18264
|
|
18265
|
+
# Specifies settings for an HTTP redirect.
|
18266
|
+
# Corresponds to the JSON property `defaultUrlRedirect`
|
18267
|
+
# @return [Google::Apis::ComputeV1::HttpRedirectAction]
|
18268
|
+
attr_accessor :default_url_redirect
|
18269
|
+
|
17110
18270
|
# An optional description of this resource. Provide this property when you
|
17111
18271
|
# create the resource.
|
17112
18272
|
# Corresponds to the JSON property `description`
|
17113
18273
|
# @return [String]
|
17114
18274
|
attr_accessor :description
|
17115
18275
|
|
18276
|
+
# The request and response header transformations that take effect before the
|
18277
|
+
# request is passed along to the selected backendService.
|
18278
|
+
# Corresponds to the JSON property `headerAction`
|
18279
|
+
# @return [Google::Apis::ComputeV1::HttpHeaderAction]
|
18280
|
+
attr_accessor :header_action
|
18281
|
+
|
17116
18282
|
# The name to which this PathMatcher is referred by the HostRule.
|
17117
18283
|
# Corresponds to the JSON property `name`
|
17118
18284
|
# @return [String]
|
@@ -17124,21 +18290,35 @@ module Google
|
|
17124
18290
|
# first basis.
|
17125
18291
|
# For example: a pathRule with a path /a/b/c/* will match before /a/b/*
|
17126
18292
|
# irrespective of the order in which those paths appear in this list.
|
17127
|
-
#
|
18293
|
+
# Within a given pathMatcher, only one of pathRules or routeRules must be set.
|
17128
18294
|
# Corresponds to the JSON property `pathRules`
|
17129
18295
|
# @return [Array<Google::Apis::ComputeV1::PathRule>]
|
17130
18296
|
attr_accessor :path_rules
|
17131
18297
|
|
18298
|
+
# The list of ordered HTTP route rules. Use this list instead of pathRules when
|
18299
|
+
# advanced route matching and routing actions are desired. The order of
|
18300
|
+
# specifying routeRules matters: the first rule that matches will cause its
|
18301
|
+
# specified routing action to take effect.
|
18302
|
+
# Within a given pathMatcher, only one of pathRules or routeRules must be set.
|
18303
|
+
# routeRules are not supported in UrlMaps intended for External Load balancers.
|
18304
|
+
# Corresponds to the JSON property `routeRules`
|
18305
|
+
# @return [Array<Google::Apis::ComputeV1::HttpRouteRule>]
|
18306
|
+
attr_accessor :route_rules
|
18307
|
+
|
17132
18308
|
def initialize(**args)
|
17133
18309
|
update!(**args)
|
17134
18310
|
end
|
17135
18311
|
|
17136
18312
|
# Update properties of this object
|
17137
18313
|
def update!(**args)
|
18314
|
+
@default_route_action = args[:default_route_action] if args.key?(:default_route_action)
|
17138
18315
|
@default_service = args[:default_service] if args.key?(:default_service)
|
18316
|
+
@default_url_redirect = args[:default_url_redirect] if args.key?(:default_url_redirect)
|
17139
18317
|
@description = args[:description] if args.key?(:description)
|
18318
|
+
@header_action = args[:header_action] if args.key?(:header_action)
|
17140
18319
|
@name = args[:name] if args.key?(:name)
|
17141
18320
|
@path_rules = args[:path_rules] if args.key?(:path_rules)
|
18321
|
+
@route_rules = args[:route_rules] if args.key?(:route_rules)
|
17142
18322
|
end
|
17143
18323
|
end
|
17144
18324
|
|
@@ -17155,6 +18335,16 @@ module Google
|
|
17155
18335
|
# @return [Array<String>]
|
17156
18336
|
attr_accessor :paths
|
17157
18337
|
|
18338
|
+
# In response to a matching path, the load balancer performs advanced routing
|
18339
|
+
# actions like URL rewrites, header transformations, etc. prior to forwarding
|
18340
|
+
# the request to the selected backend. If routeAction specifies any
|
18341
|
+
# weightedBackendServices, service must not be set. Conversely if service is set,
|
18342
|
+
# routeAction cannot contain any weightedBackendServices.
|
18343
|
+
# Only one of routeAction or urlRedirect must be set.
|
18344
|
+
# Corresponds to the JSON property `routeAction`
|
18345
|
+
# @return [Google::Apis::ComputeV1::HttpRouteAction]
|
18346
|
+
attr_accessor :route_action
|
18347
|
+
|
17158
18348
|
# The full or partial URL of the backend service resource to which traffic is
|
17159
18349
|
# directed if this rule is matched. If routeAction is additionally specified,
|
17160
18350
|
# advanced routing actions like URL Rewrites, etc. take effect prior to sending
|
@@ -17167,6 +18357,11 @@ module Google
|
|
17167
18357
|
# @return [String]
|
17168
18358
|
attr_accessor :service
|
17169
18359
|
|
18360
|
+
# Specifies settings for an HTTP redirect.
|
18361
|
+
# Corresponds to the JSON property `urlRedirect`
|
18362
|
+
# @return [Google::Apis::ComputeV1::HttpRedirectAction]
|
18363
|
+
attr_accessor :url_redirect
|
18364
|
+
|
17170
18365
|
def initialize(**args)
|
17171
18366
|
update!(**args)
|
17172
18367
|
end
|
@@ -17174,7 +18369,9 @@ module Google
|
|
17174
18369
|
# Update properties of this object
|
17175
18370
|
def update!(**args)
|
17176
18371
|
@paths = args[:paths] if args.key?(:paths)
|
18372
|
+
@route_action = args[:route_action] if args.key?(:route_action)
|
17177
18373
|
@service = args[:service] if args.key?(:service)
|
18374
|
+
@url_redirect = args[:url_redirect] if args.key?(:url_redirect)
|
17178
18375
|
end
|
17179
18376
|
end
|
17180
18377
|
|
@@ -17240,7 +18437,12 @@ module Google
|
|
17240
18437
|
# @return [Array<Google::Apis::ComputeV1::Rule>]
|
17241
18438
|
attr_accessor :rules
|
17242
18439
|
|
17243
|
-
#
|
18440
|
+
# Specifies the format of the policy.
|
18441
|
+
# Valid values are 0, 1, and 3. Requests specifying an invalid value will be
|
18442
|
+
# rejected.
|
18443
|
+
# Policies with any conditional bindings must specify version 3. Policies
|
18444
|
+
# without any conditional bindings may specify any valid value or leave the
|
18445
|
+
# field unset.
|
17244
18446
|
# Corresponds to the JSON property `version`
|
17245
18447
|
# @return [Fixnum]
|
17246
18448
|
attr_accessor :version
|
@@ -18706,6 +19908,28 @@ module Google
|
|
18706
19908
|
end
|
18707
19909
|
end
|
18708
19910
|
|
19911
|
+
# A policy that specifies how requests intended for the route's backends are
|
19912
|
+
# shadowed to a separate mirrored backend service. Loadbalancer does not wait
|
19913
|
+
# for responses from the shadow service. Prior to sending traffic to the shadow
|
19914
|
+
# service, the host / authority header is suffixed with -shadow.
|
19915
|
+
class RequestMirrorPolicy
|
19916
|
+
include Google::Apis::Core::Hashable
|
19917
|
+
|
19918
|
+
# The full or partial URL to the BackendService resource being mirrored to.
|
19919
|
+
# Corresponds to the JSON property `backendService`
|
19920
|
+
# @return [String]
|
19921
|
+
attr_accessor :backend_service
|
19922
|
+
|
19923
|
+
def initialize(**args)
|
19924
|
+
update!(**args)
|
19925
|
+
end
|
19926
|
+
|
19927
|
+
# Update properties of this object
|
19928
|
+
def update!(**args)
|
19929
|
+
@backend_service = args[:backend_service] if args.key?(:backend_service)
|
19930
|
+
end
|
19931
|
+
end
|
19932
|
+
|
18709
19933
|
# Represents a reservation resource. A reservation ensures that capacity is held
|
18710
19934
|
# in a specific zone even if the reserved VMs are not running. For more
|
18711
19935
|
# information, read Reserving zonal resources. (== resource_for beta.
|
@@ -26618,6 +27842,17 @@ module Google
|
|
26618
27842
|
# @return [String]
|
26619
27843
|
attr_accessor :creation_timestamp
|
26620
27844
|
|
27845
|
+
# defaultRouteAction takes effect when none of the hostRules match. The load
|
27846
|
+
# balancer performs advanced routing actions like URL rewrites, header
|
27847
|
+
# transformations, etc. prior to forwarding the request to the selected backend.
|
27848
|
+
# If defaultRouteAction specifies any weightedBackendServices, defaultService
|
27849
|
+
# must not be set. Conversely if defaultService is set, defaultRouteAction
|
27850
|
+
# cannot contain any weightedBackendServices.
|
27851
|
+
# Only one of defaultRouteAction or defaultUrlRedirect must be set.
|
27852
|
+
# Corresponds to the JSON property `defaultRouteAction`
|
27853
|
+
# @return [Google::Apis::ComputeV1::HttpRouteAction]
|
27854
|
+
attr_accessor :default_route_action
|
27855
|
+
|
26621
27856
|
# The full or partial URL of the defaultService resource to which traffic is
|
26622
27857
|
# directed if none of the hostRules match. If defaultRouteAction is additionally
|
26623
27858
|
# specified, advanced routing actions like URL Rewrites, etc. take effect prior
|
@@ -26631,6 +27866,11 @@ module Google
|
|
26631
27866
|
# @return [String]
|
26632
27867
|
attr_accessor :default_service
|
26633
27868
|
|
27869
|
+
# Specifies settings for an HTTP redirect.
|
27870
|
+
# Corresponds to the JSON property `defaultUrlRedirect`
|
27871
|
+
# @return [Google::Apis::ComputeV1::HttpRedirectAction]
|
27872
|
+
attr_accessor :default_url_redirect
|
27873
|
+
|
26634
27874
|
# An optional description of this resource. Provide this property when you
|
26635
27875
|
# create the resource.
|
26636
27876
|
# Corresponds to the JSON property `description`
|
@@ -26648,6 +27888,12 @@ module Google
|
|
26648
27888
|
# @return [String]
|
26649
27889
|
attr_accessor :fingerprint
|
26650
27890
|
|
27891
|
+
# The request and response header transformations that take effect before the
|
27892
|
+
# request is passed along to the selected backendService.
|
27893
|
+
# Corresponds to the JSON property `headerAction`
|
27894
|
+
# @return [Google::Apis::ComputeV1::HttpHeaderAction]
|
27895
|
+
attr_accessor :header_action
|
27896
|
+
|
26651
27897
|
# The list of HostRules to use against the URL.
|
26652
27898
|
# Corresponds to the JSON property `hostRules`
|
26653
27899
|
# @return [Array<Google::Apis::ComputeV1::HostRule>]
|
@@ -26705,9 +27951,12 @@ module Google
|
|
26705
27951
|
# Update properties of this object
|
26706
27952
|
def update!(**args)
|
26707
27953
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
27954
|
+
@default_route_action = args[:default_route_action] if args.key?(:default_route_action)
|
26708
27955
|
@default_service = args[:default_service] if args.key?(:default_service)
|
27956
|
+
@default_url_redirect = args[:default_url_redirect] if args.key?(:default_url_redirect)
|
26709
27957
|
@description = args[:description] if args.key?(:description)
|
26710
27958
|
@fingerprint = args[:fingerprint] if args.key?(:fingerprint)
|
27959
|
+
@header_action = args[:header_action] if args.key?(:header_action)
|
26711
27960
|
@host_rules = args[:host_rules] if args.key?(:host_rules)
|
26712
27961
|
@id = args[:id] if args.key?(:id)
|
26713
27962
|
@kind = args[:kind] if args.key?(:kind)
|
@@ -27185,6 +28434,36 @@ module Google
|
|
27185
28434
|
end
|
27186
28435
|
end
|
27187
28436
|
|
28437
|
+
# The spec for modifying the path before sending the request to the matched
|
28438
|
+
# backend service.
|
28439
|
+
class UrlRewrite
|
28440
|
+
include Google::Apis::Core::Hashable
|
28441
|
+
|
28442
|
+
# Prior to forwarding the request to the selected service, the request's host
|
28443
|
+
# header is replaced with contents of hostRewrite.
|
28444
|
+
# The value must be between 1 and 255 characters.
|
28445
|
+
# Corresponds to the JSON property `hostRewrite`
|
28446
|
+
# @return [String]
|
28447
|
+
attr_accessor :host_rewrite
|
28448
|
+
|
28449
|
+
# Prior to forwarding the request to the selected backend service, the matching
|
28450
|
+
# portion of the request's path is replaced by pathPrefixRewrite.
|
28451
|
+
# The value must be between 1 and 1024 characters.
|
28452
|
+
# Corresponds to the JSON property `pathPrefixRewrite`
|
28453
|
+
# @return [String]
|
28454
|
+
attr_accessor :path_prefix_rewrite
|
28455
|
+
|
28456
|
+
def initialize(**args)
|
28457
|
+
update!(**args)
|
28458
|
+
end
|
28459
|
+
|
28460
|
+
# Update properties of this object
|
28461
|
+
def update!(**args)
|
28462
|
+
@host_rewrite = args[:host_rewrite] if args.key?(:host_rewrite)
|
28463
|
+
@path_prefix_rewrite = args[:path_prefix_rewrite] if args.key?(:path_prefix_rewrite)
|
28464
|
+
end
|
28465
|
+
end
|
28466
|
+
|
27188
28467
|
# Subnetwork which the current user has compute.subnetworks.use permission on.
|
27189
28468
|
class UsableSubnetwork
|
27190
28469
|
include Google::Apis::Core::Hashable
|
@@ -28685,6 +29964,50 @@ module Google
|
|
28685
29964
|
end
|
28686
29965
|
end
|
28687
29966
|
|
29967
|
+
# In contrast to a single BackendService in HttpRouteAction to which all
|
29968
|
+
# matching traffic is directed to, WeightedBackendService allows traffic to be
|
29969
|
+
# split across multiple BackendServices. The volume of traffic for each
|
29970
|
+
# BackendService is proportional to the weight specified in each
|
29971
|
+
# WeightedBackendService
|
29972
|
+
class WeightedBackendService
|
29973
|
+
include Google::Apis::Core::Hashable
|
29974
|
+
|
29975
|
+
# The full or partial URL to the default BackendService resource. Before
|
29976
|
+
# forwarding the request to backendService, the loadbalancer applies any
|
29977
|
+
# relevant headerActions specified as part of this backendServiceWeight.
|
29978
|
+
# Corresponds to the JSON property `backendService`
|
29979
|
+
# @return [String]
|
29980
|
+
attr_accessor :backend_service
|
29981
|
+
|
29982
|
+
# The request and response header transformations that take effect before the
|
29983
|
+
# request is passed along to the selected backendService.
|
29984
|
+
# Corresponds to the JSON property `headerAction`
|
29985
|
+
# @return [Google::Apis::ComputeV1::HttpHeaderAction]
|
29986
|
+
attr_accessor :header_action
|
29987
|
+
|
29988
|
+
# Specifies the fraction of traffic sent to backendService, computed as weight /
|
29989
|
+
# (sum of all weightedBackendService weights in routeAction) .
|
29990
|
+
# The selection of a backend service is determined only for new traffic. Once a
|
29991
|
+
# user's request has been directed to a backendService, subsequent requests will
|
29992
|
+
# be sent to the same backendService as determined by the BackendService's
|
29993
|
+
# session affinity policy.
|
29994
|
+
# The value must be between 0 and 1000
|
29995
|
+
# Corresponds to the JSON property `weight`
|
29996
|
+
# @return [Fixnum]
|
29997
|
+
attr_accessor :weight
|
29998
|
+
|
29999
|
+
def initialize(**args)
|
30000
|
+
update!(**args)
|
30001
|
+
end
|
30002
|
+
|
30003
|
+
# Update properties of this object
|
30004
|
+
def update!(**args)
|
30005
|
+
@backend_service = args[:backend_service] if args.key?(:backend_service)
|
30006
|
+
@header_action = args[:header_action] if args.key?(:header_action)
|
30007
|
+
@weight = args[:weight] if args.key?(:weight)
|
30008
|
+
end
|
30009
|
+
end
|
30010
|
+
|
28688
30011
|
#
|
28689
30012
|
class XpnHostList
|
28690
30013
|
include Google::Apis::Core::Hashable
|