google-api-client 0.27.2 → 0.27.3

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