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