google-api-client 0.30.9 → 0.30.10

Sign up to get free protection for your applications and to get access to all the features.
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