google-api-client 0.30.9 → 0.30.10

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 (251) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +89 -0
  3. data/api_names.yaml +1 -0
  4. data/generated/google/apis/abusiveexperiencereport_v1.rb +1 -1
  5. data/generated/google/apis/abusiveexperiencereport_v1/classes.rb +18 -7
  6. data/generated/google/apis/abusiveexperiencereport_v1/service.rb +5 -10
  7. data/generated/google/apis/adexperiencereport_v1.rb +1 -1
  8. data/generated/google/apis/adexperiencereport_v1/classes.rb +24 -12
  9. data/generated/google/apis/adexperiencereport_v1/service.rb +6 -9
  10. data/generated/google/apis/analyticsreporting_v4.rb +1 -1
  11. data/generated/google/apis/analyticsreporting_v4/classes.rb +3 -0
  12. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  13. data/generated/google/apis/androidmanagement_v1/classes.rb +62 -9
  14. data/generated/google/apis/androidmanagement_v1/representations.rb +19 -0
  15. data/generated/google/apis/bigquery_v2.rb +1 -1
  16. data/generated/google/apis/bigquery_v2/classes.rb +32 -9
  17. data/generated/google/apis/bigquery_v2/representations.rb +5 -0
  18. data/generated/google/apis/bigquery_v2/service.rb +1 -1
  19. data/generated/google/apis/bigqueryconnection_v1beta1.rb +37 -0
  20. data/generated/google/apis/bigqueryconnection_v1beta1/classes.rb +645 -0
  21. data/generated/google/apis/bigqueryconnection_v1beta1/representations.rb +263 -0
  22. data/generated/google/apis/bigqueryconnection_v1beta1/service.rb +378 -0
  23. data/generated/google/apis/bigtableadmin_v2.rb +1 -1
  24. data/generated/google/apis/bigtableadmin_v2/classes.rb +41 -16
  25. data/generated/google/apis/bigtableadmin_v2/representations.rb +15 -0
  26. data/generated/google/apis/binaryauthorization_v1.rb +35 -0
  27. data/generated/google/apis/binaryauthorization_v1/classes.rb +388 -0
  28. data/generated/google/apis/binaryauthorization_v1/representations.rb +167 -0
  29. data/generated/google/apis/binaryauthorization_v1/service.rb +313 -0
  30. data/generated/google/apis/binaryauthorization_v1beta1.rb +1 -1
  31. data/generated/google/apis/binaryauthorization_v1beta1/classes.rb +6 -1
  32. data/generated/google/apis/binaryauthorization_v1beta1/service.rb +10 -6
  33. data/generated/google/apis/calendar_v3.rb +1 -1
  34. data/generated/google/apis/calendar_v3/classes.rb +1 -1
  35. data/generated/google/apis/cloudasset_v1.rb +1 -1
  36. data/generated/google/apis/cloudasset_v1/classes.rb +52 -1
  37. data/generated/google/apis/cloudasset_v1/representations.rb +17 -0
  38. data/generated/google/apis/cloudasset_v1beta1.rb +1 -1
  39. data/generated/google/apis/cloudasset_v1beta1/classes.rb +6 -1
  40. data/generated/google/apis/cloudiot_v1.rb +1 -1
  41. data/generated/google/apis/cloudiot_v1/classes.rb +11 -4
  42. data/generated/google/apis/cloudkms_v1.rb +1 -1
  43. data/generated/google/apis/cloudkms_v1/classes.rb +0 -14
  44. data/generated/google/apis/cloudkms_v1/representations.rb +0 -2
  45. data/generated/google/apis/cloudkms_v1/service.rb +3 -3
  46. data/generated/google/apis/cloudprivatecatalogproducer_v1beta1.rb +1 -1
  47. data/generated/google/apis/cloudprivatecatalogproducer_v1beta1/classes.rb +6 -1
  48. data/generated/google/apis/cloudprivatecatalogproducer_v1beta1/service.rb +5 -3
  49. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  50. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +12 -8
  51. data/generated/google/apis/cloudresourcemanager_v1/service.rb +5 -1
  52. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  53. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +12 -8
  54. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +6 -2
  55. data/generated/google/apis/cloudresourcemanager_v2.rb +1 -1
  56. data/generated/google/apis/cloudresourcemanager_v2/classes.rb +11 -4
  57. data/generated/google/apis/cloudresourcemanager_v2beta1.rb +1 -1
  58. data/generated/google/apis/cloudresourcemanager_v2beta1/classes.rb +11 -4
  59. data/generated/google/apis/cloudsearch_v1.rb +1 -1
  60. data/generated/google/apis/cloudsearch_v1/classes.rb +14 -3
  61. data/generated/google/apis/cloudsearch_v1/representations.rb +1 -0
  62. data/generated/google/apis/cloudsearch_v1/service.rb +3 -1
  63. data/generated/google/apis/cloudtasks_v2beta3.rb +1 -1
  64. data/generated/google/apis/cloudtasks_v2beta3/classes.rb +2 -2
  65. data/generated/google/apis/cloudtrace_v2.rb +1 -1
  66. data/generated/google/apis/cloudtrace_v2/classes.rb +8 -0
  67. data/generated/google/apis/cloudtrace_v2/representations.rb +1 -0
  68. data/generated/google/apis/commentanalyzer_v1alpha1.rb +1 -1
  69. data/generated/google/apis/commentanalyzer_v1alpha1/classes.rb +1 -0
  70. data/generated/google/apis/composer_v1.rb +1 -1
  71. data/generated/google/apis/composer_v1/classes.rb +17 -24
  72. data/generated/google/apis/composer_v1beta1.rb +1 -1
  73. data/generated/google/apis/composer_v1beta1/classes.rb +17 -24
  74. data/generated/google/apis/compute_alpha.rb +1 -1
  75. data/generated/google/apis/compute_alpha/classes.rb +1139 -284
  76. data/generated/google/apis/compute_alpha/representations.rb +304 -1
  77. data/generated/google/apis/compute_alpha/service.rb +935 -23
  78. data/generated/google/apis/compute_beta.rb +1 -1
  79. data/generated/google/apis/compute_beta/classes.rb +554 -98
  80. data/generated/google/apis/compute_beta/representations.rb +117 -0
  81. data/generated/google/apis/compute_beta/service.rb +63 -19
  82. data/generated/google/apis/compute_v1.rb +1 -1
  83. data/generated/google/apis/compute_v1/classes.rb +1187 -165
  84. data/generated/google/apis/compute_v1/representations.rb +402 -0
  85. data/generated/google/apis/compute_v1/service.rb +832 -12
  86. data/generated/google/apis/container_v1.rb +1 -1
  87. data/generated/google/apis/container_v1/classes.rb +36 -0
  88. data/generated/google/apis/container_v1/representations.rb +16 -0
  89. data/generated/google/apis/container_v1beta1.rb +1 -1
  90. data/generated/google/apis/container_v1beta1/classes.rb +153 -0
  91. data/generated/google/apis/container_v1beta1/representations.rb +77 -0
  92. data/generated/google/apis/content_v2.rb +1 -1
  93. data/generated/google/apis/content_v2/classes.rb +93 -2
  94. data/generated/google/apis/content_v2/representations.rb +37 -0
  95. data/generated/google/apis/content_v2_1.rb +1 -1
  96. data/generated/google/apis/content_v2_1/classes.rb +86 -2
  97. data/generated/google/apis/content_v2_1/representations.rb +36 -0
  98. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  99. data/generated/google/apis/dataflow_v1b3/classes.rb +21 -106
  100. data/generated/google/apis/dataflow_v1b3/representations.rb +3 -58
  101. data/generated/google/apis/dataflow_v1b3/service.rb +0 -327
  102. data/generated/google/apis/dataproc_v1.rb +1 -1
  103. data/generated/google/apis/dataproc_v1/classes.rb +7 -0
  104. data/generated/google/apis/dataproc_v1/representations.rb +1 -0
  105. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  106. data/generated/google/apis/dataproc_v1beta2/classes.rb +7 -0
  107. data/generated/google/apis/dataproc_v1beta2/representations.rb +1 -0
  108. data/generated/google/apis/datastore_v1.rb +1 -1
  109. data/generated/google/apis/datastore_v1/classes.rb +9 -75
  110. data/generated/google/apis/datastore_v1beta1.rb +1 -1
  111. data/generated/google/apis/datastore_v1beta1/classes.rb +9 -75
  112. data/generated/google/apis/dfareporting_v3_1.rb +1 -1
  113. data/generated/google/apis/dfareporting_v3_1/classes.rb +42 -302
  114. data/generated/google/apis/dfareporting_v3_1/representations.rb +8 -84
  115. data/generated/google/apis/dfareporting_v3_1/service.rb +5 -107
  116. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  117. data/generated/google/apis/dialogflow_v2beta1/classes.rb +118 -0
  118. data/generated/google/apis/dialogflow_v2beta1/representations.rb +70 -0
  119. data/generated/google/apis/dialogflow_v2beta1/service.rb +75 -0
  120. data/generated/google/apis/dlp_v2.rb +1 -1
  121. data/generated/google/apis/dlp_v2/classes.rb +42 -0
  122. data/generated/google/apis/dlp_v2/representations.rb +16 -0
  123. data/generated/google/apis/dlp_v2/service.rb +125 -1
  124. data/generated/google/apis/docs_v1.rb +1 -1
  125. data/generated/google/apis/docs_v1/classes.rb +128 -0
  126. data/generated/google/apis/docs_v1/representations.rb +49 -0
  127. data/generated/google/apis/{appstate_v1.rb → domainsrdap_v1.rb} +8 -11
  128. data/generated/google/apis/domainsrdap_v1/classes.rb +269 -0
  129. data/generated/google/apis/{appstate_v1 → domainsrdap_v1}/representations.rb +33 -22
  130. data/generated/google/apis/domainsrdap_v1/service.rb +350 -0
  131. data/generated/google/apis/drive_v2.rb +1 -1
  132. data/generated/google/apis/drive_v2/classes.rb +10 -1
  133. data/generated/google/apis/drive_v2/representations.rb +1 -0
  134. data/generated/google/apis/drive_v3.rb +1 -1
  135. data/generated/google/apis/drive_v3/classes.rb +10 -1
  136. data/generated/google/apis/drive_v3/representations.rb +1 -0
  137. data/generated/google/apis/driveactivity_v2.rb +1 -1
  138. data/generated/google/apis/firestore_v1.rb +1 -1
  139. data/generated/google/apis/firestore_v1/classes.rb +21 -130
  140. data/generated/google/apis/firestore_v1beta1.rb +1 -1
  141. data/generated/google/apis/firestore_v1beta1/classes.rb +16 -122
  142. data/generated/google/apis/firestore_v1beta2.rb +1 -1
  143. data/generated/google/apis/firestore_v1beta2/classes.rb +14 -83
  144. data/generated/google/apis/healthcare_v1alpha2.rb +1 -1
  145. data/generated/google/apis/healthcare_v1alpha2/classes.rb +94 -48
  146. data/generated/google/apis/healthcare_v1alpha2/representations.rb +16 -0
  147. data/generated/google/apis/healthcare_v1alpha2/service.rb +117 -75
  148. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  149. data/generated/google/apis/healthcare_v1beta1/classes.rb +56 -2
  150. data/generated/google/apis/healthcare_v1beta1/representations.rb +17 -0
  151. data/generated/google/apis/healthcare_v1beta1/service.rb +10 -5
  152. data/generated/google/apis/homegraph_v1.rb +31 -0
  153. data/generated/google/apis/homegraph_v1/classes.rb +692 -0
  154. data/generated/google/apis/homegraph_v1/representations.rb +323 -0
  155. data/generated/google/apis/homegraph_v1/service.rb +255 -0
  156. data/generated/google/apis/logging_v2.rb +1 -1
  157. data/generated/google/apis/logging_v2/classes.rb +8 -7
  158. data/generated/google/apis/logging_v2/service.rb +40 -35
  159. data/generated/google/apis/ml_v1.rb +1 -1
  160. data/generated/google/apis/monitoring_v3.rb +1 -1
  161. data/generated/google/apis/pagespeedonline_v5.rb +1 -1
  162. data/generated/google/apis/pubsub_v1.rb +1 -1
  163. data/generated/google/apis/pubsub_v1/classes.rb +6 -1
  164. data/generated/google/apis/pubsub_v1/service.rb +15 -9
  165. data/generated/google/apis/pubsub_v1beta2.rb +1 -1
  166. data/generated/google/apis/pubsub_v1beta2/classes.rb +6 -1
  167. data/generated/google/apis/pubsub_v1beta2/service.rb +10 -6
  168. data/generated/google/apis/run_v1alpha1.rb +1 -1
  169. data/generated/google/apis/run_v1alpha1/classes.rb +26 -6
  170. data/generated/google/apis/run_v1alpha1/representations.rb +1 -0
  171. data/generated/google/apis/run_v1alpha1/service.rb +5 -3
  172. data/generated/google/apis/runtimeconfig_v1beta1.rb +1 -1
  173. data/generated/google/apis/runtimeconfig_v1beta1/classes.rb +6 -1
  174. data/generated/google/apis/runtimeconfig_v1beta1/service.rb +5 -3
  175. data/generated/google/apis/script_v1.rb +1 -1
  176. data/generated/google/apis/script_v1/service.rb +6 -5
  177. data/generated/google/apis/securitycenter_v1.rb +1 -1
  178. data/generated/google/apis/securitycenter_v1/classes.rb +11 -4
  179. data/generated/google/apis/securitycenter_v1beta1.rb +1 -1
  180. data/generated/google/apis/securitycenter_v1beta1/classes.rb +11 -4
  181. data/generated/google/apis/servicebroker_v1.rb +1 -1
  182. data/generated/google/apis/servicebroker_v1/classes.rb +6 -1
  183. data/generated/google/apis/servicebroker_v1/service.rb +5 -3
  184. data/generated/google/apis/servicebroker_v1alpha1.rb +1 -1
  185. data/generated/google/apis/servicebroker_v1alpha1/classes.rb +6 -1
  186. data/generated/google/apis/servicebroker_v1alpha1/service.rb +5 -3
  187. data/generated/google/apis/servicebroker_v1beta1.rb +1 -1
  188. data/generated/google/apis/servicebroker_v1beta1/classes.rb +6 -1
  189. data/generated/google/apis/servicebroker_v1beta1/service.rb +5 -3
  190. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  191. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +1 -4
  192. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  193. data/generated/google/apis/servicemanagement_v1/classes.rb +11 -4
  194. data/generated/google/apis/servicenetworking_v1.rb +1 -1
  195. data/generated/google/apis/servicenetworking_v1/classes.rb +1 -4
  196. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  197. data/generated/google/apis/servicenetworking_v1beta/classes.rb +1 -4
  198. data/generated/google/apis/serviceusage_v1.rb +1 -1
  199. data/generated/google/apis/serviceusage_v1/classes.rb +30 -4
  200. data/generated/google/apis/serviceusage_v1/representations.rb +14 -0
  201. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  202. data/generated/google/apis/serviceusage_v1beta1/classes.rb +30 -4
  203. data/generated/google/apis/serviceusage_v1beta1/representations.rb +14 -0
  204. data/generated/google/apis/slides_v1.rb +1 -1
  205. data/generated/google/apis/slides_v1/classes.rb +1 -1
  206. data/generated/google/apis/speech_v1.rb +1 -1
  207. data/generated/google/apis/speech_v1/classes.rb +9 -7
  208. data/generated/google/apis/speech_v1p1beta1.rb +1 -1
  209. data/generated/google/apis/speech_v1p1beta1/classes.rb +17 -15
  210. data/generated/google/apis/speech_v2beta.rb +1 -1
  211. data/generated/google/apis/speech_v2beta/classes.rb +3 -3
  212. data/generated/google/apis/sqladmin_v1beta4.rb +1 -1
  213. data/generated/google/apis/sqladmin_v1beta4/classes.rb +72 -0
  214. data/generated/google/apis/sqladmin_v1beta4/representations.rb +35 -0
  215. data/generated/google/apis/sqladmin_v1beta4/service.rb +2 -1
  216. data/generated/google/apis/storage_v1.rb +1 -1
  217. data/generated/google/apis/storage_v1/classes.rb +7 -1
  218. data/generated/google/apis/storage_v1/representations.rb +2 -2
  219. data/generated/google/apis/storage_v1/service.rb +6 -1
  220. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  221. data/generated/google/apis/storagetransfer_v1/service.rb +1 -9
  222. data/generated/google/apis/testing_v1.rb +1 -1
  223. data/generated/google/apis/testing_v1/classes.rb +19 -0
  224. data/generated/google/apis/testing_v1/representations.rb +3 -0
  225. data/generated/google/apis/toolresults_v1beta3.rb +1 -1
  226. data/generated/google/apis/toolresults_v1beta3/classes.rb +1 -0
  227. data/generated/google/apis/translate_v3beta1.rb +1 -1
  228. data/generated/google/apis/translate_v3beta1/classes.rb +33 -0
  229. data/generated/google/apis/translate_v3beta1/representations.rb +3 -0
  230. data/generated/google/apis/verifiedaccess_v1.rb +35 -0
  231. data/generated/google/apis/verifiedaccess_v1/classes.rb +174 -0
  232. data/generated/google/apis/verifiedaccess_v1/representations.rb +99 -0
  233. data/generated/google/apis/verifiedaccess_v1/service.rb +120 -0
  234. data/generated/google/apis/vision_v1.rb +1 -1
  235. data/generated/google/apis/vision_v1/classes.rb +204 -2375
  236. data/generated/google/apis/vision_v1/representations.rb +701 -1634
  237. data/generated/google/apis/vision_v1/service.rb +17 -17
  238. data/generated/google/apis/vision_v1p1beta1.rb +1 -1
  239. data/generated/google/apis/vision_v1p1beta1/classes.rb +135 -2306
  240. data/generated/google/apis/vision_v1p1beta1/representations.rb +768 -1701
  241. data/generated/google/apis/vision_v1p2beta1.rb +1 -1
  242. data/generated/google/apis/vision_v1p2beta1/classes.rb +326 -2161
  243. data/generated/google/apis/vision_v1p2beta1/representations.rb +897 -1710
  244. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  245. data/generated/google/apis/youtube_v3.rb +1 -1
  246. data/generated/google/apis/youtube_v3/classes.rb +8 -2
  247. data/generated/google/apis/youtube_v3/representations.rb +1 -0
  248. data/lib/google/apis/version.rb +1 -1
  249. metadata +22 -6
  250. data/generated/google/apis/appstate_v1/classes.rb +0 -154
  251. data/generated/google/apis/appstate_v1/service.rb +0 -249
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://developers.google.com/compute/docs/reference/latest/
26
26
  module ComputeV1
27
27
  VERSION = 'V1'
28
- REVISION = '20190624'
28
+ REVISION = '20190815'
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'
@@ -1114,12 +1114,12 @@ module Google
1114
1114
  class AllocationSpecificSkuReservation
1115
1115
  include Google::Apis::Core::Hashable
1116
1116
 
1117
- # Specifies number of resources that are allocated.
1117
+ # Specifies the number of resources that are allocated.
1118
1118
  # Corresponds to the JSON property `count`
1119
1119
  # @return [Fixnum]
1120
1120
  attr_accessor :count
1121
1121
 
1122
- # [OutputOnly] Indicates how many resource are in use.
1122
+ # [OutputOnly] Indicates how many instances are in use.
1123
1123
  # Corresponds to the JSON property `inUseCount`
1124
1124
  # @return [Fixnum]
1125
1125
  attr_accessor :in_use_count
@@ -1284,7 +1284,9 @@ module Google
1284
1284
  # @return [String]
1285
1285
  attr_accessor :disk_name
1286
1286
 
1287
- # Specifies the size of the disk in base-2 GB.
1287
+ # Specifies the size of the disk in base-2 GB. If not specified, the disk will
1288
+ # be the same size as the image (usually 10GB). If specified, the size must be
1289
+ # equal to or larger than 10GB.
1288
1290
  # Corresponds to the JSON property `diskSizeGb`
1289
1291
  # @return [Fixnum]
1290
1292
  attr_accessor :disk_size_gb
@@ -1387,14 +1389,14 @@ module Google
1387
1389
  # AuditLogConfig are exempted.
1388
1390
  # Example Policy with multiple AuditConfigs:
1389
1391
  # ` "audit_configs": [ ` "service": "allServices" "audit_log_configs": [ ` "
1390
- # log_type": "DATA_READ", "exempted_members": [ "user:foo@gmail.com" ] `, ` "
1392
+ # log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] `, ` "
1391
1393
  # log_type": "DATA_WRITE", `, ` "log_type": "ADMIN_READ", ` ] `, ` "service": "
1392
- # fooservice.googleapis.com" "audit_log_configs": [ ` "log_type": "DATA_READ", `,
1393
- # ` "log_type": "DATA_WRITE", "exempted_members": [ "user:bar@gmail.com" ] ` ] `
1394
- # ] `
1395
- # For fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
1396
- # logging. It also exempts foo@gmail.com from DATA_READ logging, and bar@gmail.
1397
- # com from DATA_WRITE logging.
1394
+ # sampleservice.googleapis.com" "audit_log_configs": [ ` "log_type": "DATA_READ",
1395
+ # `, ` "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com"
1396
+ # ] ` ] ` ] `
1397
+ # For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
1398
+ # logging. It also exempts jose@example.com from DATA_READ logging, and aliya@
1399
+ # example.com from DATA_WRITE logging.
1398
1400
  class AuditConfig
1399
1401
  include Google::Apis::Core::Hashable
1400
1402
 
@@ -1429,9 +1431,9 @@ module Google
1429
1431
 
1430
1432
  # Provides the configuration for logging a type of permissions. Example:
1431
1433
  # ` "audit_log_configs": [ ` "log_type": "DATA_READ", "exempted_members": [ "
1432
- # user:foo@gmail.com" ] `, ` "log_type": "DATA_WRITE", ` ] `
1433
- # This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting foo@gmail.
1434
- # com from DATA_READ logging.
1434
+ # user:jose@example.com" ] `, ` "log_type": "DATA_WRITE", ` ] `
1435
+ # This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@
1436
+ # example.com from DATA_READ logging.
1435
1437
  class AuditLogConfig
1436
1438
  include Google::Apis::Core::Hashable
1437
1439
 
@@ -1441,6 +1443,13 @@ module Google
1441
1443
  # @return [Array<String>]
1442
1444
  attr_accessor :exempted_members
1443
1445
 
1446
+ # Specifies whether principals can be exempted for the same LogType in lower-
1447
+ # level resource policies. If true, any lower-level exemptions will be ignored.
1448
+ # Corresponds to the JSON property `ignoreChildExemptions`
1449
+ # @return [Boolean]
1450
+ attr_accessor :ignore_child_exemptions
1451
+ alias_method :ignore_child_exemptions?, :ignore_child_exemptions
1452
+
1444
1453
  # The log type that this config enables.
1445
1454
  # Corresponds to the JSON property `logType`
1446
1455
  # @return [String]
@@ -1453,6 +1462,7 @@ module Google
1453
1462
  # Update properties of this object
1454
1463
  def update!(**args)
1455
1464
  @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
1465
+ @ignore_child_exemptions = args[:ignore_child_exemptions] if args.key?(:ignore_child_exemptions)
1456
1466
  @log_type = args[:log_type] if args.key?(:log_type)
1457
1467
  end
1458
1468
  end
@@ -2090,8 +2100,8 @@ module Google
2090
2100
  #
2091
2101
  # - If the load balancing mode is CONNECTION, then the load is spread based on
2092
2102
  # how many concurrent connections the backend can handle.
2093
- # The CONNECTION balancing mode is only available if the protocol for the
2094
- # backend service is SSL, TCP, or UDP.
2103
+ # You can use the CONNECTION balancing mode if the protocol for the backend
2104
+ # service is SSL, TCP, or UDP.
2095
2105
  # If the loadBalancingScheme for the backend service is EXTERNAL (SSL Proxy and
2096
2106
  # TCP Proxy load balancers), you must also specify exactly one of the following
2097
2107
  # parameters: maxConnections, maxConnectionsPerInstance, or
@@ -2099,18 +2109,18 @@ module Google
2099
2109
  # If the loadBalancingScheme for the backend service is INTERNAL (internal TCP/
2100
2110
  # UDP load balancers), you cannot specify any additional parameters.
2101
2111
  #
2102
- # - If the load balancing mode is RATE, then the load is spread based on the
2103
- # rate of HTTP requests per second (RPS).
2104
- # The RATE balancing mode is only available if the protocol for the backend
2105
- # service is HTTP or HTTPS. You must specify exactly one of the following
2106
- # parameters: maxRate, maxRatePerInstance, or maxRatePerEndpoint.
2112
+ # - If the load balancing mode is RATE, the load is spread based on the rate of
2113
+ # HTTP requests per second (RPS).
2114
+ # You can use the RATE balancing mode if the protocol for the backend service is
2115
+ # HTTP or HTTPS. You must specify exactly one of the following parameters:
2116
+ # maxRate, maxRatePerInstance, or maxRatePerEndpoint.
2107
2117
  #
2108
- # - If the load balancing mode is UTILIZATION, then the load is spread based on
2109
- # the CPU utilization of instances in an instance group.
2110
- # The UTILIZATION balancing mode is only available if the loadBalancingScheme of
2111
- # the backend service is EXTERNAL, INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED
2112
- # and the backend is made up of instance groups. There are no restrictions on
2113
- # the backend service protocol.
2118
+ # - If the load balancing mode is UTILIZATION, the load is spread based on the
2119
+ # CPU utilization of instances in an instance group.
2120
+ # You can use the UTILIZATION balancing mode if the loadBalancingScheme of the
2121
+ # backend service is EXTERNAL, INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED and
2122
+ # the backends are instance groups. There are no restrictions on the backend
2123
+ # service protocol.
2114
2124
  # Corresponds to the JSON property `balancingMode`
2115
2125
  # @return [String]
2116
2126
  attr_accessor :balancing_mode
@@ -2637,8 +2647,8 @@ module Google
2637
2647
  # Type of session affinity to use. The default is NONE. Session affinity is not
2638
2648
  # applicable if the --protocol is UDP.
2639
2649
  # When the loadBalancingScheme is EXTERNAL, possible values are NONE, CLIENT_IP,
2640
- # or GENERATED_COOKIE. GENERATED_COOKIE is only available if the protocol is
2641
- # HTTP or HTTPS.
2650
+ # or GENERATED_COOKIE. You can use GENERATED_COOKIE if the protocol is HTTP or
2651
+ # HTTPS.
2642
2652
  # When the loadBalancingScheme is INTERNAL, possible values are NONE, CLIENT_IP,
2643
2653
  # CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO.
2644
2654
  # When the loadBalancingScheme is INTERNAL_SELF_MANAGED, possible values are
@@ -3152,7 +3162,7 @@ module Google
3152
3162
  # * `allAuthenticatedUsers`: A special identifier that represents anyone who is
3153
3163
  # authenticated with a Google account or a service account.
3154
3164
  # * `user:`emailid``: An email address that represents a specific Google account.
3155
- # For example, `alice@gmail.com` .
3165
+ # For example, `alice@example.com` .
3156
3166
  # * `serviceAccount:`emailid``: An email address that represents a service
3157
3167
  # account. For example, `my-other-app@appspot.gserviceaccount.com`.
3158
3168
  # * `group:`emailid``: An email address that represents a Google group. For
@@ -3321,7 +3331,7 @@ module Google
3321
3331
  # @return [String]
3322
3332
  attr_accessor :region
3323
3333
 
3324
- # List of reservations for this commitment.
3334
+ # List of reservations in this commitment.
3325
3335
  # Corresponds to the JSON property `reservations`
3326
3336
  # @return [Array<Google::Apis::ComputeV1::Reservation>]
3327
3337
  attr_accessor :reservations
@@ -4083,7 +4093,9 @@ module Google
4083
4093
  # @return [String]
4084
4094
  attr_accessor :source_snapshot_id
4085
4095
 
4086
- # [Output Only] The status of disk creation.
4096
+ # [Output Only] The status of disk creation. CREATING: Disk is provisioning.
4097
+ # RESTORING: Source data is being copied into the disk. FAILED: Disk creation
4098
+ # failed. READY: Disk is ready for use. DELETING: Disk is deleting.
4087
4099
  # Corresponds to the JSON property `status`
4088
4100
  # @return [String]
4089
4101
  attr_accessor :status
@@ -5034,6 +5046,26 @@ module Google
5034
5046
  end
5035
5047
  end
5036
5048
 
5049
+ # A set of Display Device options
5050
+ class DisplayDevice
5051
+ include Google::Apis::Core::Hashable
5052
+
5053
+ # Defines whether the instance has Display enabled.
5054
+ # Corresponds to the JSON property `enableDisplay`
5055
+ # @return [Boolean]
5056
+ attr_accessor :enable_display
5057
+ alias_method :enable_display?, :enable_display
5058
+
5059
+ def initialize(**args)
5060
+ update!(**args)
5061
+ end
5062
+
5063
+ # Update properties of this object
5064
+ def update!(**args)
5065
+ @enable_display = args[:enable_display] if args.key?(:enable_display)
5066
+ end
5067
+ end
5068
+
5037
5069
  #
5038
5070
  class DistributionPolicy
5039
5071
  include Google::Apis::Core::Hashable
@@ -5118,6 +5150,257 @@ module Google
5118
5150
  end
5119
5151
  end
5120
5152
 
5153
+ # External VPN gateway is the on-premises VPN gateway(s) or another cloud
5154
+ # provider?s VPN gateway that connects to your Google Cloud VPN gateway. To
5155
+ # create a highly available VPN from Google Cloud to your on-premises side or
5156
+ # another Cloud provider's VPN gateway, you must create a external VPN gateway
5157
+ # resource in GCP, which provides the information to GCP about your external VPN
5158
+ # gateway.
5159
+ class ExternalVpnGateway
5160
+ include Google::Apis::Core::Hashable
5161
+
5162
+ # [Output Only] Creation timestamp in RFC3339 text format.
5163
+ # Corresponds to the JSON property `creationTimestamp`
5164
+ # @return [String]
5165
+ attr_accessor :creation_timestamp
5166
+
5167
+ # An optional description of this resource. Provide this property when you
5168
+ # create the resource.
5169
+ # Corresponds to the JSON property `description`
5170
+ # @return [String]
5171
+ attr_accessor :description
5172
+
5173
+ # [Output Only] The unique identifier for the resource. This identifier is
5174
+ # defined by the server.
5175
+ # Corresponds to the JSON property `id`
5176
+ # @return [Fixnum]
5177
+ attr_accessor :id
5178
+
5179
+ # List of interfaces for this external VPN gateway.
5180
+ # Corresponds to the JSON property `interfaces`
5181
+ # @return [Array<Google::Apis::ComputeV1::ExternalVpnGatewayInterface>]
5182
+ attr_accessor :interfaces
5183
+
5184
+ # [Output Only] Type of the resource. Always compute#externalVpnGateway for
5185
+ # externalVpnGateways.
5186
+ # Corresponds to the JSON property `kind`
5187
+ # @return [String]
5188
+ attr_accessor :kind
5189
+
5190
+ # A fingerprint for the labels being applied to this ExternalVpnGateway, which
5191
+ # is essentially a hash of the labels set used for optimistic locking. The
5192
+ # fingerprint is initially generated by Compute Engine and changes after every
5193
+ # request to modify or update labels. You must always provide an up-to-date
5194
+ # fingerprint hash in order to update or change labels, otherwise the request
5195
+ # will fail with error 412 conditionNotMet.
5196
+ # To see the latest fingerprint, make a get() request to retrieve an
5197
+ # ExternalVpnGateway.
5198
+ # Corresponds to the JSON property `labelFingerprint`
5199
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
5200
+ # @return [String]
5201
+ attr_accessor :label_fingerprint
5202
+
5203
+ # Labels to apply to this ExternalVpnGateway resource. These can be later
5204
+ # modified by the setLabels method. Each label key/value must comply with
5205
+ # RFC1035. Label values may be empty.
5206
+ # Corresponds to the JSON property `labels`
5207
+ # @return [Hash<String,String>]
5208
+ attr_accessor :labels
5209
+
5210
+ # Name of the resource. Provided by the client when the resource is created. The
5211
+ # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
5212
+ # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
5213
+ # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
5214
+ # and all following characters must be a dash, lowercase letter, or digit,
5215
+ # except the last character, which cannot be a dash.
5216
+ # Corresponds to the JSON property `name`
5217
+ # @return [String]
5218
+ attr_accessor :name
5219
+
5220
+ # Indicates the user-supplied redundancy type of this external VPN gateway.
5221
+ # Corresponds to the JSON property `redundancyType`
5222
+ # @return [String]
5223
+ attr_accessor :redundancy_type
5224
+
5225
+ # [Output Only] Server-defined URL for the resource.
5226
+ # Corresponds to the JSON property `selfLink`
5227
+ # @return [String]
5228
+ attr_accessor :self_link
5229
+
5230
+ def initialize(**args)
5231
+ update!(**args)
5232
+ end
5233
+
5234
+ # Update properties of this object
5235
+ def update!(**args)
5236
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
5237
+ @description = args[:description] if args.key?(:description)
5238
+ @id = args[:id] if args.key?(:id)
5239
+ @interfaces = args[:interfaces] if args.key?(:interfaces)
5240
+ @kind = args[:kind] if args.key?(:kind)
5241
+ @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
5242
+ @labels = args[:labels] if args.key?(:labels)
5243
+ @name = args[:name] if args.key?(:name)
5244
+ @redundancy_type = args[:redundancy_type] if args.key?(:redundancy_type)
5245
+ @self_link = args[:self_link] if args.key?(:self_link)
5246
+ end
5247
+ end
5248
+
5249
+ # The interface for the external VPN gateway.
5250
+ class ExternalVpnGatewayInterface
5251
+ include Google::Apis::Core::Hashable
5252
+
5253
+ # The numeric ID of this interface. The allowed input values for this id for
5254
+ # different redundancy types of external VPN gateway:
5255
+ # SINGLE_IP_INTERNALLY_REDUNDANT - 0 TWO_IPS_REDUNDANCY - 0, 1
5256
+ # FOUR_IPS_REDUNDANCY - 0, 1, 2, 3
5257
+ # Corresponds to the JSON property `id`
5258
+ # @return [Fixnum]
5259
+ attr_accessor :id
5260
+
5261
+ # IP address of the interface in the external VPN gateway. Only IPv4 is
5262
+ # supported. This IP address can be either from your on-premise gateway or
5263
+ # another Cloud provider?s VPN gateway, it cannot be an IP address from Google
5264
+ # Compute Engine.
5265
+ # Corresponds to the JSON property `ipAddress`
5266
+ # @return [String]
5267
+ attr_accessor :ip_address
5268
+
5269
+ def initialize(**args)
5270
+ update!(**args)
5271
+ end
5272
+
5273
+ # Update properties of this object
5274
+ def update!(**args)
5275
+ @id = args[:id] if args.key?(:id)
5276
+ @ip_address = args[:ip_address] if args.key?(:ip_address)
5277
+ end
5278
+ end
5279
+
5280
+ # Response to the list request, and contains a list of externalVpnGateways.
5281
+ class ExternalVpnGatewayList
5282
+ include Google::Apis::Core::Hashable
5283
+
5284
+ #
5285
+ # Corresponds to the JSON property `etag`
5286
+ # @return [String]
5287
+ attr_accessor :etag
5288
+
5289
+ # [Output Only] Unique identifier for the resource; defined by the server.
5290
+ # Corresponds to the JSON property `id`
5291
+ # @return [String]
5292
+ attr_accessor :id
5293
+
5294
+ # A list of ExternalVpnGateway resources.
5295
+ # Corresponds to the JSON property `items`
5296
+ # @return [Array<Google::Apis::ComputeV1::ExternalVpnGateway>]
5297
+ attr_accessor :items
5298
+
5299
+ # [Output Only] Type of resource. Always compute#externalVpnGatewayList for
5300
+ # lists of externalVpnGateways.
5301
+ # Corresponds to the JSON property `kind`
5302
+ # @return [String]
5303
+ attr_accessor :kind
5304
+
5305
+ # [Output Only] This token allows you to get the next page of results for list
5306
+ # requests. If the number of results is larger than maxResults, use the
5307
+ # nextPageToken as a value for the query parameter pageToken in the next list
5308
+ # request. Subsequent list requests will have their own nextPageToken to
5309
+ # continue paging through the results.
5310
+ # Corresponds to the JSON property `nextPageToken`
5311
+ # @return [String]
5312
+ attr_accessor :next_page_token
5313
+
5314
+ # [Output Only] Server-defined URL for this resource.
5315
+ # Corresponds to the JSON property `selfLink`
5316
+ # @return [String]
5317
+ attr_accessor :self_link
5318
+
5319
+ # [Output Only] Informational warning message.
5320
+ # Corresponds to the JSON property `warning`
5321
+ # @return [Google::Apis::ComputeV1::ExternalVpnGatewayList::Warning]
5322
+ attr_accessor :warning
5323
+
5324
+ def initialize(**args)
5325
+ update!(**args)
5326
+ end
5327
+
5328
+ # Update properties of this object
5329
+ def update!(**args)
5330
+ @etag = args[:etag] if args.key?(:etag)
5331
+ @id = args[:id] if args.key?(:id)
5332
+ @items = args[:items] if args.key?(:items)
5333
+ @kind = args[:kind] if args.key?(:kind)
5334
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
5335
+ @self_link = args[:self_link] if args.key?(:self_link)
5336
+ @warning = args[:warning] if args.key?(:warning)
5337
+ end
5338
+
5339
+ # [Output Only] Informational warning message.
5340
+ class Warning
5341
+ include Google::Apis::Core::Hashable
5342
+
5343
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
5344
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
5345
+ # Corresponds to the JSON property `code`
5346
+ # @return [String]
5347
+ attr_accessor :code
5348
+
5349
+ # [Output Only] Metadata about this warning in key: value format. For example:
5350
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
5351
+ # Corresponds to the JSON property `data`
5352
+ # @return [Array<Google::Apis::ComputeV1::ExternalVpnGatewayList::Warning::Datum>]
5353
+ attr_accessor :data
5354
+
5355
+ # [Output Only] A human-readable description of the warning code.
5356
+ # Corresponds to the JSON property `message`
5357
+ # @return [String]
5358
+ attr_accessor :message
5359
+
5360
+ def initialize(**args)
5361
+ update!(**args)
5362
+ end
5363
+
5364
+ # Update properties of this object
5365
+ def update!(**args)
5366
+ @code = args[:code] if args.key?(:code)
5367
+ @data = args[:data] if args.key?(:data)
5368
+ @message = args[:message] if args.key?(:message)
5369
+ end
5370
+
5371
+ #
5372
+ class Datum
5373
+ include Google::Apis::Core::Hashable
5374
+
5375
+ # [Output Only] A key that provides more detail on the warning being returned.
5376
+ # For example, for warnings where there are no results in a list request for a
5377
+ # particular zone, this key might be scope and the key value might be the zone
5378
+ # name. Other examples might be a key indicating a deprecated resource and a
5379
+ # suggested replacement, or a warning about invalid network settings (for
5380
+ # example, if an instance attempts to perform IP forwarding but is not enabled
5381
+ # for IP forwarding).
5382
+ # Corresponds to the JSON property `key`
5383
+ # @return [String]
5384
+ attr_accessor :key
5385
+
5386
+ # [Output Only] A warning data value corresponding to the key.
5387
+ # Corresponds to the JSON property `value`
5388
+ # @return [String]
5389
+ attr_accessor :value
5390
+
5391
+ def initialize(**args)
5392
+ update!(**args)
5393
+ end
5394
+
5395
+ # Update properties of this object
5396
+ def update!(**args)
5397
+ @key = args[:key] if args.key?(:key)
5398
+ @value = args[:value] if args.key?(:value)
5399
+ end
5400
+ end
5401
+ end
5402
+ end
5403
+
5121
5404
  # Represents a Firewall Rule resource.
5122
5405
  # Firewall rules allow or deny ingress traffic to, and egress traffic from your
5123
5406
  # instances. For more information, read Firewall rules.
@@ -5582,32 +5865,20 @@ module Google
5582
5865
  class ForwardingRule
5583
5866
  include Google::Apis::Core::Hashable
5584
5867
 
5585
- # The IP address that this forwarding rule is serving on behalf of.
5586
- # Addresses are restricted based on the forwarding rule's load balancing scheme (
5587
- # EXTERNAL or INTERNAL) and scope (global or regional).
5588
- # When the load balancing scheme is EXTERNAL, for global forwarding rules, the
5589
- # address must be a global IP, and for regional forwarding rules, the address
5590
- # must live in the same region as the forwarding rule. If this field is empty,
5591
- # an ephemeral IPv4 address from the same scope (global or regional) will be
5592
- # assigned. A regional forwarding rule supports IPv4 only. A global forwarding
5593
- # rule supports either IPv4 or IPv6.
5594
- # When the load balancing scheme is INTERNAL_SELF_MANAGED, this must be a URL
5595
- # reference to an existing Address resource ( internal regional static IP
5596
- # address), with a purpose of GCE_END_POINT and address_type of INTERNAL.
5597
- # When the load balancing scheme is INTERNAL, this can only be an RFC 1918 IP
5598
- # address belonging to the network/subnet configured for the forwarding rule. By
5599
- # default, if this field is empty, an ephemeral internal IP address will be
5600
- # automatically allocated from the IP range of the subnet or network configured
5601
- # for this forwarding rule.
5602
- # An address can be specified either by a literal IP address or a URL reference
5603
- # to an existing Address resource. The following examples are all valid:
5604
- # - 100.1.2.3
5605
- # - https://www.googleapis.com/compute/v1/projects/project/regions/region/
5606
- # addresses/address
5607
- # - projects/project/regions/region/addresses/address
5608
- # - regions/region/addresses/address
5609
- # - global/addresses/address
5610
- # - address
5868
+ # IP address that this forwarding rule serves. When a client sends traffic to
5869
+ # this IP address, the forwarding rule directs the traffic to the target that
5870
+ # you specify in the forwarding rule.
5871
+ # If you don't specify a reserved IP address, an ephemeral IP address is
5872
+ # assigned. Methods for specifying an IP address:
5873
+ # * IPv4 dotted decimal, as in `100.1.2.3` * Full URL, as in https://www.
5874
+ # googleapis.com/compute/v1/projects/project_id/regions/region/addresses/address-
5875
+ # name * Partial URL or by name, as in: * projects/project_id/regions/region/
5876
+ # addresses/address-name * regions/region/addresses/address-name * global/
5877
+ # addresses/address-name * address-name
5878
+ # The loadBalancingScheme and the forwarding rule's target determine the type of
5879
+ # IP address that you can use. For detailed information, refer to [IP address
5880
+ # specifications](/load-balancing/docs/forwarding-rule-concepts#
5881
+ # ip_address_specifications).
5611
5882
  # Corresponds to the JSON property `IPAddress`
5612
5883
  # @return [String]
5613
5884
  attr_accessor :ip_address
@@ -5706,13 +5977,23 @@ module Google
5706
5977
  # @return [String]
5707
5978
  attr_accessor :network_tier
5708
5979
 
5709
- # This field is used along with the target field for TargetHttpProxy,
5710
- # TargetHttpsProxy, TargetSslProxy, TargetTcpProxy, TargetVpnGateway, TargetPool,
5711
- # TargetInstance.
5712
- # Applicable only when IPProtocol is TCP, UDP, or SCTP, only packets addressed
5713
- # to ports in the specified range will be forwarded to target. Forwarding rules
5714
- # with the same [IPAddress, IPProtocol] pair must have disjoint port ranges.
5715
- # Some types of forwarding target have constraints on the acceptable ports:
5980
+ # This field is deprecated. See the port
5981
+ # field.
5982
+ # Corresponds to the JSON property `portRange`
5983
+ # @return [String]
5984
+ attr_accessor :port_range
5985
+
5986
+ # List of comma-separated ports. The forwarding rule forwards packets with
5987
+ # matching destination ports. If the forwarding rule's loadBalancingScheme is
5988
+ # EXTERNAL, and the forwarding rule references a target pool, specifying ports
5989
+ # is optional. You can specify an unlimited number of ports, but they must be
5990
+ # contiguous. If you omit ports, GCP forwards traffic on any port of the
5991
+ # forwarding rule's protocol.
5992
+ # If the forwarding rule's loadBalancingScheme is EXTERNAL, and the forwarding
5993
+ # rule references a target HTTP proxy, target HTTPS proxy, target TCP proxy,
5994
+ # target SSL proxy, or target VPN gateway, you must specify ports using the
5995
+ # following constraints:
5996
+ #
5716
5997
  # - TargetHttpProxy: 80, 8080
5717
5998
  # - TargetHttpsProxy: 443
5718
5999
  # - TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688,
@@ -5720,16 +6001,16 @@ module Google
5720
6001
  # - TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688,
5721
6002
  # 1883, 5222
5722
6003
  # - TargetVpnGateway: 500, 4500
5723
- # Corresponds to the JSON property `portRange`
5724
- # @return [String]
5725
- attr_accessor :port_range
5726
-
5727
- # This field is used along with the backend_service field for internal load
5728
- # balancing.
5729
- # When the load balancing scheme is INTERNAL, a list of ports can be configured,
5730
- # for example, ['80'], ['8000','9000'] etc. Only packets addressed to these
5731
- # ports will be forwarded to the backends configured with this forwarding rule.
5732
- # You may specify a maximum of up to 5 ports.
6004
+ # If the forwarding rule's loadBalancingScheme is INTERNAL, you must specify
6005
+ # ports in one of the following ways:
6006
+ # * A list of up to five ports, which can be non-contiguous * Keyword ALL, which
6007
+ # causes the forwarding rule to forward traffic on any port of the forwarding
6008
+ # rule's protocol.
6009
+ # The ports field is used along with the target field for TargetHttpProxy,
6010
+ # TargetHttpsProxy, TargetSslProxy, TargetTcpProxy, TargetVpnGateway, TargetPool,
6011
+ # TargetInstance.
6012
+ # Applicable only when IPProtocol is TCP, UDP, or SCTP. Forwarding rules with
6013
+ # the same [IPAddress, IPProtocol] pair must have disjoint port ranges.
5733
6014
  # Corresponds to the JSON property `ports`
5734
6015
  # @return [Array<String>]
5735
6016
  attr_accessor :ports
@@ -5748,7 +6029,7 @@ module Google
5748
6029
  attr_accessor :self_link
5749
6030
 
5750
6031
  # An optional prefix to the service name for this Forwarding Rule. If specified,
5751
- # will be the first label of the fully qualified service name.
6032
+ # the prefix is the first label of the fully qualified service name.
5752
6033
  # The label must be 1-63 characters long, and comply with RFC1035. Specifically,
5753
6034
  # the label must be 1-63 characters long and match the regular expression `[a-z](
5754
6035
  # [-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase
@@ -7858,12 +8139,20 @@ module Google
7858
8139
  # @return [Array<Google::Apis::ComputeV1::AttachedDisk>]
7859
8140
  attr_accessor :disks
7860
8141
 
8142
+ # A set of Display Device options
8143
+ # Corresponds to the JSON property `displayDevice`
8144
+ # @return [Google::Apis::ComputeV1::DisplayDevice]
8145
+ attr_accessor :display_device
8146
+
7861
8147
  # A list of the type and count of accelerator cards attached to the instance.
7862
8148
  # Corresponds to the JSON property `guestAccelerators`
7863
8149
  # @return [Array<Google::Apis::ComputeV1::AcceleratorConfig>]
7864
8150
  attr_accessor :guest_accelerators
7865
8151
 
7866
- #
8152
+ # Specifies the hostname of the instance. The specified hostname must be RFC1035
8153
+ # compliant. If hostname is not specified, the default hostname is [
8154
+ # INSTANCE_NAME].c.[PROJECT_ID].internal when using the global DNS, and [
8155
+ # INSTANCE_NAME].[ZONE].c.[PROJECT_ID].internal when using zonal DNS.
7867
8156
  # Corresponds to the JSON property `hostname`
7868
8157
  # @return [String]
7869
8158
  attr_accessor :hostname
@@ -8021,6 +8310,7 @@ module Google
8021
8310
  @deletion_protection = args[:deletion_protection] if args.key?(:deletion_protection)
8022
8311
  @description = args[:description] if args.key?(:description)
8023
8312
  @disks = args[:disks] if args.key?(:disks)
8313
+ @display_device = args[:display_device] if args.key?(:display_device)
8024
8314
  @guest_accelerators = args[:guest_accelerators] if args.key?(:guest_accelerators)
8025
8315
  @hostname = args[:hostname] if args.key?(:hostname)
8026
8316
  @id = args[:id] if args.key?(:id)
@@ -10766,6 +11056,8 @@ module Google
10766
11056
  # - BPS_2G: 2 Gbit/s
10767
11057
  # - BPS_5G: 5 Gbit/s
10768
11058
  # - BPS_10G: 10 Gbit/s
11059
+ # - BPS_20G: 20 Gbit/s
11060
+ # - BPS_50G: 50 Gbit/s
10769
11061
  # Corresponds to the JSON property `bandwidth`
10770
11062
  # @return [String]
10771
11063
  attr_accessor :bandwidth
@@ -13363,9 +13655,10 @@ module Google
13363
13655
  attr_accessor :instance
13364
13656
 
13365
13657
  # Optional IPv4 address of network endpoint. The IP address must belong to a VM
13366
- # in GCE (either the primary IP or as part of an aliased IP range). If the IP
13367
- # address is not specified, then the primary IP address for the VM instance in
13368
- # the network that the network endpoint group belongs to will be used.
13658
+ # in Compute Engine (either the primary IP or as part of an aliased IP range).
13659
+ # If the IP address is not specified, then the primary IP address for the VM
13660
+ # instance in the network that the network endpoint group belongs to will be
13661
+ # used.
13369
13662
  # Corresponds to the JSON property `ipAddress`
13370
13663
  # @return [String]
13371
13664
  attr_accessor :ip_address
@@ -14244,6 +14537,18 @@ module Google
14244
14537
  attr_accessor :exchange_subnet_routes
14245
14538
  alias_method :exchange_subnet_routes?, :exchange_subnet_routes
14246
14539
 
14540
+ # Whether to export the custom routes to peer network.
14541
+ # Corresponds to the JSON property `exportCustomRoutes`
14542
+ # @return [Boolean]
14543
+ attr_accessor :export_custom_routes
14544
+ alias_method :export_custom_routes?, :export_custom_routes
14545
+
14546
+ # Whether to import the custom routes from peer network.
14547
+ # Corresponds to the JSON property `importCustomRoutes`
14548
+ # @return [Boolean]
14549
+ attr_accessor :import_custom_routes
14550
+ alias_method :import_custom_routes?, :import_custom_routes
14551
+
14247
14552
  # Name of this peering. Provided by the client when the peering is created. The
14248
14553
  # name must comply with RFC1035. Specifically, the name must be 1-63 characters
14249
14554
  # long and match regular expression `[a-z]([-a-z0-9]*[a-z0-9])?`. The first
@@ -14281,6 +14586,8 @@ module Google
14281
14586
  def update!(**args)
14282
14587
  @auto_create_routes = args[:auto_create_routes] if args.key?(:auto_create_routes)
14283
14588
  @exchange_subnet_routes = args[:exchange_subnet_routes] if args.key?(:exchange_subnet_routes)
14589
+ @export_custom_routes = args[:export_custom_routes] if args.key?(:export_custom_routes)
14590
+ @import_custom_routes = args[:import_custom_routes] if args.key?(:import_custom_routes)
14284
14591
  @name = args[:name] if args.key?(:name)
14285
14592
  @network = args[:network] if args.key?(:network)
14286
14593
  @state = args[:state] if args.key?(:state)
@@ -14378,12 +14685,33 @@ module Google
14378
14685
  end
14379
14686
  end
14380
14687
 
14381
- # Represent a sole-tenant Node Group resource.
14382
- # A sole-tenant node is a physical server that is dedicated to hosting VM
14383
- # instances only for your specific project. Use sole-tenant nodes to keep your
14384
- # instances physically separated from instances in other projects, or to group
14385
- # your instances together on the same host hardware. For more information, read
14386
- # Sole-tenant nodes. (== resource_for beta.nodeGroups ==) (== resource_for v1.
14688
+ #
14689
+ class NetworksUpdatePeeringRequest
14690
+ include Google::Apis::Core::Hashable
14691
+
14692
+ # A network peering attached to a network resource. The message includes the
14693
+ # peering name, peer network, peering state, and a flag indicating whether
14694
+ # Google Compute Engine should automatically create routes for the peering.
14695
+ # Corresponds to the JSON property `networkPeering`
14696
+ # @return [Google::Apis::ComputeV1::NetworkPeering]
14697
+ attr_accessor :network_peering
14698
+
14699
+ def initialize(**args)
14700
+ update!(**args)
14701
+ end
14702
+
14703
+ # Update properties of this object
14704
+ def update!(**args)
14705
+ @network_peering = args[:network_peering] if args.key?(:network_peering)
14706
+ end
14707
+ end
14708
+
14709
+ # Represent a sole-tenant Node Group resource.
14710
+ # A sole-tenant node is a physical server that is dedicated to hosting VM
14711
+ # instances only for your specific project. Use sole-tenant nodes to keep your
14712
+ # instances physically separated from instances in other projects, or to group
14713
+ # your instances together on the same host hardware. For more information, read
14714
+ # Sole-tenant nodes. (== resource_for beta.nodeGroups ==) (== resource_for v1.
14387
14715
  # nodeGroups ==) NextID: 15
14388
14716
  class NodeGroup
14389
14717
  include Google::Apis::Core::Hashable
@@ -14769,7 +15097,7 @@ module Google
14769
15097
  class NodeGroupsDeleteNodesRequest
14770
15098
  include Google::Apis::Core::Hashable
14771
15099
 
14772
- #
15100
+ # Names of the nodes to delete.
14773
15101
  # Corresponds to the JSON property `nodes`
14774
15102
  # @return [Array<String>]
14775
15103
  attr_accessor :nodes
@@ -15961,7 +16289,7 @@ module Google
15961
16289
  # @return [Fixnum]
15962
16290
  attr_accessor :http_error_status_code
15963
16291
 
15964
- # [Output Only] The unique identifier for the resource. This identifier is
16292
+ # [Output Only] The unique identifier for the operation. This identifier is
15965
16293
  # defined by the server.
15966
16294
  # Corresponds to the JSON property `id`
15967
16295
  # @return [Fixnum]
@@ -15979,7 +16307,7 @@ module Google
15979
16307
  # @return [String]
15980
16308
  attr_accessor :kind
15981
16309
 
15982
- # [Output Only] Name of the resource.
16310
+ # [Output Only] Name of the operation.
15983
16311
  # Corresponds to the JSON property `name`
15984
16312
  # @return [String]
15985
16313
  attr_accessor :name
@@ -16672,7 +17000,7 @@ module Google
16672
17000
  # that etag in the request to `setIamPolicy` to ensure that their change will be
16673
17001
  # applied to the same version of the policy.
16674
17002
  # If no `etag` is provided in the call to `setIamPolicy`, then the existing
16675
- # policy is overwritten blindly.
17003
+ # policy is overwritten.
16676
17004
  # Corresponds to the JSON property `etag`
16677
17005
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
16678
17006
  # @return [String]
@@ -18119,12 +18447,12 @@ module Google
18119
18447
  # Represents a reservation resource. A reservation ensures that capacity is held
18120
18448
  # in a specific zone even if the reserved VMs are not running. For more
18121
18449
  # information, read Reserving zonal resources. (== resource_for beta.
18122
- # reservations ==) (== resource_for v1.reservations ==) (== NextID: 13 ==)
18450
+ # reservations ==) (== resource_for v1.reservations ==)
18123
18451
  class Reservation
18124
18452
  include Google::Apis::Core::Hashable
18125
18453
 
18126
- # [OutputOnly] Full or partial url for parent commitment for reservations which
18127
- # are tied to a commitment.
18454
+ # [OutputOnly] Full or partial URL to a parent commitment. This field displays
18455
+ # for reservations that are tied to a commitment.
18128
18456
  # Corresponds to the JSON property `commitment`
18129
18457
  # @return [String]
18130
18458
  attr_accessor :commitment
@@ -18186,8 +18514,8 @@ module Google
18186
18514
  # @return [String]
18187
18515
  attr_accessor :status
18188
18516
 
18189
- # Zone in which the reservation resides, must be provided if reservation is
18190
- # created with commitment creation.
18517
+ # Zone in which the reservation resides. A zone must be provided if the
18518
+ # reservation is created within a commitment.
18191
18519
  # Corresponds to the JSON property `zone`
18192
18520
  # @return [String]
18193
18521
  attr_accessor :zone
@@ -19240,7 +19568,8 @@ module Google
19240
19568
  # @return [Hash<String,String>]
19241
19569
  attr_accessor :labels
19242
19570
 
19243
- # GCS bucket storage location of the auto snapshot (regional or multi-regional).
19571
+ # Cloud Storage bucket storage location of the auto snapshot (regional or multi-
19572
+ # regional).
19244
19573
  # Corresponds to the JSON property `storageLocations`
19245
19574
  # @return [Array<String>]
19246
19575
  attr_accessor :storage_locations
@@ -19975,8 +20304,12 @@ module Google
19975
20304
  # @return [String]
19976
20305
  attr_accessor :management_type
19977
20306
 
19978
- # Name of this BGP peer. The name must be 1-63 characters long and comply with
19979
- # RFC1035.
20307
+ # Name of this BGP peer. The name must be 1-63 characters long, and comply with
20308
+ # RFC1035. Specifically, the name must be 1-63 characters long and match the
20309
+ # regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first
20310
+ # character must be a lowercase letter, and all following characters must be a
20311
+ # dash, lowercase letter, or digit, except the last character, which cannot be a
20312
+ # dash.
19980
20313
  # Corresponds to the JSON property `name`
19981
20314
  # @return [String]
19982
20315
  attr_accessor :name
@@ -20048,8 +20381,12 @@ module Google
20048
20381
  # @return [String]
20049
20382
  attr_accessor :management_type
20050
20383
 
20051
- # Name of this interface entry. The name must be 1-63 characters long and comply
20052
- # with RFC1035.
20384
+ # Name of this interface entry. The name must be 1-63 characters long, and
20385
+ # comply with RFC1035. Specifically, the name must be 1-63 characters long and
20386
+ # match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the
20387
+ # first character must be a lowercase letter, and all following characters must
20388
+ # be a dash, lowercase letter, or digit, except the last character, which cannot
20389
+ # be a dash.
20053
20390
  # Corresponds to the JSON property `name`
20054
20391
  # @return [String]
20055
20392
  attr_accessor :name
@@ -21564,7 +21901,8 @@ module Google
21564
21901
  # @return [String]
21565
21902
  attr_accessor :storage_bytes_status
21566
21903
 
21567
- # GCS bucket storage location of the snapshot (regional or multi-regional).
21904
+ # Cloud Storage bucket storage location of the snapshot (regional or multi-
21905
+ # regional).
21568
21906
  # Corresponds to the JSON property `storageLocations`
21569
21907
  # @return [Array<String>]
21570
21908
  attr_accessor :storage_locations
@@ -22326,6 +22664,11 @@ module Google
22326
22664
  # @return [String]
22327
22665
  attr_accessor :kind
22328
22666
 
22667
+ # The available logging options for this subnetwork.
22668
+ # Corresponds to the JSON property `logConfig`
22669
+ # @return [Google::Apis::ComputeV1::SubnetworkLogConfig]
22670
+ attr_accessor :log_config
22671
+
22329
22672
  # The name of the resource, provided by the client when initially creating the
22330
22673
  # resource. The name must be 1-63 characters long, and comply with RFC1035.
22331
22674
  # Specifically, the name must be 1-63 characters long and match the regular
@@ -22385,6 +22728,7 @@ module Google
22385
22728
  @id = args[:id] if args.key?(:id)
22386
22729
  @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
22387
22730
  @kind = args[:kind] if args.key?(:kind)
22731
+ @log_config = args[:log_config] if args.key?(:log_config)
22388
22732
  @name = args[:name] if args.key?(:name)
22389
22733
  @network = args[:network] if args.key?(:network)
22390
22734
  @private_ip_google_access = args[:private_ip_google_access] if args.key?(:private_ip_google_access)
@@ -22630,6 +22974,55 @@ module Google
22630
22974
  end
22631
22975
  end
22632
22976
 
22977
+ # The available logging options for this subnetwork.
22978
+ class SubnetworkLogConfig
22979
+ include Google::Apis::Core::Hashable
22980
+
22981
+ # Can only be specified if VPC flow logging for this subnetwork is enabled.
22982
+ # Toggles the aggregation interval for collecting flow logs. Increasing the
22983
+ # interval time will reduce the amount of generated flow logs for long lasting
22984
+ # connections. Default is an interval of 5 seconds per connection.
22985
+ # Corresponds to the JSON property `aggregationInterval`
22986
+ # @return [String]
22987
+ attr_accessor :aggregation_interval
22988
+
22989
+ # Whether to enable flow logging for this subnetwork. If this field is not
22990
+ # explicitly set, it will not appear in get listings. If not set the default
22991
+ # behavior is to disable flow logging.
22992
+ # Corresponds to the JSON property `enable`
22993
+ # @return [Boolean]
22994
+ attr_accessor :enable
22995
+ alias_method :enable?, :enable
22996
+
22997
+ # Can only be specified if VPC flow logging for this subnetwork is enabled. The
22998
+ # value of the field must be in [0, 1]. Set the sampling rate of VPC flow logs
22999
+ # within the subnetwork where 1.0 means all collected logs are reported and 0.0
23000
+ # means no logs are reported. Default is 0.5, which means half of all collected
23001
+ # logs are reported.
23002
+ # Corresponds to the JSON property `flowSampling`
23003
+ # @return [Float]
23004
+ attr_accessor :flow_sampling
23005
+
23006
+ # Can only be specified if VPC flow logs for this subnetwork is enabled.
23007
+ # Configures whether all, none or a subset of metadata fields should be added to
23008
+ # the reported VPC flow logs. Default is INCLUDE_ALL_METADATA.
23009
+ # Corresponds to the JSON property `metadata`
23010
+ # @return [String]
23011
+ attr_accessor :metadata
23012
+
23013
+ def initialize(**args)
23014
+ update!(**args)
23015
+ end
23016
+
23017
+ # Update properties of this object
23018
+ def update!(**args)
23019
+ @aggregation_interval = args[:aggregation_interval] if args.key?(:aggregation_interval)
23020
+ @enable = args[:enable] if args.key?(:enable)
23021
+ @flow_sampling = args[:flow_sampling] if args.key?(:flow_sampling)
23022
+ @metadata = args[:metadata] if args.key?(:metadata)
23023
+ end
23024
+ end
23025
+
22633
23026
  # Represents a secondary IP range of a subnetwork.
22634
23027
  class SubnetworkSecondaryRange
22635
23028
  include Google::Apis::Core::Hashable
@@ -26106,10 +26499,8 @@ module Google
26106
26499
  end
26107
26500
  end
26108
26501
 
26109
- # Represents a Cloud VPN Tunnel resource.
26110
- # For more information about VPN, read the the Cloud VPN Overview. (==
26111
- # resource_for beta.vpnTunnels ==) (== resource_for v1.vpnTunnels ==)
26112
- class VpnTunnel
26502
+ # Represents a VPN gateway resource.
26503
+ class VpnGateway
26113
26504
  include Google::Apis::Core::Hashable
26114
26505
 
26115
26506
  # [Output Only] Creation timestamp in RFC3339 text format.
@@ -26123,34 +26514,35 @@ module Google
26123
26514
  # @return [String]
26124
26515
  attr_accessor :description
26125
26516
 
26126
- # [Output Only] Detailed status message for the VPN tunnel.
26127
- # Corresponds to the JSON property `detailedStatus`
26128
- # @return [String]
26129
- attr_accessor :detailed_status
26130
-
26131
26517
  # [Output Only] The unique identifier for the resource. This identifier is
26132
26518
  # defined by the server.
26133
26519
  # Corresponds to the JSON property `id`
26134
26520
  # @return [Fixnum]
26135
26521
  attr_accessor :id
26136
26522
 
26137
- # IKE protocol version to use when establishing the VPN tunnel with the peer VPN
26138
- # gateway. Acceptable IKE versions are 1 or 2. The default version is 2.
26139
- # Corresponds to the JSON property `ikeVersion`
26140
- # @return [Fixnum]
26141
- attr_accessor :ike_version
26142
-
26143
- # [Output Only] Type of resource. Always compute#vpnTunnel for VPN tunnels.
26523
+ # [Output Only] Type of resource. Always compute#vpnGateway for VPN gateways.
26144
26524
  # Corresponds to the JSON property `kind`
26145
26525
  # @return [String]
26146
26526
  attr_accessor :kind
26147
26527
 
26148
- # Local traffic selector to use when establishing the VPN tunnel with the peer
26149
- # VPN gateway. The value should be a CIDR formatted string, for example: 192.168.
26150
- # 0.0/16. The ranges must be disjoint. Only IPv4 is supported.
26151
- # Corresponds to the JSON property `localTrafficSelector`
26152
- # @return [Array<String>]
26153
- attr_accessor :local_traffic_selector
26528
+ # A fingerprint for the labels being applied to this VpnGateway, which is
26529
+ # essentially a hash of the labels set used for optimistic locking. The
26530
+ # fingerprint is initially generated by Compute Engine and changes after every
26531
+ # request to modify or update labels. You must always provide an up-to-date
26532
+ # fingerprint hash in order to update or change labels, otherwise the request
26533
+ # will fail with error 412 conditionNotMet.
26534
+ # To see the latest fingerprint, make a get() request to retrieve an VpnGateway.
26535
+ # Corresponds to the JSON property `labelFingerprint`
26536
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
26537
+ # @return [String]
26538
+ attr_accessor :label_fingerprint
26539
+
26540
+ # Labels to apply to this VpnGateway resource. These can be later modified by
26541
+ # the setLabels method. Each label key/value must comply with RFC1035. Label
26542
+ # values may be empty.
26543
+ # Corresponds to the JSON property `labels`
26544
+ # @return [Hash<String,String>]
26545
+ attr_accessor :labels
26154
26546
 
26155
26547
  # Name of the resource. Provided by the client when the resource is created. The
26156
26548
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
@@ -26162,67 +26554,692 @@ module Google
26162
26554
  # @return [String]
26163
26555
  attr_accessor :name
26164
26556
 
26165
- # IP address of the peer VPN gateway. Only IPv4 is supported.
26166
- # Corresponds to the JSON property `peerIp`
26557
+ # URL of the network to which this VPN gateway is attached. Provided by the
26558
+ # client when the VPN gateway is created.
26559
+ # Corresponds to the JSON property `network`
26167
26560
  # @return [String]
26168
- attr_accessor :peer_ip
26561
+ attr_accessor :network
26169
26562
 
26170
- # [Output Only] URL of the region where the VPN tunnel resides. You must specify
26171
- # this field as part of the HTTP request URL. It is not settable as a field in
26172
- # the request body.
26563
+ # [Output Only] URL of the region where the VPN gateway resides.
26173
26564
  # Corresponds to the JSON property `region`
26174
26565
  # @return [String]
26175
26566
  attr_accessor :region
26176
26567
 
26177
- # Remote traffic selectors to use when establishing the VPN tunnel with the peer
26178
- # VPN gateway. The value should be a CIDR formatted string, for example: 192.168.
26179
- # 0.0/16. The ranges should be disjoint. Only IPv4 is supported.
26180
- # Corresponds to the JSON property `remoteTrafficSelector`
26181
- # @return [Array<String>]
26182
- attr_accessor :remote_traffic_selector
26183
-
26184
- # URL of the router resource to be used for dynamic routing.
26185
- # Corresponds to the JSON property `router`
26186
- # @return [String]
26187
- attr_accessor :router
26188
-
26189
26568
  # [Output Only] Server-defined URL for the resource.
26190
26569
  # Corresponds to the JSON property `selfLink`
26191
26570
  # @return [String]
26192
26571
  attr_accessor :self_link
26193
26572
 
26194
- # Shared secret used to set the secure session between the Cloud VPN gateway and
26195
- # the peer VPN gateway.
26196
- # Corresponds to the JSON property `sharedSecret`
26573
+ # [Output Only] A list of interfaces on this VPN gateway.
26574
+ # Corresponds to the JSON property `vpnInterfaces`
26575
+ # @return [Array<Google::Apis::ComputeV1::VpnGatewayVpnGatewayInterface>]
26576
+ attr_accessor :vpn_interfaces
26577
+
26578
+ def initialize(**args)
26579
+ update!(**args)
26580
+ end
26581
+
26582
+ # Update properties of this object
26583
+ def update!(**args)
26584
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
26585
+ @description = args[:description] if args.key?(:description)
26586
+ @id = args[:id] if args.key?(:id)
26587
+ @kind = args[:kind] if args.key?(:kind)
26588
+ @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
26589
+ @labels = args[:labels] if args.key?(:labels)
26590
+ @name = args[:name] if args.key?(:name)
26591
+ @network = args[:network] if args.key?(:network)
26592
+ @region = args[:region] if args.key?(:region)
26593
+ @self_link = args[:self_link] if args.key?(:self_link)
26594
+ @vpn_interfaces = args[:vpn_interfaces] if args.key?(:vpn_interfaces)
26595
+ end
26596
+ end
26597
+
26598
+ #
26599
+ class VpnGatewayAggregatedList
26600
+ include Google::Apis::Core::Hashable
26601
+
26602
+ # [Output Only] Unique identifier for the resource; defined by the server.
26603
+ # Corresponds to the JSON property `id`
26197
26604
  # @return [String]
26198
- attr_accessor :shared_secret
26605
+ attr_accessor :id
26199
26606
 
26200
- # Hash of the shared secret.
26201
- # Corresponds to the JSON property `sharedSecretHash`
26607
+ # A list of VpnGateway resources.
26608
+ # Corresponds to the JSON property `items`
26609
+ # @return [Hash<String,Google::Apis::ComputeV1::VpnGatewaysScopedList>]
26610
+ attr_accessor :items
26611
+
26612
+ # [Output Only] Type of resource. Always compute#vpnGateway for VPN gateways.
26613
+ # Corresponds to the JSON property `kind`
26202
26614
  # @return [String]
26203
- attr_accessor :shared_secret_hash
26615
+ attr_accessor :kind
26204
26616
 
26205
- # [Output Only] The status of the VPN tunnel, which can be one of the following:
26206
- # - PROVISIONING: Resource is being allocated for the VPN tunnel.
26207
- # - WAITING_FOR_FULL_CONFIG: Waiting to receive all VPN-related configs from the
26208
- # user. Network, TargetVpnGateway, VpnTunnel, ForwardingRule, and Route
26209
- # resources are needed to setup the VPN tunnel.
26210
- # - FIRST_HANDSHAKE: Successful first handshake with the peer VPN.
26211
- # - ESTABLISHED: Secure session is successfully established with the peer VPN.
26212
- # - NETWORK_ERROR: Deprecated, replaced by NO_INCOMING_PACKETS
26213
- # - AUTHORIZATION_ERROR: Auth error (for example, bad shared secret).
26214
- # - NEGOTIATION_FAILURE: Handshake failed.
26215
- # - DEPROVISIONING: Resources are being deallocated for the VPN tunnel.
26216
- # - FAILED: Tunnel creation has failed and the tunnel is not ready to be used.
26217
- # Corresponds to the JSON property `status`
26617
+ # [Output Only] This token allows you to get the next page of results for list
26618
+ # requests. If the number of results is larger than maxResults, use the
26619
+ # nextPageToken as a value for the query parameter pageToken in the next list
26620
+ # request. Subsequent list requests will have their own nextPageToken to
26621
+ # continue paging through the results.
26622
+ # Corresponds to the JSON property `nextPageToken`
26218
26623
  # @return [String]
26219
- attr_accessor :status
26624
+ attr_accessor :next_page_token
26220
26625
 
26221
- # URL of the Target VPN gateway with which this VPN tunnel is associated.
26222
- # Provided by the client when the VPN tunnel is created.
26223
- # Corresponds to the JSON property `targetVpnGateway`
26626
+ # [Output Only] Server-defined URL for this resource.
26627
+ # Corresponds to the JSON property `selfLink`
26224
26628
  # @return [String]
26225
- attr_accessor :target_vpn_gateway
26629
+ attr_accessor :self_link
26630
+
26631
+ # [Output Only] Informational warning message.
26632
+ # Corresponds to the JSON property `warning`
26633
+ # @return [Google::Apis::ComputeV1::VpnGatewayAggregatedList::Warning]
26634
+ attr_accessor :warning
26635
+
26636
+ def initialize(**args)
26637
+ update!(**args)
26638
+ end
26639
+
26640
+ # Update properties of this object
26641
+ def update!(**args)
26642
+ @id = args[:id] if args.key?(:id)
26643
+ @items = args[:items] if args.key?(:items)
26644
+ @kind = args[:kind] if args.key?(:kind)
26645
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
26646
+ @self_link = args[:self_link] if args.key?(:self_link)
26647
+ @warning = args[:warning] if args.key?(:warning)
26648
+ end
26649
+
26650
+ # [Output Only] Informational warning message.
26651
+ class Warning
26652
+ include Google::Apis::Core::Hashable
26653
+
26654
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
26655
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
26656
+ # Corresponds to the JSON property `code`
26657
+ # @return [String]
26658
+ attr_accessor :code
26659
+
26660
+ # [Output Only] Metadata about this warning in key: value format. For example:
26661
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
26662
+ # Corresponds to the JSON property `data`
26663
+ # @return [Array<Google::Apis::ComputeV1::VpnGatewayAggregatedList::Warning::Datum>]
26664
+ attr_accessor :data
26665
+
26666
+ # [Output Only] A human-readable description of the warning code.
26667
+ # Corresponds to the JSON property `message`
26668
+ # @return [String]
26669
+ attr_accessor :message
26670
+
26671
+ def initialize(**args)
26672
+ update!(**args)
26673
+ end
26674
+
26675
+ # Update properties of this object
26676
+ def update!(**args)
26677
+ @code = args[:code] if args.key?(:code)
26678
+ @data = args[:data] if args.key?(:data)
26679
+ @message = args[:message] if args.key?(:message)
26680
+ end
26681
+
26682
+ #
26683
+ class Datum
26684
+ include Google::Apis::Core::Hashable
26685
+
26686
+ # [Output Only] A key that provides more detail on the warning being returned.
26687
+ # For example, for warnings where there are no results in a list request for a
26688
+ # particular zone, this key might be scope and the key value might be the zone
26689
+ # name. Other examples might be a key indicating a deprecated resource and a
26690
+ # suggested replacement, or a warning about invalid network settings (for
26691
+ # example, if an instance attempts to perform IP forwarding but is not enabled
26692
+ # for IP forwarding).
26693
+ # Corresponds to the JSON property `key`
26694
+ # @return [String]
26695
+ attr_accessor :key
26696
+
26697
+ # [Output Only] A warning data value corresponding to the key.
26698
+ # Corresponds to the JSON property `value`
26699
+ # @return [String]
26700
+ attr_accessor :value
26701
+
26702
+ def initialize(**args)
26703
+ update!(**args)
26704
+ end
26705
+
26706
+ # Update properties of this object
26707
+ def update!(**args)
26708
+ @key = args[:key] if args.key?(:key)
26709
+ @value = args[:value] if args.key?(:value)
26710
+ end
26711
+ end
26712
+ end
26713
+ end
26714
+
26715
+ # Contains a list of VpnGateway resources.
26716
+ class VpnGatewayList
26717
+ include Google::Apis::Core::Hashable
26718
+
26719
+ # [Output Only] Unique identifier for the resource; defined by the server.
26720
+ # Corresponds to the JSON property `id`
26721
+ # @return [String]
26722
+ attr_accessor :id
26723
+
26724
+ # A list of VpnGateway resources.
26725
+ # Corresponds to the JSON property `items`
26726
+ # @return [Array<Google::Apis::ComputeV1::VpnGateway>]
26727
+ attr_accessor :items
26728
+
26729
+ # [Output Only] Type of resource. Always compute#vpnGateway for VPN gateways.
26730
+ # Corresponds to the JSON property `kind`
26731
+ # @return [String]
26732
+ attr_accessor :kind
26733
+
26734
+ # [Output Only] This token allows you to get the next page of results for list
26735
+ # requests. If the number of results is larger than maxResults, use the
26736
+ # nextPageToken as a value for the query parameter pageToken in the next list
26737
+ # request. Subsequent list requests will have their own nextPageToken to
26738
+ # continue paging through the results.
26739
+ # Corresponds to the JSON property `nextPageToken`
26740
+ # @return [String]
26741
+ attr_accessor :next_page_token
26742
+
26743
+ # [Output Only] Server-defined URL for this resource.
26744
+ # Corresponds to the JSON property `selfLink`
26745
+ # @return [String]
26746
+ attr_accessor :self_link
26747
+
26748
+ # [Output Only] Informational warning message.
26749
+ # Corresponds to the JSON property `warning`
26750
+ # @return [Google::Apis::ComputeV1::VpnGatewayList::Warning]
26751
+ attr_accessor :warning
26752
+
26753
+ def initialize(**args)
26754
+ update!(**args)
26755
+ end
26756
+
26757
+ # Update properties of this object
26758
+ def update!(**args)
26759
+ @id = args[:id] if args.key?(:id)
26760
+ @items = args[:items] if args.key?(:items)
26761
+ @kind = args[:kind] if args.key?(:kind)
26762
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
26763
+ @self_link = args[:self_link] if args.key?(:self_link)
26764
+ @warning = args[:warning] if args.key?(:warning)
26765
+ end
26766
+
26767
+ # [Output Only] Informational warning message.
26768
+ class Warning
26769
+ include Google::Apis::Core::Hashable
26770
+
26771
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
26772
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
26773
+ # Corresponds to the JSON property `code`
26774
+ # @return [String]
26775
+ attr_accessor :code
26776
+
26777
+ # [Output Only] Metadata about this warning in key: value format. For example:
26778
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
26779
+ # Corresponds to the JSON property `data`
26780
+ # @return [Array<Google::Apis::ComputeV1::VpnGatewayList::Warning::Datum>]
26781
+ attr_accessor :data
26782
+
26783
+ # [Output Only] A human-readable description of the warning code.
26784
+ # Corresponds to the JSON property `message`
26785
+ # @return [String]
26786
+ attr_accessor :message
26787
+
26788
+ def initialize(**args)
26789
+ update!(**args)
26790
+ end
26791
+
26792
+ # Update properties of this object
26793
+ def update!(**args)
26794
+ @code = args[:code] if args.key?(:code)
26795
+ @data = args[:data] if args.key?(:data)
26796
+ @message = args[:message] if args.key?(:message)
26797
+ end
26798
+
26799
+ #
26800
+ class Datum
26801
+ include Google::Apis::Core::Hashable
26802
+
26803
+ # [Output Only] A key that provides more detail on the warning being returned.
26804
+ # For example, for warnings where there are no results in a list request for a
26805
+ # particular zone, this key might be scope and the key value might be the zone
26806
+ # name. Other examples might be a key indicating a deprecated resource and a
26807
+ # suggested replacement, or a warning about invalid network settings (for
26808
+ # example, if an instance attempts to perform IP forwarding but is not enabled
26809
+ # for IP forwarding).
26810
+ # Corresponds to the JSON property `key`
26811
+ # @return [String]
26812
+ attr_accessor :key
26813
+
26814
+ # [Output Only] A warning data value corresponding to the key.
26815
+ # Corresponds to the JSON property `value`
26816
+ # @return [String]
26817
+ attr_accessor :value
26818
+
26819
+ def initialize(**args)
26820
+ update!(**args)
26821
+ end
26822
+
26823
+ # Update properties of this object
26824
+ def update!(**args)
26825
+ @key = args[:key] if args.key?(:key)
26826
+ @value = args[:value] if args.key?(:value)
26827
+ end
26828
+ end
26829
+ end
26830
+ end
26831
+
26832
+ #
26833
+ class VpnGatewayStatus
26834
+ include Google::Apis::Core::Hashable
26835
+
26836
+ # List of VPN connection for this VpnGateway.
26837
+ # Corresponds to the JSON property `vpnConnections`
26838
+ # @return [Array<Google::Apis::ComputeV1::VpnGatewayStatusVpnConnection>]
26839
+ attr_accessor :vpn_connections
26840
+
26841
+ def initialize(**args)
26842
+ update!(**args)
26843
+ end
26844
+
26845
+ # Update properties of this object
26846
+ def update!(**args)
26847
+ @vpn_connections = args[:vpn_connections] if args.key?(:vpn_connections)
26848
+ end
26849
+ end
26850
+
26851
+ # Describes the high availability requirement state for the VPN connection
26852
+ # between this Cloud VPN gateway and a peer gateway.
26853
+ class VpnGatewayStatusHighAvailabilityRequirementState
26854
+ include Google::Apis::Core::Hashable
26855
+
26856
+ # Indicates the high availability requirement state for the VPN connection.
26857
+ # Valid values are CONNECTION_REDUNDANCY_MET, CONNECTION_REDUNDANCY_NOT_MET.
26858
+ # Corresponds to the JSON property `state`
26859
+ # @return [String]
26860
+ attr_accessor :state
26861
+
26862
+ # Indicates the reason why the VPN connection does not meet the high
26863
+ # availability redundancy criteria/requirement. Valid values is
26864
+ # INCOMPLETE_TUNNELS_COVERAGE.
26865
+ # Corresponds to the JSON property `unsatisfiedReason`
26866
+ # @return [String]
26867
+ attr_accessor :unsatisfied_reason
26868
+
26869
+ def initialize(**args)
26870
+ update!(**args)
26871
+ end
26872
+
26873
+ # Update properties of this object
26874
+ def update!(**args)
26875
+ @state = args[:state] if args.key?(:state)
26876
+ @unsatisfied_reason = args[:unsatisfied_reason] if args.key?(:unsatisfied_reason)
26877
+ end
26878
+ end
26879
+
26880
+ # Contains some information about a VPN tunnel.
26881
+ class VpnGatewayStatusTunnel
26882
+ include Google::Apis::Core::Hashable
26883
+
26884
+ # The VPN gateway interface this VPN tunnel is associated with.
26885
+ # Corresponds to the JSON property `localGatewayInterface`
26886
+ # @return [Fixnum]
26887
+ attr_accessor :local_gateway_interface
26888
+
26889
+ # The peer gateway interface this VPN tunnel is connected to, the peer gateway
26890
+ # could either be an external VPN gateway or GCP VPN gateway.
26891
+ # Corresponds to the JSON property `peerGatewayInterface`
26892
+ # @return [Fixnum]
26893
+ attr_accessor :peer_gateway_interface
26894
+
26895
+ # URL reference to the VPN tunnel.
26896
+ # Corresponds to the JSON property `tunnelUrl`
26897
+ # @return [String]
26898
+ attr_accessor :tunnel_url
26899
+
26900
+ def initialize(**args)
26901
+ update!(**args)
26902
+ end
26903
+
26904
+ # Update properties of this object
26905
+ def update!(**args)
26906
+ @local_gateway_interface = args[:local_gateway_interface] if args.key?(:local_gateway_interface)
26907
+ @peer_gateway_interface = args[:peer_gateway_interface] if args.key?(:peer_gateway_interface)
26908
+ @tunnel_url = args[:tunnel_url] if args.key?(:tunnel_url)
26909
+ end
26910
+ end
26911
+
26912
+ # A VPN connection contains all VPN tunnels connected from this VpnGateway to
26913
+ # the same peer gateway. The peer gateway could either be a external VPN gateway
26914
+ # or GCP VPN gateway.
26915
+ class VpnGatewayStatusVpnConnection
26916
+ include Google::Apis::Core::Hashable
26917
+
26918
+ # URL reference to the peer external VPN gateways to which the VPN tunnels in
26919
+ # this VPN connection are connected. This field is mutually exclusive with
26920
+ # peer_gcp_gateway.
26921
+ # Corresponds to the JSON property `peerExternalGateway`
26922
+ # @return [String]
26923
+ attr_accessor :peer_external_gateway
26924
+
26925
+ # URL reference to the peer side VPN gateways to which the VPN tunnels in this
26926
+ # VPN connection are connected. This field is mutually exclusive with
26927
+ # peer_gcp_gateway.
26928
+ # Corresponds to the JSON property `peerGcpGateway`
26929
+ # @return [String]
26930
+ attr_accessor :peer_gcp_gateway
26931
+
26932
+ # Describes the high availability requirement state for the VPN connection
26933
+ # between this Cloud VPN gateway and a peer gateway.
26934
+ # Corresponds to the JSON property `state`
26935
+ # @return [Google::Apis::ComputeV1::VpnGatewayStatusHighAvailabilityRequirementState]
26936
+ attr_accessor :state
26937
+
26938
+ # List of VPN tunnels that are in this VPN connection.
26939
+ # Corresponds to the JSON property `tunnels`
26940
+ # @return [Array<Google::Apis::ComputeV1::VpnGatewayStatusTunnel>]
26941
+ attr_accessor :tunnels
26942
+
26943
+ def initialize(**args)
26944
+ update!(**args)
26945
+ end
26946
+
26947
+ # Update properties of this object
26948
+ def update!(**args)
26949
+ @peer_external_gateway = args[:peer_external_gateway] if args.key?(:peer_external_gateway)
26950
+ @peer_gcp_gateway = args[:peer_gcp_gateway] if args.key?(:peer_gcp_gateway)
26951
+ @state = args[:state] if args.key?(:state)
26952
+ @tunnels = args[:tunnels] if args.key?(:tunnels)
26953
+ end
26954
+ end
26955
+
26956
+ # A VPN gateway interface.
26957
+ class VpnGatewayVpnGatewayInterface
26958
+ include Google::Apis::Core::Hashable
26959
+
26960
+ # The numeric ID of this VPN gateway interface.
26961
+ # Corresponds to the JSON property `id`
26962
+ # @return [Fixnum]
26963
+ attr_accessor :id
26964
+
26965
+ # The external IP address for this VPN gateway interface.
26966
+ # Corresponds to the JSON property `ipAddress`
26967
+ # @return [String]
26968
+ attr_accessor :ip_address
26969
+
26970
+ def initialize(**args)
26971
+ update!(**args)
26972
+ end
26973
+
26974
+ # Update properties of this object
26975
+ def update!(**args)
26976
+ @id = args[:id] if args.key?(:id)
26977
+ @ip_address = args[:ip_address] if args.key?(:ip_address)
26978
+ end
26979
+ end
26980
+
26981
+ #
26982
+ class VpnGatewaysGetStatusResponse
26983
+ include Google::Apis::Core::Hashable
26984
+
26985
+ #
26986
+ # Corresponds to the JSON property `result`
26987
+ # @return [Google::Apis::ComputeV1::VpnGatewayStatus]
26988
+ attr_accessor :result
26989
+
26990
+ def initialize(**args)
26991
+ update!(**args)
26992
+ end
26993
+
26994
+ # Update properties of this object
26995
+ def update!(**args)
26996
+ @result = args[:result] if args.key?(:result)
26997
+ end
26998
+ end
26999
+
27000
+ #
27001
+ class VpnGatewaysScopedList
27002
+ include Google::Apis::Core::Hashable
27003
+
27004
+ # [Output Only] A list of VPN gateways contained in this scope.
27005
+ # Corresponds to the JSON property `vpnGateways`
27006
+ # @return [Array<Google::Apis::ComputeV1::VpnGateway>]
27007
+ attr_accessor :vpn_gateways
27008
+
27009
+ # [Output Only] Informational warning which replaces the list of addresses when
27010
+ # the list is empty.
27011
+ # Corresponds to the JSON property `warning`
27012
+ # @return [Google::Apis::ComputeV1::VpnGatewaysScopedList::Warning]
27013
+ attr_accessor :warning
27014
+
27015
+ def initialize(**args)
27016
+ update!(**args)
27017
+ end
27018
+
27019
+ # Update properties of this object
27020
+ def update!(**args)
27021
+ @vpn_gateways = args[:vpn_gateways] if args.key?(:vpn_gateways)
27022
+ @warning = args[:warning] if args.key?(:warning)
27023
+ end
27024
+
27025
+ # [Output Only] Informational warning which replaces the list of addresses when
27026
+ # the list is empty.
27027
+ class Warning
27028
+ include Google::Apis::Core::Hashable
27029
+
27030
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
27031
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
27032
+ # Corresponds to the JSON property `code`
27033
+ # @return [String]
27034
+ attr_accessor :code
27035
+
27036
+ # [Output Only] Metadata about this warning in key: value format. For example:
27037
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
27038
+ # Corresponds to the JSON property `data`
27039
+ # @return [Array<Google::Apis::ComputeV1::VpnGatewaysScopedList::Warning::Datum>]
27040
+ attr_accessor :data
27041
+
27042
+ # [Output Only] A human-readable description of the warning code.
27043
+ # Corresponds to the JSON property `message`
27044
+ # @return [String]
27045
+ attr_accessor :message
27046
+
27047
+ def initialize(**args)
27048
+ update!(**args)
27049
+ end
27050
+
27051
+ # Update properties of this object
27052
+ def update!(**args)
27053
+ @code = args[:code] if args.key?(:code)
27054
+ @data = args[:data] if args.key?(:data)
27055
+ @message = args[:message] if args.key?(:message)
27056
+ end
27057
+
27058
+ #
27059
+ class Datum
27060
+ include Google::Apis::Core::Hashable
27061
+
27062
+ # [Output Only] A key that provides more detail on the warning being returned.
27063
+ # For example, for warnings where there are no results in a list request for a
27064
+ # particular zone, this key might be scope and the key value might be the zone
27065
+ # name. Other examples might be a key indicating a deprecated resource and a
27066
+ # suggested replacement, or a warning about invalid network settings (for
27067
+ # example, if an instance attempts to perform IP forwarding but is not enabled
27068
+ # for IP forwarding).
27069
+ # Corresponds to the JSON property `key`
27070
+ # @return [String]
27071
+ attr_accessor :key
27072
+
27073
+ # [Output Only] A warning data value corresponding to the key.
27074
+ # Corresponds to the JSON property `value`
27075
+ # @return [String]
27076
+ attr_accessor :value
27077
+
27078
+ def initialize(**args)
27079
+ update!(**args)
27080
+ end
27081
+
27082
+ # Update properties of this object
27083
+ def update!(**args)
27084
+ @key = args[:key] if args.key?(:key)
27085
+ @value = args[:value] if args.key?(:value)
27086
+ end
27087
+ end
27088
+ end
27089
+ end
27090
+
27091
+ # Represents a Cloud VPN Tunnel resource.
27092
+ # For more information about VPN, read the the Cloud VPN Overview. (==
27093
+ # resource_for beta.vpnTunnels ==) (== resource_for v1.vpnTunnels ==)
27094
+ class VpnTunnel
27095
+ include Google::Apis::Core::Hashable
27096
+
27097
+ # [Output Only] Creation timestamp in RFC3339 text format.
27098
+ # Corresponds to the JSON property `creationTimestamp`
27099
+ # @return [String]
27100
+ attr_accessor :creation_timestamp
27101
+
27102
+ # An optional description of this resource. Provide this property when you
27103
+ # create the resource.
27104
+ # Corresponds to the JSON property `description`
27105
+ # @return [String]
27106
+ attr_accessor :description
27107
+
27108
+ # [Output Only] Detailed status message for the VPN tunnel.
27109
+ # Corresponds to the JSON property `detailedStatus`
27110
+ # @return [String]
27111
+ attr_accessor :detailed_status
27112
+
27113
+ # [Output Only] The unique identifier for the resource. This identifier is
27114
+ # defined by the server.
27115
+ # Corresponds to the JSON property `id`
27116
+ # @return [Fixnum]
27117
+ attr_accessor :id
27118
+
27119
+ # IKE protocol version to use when establishing the VPN tunnel with the peer VPN
27120
+ # gateway. Acceptable IKE versions are 1 or 2. The default version is 2.
27121
+ # Corresponds to the JSON property `ikeVersion`
27122
+ # @return [Fixnum]
27123
+ attr_accessor :ike_version
27124
+
27125
+ # [Output Only] Type of resource. Always compute#vpnTunnel for VPN tunnels.
27126
+ # Corresponds to the JSON property `kind`
27127
+ # @return [String]
27128
+ attr_accessor :kind
27129
+
27130
+ # Local traffic selector to use when establishing the VPN tunnel with the peer
27131
+ # VPN gateway. The value should be a CIDR formatted string, for example: 192.168.
27132
+ # 0.0/16. The ranges must be disjoint. Only IPv4 is supported.
27133
+ # Corresponds to the JSON property `localTrafficSelector`
27134
+ # @return [Array<String>]
27135
+ attr_accessor :local_traffic_selector
27136
+
27137
+ # Name of the resource. Provided by the client when the resource is created. The
27138
+ # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
27139
+ # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
27140
+ # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
27141
+ # and all following characters must be a dash, lowercase letter, or digit,
27142
+ # except the last character, which cannot be a dash.
27143
+ # Corresponds to the JSON property `name`
27144
+ # @return [String]
27145
+ attr_accessor :name
27146
+
27147
+ # URL of the peer side external VPN gateway to which this VPN tunnel is
27148
+ # connected. Provided by the client when the VPN tunnel is created. This field
27149
+ # is exclusive with the field peerGcpGateway.
27150
+ # Corresponds to the JSON property `peerExternalGateway`
27151
+ # @return [String]
27152
+ attr_accessor :peer_external_gateway
27153
+
27154
+ # The interface ID of the external VPN gateway to which this VPN tunnel is
27155
+ # connected. Provided by the client when the VPN tunnel is created.
27156
+ # Corresponds to the JSON property `peerExternalGatewayInterface`
27157
+ # @return [Fixnum]
27158
+ attr_accessor :peer_external_gateway_interface
27159
+
27160
+ # URL of the peer side HA GCP VPN gateway to which this VPN tunnel is connected.
27161
+ # Provided by the client when the VPN tunnel is created. This field can be used
27162
+ # when creating highly available VPN from VPC network to VPC network, the field
27163
+ # is exclusive with the field peerExternalGateway. If provided, the VPN tunnel
27164
+ # will automatically use the same vpnGatewayInterface ID in the peer GCP VPN
27165
+ # gateway.
27166
+ # Corresponds to the JSON property `peerGcpGateway`
27167
+ # @return [String]
27168
+ attr_accessor :peer_gcp_gateway
27169
+
27170
+ # IP address of the peer VPN gateway. Only IPv4 is supported.
27171
+ # Corresponds to the JSON property `peerIp`
27172
+ # @return [String]
27173
+ attr_accessor :peer_ip
27174
+
27175
+ # [Output Only] URL of the region where the VPN tunnel resides. You must specify
27176
+ # this field as part of the HTTP request URL. It is not settable as a field in
27177
+ # the request body.
27178
+ # Corresponds to the JSON property `region`
27179
+ # @return [String]
27180
+ attr_accessor :region
27181
+
27182
+ # Remote traffic selectors to use when establishing the VPN tunnel with the peer
27183
+ # VPN gateway. The value should be a CIDR formatted string, for example: 192.168.
27184
+ # 0.0/16. The ranges should be disjoint. Only IPv4 is supported.
27185
+ # Corresponds to the JSON property `remoteTrafficSelector`
27186
+ # @return [Array<String>]
27187
+ attr_accessor :remote_traffic_selector
27188
+
27189
+ # URL of the router resource to be used for dynamic routing.
27190
+ # Corresponds to the JSON property `router`
27191
+ # @return [String]
27192
+ attr_accessor :router
27193
+
27194
+ # [Output Only] Server-defined URL for the resource.
27195
+ # Corresponds to the JSON property `selfLink`
27196
+ # @return [String]
27197
+ attr_accessor :self_link
27198
+
27199
+ # Shared secret used to set the secure session between the Cloud VPN gateway and
27200
+ # the peer VPN gateway.
27201
+ # Corresponds to the JSON property `sharedSecret`
27202
+ # @return [String]
27203
+ attr_accessor :shared_secret
27204
+
27205
+ # Hash of the shared secret.
27206
+ # Corresponds to the JSON property `sharedSecretHash`
27207
+ # @return [String]
27208
+ attr_accessor :shared_secret_hash
27209
+
27210
+ # [Output Only] The status of the VPN tunnel, which can be one of the following:
27211
+ # - PROVISIONING: Resource is being allocated for the VPN tunnel.
27212
+ # - WAITING_FOR_FULL_CONFIG: Waiting to receive all VPN-related configs from the
27213
+ # user. Network, TargetVpnGateway, VpnTunnel, ForwardingRule, and Route
27214
+ # resources are needed to setup the VPN tunnel.
27215
+ # - FIRST_HANDSHAKE: Successful first handshake with the peer VPN.
27216
+ # - ESTABLISHED: Secure session is successfully established with the peer VPN.
27217
+ # - NETWORK_ERROR: Deprecated, replaced by NO_INCOMING_PACKETS
27218
+ # - AUTHORIZATION_ERROR: Auth error (for example, bad shared secret).
27219
+ # - NEGOTIATION_FAILURE: Handshake failed.
27220
+ # - DEPROVISIONING: Resources are being deallocated for the VPN tunnel.
27221
+ # - FAILED: Tunnel creation has failed and the tunnel is not ready to be used.
27222
+ # Corresponds to the JSON property `status`
27223
+ # @return [String]
27224
+ attr_accessor :status
27225
+
27226
+ # URL of the Target VPN gateway with which this VPN tunnel is associated.
27227
+ # Provided by the client when the VPN tunnel is created.
27228
+ # Corresponds to the JSON property `targetVpnGateway`
27229
+ # @return [String]
27230
+ attr_accessor :target_vpn_gateway
27231
+
27232
+ # URL of the VPN gateway with which this VPN tunnel is associated. Provided by
27233
+ # the client when the VPN tunnel is created. This must be used (instead of
27234
+ # target_vpn_gateway) if a High Availability VPN gateway resource is created.
27235
+ # Corresponds to the JSON property `vpnGateway`
27236
+ # @return [String]
27237
+ attr_accessor :vpn_gateway
27238
+
27239
+ # The interface ID of the VPN gateway with which this VPN tunnel is associated.
27240
+ # Corresponds to the JSON property `vpnGatewayInterface`
27241
+ # @return [Fixnum]
27242
+ attr_accessor :vpn_gateway_interface
26226
27243
 
26227
27244
  def initialize(**args)
26228
27245
  update!(**args)
@@ -26238,6 +27255,9 @@ module Google
26238
27255
  @kind = args[:kind] if args.key?(:kind)
26239
27256
  @local_traffic_selector = args[:local_traffic_selector] if args.key?(:local_traffic_selector)
26240
27257
  @name = args[:name] if args.key?(:name)
27258
+ @peer_external_gateway = args[:peer_external_gateway] if args.key?(:peer_external_gateway)
27259
+ @peer_external_gateway_interface = args[:peer_external_gateway_interface] if args.key?(:peer_external_gateway_interface)
27260
+ @peer_gcp_gateway = args[:peer_gcp_gateway] if args.key?(:peer_gcp_gateway)
26241
27261
  @peer_ip = args[:peer_ip] if args.key?(:peer_ip)
26242
27262
  @region = args[:region] if args.key?(:region)
26243
27263
  @remote_traffic_selector = args[:remote_traffic_selector] if args.key?(:remote_traffic_selector)
@@ -26247,6 +27267,8 @@ module Google
26247
27267
  @shared_secret_hash = args[:shared_secret_hash] if args.key?(:shared_secret_hash)
26248
27268
  @status = args[:status] if args.key?(:status)
26249
27269
  @target_vpn_gateway = args[:target_vpn_gateway] if args.key?(:target_vpn_gateway)
27270
+ @vpn_gateway = args[:vpn_gateway] if args.key?(:vpn_gateway)
27271
+ @vpn_gateway_interface = args[:vpn_gateway_interface] if args.key?(:vpn_gateway_interface)
26250
27272
  end
26251
27273
  end
26252
27274