google-api-client 0.27.2 → 0.27.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (122) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +45 -0
  3. data/generated/google/apis/bigtableadmin_v2.rb +1 -1
  4. data/generated/google/apis/bigtableadmin_v2/classes.rb +45 -0
  5. data/generated/google/apis/bigtableadmin_v2/representations.rb +17 -0
  6. data/generated/google/apis/cloudbuild_v1alpha1.rb +1 -1
  7. data/generated/google/apis/cloudkms_v1.rb +4 -1
  8. data/generated/google/apis/cloudtrace_v2.rb +1 -1
  9. data/generated/google/apis/cloudtrace_v2/classes.rb +2 -2
  10. data/generated/google/apis/compute_alpha.rb +1 -1
  11. data/generated/google/apis/compute_alpha/classes.rb +1198 -13
  12. data/generated/google/apis/compute_alpha/representations.rb +406 -0
  13. data/generated/google/apis/compute_alpha/service.rb +200 -4
  14. data/generated/google/apis/compute_beta.rb +1 -1
  15. data/generated/google/apis/compute_beta/classes.rb +23 -9
  16. data/generated/google/apis/compute_beta/representations.rb +2 -0
  17. data/generated/google/apis/compute_beta/service.rb +41 -4
  18. data/generated/google/apis/compute_v1.rb +1 -1
  19. data/generated/google/apis/compute_v1/classes.rb +65 -6
  20. data/generated/google/apis/compute_v1/representations.rb +19 -0
  21. data/generated/google/apis/compute_v1/service.rb +4 -4
  22. data/generated/google/apis/container_v1.rb +1 -1
  23. data/generated/google/apis/container_v1/classes.rb +145 -0
  24. data/generated/google/apis/container_v1/representations.rb +54 -0
  25. data/generated/google/apis/container_v1/service.rb +69 -0
  26. data/generated/google/apis/container_v1beta1.rb +1 -1
  27. data/generated/google/apis/container_v1beta1/classes.rb +177 -0
  28. data/generated/google/apis/container_v1beta1/representations.rb +70 -0
  29. data/generated/google/apis/container_v1beta1/service.rb +69 -0
  30. data/generated/google/apis/containeranalysis_v1alpha1.rb +35 -0
  31. data/generated/google/apis/containeranalysis_v1alpha1/classes.rb +2780 -0
  32. data/generated/google/apis/containeranalysis_v1alpha1/representations.rb +1106 -0
  33. data/generated/google/apis/containeranalysis_v1alpha1/service.rb +1329 -0
  34. data/generated/google/apis/containeranalysis_v1beta1.rb +35 -0
  35. data/generated/google/apis/containeranalysis_v1beta1/classes.rb +2702 -0
  36. data/generated/google/apis/containeranalysis_v1beta1/representations.rb +1152 -0
  37. data/generated/google/apis/containeranalysis_v1beta1/service.rb +932 -0
  38. data/generated/google/apis/content_v2.rb +1 -1
  39. data/generated/google/apis/content_v2/classes.rb +84 -14
  40. data/generated/google/apis/content_v2/representations.rb +24 -0
  41. data/generated/google/apis/content_v2_1.rb +1 -1
  42. data/generated/google/apis/content_v2_1/classes.rb +70 -11
  43. data/generated/google/apis/content_v2_1/representations.rb +25 -3
  44. data/generated/google/apis/dialogflow_v2.rb +1 -1
  45. data/generated/google/apis/dialogflow_v2/classes.rb +20 -20
  46. data/generated/google/apis/dialogflow_v2/service.rb +6 -6
  47. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  48. data/generated/google/apis/dialogflow_v2beta1/classes.rb +20 -20
  49. data/generated/google/apis/dialogflow_v2beta1/service.rb +6 -6
  50. data/generated/google/apis/dns_v1.rb +1 -1
  51. data/generated/google/apis/dns_v1/classes.rb +19 -10
  52. data/generated/google/apis/dns_v1beta2.rb +1 -1
  53. data/generated/google/apis/dns_v1beta2/classes.rb +31 -22
  54. data/generated/google/apis/dns_v2beta1.rb +1 -1
  55. data/generated/google/apis/dns_v2beta1/classes.rb +19 -10
  56. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  57. data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +9 -2
  58. data/generated/google/apis/doubleclickbidmanager_v1/representations.rb +1 -0
  59. data/generated/google/apis/firebasedynamiclinks_v1.rb +1 -1
  60. data/generated/google/apis/firebasedynamiclinks_v1/classes.rb +7 -0
  61. data/generated/google/apis/firebasedynamiclinks_v1/representations.rb +1 -0
  62. data/generated/google/apis/firestore_v1.rb +1 -1
  63. data/generated/google/apis/firestore_v1/classes.rb +18 -0
  64. data/generated/google/apis/firestore_v1/representations.rb +6 -0
  65. data/generated/google/apis/firestore_v1beta1.rb +1 -1
  66. data/generated/google/apis/firestore_v1beta1/classes.rb +18 -0
  67. data/generated/google/apis/firestore_v1beta1/representations.rb +6 -0
  68. data/generated/google/apis/fitness_v1.rb +1 -1
  69. data/generated/google/apis/fitness_v1/classes.rb +2 -1
  70. data/generated/google/apis/jobs_v3p1beta1.rb +1 -1
  71. data/generated/google/apis/jobs_v3p1beta1/classes.rb +169 -0
  72. data/generated/google/apis/jobs_v3p1beta1/representations.rb +33 -0
  73. data/generated/google/apis/jobs_v3p1beta1/service.rb +32 -0
  74. data/generated/google/apis/libraryagent_v1.rb +34 -0
  75. data/generated/google/apis/libraryagent_v1/classes.rb +151 -0
  76. data/generated/google/apis/libraryagent_v1/representations.rb +86 -0
  77. data/generated/google/apis/libraryagent_v1/service.rb +265 -0
  78. data/generated/google/apis/oslogin_v1.rb +2 -2
  79. data/generated/google/apis/oslogin_v1/service.rb +1 -1
  80. data/generated/google/apis/oslogin_v1alpha.rb +2 -2
  81. data/generated/google/apis/oslogin_v1alpha/service.rb +1 -1
  82. data/generated/google/apis/oslogin_v1beta.rb +2 -2
  83. data/generated/google/apis/oslogin_v1beta/service.rb +1 -1
  84. data/generated/google/apis/remotebuildexecution_v1.rb +34 -0
  85. data/generated/google/apis/remotebuildexecution_v1/classes.rb +3858 -0
  86. data/generated/google/apis/remotebuildexecution_v1/representations.rb +1196 -0
  87. data/generated/google/apis/remotebuildexecution_v1/service.rb +374 -0
  88. data/generated/google/apis/remotebuildexecution_v1alpha.rb +34 -0
  89. data/generated/google/apis/remotebuildexecution_v1alpha/classes.rb +3709 -0
  90. data/generated/google/apis/remotebuildexecution_v1alpha/representations.rb +1113 -0
  91. data/generated/google/apis/remotebuildexecution_v1alpha/service.rb +400 -0
  92. data/generated/google/apis/remotebuildexecution_v2.rb +34 -0
  93. data/generated/google/apis/remotebuildexecution_v2/classes.rb +4460 -0
  94. data/generated/google/apis/remotebuildexecution_v2/representations.rb +1431 -0
  95. data/generated/google/apis/remotebuildexecution_v2/service.rb +542 -0
  96. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  97. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +12 -0
  98. data/generated/google/apis/serviceconsumermanagement_v1/representations.rb +2 -0
  99. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  100. data/generated/google/apis/servicenetworking_v1beta/classes.rb +12 -0
  101. data/generated/google/apis/servicenetworking_v1beta/representations.rb +2 -0
  102. data/generated/google/apis/serviceusage_v1.rb +1 -1
  103. data/generated/google/apis/serviceusage_v1/classes.rb +12 -0
  104. data/generated/google/apis/serviceusage_v1/representations.rb +2 -0
  105. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  106. data/generated/google/apis/serviceusage_v1beta1/classes.rb +12 -0
  107. data/generated/google/apis/serviceusage_v1beta1/representations.rb +2 -0
  108. data/generated/google/apis/sheets_v4.rb +1 -1
  109. data/generated/google/apis/sheets_v4/classes.rb +4 -4
  110. data/generated/google/apis/slides_v1.rb +1 -1
  111. data/generated/google/apis/slides_v1/classes.rb +5 -5
  112. data/generated/google/apis/speech_v1.rb +1 -1
  113. data/generated/google/apis/speech_v1p1beta1.rb +1 -1
  114. data/generated/google/apis/testing_v1.rb +1 -1
  115. data/generated/google/apis/testing_v1/classes.rb +9 -0
  116. data/generated/google/apis/testing_v1/representations.rb +1 -0
  117. data/generated/google/apis/websecurityscanner_v1alpha.rb +1 -1
  118. data/generated/google/apis/websecurityscanner_v1alpha/classes.rb +7 -0
  119. data/generated/google/apis/websecurityscanner_v1alpha/representations.rb +2 -0
  120. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  121. data/lib/google/apis/version.rb +1 -1
  122. metadata +26 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f78ab0ba50eafe34e75ca1061042638765f53919
4
- data.tar.gz: 0507c71722208f9850f366057c2afd0ff3fb840b
3
+ metadata.gz: e59ed4c4baed30b683d8cd65e82b43ed8c183381
4
+ data.tar.gz: 2e8ea9b7f420ba52c9936a055ebf9847b20b8b37
5
5
  SHA512:
6
- metadata.gz: a478ac31cbb2451c313b7da037b88d158fa8c1d75af35b9e2dda6b28505047f9062a6fde3d793e3033f22808d88da2000dc4e2c6d1cb5736d14c7d87996bf4ca
7
- data.tar.gz: 22951c1d3117a7d44d8f898e3201f5a0b980c569797d9e3c2e66b2a983dc5839b41928d734db490ed8ce8dd2b3187d603c0848d053f23350a6bed71c2062af30
6
+ metadata.gz: 2f0bcfc9a198d0176e54e7e9225a8b526979def062e816702d53da5bde4cd35723f3a4201fc3b51cde2712eb1d7c78125d47b9d7470aef042168fb1c64221e2a
7
+ data.tar.gz: 1ec455b3b33452e0a789fdf682bbfa26bd571dc8cfc6196edbde4124afb9af26045d41e37c2c20ed3d7a984b5e54a5cd59758441e90691311845cda3cdc63da4
@@ -1,3 +1,48 @@
1
+ # 0.27.3
2
+ * Backwards compatible changes:
3
+ * Added `containeranalysis_v1alpha1`
4
+ * Added `containeranalysis_v1beta1`
5
+ * Added `libraryagent_v1`
6
+ * Added `remotebuildexecution_v1`
7
+ * Added `remotebuildexecution_v1alpha`
8
+ * Added `remotebuildexecution_v2`
9
+ * Updated `bigtableadmin_v2`
10
+ * Updated `cloudbuild_v1alpha1`
11
+ * Updated `cloudkms_v1`
12
+ * Updated `cloudtrace_v2`
13
+ * Updated `compute_alpha`
14
+ * Updated `compute_beta`
15
+ * Updated `compute_v1`
16
+ * Updated `container_v1`
17
+ * Updated `container_v1beta1`
18
+ * Updated `content_v2`
19
+ * Updated `content_v2_1`
20
+ * Updated `dialogflow_v2`
21
+ * Updated `dialogflow_v2beta1`
22
+ * Updated `dns_v1`
23
+ * Updated `dns_v1beta2`
24
+ * Updated `dns_v2beta1`
25
+ * Updated `doubleclickbidmanager_v1`
26
+ * Updated `firebasedynamiclinks_v1`
27
+ * Updated `firestore_v1`
28
+ * Updated `firestore_v1beta1`
29
+ * Updated `fitness_v1`
30
+ * Updated `jobs_v3p1beta1`
31
+ * Updated `oslogin_v1`
32
+ * Updated `oslogin_v1alpha`
33
+ * Updated `oslogin_v1beta`
34
+ * Updated `serviceconsumermanagement_v1`
35
+ * Updated `servicenetworking_v1beta`
36
+ * Updated `serviceusage_v1`
37
+ * Updated `serviceusage_v1beta1`
38
+ * Updated `sheets_v4`
39
+ * Updated `slides_v1`
40
+ * Updated `speech_v1`
41
+ * Updated `speech_v1p1beta1`
42
+ * Updated `testing_v1`
43
+ * Updated `websecurityscanner_v1alpha`
44
+ * Updated `youtube_partner_v1`
45
+
1
46
  # 0.27.2
2
47
  * Backwards compatible changes:
3
48
  * Updated `bigquery_v2`
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://cloud.google.com/bigtable/
26
26
  module BigtableadminV2
27
27
  VERSION = 'V2'
28
- REVISION = '20181203'
28
+ REVISION = '20190106'
29
29
 
30
30
  # Administer your Cloud Bigtable tables and clusters
31
31
  AUTH_BIGTABLE_ADMIN = 'https://www.googleapis.com/auth/bigtable.admin'
@@ -399,6 +399,17 @@ module Google
399
399
  # @return [String]
400
400
  attr_accessor :request_time
401
401
 
402
+ # Keys: the full `name` of each table that existed in the instance when
403
+ # CreateCluster was first called, i.e.
404
+ # `projects/<project>/instances/<instance>/tables/<table>`. Any table added
405
+ # to the instance by a later API call will be created in the new cluster by
406
+ # that API call, not this one.
407
+ # Values: information on how much of a table's data has been copied to the
408
+ # newly-created cluster so far.
409
+ # Corresponds to the JSON property `tables`
410
+ # @return [Hash<String,Google::Apis::BigtableadminV2::TableProgress>]
411
+ attr_accessor :tables
412
+
402
413
  def initialize(**args)
403
414
  update!(**args)
404
415
  end
@@ -408,6 +419,7 @@ module Google
408
419
  @finish_time = args[:finish_time] if args.key?(:finish_time)
409
420
  @original_request = args[:original_request] if args.key?(:original_request)
410
421
  @request_time = args[:request_time] if args.key?(:request_time)
422
+ @tables = args[:tables] if args.key?(:tables)
411
423
  end
412
424
  end
413
425
 
@@ -1519,6 +1531,39 @@ module Google
1519
1531
  end
1520
1532
  end
1521
1533
 
1534
+ # Progress info for copying a table's data to the new cluster.
1535
+ class TableProgress
1536
+ include Google::Apis::Core::Hashable
1537
+
1538
+ # Estimate of the number of bytes copied so far for this table.
1539
+ # This will eventually reach 'estimated_size_bytes' unless the table copy
1540
+ # is CANCELLED.
1541
+ # Corresponds to the JSON property `estimatedCopiedBytes`
1542
+ # @return [Fixnum]
1543
+ attr_accessor :estimated_copied_bytes
1544
+
1545
+ # Estimate of the size of the table to be copied.
1546
+ # Corresponds to the JSON property `estimatedSizeBytes`
1547
+ # @return [Fixnum]
1548
+ attr_accessor :estimated_size_bytes
1549
+
1550
+ #
1551
+ # Corresponds to the JSON property `state`
1552
+ # @return [String]
1553
+ attr_accessor :state
1554
+
1555
+ def initialize(**args)
1556
+ update!(**args)
1557
+ end
1558
+
1559
+ # Update properties of this object
1560
+ def update!(**args)
1561
+ @estimated_copied_bytes = args[:estimated_copied_bytes] if args.key?(:estimated_copied_bytes)
1562
+ @estimated_size_bytes = args[:estimated_size_bytes] if args.key?(:estimated_size_bytes)
1563
+ @state = args[:state] if args.key?(:state)
1564
+ end
1565
+ end
1566
+
1522
1567
  # Request message for `TestIamPermissions` method.
1523
1568
  class TestIamPermissionsRequest
1524
1569
  include Google::Apis::Core::Hashable
@@ -256,6 +256,12 @@ module Google
256
256
  include Google::Apis::Core::JsonObjectSupport
257
257
  end
258
258
 
259
+ class TableProgress
260
+ class Representation < Google::Apis::Core::JsonRepresentation; end
261
+
262
+ include Google::Apis::Core::JsonObjectSupport
263
+ end
264
+
259
265
  class TestIamPermissionsRequest
260
266
  class Representation < Google::Apis::Core::JsonRepresentation; end
261
267
 
@@ -379,6 +385,8 @@ module Google
379
385
  property :original_request, as: 'originalRequest', class: Google::Apis::BigtableadminV2::CreateClusterRequest, decorator: Google::Apis::BigtableadminV2::CreateClusterRequest::Representation
380
386
 
381
387
  property :request_time, as: 'requestTime'
388
+ hash :tables, as: 'tables', class: Google::Apis::BigtableadminV2::TableProgress, decorator: Google::Apis::BigtableadminV2::TableProgress::Representation
389
+
382
390
  end
383
391
  end
384
392
 
@@ -651,6 +659,15 @@ module Google
651
659
  end
652
660
  end
653
661
 
662
+ class TableProgress
663
+ # @private
664
+ class Representation < Google::Apis::Core::JsonRepresentation
665
+ property :estimated_copied_bytes, :numeric_string => true, as: 'estimatedCopiedBytes'
666
+ property :estimated_size_bytes, :numeric_string => true, as: 'estimatedSizeBytes'
667
+ property :state, as: 'state'
668
+ end
669
+ end
670
+
654
671
  class TestIamPermissionsRequest
655
672
  # @private
656
673
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://cloud.google.com/cloud-build/docs/
26
26
  module CloudbuildV1alpha1
27
27
  VERSION = 'V1alpha1'
28
- REVISION = '20181215'
28
+ REVISION = '20190107'
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'
@@ -26,10 +26,13 @@ module Google
26
26
  # @see https://cloud.google.com/kms/
27
27
  module CloudkmsV1
28
28
  VERSION = 'V1'
29
- REVISION = '20181130'
29
+ REVISION = '20190104'
30
30
 
31
31
  # View and manage your data across Google Cloud Platform services
32
32
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
33
+
34
+ # View and manage your keys and secrets stored in Cloud Key Management Service
35
+ AUTH_CLOUDKMS = 'https://www.googleapis.com/auth/cloudkms'
33
36
  end
34
37
  end
35
38
  end
@@ -29,7 +29,7 @@ module Google
29
29
  # @see https://cloud.google.com/trace
30
30
  module CloudtraceV2
31
31
  VERSION = 'V2'
32
- REVISION = '20180820'
32
+ REVISION = '20190102'
33
33
 
34
34
  # View and manage your data across Google Cloud Platform services
35
35
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -84,8 +84,8 @@ module Google
84
84
  include Google::Apis::Core::Hashable
85
85
 
86
86
  # The set of attributes. Each attribute's key can be up to 128 bytes
87
- # long. The value can be a string up to 256 bytes, an integer, or the
88
- # Boolean values `true` and `false`. For example:
87
+ # long. The value can be a string up to 256 bytes, a signed 64-bit integer,
88
+ # or the Boolean values `true` and `false`. For example:
89
89
  # "/instance_id": "my-instance"
90
90
  # "/http/user_agent": ""
91
91
  # "/http/request_bytes": 300
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://developers.google.com/compute/docs/reference/latest/
26
26
  module ComputeAlpha
27
27
  VERSION = 'Alpha'
28
- REVISION = '20181130'
28
+ REVISION = '20181217'
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'
@@ -33,8 +33,10 @@ module Google
33
33
  attr_accessor :accelerator_count
34
34
 
35
35
  # Full or partial URL of the accelerator type resource to attach to this
36
- # instance. If you are creating an instance template, specify only the
37
- # accelerator name.
36
+ # instance. For example: projects/my-project/zones/us-central1-c/
37
+ # acceleratorTypes/nvidia-tesla-p100 If you are creating an instance template,
38
+ # specify only the accelerator name. See GPUs on Compute Engine for a full list
39
+ # of accelerator types.
38
40
  # Corresponds to the JSON property `acceleratorType`
39
41
  # @return [String]
40
42
  attr_accessor :accelerator_type
@@ -97,6 +99,11 @@ module Google
97
99
  # @return [String]
98
100
  attr_accessor :self_link
99
101
 
102
+ # [Output Only] Server-defined URL for this resource's resource id.
103
+ # Corresponds to the JSON property `selfLinkWithId`
104
+ # @return [String]
105
+ attr_accessor :self_link_with_id
106
+
100
107
  # [Output Only] The name of the zone where the accelerator type resides, such as
101
108
  # us-central1-a. You must specify this field as part of the HTTP request URL. It
102
109
  # is not settable as a field in the request body.
@@ -118,6 +125,7 @@ module Google
118
125
  @maximum_cards_per_instance = args[:maximum_cards_per_instance] if args.key?(:maximum_cards_per_instance)
119
126
  @name = args[:name] if args.key?(:name)
120
127
  @self_link = args[:self_link] if args.key?(:self_link)
128
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
121
129
  @zone = args[:zone] if args.key?(:zone)
122
130
  end
123
131
  end
@@ -648,6 +656,11 @@ module Google
648
656
  # @return [String]
649
657
  attr_accessor :self_link
650
658
 
659
+ # [Output Only] Server-defined URL for this resource with the resource id.
660
+ # Corresponds to the JSON property `selfLinkWithId`
661
+ # @return [String]
662
+ attr_accessor :self_link_with_id
663
+
651
664
  # [Output Only] The status of the address, which can be one of RESERVING,
652
665
  # RESERVED, or IN_USE. An address that is RESERVING is currently in the process
653
666
  # of being reserved. A RESERVED address is currently reserved and available to
@@ -691,6 +704,7 @@ module Google
691
704
  @purpose = args[:purpose] if args.key?(:purpose)
692
705
  @region = args[:region] if args.key?(:region)
693
706
  @self_link = args[:self_link] if args.key?(:self_link)
707
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
694
708
  @status = args[:status] if args.key?(:status)
695
709
  @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
696
710
  @users = args[:users] if args.key?(:users)
@@ -1102,6 +1116,11 @@ module Google
1102
1116
  # @return [String]
1103
1117
  attr_accessor :self_link
1104
1118
 
1119
+ # [Output Only] Server-defined URL for this resource with the resource id.
1120
+ # Corresponds to the JSON property `selfLinkWithId`
1121
+ # @return [String]
1122
+ attr_accessor :self_link_with_id
1123
+
1105
1124
  # This allocation type allows to pre allocate specific instance configuration.
1106
1125
  # Corresponds to the JSON property `specificAllocation`
1107
1126
  # @return [Google::Apis::ComputeAlpha::AllocationSpecificSkuAllocation]
@@ -1133,6 +1152,7 @@ module Google
1133
1152
  @kind = args[:kind] if args.key?(:kind)
1134
1153
  @name = args[:name] if args.key?(:name)
1135
1154
  @self_link = args[:self_link] if args.key?(:self_link)
1155
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
1136
1156
  @specific_allocation = args[:specific_allocation] if args.key?(:specific_allocation)
1137
1157
  @specific_allocation_required = args[:specific_allocation_required] if args.key?(:specific_allocation_required)
1138
1158
  @zone = args[:zone] if args.key?(:zone)
@@ -1654,7 +1674,7 @@ module Google
1654
1674
  # instance. This name can be used to reference the device for mounting, resizing,
1655
1675
  # and so on, from within the instance.
1656
1676
  # If not specified, the server chooses a default device name to apply to this
1657
- # disk, in the form persistent-disks-x, where x is a number assigned by Google
1677
+ # disk, in the form persistent-disk-x, where x is a number assigned by Google
1658
1678
  # Compute Engine. This field is only applicable for persistent disks.
1659
1679
  # Corresponds to the JSON property `deviceName`
1660
1680
  # @return [String]
@@ -2039,6 +2059,11 @@ module Google
2039
2059
  # @return [String]
2040
2060
  attr_accessor :self_link
2041
2061
 
2062
+ # [Output Only] Server-defined URL for this resource with the resource id.
2063
+ # Corresponds to the JSON property `selfLinkWithId`
2064
+ # @return [String]
2065
+ attr_accessor :self_link_with_id
2066
+
2042
2067
  # [Output Only] The status of the autoscaler configuration.
2043
2068
  # Corresponds to the JSON property `status`
2044
2069
  # @return [String]
@@ -2077,6 +2102,7 @@ module Google
2077
2102
  @recommended_size = args[:recommended_size] if args.key?(:recommended_size)
2078
2103
  @region = args[:region] if args.key?(:region)
2079
2104
  @self_link = args[:self_link] if args.key?(:self_link)
2105
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
2080
2106
  @status = args[:status] if args.key?(:status)
2081
2107
  @status_details = args[:status_details] if args.key?(:status_details)
2082
2108
  @target = args[:target] if args.key?(:target)
@@ -2625,7 +2651,7 @@ module Google
2625
2651
  class AutoscalingPolicyLoadBalancingUtilization
2626
2652
  include Google::Apis::Core::Hashable
2627
2653
 
2628
- # Fraction of backend capacity utilization (set in HTTP(s) load balancing
2654
+ # Fraction of backend capacity utilization (set in HTTP(S) load balancing
2629
2655
  # configuration) that autoscaler should maintain. Must be a positive float value.
2630
2656
  # If not defined, the default is 0.8.
2631
2657
  # Corresponds to the JSON property `utilizationTarget`
@@ -2900,6 +2926,11 @@ module Google
2900
2926
  # @return [String]
2901
2927
  attr_accessor :self_link
2902
2928
 
2929
+ # [Output Only] Server-defined URL for this resource with the resource id.
2930
+ # Corresponds to the JSON property `selfLinkWithId`
2931
+ # @return [String]
2932
+ attr_accessor :self_link_with_id
2933
+
2903
2934
  def initialize(**args)
2904
2935
  update!(**args)
2905
2936
  end
@@ -2915,6 +2946,7 @@ module Google
2915
2946
  @kind = args[:kind] if args.key?(:kind)
2916
2947
  @name = args[:name] if args.key?(:name)
2917
2948
  @self_link = args[:self_link] if args.key?(:self_link)
2949
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
2918
2950
  end
2919
2951
  end
2920
2952
 
@@ -3238,6 +3270,11 @@ module Google
3238
3270
  # @return [String]
3239
3271
  attr_accessor :self_link
3240
3272
 
3273
+ # [Output Only] Server-defined URL for this resource with the resource id.
3274
+ # Corresponds to the JSON property `selfLinkWithId`
3275
+ # @return [String]
3276
+ attr_accessor :self_link_with_id
3277
+
3241
3278
  # Type of session affinity to use. The default is NONE.
3242
3279
  # When the load balancing scheme is EXTERNAL, can be NONE, CLIENT_IP, or
3243
3280
  # GENERATED_COOKIE.
@@ -3285,6 +3322,7 @@ module Google
3285
3322
  @region = args[:region] if args.key?(:region)
3286
3323
  @security_policy = args[:security_policy] if args.key?(:security_policy)
3287
3324
  @self_link = args[:self_link] if args.key?(:self_link)
3325
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
3288
3326
  @session_affinity = args[:session_affinity] if args.key?(:session_affinity)
3289
3327
  @timeout_sec = args[:timeout_sec] if args.key?(:timeout_sec)
3290
3328
  end
@@ -4130,6 +4168,11 @@ module Google
4130
4168
  # @return [String]
4131
4169
  attr_accessor :self_link
4132
4170
 
4171
+ # [Output Only] Server-defined URL for this resource with the resource id.
4172
+ # Corresponds to the JSON property `selfLinkWithId`
4173
+ # @return [String]
4174
+ attr_accessor :self_link_with_id
4175
+
4133
4176
  # [Output Only] Commitment start time in RFC3339 text format.
4134
4177
  # Corresponds to the JSON property `startTimestamp`
4135
4178
  # @return [String]
@@ -4171,6 +4214,7 @@ module Google
4171
4214
  @region = args[:region] if args.key?(:region)
4172
4215
  @resources = args[:resources] if args.key?(:resources)
4173
4216
  @self_link = args[:self_link] if args.key?(:self_link)
4217
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
4174
4218
  @start_timestamp = args[:start_timestamp] if args.key?(:start_timestamp)
4175
4219
  @status = args[:status] if args.key?(:status)
4176
4220
  @status_message = args[:status_message] if args.key?(:status_message)
@@ -4575,6 +4619,79 @@ module Google
4575
4619
  end
4576
4620
  end
4577
4621
 
4622
+ # The specification for allowing client side cross-origin requests. Please see
4623
+ # W3C Recommendation for Cross Origin Resource Sharing
4624
+ class CorsPolicy
4625
+ include Google::Apis::Core::Hashable
4626
+
4627
+ # In response to a preflight request, setting this to true indicates that the
4628
+ # actual request can include user credentials. This translates to the Access-
4629
+ # Control-Allow-Credentials header.
4630
+ # Default is false.
4631
+ # Corresponds to the JSON property `allowCredentials`
4632
+ # @return [Boolean]
4633
+ attr_accessor :allow_credentials
4634
+ alias_method :allow_credentials?, :allow_credentials
4635
+
4636
+ # Specifies the content for the Access-Control-Allow-Headers header.
4637
+ # Corresponds to the JSON property `allowHeaders`
4638
+ # @return [Array<String>]
4639
+ attr_accessor :allow_headers
4640
+
4641
+ # Specifies the content for the Access-Control-Allow-Methods header.
4642
+ # Corresponds to the JSON property `allowMethods`
4643
+ # @return [Array<String>]
4644
+ attr_accessor :allow_methods
4645
+
4646
+ # Specifies the regualar expression patterns that match allowed origins. For
4647
+ # regular expression grammar please see en.cppreference.com/w/cpp/regex/
4648
+ # ecmascript
4649
+ # An origin is allowed if it matches either allow_origins or allow_origin_regex.
4650
+ # Corresponds to the JSON property `allowOriginRegexes`
4651
+ # @return [Array<String>]
4652
+ attr_accessor :allow_origin_regexes
4653
+
4654
+ # Specifies the list of origins that will be allowed to do CORS requests.
4655
+ # An origin is allowed if it matches either allow_origins or allow_origin_regex.
4656
+ # Corresponds to the JSON property `allowOrigins`
4657
+ # @return [Array<String>]
4658
+ attr_accessor :allow_origins
4659
+
4660
+ # If true, specifies the CORS policy is disabled. The default value of false,
4661
+ # which indicates that the CORS policy is in effect.
4662
+ # Corresponds to the JSON property `disabled`
4663
+ # @return [Boolean]
4664
+ attr_accessor :disabled
4665
+ alias_method :disabled?, :disabled
4666
+
4667
+ # Specifies the content for the Access-Control-Expose-Headers header.
4668
+ # Corresponds to the JSON property `exposeHeaders`
4669
+ # @return [Array<String>]
4670
+ attr_accessor :expose_headers
4671
+
4672
+ # Specifies how long the results of a preflight request can be cached. This
4673
+ # translates to the content for the Access-Control-Max-Age header.
4674
+ # Corresponds to the JSON property `maxAge`
4675
+ # @return [Fixnum]
4676
+ attr_accessor :max_age
4677
+
4678
+ def initialize(**args)
4679
+ update!(**args)
4680
+ end
4681
+
4682
+ # Update properties of this object
4683
+ def update!(**args)
4684
+ @allow_credentials = args[:allow_credentials] if args.key?(:allow_credentials)
4685
+ @allow_headers = args[:allow_headers] if args.key?(:allow_headers)
4686
+ @allow_methods = args[:allow_methods] if args.key?(:allow_methods)
4687
+ @allow_origin_regexes = args[:allow_origin_regexes] if args.key?(:allow_origin_regexes)
4688
+ @allow_origins = args[:allow_origins] if args.key?(:allow_origins)
4689
+ @disabled = args[:disabled] if args.key?(:disabled)
4690
+ @expose_headers = args[:expose_headers] if args.key?(:expose_headers)
4691
+ @max_age = args[:max_age] if args.key?(:max_age)
4692
+ end
4693
+ end
4694
+
4578
4695
  # Represents a customer-supplied encryption key
4579
4696
  class CustomerEncryptionKey
4580
4697
  include Google::Apis::Core::Hashable
@@ -4584,6 +4701,11 @@ module Google
4584
4701
  # @return [String]
4585
4702
  attr_accessor :kms_key_name
4586
4703
 
4704
+ #
4705
+ # Corresponds to the JSON property `kmsKeyServiceAccount`
4706
+ # @return [String]
4707
+ attr_accessor :kms_key_service_account
4708
+
4587
4709
  # Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648
4588
4710
  # base64 to either encrypt or decrypt this resource.
4589
4711
  # Corresponds to the JSON property `rawKey`
@@ -4615,6 +4737,7 @@ module Google
4615
4737
  # Update properties of this object
4616
4738
  def update!(**args)
4617
4739
  @kms_key_name = args[:kms_key_name] if args.key?(:kms_key_name)
4740
+ @kms_key_service_account = args[:kms_key_service_account] if args.key?(:kms_key_service_account)
4618
4741
  @raw_key = args[:raw_key] if args.key?(:raw_key)
4619
4742
  @rsa_encrypted_key = args[:rsa_encrypted_key] if args.key?(:rsa_encrypted_key)
4620
4743
  @sha256 = args[:sha256] if args.key?(:sha256)
@@ -5336,6 +5459,11 @@ module Google
5336
5459
  # @return [String]
5337
5460
  attr_accessor :self_link
5338
5461
 
5462
+ # [Output Only] Server-defined URL for this resource with the resource id.
5463
+ # Corresponds to the JSON property `selfLinkWithId`
5464
+ # @return [String]
5465
+ attr_accessor :self_link_with_id
5466
+
5339
5467
  # [Output Only] An optional textual description of the valid disk size, such as "
5340
5468
  # 10GB-10TB".
5341
5469
  # Corresponds to the JSON property `validDiskSize`
@@ -5364,6 +5492,7 @@ module Google
5364
5492
  @name = args[:name] if args.key?(:name)
5365
5493
  @region = args[:region] if args.key?(:region)
5366
5494
  @self_link = args[:self_link] if args.key?(:self_link)
5495
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
5367
5496
  @valid_disk_size = args[:valid_disk_size] if args.key?(:valid_disk_size)
5368
5497
  @zone = args[:zone] if args.key?(:zone)
5369
5498
  end
@@ -5902,6 +6031,38 @@ module Google
5902
6031
  end
5903
6032
  end
5904
6033
 
6034
+ # A Duration represents a fixed-length span of time represented as a count of
6035
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
6036
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
6037
+ # 000 years.
6038
+ class Duration
6039
+ include Google::Apis::Core::Hashable
6040
+
6041
+ # Span of time that's a fraction of a second at nanosecond resolution. Durations
6042
+ # less than one second are represented with a 0 `seconds` field and a positive `
6043
+ # nanos` field. Must be from 0 to 999,999,999 inclusive.
6044
+ # Corresponds to the JSON property `nanos`
6045
+ # @return [Fixnum]
6046
+ attr_accessor :nanos
6047
+
6048
+ # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
6049
+ # inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24
6050
+ # hr/day * 365.25 days/year * 10000 years
6051
+ # Corresponds to the JSON property `seconds`
6052
+ # @return [Fixnum]
6053
+ attr_accessor :seconds
6054
+
6055
+ def initialize(**args)
6056
+ update!(**args)
6057
+ end
6058
+
6059
+ # Update properties of this object
6060
+ def update!(**args)
6061
+ @nanos = args[:nanos] if args.key?(:nanos)
6062
+ @seconds = args[:seconds] if args.key?(:seconds)
6063
+ end
6064
+ end
6065
+
5905
6066
  #
5906
6067
  class ExchangedPeeringRoute
5907
6068
  include Google::Apis::Core::Hashable
@@ -6219,6 +6380,11 @@ module Google
6219
6380
  # @return [String]
6220
6381
  attr_accessor :self_link
6221
6382
 
6383
+ # [Output Only] Server-defined URL for this resource with the resource id.
6384
+ # Corresponds to the JSON property `selfLinkWithId`
6385
+ # @return [String]
6386
+ attr_accessor :self_link_with_id
6387
+
6222
6388
  # If source ranges are specified, the firewall will apply only to traffic that
6223
6389
  # has source IP address in these ranges. These ranges must be expressed in CIDR
6224
6390
  # format. One or both of sourceRanges and sourceTags may be set. If both
@@ -6297,6 +6463,7 @@ module Google
6297
6463
  @network = args[:network] if args.key?(:network)
6298
6464
  @priority = args[:priority] if args.key?(:priority)
6299
6465
  @self_link = args[:self_link] if args.key?(:self_link)
6466
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
6300
6467
  @source_ranges = args[:source_ranges] if args.key?(:source_ranges)
6301
6468
  @source_service_accounts = args[:source_service_accounts] if args.key?(:source_service_accounts)
6302
6469
  @source_tags = args[:source_tags] if args.key?(:source_tags)
@@ -6760,6 +6927,11 @@ module Google
6760
6927
  # @return [String]
6761
6928
  attr_accessor :self_link
6762
6929
 
6930
+ # [Output Only] Server-defined URL for this resource with the resource id.
6931
+ # Corresponds to the JSON property `selfLinkWithId`
6932
+ # @return [String]
6933
+ attr_accessor :self_link_with_id
6934
+
6763
6935
  # An optional prefix to the service name for this Forwarding Rule. If specified,
6764
6936
  # will be the first label of the fully qualified service name.
6765
6937
  # The label must be 1-63 characters long, and comply with RFC1035. Specifically,
@@ -6826,6 +6998,7 @@ module Google
6826
6998
  @ports = args[:ports] if args.key?(:ports)
6827
6999
  @region = args[:region] if args.key?(:region)
6828
7000
  @self_link = args[:self_link] if args.key?(:self_link)
7001
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
6829
7002
  @service_label = args[:service_label] if args.key?(:service_label)
6830
7003
  @service_name = args[:service_name] if args.key?(:service_name)
6831
7004
  @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
@@ -8227,6 +8400,258 @@ module Google
8227
8400
  end
8228
8401
  end
8229
8402
 
8403
+ # Specification for how requests are aborted as part of fault injection.
8404
+ class HttpFaultAbort
8405
+ include Google::Apis::Core::Hashable
8406
+
8407
+ # The HTTP status code used to abort the request.
8408
+ # The value must be between 200 and 599 inclusive.
8409
+ # Corresponds to the JSON property `httpStatus`
8410
+ # @return [Fixnum]
8411
+ attr_accessor :http_status
8412
+
8413
+ # The percentage of traffic (connections/operations/requests) which will be
8414
+ # aborted as part of fault injection.
8415
+ # The value must be between 0.0 and 100.0 inclusive.
8416
+ # Corresponds to the JSON property `percentage`
8417
+ # @return [Float]
8418
+ attr_accessor :percentage
8419
+
8420
+ def initialize(**args)
8421
+ update!(**args)
8422
+ end
8423
+
8424
+ # Update properties of this object
8425
+ def update!(**args)
8426
+ @http_status = args[:http_status] if args.key?(:http_status)
8427
+ @percentage = args[:percentage] if args.key?(:percentage)
8428
+ end
8429
+ end
8430
+
8431
+ # Specifies the delay introduced by Loadbalancer before forwarding the request
8432
+ # to the backend service as part of fault injection.
8433
+ class HttpFaultDelay
8434
+ include Google::Apis::Core::Hashable
8435
+
8436
+ # A Duration represents a fixed-length span of time represented as a count of
8437
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
8438
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
8439
+ # 000 years.
8440
+ # Corresponds to the JSON property `fixedDelay`
8441
+ # @return [Google::Apis::ComputeAlpha::Duration]
8442
+ attr_accessor :fixed_delay
8443
+
8444
+ # The percentage of traffic (connections/operations/requests) on which delay
8445
+ # will be introduced as part of fault injection.
8446
+ # The value must be between 0.0 and 100.0 inclusive.
8447
+ # Corresponds to the JSON property `percentage`
8448
+ # @return [Float]
8449
+ attr_accessor :percentage
8450
+
8451
+ def initialize(**args)
8452
+ update!(**args)
8453
+ end
8454
+
8455
+ # Update properties of this object
8456
+ def update!(**args)
8457
+ @fixed_delay = args[:fixed_delay] if args.key?(:fixed_delay)
8458
+ @percentage = args[:percentage] if args.key?(:percentage)
8459
+ end
8460
+ end
8461
+
8462
+ # The specification for fault injection introduced into traffic to test the
8463
+ # resiliency of clients to backend service failure. As part of fault injection,
8464
+ # when clients send requests to a backend service, delays can be introduced by
8465
+ # Loadbalancer on a percentage of requests before sending those request to the
8466
+ # backend service. Similarly requests from clients can be aborted by the
8467
+ # Loadbalancer for a percentage of requests.
8468
+ class HttpFaultInjection
8469
+ include Google::Apis::Core::Hashable
8470
+
8471
+ # Specification for how requests are aborted as part of fault injection.
8472
+ # Corresponds to the JSON property `abort`
8473
+ # @return [Google::Apis::ComputeAlpha::HttpFaultAbort]
8474
+ attr_accessor :abort
8475
+
8476
+ # Specifies the delay introduced by Loadbalancer before forwarding the request
8477
+ # to the backend service as part of fault injection.
8478
+ # Corresponds to the JSON property `delay`
8479
+ # @return [Google::Apis::ComputeAlpha::HttpFaultDelay]
8480
+ attr_accessor :delay
8481
+
8482
+ def initialize(**args)
8483
+ update!(**args)
8484
+ end
8485
+
8486
+ # Update properties of this object
8487
+ def update!(**args)
8488
+ @abort = args[:abort] if args.key?(:abort)
8489
+ @delay = args[:delay] if args.key?(:delay)
8490
+ end
8491
+ end
8492
+
8493
+ # The request and response header transformations that take effect before the
8494
+ # request is passed along to the selected backendService.
8495
+ class HttpHeaderAction
8496
+ include Google::Apis::Core::Hashable
8497
+
8498
+ # Headers to add to a matching request prior to forwarding the request to the
8499
+ # backendService.
8500
+ # Corresponds to the JSON property `requestHeadersToAdd`
8501
+ # @return [Array<Google::Apis::ComputeAlpha::HttpHeaderOption>]
8502
+ attr_accessor :request_headers_to_add
8503
+
8504
+ # A list of header names for headers that need to be removed from the request
8505
+ # prior to forwarding the request to the backendService.
8506
+ # Corresponds to the JSON property `requestHeadersToRemove`
8507
+ # @return [Array<String>]
8508
+ attr_accessor :request_headers_to_remove
8509
+
8510
+ # Headers to add the response prior to sending the response back to the client.
8511
+ # Corresponds to the JSON property `responseHeadersToAdd`
8512
+ # @return [Array<Google::Apis::ComputeAlpha::HttpHeaderOption>]
8513
+ attr_accessor :response_headers_to_add
8514
+
8515
+ # A list of header names for headers that need to be removed from the response
8516
+ # prior to sending the response back to the client.
8517
+ # Corresponds to the JSON property `responseHeadersToRemove`
8518
+ # @return [Array<String>]
8519
+ attr_accessor :response_headers_to_remove
8520
+
8521
+ def initialize(**args)
8522
+ update!(**args)
8523
+ end
8524
+
8525
+ # Update properties of this object
8526
+ def update!(**args)
8527
+ @request_headers_to_add = args[:request_headers_to_add] if args.key?(:request_headers_to_add)
8528
+ @request_headers_to_remove = args[:request_headers_to_remove] if args.key?(:request_headers_to_remove)
8529
+ @response_headers_to_add = args[:response_headers_to_add] if args.key?(:response_headers_to_add)
8530
+ @response_headers_to_remove = args[:response_headers_to_remove] if args.key?(:response_headers_to_remove)
8531
+ end
8532
+ end
8533
+
8534
+ # matchRule criteria for request header matches.
8535
+ class HttpHeaderMatch
8536
+ include Google::Apis::Core::Hashable
8537
+
8538
+ # The value should exactly match contents of exactMatch.
8539
+ # Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or
8540
+ # rangeMatch must be set.
8541
+ # Corresponds to the JSON property `exactMatch`
8542
+ # @return [String]
8543
+ attr_accessor :exact_match
8544
+
8545
+ # The name of the HTTP header to match.
8546
+ # For matching against the HTTP request's authority, use a headerMatch with the
8547
+ # header name ":authority".
8548
+ # For matching a request's method, use the headerName ":method".
8549
+ # Corresponds to the JSON property `headerName`
8550
+ # @return [String]
8551
+ attr_accessor :header_name
8552
+
8553
+ # If set to false, the headerMatch is considered a match if the match criteria
8554
+ # above are met. If set to true, the headerMatch is considered a match if the
8555
+ # match criteria above are NOT met.
8556
+ # The default setting is false.
8557
+ # Corresponds to the JSON property `invertMatch`
8558
+ # @return [Boolean]
8559
+ attr_accessor :invert_match
8560
+ alias_method :invert_match?, :invert_match
8561
+
8562
+ # The value of the header must start with the contents of prefixMatch.
8563
+ # Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or
8564
+ # rangeMatch must be set.
8565
+ # Corresponds to the JSON property `prefixMatch`
8566
+ # @return [String]
8567
+ attr_accessor :prefix_match
8568
+
8569
+ # A header with the contents of headerName must exist. The match takes place
8570
+ # whether or not the request's header has a value or not.
8571
+ # Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or
8572
+ # rangeMatch must be set.
8573
+ # Corresponds to the JSON property `presentMatch`
8574
+ # @return [Boolean]
8575
+ attr_accessor :present_match
8576
+ alias_method :present_match?, :present_match
8577
+
8578
+ # HttpRouteRuleMatch criteria for field values that must stay within the
8579
+ # specified integer range.
8580
+ # Corresponds to the JSON property `rangeMatch`
8581
+ # @return [Google::Apis::ComputeAlpha::Int64RangeMatch]
8582
+ attr_accessor :range_match
8583
+
8584
+ # The value of the header must match the regualar expression specified in
8585
+ # regexMatch. For regular expression grammar, please see: en.cppreference.com/w/
8586
+ # cpp/regex/ecmascript
8587
+ # For matching against a port specified in the HTTP request, use a headerMatch
8588
+ # with headerName set to PORT and a regular expression that satisfies the
8589
+ # RFC2616 Host header's port specifier.
8590
+ # Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or
8591
+ # rangeMatch must be set.
8592
+ # Corresponds to the JSON property `regexMatch`
8593
+ # @return [String]
8594
+ attr_accessor :regex_match
8595
+
8596
+ # The value of the header must end with the contents of suffixMatch.
8597
+ # Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or
8598
+ # rangeMatch must be set.
8599
+ # Corresponds to the JSON property `suffixMatch`
8600
+ # @return [String]
8601
+ attr_accessor :suffix_match
8602
+
8603
+ def initialize(**args)
8604
+ update!(**args)
8605
+ end
8606
+
8607
+ # Update properties of this object
8608
+ def update!(**args)
8609
+ @exact_match = args[:exact_match] if args.key?(:exact_match)
8610
+ @header_name = args[:header_name] if args.key?(:header_name)
8611
+ @invert_match = args[:invert_match] if args.key?(:invert_match)
8612
+ @prefix_match = args[:prefix_match] if args.key?(:prefix_match)
8613
+ @present_match = args[:present_match] if args.key?(:present_match)
8614
+ @range_match = args[:range_match] if args.key?(:range_match)
8615
+ @regex_match = args[:regex_match] if args.key?(:regex_match)
8616
+ @suffix_match = args[:suffix_match] if args.key?(:suffix_match)
8617
+ end
8618
+ end
8619
+
8620
+ # Specification determining how headers are added to requests or responses.
8621
+ class HttpHeaderOption
8622
+ include Google::Apis::Core::Hashable
8623
+
8624
+ # The name of the header.
8625
+ # Corresponds to the JSON property `headerName`
8626
+ # @return [String]
8627
+ attr_accessor :header_name
8628
+
8629
+ # The value of the header to add.
8630
+ # Corresponds to the JSON property `headerValue`
8631
+ # @return [String]
8632
+ attr_accessor :header_value
8633
+
8634
+ # If false, headerValue is appended to any values that already exist for the
8635
+ # header. If true, headerValue is set for the header, discarding any values that
8636
+ # were set for that header.
8637
+ # The default value is false.
8638
+ # Corresponds to the JSON property `replace`
8639
+ # @return [Boolean]
8640
+ attr_accessor :replace
8641
+ alias_method :replace?, :replace
8642
+
8643
+ def initialize(**args)
8644
+ update!(**args)
8645
+ end
8646
+
8647
+ # Update properties of this object
8648
+ def update!(**args)
8649
+ @header_name = args[:header_name] if args.key?(:header_name)
8650
+ @header_value = args[:header_value] if args.key?(:header_value)
8651
+ @replace = args[:replace] if args.key?(:replace)
8652
+ end
8653
+ end
8654
+
8230
8655
  # An HttpHealthCheck resource. This resource defines a template for how
8231
8656
  # individual instances should be checked for health, via HTTP.
8232
8657
  class HttpHealthCheck
@@ -8450,6 +8875,384 @@ module Google
8450
8875
  end
8451
8876
  end
8452
8877
 
8878
+ # HttpRouteRuleMatch criteria for a request's query parameter.
8879
+ class HttpQueryParameterMatch
8880
+ include Google::Apis::Core::Hashable
8881
+
8882
+ # The queryParameterMatch matches if the value of the parameter exactly matches
8883
+ # the contents of exactMatch.
8884
+ # Only one of presentMatch, exactMatch and regexMatch must be set.
8885
+ # Corresponds to the JSON property `exactMatch`
8886
+ # @return [String]
8887
+ attr_accessor :exact_match
8888
+
8889
+ # The name of the query parameter to match. The query parameter must exist in
8890
+ # the request, in the absence of which the request match fails.
8891
+ # Corresponds to the JSON property `name`
8892
+ # @return [String]
8893
+ attr_accessor :name
8894
+
8895
+ # Specifies that the queryParameterMatch matches if the request contains the
8896
+ # query parameter, irrespective of whether the parameter has a value or not.
8897
+ # Only one of presentMatch, exactMatch and regexMatch must be set.
8898
+ # Corresponds to the JSON property `presentMatch`
8899
+ # @return [Boolean]
8900
+ attr_accessor :present_match
8901
+ alias_method :present_match?, :present_match
8902
+
8903
+ # The queryParameterMatch matches if the value of the parameter matches the
8904
+ # regular expression specified by regexMatch. For the regular expression grammar,
8905
+ # please see en.cppreference.com/w/cpp/regex/ecmascript
8906
+ # Only one of presentMatch, exactMatch and regexMatch must be set.
8907
+ # Corresponds to the JSON property `regexMatch`
8908
+ # @return [String]
8909
+ attr_accessor :regex_match
8910
+
8911
+ def initialize(**args)
8912
+ update!(**args)
8913
+ end
8914
+
8915
+ # Update properties of this object
8916
+ def update!(**args)
8917
+ @exact_match = args[:exact_match] if args.key?(:exact_match)
8918
+ @name = args[:name] if args.key?(:name)
8919
+ @present_match = args[:present_match] if args.key?(:present_match)
8920
+ @regex_match = args[:regex_match] if args.key?(:regex_match)
8921
+ end
8922
+ end
8923
+
8924
+ # Specifies settings for an HTTP redirect.
8925
+ class HttpRedirectAction
8926
+ include Google::Apis::Core::Hashable
8927
+
8928
+ # The host that will be used in the redirect response instead of the one that
8929
+ # was supplied in the request.
8930
+ # The value must be between 1 and 255 characters.
8931
+ # Corresponds to the JSON property `hostRedirect`
8932
+ # @return [String]
8933
+ attr_accessor :host_redirect
8934
+
8935
+ # If set to true, the URL scheme in the redirected request is set to https. If
8936
+ # set to false, the URL scheme of the redirected request will remain the same as
8937
+ # that of the request.
8938
+ # This must only be set for UrlMaps used in TargetHttpProxys. Setting this true
8939
+ # for TargetHttpsProxy is not permitted.
8940
+ # The default is set to false.
8941
+ # Corresponds to the JSON property `httpsRedirect`
8942
+ # @return [Boolean]
8943
+ attr_accessor :https_redirect
8944
+ alias_method :https_redirect?, :https_redirect
8945
+
8946
+ # The path that will be used in the redirect response instead of the one that
8947
+ # was supplied in the request.
8948
+ # Only one of pathRedirect or prefixRedirect must be specified.
8949
+ # The value must be between 1 and 1024 characters.
8950
+ # Corresponds to the JSON property `pathRedirect`
8951
+ # @return [String]
8952
+ attr_accessor :path_redirect
8953
+
8954
+ # The prefix that replaces the prefixMatch specified in the HttpRouteRuleMatch,
8955
+ # retaining the remaining portion of the URL before redirecting the request.
8956
+ # Corresponds to the JSON property `prefixRedirect`
8957
+ # @return [String]
8958
+ attr_accessor :prefix_redirect
8959
+
8960
+ # The HTTP Status code to use for this RedirectAction.
8961
+ # Supported values are:
8962
+ # - MOVED_PERMANENTLY_DEFAULT, which is the default value and corresponds to 301.
8963
+ #
8964
+ # - FOUND, which corresponds to 302.
8965
+ # - SEE_OTHER which corresponds to 303.
8966
+ # - TEMPORARY_REDIRECT, which corresponds to 307. In this case, the request
8967
+ # method will be retained.
8968
+ # - PERMANENT_REDIRECT, which corresponds to 308. In this case, the request
8969
+ # method will be retained.
8970
+ # Corresponds to the JSON property `redirectResponseCode`
8971
+ # @return [String]
8972
+ attr_accessor :redirect_response_code
8973
+
8974
+ # If set to true, any accompanying query portion of the original URL is removed
8975
+ # prior to redirecting the request. If set to false, the query portion of the
8976
+ # original URL is retained.
8977
+ # The default is set to false.
8978
+ # Corresponds to the JSON property `stripQuery`
8979
+ # @return [Boolean]
8980
+ attr_accessor :strip_query
8981
+ alias_method :strip_query?, :strip_query
8982
+
8983
+ def initialize(**args)
8984
+ update!(**args)
8985
+ end
8986
+
8987
+ # Update properties of this object
8988
+ def update!(**args)
8989
+ @host_redirect = args[:host_redirect] if args.key?(:host_redirect)
8990
+ @https_redirect = args[:https_redirect] if args.key?(:https_redirect)
8991
+ @path_redirect = args[:path_redirect] if args.key?(:path_redirect)
8992
+ @prefix_redirect = args[:prefix_redirect] if args.key?(:prefix_redirect)
8993
+ @redirect_response_code = args[:redirect_response_code] if args.key?(:redirect_response_code)
8994
+ @strip_query = args[:strip_query] if args.key?(:strip_query)
8995
+ end
8996
+ end
8997
+
8998
+ # The retry policy associates with HttpRouteRule
8999
+ class HttpRetryPolicy
9000
+ include Google::Apis::Core::Hashable
9001
+
9002
+ # Specifies the allowed number retries. This number must be > 0.
9003
+ # Corresponds to the JSON property `numRetries`
9004
+ # @return [Fixnum]
9005
+ attr_accessor :num_retries
9006
+
9007
+ # A Duration represents a fixed-length span of time represented as a count of
9008
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
9009
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
9010
+ # 000 years.
9011
+ # Corresponds to the JSON property `perTryTimeout`
9012
+ # @return [Google::Apis::ComputeAlpha::Duration]
9013
+ attr_accessor :per_try_timeout
9014
+
9015
+ # Specfies one or more conditions when this retry rule applies. Valid values are:
9016
+ #
9017
+ # - 5xx: Loadbalancer will attempt a retry if the backend service responds with
9018
+ # any 5xx response code, or if the backend service does not respond at all,
9019
+ # example: disconnects, reset, read timeout, connection failure, and refused
9020
+ # streams.
9021
+ # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503
9022
+ # or 504.
9023
+ # -
9024
+ # - connect-failure: Loadbalancer will retry on failures connecting to backend
9025
+ # services, for example due to connection timeouts.
9026
+ # - retriable-4xx: Loadbalancer will retry for retriable 4xx response codes.
9027
+ # Currently the only retriable error supported is 409.
9028
+ # - refused-stream:Loadbalancer will retry if the backend service resets the
9029
+ # stream with a REFUSED_STREAM error code. This reset type indicates that it is
9030
+ # safe to retry.
9031
+ # - cancelledLoadbalancer will retry if the gRPC status code in the response
9032
+ # header is set to cancelled
9033
+ # - deadline-exceeded: Loadbalancer will retry if the gRPC status code in the
9034
+ # response header is set to deadline-exceeded
9035
+ # - resource-exhausted: Loadbalancer will retry if the gRPC status code in the
9036
+ # response header is set to resource-exhausted
9037
+ # - unavailable: Loadbalancer will retry if the gRPC status code in the response
9038
+ # header is set to unavailable
9039
+ # Corresponds to the JSON property `retryConditions`
9040
+ # @return [Array<String>]
9041
+ attr_accessor :retry_conditions
9042
+
9043
+ def initialize(**args)
9044
+ update!(**args)
9045
+ end
9046
+
9047
+ # Update properties of this object
9048
+ def update!(**args)
9049
+ @num_retries = args[:num_retries] if args.key?(:num_retries)
9050
+ @per_try_timeout = args[:per_try_timeout] if args.key?(:per_try_timeout)
9051
+ @retry_conditions = args[:retry_conditions] if args.key?(:retry_conditions)
9052
+ end
9053
+ end
9054
+
9055
+ #
9056
+ class HttpRouteAction
9057
+ include Google::Apis::Core::Hashable
9058
+
9059
+ # The specification for allowing client side cross-origin requests. Please see
9060
+ # W3C Recommendation for Cross Origin Resource Sharing
9061
+ # Corresponds to the JSON property `corsPolicy`
9062
+ # @return [Google::Apis::ComputeAlpha::CorsPolicy]
9063
+ attr_accessor :cors_policy
9064
+
9065
+ # The specification for fault injection introduced into traffic to test the
9066
+ # resiliency of clients to backend service failure. As part of fault injection,
9067
+ # when clients send requests to a backend service, delays can be introduced by
9068
+ # Loadbalancer on a percentage of requests before sending those request to the
9069
+ # backend service. Similarly requests from clients can be aborted by the
9070
+ # Loadbalancer for a percentage of requests.
9071
+ # Corresponds to the JSON property `faultInjectionPolicy`
9072
+ # @return [Google::Apis::ComputeAlpha::HttpFaultInjection]
9073
+ attr_accessor :fault_injection_policy
9074
+
9075
+ # A policy that specifies how requests intended for the route's backends are
9076
+ # shadowed to a separate mirrored backend service. Loadbalancer does not wait
9077
+ # for responses from the shadow service. Prior to sending traffic to the shadow
9078
+ # service, the host / authority header is suffixed with -shadow.
9079
+ # Corresponds to the JSON property `requestMirrorPolicy`
9080
+ # @return [Google::Apis::ComputeAlpha::RequestMirrorPolicy]
9081
+ attr_accessor :request_mirror_policy
9082
+
9083
+ # The retry policy associates with HttpRouteRule
9084
+ # Corresponds to the JSON property `retryPolicy`
9085
+ # @return [Google::Apis::ComputeAlpha::HttpRetryPolicy]
9086
+ attr_accessor :retry_policy
9087
+
9088
+ # A Duration represents a fixed-length span of time represented as a count of
9089
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
9090
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
9091
+ # 000 years.
9092
+ # Corresponds to the JSON property `timeout`
9093
+ # @return [Google::Apis::ComputeAlpha::Duration]
9094
+ attr_accessor :timeout
9095
+
9096
+ # The spec for modifying the path before sending the request to the matched
9097
+ # backend service.
9098
+ # Corresponds to the JSON property `urlRewrite`
9099
+ # @return [Google::Apis::ComputeAlpha::UrlRewrite]
9100
+ attr_accessor :url_rewrite
9101
+
9102
+ # A list of weighted backend services to send traffic to when a route match
9103
+ # occurs. The weights determine the percentage of traffic that flows to their
9104
+ # corresponding backend service. The weights must add up to 100. If all traffic
9105
+ # needs to go to a single backend service, there must be one
9106
+ # weightedBackendService with weight set to 100.
9107
+ # Once a backendService is identified and before forwarding the request to the
9108
+ # backend service, advanced routing actions like Url rewrites and header
9109
+ # transformations are applied depending on additional settings specified in this
9110
+ # HttpRouteAction.
9111
+ # Corresponds to the JSON property `weightedBackendServices`
9112
+ # @return [Array<Google::Apis::ComputeAlpha::WeightedBackendService>]
9113
+ attr_accessor :weighted_backend_services
9114
+
9115
+ def initialize(**args)
9116
+ update!(**args)
9117
+ end
9118
+
9119
+ # Update properties of this object
9120
+ def update!(**args)
9121
+ @cors_policy = args[:cors_policy] if args.key?(:cors_policy)
9122
+ @fault_injection_policy = args[:fault_injection_policy] if args.key?(:fault_injection_policy)
9123
+ @request_mirror_policy = args[:request_mirror_policy] if args.key?(:request_mirror_policy)
9124
+ @retry_policy = args[:retry_policy] if args.key?(:retry_policy)
9125
+ @timeout = args[:timeout] if args.key?(:timeout)
9126
+ @url_rewrite = args[:url_rewrite] if args.key?(:url_rewrite)
9127
+ @weighted_backend_services = args[:weighted_backend_services] if args.key?(:weighted_backend_services)
9128
+ end
9129
+ end
9130
+
9131
+ # An HttpRouteRule specifies how to match an HTTP request and the corresponding
9132
+ # routing action that load balancing proxies will perform.
9133
+ class HttpRouteRule
9134
+ include Google::Apis::Core::Hashable
9135
+
9136
+ # The request and response header transformations that take effect before the
9137
+ # request is passed along to the selected backendService.
9138
+ # Corresponds to the JSON property `headerAction`
9139
+ # @return [Google::Apis::ComputeAlpha::HttpHeaderAction]
9140
+ attr_accessor :header_action
9141
+
9142
+ #
9143
+ # Corresponds to the JSON property `matchRules`
9144
+ # @return [Array<Google::Apis::ComputeAlpha::HttpRouteRuleMatch>]
9145
+ attr_accessor :match_rules
9146
+
9147
+ # In response to a matching matchRule, the load balancer routes the request to
9148
+ # the backend service specified by this routeAction.
9149
+ # Only one of routeAction or urlRedirect must be set.
9150
+ # Corresponds to the JSON property `routeAction`
9151
+ # @return [Google::Apis::ComputeAlpha::HttpRouteAction]
9152
+ attr_accessor :route_action
9153
+
9154
+ # Specifies settings for an HTTP redirect.
9155
+ # Corresponds to the JSON property `urlRedirect`
9156
+ # @return [Google::Apis::ComputeAlpha::HttpRedirectAction]
9157
+ attr_accessor :url_redirect
9158
+
9159
+ def initialize(**args)
9160
+ update!(**args)
9161
+ end
9162
+
9163
+ # Update properties of this object
9164
+ def update!(**args)
9165
+ @header_action = args[:header_action] if args.key?(:header_action)
9166
+ @match_rules = args[:match_rules] if args.key?(:match_rules)
9167
+ @route_action = args[:route_action] if args.key?(:route_action)
9168
+ @url_redirect = args[:url_redirect] if args.key?(:url_redirect)
9169
+ end
9170
+ end
9171
+
9172
+ # HttpRouteRuleMatch specifies a set of criteria for matching requests to an
9173
+ # HttpRouteRule. All specified criteria must be satisfied for a match to occur.
9174
+ class HttpRouteRuleMatch
9175
+ include Google::Apis::Core::Hashable
9176
+
9177
+ # For satifying the matchRule condition, the path of the request must exactly
9178
+ # match the value specified in fullPathMatch after removing any query parameters
9179
+ # and anchor that may be part of the original URL.
9180
+ # FullPathMatch must be between 1 and 1024 characters.
9181
+ # Only one of prefixMatch, fullPathMatch or regexMatch must be specified.
9182
+ # Corresponds to the JSON property `fullPathMatch`
9183
+ # @return [String]
9184
+ attr_accessor :full_path_match
9185
+
9186
+ # Specifies a list of header match criteria, all of which must match
9187
+ # corresponding headers in the request.
9188
+ # Corresponds to the JSON property `headerMatches`
9189
+ # @return [Array<Google::Apis::ComputeAlpha::HttpHeaderMatch>]
9190
+ attr_accessor :header_matches
9191
+
9192
+ # Specifies that prefixMatch and fullPathMatch matches are case sensitive.
9193
+ # The default value is false.
9194
+ # caseSensitive must not be used with regexMatch.
9195
+ # Corresponds to the JSON property `ignoreCase`
9196
+ # @return [Boolean]
9197
+ attr_accessor :ignore_case
9198
+ alias_method :ignore_case?, :ignore_case
9199
+
9200
+ # Opaque filter criteria used by Loadbalancer to restrict routing configuration
9201
+ # to a limited set xDS compliant clients. In their xDS requests to Loadbalancer,
9202
+ # xDS clients present node metadata. If a match takes place, the relevant
9203
+ # routing configuration is made available to those proxies.
9204
+ # For each metadataFilter in this list, if its filterMatchCriteria is set to
9205
+ # MATCH_ANY, at least one of the filterLabels must match the corresponding label
9206
+ # provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then
9207
+ # all of its filterLabels must match with corresponding labels in the provided
9208
+ # metadata.
9209
+ # metadataFilters specified here can be overrides those specified in
9210
+ # ForwardingRule that refers to this UrlMap.
9211
+ # metadataFilters only applies to Loadbalancers that have their
9212
+ # loadBalancingScheme set to INTERNAL_SELF_MANAGED.
9213
+ # Corresponds to the JSON property `metadataFilters`
9214
+ # @return [Array<Google::Apis::ComputeAlpha::MetadataFilter>]
9215
+ attr_accessor :metadata_filters
9216
+
9217
+ # For satifying the matchRule condition, the request's path must begin with the
9218
+ # specified prefixMatch. prefixMatch must begin with a /.
9219
+ # The value must be between 1 and 1024 characters.
9220
+ # Only one of prefixMatch, fullPathMatch or regexMatch must be specified.
9221
+ # Corresponds to the JSON property `prefixMatch`
9222
+ # @return [String]
9223
+ attr_accessor :prefix_match
9224
+
9225
+ # Specifies a list of query parameter match criteria, all of which must match
9226
+ # corresponding query parameters in the request.
9227
+ # Corresponds to the JSON property `queryParameterMatches`
9228
+ # @return [Array<Google::Apis::ComputeAlpha::HttpQueryParameterMatch>]
9229
+ attr_accessor :query_parameter_matches
9230
+
9231
+ # For satifying the matchRule condition, the path of the request must satisfy
9232
+ # the regular expression specified in regexMatch after removing any query
9233
+ # parameters and anchor supplied with the original URL. For regular expression
9234
+ # grammar please see en.cppreference.com/w/cpp/regex/ecmascript
9235
+ # Only one of prefixMatch, fullPathMatch or regexMatch must be specified.
9236
+ # Corresponds to the JSON property `regexMatch`
9237
+ # @return [String]
9238
+ attr_accessor :regex_match
9239
+
9240
+ def initialize(**args)
9241
+ update!(**args)
9242
+ end
9243
+
9244
+ # Update properties of this object
9245
+ def update!(**args)
9246
+ @full_path_match = args[:full_path_match] if args.key?(:full_path_match)
9247
+ @header_matches = args[:header_matches] if args.key?(:header_matches)
9248
+ @ignore_case = args[:ignore_case] if args.key?(:ignore_case)
9249
+ @metadata_filters = args[:metadata_filters] if args.key?(:metadata_filters)
9250
+ @prefix_match = args[:prefix_match] if args.key?(:prefix_match)
9251
+ @query_parameter_matches = args[:query_parameter_matches] if args.key?(:query_parameter_matches)
9252
+ @regex_match = args[:regex_match] if args.key?(:regex_match)
9253
+ end
9254
+ end
9255
+
8453
9256
  # An HttpsHealthCheck resource. This resource defines a template for how
8454
9257
  # individual instances should be checked for health, via HTTPS.
8455
9258
  class HttpsHealthCheck
@@ -8783,6 +9586,11 @@ module Google
8783
9586
  # @return [String]
8784
9587
  attr_accessor :self_link
8785
9588
 
9589
+ # [Output Only] Server-defined URL for this resource's resource id.
9590
+ # Corresponds to the JSON property `selfLinkWithId`
9591
+ # @return [String]
9592
+ attr_accessor :self_link_with_id
9593
+
8786
9594
  # URL of the source disk used to create this image. This can be a full or valid
8787
9595
  # partial URL. You must provide either this property or the rawDisk.source
8788
9596
  # property but not both to create an image. For example, the following are valid
@@ -8863,6 +9671,11 @@ module Google
8863
9671
  # @return [String]
8864
9672
  attr_accessor :status
8865
9673
 
9674
+ # GCS bucket storage location of the image (regional or multi-regional).
9675
+ # Corresponds to the JSON property `storageLocations`
9676
+ # @return [Array<String>]
9677
+ attr_accessor :storage_locations
9678
+
8866
9679
  def initialize(**args)
8867
9680
  update!(**args)
8868
9681
  end
@@ -8886,6 +9699,7 @@ module Google
8886
9699
  @name = args[:name] if args.key?(:name)
8887
9700
  @raw_disk = args[:raw_disk] if args.key?(:raw_disk)
8888
9701
  @self_link = args[:self_link] if args.key?(:self_link)
9702
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
8889
9703
  @source_disk = args[:source_disk] if args.key?(:source_disk)
8890
9704
  @source_disk_encryption_key = args[:source_disk_encryption_key] if args.key?(:source_disk_encryption_key)
8891
9705
  @source_disk_id = args[:source_disk_id] if args.key?(:source_disk_id)
@@ -8897,6 +9711,7 @@ module Google
8897
9711
  @source_snapshot_id = args[:source_snapshot_id] if args.key?(:source_snapshot_id)
8898
9712
  @source_type = args[:source_type] if args.key?(:source_type)
8899
9713
  @status = args[:status] if args.key?(:status)
9714
+ @storage_locations = args[:storage_locations] if args.key?(:storage_locations)
8900
9715
  end
8901
9716
 
8902
9717
  # The parameters of the raw disk image.
@@ -9214,6 +10029,11 @@ module Google
9214
10029
  # @return [String]
9215
10030
  attr_accessor :self_link
9216
10031
 
10032
+ # [Output Only] Server-defined URL for this resource with the resource id.
10033
+ # Corresponds to the JSON property `selfLinkWithId`
10034
+ # @return [String]
10035
+ attr_accessor :self_link_with_id
10036
+
9217
10037
  # A list of service accounts, with their specified scopes, authorized for this
9218
10038
  # instance. Only one service account per VM instance is supported.
9219
10039
  # Service accounts generate access tokens that can be accessed through the
@@ -9300,6 +10120,7 @@ module Google
9300
10120
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
9301
10121
  @scheduling = args[:scheduling] if args.key?(:scheduling)
9302
10122
  @self_link = args[:self_link] if args.key?(:self_link)
10123
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
9303
10124
  @service_accounts = args[:service_accounts] if args.key?(:service_accounts)
9304
10125
  @shielded_vm_config = args[:shielded_vm_config] if args.key?(:shielded_vm_config)
9305
10126
  @shielded_vm_integrity_policy = args[:shielded_vm_integrity_policy] if args.key?(:shielded_vm_integrity_policy)
@@ -9499,6 +10320,11 @@ module Google
9499
10320
  # @return [String]
9500
10321
  attr_accessor :self_link
9501
10322
 
10323
+ # [Output Only] Server-defined URL for this resource with the resource id.
10324
+ # Corresponds to the JSON property `selfLinkWithId`
10325
+ # @return [String]
10326
+ attr_accessor :self_link_with_id
10327
+
9502
10328
  # [Output Only] The total number of instances in the instance group.
9503
10329
  # Corresponds to the JSON property `size`
9504
10330
  # @return [Fixnum]
@@ -9532,6 +10358,7 @@ module Google
9532
10358
  @network = args[:network] if args.key?(:network)
9533
10359
  @region = args[:region] if args.key?(:region)
9534
10360
  @self_link = args[:self_link] if args.key?(:self_link)
10361
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
9535
10362
  @size = args[:size] if args.key?(:size)
9536
10363
  @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
9537
10364
  @zone = args[:zone] if args.key?(:zone)
@@ -9890,6 +10717,11 @@ module Google
9890
10717
  # @return [String]
9891
10718
  attr_accessor :self_link
9892
10719
 
10720
+ # [Output Only] Server-defined URL for this resource with the resource id.
10721
+ # Corresponds to the JSON property `selfLinkWithId`
10722
+ # @return [String]
10723
+ attr_accessor :self_link_with_id
10724
+
9893
10725
  # The service account to be used as credentials for all operations performed by
9894
10726
  # the managed instance group on instances. The service accounts needs all
9895
10727
  # permissions required to create and delete instances. By default, the service
@@ -9968,6 +10800,7 @@ module Google
9968
10800
  @pending_actions = args[:pending_actions] if args.key?(:pending_actions)
9969
10801
  @region = args[:region] if args.key?(:region)
9970
10802
  @self_link = args[:self_link] if args.key?(:self_link)
10803
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
9971
10804
  @service_account = args[:service_account] if args.key?(:service_account)
9972
10805
  @stateful_policy = args[:stateful_policy] if args.key?(:stateful_policy)
9973
10806
  @status = args[:status] if args.key?(:status)
@@ -10560,8 +11393,8 @@ module Google
10560
11393
  # @return [Array<String>]
10561
11394
  attr_accessor :instances
10562
11395
 
10563
- # The maximal action that should be perfomed on the instances. By default
10564
- # REPLACE.
11396
+ # The maximal action that should be performed on the instances. By default
11397
+ # REPLACE. This field is deprecated, please use most_disruptive_allowed_action.
10565
11398
  # Corresponds to the JSON property `maximalAction`
10566
11399
  # @return [String]
10567
11400
  attr_accessor :maximal_action
@@ -12261,6 +13094,32 @@ module Google
12261
13094
  end
12262
13095
  end
12263
13096
 
13097
+ # HttpRouteRuleMatch criteria for field values that must stay within the
13098
+ # specified integer range.
13099
+ class Int64RangeMatch
13100
+ include Google::Apis::Core::Hashable
13101
+
13102
+ # The end of the range (exclusive) in signed long integer format.
13103
+ # Corresponds to the JSON property `rangeEnd`
13104
+ # @return [Fixnum]
13105
+ attr_accessor :range_end
13106
+
13107
+ # The start of the range (inclusive) in signed long integer format.
13108
+ # Corresponds to the JSON property `rangeStart`
13109
+ # @return [Fixnum]
13110
+ attr_accessor :range_start
13111
+
13112
+ def initialize(**args)
13113
+ update!(**args)
13114
+ end
13115
+
13116
+ # Update properties of this object
13117
+ def update!(**args)
13118
+ @range_end = args[:range_end] if args.key?(:range_end)
13119
+ @range_start = args[:range_start] if args.key?(:range_start)
13120
+ end
13121
+ end
13122
+
12264
13123
  # Represents an Interconnects resource. The Interconnects resource is a
12265
13124
  # dedicated connection between Google's network and your on-premises network.
12266
13125
  # For more information, see the Dedicated overview page. (== resource_for v1.
@@ -12362,8 +13221,7 @@ module Google
12362
13221
  attr_accessor :labels
12363
13222
 
12364
13223
  # Type of link requested. This field indicates speed of each of the links in the
12365
- # bundle, not the entire bundle. Only 10G per link is allowed for a dedicated
12366
- # interconnect. Options: Ethernet_10G_LR
13224
+ # bundle, not the entire bundle.
12367
13225
  # Corresponds to the JSON property `linkType`
12368
13226
  # @return [String]
12369
13227
  attr_accessor :link_type
@@ -15254,6 +16112,11 @@ module Google
15254
16112
  class ManagedInstanceInstanceHealth
15255
16113
  include Google::Apis::Core::Hashable
15256
16114
 
16115
+ # [Output Only] The current detailed instance health state.
16116
+ # Corresponds to the JSON property `detailedHealthState`
16117
+ # @return [String]
16118
+ attr_accessor :detailed_health_state
16119
+
15257
16120
  # [Output Only] The URL for the health check that verifies whether the instance
15258
16121
  # is healthy.
15259
16122
  # Corresponds to the JSON property `healthCheck`
@@ -15271,6 +16134,7 @@ module Google
15271
16134
 
15272
16135
  # Update properties of this object
15273
16136
  def update!(**args)
16137
+ @detailed_health_state = args[:detailed_health_state] if args.key?(:detailed_health_state)
15274
16138
  @health_check = args[:health_check] if args.key?(:health_check)
15275
16139
  @health_state = args[:health_state] if args.key?(:health_state)
15276
16140
  end
@@ -15542,6 +16406,82 @@ module Google
15542
16406
  end
15543
16407
  end
15544
16408
 
16409
+ # Opaque filter criteria used by loadbalancers to restrict routing configuration
16410
+ # to a limited set of loadbalancing proxies. Proxies and sidecars involved in
16411
+ # loadbalancing would typically present metadata to the loadbalancers which need
16412
+ # to match criteria specified here. If a match takes place, the relevant routing
16413
+ # configuration is made available to those proxies.
16414
+ # For each metadataFilter in this list, if its filterMatchCriteria is set to
16415
+ # MATCH_ANY, at least one of the filterLabels must match the corresponding label
16416
+ # provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then
16417
+ # all of its filterLabels must match with corresponding labels in the provided
16418
+ # metadata.
16419
+ # An example for using metadataFilters would be: if loadbalancing involves
16420
+ # Envoys, they will only receive routing configuration when values in
16421
+ # metadataFilters match values supplied in <a href="https://www.envoyproxy.io/
16422
+ # docs/envoy/latest/api-v2/api/v2/core/base.proto#envoy-api-msg-core-node" Node
16423
+ # metadata of their XDS requests to loadbalancers.
16424
+ class MetadataFilter
16425
+ include Google::Apis::Core::Hashable
16426
+
16427
+ # The list of label value pairs that must match labels in the provided metadata
16428
+ # based on filterMatchCriteria
16429
+ # This list must not be empty and can have at the most 64 entries.
16430
+ # Corresponds to the JSON property `filterLabels`
16431
+ # @return [Array<Google::Apis::ComputeAlpha::MetadataFilterLabelMatch>]
16432
+ attr_accessor :filter_labels
16433
+
16434
+ # Specifies how individual filterLabel matches within the list of filterLabels
16435
+ # contribute towards the overall metadataFilter match.
16436
+ # Supported values are:
16437
+ # - MATCH_ANY: At least one of the filterLabels must have a matching label in
16438
+ # the provided metadata.
16439
+ # - MATCH_ALL: All filterLabels must have matching labels in the provided
16440
+ # metadata.
16441
+ # Corresponds to the JSON property `filterMatchCriteria`
16442
+ # @return [String]
16443
+ attr_accessor :filter_match_criteria
16444
+
16445
+ def initialize(**args)
16446
+ update!(**args)
16447
+ end
16448
+
16449
+ # Update properties of this object
16450
+ def update!(**args)
16451
+ @filter_labels = args[:filter_labels] if args.key?(:filter_labels)
16452
+ @filter_match_criteria = args[:filter_match_criteria] if args.key?(:filter_match_criteria)
16453
+ end
16454
+ end
16455
+
16456
+ # MetadataFilter label name value pairs that are expected to match corresponding
16457
+ # labels presented as metadata to the loadbalancer.
16458
+ class MetadataFilterLabelMatch
16459
+ include Google::Apis::Core::Hashable
16460
+
16461
+ # Name of metadata label.
16462
+ # The name can have a maximum length of 1024 characters and must be at least 1
16463
+ # character long.
16464
+ # Corresponds to the JSON property `name`
16465
+ # @return [String]
16466
+ attr_accessor :name
16467
+
16468
+ # The value of the label must match the specified value.
16469
+ # value can have a maximum length of 1024 characters.
16470
+ # Corresponds to the JSON property `value`
16471
+ # @return [String]
16472
+ attr_accessor :value
16473
+
16474
+ def initialize(**args)
16475
+ update!(**args)
16476
+ end
16477
+
16478
+ # Update properties of this object
16479
+ def update!(**args)
16480
+ @name = args[:name] if args.key?(:name)
16481
+ @value = args[:value] if args.key?(:value)
16482
+ end
16483
+ end
16484
+
15545
16485
  # The named port. For example: .
15546
16486
  class NamedPort
15547
16487
  include Google::Apis::Core::Hashable
@@ -15655,6 +16595,11 @@ module Google
15655
16595
  # @return [String]
15656
16596
  attr_accessor :self_link
15657
16597
 
16598
+ # [Output Only] Server-defined URL for this resource with the resource id.
16599
+ # Corresponds to the JSON property `selfLinkWithId`
16600
+ # @return [String]
16601
+ attr_accessor :self_link_with_id
16602
+
15658
16603
  # [Output Only] Server-defined fully-qualified URLs for all subnetworks in this
15659
16604
  # VPC network.
15660
16605
  # Corresponds to the JSON property `subnetworks`
@@ -15680,6 +16625,7 @@ module Google
15680
16625
  @peerings = args[:peerings] if args.key?(:peerings)
15681
16626
  @routing_config = args[:routing_config] if args.key?(:routing_config)
15682
16627
  @self_link = args[:self_link] if args.key?(:self_link)
16628
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
15683
16629
  @subnetworks = args[:subnetworks] if args.key?(:subnetworks)
15684
16630
  end
15685
16631
  end
@@ -17473,6 +18419,25 @@ module Google
17473
18419
  end
17474
18420
  end
17475
18421
 
18422
+ #
18423
+ class NodeGroupsSetAutoscalingPolicyRequest
18424
+ include Google::Apis::Core::Hashable
18425
+
18426
+ #
18427
+ # Corresponds to the JSON property `autoscalingPolicy`
18428
+ # @return [Google::Apis::ComputeAlpha::NodeGroupAutoscalingPolicy]
18429
+ attr_accessor :autoscaling_policy
18430
+
18431
+ def initialize(**args)
18432
+ update!(**args)
18433
+ end
18434
+
18435
+ # Update properties of this object
18436
+ def update!(**args)
18437
+ @autoscaling_policy = args[:autoscaling_policy] if args.key?(:autoscaling_policy)
18438
+ end
18439
+ end
18440
+
17476
18441
  #
17477
18442
  class NodeGroupsSetNodeTemplateRequest
17478
18443
  include Google::Apis::Core::Hashable
@@ -19003,6 +19968,16 @@ module Google
19003
19968
  class PathMatcher
19004
19969
  include Google::Apis::Core::Hashable
19005
19970
 
19971
+ # The default HttpRouteAction to follow if none of the pathRules or routeRules
19972
+ # defined by this pathMatcher are matched. Use defaultRouteAction instead of
19973
+ # defaultService when more advanced default routing actions like traffic
19974
+ # splitting and URL rewrites are desired.
19975
+ # Only one of defaultService, defaultRouteAction or defaultUrlRedirect must be
19976
+ # set.
19977
+ # Corresponds to the JSON property `defaultRouteAction`
19978
+ # @return [Google::Apis::ComputeAlpha::HttpRouteAction]
19979
+ attr_accessor :default_route_action
19980
+
19006
19981
  # The full or partial URL to the BackendService resource. This will be used if
19007
19982
  # none of the pathRules or routeRules defined by this PathMatcher are matched.
19008
19983
  # For example, the following are all valid URLs to a BackendService resource:
@@ -19023,12 +19998,23 @@ module Google
19023
19998
  # @return [String]
19024
19999
  attr_accessor :default_service
19025
20000
 
20001
+ # Specifies settings for an HTTP redirect.
20002
+ # Corresponds to the JSON property `defaultUrlRedirect`
20003
+ # @return [Google::Apis::ComputeAlpha::HttpRedirectAction]
20004
+ attr_accessor :default_url_redirect
20005
+
19026
20006
  # An optional description of this resource. Provide this property when you
19027
20007
  # create the resource.
19028
20008
  # Corresponds to the JSON property `description`
19029
20009
  # @return [String]
19030
20010
  attr_accessor :description
19031
20011
 
20012
+ # The request and response header transformations that take effect before the
20013
+ # request is passed along to the selected backendService.
20014
+ # Corresponds to the JSON property `headerAction`
20015
+ # @return [Google::Apis::ComputeAlpha::HttpHeaderAction]
20016
+ attr_accessor :header_action
20017
+
19032
20018
  # The name to which this PathMatcher is referred by the HostRule.
19033
20019
  # Corresponds to the JSON property `name`
19034
20020
  # @return [String]
@@ -19045,16 +20031,29 @@ module Google
19045
20031
  # @return [Array<Google::Apis::ComputeAlpha::PathRule>]
19046
20032
  attr_accessor :path_rules
19047
20033
 
20034
+ # The list of ordered HTTP route rules. Use this list instead of pathRules when
20035
+ # advanced route matching and routing actions are desired. The order of
20036
+ # specifying routeRules matters: the first rule that matches will cause its
20037
+ # specified routing action to take effect.
20038
+ # Only one of pathRules or routeRules must be set.
20039
+ # Corresponds to the JSON property `routeRules`
20040
+ # @return [Array<Google::Apis::ComputeAlpha::HttpRouteRule>]
20041
+ attr_accessor :route_rules
20042
+
19048
20043
  def initialize(**args)
19049
20044
  update!(**args)
19050
20045
  end
19051
20046
 
19052
20047
  # Update properties of this object
19053
20048
  def update!(**args)
20049
+ @default_route_action = args[:default_route_action] if args.key?(:default_route_action)
19054
20050
  @default_service = args[:default_service] if args.key?(:default_service)
20051
+ @default_url_redirect = args[:default_url_redirect] if args.key?(:default_url_redirect)
19055
20052
  @description = args[:description] if args.key?(:description)
20053
+ @header_action = args[:header_action] if args.key?(:header_action)
19056
20054
  @name = args[:name] if args.key?(:name)
19057
20055
  @path_rules = args[:path_rules] if args.key?(:path_rules)
20056
+ @route_rules = args[:route_rules] if args.key?(:route_rules)
19058
20057
  end
19059
20058
  end
19060
20059
 
@@ -19071,6 +20070,14 @@ module Google
19071
20070
  # @return [Array<String>]
19072
20071
  attr_accessor :paths
19073
20072
 
20073
+ # The HttpRouteAction to follow if this rule is matched. Use routeAction instead
20074
+ # of service when more advanced default routing actions like traffic splitting
20075
+ # and Url rewrites are desired.
20076
+ # Only one of service, routeAction or urlRedirect should must be set.
20077
+ # Corresponds to the JSON property `routeAction`
20078
+ # @return [Google::Apis::ComputeAlpha::HttpRouteAction]
20079
+ attr_accessor :route_action
20080
+
19074
20081
  # The URL of the backend service resource if this rule is matched.
19075
20082
  # Use service instead of routeAction when simple routing to a backend service is
19076
20083
  # desired and other advanced capabilities like traffic splitting and rewrites
@@ -19080,6 +20087,11 @@ module Google
19080
20087
  # @return [String]
19081
20088
  attr_accessor :service
19082
20089
 
20090
+ # Specifies settings for an HTTP redirect.
20091
+ # Corresponds to the JSON property `urlRedirect`
20092
+ # @return [Google::Apis::ComputeAlpha::HttpRedirectAction]
20093
+ attr_accessor :url_redirect
20094
+
19083
20095
  def initialize(**args)
19084
20096
  update!(**args)
19085
20097
  end
@@ -19087,7 +20099,9 @@ module Google
19087
20099
  # Update properties of this object
19088
20100
  def update!(**args)
19089
20101
  @paths = args[:paths] if args.key?(:paths)
20102
+ @route_action = args[:route_action] if args.key?(:route_action)
19090
20103
  @service = args[:service] if args.key?(:service)
20104
+ @url_redirect = args[:url_redirect] if args.key?(:url_redirect)
19091
20105
  end
19092
20106
  end
19093
20107
 
@@ -19556,6 +20570,12 @@ module Google
19556
20570
  # @return [String]
19557
20571
  attr_accessor :metric
19558
20572
 
20573
+ # [Output Only] Owning resource. This is the resource on which this quota is
20574
+ # applied.
20575
+ # Corresponds to the JSON property `owner`
20576
+ # @return [String]
20577
+ attr_accessor :owner
20578
+
19559
20579
  # [Output Only] Current usage of this metric.
19560
20580
  # Corresponds to the JSON property `usage`
19561
20581
  # @return [Float]
@@ -19569,6 +20589,7 @@ module Google
19569
20589
  def update!(**args)
19570
20590
  @limit = args[:limit] if args.key?(:limit)
19571
20591
  @metric = args[:metric] if args.key?(:metric)
20592
+ @owner = args[:owner] if args.key?(:owner)
19572
20593
  @usage = args[:usage] if args.key?(:usage)
19573
20594
  end
19574
20595
  end
@@ -20293,8 +21314,8 @@ module Google
20293
21314
  # @return [Array<String>]
20294
21315
  attr_accessor :instances
20295
21316
 
20296
- # The maximal action that should be perfomed on the instances. By default
20297
- # REPLACE.
21317
+ # The maximal action that should be performed on the instances. By default
21318
+ # REPLACE. This field is deprecated, please use most_disruptive_allowed_action.
20298
21319
  # Corresponds to the JSON property `maximalAction`
20299
21320
  # @return [String]
20300
21321
  attr_accessor :maximal_action
@@ -20316,6 +21337,25 @@ module Google
20316
21337
  end
20317
21338
  end
20318
21339
 
21340
+ # RegionInstanceGroupManagers.createInstances
21341
+ class RegionInstanceGroupManagersCreateInstancesRequest
21342
+ include Google::Apis::Core::Hashable
21343
+
21344
+ # [Required] List of specifications of per-instance configs.
21345
+ # Corresponds to the JSON property `instances`
21346
+ # @return [Array<Google::Apis::ComputeAlpha::PerInstanceConfig>]
21347
+ attr_accessor :instances
21348
+
21349
+ def initialize(**args)
21350
+ update!(**args)
21351
+ end
21352
+
21353
+ # Update properties of this object
21354
+ def update!(**args)
21355
+ @instances = args[:instances] if args.key?(:instances)
21356
+ end
21357
+ end
21358
+
20319
21359
  #
20320
21360
  class RegionInstanceGroupManagersDeleteInstancesRequest
20321
21361
  include Google::Apis::Core::Hashable
@@ -20967,6 +22007,28 @@ module Google
20967
22007
  end
20968
22008
  end
20969
22009
 
22010
+ # A policy that specifies how requests intended for the route's backends are
22011
+ # shadowed to a separate mirrored backend service. Loadbalancer does not wait
22012
+ # for responses from the shadow service. Prior to sending traffic to the shadow
22013
+ # service, the host / authority header is suffixed with -shadow.
22014
+ class RequestMirrorPolicy
22015
+ include Google::Apis::Core::Hashable
22016
+
22017
+ # The full or partial URL to the BackendService resource being mirrored to.
22018
+ # Corresponds to the JSON property `backendService`
22019
+ # @return [String]
22020
+ attr_accessor :backend_service
22021
+
22022
+ def initialize(**args)
22023
+ update!(**args)
22024
+ end
22025
+
22026
+ # Update properties of this object
22027
+ def update!(**args)
22028
+ @backend_service = args[:backend_service] if args.key?(:backend_service)
22029
+ end
22030
+ end
22031
+
20970
22032
  # Commitment for a particular resource (a Commitment is composed of one or more
20971
22033
  # of these).
20972
22034
  class ResourceCommitment
@@ -21848,6 +22910,11 @@ module Google
21848
22910
  # @return [String]
21849
22911
  attr_accessor :self_link
21850
22912
 
22913
+ # [Output Only] Server-defined URL for this resource with the resource id.
22914
+ # Corresponds to the JSON property `selfLinkWithId`
22915
+ # @return [String]
22916
+ attr_accessor :self_link_with_id
22917
+
21851
22918
  # A list of instance tags to which this route applies.
21852
22919
  # Corresponds to the JSON property `tags`
21853
22920
  # @return [Array<String>]
@@ -21881,6 +22948,7 @@ module Google
21881
22948
  @next_hop_vpn_tunnel = args[:next_hop_vpn_tunnel] if args.key?(:next_hop_vpn_tunnel)
21882
22949
  @priority = args[:priority] if args.key?(:priority)
21883
22950
  @self_link = args[:self_link] if args.key?(:self_link)
22951
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
21884
22952
  @tags = args[:tags] if args.key?(:tags)
21885
22953
  @warnings = args[:warnings] if args.key?(:warnings)
21886
22954
  end
@@ -24080,7 +25148,7 @@ module Google
24080
25148
  class ShieldedVmIdentity
24081
25149
  include Google::Apis::Core::Hashable
24082
25150
 
24083
- # A Shielded VM Identity Entry.
25151
+ # A Shielded Instance Identity Entry.
24084
25152
  # Corresponds to the JSON property `encryptionKey`
24085
25153
  # @return [Google::Apis::ComputeAlpha::ShieldedVmIdentityEntry]
24086
25154
  attr_accessor :encryption_key
@@ -24091,7 +25159,7 @@ module Google
24091
25159
  # @return [String]
24092
25160
  attr_accessor :kind
24093
25161
 
24094
- # A Shielded VM Identity Entry.
25162
+ # A Shielded Instance Identity Entry.
24095
25163
  # Corresponds to the JSON property `signingKey`
24096
25164
  # @return [Google::Apis::ComputeAlpha::ShieldedVmIdentityEntry]
24097
25165
  attr_accessor :signing_key
@@ -24108,7 +25176,7 @@ module Google
24108
25176
  end
24109
25177
  end
24110
25178
 
24111
- # A Shielded VM Identity Entry.
25179
+ # A Shielded Instance Identity Entry.
24112
25180
  class ShieldedVmIdentityEntry
24113
25181
  include Google::Apis::Core::Hashable
24114
25182
 
@@ -24279,6 +25347,11 @@ module Google
24279
25347
  # @return [String]
24280
25348
  attr_accessor :self_link
24281
25349
 
25350
+ # [Output Only] Server-defined URL for this resource's resource id.
25351
+ # Corresponds to the JSON property `selfLinkWithId`
25352
+ # @return [String]
25353
+ attr_accessor :self_link_with_id
25354
+
24282
25355
  # Represents a customer-supplied encryption key
24283
25356
  # Corresponds to the JSON property `snapshotEncryptionKey`
24284
25357
  # @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey]
@@ -24345,6 +25418,7 @@ module Google
24345
25418
  @licenses = args[:licenses] if args.key?(:licenses)
24346
25419
  @name = args[:name] if args.key?(:name)
24347
25420
  @self_link = args[:self_link] if args.key?(:self_link)
25421
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
24348
25422
  @snapshot_encryption_key = args[:snapshot_encryption_key] if args.key?(:snapshot_encryption_key)
24349
25423
  @source_disk = args[:source_disk] if args.key?(:source_disk)
24350
25424
  @source_disk_encryption_key = args[:source_disk_encryption_key] if args.key?(:source_disk_encryption_key)
@@ -29247,6 +30321,15 @@ module Google
29247
30321
  # @return [String]
29248
30322
  attr_accessor :creation_timestamp
29249
30323
 
30324
+ # The default HttpRouteAction to follow if none of the hostRules match. Use
30325
+ # defaultRouteAction instead of defaultService when more advanced default
30326
+ # routing actions like traffic splitting and Url rewrites are desired.
30327
+ # Only one of defaultService, defaultRouteAction or defaultUrlRedirect should
30328
+ # must be set.
30329
+ # Corresponds to the JSON property `defaultRouteAction`
30330
+ # @return [Google::Apis::ComputeAlpha::HttpRouteAction]
30331
+ attr_accessor :default_route_action
30332
+
29250
30333
  # The URL of the backendService resource if none of the hostRules match.
29251
30334
  # Use defaultService instead of defaultRouteAction when simple routing to a
29252
30335
  # backendService is desired and other advanced capabilities like traffic
@@ -29257,6 +30340,11 @@ module Google
29257
30340
  # @return [String]
29258
30341
  attr_accessor :default_service
29259
30342
 
30343
+ # Specifies settings for an HTTP redirect.
30344
+ # Corresponds to the JSON property `defaultUrlRedirect`
30345
+ # @return [Google::Apis::ComputeAlpha::HttpRedirectAction]
30346
+ attr_accessor :default_url_redirect
30347
+
29260
30348
  # An optional description of this resource. Provide this property when you
29261
30349
  # create the resource.
29262
30350
  # Corresponds to the JSON property `description`
@@ -29274,6 +30362,12 @@ module Google
29274
30362
  # @return [String]
29275
30363
  attr_accessor :fingerprint
29276
30364
 
30365
+ # The request and response header transformations that take effect before the
30366
+ # request is passed along to the selected backendService.
30367
+ # Corresponds to the JSON property `headerAction`
30368
+ # @return [Google::Apis::ComputeAlpha::HttpHeaderAction]
30369
+ attr_accessor :header_action
30370
+
29277
30371
  # The list of HostRules to use against the URL.
29278
30372
  # Corresponds to the JSON property `hostRules`
29279
30373
  # @return [Array<Google::Apis::ComputeAlpha::HostRule>]
@@ -29331,9 +30425,12 @@ module Google
29331
30425
  # Update properties of this object
29332
30426
  def update!(**args)
29333
30427
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
30428
+ @default_route_action = args[:default_route_action] if args.key?(:default_route_action)
29334
30429
  @default_service = args[:default_service] if args.key?(:default_service)
30430
+ @default_url_redirect = args[:default_url_redirect] if args.key?(:default_url_redirect)
29335
30431
  @description = args[:description] if args.key?(:description)
29336
30432
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
30433
+ @header_action = args[:header_action] if args.key?(:header_action)
29337
30434
  @host_rules = args[:host_rules] if args.key?(:host_rules)
29338
30435
  @id = args[:id] if args.key?(:id)
29339
30436
  @kind = args[:kind] if args.key?(:kind)
@@ -29485,11 +30582,23 @@ module Google
29485
30582
  class UrlMapTest
29486
30583
  include Google::Apis::Core::Hashable
29487
30584
 
30585
+ # The weight to use for the supplied host and path when using advanced routing
30586
+ # rules that involve traffic splitting.
30587
+ # Corresponds to the JSON property `backendServiceWeight`
30588
+ # @return [Fixnum]
30589
+ attr_accessor :backend_service_weight
30590
+
29488
30591
  # Description of this test case.
29489
30592
  # Corresponds to the JSON property `description`
29490
30593
  # @return [String]
29491
30594
  attr_accessor :description
29492
30595
 
30596
+ # The expected URL that should be redirected to for the host and path being
30597
+ # tested.
30598
+ # Corresponds to the JSON property `expectedUrlRedirect`
30599
+ # @return [String]
30600
+ attr_accessor :expected_url_redirect
30601
+
29493
30602
  # Host portion of the URL.
29494
30603
  # Corresponds to the JSON property `host`
29495
30604
  # @return [String]
@@ -29511,7 +30620,9 @@ module Google
29511
30620
 
29512
30621
  # Update properties of this object
29513
30622
  def update!(**args)
30623
+ @backend_service_weight = args[:backend_service_weight] if args.key?(:backend_service_weight)
29514
30624
  @description = args[:description] if args.key?(:description)
30625
+ @expected_url_redirect = args[:expected_url_redirect] if args.key?(:expected_url_redirect)
29515
30626
  @host = args[:host] if args.key?(:host)
29516
30627
  @path = args[:path] if args.key?(:path)
29517
30628
  @service = args[:service] if args.key?(:service)
@@ -29807,6 +30918,36 @@ module Google
29807
30918
  end
29808
30919
  end
29809
30920
 
30921
+ # The spec for modifying the path before sending the request to the matched
30922
+ # backend service.
30923
+ class UrlRewrite
30924
+ include Google::Apis::Core::Hashable
30925
+
30926
+ # Prior to forwarding the request to the selected service, the request's host
30927
+ # header is replaced with contents of hostRewrite.
30928
+ # The value must be between 1 and 255 characters.
30929
+ # Corresponds to the JSON property `hostRewrite`
30930
+ # @return [String]
30931
+ attr_accessor :host_rewrite
30932
+
30933
+ # Prior to forwarding the request to the selected backend service, the matching
30934
+ # portion of the request's path is replaced by pathPrefixRewrite.
30935
+ # The value must be between 1 and 1024 characters.
30936
+ # Corresponds to the JSON property `pathPrefixRewrite`
30937
+ # @return [String]
30938
+ attr_accessor :path_prefix_rewrite
30939
+
30940
+ def initialize(**args)
30941
+ update!(**args)
30942
+ end
30943
+
30944
+ # Update properties of this object
30945
+ def update!(**args)
30946
+ @host_rewrite = args[:host_rewrite] if args.key?(:host_rewrite)
30947
+ @path_prefix_rewrite = args[:path_prefix_rewrite] if args.key?(:path_prefix_rewrite)
30948
+ end
30949
+ end
30950
+
29810
30951
  # Subnetwork which the current user has compute.subnetworks.use permission on.
29811
30952
  class UsableSubnetwork
29812
30953
  include Google::Apis::Core::Hashable
@@ -31204,6 +32345,50 @@ module Google
31204
32345
  end
31205
32346
  end
31206
32347
 
32348
+ # In contrast to a single BackendService in HttpRouteAction to which all
32349
+ # matching traffic is directed to, WeightedBackendService allows traffic to be
32350
+ # split across multiple BackendServices. The volume of traffic for each
32351
+ # BackendService is proportional to the weight specified in each
32352
+ # WeightedBackendService
32353
+ class WeightedBackendService
32354
+ include Google::Apis::Core::Hashable
32355
+
32356
+ # The full or partial URL to the default BackendService resource. Before
32357
+ # forwarding the request to backendService, the loadbalancer applies any
32358
+ # relevant headerActions specified as part of this backendServiceWeight.
32359
+ # Corresponds to the JSON property `backendService`
32360
+ # @return [String]
32361
+ attr_accessor :backend_service
32362
+
32363
+ # The request and response header transformations that take effect before the
32364
+ # request is passed along to the selected backendService.
32365
+ # Corresponds to the JSON property `headerAction`
32366
+ # @return [Google::Apis::ComputeAlpha::HttpHeaderAction]
32367
+ attr_accessor :header_action
32368
+
32369
+ # Specifies the fraction of traffic sent to backendService. The sum of all
32370
+ # weights specified in weightedBackendServices within HttpRouteAction must equal
32371
+ # 100.
32372
+ # The selection of a backend service is determined only for new traffic. Once a
32373
+ # user's request has been directed to a backendService, subsequent requests will
32374
+ # be sent to the same backendService as determined by the BackendService's
32375
+ # session affinity policy.
32376
+ # Corresponds to the JSON property `weight`
32377
+ # @return [Fixnum]
32378
+ attr_accessor :weight
32379
+
32380
+ def initialize(**args)
32381
+ update!(**args)
32382
+ end
32383
+
32384
+ # Update properties of this object
32385
+ def update!(**args)
32386
+ @backend_service = args[:backend_service] if args.key?(:backend_service)
32387
+ @header_action = args[:header_action] if args.key?(:header_action)
32388
+ @weight = args[:weight] if args.key?(:weight)
32389
+ end
32390
+ end
32391
+
31207
32392
  #
31208
32393
  class XpnHostList
31209
32394
  include Google::Apis::Core::Hashable