google-api-client 0.30.2 → 0.30.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (230) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +90 -0
  3. data/README.md +17 -1
  4. data/generated/google/apis/accesscontextmanager_v1beta.rb +1 -1
  5. data/generated/google/apis/accesscontextmanager_v1beta/classes.rb +108 -0
  6. data/generated/google/apis/accesscontextmanager_v1beta/representations.rb +48 -0
  7. data/generated/google/apis/adexchangebuyer_v1_3.rb +1 -1
  8. data/generated/google/apis/adexchangebuyer_v1_3/classes.rb +32 -6
  9. data/generated/google/apis/adexchangebuyer_v1_3/representations.rb +16 -1
  10. data/generated/google/apis/adexchangebuyer_v1_4.rb +1 -1
  11. data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +32 -6
  12. data/generated/google/apis/adexchangebuyer_v1_4/representations.rb +16 -1
  13. data/generated/google/apis/analytics_v3.rb +1 -1
  14. data/generated/google/apis/analytics_v3/classes.rb +1 -1
  15. data/generated/google/apis/analytics_v3/service.rb +1 -1
  16. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  17. data/generated/google/apis/androidmanagement_v1/classes.rb +8 -64
  18. data/generated/google/apis/androidpublisher_v1_1.rb +1 -1
  19. data/generated/google/apis/androidpublisher_v1_1/classes.rb +1 -0
  20. data/generated/google/apis/androidpublisher_v2.rb +1 -1
  21. data/generated/google/apis/androidpublisher_v2/classes.rb +6 -4
  22. data/generated/google/apis/androidpublisher_v3.rb +1 -1
  23. data/generated/google/apis/androidpublisher_v3/classes.rb +6 -4
  24. data/generated/google/apis/bigquery_v2.rb +1 -1
  25. data/generated/google/apis/bigquery_v2/classes.rb +243 -5
  26. data/generated/google/apis/bigquery_v2/representations.rb +77 -0
  27. data/generated/google/apis/bigquery_v2/service.rb +206 -0
  28. data/generated/google/apis/bigquerydatatransfer_v1.rb +1 -1
  29. data/generated/google/apis/bigquerydatatransfer_v1/classes.rb +18 -76
  30. data/generated/google/apis/bigquerydatatransfer_v1/representations.rb +1 -0
  31. data/generated/google/apis/bigquerydatatransfer_v1/service.rb +4 -4
  32. data/generated/google/apis/bigtableadmin_v1.rb +1 -1
  33. data/generated/google/apis/bigtableadmin_v1/classes.rb +0 -72
  34. data/generated/google/apis/bigtableadmin_v1/representations.rb +0 -32
  35. data/generated/google/apis/bigtableadmin_v1/service.rb +0 -69
  36. data/generated/google/apis/bigtableadmin_v2.rb +1 -1
  37. data/generated/google/apis/bigtableadmin_v2/classes.rb +72 -0
  38. data/generated/google/apis/bigtableadmin_v2/representations.rb +32 -0
  39. data/generated/google/apis/bigtableadmin_v2/service.rb +69 -0
  40. data/generated/google/apis/cloudasset_v1.rb +1 -1
  41. data/generated/google/apis/cloudasset_v1/classes.rb +9 -75
  42. data/generated/google/apis/cloudasset_v1beta1.rb +1 -1
  43. data/generated/google/apis/cloudasset_v1beta1/classes.rb +9 -75
  44. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  45. data/generated/google/apis/cloudfunctions_v1/classes.rb +8 -74
  46. data/generated/google/apis/cloudfunctions_v1beta2.rb +1 -1
  47. data/generated/google/apis/cloudfunctions_v1beta2/classes.rb +8 -74
  48. data/generated/google/apis/cloudiot_v1.rb +1 -1
  49. data/generated/google/apis/cloudiot_v1/classes.rb +8 -74
  50. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  51. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +4 -8
  52. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  53. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +4 -5
  54. data/generated/google/apis/cloudresourcemanager_v2.rb +1 -1
  55. data/generated/google/apis/cloudresourcemanager_v2/classes.rb +11 -9
  56. data/generated/google/apis/cloudresourcemanager_v2beta1.rb +1 -1
  57. data/generated/google/apis/cloudresourcemanager_v2beta1/classes.rb +11 -9
  58. data/generated/google/apis/cloudscheduler_v1.rb +1 -1
  59. data/generated/google/apis/cloudscheduler_v1/classes.rb +20 -84
  60. data/generated/google/apis/cloudscheduler_v1beta1.rb +1 -1
  61. data/generated/google/apis/cloudscheduler_v1beta1/classes.rb +20 -84
  62. data/generated/google/apis/cloudsearch_v1.rb +1 -1
  63. data/generated/google/apis/cloudsearch_v1/classes.rb +8 -74
  64. data/generated/google/apis/cloudshell_v1.rb +1 -1
  65. data/generated/google/apis/cloudshell_v1/classes.rb +8 -74
  66. data/generated/google/apis/cloudshell_v1alpha1.rb +1 -1
  67. data/generated/google/apis/cloudshell_v1alpha1/classes.rb +8 -74
  68. data/generated/google/apis/cloudtasks_v2beta2.rb +1 -1
  69. data/generated/google/apis/cloudtasks_v2beta2/classes.rb +8 -0
  70. data/generated/google/apis/cloudtrace_v2.rb +1 -1
  71. data/generated/google/apis/cloudtrace_v2/classes.rb +8 -74
  72. data/generated/google/apis/commentanalyzer_v1alpha1.rb +2 -2
  73. data/generated/google/apis/commentanalyzer_v1alpha1/service.rb +1 -1
  74. data/generated/google/apis/composer_v1.rb +1 -1
  75. data/generated/google/apis/composer_v1/classes.rb +8 -74
  76. data/generated/google/apis/composer_v1beta1.rb +1 -1
  77. data/generated/google/apis/composer_v1beta1/classes.rb +8 -74
  78. data/generated/google/apis/compute_alpha.rb +1 -1
  79. data/generated/google/apis/compute_alpha/classes.rb +1991 -700
  80. data/generated/google/apis/compute_alpha/representations.rb +604 -154
  81. data/generated/google/apis/compute_alpha/service.rb +693 -89
  82. data/generated/google/apis/compute_beta.rb +1 -1
  83. data/generated/google/apis/compute_beta/classes.rb +375 -230
  84. data/generated/google/apis/compute_beta/representations.rb +2 -0
  85. data/generated/google/apis/compute_beta/service.rb +92 -6
  86. data/generated/google/apis/compute_v1.rb +1 -1
  87. data/generated/google/apis/compute_v1/classes.rb +1827 -239
  88. data/generated/google/apis/compute_v1/representations.rb +669 -2
  89. data/generated/google/apis/compute_v1/service.rb +1150 -6
  90. data/generated/google/apis/container_v1.rb +1 -1
  91. data/generated/google/apis/container_v1/classes.rb +104 -0
  92. data/generated/google/apis/container_v1/representations.rb +48 -0
  93. data/generated/google/apis/container_v1beta1.rb +1 -1
  94. data/generated/google/apis/container_v1beta1/classes.rb +67 -2
  95. data/generated/google/apis/container_v1beta1/representations.rb +31 -0
  96. data/generated/google/apis/content_v2.rb +1 -1
  97. data/generated/google/apis/content_v2/classes.rb +4 -0
  98. data/generated/google/apis/content_v2_1.rb +1 -1
  99. data/generated/google/apis/content_v2_1/classes.rb +41 -0
  100. data/generated/google/apis/content_v2_1/representations.rb +19 -0
  101. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  102. data/generated/google/apis/dataflow_v1b3/classes.rb +46 -74
  103. data/generated/google/apis/dataflow_v1b3/representations.rb +17 -0
  104. data/generated/google/apis/datafusion_v1beta1.rb +1 -1
  105. data/generated/google/apis/datafusion_v1beta1/classes.rb +8 -74
  106. data/generated/google/apis/dataproc_v1.rb +1 -1
  107. data/generated/google/apis/dataproc_v1/classes.rb +147 -64
  108. data/generated/google/apis/dataproc_v1/representations.rb +42 -0
  109. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  110. data/generated/google/apis/dataproc_v1beta2/classes.rb +8 -64
  111. data/generated/google/apis/dataproc_v1beta2/service.rb +4 -2
  112. data/generated/google/apis/dialogflow_v2.rb +2 -2
  113. data/generated/google/apis/dialogflow_v2/classes.rb +32 -32
  114. data/generated/google/apis/dialogflow_v2/representations.rb +2 -0
  115. data/generated/google/apis/dialogflow_v2/service.rb +77 -17
  116. data/generated/google/apis/dialogflow_v2beta1.rb +2 -2
  117. data/generated/google/apis/dialogflow_v2beta1/classes.rb +32 -32
  118. data/generated/google/apis/dialogflow_v2beta1/representations.rb +2 -0
  119. data/generated/google/apis/dialogflow_v2beta1/service.rb +79 -19
  120. data/generated/google/apis/dlp_v2.rb +1 -1
  121. data/generated/google/apis/dlp_v2/classes.rb +4 -3
  122. data/generated/google/apis/dns_v1beta2.rb +1 -1
  123. data/generated/google/apis/dns_v1beta2/service.rb +1 -1
  124. data/generated/google/apis/docs_v1.rb +1 -1
  125. data/generated/google/apis/docs_v1/classes.rb +0 -10
  126. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  127. data/generated/google/apis/file_v1.rb +1 -1
  128. data/generated/google/apis/file_v1/classes.rb +17 -74
  129. data/generated/google/apis/file_v1/representations.rb +1 -0
  130. data/generated/google/apis/file_v1beta1.rb +1 -1
  131. data/generated/google/apis/file_v1beta1/classes.rb +17 -74
  132. data/generated/google/apis/file_v1beta1/representations.rb +1 -0
  133. data/generated/google/apis/firebase_v1beta1.rb +44 -0
  134. data/generated/google/apis/firebase_v1beta1/classes.rb +1063 -0
  135. data/generated/google/apis/firebase_v1beta1/representations.rb +432 -0
  136. data/generated/google/apis/firebase_v1beta1/service.rb +1105 -0
  137. data/generated/google/apis/healthcare_v1alpha2.rb +1 -1
  138. data/generated/google/apis/healthcare_v1alpha2/service.rb +43 -61
  139. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  140. data/generated/google/apis/healthcare_v1beta1/service.rb +43 -61
  141. data/generated/google/apis/iam_v1.rb +1 -1
  142. data/generated/google/apis/iam_v1/classes.rb +6 -0
  143. data/generated/google/apis/iam_v1/representations.rb +1 -0
  144. data/generated/google/apis/logging_v2.rb +1 -1
  145. data/generated/google/apis/ml_v1.rb +1 -1
  146. data/generated/google/apis/ml_v1/classes.rb +18 -0
  147. data/generated/google/apis/ml_v1/representations.rb +3 -0
  148. data/generated/google/apis/monitoring_v3.rb +1 -1
  149. data/generated/google/apis/monitoring_v3/classes.rb +1 -1
  150. data/generated/google/apis/people_v1.rb +1 -1
  151. data/generated/google/apis/people_v1/classes.rb +12 -111
  152. data/generated/google/apis/pubsub_v1.rb +1 -1
  153. data/generated/google/apis/pubsub_v1/classes.rb +43 -0
  154. data/generated/google/apis/pubsub_v1/representations.rb +16 -0
  155. data/generated/google/apis/remotebuildexecution_v1.rb +1 -1
  156. data/generated/google/apis/remotebuildexecution_v1/classes.rb +89 -26
  157. data/generated/google/apis/remotebuildexecution_v1/representations.rb +3 -0
  158. data/generated/google/apis/remotebuildexecution_v1alpha.rb +1 -1
  159. data/generated/google/apis/remotebuildexecution_v1alpha/classes.rb +89 -26
  160. data/generated/google/apis/remotebuildexecution_v1alpha/representations.rb +3 -0
  161. data/generated/google/apis/remotebuildexecution_v1alpha/service.rb +15 -1
  162. data/generated/google/apis/remotebuildexecution_v2.rb +1 -1
  163. data/generated/google/apis/remotebuildexecution_v2/classes.rb +103 -30
  164. data/generated/google/apis/remotebuildexecution_v2/representations.rb +3 -0
  165. data/generated/google/apis/remotebuildexecution_v2/service.rb +29 -2
  166. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  167. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +0 -1
  168. data/generated/google/apis/servicecontrol_v1.rb +1 -1
  169. data/generated/google/apis/servicecontrol_v1/classes.rb +64 -148
  170. data/generated/google/apis/servicecontrol_v1/representations.rb +17 -0
  171. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  172. data/generated/google/apis/servicemanagement_v1/classes.rb +8 -74
  173. data/generated/google/apis/servicemanagement_v1/service.rb +9 -1
  174. data/generated/google/apis/servicenetworking_v1.rb +1 -1
  175. data/generated/google/apis/servicenetworking_v1/classes.rb +0 -1
  176. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  177. data/generated/google/apis/servicenetworking_v1beta/classes.rb +0 -1
  178. data/generated/google/apis/serviceusage_v1.rb +1 -1
  179. data/generated/google/apis/serviceusage_v1/classes.rb +0 -1
  180. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  181. data/generated/google/apis/serviceusage_v1beta1/classes.rb +0 -1
  182. data/generated/google/apis/spanner_v1.rb +1 -1
  183. data/generated/google/apis/spanner_v1/classes.rb +12 -111
  184. data/generated/google/apis/speech_v1.rb +1 -1
  185. data/generated/google/apis/speech_v1/classes.rb +13 -74
  186. data/generated/google/apis/speech_v1p1beta1.rb +1 -1
  187. data/generated/google/apis/speech_v1p1beta1/classes.rb +13 -74
  188. data/generated/google/apis/sqladmin_v1beta4.rb +1 -1
  189. data/generated/google/apis/sqladmin_v1beta4/classes.rb +10 -3
  190. data/generated/google/apis/sqladmin_v1beta4/representations.rb +1 -0
  191. data/generated/google/apis/tagmanager_v1.rb +4 -3
  192. data/generated/google/apis/tagmanager_v1/classes.rb +237 -70
  193. data/generated/google/apis/tagmanager_v1/service.rb +223 -374
  194. data/generated/google/apis/tagmanager_v2.rb +4 -3
  195. data/generated/google/apis/tagmanager_v2/classes.rb +221 -208
  196. data/generated/google/apis/tagmanager_v2/representations.rb +1 -16
  197. data/generated/google/apis/tagmanager_v2/service.rb +608 -757
  198. data/generated/google/apis/texttospeech_v1.rb +1 -1
  199. data/generated/google/apis/texttospeech_v1/classes.rb +28 -27
  200. data/generated/google/apis/texttospeech_v1beta1.rb +1 -1
  201. data/generated/google/apis/texttospeech_v1beta1/classes.rb +28 -27
  202. data/generated/google/apis/toolresults_v1beta3.rb +1 -1
  203. data/generated/google/apis/toolresults_v1beta3/classes.rb +35 -0
  204. data/generated/google/apis/toolresults_v1beta3/representations.rb +2 -0
  205. data/generated/google/apis/tpu_v1.rb +1 -1
  206. data/generated/google/apis/tpu_v1/classes.rb +17 -88
  207. data/generated/google/apis/tpu_v1alpha1.rb +1 -1
  208. data/generated/google/apis/tpu_v1alpha1/classes.rb +17 -88
  209. data/generated/google/apis/vault_v1.rb +1 -1
  210. data/generated/google/apis/vault_v1/classes.rb +49 -0
  211. data/generated/google/apis/vault_v1/representations.rb +18 -0
  212. data/generated/google/apis/videointelligence_v1.rb +1 -1
  213. data/generated/google/apis/videointelligence_v1/classes.rb +324 -332
  214. data/generated/google/apis/videointelligence_v1/representations.rb +102 -0
  215. data/generated/google/apis/videointelligence_v1/service.rb +217 -9
  216. data/generated/google/apis/videointelligence_v1beta2.rb +1 -1
  217. data/generated/google/apis/videointelligence_v1beta2/classes.rb +279 -297
  218. data/generated/google/apis/videointelligence_v1beta2/representations.rb +102 -0
  219. data/generated/google/apis/videointelligence_v1p1beta1.rb +1 -1
  220. data/generated/google/apis/videointelligence_v1p1beta1/classes.rb +324 -332
  221. data/generated/google/apis/videointelligence_v1p1beta1/representations.rb +102 -0
  222. data/generated/google/apis/videointelligence_v1p2beta1.rb +1 -1
  223. data/generated/google/apis/videointelligence_v1p2beta1/classes.rb +324 -332
  224. data/generated/google/apis/videointelligence_v1p2beta1/representations.rb +102 -0
  225. data/generated/google/apis/videointelligence_v1p3beta1.rb +1 -1
  226. data/generated/google/apis/videointelligence_v1p3beta1/classes.rb +324 -332
  227. data/generated/google/apis/videointelligence_v1p3beta1/representations.rb +102 -0
  228. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  229. data/lib/google/apis/version.rb +1 -1
  230. metadata +6 -2
@@ -35,7 +35,7 @@ module Google
35
35
  # Commentanalyzer = Google::Apis::CommentanalyzerV1alpha1 # Alias the module
36
36
  # service = Commentanalyzer::CommentAnalyzerService.new
37
37
  #
38
- # @see https://conversationai.github.io/
38
+ # @see https://github.com/conversationai/perspectiveapi/blob/master/README.md
39
39
  class CommentAnalyzerService < Google::Apis::Core::BaseService
40
40
  # @return [String]
41
41
  # API key. Your API key identifies your project and provides you with API access,
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://cloud.google.com/composer/
26
26
  module ComposerV1
27
27
  VERSION = 'V1'
28
- REVISION = '20190514'
28
+ REVISION = '20190613'
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'
@@ -403,43 +403,10 @@ module Google
403
403
 
404
404
  # The `Status` type defines a logical error model that is suitable for
405
405
  # different programming environments, including REST APIs and RPC APIs. It is
406
- # used by [gRPC](https://github.com/grpc). The error model is designed to be:
407
- # - Simple to use and understand for most users
408
- # - Flexible enough to meet unexpected needs
409
- # # Overview
410
- # The `Status` message contains three pieces of data: error code, error
411
- # message, and error details. The error code should be an enum value of
412
- # google.rpc.Code, but it may accept additional error codes if needed. The
413
- # error message should be a developer-facing English message that helps
414
- # developers *understand* and *resolve* the error. If a localized user-facing
415
- # error message is needed, put the localized message in the error details or
416
- # localize it in the client. The optional error details may contain arbitrary
417
- # information about the error. There is a predefined set of error detail types
418
- # in the package `google.rpc` that can be used for common error conditions.
419
- # # Language mapping
420
- # The `Status` message is the logical representation of the error model, but it
421
- # is not necessarily the actual wire format. When the `Status` message is
422
- # exposed in different client libraries and different wire protocols, it can be
423
- # mapped differently. For example, it will likely be mapped to some exceptions
424
- # in Java, but more likely mapped to some error codes in C.
425
- # # Other uses
426
- # The error model and the `Status` message can be used in a variety of
427
- # environments, either with or without APIs, to provide a
428
- # consistent developer experience across different environments.
429
- # Example uses of this error model include:
430
- # - Partial errors. If a service needs to return partial errors to the client,
431
- # it may embed the `Status` in the normal response to indicate the partial
432
- # errors.
433
- # - Workflow errors. A typical workflow has multiple steps. Each step may
434
- # have a `Status` message for error reporting.
435
- # - Batch operations. If a client uses batch request and batch response, the
436
- # `Status` message should be used directly inside batch response, one for
437
- # each error sub-response.
438
- # - Asynchronous operations. If an API call embeds asynchronous operation
439
- # results in its response, the status of those operations should be
440
- # represented directly using the `Status` message.
441
- # - Logging. If some API errors are stored in logs, the message `Status` could
442
- # be used directly after any stripping needed for security/privacy reasons.
406
+ # used by [gRPC](https://github.com/grpc). Each `Status` message contains
407
+ # three pieces of data: error code, error message, and error details.
408
+ # You can find out more about this error model and how to work with it in the
409
+ # [API Design Guide](https://cloud.google.com/apis/design/errors).
443
410
  # Corresponds to the JSON property `error`
444
411
  # @return [Google::Apis::ComposerV1::Status]
445
412
  attr_accessor :error
@@ -644,43 +611,10 @@ module Google
644
611
 
645
612
  # The `Status` type defines a logical error model that is suitable for
646
613
  # different programming environments, including REST APIs and RPC APIs. It is
647
- # used by [gRPC](https://github.com/grpc). The error model is designed to be:
648
- # - Simple to use and understand for most users
649
- # - Flexible enough to meet unexpected needs
650
- # # Overview
651
- # The `Status` message contains three pieces of data: error code, error
652
- # message, and error details. The error code should be an enum value of
653
- # google.rpc.Code, but it may accept additional error codes if needed. The
654
- # error message should be a developer-facing English message that helps
655
- # developers *understand* and *resolve* the error. If a localized user-facing
656
- # error message is needed, put the localized message in the error details or
657
- # localize it in the client. The optional error details may contain arbitrary
658
- # information about the error. There is a predefined set of error detail types
659
- # in the package `google.rpc` that can be used for common error conditions.
660
- # # Language mapping
661
- # The `Status` message is the logical representation of the error model, but it
662
- # is not necessarily the actual wire format. When the `Status` message is
663
- # exposed in different client libraries and different wire protocols, it can be
664
- # mapped differently. For example, it will likely be mapped to some exceptions
665
- # in Java, but more likely mapped to some error codes in C.
666
- # # Other uses
667
- # The error model and the `Status` message can be used in a variety of
668
- # environments, either with or without APIs, to provide a
669
- # consistent developer experience across different environments.
670
- # Example uses of this error model include:
671
- # - Partial errors. If a service needs to return partial errors to the client,
672
- # it may embed the `Status` in the normal response to indicate the partial
673
- # errors.
674
- # - Workflow errors. A typical workflow has multiple steps. Each step may
675
- # have a `Status` message for error reporting.
676
- # - Batch operations. If a client uses batch request and batch response, the
677
- # `Status` message should be used directly inside batch response, one for
678
- # each error sub-response.
679
- # - Asynchronous operations. If an API call embeds asynchronous operation
680
- # results in its response, the status of those operations should be
681
- # represented directly using the `Status` message.
682
- # - Logging. If some API errors are stored in logs, the message `Status` could
683
- # be used directly after any stripping needed for security/privacy reasons.
614
+ # used by [gRPC](https://github.com/grpc). Each `Status` message contains
615
+ # three pieces of data: error code, error message, and error details.
616
+ # You can find out more about this error model and how to work with it in the
617
+ # [API Design Guide](https://cloud.google.com/apis/design/errors).
684
618
  class Status
685
619
  include Google::Apis::Core::Hashable
686
620
 
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://cloud.google.com/composer/
26
26
  module ComposerV1beta1
27
27
  VERSION = 'V1beta1'
28
- REVISION = '20190514'
28
+ REVISION = '20190613'
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'
@@ -493,43 +493,10 @@ module Google
493
493
 
494
494
  # The `Status` type defines a logical error model that is suitable for
495
495
  # different programming environments, including REST APIs and RPC APIs. It is
496
- # used by [gRPC](https://github.com/grpc). The error model is designed to be:
497
- # - Simple to use and understand for most users
498
- # - Flexible enough to meet unexpected needs
499
- # # Overview
500
- # The `Status` message contains three pieces of data: error code, error
501
- # message, and error details. The error code should be an enum value of
502
- # google.rpc.Code, but it may accept additional error codes if needed. The
503
- # error message should be a developer-facing English message that helps
504
- # developers *understand* and *resolve* the error. If a localized user-facing
505
- # error message is needed, put the localized message in the error details or
506
- # localize it in the client. The optional error details may contain arbitrary
507
- # information about the error. There is a predefined set of error detail types
508
- # in the package `google.rpc` that can be used for common error conditions.
509
- # # Language mapping
510
- # The `Status` message is the logical representation of the error model, but it
511
- # is not necessarily the actual wire format. When the `Status` message is
512
- # exposed in different client libraries and different wire protocols, it can be
513
- # mapped differently. For example, it will likely be mapped to some exceptions
514
- # in Java, but more likely mapped to some error codes in C.
515
- # # Other uses
516
- # The error model and the `Status` message can be used in a variety of
517
- # environments, either with or without APIs, to provide a
518
- # consistent developer experience across different environments.
519
- # Example uses of this error model include:
520
- # - Partial errors. If a service needs to return partial errors to the client,
521
- # it may embed the `Status` in the normal response to indicate the partial
522
- # errors.
523
- # - Workflow errors. A typical workflow has multiple steps. Each step may
524
- # have a `Status` message for error reporting.
525
- # - Batch operations. If a client uses batch request and batch response, the
526
- # `Status` message should be used directly inside batch response, one for
527
- # each error sub-response.
528
- # - Asynchronous operations. If an API call embeds asynchronous operation
529
- # results in its response, the status of those operations should be
530
- # represented directly using the `Status` message.
531
- # - Logging. If some API errors are stored in logs, the message `Status` could
532
- # be used directly after any stripping needed for security/privacy reasons.
496
+ # used by [gRPC](https://github.com/grpc). Each `Status` message contains
497
+ # three pieces of data: error code, error message, and error details.
498
+ # You can find out more about this error model and how to work with it in the
499
+ # [API Design Guide](https://cloud.google.com/apis/design/errors).
533
500
  # Corresponds to the JSON property `error`
534
501
  # @return [Google::Apis::ComposerV1beta1::Status]
535
502
  attr_accessor :error
@@ -796,43 +763,10 @@ module Google
796
763
 
797
764
  # The `Status` type defines a logical error model that is suitable for
798
765
  # different programming environments, including REST APIs and RPC APIs. It is
799
- # used by [gRPC](https://github.com/grpc). The error model is designed to be:
800
- # - Simple to use and understand for most users
801
- # - Flexible enough to meet unexpected needs
802
- # # Overview
803
- # The `Status` message contains three pieces of data: error code, error
804
- # message, and error details. The error code should be an enum value of
805
- # google.rpc.Code, but it may accept additional error codes if needed. The
806
- # error message should be a developer-facing English message that helps
807
- # developers *understand* and *resolve* the error. If a localized user-facing
808
- # error message is needed, put the localized message in the error details or
809
- # localize it in the client. The optional error details may contain arbitrary
810
- # information about the error. There is a predefined set of error detail types
811
- # in the package `google.rpc` that can be used for common error conditions.
812
- # # Language mapping
813
- # The `Status` message is the logical representation of the error model, but it
814
- # is not necessarily the actual wire format. When the `Status` message is
815
- # exposed in different client libraries and different wire protocols, it can be
816
- # mapped differently. For example, it will likely be mapped to some exceptions
817
- # in Java, but more likely mapped to some error codes in C.
818
- # # Other uses
819
- # The error model and the `Status` message can be used in a variety of
820
- # environments, either with or without APIs, to provide a
821
- # consistent developer experience across different environments.
822
- # Example uses of this error model include:
823
- # - Partial errors. If a service needs to return partial errors to the client,
824
- # it may embed the `Status` in the normal response to indicate the partial
825
- # errors.
826
- # - Workflow errors. A typical workflow has multiple steps. Each step may
827
- # have a `Status` message for error reporting.
828
- # - Batch operations. If a client uses batch request and batch response, the
829
- # `Status` message should be used directly inside batch response, one for
830
- # each error sub-response.
831
- # - Asynchronous operations. If an API call embeds asynchronous operation
832
- # results in its response, the status of those operations should be
833
- # represented directly using the `Status` message.
834
- # - Logging. If some API errors are stored in logs, the message `Status` could
835
- # be used directly after any stripping needed for security/privacy reasons.
766
+ # used by [gRPC](https://github.com/grpc). Each `Status` message contains
767
+ # three pieces of data: error code, error message, and error details.
768
+ # You can find out more about this error model and how to work with it in the
769
+ # [API Design Guide](https://cloud.google.com/apis/design/errors).
836
770
  class Status
837
771
  include Google::Apis::Core::Hashable
838
772
 
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://developers.google.com/compute/docs/reference/latest/
26
26
  module ComputeAlpha
27
27
  VERSION = 'Alpha'
28
- REVISION = '20190528'
28
+ REVISION = '20190607'
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'
@@ -52,8 +52,12 @@ module Google
52
52
  end
53
53
  end
54
54
 
55
- # An Accelerator Type resource. (== resource_for beta.acceleratorTypes ==) (==
56
- # resource_for v1.acceleratorTypes ==)
55
+ # Represents an Accelerator Type resource.
56
+ # Google Cloud Platform provides graphics processing units (accelerators) that
57
+ # you can add to VM instances to improve or accelerate performance when working
58
+ # with intensive workloads. For more information, read GPUs on Compute Engine. (=
59
+ # = resource_for beta.acceleratorTypes ==) (== resource_for v1.acceleratorTypes =
60
+ # =)
57
61
  class AcceleratorType
58
62
  include Google::Apis::Core::Hashable
59
63
 
@@ -469,8 +473,8 @@ module Google
469
473
  attr_accessor :kind
470
474
 
471
475
  # The name of this access configuration. The default and recommended name is
472
- # External NAT but you can use any arbitrary string you would like. For example,
473
- # My external IP or Network Access.
476
+ # External NAT, but you can use any arbitrary string, such as My external IP or
477
+ # Network Access.
474
478
  # Corresponds to the JSON property `name`
475
479
  # @return [String]
476
480
  attr_accessor :name
@@ -500,8 +504,8 @@ module Google
500
504
  # @return [String]
501
505
  attr_accessor :public_dns_name
502
506
 
503
- # The DNS domain name for the public PTR record. This field can only be set when
504
- # the set_public_ptr field is enabled.
507
+ # The DNS domain name for the public PTR record. You can set this field only if
508
+ # the `setPublicPtr` field is enabled.
505
509
  # Corresponds to the JSON property `publicPtrDomainName`
506
510
  # @return [String]
507
511
  attr_accessor :public_ptr_domain_name
@@ -513,7 +517,7 @@ module Google
513
517
  attr_accessor :set_public_dns
514
518
  alias_method :set_public_dns?, :set_public_dns
515
519
 
516
- # Specifies whether a public DNS ?PTR? record should be created to map the
520
+ # Specifies whether a public DNS 'PTR' record should be created to map the
517
521
  # external IP address of the instance to a DNS domain name.
518
522
  # Corresponds to the JSON property `setPublicPtr`
519
523
  # @return [Boolean]
@@ -543,9 +547,21 @@ module Google
543
547
  end
544
548
  end
545
549
 
546
- # A reserved address resource. (== resource_for beta.addresses ==) (==
547
- # resource_for v1.addresses ==) (== resource_for beta.globalAddresses ==) (==
548
- # resource_for v1.globalAddresses ==)
550
+ # Represents an IP Address resource.
551
+ # An address resource represents a regional internal IP address. Regional
552
+ # internal IP addresses are RFC 1918 addresses that come from either a primary
553
+ # or secondary IP range of a subnet in a VPC network. Regional external IP
554
+ # addresses can be assigned to GCP VM instances, Cloud VPN gateways, regional
555
+ # external forwarding rules for network load balancers (in either Standard or
556
+ # Premium Tier), and regional external forwarding rules for HTTP(S), SSL Proxy,
557
+ # and TCP Proxy load balancers in Standard Tier. For more information, read IP
558
+ # addresses.
559
+ # A globalAddresses resource represent a global external IP address. Global
560
+ # external IP addresses are IPv4 or IPv6 addresses. They can only be assigned to
561
+ # global forwarding rules for HTTP(S), SSL Proxy, or TCP Proxy load balancers in
562
+ # Premium Tier. For more information, read Global resources. (== resource_for
563
+ # beta.addresses ==) (== resource_for v1.addresses ==) (== resource_for beta.
564
+ # globalAddresses ==) (== resource_for v1.globalAddresses ==)
549
565
  class Address
550
566
  include Google::Apis::Core::Hashable
551
567
 
@@ -565,8 +581,8 @@ module Google
565
581
  # @return [String]
566
582
  attr_accessor :creation_timestamp
567
583
 
568
- # An optional description of this resource. Provide this property when you
569
- # create the resource.
584
+ # An optional description of this resource. Provide this field when you create
585
+ # the resource.
570
586
  # Corresponds to the JSON property `description`
571
587
  # @return [String]
572
588
  attr_accessor :description
@@ -577,7 +593,7 @@ module Google
577
593
  # @return [Fixnum]
578
594
  attr_accessor :id
579
595
 
580
- # The IP Version that will be used by this address. Valid options are IPV4 or
596
+ # The IP version that will be used by this address. Valid options are IPV4 or
581
597
  # IPV6. This can only be specified for a global address.
582
598
  # Corresponds to the JSON property `ipVersion`
583
599
  # @return [String]
@@ -610,25 +626,25 @@ module Google
610
626
  # Name of the resource. Provided by the client when the resource is created. The
611
627
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
612
628
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
613
- # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
614
- # and all following characters must be a dash, lowercase letter, or digit,
615
- # except the last character, which cannot be a dash.
629
+ # z0-9]*[a-z0-9])?`. The first character must be a lowercase letter, and all
630
+ # following characters (except for the last character) must be a dash, lowercase
631
+ # letter, or digit. The last character must be a lowercase letter or digit.
616
632
  # Corresponds to the JSON property `name`
617
633
  # @return [String]
618
634
  attr_accessor :name
619
635
 
620
636
  # The URL of the network in which to reserve the address. This field can only be
621
- # used with INTERNAL type with VPC_PEERING purpose.
637
+ # used with INTERNAL type with the VPC_PEERING purpose.
622
638
  # Corresponds to the JSON property `network`
623
639
  # @return [String]
624
640
  attr_accessor :network
625
641
 
626
- # This signifies the networking tier used for configuring this Address and can
627
- # only take the following values: PREMIUM, STANDARD. Global forwarding rules can
628
- # only be Premium Tier. Regional forwarding rules can be either Premium or
642
+ # This signifies the networking tier used for configuring this address and can
643
+ # only take the following values: PREMIUM or STANDARD. Global forwarding rules
644
+ # can only be Premium Tier. Regional forwarding rules can be either Premium or
629
645
  # Standard Tier. Standard Tier addresses applied to regional forwarding rules
630
646
  # can be used with any external load balancer. Regional forwarding rules in
631
- # Premium Tier can only be used with a Network load balancer.
647
+ # Premium Tier can only be used with a network load balancer.
632
648
  # If this field is not specified, it is assumed to be PREMIUM.
633
649
  # Corresponds to the JSON property `networkTier`
634
650
  # @return [String]
@@ -639,14 +655,20 @@ module Google
639
655
  # @return [Fixnum]
640
656
  attr_accessor :prefix_length
641
657
 
642
- # The purpose of resource, only used with INTERNAL type.
658
+ # The purpose of this resource, which can be one of the following values:
659
+ # - `GCE_ENDPOINT` for addresses that are used by VM instances, alias IP ranges,
660
+ # internal load balancers, and similar resources.
661
+ # - `DNS_RESOLVER` for a DNS resolver address in a subnetwork
662
+ # - `VPC_PEERING` for addresses that are reserved for VPC peer networks.
663
+ # - `NAT_AUTO` for addresses that are external IP addresses automatically
664
+ # reserved for Cloud NAT.
643
665
  # Corresponds to the JSON property `purpose`
644
666
  # @return [String]
645
667
  attr_accessor :purpose
646
668
 
647
- # [Output Only] URL of the region where the regional address resides. This field
648
- # is not applicable to global addresses. You must specify this field as part of
649
- # the HTTP request URL. You cannot set this field in the request body.
669
+ # [Output Only] The URL of the region where the regional address resides. This
670
+ # field is not applicable to global addresses. You must specify this field as
671
+ # part of the HTTP request URL.
650
672
  # Corresponds to the JSON property `region`
651
673
  # @return [String]
652
674
  attr_accessor :region
@@ -672,7 +694,7 @@ module Google
672
694
 
673
695
  # The URL of the subnetwork in which to reserve the address. If an IP address is
674
696
  # specified, it must be within the subnetwork's IP range. This field can only be
675
- # used with INTERNAL type with GCE_ENDPOINT/DNS_RESOLVER purposes.
697
+ # used with INTERNAL type with a GCE_ENDPOINT or DNS_RESOLVER purpose.
676
698
  # Corresponds to the JSON property `subnetwork`
677
699
  # @return [String]
678
700
  attr_accessor :subnetwork
@@ -1042,18 +1064,17 @@ module Google
1042
1064
  class AliasIpRange
1043
1065
  include Google::Apis::Core::Hashable
1044
1066
 
1045
- # The IP CIDR range represented by this alias IP range. This IP CIDR range must
1067
+ # The IP alias ranges to allocate for this interface. This IP CIDR range must
1046
1068
  # belong to the specified subnetwork and cannot contain IP addresses reserved by
1047
1069
  # system or used by other network interfaces. This range may be a single IP
1048
- # address (e.g. 10.2.3.4), a netmask (e.g. /24) or a CIDR format string (e.g. 10.
1049
- # 1.2.0/24).
1070
+ # address (such as 10.2.3.4), a netmask (such as /24) or a CIDR-formatted string
1071
+ # (such as 10.1.2.0/24).
1050
1072
  # Corresponds to the JSON property `ipCidrRange`
1051
1073
  # @return [String]
1052
1074
  attr_accessor :ip_cidr_range
1053
1075
 
1054
- # Optional subnetwork secondary range name specifying the secondary range from
1055
- # which to allocate the IP CIDR range for this alias IP range. If left
1056
- # unspecified, the primary range of the subnetwork will be used.
1076
+ # The name of a subnetwork secondary IP range from which to allocate an IP alias
1077
+ # range. If not specified, the primary range of the subnetwork is used.
1057
1078
  # Corresponds to the JSON property `subnetworkRangeName`
1058
1079
  # @return [String]
1059
1080
  attr_accessor :subnetwork_range_name
@@ -1234,7 +1255,8 @@ module Google
1234
1255
  # SCSI or NVME. The default is SCSI. Persistent disks must always use SCSI and
1235
1256
  # the request will fail if you attempt to attach a persistent disk in any other
1236
1257
  # format than SCSI. Local SSDs can use either NVME or SCSI. For performance
1237
- # characteristics of SCSI over NVMe, see Local SSD performance.
1258
+ # characteristics of SCSI over NVMe, see Local SSD performance. TODO(b/131765817)
1259
+ # : Update documentation when NVME is supported.
1238
1260
  # Corresponds to the JSON property `interface`
1239
1261
  # @return [String]
1240
1262
  attr_accessor :interface
@@ -1612,12 +1634,15 @@ module Google
1612
1634
  end
1613
1635
  end
1614
1636
 
1615
- # Represents an Autoscaler resource. Autoscalers allow you to automatically
1616
- # scale virtual machine instances in managed instance groups according to an
1617
- # autoscaling policy that you define. For more information, read Autoscaling
1618
- # Groups of Instances. (== resource_for beta.autoscalers ==) (== resource_for v1.
1619
- # autoscalers ==) (== resource_for beta.regionAutoscalers ==) (== resource_for
1620
- # v1.regionAutoscalers ==)
1637
+ # Represents an Autoscaler resource.
1638
+ # Use autoscalers to automatically add or delete instances from a managed
1639
+ # instance group according to your defined autoscaling policy. For more
1640
+ # information, read Autoscaling Groups of Instances.
1641
+ # For zonal managed instance groups resource, use the autoscaler resource.
1642
+ # For regional managed instance groups, use the regionAutoscalers resource. (==
1643
+ # resource_for beta.autoscalers ==) (== resource_for v1.autoscalers ==) (==
1644
+ # resource_for beta.regionAutoscalers ==) (== resource_for v1.regionAutoscalers =
1645
+ # =)
1621
1646
  class Autoscaler
1622
1647
  include Google::Apis::Core::Hashable
1623
1648
 
@@ -2136,6 +2161,13 @@ module Google
2136
2161
  # @return [Google::Apis::ComputeAlpha::AutoscalingPolicyQueueBasedScaling]
2137
2162
  attr_accessor :queue_based_scaling
2138
2163
 
2164
+ # Configuration that allows for slower scale down so that even if Autoscaler
2165
+ # recommends an abrupt scale down of a MIG, it will be throttled as specified by
2166
+ # the parameters below.
2167
+ # Corresponds to the JSON property `scaleDownControl`
2168
+ # @return [Google::Apis::ComputeAlpha::AutoscalingPolicyScaleDownControl]
2169
+ attr_accessor :scale_down_control
2170
+
2139
2171
  def initialize(**args)
2140
2172
  update!(**args)
2141
2173
  end
@@ -2150,6 +2182,7 @@ module Google
2150
2182
  @min_num_replicas = args[:min_num_replicas] if args.key?(:min_num_replicas)
2151
2183
  @mode = args[:mode] if args.key?(:mode)
2152
2184
  @queue_based_scaling = args[:queue_based_scaling] if args.key?(:queue_based_scaling)
2185
+ @scale_down_control = args[:scale_down_control] if args.key?(:scale_down_control)
2153
2186
  end
2154
2187
  end
2155
2188
 
@@ -2355,6 +2388,34 @@ module Google
2355
2388
  end
2356
2389
  end
2357
2390
 
2391
+ # Configuration that allows for slower scale down so that even if Autoscaler
2392
+ # recommends an abrupt scale down of a MIG, it will be throttled as specified by
2393
+ # the parameters below.
2394
+ class AutoscalingPolicyScaleDownControl
2395
+ include Google::Apis::Core::Hashable
2396
+
2397
+ # Encapsulates numeric value that can be either absolute or relative.
2398
+ # Corresponds to the JSON property `maxScaledDownReplicas`
2399
+ # @return [Google::Apis::ComputeAlpha::FixedOrPercent]
2400
+ attr_accessor :max_scaled_down_replicas
2401
+
2402
+ # How long back autoscaling should look when computing recommendations to
2403
+ # include directives regarding slower scale down, as described above.
2404
+ # Corresponds to the JSON property `timeWindowSec`
2405
+ # @return [Fixnum]
2406
+ attr_accessor :time_window_sec
2407
+
2408
+ def initialize(**args)
2409
+ update!(**args)
2410
+ end
2411
+
2412
+ # Update properties of this object
2413
+ def update!(**args)
2414
+ @max_scaled_down_replicas = args[:max_scaled_down_replicas] if args.key?(:max_scaled_down_replicas)
2415
+ @time_window_sec = args[:time_window_sec] if args.key?(:time_window_sec)
2416
+ end
2417
+ end
2418
+
2358
2419
  # Message containing information of one individual backend.
2359
2420
  class Backend
2360
2421
  include Google::Apis::Core::Hashable
@@ -2731,11 +2792,6 @@ module Google
2731
2792
  # @return [Fixnum]
2732
2793
  attr_accessor :affinity_cookie_ttl_sec
2733
2794
 
2734
- # Configuration of a App Engine backend.
2735
- # Corresponds to the JSON property `appEngineBackend`
2736
- # @return [Google::Apis::ComputeAlpha::BackendServiceAppEngineBackend]
2737
- attr_accessor :app_engine_backend
2738
-
2739
2795
  # The list of backends that serve this BackendService.
2740
2796
  # Corresponds to the JSON property `backends`
2741
2797
  # @return [Array<Google::Apis::ComputeAlpha::Backend>]
@@ -2751,11 +2807,6 @@ module Google
2751
2807
  # @return [Google::Apis::ComputeAlpha::CircuitBreakers]
2752
2808
  attr_accessor :circuit_breakers
2753
2809
 
2754
- # Configuration of a Cloud Function backend.
2755
- # Corresponds to the JSON property `cloudFunctionBackend`
2756
- # @return [Google::Apis::ComputeAlpha::BackendServiceCloudFunctionBackend]
2757
- attr_accessor :cloud_function_backend
2758
-
2759
2810
  # Message containing connection draining configuration.
2760
2811
  # Corresponds to the JSON property `connectionDraining`
2761
2812
  # @return [Google::Apis::ComputeAlpha::ConnectionDraining]
@@ -2884,6 +2935,12 @@ module Google
2884
2935
  # @return [String]
2885
2936
  attr_accessor :name
2886
2937
 
2938
+ # The URL of the network to which this backend service belongs. This field can
2939
+ # only be spcified when the load balancing scheme is set to INTERNAL.
2940
+ # Corresponds to the JSON property `network`
2941
+ # @return [String]
2942
+ attr_accessor :network
2943
+
2887
2944
  # Settings controlling eviction of unhealthy hosts from the load balancing pool.
2888
2945
  # Corresponds to the JSON property `outlierDetection`
2889
2946
  # @return [Google::Apis::ComputeAlpha::OutlierDetection]
@@ -2964,11 +3021,9 @@ module Google
2964
3021
  # Update properties of this object
2965
3022
  def update!(**args)
2966
3023
  @affinity_cookie_ttl_sec = args[:affinity_cookie_ttl_sec] if args.key?(:affinity_cookie_ttl_sec)
2967
- @app_engine_backend = args[:app_engine_backend] if args.key?(:app_engine_backend)
2968
3024
  @backends = args[:backends] if args.key?(:backends)
2969
3025
  @cdn_policy = args[:cdn_policy] if args.key?(:cdn_policy)
2970
3026
  @circuit_breakers = args[:circuit_breakers] if args.key?(:circuit_breakers)
2971
- @cloud_function_backend = args[:cloud_function_backend] if args.key?(:cloud_function_backend)
2972
3027
  @connection_draining = args[:connection_draining] if args.key?(:connection_draining)
2973
3028
  @consistent_hash = args[:consistent_hash] if args.key?(:consistent_hash)
2974
3029
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
@@ -2985,6 +3040,7 @@ module Google
2985
3040
  @locality_lb_policy = args[:locality_lb_policy] if args.key?(:locality_lb_policy)
2986
3041
  @log_config = args[:log_config] if args.key?(:log_config)
2987
3042
  @name = args[:name] if args.key?(:name)
3043
+ @network = args[:network] if args.key?(:network)
2988
3044
  @outlier_detection = args[:outlier_detection] if args.key?(:outlier_detection)
2989
3045
  @port = args[:port] if args.key?(:port)
2990
3046
  @port_name = args[:port_name] if args.key?(:port_name)
@@ -3116,39 +3172,6 @@ module Google
3116
3172
  end
3117
3173
  end
3118
3174
 
3119
- # Configuration of a App Engine backend.
3120
- class BackendServiceAppEngineBackend
3121
- include Google::Apis::Core::Hashable
3122
-
3123
- # Optional. App Engine app service name.
3124
- # Corresponds to the JSON property `appEngineService`
3125
- # @return [String]
3126
- attr_accessor :app_engine_service
3127
-
3128
- # Required. Project ID of the project hosting the app. This is the project ID of
3129
- # this project. Reference to another project is not allowed.
3130
- # Corresponds to the JSON property `targetProject`
3131
- # @return [String]
3132
- attr_accessor :target_project
3133
-
3134
- # Optional. Version of App Engine app service. When empty, App Engine will do
3135
- # its normal traffic split.
3136
- # Corresponds to the JSON property `version`
3137
- # @return [String]
3138
- attr_accessor :version
3139
-
3140
- def initialize(**args)
3141
- update!(**args)
3142
- end
3143
-
3144
- # Update properties of this object
3145
- def update!(**args)
3146
- @app_engine_service = args[:app_engine_service] if args.key?(:app_engine_service)
3147
- @target_project = args[:target_project] if args.key?(:target_project)
3148
- @version = args[:version] if args.key?(:version)
3149
- end
3150
- end
3151
-
3152
3175
  # Message containing Cloud CDN configuration for a backend service.
3153
3176
  class BackendServiceCdnPolicy
3154
3177
  include Google::Apis::Core::Hashable
@@ -3187,32 +3210,6 @@ module Google
3187
3210
  end
3188
3211
  end
3189
3212
 
3190
- # Configuration of a Cloud Function backend.
3191
- class BackendServiceCloudFunctionBackend
3192
- include Google::Apis::Core::Hashable
3193
-
3194
- # Required. A cloud function name. Special value ?*? represents all cloud
3195
- # functions in the project.
3196
- # Corresponds to the JSON property `functionName`
3197
- # @return [String]
3198
- attr_accessor :function_name
3199
-
3200
- # Required. Project ID of the project hosting the cloud function.
3201
- # Corresponds to the JSON property `targetProject`
3202
- # @return [String]
3203
- attr_accessor :target_project
3204
-
3205
- def initialize(**args)
3206
- update!(**args)
3207
- end
3208
-
3209
- # Update properties of this object
3210
- def update!(**args)
3211
- @function_name = args[:function_name] if args.key?(:function_name)
3212
- @target_project = args[:target_project] if args.key?(:target_project)
3213
- end
3214
- end
3215
-
3216
3213
  #
3217
3214
  class BackendServiceFailoverPolicy
3218
3215
  include Google::Apis::Core::Hashable
@@ -3632,6 +3629,281 @@ module Google
3632
3629
  end
3633
3630
  end
3634
3631
 
3632
+ #
3633
+ class BfdPacket
3634
+ include Google::Apis::Core::Hashable
3635
+
3636
+ # The Authentication Present bit of the BFD packet. This is specified in section
3637
+ # 4.1 of RFC5880
3638
+ # Corresponds to the JSON property `authenticationPresent`
3639
+ # @return [Boolean]
3640
+ attr_accessor :authentication_present
3641
+ alias_method :authentication_present?, :authentication_present
3642
+
3643
+ # The Control Plane Independent bit of the BFD packet. This is specified in
3644
+ # section 4.1 of RFC5880
3645
+ # Corresponds to the JSON property `controlPlaneIndependent`
3646
+ # @return [Boolean]
3647
+ attr_accessor :control_plane_independent
3648
+ alias_method :control_plane_independent?, :control_plane_independent
3649
+
3650
+ # The demand bit of the BFD packet. This is specified in section 4.1 of RFC5880
3651
+ # Corresponds to the JSON property `demand`
3652
+ # @return [Boolean]
3653
+ attr_accessor :demand
3654
+ alias_method :demand?, :demand
3655
+
3656
+ # The diagnostic code specifies the local system's reason for the last change in
3657
+ # session state. This allows remote systems to determine the reason that the
3658
+ # previous session failed, for example. These diagnostic codes are specified in
3659
+ # section 4.1 of RFC5880
3660
+ # Corresponds to the JSON property `diagnostic`
3661
+ # @return [String]
3662
+ attr_accessor :diagnostic
3663
+
3664
+ # The Final bit of the BFD packet. This is specified in section 4.1 of RFC5880
3665
+ # Corresponds to the JSON property `final`
3666
+ # @return [Boolean]
3667
+ attr_accessor :final
3668
+ alias_method :final?, :final
3669
+
3670
+ # The length of the BFD Control packet in bytes. This is specified in section 4.
3671
+ # 1 of RFC5880
3672
+ # Corresponds to the JSON property `length`
3673
+ # @return [Fixnum]
3674
+ attr_accessor :length
3675
+
3676
+ # The Required Min Echo RX Interval value in the BFD packet. This is specified
3677
+ # in section 4.1 of RFC5880
3678
+ # Corresponds to the JSON property `minEchoRxIntervalMs`
3679
+ # @return [Fixnum]
3680
+ attr_accessor :min_echo_rx_interval_ms
3681
+
3682
+ # The Required Min RX Interval value in the BFD packet. This is specified in
3683
+ # section 4.1 of RFC5880
3684
+ # Corresponds to the JSON property `minRxIntervalMs`
3685
+ # @return [Fixnum]
3686
+ attr_accessor :min_rx_interval_ms
3687
+
3688
+ # The Desired Min TX Interval value in the BFD packet. This is specified in
3689
+ # section 4.1 of RFC5880
3690
+ # Corresponds to the JSON property `minTxIntervalMs`
3691
+ # @return [Fixnum]
3692
+ attr_accessor :min_tx_interval_ms
3693
+
3694
+ # The detection time multiplier of the BFD packet. This is specified in section
3695
+ # 4.1 of RFC5880
3696
+ # Corresponds to the JSON property `multiplier`
3697
+ # @return [Fixnum]
3698
+ attr_accessor :multiplier
3699
+
3700
+ # The multipoint bit of the BFD packet. This is specified in section 4.1 of
3701
+ # RFC5880
3702
+ # Corresponds to the JSON property `multipoint`
3703
+ # @return [Boolean]
3704
+ attr_accessor :multipoint
3705
+ alias_method :multipoint?, :multipoint
3706
+
3707
+ # The My Discriminator value in the BFD packet. This is specified in section 4.1
3708
+ # of RFC5880
3709
+ # Corresponds to the JSON property `myDiscriminator`
3710
+ # @return [Fixnum]
3711
+ attr_accessor :my_discriminator
3712
+
3713
+ # The Poll bit of the BFD packet. This is specified in section 4.1 of RFC5880
3714
+ # Corresponds to the JSON property `poll`
3715
+ # @return [Boolean]
3716
+ attr_accessor :poll
3717
+ alias_method :poll?, :poll
3718
+
3719
+ # The current BFD session state as seen by the transmitting system. These states
3720
+ # are specified in section 4.1 of RFC5880
3721
+ # Corresponds to the JSON property `state`
3722
+ # @return [String]
3723
+ attr_accessor :state
3724
+
3725
+ # The version number of the BFD protocol, as specified in section 4.1 of RFC5880.
3726
+ # Corresponds to the JSON property `version`
3727
+ # @return [Fixnum]
3728
+ attr_accessor :version
3729
+
3730
+ # The Your Discriminator value in the BFD packet. This is specified in section 4.
3731
+ # 1 of RFC5880
3732
+ # Corresponds to the JSON property `yourDiscriminator`
3733
+ # @return [Fixnum]
3734
+ attr_accessor :your_discriminator
3735
+
3736
+ def initialize(**args)
3737
+ update!(**args)
3738
+ end
3739
+
3740
+ # Update properties of this object
3741
+ def update!(**args)
3742
+ @authentication_present = args[:authentication_present] if args.key?(:authentication_present)
3743
+ @control_plane_independent = args[:control_plane_independent] if args.key?(:control_plane_independent)
3744
+ @demand = args[:demand] if args.key?(:demand)
3745
+ @diagnostic = args[:diagnostic] if args.key?(:diagnostic)
3746
+ @final = args[:final] if args.key?(:final)
3747
+ @length = args[:length] if args.key?(:length)
3748
+ @min_echo_rx_interval_ms = args[:min_echo_rx_interval_ms] if args.key?(:min_echo_rx_interval_ms)
3749
+ @min_rx_interval_ms = args[:min_rx_interval_ms] if args.key?(:min_rx_interval_ms)
3750
+ @min_tx_interval_ms = args[:min_tx_interval_ms] if args.key?(:min_tx_interval_ms)
3751
+ @multiplier = args[:multiplier] if args.key?(:multiplier)
3752
+ @multipoint = args[:multipoint] if args.key?(:multipoint)
3753
+ @my_discriminator = args[:my_discriminator] if args.key?(:my_discriminator)
3754
+ @poll = args[:poll] if args.key?(:poll)
3755
+ @state = args[:state] if args.key?(:state)
3756
+ @version = args[:version] if args.key?(:version)
3757
+ @your_discriminator = args[:your_discriminator] if args.key?(:your_discriminator)
3758
+ end
3759
+ end
3760
+
3761
+ # Next free: 15
3762
+ class BfdStatus
3763
+ include Google::Apis::Core::Hashable
3764
+
3765
+ # The BFD session initialization mode for this BGP peer. If set to ACTIVE, the
3766
+ # Cloud Router will initiate the BFD session for this BGP peer. If set to
3767
+ # PASSIVE, the Cloud Router will wait for the peer router to initiate the BFD
3768
+ # session for this BGP peer. If set to DISABLED, BFD is disabled for this BGP
3769
+ # peer.
3770
+ # Corresponds to the JSON property `bfdSessionInitializationMode`
3771
+ # @return [String]
3772
+ attr_accessor :bfd_session_initialization_mode
3773
+
3774
+ # Unix timestamp of the most recent config update.
3775
+ # Corresponds to the JSON property `configUpdateTimestampMicros`
3776
+ # @return [Fixnum]
3777
+ attr_accessor :config_update_timestamp_micros
3778
+
3779
+ # Control packet counts for the current BFD session.
3780
+ # Corresponds to the JSON property `controlPacketCounts`
3781
+ # @return [Google::Apis::ComputeAlpha::BfdStatusPacketCounts]
3782
+ attr_accessor :control_packet_counts
3783
+
3784
+ # Inter-packet time interval statistics for control packets.
3785
+ # Corresponds to the JSON property `controlPacketIntervals`
3786
+ # @return [Array<Google::Apis::ComputeAlpha::PacketIntervals>]
3787
+ attr_accessor :control_packet_intervals
3788
+
3789
+ # Echo packet counts for the current BFD session.
3790
+ # Corresponds to the JSON property `echoPacketCounts`
3791
+ # @return [Google::Apis::ComputeAlpha::BfdStatusPacketCounts]
3792
+ attr_accessor :echo_packet_counts
3793
+
3794
+ # Inter-packet time interval statistics for echo packets.
3795
+ # Corresponds to the JSON property `echoPacketIntervals`
3796
+ # @return [Array<Google::Apis::ComputeAlpha::PacketIntervals>]
3797
+ attr_accessor :echo_packet_intervals
3798
+
3799
+ # The diagnostic code specifies the local system's reason for the last change in
3800
+ # session state. This allows remote systems to determine the reason that the
3801
+ # previous session failed, for example. These diagnostic codes are specified in
3802
+ # section 4.1 of RFC5880
3803
+ # Corresponds to the JSON property `localDiagnostic`
3804
+ # @return [String]
3805
+ attr_accessor :local_diagnostic
3806
+
3807
+ # The current BFD session state as seen by the transmitting system. These states
3808
+ # are specified in section 4.1 of RFC5880
3809
+ # Corresponds to the JSON property `localState`
3810
+ # @return [String]
3811
+ attr_accessor :local_state
3812
+
3813
+ # Negotiated transmit interval for control packets. When echo mode is enabled
3814
+ # this will reflect the negotiated slow timer interval.
3815
+ # Corresponds to the JSON property `negotiatedLocalControlTxIntervalMs`
3816
+ # @return [Fixnum]
3817
+ attr_accessor :negotiated_local_control_tx_interval_ms
3818
+
3819
+ # Negotiated transmit interval for echo packets.
3820
+ # Corresponds to the JSON property `negotiatedLocalEchoTxIntervalMs`
3821
+ # @return [Fixnum]
3822
+ attr_accessor :negotiated_local_echo_tx_interval_ms
3823
+
3824
+ #
3825
+ # Corresponds to the JSON property `rxPacket`
3826
+ # @return [Google::Apis::ComputeAlpha::BfdPacket]
3827
+ attr_accessor :rx_packet
3828
+
3829
+ #
3830
+ # Corresponds to the JSON property `txPacket`
3831
+ # @return [Google::Apis::ComputeAlpha::BfdPacket]
3832
+ attr_accessor :tx_packet
3833
+
3834
+ # Session uptime in milliseconds. Value will be 0 if session is not up.
3835
+ # Corresponds to the JSON property `uptimeMs`
3836
+ # @return [Fixnum]
3837
+ attr_accessor :uptime_ms
3838
+
3839
+ # Indicates if echo mode is currently being used.
3840
+ # Corresponds to the JSON property `usingEchoMode`
3841
+ # @return [Boolean]
3842
+ attr_accessor :using_echo_mode
3843
+ alias_method :using_echo_mode?, :using_echo_mode
3844
+
3845
+ def initialize(**args)
3846
+ update!(**args)
3847
+ end
3848
+
3849
+ # Update properties of this object
3850
+ def update!(**args)
3851
+ @bfd_session_initialization_mode = args[:bfd_session_initialization_mode] if args.key?(:bfd_session_initialization_mode)
3852
+ @config_update_timestamp_micros = args[:config_update_timestamp_micros] if args.key?(:config_update_timestamp_micros)
3853
+ @control_packet_counts = args[:control_packet_counts] if args.key?(:control_packet_counts)
3854
+ @control_packet_intervals = args[:control_packet_intervals] if args.key?(:control_packet_intervals)
3855
+ @echo_packet_counts = args[:echo_packet_counts] if args.key?(:echo_packet_counts)
3856
+ @echo_packet_intervals = args[:echo_packet_intervals] if args.key?(:echo_packet_intervals)
3857
+ @local_diagnostic = args[:local_diagnostic] if args.key?(:local_diagnostic)
3858
+ @local_state = args[:local_state] if args.key?(:local_state)
3859
+ @negotiated_local_control_tx_interval_ms = args[:negotiated_local_control_tx_interval_ms] if args.key?(:negotiated_local_control_tx_interval_ms)
3860
+ @negotiated_local_echo_tx_interval_ms = args[:negotiated_local_echo_tx_interval_ms] if args.key?(:negotiated_local_echo_tx_interval_ms)
3861
+ @rx_packet = args[:rx_packet] if args.key?(:rx_packet)
3862
+ @tx_packet = args[:tx_packet] if args.key?(:tx_packet)
3863
+ @uptime_ms = args[:uptime_ms] if args.key?(:uptime_ms)
3864
+ @using_echo_mode = args[:using_echo_mode] if args.key?(:using_echo_mode)
3865
+ end
3866
+ end
3867
+
3868
+ #
3869
+ class BfdStatusPacketCounts
3870
+ include Google::Apis::Core::Hashable
3871
+
3872
+ # Number of packets received since the beginning of the current BFD session.
3873
+ # Corresponds to the JSON property `numRx`
3874
+ # @return [Fixnum]
3875
+ attr_accessor :num_rx
3876
+
3877
+ # Number of packets received that were rejected because of errors since the
3878
+ # beginning of the current BFD session.
3879
+ # Corresponds to the JSON property `numRxRejected`
3880
+ # @return [Fixnum]
3881
+ attr_accessor :num_rx_rejected
3882
+
3883
+ # Number of packets received that were successfully processed since the
3884
+ # beginning of the current BFD session.
3885
+ # Corresponds to the JSON property `numRxSuccessful`
3886
+ # @return [Fixnum]
3887
+ attr_accessor :num_rx_successful
3888
+
3889
+ # Number of packets transmitted since the beginning of the current BFD session.
3890
+ # Corresponds to the JSON property `numTx`
3891
+ # @return [Fixnum]
3892
+ attr_accessor :num_tx
3893
+
3894
+ def initialize(**args)
3895
+ update!(**args)
3896
+ end
3897
+
3898
+ # Update properties of this object
3899
+ def update!(**args)
3900
+ @num_rx = args[:num_rx] if args.key?(:num_rx)
3901
+ @num_rx_rejected = args[:num_rx_rejected] if args.key?(:num_rx_rejected)
3902
+ @num_rx_successful = args[:num_rx_successful] if args.key?(:num_rx_successful)
3903
+ @num_tx = args[:num_tx] if args.key?(:num_tx)
3904
+ end
3905
+ end
3906
+
3635
3907
  # Associates `members` with a `role`.
3636
3908
  class Binding
3637
3909
  include Google::Apis::Core::Hashable
@@ -3765,12 +4037,6 @@ module Google
3765
4037
  class CallCredentials
3766
4038
  include Google::Apis::Core::Hashable
3767
4039
 
3768
- # The access token that is used as call credential for the SDS server. This
3769
- # field is used only if callCredentialType is ACCESS_TOKEN.
3770
- # Corresponds to the JSON property `accessToken`
3771
- # @return [String]
3772
- attr_accessor :access_token
3773
-
3774
4040
  # The type of call credentials to use for GRPC requests to the SDS server. This
3775
4041
  # field can be set to one of the following: ACCESS_TOKEN: An access token is
3776
4042
  # used as call credentials for the SDS server. GCE_VM: The local GCE VM service
@@ -3787,21 +4053,14 @@ module Google
3787
4053
  # @return [Google::Apis::ComputeAlpha::MetadataCredentialsFromPlugin]
3788
4054
  attr_accessor :from_plugin
3789
4055
 
3790
- # JWT credentials for a service account.
3791
- # Corresponds to the JSON property `jwtServiceAccount`
3792
- # @return [Google::Apis::ComputeAlpha::ServiceAccountJwtAccessCredentials]
3793
- attr_accessor :jwt_service_account
3794
-
3795
4056
  def initialize(**args)
3796
4057
  update!(**args)
3797
4058
  end
3798
4059
 
3799
4060
  # Update properties of this object
3800
4061
  def update!(**args)
3801
- @access_token = args[:access_token] if args.key?(:access_token)
3802
4062
  @call_credential_type = args[:call_credential_type] if args.key?(:call_credential_type)
3803
4063
  @from_plugin = args[:from_plugin] if args.key?(:from_plugin)
3804
- @jwt_service_account = args[:jwt_service_account] if args.key?(:jwt_service_account)
3805
4064
  end
3806
4065
  end
3807
4066
 
@@ -3937,16 +4196,12 @@ module Google
3937
4196
  end
3938
4197
  end
3939
4198
 
3940
- # Represents a Commitment resource. Creating a Commitment resource means that
3941
- # you are purchasing a committed use contract with an explicit start and end
3942
- # time. You can create commitments based on vCPUs and memory usage and receive
3943
- # discounted rates. For full details, read Signing Up for Committed Use
3944
- # Discounts.
3945
- # Committed use discounts are subject to Google Cloud Platform's Service
3946
- # Specific Terms. By purchasing a committed use discount, you agree to these
3947
- # terms. Committed use discounts will not renew, so you must purchase a new
3948
- # commitment to continue receiving discounts. (== resource_for beta.commitments =
3949
- # =) (== resource_for v1.commitments ==)
4199
+ # Represents a regional Commitment resource.
4200
+ # Creating a commitment resource means that you are purchasing a committed use
4201
+ # contract with an explicit start and end time. You can create commitments based
4202
+ # on vCPUs and memory usage and receive discounted rates. For full details, read
4203
+ # Signing Up for Committed Use Discounts. (== resource_for beta.
4204
+ # regionCommitments ==) (== resource_for v1.regionCommitments ==)
3950
4205
  class Commitment
3951
4206
  include Google::Apis::Core::Hashable
3952
4207
 
@@ -4738,7 +4993,16 @@ module Google
4738
4993
  end
4739
4994
  end
4740
4995
 
4741
- # A Disk resource. (== resource_for beta.disks ==) (== resource_for v1.disks ==)
4996
+ # Represents a Persistent Disk resource.
4997
+ # Persistent disks are required for running your VM instances. Create both boot
4998
+ # and non-boot (data) persistent disks. For more information, read Persistent
4999
+ # Disks. For more storage options, read Storage options.
5000
+ # The disks resource represents a zonal persistent disk. For more information,
5001
+ # read Zonal persistent disks.
5002
+ # The regionDisks resource represents a regional persistent disk. For more
5003
+ # information, read Regional resources. (== resource_for beta.disks ==) (==
5004
+ # resource_for v1.disks ==) (== resource_for v1.regionDisks ==) (== resource_for
5005
+ # beta.regionDisks ==)
4742
5006
  class Disk
4743
5007
  include Google::Apis::Core::Hashable
4744
5008
 
@@ -4758,6 +5022,13 @@ module Google
4758
5022
  # @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey]
4759
5023
  attr_accessor :disk_encryption_key
4760
5024
 
5025
+ # Specifies whether the disk restored from a source snapshot should erase
5026
+ # Windows specific VSS signature.
5027
+ # Corresponds to the JSON property `eraseWindowsVssSignature`
5028
+ # @return [Boolean]
5029
+ attr_accessor :erase_windows_vss_signature
5030
+ alias_method :erase_windows_vss_signature?, :erase_windows_vss_signature
5031
+
4761
5032
  # A list of features to enable on the guest operating system. Applicable only
4762
5033
  # for bootable images. Read Enabling guest operating system features to see a
4763
5034
  # list of available options.
@@ -4867,6 +5138,11 @@ module Google
4867
5138
  # @return [String]
4868
5139
  attr_accessor :self_link
4869
5140
 
5141
+ # [Output Only] Server-defined URL for this resource's resource id.
5142
+ # Corresponds to the JSON property `selfLinkWithId`
5143
+ # @return [String]
5144
+ attr_accessor :self_link_with_id
5145
+
4870
5146
  # Size of the persistent disk, specified in GB. You can specify this field when
4871
5147
  # creating a persistent disk using the sourceImage or sourceSnapshot parameter,
4872
5148
  # or specify it alone to create an empty persistent disk.
@@ -4992,6 +5268,7 @@ module Google
4992
5268
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
4993
5269
  @description = args[:description] if args.key?(:description)
4994
5270
  @disk_encryption_key = args[:disk_encryption_key] if args.key?(:disk_encryption_key)
5271
+ @erase_windows_vss_signature = args[:erase_windows_vss_signature] if args.key?(:erase_windows_vss_signature)
4995
5272
  @guest_os_features = args[:guest_os_features] if args.key?(:guest_os_features)
4996
5273
  @id = args[:id] if args.key?(:id)
4997
5274
  @kind = args[:kind] if args.key?(:kind)
@@ -5009,6 +5286,7 @@ module Google
5009
5286
  @replica_zones = args[:replica_zones] if args.key?(:replica_zones)
5010
5287
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
5011
5288
  @self_link = args[:self_link] if args.key?(:self_link)
5289
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
5012
5290
  @size_gb = args[:size_gb] if args.key?(:size_gb)
5013
5291
  @source_disk = args[:source_disk] if args.key?(:source_disk)
5014
5292
  @source_disk_id = args[:source_disk_id] if args.key?(:source_disk_id)
@@ -5347,8 +5625,15 @@ module Google
5347
5625
  end
5348
5626
  end
5349
5627
 
5350
- # A DiskType resource. (== resource_for beta.diskTypes ==) (== resource_for v1.
5351
- # diskTypes ==)
5628
+ # Represents a Disk Type resource.
5629
+ # You can choose from a variety of disk types based on your needs. For more
5630
+ # information, read Storage options.
5631
+ # The diskTypes resource represents disk types for a zonal persistent disk. For
5632
+ # more information, read Zonal persistent disks.
5633
+ # The regionDiskTypes resource represents disk types for a regional persistent
5634
+ # disk. For more information, read Regional persistent disks. (== resource_for
5635
+ # beta.diskTypes ==) (== resource_for v1.diskTypes ==) (== resource_for v1.
5636
+ # regionDiskTypes ==) (== resource_for beta.regionDiskTypes ==)
5352
5637
  class DiskType
5353
5638
  include Google::Apis::Core::Hashable
5354
5639
 
@@ -6013,7 +6298,10 @@ module Google
6013
6298
  # @return [String]
6014
6299
  attr_accessor :dest_range
6015
6300
 
6016
- # If the peering route is imported if there is no confliction.
6301
+ # True if the peering route has been imported from a peer. The actual import
6302
+ # happens if the field networkPeering.importCustomRoutes is true for this
6303
+ # network, and networkPeering.exportCustomRoutes is true for the peer network,
6304
+ # and the import does not result in a route conflict.
6017
6305
  # Corresponds to the JSON property `imported`
6018
6306
  # @return [Boolean]
6019
6307
  attr_accessor :imported
@@ -6487,7 +6775,9 @@ module Google
6487
6775
  end
6488
6776
  end
6489
6777
 
6490
- # Represents a Firewall resource.
6778
+ # Represents a Firewall Rule resource.
6779
+ # Firewall rules allow or deny ingress traffic to, and egress traffic from your
6780
+ # instances. For more information, read Firewall rules.
6491
6781
  class Firewall
6492
6782
  include Google::Apis::Core::Hashable
6493
6783
 
@@ -6508,30 +6798,30 @@ module Google
6508
6798
  # @return [Array<Google::Apis::ComputeAlpha::Firewall::Denied>]
6509
6799
  attr_accessor :denied
6510
6800
 
6511
- # An optional description of this resource. Provide this property when you
6512
- # create the resource.
6801
+ # An optional description of this resource. Provide this field when you create
6802
+ # the resource.
6513
6803
  # Corresponds to the JSON property `description`
6514
6804
  # @return [String]
6515
6805
  attr_accessor :description
6516
6806
 
6517
- # If destination ranges are specified, the firewall will apply only to traffic
6807
+ # If destination ranges are specified, the firewall rule applies only to traffic
6518
6808
  # that has destination IP address in these ranges. These ranges must be
6519
6809
  # expressed in CIDR format. Only IPv4 is supported.
6520
6810
  # Corresponds to the JSON property `destinationRanges`
6521
6811
  # @return [Array<String>]
6522
6812
  attr_accessor :destination_ranges
6523
6813
 
6524
- # Direction of traffic to which this firewall applies; default is INGRESS. Note:
6525
- # For INGRESS traffic, it is NOT supported to specify destinationRanges; For
6526
- # EGRESS traffic, it is NOT supported to specify sourceRanges OR sourceTags.
6814
+ # Direction of traffic to which this firewall applies, either `INGRESS` or `
6815
+ # EGRESS`. The default is `INGRESS`. For `INGRESS` traffic, you cannot specify
6816
+ # the destinationRanges field, and for `EGRESS` traffic, you cannot specify the
6817
+ # sourceRanges or sourceTags fields.
6527
6818
  # Corresponds to the JSON property `direction`
6528
6819
  # @return [String]
6529
6820
  attr_accessor :direction
6530
6821
 
6531
- # Denotes whether the firewall rule is disabled, i.e not applied to the network
6532
- # it is associated with. When set to true, the firewall rule is not enforced and
6533
- # the network behaves as if it did not exist. If this is unspecified, the
6534
- # firewall rule will be enabled.
6822
+ # Denotes whether the firewall rule is disabled. When set to true, the firewall
6823
+ # rule is not enforced and the network behaves as if it did not exist. If this
6824
+ # is unspecified, the firewall rule will be enabled.
6535
6825
  # Corresponds to the JSON property `disabled`
6536
6826
  # @return [Boolean]
6537
6827
  attr_accessor :disabled
@@ -6564,9 +6854,9 @@ module Google
6564
6854
  # Name of the resource; provided by the client when the resource is created. The
6565
6855
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
6566
6856
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
6567
- # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
6568
- # and all following characters must be a dash, lowercase letter, or digit,
6569
- # except the last character, which cannot be a dash.
6857
+ # z0-9]*[a-z0-9])?. The first character must be a lowercase letter, and all
6858
+ # following characters (except for the last character) must be a dash, lowercase
6859
+ # letter, or digit. The last character must be a lowercase letter or digit.
6570
6860
  # Corresponds to the JSON property `name`
6571
6861
  # @return [String]
6572
6862
  attr_accessor :name
@@ -6574,8 +6864,8 @@ module Google
6574
6864
  # URL of the network resource for this firewall rule. If not specified when
6575
6865
  # creating a firewall rule, the default network is used:
6576
6866
  # global/networks/default
6577
- # If you choose to specify this property, you can specify the network as a full
6578
- # or partial URL. For example, the following are all valid URLs:
6867
+ # If you choose to specify this field, you can specify the network as a full or
6868
+ # partial URL. For example, the following are all valid URLs:
6579
6869
  # - https://www.googleapis.com/compute/v1/projects/myproject/global/networks/my-
6580
6870
  # network
6581
6871
  # - projects/myproject/global/networks/my-network
@@ -6584,11 +6874,14 @@ module Google
6584
6874
  # @return [String]
6585
6875
  attr_accessor :network
6586
6876
 
6587
- # Priority for this rule. This is an integer between 0 and 65535, both inclusive.
6588
- # When not specified, the value assumed is 1000. Relative priorities determine
6589
- # precedence of conflicting rules. Lower value of priority implies higher
6590
- # precedence (eg, a rule with priority 0 has higher precedence than a rule with
6591
- # priority 1). DENY rules take precedence over ALLOW rules having equal priority.
6877
+ # Priority for this rule. This is an integer between `0` and `65535`, both
6878
+ # inclusive. The default value is `1000`. Relative priorities determine which
6879
+ # rule takes effect if multiple rules apply. Lower values indicate higher
6880
+ # priority. For example, a rule with priority `0` has higher precedence than a
6881
+ # rule with priority `1`. DENY rules take precedence over ALLOW rules if they
6882
+ # have equal priority. Note that VPC networks have implied rules with a priority
6883
+ # of `65535`. To avoid conflicts with the implied rules, use a priority number
6884
+ # less than `65535`.
6592
6885
  # Corresponds to the JSON property `priority`
6593
6886
  # @return [Fixnum]
6594
6887
  attr_accessor :priority
@@ -6603,26 +6896,26 @@ module Google
6603
6896
  # @return [String]
6604
6897
  attr_accessor :self_link_with_id
6605
6898
 
6606
- # If source ranges are specified, the firewall will apply only to traffic that
6607
- # has source IP address in these ranges. These ranges must be expressed in CIDR
6608
- # format. One or both of sourceRanges and sourceTags may be set. If both
6609
- # properties are set, the firewall will apply to traffic that has source IP
6610
- # address within sourceRanges OR the source IP that belongs to a tag listed in
6611
- # the sourceTags property. The connection does not need to match both properties
6612
- # for the firewall to apply. Only IPv4 is supported.
6899
+ # If source ranges are specified, the firewall rule applies only to traffic that
6900
+ # has a source IP address in these ranges. These ranges must be expressed in
6901
+ # CIDR format. One or both of sourceRanges and sourceTags may be set. If both
6902
+ # fields are set, the rule applies to traffic that has a source IP address
6903
+ # within sourceRanges OR a source IP from a resource with a matching tag listed
6904
+ # in the sourceTags field. The connection does not need to match both fields for
6905
+ # the rule to apply. Only IPv4 is supported.
6613
6906
  # Corresponds to the JSON property `sourceRanges`
6614
6907
  # @return [Array<String>]
6615
6908
  attr_accessor :source_ranges
6616
6909
 
6617
- # If source service accounts are specified, the firewall will apply only to
6910
+ # If source service accounts are specified, the firewall rules apply only to
6618
6911
  # traffic originating from an instance with a service account in this list.
6619
6912
  # Source service accounts cannot be used to control traffic to an instance's
6620
6913
  # external IP address because service accounts are associated with an instance,
6621
6914
  # not an IP address. sourceRanges can be set at the same time as
6622
- # sourceServiceAccounts. If both are set, the firewall will apply to traffic
6623
- # that has source IP address within sourceRanges OR the source IP belongs to an
6624
- # instance with service account listed in sourceServiceAccount. The connection
6625
- # does not need to match both properties for the firewall to apply.
6915
+ # sourceServiceAccounts. If both are set, the firewall applies to traffic that
6916
+ # has a source IP address within the sourceRanges OR a source IP that belongs to
6917
+ # an instance with service account listed in sourceServiceAccount. The
6918
+ # connection does not need to match both fields for the firewall to apply.
6626
6919
  # sourceServiceAccounts cannot be used at the same time as sourceTags or
6627
6920
  # targetTags.
6628
6921
  # Corresponds to the JSON property `sourceServiceAccounts`
@@ -6635,10 +6928,10 @@ module Google
6635
6928
  # traffic to an instance's external IP address, it only applies to traffic
6636
6929
  # between instances in the same virtual network. Because tags are associated
6637
6930
  # with instances, not IP addresses. One or both of sourceRanges and sourceTags
6638
- # may be set. If both properties are set, the firewall will apply to traffic
6639
- # that has source IP address within sourceRanges OR the source IP that belongs
6640
- # to a tag listed in the sourceTags property. The connection does not need to
6641
- # match both properties for the firewall to apply.
6931
+ # may be set. If both fields are set, the firewall applies to traffic that has a
6932
+ # source IP address within sourceRanges OR a source IP from a resource with a
6933
+ # matching tag listed in the sourceTags field. The connection does not need to
6934
+ # match both fields for the firewall to apply.
6642
6935
  # Corresponds to the JSON property `sourceTags`
6643
6936
  # @return [Array<String>]
6644
6937
  attr_accessor :source_tags
@@ -6695,15 +6988,16 @@ module Google
6695
6988
 
6696
6989
  # The IP protocol to which this rule applies. The protocol type is required when
6697
6990
  # creating a firewall rule. This value can either be one of the following well
6698
- # known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP
6991
+ # known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp) or the IP
6699
6992
  # protocol number.
6700
6993
  # Corresponds to the JSON property `IPProtocol`
6701
6994
  # @return [String]
6702
6995
  attr_accessor :ip_protocol
6703
6996
 
6704
6997
  # An optional list of ports to which this rule applies. This field is only
6705
- # applicable for UDP or TCP protocol. Each entry must be either an integer or a
6706
- # range. If not specified, this rule applies to connections through any port.
6998
+ # applicable for the UDP or TCP protocol. Each entry must be either an integer
6999
+ # or a range. If not specified, this rule applies to connections through any
7000
+ # port.
6707
7001
  # Example inputs include: ["22"], ["80","443"], and ["12345-12349"].
6708
7002
  # Corresponds to the JSON property `ports`
6709
7003
  # @return [Array<String>]
@@ -6726,15 +7020,16 @@ module Google
6726
7020
 
6727
7021
  # The IP protocol to which this rule applies. The protocol type is required when
6728
7022
  # creating a firewall rule. This value can either be one of the following well
6729
- # known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP
7023
+ # known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp) or the IP
6730
7024
  # protocol number.
6731
7025
  # Corresponds to the JSON property `IPProtocol`
6732
7026
  # @return [String]
6733
7027
  attr_accessor :ip_protocol
6734
7028
 
6735
7029
  # An optional list of ports to which this rule applies. This field is only
6736
- # applicable for UDP or TCP protocol. Each entry must be either an integer or a
6737
- # range. If not specified, this rule applies to connections through any port.
7030
+ # applicable for the UDP or TCP protocol. Each entry must be either an integer
7031
+ # or a range. If not specified, this rule applies to connections through any
7032
+ # port.
6738
7033
  # Example inputs include: ["22"], ["80","443"], and ["12345-12349"].
6739
7034
  # Corresponds to the JSON property `ports`
6740
7035
  # @return [Array<String>]
@@ -7049,6 +7344,16 @@ module Google
7049
7344
  # @return [String]
7050
7345
  attr_accessor :ip_version
7051
7346
 
7347
+ # Indicates whether or not this load balancer can be used as a collector for
7348
+ # packet mirroring. To prevent mirroring loops, instances behind this load
7349
+ # balancer will not have their traffic mirrored even if a PacketMirroring rule
7350
+ # applies to them. This can only be set to true for load balancers that have
7351
+ # their loadBalancingScheme set to INTERNAL.
7352
+ # Corresponds to the JSON property `isMirroringCollector`
7353
+ # @return [Boolean]
7354
+ attr_accessor :is_mirroring_collector
7355
+ alias_method :is_mirroring_collector?, :is_mirroring_collector
7356
+
7052
7357
  # [Output Only] Type of the resource. Always compute#forwardingRule for
7053
7358
  # Forwarding Rule resources.
7054
7359
  # Corresponds to the JSON property `kind`
@@ -7231,6 +7536,7 @@ module Google
7231
7536
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
7232
7537
  @id = args[:id] if args.key?(:id)
7233
7538
  @ip_version = args[:ip_version] if args.key?(:ip_version)
7539
+ @is_mirroring_collector = args[:is_mirroring_collector] if args.key?(:is_mirroring_collector)
7234
7540
  @kind = args[:kind] if args.key?(:kind)
7235
7541
  @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
7236
7542
  @labels = args[:labels] if args.key?(:labels)
@@ -8158,6 +8464,12 @@ module Google
8158
8464
  # @return [String]
8159
8465
  attr_accessor :kind
8160
8466
 
8467
+ # Configuration of logging on a health check. If logging is enabled, logs will
8468
+ # be exported to Stackdriver.
8469
+ # Corresponds to the JSON property `logConfig`
8470
+ # @return [Google::Apis::ComputeAlpha::HealthCheckLogConfig]
8471
+ attr_accessor :log_config
8472
+
8161
8473
  # Name of the resource. Provided by the client when the resource is created. The
8162
8474
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
8163
8475
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
@@ -8234,6 +8546,7 @@ module Google
8234
8546
  @https_health_check = args[:https_health_check] if args.key?(:https_health_check)
8235
8547
  @id = args[:id] if args.key?(:id)
8236
8548
  @kind = args[:kind] if args.key?(:kind)
8549
+ @log_config = args[:log_config] if args.key?(:log_config)
8237
8550
  @name = args[:name] if args.key?(:name)
8238
8551
  @region = args[:region] if args.key?(:region)
8239
8552
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -8364,6 +8677,35 @@ module Google
8364
8677
  end
8365
8678
  end
8366
8679
 
8680
+ # Configuration of logging on a health check. If logging is enabled, logs will
8681
+ # be exported to Stackdriver.
8682
+ class HealthCheckLogConfig
8683
+ include Google::Apis::Core::Hashable
8684
+
8685
+ # Indicates whether or not to export logs. This is false by default, which means
8686
+ # no health check logging will be done.
8687
+ # Corresponds to the JSON property `enable`
8688
+ # @return [Boolean]
8689
+ attr_accessor :enable
8690
+ alias_method :enable?, :enable
8691
+
8692
+ # Specifies the desired filtering of logs on this health check. If this is
8693
+ # unspecified and enable is true, logs are exported with LOG_TRANSITION filter.
8694
+ # Corresponds to the JSON property `filter`
8695
+ # @return [String]
8696
+ attr_accessor :filter
8697
+
8698
+ def initialize(**args)
8699
+ update!(**args)
8700
+ end
8701
+
8702
+ # Update properties of this object
8703
+ def update!(**args)
8704
+ @enable = args[:enable] if args.key?(:enable)
8705
+ @filter = args[:filter] if args.key?(:filter)
8706
+ end
8707
+ end
8708
+
8367
8709
  # A full or valid partial URL to a health check. For example, the following are
8368
8710
  # valid URLs:
8369
8711
  # - https://www.googleapis.com/compute/beta/projects/project-id/global/
@@ -8504,6 +8846,31 @@ module Google
8504
8846
  end
8505
8847
  end
8506
8848
 
8849
+ # A full or valid partial URL to a health check service. For example, the
8850
+ # following are valid URLs:
8851
+ # - https://www.googleapis.com/compute/beta/projects/project-id/regions/us-west1/
8852
+ # healthCheckServices/health-check-service
8853
+ # - projects/project-id/regions/us-west1/healthCheckServices/health-check-
8854
+ # service
8855
+ # - regions/us-west1/healthCheckServices/health-check-service
8856
+ class HealthCheckServiceReference
8857
+ include Google::Apis::Core::Hashable
8858
+
8859
+ #
8860
+ # Corresponds to the JSON property `healthCheckService`
8861
+ # @return [String]
8862
+ attr_accessor :health_check_service
8863
+
8864
+ def initialize(**args)
8865
+ update!(**args)
8866
+ end
8867
+
8868
+ # Update properties of this object
8869
+ def update!(**args)
8870
+ @health_check_service = args[:health_check_service] if args.key?(:health_check_service)
8871
+ end
8872
+ end
8873
+
8507
8874
  #
8508
8875
  class HealthCheckServicesList
8509
8876
  include Google::Apis::Core::Hashable
@@ -8899,6 +9266,17 @@ module Google
8899
9266
  # @return [Google::Apis::ComputeAlpha::HealthCheckReference]
8900
9267
  attr_accessor :health_check
8901
9268
 
9269
+ # A full or valid partial URL to a health check service. For example, the
9270
+ # following are valid URLs:
9271
+ # - https://www.googleapis.com/compute/beta/projects/project-id/regions/us-west1/
9272
+ # healthCheckServices/health-check-service
9273
+ # - projects/project-id/regions/us-west1/healthCheckServices/health-check-
9274
+ # service
9275
+ # - regions/us-west1/healthCheckServices/health-check-service
9276
+ # Corresponds to the JSON property `healthCheckService`
9277
+ # @return [Google::Apis::ComputeAlpha::HealthCheckServiceReference]
9278
+ attr_accessor :health_check_service
9279
+
8902
9280
  # Health state of the network endpoint determined based on the health checks
8903
9281
  # configured.
8904
9282
  # Corresponds to the JSON property `healthState`
@@ -8914,6 +9292,7 @@ module Google
8914
9292
  @backend_service = args[:backend_service] if args.key?(:backend_service)
8915
9293
  @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
8916
9294
  @health_check = args[:health_check] if args.key?(:health_check)
9295
+ @health_check_service = args[:health_check_service] if args.key?(:health_check_service)
8917
9296
  @health_state = args[:health_state] if args.key?(:health_state)
8918
9297
  end
8919
9298
  end
@@ -10058,8 +10437,10 @@ module Google
10058
10437
  end
10059
10438
  end
10060
10439
 
10061
- # An Image resource. (== resource_for beta.images ==) (== resource_for v1.images
10062
- # ==)
10440
+ # Represents an Image resource.
10441
+ # You can use images to create boot disks for your VM instances. For more
10442
+ # information, read Images. (== resource_for beta.images ==) (== resource_for v1.
10443
+ # images ==)
10063
10444
  class Image
10064
10445
  include Google::Apis::Core::Hashable
10065
10446
 
@@ -10494,8 +10875,10 @@ module Google
10494
10875
  end
10495
10876
  end
10496
10877
 
10497
- # An Instance resource. (== resource_for beta.instances ==) (== resource_for v1.
10498
- # instances ==)
10878
+ # Represents an Instance resource.
10879
+ # An instance is a virtual machine that is hosted on Google Cloud Platform. For
10880
+ # more information, read Virtual Machine Instances. (== resource_for beta.
10881
+ # instances ==) (== resource_for v1.instances ==)
10499
10882
  class Instance
10500
10883
  include Google::Apis::Core::Hashable
10501
10884
 
@@ -10540,6 +10923,13 @@ module Google
10540
10923
  # @return [Google::Apis::ComputeAlpha::DisplayDevice]
10541
10924
  attr_accessor :display_device
10542
10925
 
10926
+ # Specifies whether the disks restored from source snapshots or source machine
10927
+ # image should erase Windows specific VSS signature.
10928
+ # Corresponds to the JSON property `eraseWindowsVssSignature`
10929
+ # @return [Boolean]
10930
+ attr_accessor :erase_windows_vss_signature
10931
+ alias_method :erase_windows_vss_signature?, :erase_windows_vss_signature
10932
+
10543
10933
  # A list of the type and count of accelerator cards attached to the instance.
10544
10934
  # Corresponds to the JSON property `guestAccelerators`
10545
10935
  # @return [Array<Google::Apis::ComputeAlpha::AcceleratorConfig>]
@@ -10635,7 +11025,7 @@ module Google
10635
11025
  # @return [Fixnum]
10636
11026
  attr_accessor :preserved_state_size_gb
10637
11027
 
10638
- # AllocationAffinity is the configuration of desired allocation which this
11028
+ # ReservationAffinity is the configuration of desired reservation which this
10639
11029
  # instance could take capacity from.
10640
11030
  # Corresponds to the JSON property `reservationAffinity`
10641
11031
  # @return [Google::Apis::ComputeAlpha::ReservationAffinity]
@@ -10646,7 +11036,7 @@ module Google
10646
11036
  # @return [Array<String>]
10647
11037
  attr_accessor :resource_policies
10648
11038
 
10649
- # Sets the scheduling options for an Instance.
11039
+ # Sets the scheduling options for an Instance. NextID: 9
10650
11040
  # Corresponds to the JSON property `scheduling`
10651
11041
  # @return [Google::Apis::ComputeAlpha::Scheduling]
10652
11042
  attr_accessor :scheduling
@@ -10746,6 +11136,7 @@ module Google
10746
11136
  @description = args[:description] if args.key?(:description)
10747
11137
  @disks = args[:disks] if args.key?(:disks)
10748
11138
  @display_device = args[:display_device] if args.key?(:display_device)
11139
+ @erase_windows_vss_signature = args[:erase_windows_vss_signature] if args.key?(:erase_windows_vss_signature)
10749
11140
  @guest_accelerators = args[:guest_accelerators] if args.key?(:guest_accelerators)
10750
11141
  @hostname = args[:hostname] if args.key?(:hostname)
10751
11142
  @id = args[:id] if args.key?(:id)
@@ -10897,9 +11288,15 @@ module Google
10897
11288
  end
10898
11289
  end
10899
11290
 
10900
- # InstanceGroups (== resource_for beta.instanceGroups ==) (== resource_for v1.
10901
- # instanceGroups ==) (== resource_for beta.regionInstanceGroups ==) (==
10902
- # resource_for v1.regionInstanceGroups ==)
11291
+ # Represents an unmanaged Instance Group resource.
11292
+ # Use unmanaged instance groups if you need to apply load balancing to groups of
11293
+ # heterogeneous instances or if you need to manage the instances yourself. For
11294
+ # more information, read Instance groups.
11295
+ # For zonal unmanaged Instance Group, use instanceGroups resource.
11296
+ # For regional unmanaged Instance Group, use regionInstanceGroups resource. (==
11297
+ # resource_for beta.instanceGroups ==) (== resource_for v1.instanceGroups ==) (==
11298
+ # resource_for beta.regionInstanceGroups ==) (== resource_for v1.
11299
+ # regionInstanceGroups ==)
10903
11300
  class InstanceGroup
10904
11301
  include Google::Apis::Core::Hashable
10905
11302
 
@@ -11247,10 +11644,14 @@ module Google
11247
11644
  end
11248
11645
  end
11249
11646
 
11250
- # An Instance Group Manager resource. (== resource_for beta.
11251
- # instanceGroupManagers ==) (== resource_for v1.instanceGroupManagers ==) (==
11252
- # resource_for beta.regionInstanceGroupManagers ==) (== resource_for v1.
11253
- # regionInstanceGroupManagers ==)
11647
+ # Represents a Managed Instance Group resource.
11648
+ # An instance group is a collection of VM instances that you can manage as a
11649
+ # single entity. For more information, read Instance groups.
11650
+ # For zonal Managed Instance Group, use the instanceGroupManagers resource.
11651
+ # For regional Managed Instance Group, use the regionInstanceGroupManagers
11652
+ # resource. (== resource_for beta.instanceGroupManagers ==) (== resource_for v1.
11653
+ # instanceGroupManagers ==) (== resource_for beta.regionInstanceGroupManagers ==)
11654
+ # (== resource_for v1.regionInstanceGroupManagers ==)
11254
11655
  class InstanceGroupManager
11255
11656
  include Google::Apis::Core::Hashable
11256
11657
 
@@ -11994,7 +12395,11 @@ module Google
11994
12395
  # @return [String]
11995
12396
  attr_accessor :replacement_method
11996
12397
 
11997
- #
12398
+ # The type of update process. You can specify either PROACTIVE so that the
12399
+ # instance group manager proactively executes actions in order to bring
12400
+ # instances to their target versions or OPPORTUNISTIC so that no action is
12401
+ # proactively executed but the update will be performed as part of other actions
12402
+ # (for example, resizes or recreateInstances calls).
11998
12403
  # Corresponds to the JSON property `type`
11999
12404
  # @return [String]
12000
12405
  attr_accessor :type
@@ -12080,9 +12485,9 @@ module Google
12080
12485
  class InstanceGroupManagersApplyUpdatesRequest
12081
12486
  include Google::Apis::Core::Hashable
12082
12487
 
12083
- # The list of URLs of one or more instances for which we want to apply updates
12084
- # on this managed instance group. This can be a full URL or a partial URL, such
12085
- # as zones/[ZONE]/instances/[INSTANCE_NAME].
12488
+ # The list of URLs of one or more instances for which you want to apply updates.
12489
+ # Each URL can be a full URL or a partial URL, such as zones/[ZONE]/instances/[
12490
+ # INSTANCE_NAME].
12086
12491
  # Corresponds to the JSON property `instances`
12087
12492
  # @return [Array<String>]
12088
12493
  attr_accessor :instances
@@ -12093,13 +12498,26 @@ module Google
12093
12498
  # @return [String]
12094
12499
  attr_accessor :maximal_action
12095
12500
 
12096
- # The minimal action that should be perfomed on the instances. By default NONE.
12501
+ # The minimal action that you want to perform on each instance during the update:
12502
+ #
12503
+ # - REPLACE: At minimum, delete the instance and create it again.
12504
+ # - RESTART: Stop the instance and start it again.
12505
+ # - REFRESH: Do not stop the instance.
12506
+ # - NONE: Do not disrupt the instance at all. By default, the minimum action is
12507
+ # NONE. If your update requires a more disruptive action than you set with this
12508
+ # flag, the necessary action is performed to execute the update.
12097
12509
  # Corresponds to the JSON property `minimalAction`
12098
12510
  # @return [String]
12099
12511
  attr_accessor :minimal_action
12100
12512
 
12101
- # The most disruptive action that allowed to be performed on the instances. By
12102
- # default REPLACE.
12513
+ # The most disruptive action that you want to perform on each instance during
12514
+ # the update:
12515
+ # - REPLACE: Delete the instance and create it again.
12516
+ # - RESTART: Stop the instance and start it again.
12517
+ # - REFRESH: Do not stop the instance.
12518
+ # - NONE: Do not disrupt the instance at all. By default, the most disruptive
12519
+ # allowed action is REPLACE. If your update requires a more disruptive action
12520
+ # than you set with this flag, the update request will fail.
12103
12521
  # Corresponds to the JSON property `mostDisruptiveAllowedAction`
12104
12522
  # @return [String]
12105
12523
  attr_accessor :most_disruptive_allowed_action
@@ -12183,6 +12601,35 @@ module Google
12183
12601
  end
12184
12602
  end
12185
12603
 
12604
+ #
12605
+ class InstanceGroupManagersListErrorsResponse
12606
+ include Google::Apis::Core::Hashable
12607
+
12608
+ # [Output Only] The list of errors of the managed instance group.
12609
+ # Corresponds to the JSON property `items`
12610
+ # @return [Array<Google::Apis::ComputeAlpha::InstanceManagedByIgmError>]
12611
+ attr_accessor :items
12612
+
12613
+ # [Output Only] This token allows you to get the next page of results for list
12614
+ # requests. If the number of results is larger than maxResults, use the
12615
+ # nextPageToken as a value for the query parameter pageToken in the next list
12616
+ # request. Subsequent list requests will have their own nextPageToken to
12617
+ # continue paging through the results.
12618
+ # Corresponds to the JSON property `nextPageToken`
12619
+ # @return [String]
12620
+ attr_accessor :next_page_token
12621
+
12622
+ def initialize(**args)
12623
+ update!(**args)
12624
+ end
12625
+
12626
+ # Update properties of this object
12627
+ def update!(**args)
12628
+ @items = args[:items] if args.key?(:items)
12629
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
12630
+ end
12631
+ end
12632
+
12186
12633
  #
12187
12634
  class InstanceGroupManagersListManagedInstancesResponse
12188
12635
  include Google::Apis::Core::Hashable
@@ -13116,6 +13563,101 @@ module Google
13116
13563
  end
13117
13564
  end
13118
13565
 
13566
+ #
13567
+ class InstanceManagedByIgmError
13568
+ include Google::Apis::Core::Hashable
13569
+
13570
+ # [Output Only] Contents of the error.
13571
+ # Corresponds to the JSON property `error`
13572
+ # @return [Google::Apis::ComputeAlpha::InstanceManagedByIgmErrorManagedInstanceError]
13573
+ attr_accessor :error
13574
+
13575
+ # [Output Only] Details of the instance action that triggered this error. May be
13576
+ # null, if the error was not caused by an action on an instance. This field is
13577
+ # optional.
13578
+ # Corresponds to the JSON property `instanceActionDetails`
13579
+ # @return [Google::Apis::ComputeAlpha::InstanceManagedByIgmErrorInstanceActionDetails]
13580
+ attr_accessor :instance_action_details
13581
+
13582
+ # [Output Only] The time that this error occurred. This value is in RFC3339 text
13583
+ # format.
13584
+ # Corresponds to the JSON property `timestamp`
13585
+ # @return [String]
13586
+ attr_accessor :timestamp
13587
+
13588
+ def initialize(**args)
13589
+ update!(**args)
13590
+ end
13591
+
13592
+ # Update properties of this object
13593
+ def update!(**args)
13594
+ @error = args[:error] if args.key?(:error)
13595
+ @instance_action_details = args[:instance_action_details] if args.key?(:instance_action_details)
13596
+ @timestamp = args[:timestamp] if args.key?(:timestamp)
13597
+ end
13598
+ end
13599
+
13600
+ #
13601
+ class InstanceManagedByIgmErrorInstanceActionDetails
13602
+ include Google::Apis::Core::Hashable
13603
+
13604
+ # [Output Only] Action that managed instance group was executing on the instance
13605
+ # when the error occurred. Possible values:
13606
+ # Corresponds to the JSON property `action`
13607
+ # @return [String]
13608
+ attr_accessor :action
13609
+
13610
+ # [Output Only] The URL of the instance. The URL can be set even if the instance
13611
+ # has not yet been created.
13612
+ # Corresponds to the JSON property `instance`
13613
+ # @return [String]
13614
+ attr_accessor :instance
13615
+
13616
+ # [Output Only] Version this instance was created from, or was being created
13617
+ # from, but the creation failed. Corresponds to one of the versions that were
13618
+ # set on the Instance Group Manager resource at the time this instance was being
13619
+ # created.
13620
+ # Corresponds to the JSON property `version`
13621
+ # @return [Google::Apis::ComputeAlpha::ManagedInstanceVersion]
13622
+ attr_accessor :version
13623
+
13624
+ def initialize(**args)
13625
+ update!(**args)
13626
+ end
13627
+
13628
+ # Update properties of this object
13629
+ def update!(**args)
13630
+ @action = args[:action] if args.key?(:action)
13631
+ @instance = args[:instance] if args.key?(:instance)
13632
+ @version = args[:version] if args.key?(:version)
13633
+ end
13634
+ end
13635
+
13636
+ #
13637
+ class InstanceManagedByIgmErrorManagedInstanceError
13638
+ include Google::Apis::Core::Hashable
13639
+
13640
+ # [Output Only] Error code.
13641
+ # Corresponds to the JSON property `code`
13642
+ # @return [String]
13643
+ attr_accessor :code
13644
+
13645
+ # [Output Only] Error message.
13646
+ # Corresponds to the JSON property `message`
13647
+ # @return [String]
13648
+ attr_accessor :message
13649
+
13650
+ def initialize(**args)
13651
+ update!(**args)
13652
+ end
13653
+
13654
+ # Update properties of this object
13655
+ def update!(**args)
13656
+ @code = args[:code] if args.key?(:code)
13657
+ @message = args[:message] if args.key?(:message)
13658
+ end
13659
+ end
13660
+
13119
13661
  #
13120
13662
  class InstanceMoveRequest
13121
13663
  include Google::Apis::Core::Hashable
@@ -13217,13 +13759,13 @@ module Google
13217
13759
  # @return [Array<Google::Apis::ComputeAlpha::NetworkInterface>]
13218
13760
  attr_accessor :network_interfaces
13219
13761
 
13220
- # AllocationAffinity is the configuration of desired allocation which this
13762
+ # ReservationAffinity is the configuration of desired reservation which this
13221
13763
  # instance could take capacity from.
13222
13764
  # Corresponds to the JSON property `reservationAffinity`
13223
13765
  # @return [Google::Apis::ComputeAlpha::ReservationAffinity]
13224
13766
  attr_accessor :reservation_affinity
13225
13767
 
13226
- # Sets the scheduling options for an Instance.
13768
+ # Sets the scheduling options for an Instance. NextID: 9
13227
13769
  # Corresponds to the JSON property `scheduling`
13228
13770
  # @return [Google::Apis::ComputeAlpha::Scheduling]
13229
13771
  attr_accessor :scheduling
@@ -13294,8 +13836,10 @@ module Google
13294
13836
  end
13295
13837
  end
13296
13838
 
13297
- # An Instance Template resource. (== resource_for beta.instanceTemplates ==) (==
13298
- # resource_for v1.instanceTemplates ==)
13839
+ # Represents an Instance Template resource.
13840
+ # You can use instance templates to create VM instances and managed instance
13841
+ # groups. For more information, read Instance Templates. (== resource_for beta.
13842
+ # instanceTemplates ==) (== resource_for v1.instanceTemplates ==)
13299
13843
  class InstanceTemplate
13300
13844
  include Google::Apis::Core::Hashable
13301
13845
 
@@ -13829,6 +14373,32 @@ module Google
13829
14373
  end
13830
14374
  end
13831
14375
 
14376
+ #
14377
+ class InstancesSetNameRequest
14378
+ include Google::Apis::Core::Hashable
14379
+
14380
+ # The current name of this resource, used to prevent conflicts. Provide the
14381
+ # latest name when making a request to change name.
14382
+ # Corresponds to the JSON property `currentName`
14383
+ # @return [String]
14384
+ attr_accessor :current_name
14385
+
14386
+ # The name to be applied to the instance. Needs to be RFC 1035 compliant.
14387
+ # Corresponds to the JSON property `name`
14388
+ # @return [String]
14389
+ attr_accessor :name
14390
+
14391
+ def initialize(**args)
14392
+ update!(**args)
14393
+ end
14394
+
14395
+ # Update properties of this object
14396
+ def update!(**args)
14397
+ @current_name = args[:current_name] if args.key?(:current_name)
14398
+ @name = args[:name] if args.key?(:name)
14399
+ end
14400
+ end
14401
+
13832
14402
  #
13833
14403
  class InstancesSetServiceAccountRequest
13834
14404
  include Google::Apis::Core::Hashable
@@ -13910,10 +14480,11 @@ module Google
13910
14480
  end
13911
14481
  end
13912
14482
 
13913
- # Represents an Interconnects resource. The Interconnects resource is a
13914
- # dedicated connection between Google's network and your on-premises network.
13915
- # For more information, see the Dedicated overview page. (== resource_for v1.
13916
- # interconnects ==) (== resource_for beta.interconnects ==)
14483
+ # Represents an Interconnect resource.
14484
+ # An Interconnect resource is a dedicated connection between the GCP network and
14485
+ # your on-premises network. For more information, read the Dedicated
14486
+ # Interconnect Overview. (== resource_for v1.interconnects ==) (== resource_for
14487
+ # beta.interconnects ==)
13917
14488
  class Interconnect
13918
14489
  include Google::Apis::Core::Hashable
13919
14490
 
@@ -14132,8 +14703,10 @@ module Google
14132
14703
  end
14133
14704
  end
14134
14705
 
14135
- # Represents an InterconnectAttachment (VLAN attachment) resource. For more
14136
- # information, see Creating VLAN Attachments. (== resource_for beta.
14706
+ # Represents an Interconnect Attachment (VLAN) resource.
14707
+ # You can use Interconnect attachments (VLANS) to connect your Virtual Private
14708
+ # Cloud networks to your on-premises networks through an Interconnect. For more
14709
+ # information, read Creating VLAN Attachments. (== resource_for beta.
14137
14710
  # interconnectAttachments ==) (== resource_for v1.interconnectAttachments ==)
14138
14711
  class InterconnectAttachment
14139
14712
  include Google::Apis::Core::Hashable
@@ -14211,7 +14784,8 @@ module Google
14211
14784
  attr_accessor :edge_availability_domain
14212
14785
 
14213
14786
  # [Output Only] Google reference ID, to be used when raising support tickets
14214
- # with Google or otherwise to debug backend connectivity issues.
14787
+ # with Google or otherwise to debug backend connectivity issues. [Deprecated]
14788
+ # This field is not used.
14215
14789
  # Corresponds to the JSON property `googleReferenceId`
14216
14790
  # @return [String]
14217
14791
  attr_accessor :google_reference_id
@@ -15120,9 +15694,10 @@ module Google
15120
15694
  end
15121
15695
  end
15122
15696
 
15123
- # Represents an InterconnectLocations resource. The InterconnectLocations
15124
- # resource describes the locations where you can connect to Google's networks.
15125
- # For more information, see Colocation Facilities.
15697
+ # Represents an Interconnect Attachment (VLAN) Location resource.
15698
+ # You can use this resource to find location details about an Interconnect
15699
+ # attachment (VLAN). For more information about interconnect attachments, read
15700
+ # Creating VLAN Attachments.
15126
15701
  class InterconnectLocation
15127
15702
  include Google::Apis::Core::Hashable
15128
15703
 
@@ -16397,6 +16972,14 @@ module Google
16397
16972
  # @return [String]
16398
16973
  attr_accessor :description
16399
16974
 
16975
+ # [Input Only] Specifies to create an application consistent machine image by
16976
+ # informing the OS to prepare for the snapshot process. Currently only supported
16977
+ # on Windows instances using the Volume Shadow Copy Service (VSS).
16978
+ # Corresponds to the JSON property `guestFlush`
16979
+ # @return [Boolean]
16980
+ attr_accessor :guest_flush
16981
+ alias_method :guest_flush?, :guest_flush
16982
+
16400
16983
  # [Output Only] A unique identifier for this machine image. The server defines
16401
16984
  # this identifier.
16402
16985
  # Corresponds to the JSON property `id`
@@ -16434,6 +17017,13 @@ module Google
16434
17017
  # @return [String]
16435
17018
  attr_accessor :self_link_with_id
16436
17019
 
17020
+ # [Input Only] The customer-supplied encryption key of the disks attached to the
17021
+ # source instance. Required if the source disk is protected by a customer-
17022
+ # supplied encryption key.
17023
+ # Corresponds to the JSON property `sourceDiskEncryptionKeys`
17024
+ # @return [Array<Google::Apis::ComputeAlpha::SourceDiskEncryptionKey>]
17025
+ attr_accessor :source_disk_encryption_keys
17026
+
16437
17027
  # The source instance used to create the machine image. You can provide this as
16438
17028
  # a partial or full URL to the resource. For example, the following are valid
16439
17029
  # values:
@@ -16468,12 +17058,14 @@ module Google
16468
17058
  def update!(**args)
16469
17059
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
16470
17060
  @description = args[:description] if args.key?(:description)
17061
+ @guest_flush = args[:guest_flush] if args.key?(:guest_flush)
16471
17062
  @id = args[:id] if args.key?(:id)
16472
17063
  @kind = args[:kind] if args.key?(:kind)
16473
17064
  @machine_image_encryption_key = args[:machine_image_encryption_key] if args.key?(:machine_image_encryption_key)
16474
17065
  @name = args[:name] if args.key?(:name)
16475
17066
  @self_link = args[:self_link] if args.key?(:self_link)
16476
17067
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
17068
+ @source_disk_encryption_keys = args[:source_disk_encryption_keys] if args.key?(:source_disk_encryption_keys)
16477
17069
  @source_instance = args[:source_instance] if args.key?(:source_instance)
16478
17070
  @source_instance_properties = args[:source_instance_properties] if args.key?(:source_instance_properties)
16479
17071
  @status = args[:status] if args.key?(:status)
@@ -16605,8 +17197,10 @@ module Google
16605
17197
  end
16606
17198
  end
16607
17199
 
16608
- # A Machine Type resource. (== resource_for v1.machineTypes ==) (== resource_for
16609
- # beta.machineTypes ==)
17200
+ # Represents a Machine Type resource.
17201
+ # You can use specific machine types for your VM instances based on performance
17202
+ # and pricing requirements. For more information, read Machine Types. (==
17203
+ # resource_for v1.machineTypes ==) (== resource_for beta.machineTypes ==)
16610
17204
  class MachineType
16611
17205
  include Google::Apis::Core::Hashable
16612
17206
 
@@ -17099,11 +17693,6 @@ module Google
17099
17693
  # @return [Google::Apis::ComputeAlpha::ManagedInstanceLastAttempt]
17100
17694
  attr_accessor :last_attempt
17101
17695
 
17102
- # Overrides of stateful properties for a given instance
17103
- # Corresponds to the JSON property `override`
17104
- # @return [Google::Apis::ComputeAlpha::ManagedInstanceOverride]
17105
- attr_accessor :override
17106
-
17107
17696
  # Preserved state for a given instance.
17108
17697
  # Corresponds to the JSON property `preservedStateFromConfig`
17109
17698
  # @return [Google::Apis::ComputeAlpha::PreservedState]
@@ -17137,7 +17726,6 @@ module Google
17137
17726
  @instance_status = args[:instance_status] if args.key?(:instance_status)
17138
17727
  @instance_template = args[:instance_template] if args.key?(:instance_template)
17139
17728
  @last_attempt = args[:last_attempt] if args.key?(:last_attempt)
17140
- @override = args[:override] if args.key?(:override)
17141
17729
  @preserved_state_from_config = args[:preserved_state_from_config] if args.key?(:preserved_state_from_config)
17142
17730
  @preserved_state_from_policy = args[:preserved_state_from_policy] if args.key?(:preserved_state_from_policy)
17143
17731
  @tag = args[:tag] if args.key?(:tag)
@@ -17249,104 +17837,6 @@ module Google
17249
17837
  end
17250
17838
  end
17251
17839
 
17252
- # Overrides of stateful properties for a given instance
17253
- class ManagedInstanceOverride
17254
- include Google::Apis::Core::Hashable
17255
-
17256
- # Disk overrides defined for this instance. According to documentation the
17257
- # maximum number of disks attached to an instance is 128: https://cloud.google.
17258
- # com/compute/docs/disks/ However, compute API defines the limit at 140, so this
17259
- # is what we check.
17260
- # Corresponds to the JSON property `disks`
17261
- # @return [Array<Google::Apis::ComputeAlpha::ManagedInstanceOverrideDiskOverride>]
17262
- attr_accessor :disks
17263
-
17264
- # Metadata overrides defined for this instance. TODO(b/69785416) validate the
17265
- # total length is <9 KB
17266
- # Corresponds to the JSON property `metadata`
17267
- # @return [Array<Google::Apis::ComputeAlpha::ManagedInstanceOverride::Metadatum>]
17268
- attr_accessor :metadata
17269
-
17270
- # [Output Only] Indicates where does the override come from.
17271
- # Corresponds to the JSON property `origin`
17272
- # @return [String]
17273
- attr_accessor :origin
17274
-
17275
- def initialize(**args)
17276
- update!(**args)
17277
- end
17278
-
17279
- # Update properties of this object
17280
- def update!(**args)
17281
- @disks = args[:disks] if args.key?(:disks)
17282
- @metadata = args[:metadata] if args.key?(:metadata)
17283
- @origin = args[:origin] if args.key?(:origin)
17284
- end
17285
-
17286
- #
17287
- class Metadatum
17288
- include Google::Apis::Core::Hashable
17289
-
17290
- # Key for the metadata entry. Keys must conform to the following regexp: [a-zA-
17291
- # Z0-9-_]+, and be less than 128 bytes in length. This is reflected as part of a
17292
- # URL in the metadata server. Additionally, to avoid ambiguity, keys must not
17293
- # conflict with any other metadata keys for the project.
17294
- # Corresponds to the JSON property `key`
17295
- # @return [String]
17296
- attr_accessor :key
17297
-
17298
- # Value for the metadata entry. These are free-form strings, and only have
17299
- # meaning as interpreted by the image running in the instance. The only
17300
- # restriction placed on values is that their size must be less than or equal to
17301
- # 262144 bytes (256 KiB).
17302
- # Corresponds to the JSON property `value`
17303
- # @return [String]
17304
- attr_accessor :value
17305
-
17306
- def initialize(**args)
17307
- update!(**args)
17308
- end
17309
-
17310
- # Update properties of this object
17311
- def update!(**args)
17312
- @key = args[:key] if args.key?(:key)
17313
- @value = args[:value] if args.key?(:value)
17314
- end
17315
- end
17316
- end
17317
-
17318
- #
17319
- class ManagedInstanceOverrideDiskOverride
17320
- include Google::Apis::Core::Hashable
17321
-
17322
- # The name of the device on the VM
17323
- # Corresponds to the JSON property `deviceName`
17324
- # @return [String]
17325
- attr_accessor :device_name
17326
-
17327
- # The mode in which to attach this disk, either READ_WRITE or READ_ONLY. If not
17328
- # specified, the default is to attach the disk in READ_WRITE mode.
17329
- # Corresponds to the JSON property `mode`
17330
- # @return [String]
17331
- attr_accessor :mode
17332
-
17333
- # The disk that is/will be mounted
17334
- # Corresponds to the JSON property `source`
17335
- # @return [String]
17336
- attr_accessor :source
17337
-
17338
- def initialize(**args)
17339
- update!(**args)
17340
- end
17341
-
17342
- # Update properties of this object
17343
- def update!(**args)
17344
- @device_name = args[:device_name] if args.key?(:device_name)
17345
- @mode = args[:mode] if args.key?(:mode)
17346
- @source = args[:source] if args.key?(:source)
17347
- end
17348
- end
17349
-
17350
17840
  #
17351
17841
  class ManagedInstanceVersion
17352
17842
  include Google::Apis::Core::Hashable
@@ -17593,9 +18083,10 @@ module Google
17593
18083
  end
17594
18084
  end
17595
18085
 
17596
- # Represents a Network resource. Read Virtual Private Cloud (VPC) Network
17597
- # Overview for more information. (== resource_for v1.networks ==) (==
17598
- # resource_for beta.networks ==)
18086
+ # Represents a VPC Network resource.
18087
+ # Networks connect resources to each other and to the internet. For more
18088
+ # information, read Virtual Private Cloud (VPC) Network. (== resource_for v1.
18089
+ # networks ==) (== resource_for beta.networks ==)
17599
18090
  class Network
17600
18091
  include Google::Apis::Core::Hashable
17601
18092
 
@@ -17625,14 +18116,14 @@ module Google
17625
18116
  # @return [String]
17626
18117
  attr_accessor :cross_vm_encryption
17627
18118
 
17628
- # An optional description of this resource. Provide this property when you
17629
- # create the resource.
18119
+ # An optional description of this resource. Provide this field when you create
18120
+ # the resource.
17630
18121
  # Corresponds to the JSON property `description`
17631
18122
  # @return [String]
17632
18123
  attr_accessor :description
17633
18124
 
17634
- # [Output Only] The gateway address for default routing out of the network. This
17635
- # value is read only and is selected by GCP.
18125
+ # [Output Only] The gateway address for default routing out of the network,
18126
+ # selected by GCP.
17636
18127
  # Corresponds to the JSON property `gatewayIPv4`
17637
18128
  # @return [String]
17638
18129
  attr_accessor :gateway_i_pv4
@@ -17669,9 +18160,9 @@ module Google
17669
18160
  # Name of the resource. Provided by the client when the resource is created. The
17670
18161
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
17671
18162
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
17672
- # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
17673
- # and all following characters must be a dash, lowercase letter, or digit,
17674
- # except the last character, which cannot be a dash.
18163
+ # z0-9]*[a-z0-9])?. The first character must be a lowercase letter, and all
18164
+ # following characters (except for the last character) must be a dash, lowercase
18165
+ # letter, or digit. The last character must be a lowercase letter or digit.
17675
18166
  # Corresponds to the JSON property `name`
17676
18167
  # @return [String]
17677
18168
  attr_accessor :name
@@ -18509,8 +19000,8 @@ module Google
18509
19000
  # @return [Array<Google::Apis::ComputeAlpha::AccessConfig>]
18510
19001
  attr_accessor :access_configs
18511
19002
 
18512
- # An array of alias IP ranges for this network interface. Can only be specified
18513
- # for network interfaces on subnet-mode networks.
19003
+ # An array of alias IP ranges for this network interface. You can only specify
19004
+ # this field for network interfaces in VPC networks.
18514
19005
  # Corresponds to the JSON property `aliasIpRanges`
18515
19006
  # @return [Array<Google::Apis::ComputeAlpha::AliasIpRange>]
18516
19007
  attr_accessor :alias_ip_ranges
@@ -18535,8 +19026,8 @@ module Google
18535
19026
  # @return [String]
18536
19027
  attr_accessor :kind
18537
19028
 
18538
- # [Output Only] The name of the network interface, generated by the server. For
18539
- # network devices, these are eth0, eth1, etc.
19029
+ # [Output Only] The name of the network interface, which is generated by the
19030
+ # server. For network devices, these are eth0, eth1, etc.
18540
19031
  # Corresponds to the JSON property `name`
18541
19032
  # @return [String]
18542
19033
  attr_accessor :name
@@ -18545,8 +19036,6 @@ module Google
18545
19036
  # neither the network nor the subnetwork is specified, the default network
18546
19037
  # global/networks/default is used; if the network is not specified but the
18547
19038
  # subnetwork is specified, the network is inferred.
18548
- # This field is optional when creating a firewall rule. If not specified when
18549
- # creating a firewall rule, the default network global/networks/default is used.
18550
19039
  # If you specify this property, you can specify the network as a full or partial
18551
19040
  # URL. For example, the following are all valid URLs:
18552
19041
  # - https://www.googleapis.com/compute/v1/projects/project/global/networks/
@@ -18557,7 +19046,7 @@ module Google
18557
19046
  # @return [String]
18558
19047
  attr_accessor :network
18559
19048
 
18560
- # An IPv4 internal network address to assign to the instance for this network
19049
+ # An IPv4 internal IP address to assign to the instance for this network
18561
19050
  # interface. If not specified by the user, an unused internal IP is assigned by
18562
19051
  # the system.
18563
19052
  # Corresponds to the JSON property `networkIP`
@@ -18565,9 +19054,9 @@ module Google
18565
19054
  attr_accessor :network_ip
18566
19055
 
18567
19056
  # The URL of the Subnetwork resource for this instance. If the network resource
18568
- # is in legacy mode, do not provide this property. If the network is in auto
18569
- # subnet mode, providing the subnetwork is optional. If the network is in custom
18570
- # subnet mode, then this field should be specified. If you specify this property,
19057
+ # is in legacy mode, do not specify this field. If the network is in auto subnet
19058
+ # mode, specifying the subnetwork is optional. If the network is in custom
19059
+ # subnet mode, specifying the subnetwork is required. If you specify this field,
18571
19060
  # you can specify the subnetwork as a full or partial URL. For example, the
18572
19061
  # following are all valid URLs:
18573
19062
  # - https://www.googleapis.com/compute/v1/projects/project/regions/region/
@@ -18726,7 +19215,7 @@ module Google
18726
19215
  attr_accessor :advertise_peer_subnets_via_routers
18727
19216
  alias_method :advertise_peer_subnets_via_routers?, :advertise_peer_subnets_via_routers
18728
19217
 
18729
- # This field will be deprecated soon. Prefer using exchange_subnet_routes
19218
+ # This field will be deprecated soon. Use the exchange_subnet_routes field
18730
19219
  # instead. Indicates whether full mesh connectivity is created and managed
18731
19220
  # automatically. When it is set to true, Google Compute Engine will
18732
19221
  # automatically create and manage the routes between two networks when the state
@@ -18778,10 +19267,10 @@ module Google
18778
19267
 
18779
19268
  # Name of this peering. Provided by the client when the peering is created. The
18780
19269
  # name must comply with RFC1035. Specifically, the name must be 1-63 characters
18781
- # long and match regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the
18782
- # first character must be a lowercase letter, and all the following characters
18783
- # must be a dash, lowercase letter, or digit, except the last character, which
18784
- # cannot be a dash.
19270
+ # long and match regular expression `[a-z]([-a-z0-9]*[a-z0-9])?`. The first
19271
+ # character must be a lowercase letter, and all the following characters must be
19272
+ # a dash, lowercase letter, or digit, except the last character, which cannot be
19273
+ # a dash.
18785
19274
  # Corresponds to the JSON property `name`
18786
19275
  # @return [String]
18787
19276
  attr_accessor :name
@@ -18799,7 +19288,8 @@ module Google
18799
19288
  # @return [Fixnum]
18800
19289
  attr_accessor :peer_mtu
18801
19290
 
18802
- # [Output Only] State for the peering.
19291
+ # [Output Only] State for the peering, either `ACTIVE` or `INACTIVE`. The
19292
+ # peering is `ACTIVE` when there's a matching configuration in the peer network.
18803
19293
  # Corresponds to the JSON property `state`
18804
19294
  # @return [String]
18805
19295
  attr_accessor :state
@@ -18836,9 +19326,9 @@ module Google
18836
19326
  class NetworkRoutingConfig
18837
19327
  include Google::Apis::Core::Hashable
18838
19328
 
18839
- # The network-wide routing mode to use. If set to REGIONAL, this network's cloud
18840
- # routers will only advertise routes with subnets of this network in the same
18841
- # region as the router. If set to GLOBAL, this network's cloud routers will
19329
+ # The network-wide routing mode to use. If set to REGIONAL, this network's Cloud
19330
+ # Routers will only advertise routes with subnets of this network in the same
19331
+ # region as the router. If set to GLOBAL, this network's Cloud Routers will
18842
19332
  # advertise routes with all subnets of this network, across regions.
18843
19333
  # Corresponds to the JSON property `routingMode`
18844
19334
  # @return [String]
@@ -18858,7 +19348,7 @@ module Google
18858
19348
  class NetworksAddPeeringRequest
18859
19349
  include Google::Apis::Core::Hashable
18860
19350
 
18861
- # This field will be deprecated soon. Prefer using exchange_subnet_routes in
19351
+ # This field will be deprecated soon. Use exchange_subnet_routes in
18862
19352
  # network_peering instead. Whether Google Compute Engine manages the routes
18863
19353
  # automatically.
18864
19354
  # Corresponds to the JSON property `autoCreateRoutes`
@@ -18866,14 +19356,14 @@ module Google
18866
19356
  attr_accessor :auto_create_routes
18867
19357
  alias_method :auto_create_routes?, :auto_create_routes
18868
19358
 
18869
- # This field will be deprecated soon. Prefer using export_custom_routes in
19359
+ # This field will be deprecated soon. Use export_custom_routes in
18870
19360
  # network_peering instead. Whether to export the custom routes to peer network.
18871
19361
  # Corresponds to the JSON property `exportCustomRoutes`
18872
19362
  # @return [Boolean]
18873
19363
  attr_accessor :export_custom_routes
18874
19364
  alias_method :export_custom_routes?, :export_custom_routes
18875
19365
 
18876
- # This field will be deprecated soon. Prefer using import_custom_routes in
19366
+ # This field will be deprecated soon. Use import_custom_routes in
18877
19367
  # network_peering instead. Whether to import the custom routes from peer network.
18878
19368
  # Corresponds to the JSON property `importCustomRoutes`
18879
19369
  # @return [Boolean]
@@ -19006,10 +19496,13 @@ module Google
19006
19496
  end
19007
19497
  end
19008
19498
 
19009
- # A NodeGroup resource. To create a node group, you must first create a node
19010
- # templates. To learn more about node groups and sole-tenant nodes, read the
19011
- # Sole-tenant nodes documentation. (== resource_for beta.nodeGroups ==) (==
19012
- # resource_for v1.nodeGroups ==)
19499
+ # Represent a sole-tenant Node Group resource.
19500
+ # A sole-tenant node is a physical server that is dedicated to hosting VM
19501
+ # instances only for your specific project. Use sole-tenant nodes to keep your
19502
+ # instances physically separated from instances in other projects, or to group
19503
+ # your instances together on the same host hardware. For more information, read
19504
+ # Sole-tenant nodes. (== resource_for beta.nodeGroups ==) (== resource_for v1.
19505
+ # nodeGroups ==) NextID: 15
19013
19506
  class NodeGroup
19014
19507
  include Google::Apis::Core::Hashable
19015
19508
 
@@ -19042,9 +19535,9 @@ module Google
19042
19535
  attr_accessor :kind
19043
19536
 
19044
19537
  #
19045
- # Corresponds to the JSON property `managedHoldback`
19538
+ # Corresponds to the JSON property `maintenancePolicy`
19046
19539
  # @return [String]
19047
- attr_accessor :managed_holdback
19540
+ attr_accessor :maintenance_policy
19048
19541
 
19049
19542
  # The name of the resource, provided by the client when initially creating the
19050
19543
  # resource. The resource name must be 1-63 characters long, and comply with
@@ -19099,7 +19592,7 @@ module Google
19099
19592
  @description = args[:description] if args.key?(:description)
19100
19593
  @id = args[:id] if args.key?(:id)
19101
19594
  @kind = args[:kind] if args.key?(:kind)
19102
- @managed_holdback = args[:managed_holdback] if args.key?(:managed_holdback)
19595
+ @maintenance_policy = args[:maintenance_policy] if args.key?(:maintenance_policy)
19103
19596
  @name = args[:name] if args.key?(:name)
19104
19597
  @node_template = args[:node_template] if args.key?(:node_template)
19105
19598
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -19706,9 +20199,10 @@ module Google
19706
20199
  end
19707
20200
  end
19708
20201
 
19709
- # A Node Template resource. To learn more about node templates and sole-tenant
19710
- # nodes, read the Sole-tenant nodes documentation. (== resource_for beta.
19711
- # nodeTemplates ==) (== resource_for v1.nodeTemplates ==)
20202
+ # Represent a sole-tenant Node Template resource.
20203
+ # You can use a template to define properties for nodes in a node group. For
20204
+ # more information, read Creating node groups and instances. (== resource_for
20205
+ # beta.nodeTemplates ==) (== resource_for v1.nodeTemplates ==) (== NextID: 16 ==)
19712
20206
  class NodeTemplate
19713
20207
  include Google::Apis::Core::Hashable
19714
20208
 
@@ -19785,7 +20279,12 @@ module Google
19785
20279
  # @return [String]
19786
20280
  attr_accessor :self_link_with_id
19787
20281
 
19788
- # Binding properties for the physical server.
20282
+ # Sets the binding properties for the physical server. Valid values include:
20283
+ # - [Default] RESTART_NODE_ON_ANY_SERVER: Restarts VMs on any available physical
20284
+ # server
20285
+ # - RESTART_NODE_ON_MINIMAL_SERVER: Restarts VMs on the same physical server
20286
+ # whenever possible
20287
+ # See Sole-tenant node options for more information.
19789
20288
  # Corresponds to the JSON property `serverBinding`
19790
20289
  # @return [Google::Apis::ComputeAlpha::ServerBinding]
19791
20290
  attr_accessor :server_binding
@@ -20183,7 +20682,12 @@ module Google
20183
20682
  end
20184
20683
  end
20185
20684
 
20186
- # A Node Type resource.
20685
+ # Represent a sole-tenant Node Type resource.
20686
+ # Each node within a node group must have a node type. A node type specifies the
20687
+ # total amount of cores and memory for that node. Currently, the only available
20688
+ # node type is n1-node-96-624 node type that has 96 vCPUs and 624 GB of memory,
20689
+ # available in multiple zones. For more information read Node types. (==
20690
+ # resource_for beta.nodeTypes ==) (== resource_for v1.nodeTypes ==)
20187
20691
  class NodeType
20188
20692
  include Google::Apis::Core::Hashable
20189
20693
 
@@ -20840,7 +21344,14 @@ module Google
20840
21344
  end
20841
21345
  end
20842
21346
 
20843
- # An Operation resource, used to manage asynchronous API requests. (==
21347
+ # Represents an Operation resource.
21348
+ # You can use an operation resource to manage asynchronous API requests. For
21349
+ # more information, read Handling API responses.
21350
+ # Operations can be global, regional or zonal.
21351
+ # - For global operations, use the globalOperations resource.
21352
+ # - For regional operations, use the regionOperations resource.
21353
+ # - For zonal operations, use the zonalOperations resource.
21354
+ # For more information, read Global, Regional, and Zonal Resources. (==
20844
21355
  # resource_for v1.globalOperations ==) (== resource_for beta.globalOperations ==)
20845
21356
  # (== resource_for v1.regionOperations ==) (== resource_for beta.
20846
21357
  # regionOperations ==) (== resource_for v1.zoneOperations ==) (== resource_for
@@ -20928,9 +21439,7 @@ module Google
20928
21439
  attr_accessor :progress
20929
21440
 
20930
21441
  # [Output Only] The URL of the region where the operation resides. Only
20931
- # available when performing regional operations. You must specify this field as
20932
- # part of the HTTP request URL. It is not settable as a field in the request
20933
- # body.
21442
+ # applicable when performing regional operations.
20934
21443
  # Corresponds to the JSON property `region`
20935
21444
  # @return [String]
20936
21445
  attr_accessor :region
@@ -20987,9 +21496,8 @@ module Google
20987
21496
  # @return [Array<Google::Apis::ComputeAlpha::Operation::Warning>]
20988
21497
  attr_accessor :warnings
20989
21498
 
20990
- # [Output Only] The URL of the zone where the operation resides. Only available
20991
- # when performing per-zone operations. You must specify this field as part of
20992
- # the HTTP request URL. It is not settable as a field in the request body.
21499
+ # [Output Only] The URL of the zone where the operation resides. Only applicable
21500
+ # when performing per-zone operations.
20993
21501
  # Corresponds to the JSON property `zone`
20994
21502
  # @return [String]
20995
21503
  attr_accessor :zone
@@ -21472,160 +21980,897 @@ module Google
21472
21980
  end
21473
21981
  end
21474
21982
 
21475
- #
21476
- class OrganizationSecurityPoliciesListAssociationsResponse
21477
- include Google::Apis::Core::Hashable
21478
-
21479
- # A list of associations.
21480
- # Corresponds to the JSON property `associations`
21481
- # @return [Array<Google::Apis::ComputeAlpha::SecurityPolicyAssociation>]
21482
- attr_accessor :associations
21483
-
21484
- # [Output Only] Type of securityPolicy associations. Always compute#
21485
- # organizationSecurityPoliciesListAssociations for lists of securityPolicy
21486
- # associations.
21487
- # Corresponds to the JSON property `kind`
21488
- # @return [String]
21489
- attr_accessor :kind
21490
-
21491
- def initialize(**args)
21492
- update!(**args)
21493
- end
21494
-
21495
- # Update properties of this object
21496
- def update!(**args)
21497
- @associations = args[:associations] if args.key?(:associations)
21498
- @kind = args[:kind] if args.key?(:kind)
21499
- end
21500
- end
21501
-
21502
- # Configuration for the origin authentication method.
21503
- class OriginAuthenticationMethod
21504
- include Google::Apis::Core::Hashable
21505
-
21506
- # JWT configuration for origin authentication.
21507
- # Corresponds to the JSON property `jwt`
21508
- # @return [Google::Apis::ComputeAlpha::Jwt]
21509
- attr_accessor :jwt
21510
-
21511
- def initialize(**args)
21512
- update!(**args)
21513
- end
21514
-
21515
- # Update properties of this object
21516
- def update!(**args)
21517
- @jwt = args[:jwt] if args.key?(:jwt)
21518
- end
21519
- end
21520
-
21521
- # Settings controlling eviction of unhealthy hosts from the load balancing pool.
21522
- class OutlierDetection
21523
- include Google::Apis::Core::Hashable
21524
-
21525
- # A Duration represents a fixed-length span of time represented as a count of
21526
- # seconds and fractions of seconds at nanosecond resolution. It is independent
21527
- # of any calendar and concepts like "day" or "month". Range is approximately 10,
21528
- # 000 years.
21529
- # Corresponds to the JSON property `baseEjectionTime`
21530
- # @return [Google::Apis::ComputeAlpha::Duration]
21531
- attr_accessor :base_ejection_time
21532
-
21533
- # Number of errors before a host is ejected from the connection pool. When the
21534
- # backend host is accessed over HTTP, a 5xx return code qualifies as an error.
21535
- # Defaults to 5.
21536
- # Corresponds to the JSON property `consecutiveErrors`
21537
- # @return [Fixnum]
21538
- attr_accessor :consecutive_errors
21539
-
21540
- # The number of consecutive gateway failures (502, 503, 504 status or connection
21541
- # errors that are mapped to one of those status codes) before a consecutive
21542
- # gateway failure ejection occurs. Defaults to 5.
21543
- # Corresponds to the JSON property `consecutiveGatewayFailure`
21544
- # @return [Fixnum]
21545
- attr_accessor :consecutive_gateway_failure
21546
-
21547
- # The percentage chance that a host will be actually ejected when an outlier
21548
- # status is detected through consecutive 5xx. This setting can be used to
21549
- # disable ejection or to ramp it up slowly. Defaults to 100.
21550
- # Corresponds to the JSON property `enforcingConsecutiveErrors`
21551
- # @return [Fixnum]
21552
- attr_accessor :enforcing_consecutive_errors
21553
-
21554
- # The percentage chance that a host will be actually ejected when an outlier
21555
- # status is detected through consecutive gateway failures. This setting can be
21556
- # used to disable ejection or to ramp it up slowly. Defaults to 0.
21557
- # Corresponds to the JSON property `enforcingConsecutiveGatewayFailure`
21558
- # @return [Fixnum]
21559
- attr_accessor :enforcing_consecutive_gateway_failure
21560
-
21561
- # The percentage chance that a host will be actually ejected when an outlier
21562
- # status is detected through success rate statistics. This setting can be used
21563
- # to disable ejection or to ramp it up slowly. Defaults to 100.
21564
- # Corresponds to the JSON property `enforcingSuccessRate`
21565
- # @return [Fixnum]
21566
- attr_accessor :enforcing_success_rate
21567
-
21568
- # A Duration represents a fixed-length span of time represented as a count of
21569
- # seconds and fractions of seconds at nanosecond resolution. It is independent
21570
- # of any calendar and concepts like "day" or "month". Range is approximately 10,
21571
- # 000 years.
21572
- # Corresponds to the JSON property `interval`
21573
- # @return [Google::Apis::ComputeAlpha::Duration]
21574
- attr_accessor :interval
21575
-
21576
- # Maximum percentage of hosts in the load balancing pool for the backend service
21577
- # that can be ejected. Defaults to 10%.
21578
- # Corresponds to the JSON property `maxEjectionPercent`
21579
- # @return [Fixnum]
21580
- attr_accessor :max_ejection_percent
21581
-
21582
- # The number of hosts in a cluster that must have enough request volume to
21583
- # detect success rate outliers. If the number of hosts is less than this setting,
21584
- # outlier detection via success rate statistics is not performed for any host
21585
- # in the cluster. Defaults to 5.
21586
- # Corresponds to the JSON property `successRateMinimumHosts`
21587
- # @return [Fixnum]
21588
- attr_accessor :success_rate_minimum_hosts
21589
-
21590
- # The minimum number of total requests that must be collected in one interval (
21591
- # as defined by the interval duration above) to include this host in success
21592
- # rate based outlier detection. If the volume is lower than this setting,
21593
- # outlier detection via success rate statistics is not performed for that host.
21594
- # Defaults to 100.
21595
- # Corresponds to the JSON property `successRateRequestVolume`
21596
- # @return [Fixnum]
21597
- attr_accessor :success_rate_request_volume
21598
-
21599
- # This factor is used to determine the ejection threshold for success rate
21600
- # outlier ejection. The ejection threshold is the difference between the mean
21601
- # success rate, and the product of this factor and the standard deviation of the
21602
- # mean success rate: mean - (stdev * success_rate_stdev_factor). This factor is
21603
- # divided by a thousand to get a double. That is, if the desired factor is 1.9,
21604
- # the runtime value should be 1900. Defaults to 1900.
21605
- # Corresponds to the JSON property `successRateStdevFactor`
21606
- # @return [Fixnum]
21607
- attr_accessor :success_rate_stdev_factor
21608
-
21609
- def initialize(**args)
21610
- update!(**args)
21611
- end
21612
-
21613
- # Update properties of this object
21614
- def update!(**args)
21615
- @base_ejection_time = args[:base_ejection_time] if args.key?(:base_ejection_time)
21616
- @consecutive_errors = args[:consecutive_errors] if args.key?(:consecutive_errors)
21617
- @consecutive_gateway_failure = args[:consecutive_gateway_failure] if args.key?(:consecutive_gateway_failure)
21618
- @enforcing_consecutive_errors = args[:enforcing_consecutive_errors] if args.key?(:enforcing_consecutive_errors)
21619
- @enforcing_consecutive_gateway_failure = args[:enforcing_consecutive_gateway_failure] if args.key?(:enforcing_consecutive_gateway_failure)
21620
- @enforcing_success_rate = args[:enforcing_success_rate] if args.key?(:enforcing_success_rate)
21621
- @interval = args[:interval] if args.key?(:interval)
21622
- @max_ejection_percent = args[:max_ejection_percent] if args.key?(:max_ejection_percent)
21623
- @success_rate_minimum_hosts = args[:success_rate_minimum_hosts] if args.key?(:success_rate_minimum_hosts)
21624
- @success_rate_request_volume = args[:success_rate_request_volume] if args.key?(:success_rate_request_volume)
21625
- @success_rate_stdev_factor = args[:success_rate_stdev_factor] if args.key?(:success_rate_stdev_factor)
21626
- end
21627
- end
21628
-
21983
+ #
21984
+ class OrganizationSecurityPoliciesListAssociationsResponse
21985
+ include Google::Apis::Core::Hashable
21986
+
21987
+ # A list of associations.
21988
+ # Corresponds to the JSON property `associations`
21989
+ # @return [Array<Google::Apis::ComputeAlpha::SecurityPolicyAssociation>]
21990
+ attr_accessor :associations
21991
+
21992
+ # [Output Only] Type of securityPolicy associations. Always compute#
21993
+ # organizationSecurityPoliciesListAssociations for lists of securityPolicy
21994
+ # associations.
21995
+ # Corresponds to the JSON property `kind`
21996
+ # @return [String]
21997
+ attr_accessor :kind
21998
+
21999
+ def initialize(**args)
22000
+ update!(**args)
22001
+ end
22002
+
22003
+ # Update properties of this object
22004
+ def update!(**args)
22005
+ @associations = args[:associations] if args.key?(:associations)
22006
+ @kind = args[:kind] if args.key?(:kind)
22007
+ end
22008
+ end
22009
+
22010
+ # Configuration for the origin authentication method.
22011
+ class OriginAuthenticationMethod
22012
+ include Google::Apis::Core::Hashable
22013
+
22014
+ # JWT configuration for origin authentication.
22015
+ # Corresponds to the JSON property `jwt`
22016
+ # @return [Google::Apis::ComputeAlpha::Jwt]
22017
+ attr_accessor :jwt
22018
+
22019
+ def initialize(**args)
22020
+ update!(**args)
22021
+ end
22022
+
22023
+ # Update properties of this object
22024
+ def update!(**args)
22025
+ @jwt = args[:jwt] if args.key?(:jwt)
22026
+ end
22027
+ end
22028
+
22029
+ # Settings controlling eviction of unhealthy hosts from the load balancing pool.
22030
+ class OutlierDetection
22031
+ include Google::Apis::Core::Hashable
22032
+
22033
+ # A Duration represents a fixed-length span of time represented as a count of
22034
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
22035
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
22036
+ # 000 years.
22037
+ # Corresponds to the JSON property `baseEjectionTime`
22038
+ # @return [Google::Apis::ComputeAlpha::Duration]
22039
+ attr_accessor :base_ejection_time
22040
+
22041
+ # Number of errors before a host is ejected from the connection pool. When the
22042
+ # backend host is accessed over HTTP, a 5xx return code qualifies as an error.
22043
+ # Defaults to 5.
22044
+ # Corresponds to the JSON property `consecutiveErrors`
22045
+ # @return [Fixnum]
22046
+ attr_accessor :consecutive_errors
22047
+
22048
+ # The number of consecutive gateway failures (502, 503, 504 status or connection
22049
+ # errors that are mapped to one of those status codes) before a consecutive
22050
+ # gateway failure ejection occurs. Defaults to 5.
22051
+ # Corresponds to the JSON property `consecutiveGatewayFailure`
22052
+ # @return [Fixnum]
22053
+ attr_accessor :consecutive_gateway_failure
22054
+
22055
+ # The percentage chance that a host will be actually ejected when an outlier
22056
+ # status is detected through consecutive 5xx. This setting can be used to
22057
+ # disable ejection or to ramp it up slowly. Defaults to 100.
22058
+ # Corresponds to the JSON property `enforcingConsecutiveErrors`
22059
+ # @return [Fixnum]
22060
+ attr_accessor :enforcing_consecutive_errors
22061
+
22062
+ # The percentage chance that a host will be actually ejected when an outlier
22063
+ # status is detected through consecutive gateway failures. This setting can be
22064
+ # used to disable ejection or to ramp it up slowly. Defaults to 0.
22065
+ # Corresponds to the JSON property `enforcingConsecutiveGatewayFailure`
22066
+ # @return [Fixnum]
22067
+ attr_accessor :enforcing_consecutive_gateway_failure
22068
+
22069
+ # The percentage chance that a host will be actually ejected when an outlier
22070
+ # status is detected through success rate statistics. This setting can be used
22071
+ # to disable ejection or to ramp it up slowly. Defaults to 100.
22072
+ # Corresponds to the JSON property `enforcingSuccessRate`
22073
+ # @return [Fixnum]
22074
+ attr_accessor :enforcing_success_rate
22075
+
22076
+ # A Duration represents a fixed-length span of time represented as a count of
22077
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
22078
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
22079
+ # 000 years.
22080
+ # Corresponds to the JSON property `interval`
22081
+ # @return [Google::Apis::ComputeAlpha::Duration]
22082
+ attr_accessor :interval
22083
+
22084
+ # Maximum percentage of hosts in the load balancing pool for the backend service
22085
+ # that can be ejected. Defaults to 10%.
22086
+ # Corresponds to the JSON property `maxEjectionPercent`
22087
+ # @return [Fixnum]
22088
+ attr_accessor :max_ejection_percent
22089
+
22090
+ # The number of hosts in a cluster that must have enough request volume to
22091
+ # detect success rate outliers. If the number of hosts is less than this setting,
22092
+ # outlier detection via success rate statistics is not performed for any host
22093
+ # in the cluster. Defaults to 5.
22094
+ # Corresponds to the JSON property `successRateMinimumHosts`
22095
+ # @return [Fixnum]
22096
+ attr_accessor :success_rate_minimum_hosts
22097
+
22098
+ # The minimum number of total requests that must be collected in one interval (
22099
+ # as defined by the interval duration above) to include this host in success
22100
+ # rate based outlier detection. If the volume is lower than this setting,
22101
+ # outlier detection via success rate statistics is not performed for that host.
22102
+ # Defaults to 100.
22103
+ # Corresponds to the JSON property `successRateRequestVolume`
22104
+ # @return [Fixnum]
22105
+ attr_accessor :success_rate_request_volume
22106
+
22107
+ # This factor is used to determine the ejection threshold for success rate
22108
+ # outlier ejection. The ejection threshold is the difference between the mean
22109
+ # success rate, and the product of this factor and the standard deviation of the
22110
+ # mean success rate: mean - (stdev * success_rate_stdev_factor). This factor is
22111
+ # divided by a thousand to get a double. That is, if the desired factor is 1.9,
22112
+ # the runtime value should be 1900. Defaults to 1900.
22113
+ # Corresponds to the JSON property `successRateStdevFactor`
22114
+ # @return [Fixnum]
22115
+ attr_accessor :success_rate_stdev_factor
22116
+
22117
+ def initialize(**args)
22118
+ update!(**args)
22119
+ end
22120
+
22121
+ # Update properties of this object
22122
+ def update!(**args)
22123
+ @base_ejection_time = args[:base_ejection_time] if args.key?(:base_ejection_time)
22124
+ @consecutive_errors = args[:consecutive_errors] if args.key?(:consecutive_errors)
22125
+ @consecutive_gateway_failure = args[:consecutive_gateway_failure] if args.key?(:consecutive_gateway_failure)
22126
+ @enforcing_consecutive_errors = args[:enforcing_consecutive_errors] if args.key?(:enforcing_consecutive_errors)
22127
+ @enforcing_consecutive_gateway_failure = args[:enforcing_consecutive_gateway_failure] if args.key?(:enforcing_consecutive_gateway_failure)
22128
+ @enforcing_success_rate = args[:enforcing_success_rate] if args.key?(:enforcing_success_rate)
22129
+ @interval = args[:interval] if args.key?(:interval)
22130
+ @max_ejection_percent = args[:max_ejection_percent] if args.key?(:max_ejection_percent)
22131
+ @success_rate_minimum_hosts = args[:success_rate_minimum_hosts] if args.key?(:success_rate_minimum_hosts)
22132
+ @success_rate_request_volume = args[:success_rate_request_volume] if args.key?(:success_rate_request_volume)
22133
+ @success_rate_stdev_factor = args[:success_rate_stdev_factor] if args.key?(:success_rate_stdev_factor)
22134
+ end
22135
+ end
22136
+
22137
+ # Next free: 7
22138
+ class PacketIntervals
22139
+ include Google::Apis::Core::Hashable
22140
+
22141
+ # Average observed inter-packet interval in milliseconds.
22142
+ # Corresponds to the JSON property `avgMs`
22143
+ # @return [Fixnum]
22144
+ attr_accessor :avg_ms
22145
+
22146
+ # From how long ago in the past these intervals were observed.
22147
+ # Corresponds to the JSON property `duration`
22148
+ # @return [String]
22149
+ attr_accessor :duration
22150
+
22151
+ # Maximum observed inter-packet interval in milliseconds.
22152
+ # Corresponds to the JSON property `maxMs`
22153
+ # @return [Fixnum]
22154
+ attr_accessor :max_ms
22155
+
22156
+ # Minimum observed inter-packet interval in milliseconds.
22157
+ # Corresponds to the JSON property `minMs`
22158
+ # @return [Fixnum]
22159
+ attr_accessor :min_ms
22160
+
22161
+ # Number of inter-packet intervals from which these statistics were derived.
22162
+ # Corresponds to the JSON property `numIntervals`
22163
+ # @return [Fixnum]
22164
+ attr_accessor :num_intervals
22165
+
22166
+ # The type of packets for which inter-packet intervals were computed.
22167
+ # Corresponds to the JSON property `type`
22168
+ # @return [String]
22169
+ attr_accessor :type
22170
+
22171
+ def initialize(**args)
22172
+ update!(**args)
22173
+ end
22174
+
22175
+ # Update properties of this object
22176
+ def update!(**args)
22177
+ @avg_ms = args[:avg_ms] if args.key?(:avg_ms)
22178
+ @duration = args[:duration] if args.key?(:duration)
22179
+ @max_ms = args[:max_ms] if args.key?(:max_ms)
22180
+ @min_ms = args[:min_ms] if args.key?(:min_ms)
22181
+ @num_intervals = args[:num_intervals] if args.key?(:num_intervals)
22182
+ @type = args[:type] if args.key?(:type)
22183
+ end
22184
+ end
22185
+
22186
+ # Represents a PacketMirroring resource.
22187
+ class PacketMirroring
22188
+ include Google::Apis::Core::Hashable
22189
+
22190
+ # The Forwarding Rule resource of type loadBalancingScheme=INTERNAL that will be
22191
+ # used as collector for mirrored traffic. The specified forwarding rule must
22192
+ # have isMirroringCollector set to true.
22193
+ # Corresponds to the JSON property `collectorIlb`
22194
+ # @return [Google::Apis::ComputeAlpha::PacketMirroringForwardingRuleInfo]
22195
+ attr_accessor :collector_ilb
22196
+
22197
+ #
22198
+ # Corresponds to the JSON property `collectors`
22199
+ # @return [Google::Apis::ComputeAlpha::PacketMirroringCollectorInfo]
22200
+ attr_accessor :collectors
22201
+
22202
+ # [Output Only] Creation timestamp in RFC3339 text format.
22203
+ # Corresponds to the JSON property `creationTimestamp`
22204
+ # @return [String]
22205
+ attr_accessor :creation_timestamp
22206
+
22207
+ # An optional description of this resource. Provide this property when you
22208
+ # create the resource.
22209
+ # Corresponds to the JSON property `description`
22210
+ # @return [String]
22211
+ attr_accessor :description
22212
+
22213
+ # Indicates whether or not this packet mirroring takes effect. If set to FALSE,
22214
+ # this packet mirroring policy will not be enforced on the network.
22215
+ # The default is TRUE.
22216
+ # Corresponds to the JSON property `enable`
22217
+ # @return [String]
22218
+ attr_accessor :enable
22219
+
22220
+ # Filter for mirrored traffic. If unspecified, all traffic is mirrored.
22221
+ # Corresponds to the JSON property `filter`
22222
+ # @return [Google::Apis::ComputeAlpha::PacketMirroringFilter]
22223
+ attr_accessor :filter
22224
+
22225
+ # [Output Only] The unique identifier for the resource. This identifier is
22226
+ # defined by the server.
22227
+ # Corresponds to the JSON property `id`
22228
+ # @return [Fixnum]
22229
+ attr_accessor :id
22230
+
22231
+ # [Output Only] Type of the resource. Always compute#packetMirroring for packet
22232
+ # mirrorings.
22233
+ # Corresponds to the JSON property `kind`
22234
+ # @return [String]
22235
+ attr_accessor :kind
22236
+
22237
+ # PacketMirroring mirroredResourceInfos. Each mirroredResourceInfo specifies a
22238
+ # set of mirrored VM instances and/or a set of subnetworks for which traffic
22239
+ # from/to all VM instances will be mirrored.
22240
+ # Corresponds to the JSON property `mirroredResources`
22241
+ # @return [Google::Apis::ComputeAlpha::PacketMirroringMirroredResourceInfo]
22242
+ attr_accessor :mirrored_resources
22243
+
22244
+ # Name of the resource; provided by the client when the resource is created. The
22245
+ # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
22246
+ # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
22247
+ # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
22248
+ # and all following characters must be a dash, lowercase letter, or digit,
22249
+ # except the last character, which cannot be a dash.
22250
+ # Corresponds to the JSON property `name`
22251
+ # @return [String]
22252
+ attr_accessor :name
22253
+
22254
+ # Specifies the mirrored VPC network. Only packets in this network will be
22255
+ # mirrored. All mirrored VMs should have a NIC in the given network. All
22256
+ # mirrored subnetworks should belong to the given network.
22257
+ # Corresponds to the JSON property `network`
22258
+ # @return [Google::Apis::ComputeAlpha::PacketMirroringNetworkInfo]
22259
+ attr_accessor :network
22260
+
22261
+ # PacketMirroring packetMatchers. Each packetMatcher specifies a CIRD filter
22262
+ # that will apply to the source or destination IP in the IP header for the
22263
+ # mirrored VM traffic.
22264
+ # Corresponds to the JSON property `packetMatchers`
22265
+ # @return [Array<Google::Apis::ComputeAlpha::PacketMirroringPacketMatcher>]
22266
+ attr_accessor :packet_matchers
22267
+
22268
+ # The priority of applying this configuration. Priority is used to break ties in
22269
+ # cases where there is more than one matching rule. In the case of two rules
22270
+ # that apply for a given Instance, the one with the lowest-numbered priority
22271
+ # value wins.
22272
+ # Default value is 1000. Valid range is 0 through 65535.
22273
+ # Corresponds to the JSON property `priority`
22274
+ # @return [Fixnum]
22275
+ attr_accessor :priority
22276
+
22277
+ # [Output Only] URI of the region where the packetMirroring resides.
22278
+ # Corresponds to the JSON property `region`
22279
+ # @return [String]
22280
+ attr_accessor :region
22281
+
22282
+ # [Output Only] Server-defined URL for the resource.
22283
+ # Corresponds to the JSON property `selfLink`
22284
+ # @return [String]
22285
+ attr_accessor :self_link
22286
+
22287
+ # [Output Only] Server-defined URL for this resource with the resource id.
22288
+ # Corresponds to the JSON property `selfLinkWithId`
22289
+ # @return [String]
22290
+ attr_accessor :self_link_with_id
22291
+
22292
+ def initialize(**args)
22293
+ update!(**args)
22294
+ end
22295
+
22296
+ # Update properties of this object
22297
+ def update!(**args)
22298
+ @collector_ilb = args[:collector_ilb] if args.key?(:collector_ilb)
22299
+ @collectors = args[:collectors] if args.key?(:collectors)
22300
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
22301
+ @description = args[:description] if args.key?(:description)
22302
+ @enable = args[:enable] if args.key?(:enable)
22303
+ @filter = args[:filter] if args.key?(:filter)
22304
+ @id = args[:id] if args.key?(:id)
22305
+ @kind = args[:kind] if args.key?(:kind)
22306
+ @mirrored_resources = args[:mirrored_resources] if args.key?(:mirrored_resources)
22307
+ @name = args[:name] if args.key?(:name)
22308
+ @network = args[:network] if args.key?(:network)
22309
+ @packet_matchers = args[:packet_matchers] if args.key?(:packet_matchers)
22310
+ @priority = args[:priority] if args.key?(:priority)
22311
+ @region = args[:region] if args.key?(:region)
22312
+ @self_link = args[:self_link] if args.key?(:self_link)
22313
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
22314
+ end
22315
+ end
22316
+
22317
+ # Contains a list of packetMirrorings.
22318
+ class PacketMirroringAggregatedList
22319
+ include Google::Apis::Core::Hashable
22320
+
22321
+ # [Output Only] Unique identifier for the resource; defined by the server.
22322
+ # Corresponds to the JSON property `id`
22323
+ # @return [String]
22324
+ attr_accessor :id
22325
+
22326
+ # A list of PacketMirroring resources.
22327
+ # Corresponds to the JSON property `items`
22328
+ # @return [Hash<String,Google::Apis::ComputeAlpha::PacketMirroringsScopedList>]
22329
+ attr_accessor :items
22330
+
22331
+ # Type of resource.
22332
+ # Corresponds to the JSON property `kind`
22333
+ # @return [String]
22334
+ attr_accessor :kind
22335
+
22336
+ # [Output Only] This token allows you to get the next page of results for list
22337
+ # requests. If the number of results is larger than maxResults, use the
22338
+ # nextPageToken as a value for the query parameter pageToken in the next list
22339
+ # request. Subsequent list requests will have their own nextPageToken to
22340
+ # continue paging through the results.
22341
+ # Corresponds to the JSON property `nextPageToken`
22342
+ # @return [String]
22343
+ attr_accessor :next_page_token
22344
+
22345
+ # [Output Only] Server-defined URL for this resource.
22346
+ # Corresponds to the JSON property `selfLink`
22347
+ # @return [String]
22348
+ attr_accessor :self_link
22349
+
22350
+ # [Output Only] Informational warning message.
22351
+ # Corresponds to the JSON property `warning`
22352
+ # @return [Google::Apis::ComputeAlpha::PacketMirroringAggregatedList::Warning]
22353
+ attr_accessor :warning
22354
+
22355
+ def initialize(**args)
22356
+ update!(**args)
22357
+ end
22358
+
22359
+ # Update properties of this object
22360
+ def update!(**args)
22361
+ @id = args[:id] if args.key?(:id)
22362
+ @items = args[:items] if args.key?(:items)
22363
+ @kind = args[:kind] if args.key?(:kind)
22364
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
22365
+ @self_link = args[:self_link] if args.key?(:self_link)
22366
+ @warning = args[:warning] if args.key?(:warning)
22367
+ end
22368
+
22369
+ # [Output Only] Informational warning message.
22370
+ class Warning
22371
+ include Google::Apis::Core::Hashable
22372
+
22373
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
22374
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
22375
+ # Corresponds to the JSON property `code`
22376
+ # @return [String]
22377
+ attr_accessor :code
22378
+
22379
+ # [Output Only] Metadata about this warning in key: value format. For example:
22380
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
22381
+ # Corresponds to the JSON property `data`
22382
+ # @return [Array<Google::Apis::ComputeAlpha::PacketMirroringAggregatedList::Warning::Datum>]
22383
+ attr_accessor :data
22384
+
22385
+ # [Output Only] A human-readable description of the warning code.
22386
+ # Corresponds to the JSON property `message`
22387
+ # @return [String]
22388
+ attr_accessor :message
22389
+
22390
+ def initialize(**args)
22391
+ update!(**args)
22392
+ end
22393
+
22394
+ # Update properties of this object
22395
+ def update!(**args)
22396
+ @code = args[:code] if args.key?(:code)
22397
+ @data = args[:data] if args.key?(:data)
22398
+ @message = args[:message] if args.key?(:message)
22399
+ end
22400
+
22401
+ #
22402
+ class Datum
22403
+ include Google::Apis::Core::Hashable
22404
+
22405
+ # [Output Only] A key that provides more detail on the warning being returned.
22406
+ # For example, for warnings where there are no results in a list request for a
22407
+ # particular zone, this key might be scope and the key value might be the zone
22408
+ # name. Other examples might be a key indicating a deprecated resource and a
22409
+ # suggested replacement, or a warning about invalid network settings (for
22410
+ # example, if an instance attempts to perform IP forwarding but is not enabled
22411
+ # for IP forwarding).
22412
+ # Corresponds to the JSON property `key`
22413
+ # @return [String]
22414
+ attr_accessor :key
22415
+
22416
+ # [Output Only] A warning data value corresponding to the key.
22417
+ # Corresponds to the JSON property `value`
22418
+ # @return [String]
22419
+ attr_accessor :value
22420
+
22421
+ def initialize(**args)
22422
+ update!(**args)
22423
+ end
22424
+
22425
+ # Update properties of this object
22426
+ def update!(**args)
22427
+ @key = args[:key] if args.key?(:key)
22428
+ @value = args[:value] if args.key?(:value)
22429
+ end
22430
+ end
22431
+ end
22432
+ end
22433
+
22434
+ #
22435
+ class PacketMirroringCollectorInfo
22436
+ include Google::Apis::Core::Hashable
22437
+
22438
+ # A set of virtual machines configured as destination of the mirrored traffic.
22439
+ # They must live in zones contained in the same region as this packetMirroring.
22440
+ # Corresponds to the JSON property `instances`
22441
+ # @return [Array<Google::Apis::ComputeAlpha::PacketMirroringCollectorInfoInstanceInfo>]
22442
+ attr_accessor :instances
22443
+
22444
+ def initialize(**args)
22445
+ update!(**args)
22446
+ end
22447
+
22448
+ # Update properties of this object
22449
+ def update!(**args)
22450
+ @instances = args[:instances] if args.key?(:instances)
22451
+ end
22452
+ end
22453
+
22454
+ #
22455
+ class PacketMirroringCollectorInfoInstanceInfo
22456
+ include Google::Apis::Core::Hashable
22457
+
22458
+ # Resource URL to the virtual machine instance configured as destination of the
22459
+ # mirrored traffic.
22460
+ # Corresponds to the JSON property `url`
22461
+ # @return [String]
22462
+ attr_accessor :url
22463
+
22464
+ def initialize(**args)
22465
+ update!(**args)
22466
+ end
22467
+
22468
+ # Update properties of this object
22469
+ def update!(**args)
22470
+ @url = args[:url] if args.key?(:url)
22471
+ end
22472
+ end
22473
+
22474
+ #
22475
+ class PacketMirroringFilter
22476
+ include Google::Apis::Core::Hashable
22477
+
22478
+ # Protocols that apply as filter on mirrored traffic. If no protocols are
22479
+ # specified, all traffic that matches the specified CIDR ranges is mirrored. If
22480
+ # neither cidrRanges nor IPProtocols is specified, all traffic is mirrored.
22481
+ # Corresponds to the JSON property `IPProtocols`
22482
+ # @return [Array<String>]
22483
+ attr_accessor :ip_protocols
22484
+
22485
+ # IP CIDR ranges that apply as filter on the source (ingress) or destination (
22486
+ # egress) IP in the IP header. Only IPv4 is supported. If no ranges are
22487
+ # specified, all traffic that matches the specified IPProtocols is mirrored. If
22488
+ # neither cidrRanges nor IPProtocols is specified, all traffic is mirrored.
22489
+ # Corresponds to the JSON property `cidrRanges`
22490
+ # @return [Array<String>]
22491
+ attr_accessor :cidr_ranges
22492
+
22493
+ def initialize(**args)
22494
+ update!(**args)
22495
+ end
22496
+
22497
+ # Update properties of this object
22498
+ def update!(**args)
22499
+ @ip_protocols = args[:ip_protocols] if args.key?(:ip_protocols)
22500
+ @cidr_ranges = args[:cidr_ranges] if args.key?(:cidr_ranges)
22501
+ end
22502
+ end
22503
+
22504
+ #
22505
+ class PacketMirroringForwardingRuleInfo
22506
+ include Google::Apis::Core::Hashable
22507
+
22508
+ # [Output Only] Unique identifier for the forwarding rule; defined by the server.
22509
+ # Corresponds to the JSON property `canonicalUrl`
22510
+ # @return [String]
22511
+ attr_accessor :canonical_url
22512
+
22513
+ # Resource URL to the forwarding rule representing the ILB configured as
22514
+ # destination of the mirrored traffic.
22515
+ # Corresponds to the JSON property `url`
22516
+ # @return [String]
22517
+ attr_accessor :url
22518
+
22519
+ def initialize(**args)
22520
+ update!(**args)
22521
+ end
22522
+
22523
+ # Update properties of this object
22524
+ def update!(**args)
22525
+ @canonical_url = args[:canonical_url] if args.key?(:canonical_url)
22526
+ @url = args[:url] if args.key?(:url)
22527
+ end
22528
+ end
22529
+
22530
+ # Contains a list of PacketMirroring resources.
22531
+ class PacketMirroringList
22532
+ include Google::Apis::Core::Hashable
22533
+
22534
+ # [Output Only] Unique identifier for the resource; defined by the server.
22535
+ # Corresponds to the JSON property `id`
22536
+ # @return [String]
22537
+ attr_accessor :id
22538
+
22539
+ # A list of PacketMirroring resources.
22540
+ # Corresponds to the JSON property `items`
22541
+ # @return [Array<Google::Apis::ComputeAlpha::PacketMirroring>]
22542
+ attr_accessor :items
22543
+
22544
+ # [Output Only] Type of resource. Always compute#packetMirroring for
22545
+ # packetMirrorings.
22546
+ # Corresponds to the JSON property `kind`
22547
+ # @return [String]
22548
+ attr_accessor :kind
22549
+
22550
+ # [Output Only] This token allows you to get the next page of results for list
22551
+ # requests. If the number of results is larger than maxResults, use the
22552
+ # nextPageToken as a value for the query parameter pageToken in the next list
22553
+ # request. Subsequent list requests will have their own nextPageToken to
22554
+ # continue paging through the results.
22555
+ # Corresponds to the JSON property `nextPageToken`
22556
+ # @return [String]
22557
+ attr_accessor :next_page_token
22558
+
22559
+ # [Output Only] Server-defined URL for this resource.
22560
+ # Corresponds to the JSON property `selfLink`
22561
+ # @return [String]
22562
+ attr_accessor :self_link
22563
+
22564
+ # [Output Only] Informational warning message.
22565
+ # Corresponds to the JSON property `warning`
22566
+ # @return [Google::Apis::ComputeAlpha::PacketMirroringList::Warning]
22567
+ attr_accessor :warning
22568
+
22569
+ def initialize(**args)
22570
+ update!(**args)
22571
+ end
22572
+
22573
+ # Update properties of this object
22574
+ def update!(**args)
22575
+ @id = args[:id] if args.key?(:id)
22576
+ @items = args[:items] if args.key?(:items)
22577
+ @kind = args[:kind] if args.key?(:kind)
22578
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
22579
+ @self_link = args[:self_link] if args.key?(:self_link)
22580
+ @warning = args[:warning] if args.key?(:warning)
22581
+ end
22582
+
22583
+ # [Output Only] Informational warning message.
22584
+ class Warning
22585
+ include Google::Apis::Core::Hashable
22586
+
22587
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
22588
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
22589
+ # Corresponds to the JSON property `code`
22590
+ # @return [String]
22591
+ attr_accessor :code
22592
+
22593
+ # [Output Only] Metadata about this warning in key: value format. For example:
22594
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
22595
+ # Corresponds to the JSON property `data`
22596
+ # @return [Array<Google::Apis::ComputeAlpha::PacketMirroringList::Warning::Datum>]
22597
+ attr_accessor :data
22598
+
22599
+ # [Output Only] A human-readable description of the warning code.
22600
+ # Corresponds to the JSON property `message`
22601
+ # @return [String]
22602
+ attr_accessor :message
22603
+
22604
+ def initialize(**args)
22605
+ update!(**args)
22606
+ end
22607
+
22608
+ # Update properties of this object
22609
+ def update!(**args)
22610
+ @code = args[:code] if args.key?(:code)
22611
+ @data = args[:data] if args.key?(:data)
22612
+ @message = args[:message] if args.key?(:message)
22613
+ end
22614
+
22615
+ #
22616
+ class Datum
22617
+ include Google::Apis::Core::Hashable
22618
+
22619
+ # [Output Only] A key that provides more detail on the warning being returned.
22620
+ # For example, for warnings where there are no results in a list request for a
22621
+ # particular zone, this key might be scope and the key value might be the zone
22622
+ # name. Other examples might be a key indicating a deprecated resource and a
22623
+ # suggested replacement, or a warning about invalid network settings (for
22624
+ # example, if an instance attempts to perform IP forwarding but is not enabled
22625
+ # for IP forwarding).
22626
+ # Corresponds to the JSON property `key`
22627
+ # @return [String]
22628
+ attr_accessor :key
22629
+
22630
+ # [Output Only] A warning data value corresponding to the key.
22631
+ # Corresponds to the JSON property `value`
22632
+ # @return [String]
22633
+ attr_accessor :value
22634
+
22635
+ def initialize(**args)
22636
+ update!(**args)
22637
+ end
22638
+
22639
+ # Update properties of this object
22640
+ def update!(**args)
22641
+ @key = args[:key] if args.key?(:key)
22642
+ @value = args[:value] if args.key?(:value)
22643
+ end
22644
+ end
22645
+ end
22646
+ end
22647
+
22648
+ #
22649
+ class PacketMirroringMirroredResourceInfo
22650
+ include Google::Apis::Core::Hashable
22651
+
22652
+ # A set of virtual machine instances that are being mirrored. They must live in
22653
+ # zones contained in the same region as this packetMirroring.
22654
+ # Note that this config will apply only to those network interfaces of the
22655
+ # Instances that belong to the network specified in this packetMirroring.
22656
+ # You may specify a maximum of 50 Instances.
22657
+ # Corresponds to the JSON property `instances`
22658
+ # @return [Array<Google::Apis::ComputeAlpha::PacketMirroringMirroredResourceInfoInstanceInfo>]
22659
+ attr_accessor :instances
22660
+
22661
+ # A set of subnetworks for which traffic from/to all VM instances will be
22662
+ # mirrored. They must live in zones contained in the same region as this
22663
+ # packetMirroring.
22664
+ # You may specify a maximum of 5 subnetworks.
22665
+ # Corresponds to the JSON property `subnetworks`
22666
+ # @return [Array<Google::Apis::ComputeAlpha::PacketMirroringMirroredResourceInfoSubnetInfo>]
22667
+ attr_accessor :subnetworks
22668
+
22669
+ # A set of mirrored tags. Traffic from/to all VM instances that have one or more
22670
+ # of these tags will be mirrored.
22671
+ # Corresponds to the JSON property `tags`
22672
+ # @return [Array<String>]
22673
+ attr_accessor :tags
22674
+
22675
+ def initialize(**args)
22676
+ update!(**args)
22677
+ end
22678
+
22679
+ # Update properties of this object
22680
+ def update!(**args)
22681
+ @instances = args[:instances] if args.key?(:instances)
22682
+ @subnetworks = args[:subnetworks] if args.key?(:subnetworks)
22683
+ @tags = args[:tags] if args.key?(:tags)
22684
+ end
22685
+ end
22686
+
22687
+ #
22688
+ class PacketMirroringMirroredResourceInfoInstanceInfo
22689
+ include Google::Apis::Core::Hashable
22690
+
22691
+ # [Output Only] Unique identifier for the instance; defined by the server.
22692
+ # Corresponds to the JSON property `canonicalUrl`
22693
+ # @return [String]
22694
+ attr_accessor :canonical_url
22695
+
22696
+ # Resource URL to the virtual machine instance which is being mirrored.
22697
+ # Corresponds to the JSON property `url`
22698
+ # @return [String]
22699
+ attr_accessor :url
22700
+
22701
+ def initialize(**args)
22702
+ update!(**args)
22703
+ end
22704
+
22705
+ # Update properties of this object
22706
+ def update!(**args)
22707
+ @canonical_url = args[:canonical_url] if args.key?(:canonical_url)
22708
+ @url = args[:url] if args.key?(:url)
22709
+ end
22710
+ end
22711
+
22712
+ #
22713
+ class PacketMirroringMirroredResourceInfoSubnetInfo
22714
+ include Google::Apis::Core::Hashable
22715
+
22716
+ # [Output Only] Unique identifier for the subnetwork; defined by the server.
22717
+ # Corresponds to the JSON property `canonicalUrl`
22718
+ # @return [String]
22719
+ attr_accessor :canonical_url
22720
+
22721
+ # Resource URL to the subnetwork for which traffic from/to all VM instances will
22722
+ # be mirrored.
22723
+ # Corresponds to the JSON property `url`
22724
+ # @return [String]
22725
+ attr_accessor :url
22726
+
22727
+ def initialize(**args)
22728
+ update!(**args)
22729
+ end
22730
+
22731
+ # Update properties of this object
22732
+ def update!(**args)
22733
+ @canonical_url = args[:canonical_url] if args.key?(:canonical_url)
22734
+ @url = args[:url] if args.key?(:url)
22735
+ end
22736
+ end
22737
+
22738
+ #
22739
+ class PacketMirroringNetworkInfo
22740
+ include Google::Apis::Core::Hashable
22741
+
22742
+ # [Output Only] Unique identifier for the network; defined by the server.
22743
+ # Corresponds to the JSON property `canonicalUrl`
22744
+ # @return [String]
22745
+ attr_accessor :canonical_url
22746
+
22747
+ # URL of the network resource.
22748
+ # Corresponds to the JSON property `url`
22749
+ # @return [String]
22750
+ attr_accessor :url
22751
+
22752
+ def initialize(**args)
22753
+ update!(**args)
22754
+ end
22755
+
22756
+ # Update properties of this object
22757
+ def update!(**args)
22758
+ @canonical_url = args[:canonical_url] if args.key?(:canonical_url)
22759
+ @url = args[:url] if args.key?(:url)
22760
+ end
22761
+ end
22762
+
22763
+ #
22764
+ class PacketMirroringPacketMatcher
22765
+ include Google::Apis::Core::Hashable
22766
+
22767
+ # IP CIDR range that applies as filter on the source or destination IP in the IP
22768
+ # header. Only IPv4 is supported.
22769
+ # Corresponds to the JSON property `cidrRange`
22770
+ # @return [String]
22771
+ attr_accessor :cidr_range
22772
+
22773
+ def initialize(**args)
22774
+ update!(**args)
22775
+ end
22776
+
22777
+ # Update properties of this object
22778
+ def update!(**args)
22779
+ @cidr_range = args[:cidr_range] if args.key?(:cidr_range)
22780
+ end
22781
+ end
22782
+
22783
+ #
22784
+ class PacketMirroringsScopedList
22785
+ include Google::Apis::Core::Hashable
22786
+
22787
+ # A list of packetMirrorings contained in this scope.
22788
+ # Corresponds to the JSON property `packetMirrorings`
22789
+ # @return [Array<Google::Apis::ComputeAlpha::PacketMirroring>]
22790
+ attr_accessor :packet_mirrorings
22791
+
22792
+ # Informational warning which replaces the list of packetMirrorings when the
22793
+ # list is empty.
22794
+ # Corresponds to the JSON property `warning`
22795
+ # @return [Google::Apis::ComputeAlpha::PacketMirroringsScopedList::Warning]
22796
+ attr_accessor :warning
22797
+
22798
+ def initialize(**args)
22799
+ update!(**args)
22800
+ end
22801
+
22802
+ # Update properties of this object
22803
+ def update!(**args)
22804
+ @packet_mirrorings = args[:packet_mirrorings] if args.key?(:packet_mirrorings)
22805
+ @warning = args[:warning] if args.key?(:warning)
22806
+ end
22807
+
22808
+ # Informational warning which replaces the list of packetMirrorings when the
22809
+ # list is empty.
22810
+ class Warning
22811
+ include Google::Apis::Core::Hashable
22812
+
22813
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
22814
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
22815
+ # Corresponds to the JSON property `code`
22816
+ # @return [String]
22817
+ attr_accessor :code
22818
+
22819
+ # [Output Only] Metadata about this warning in key: value format. For example:
22820
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
22821
+ # Corresponds to the JSON property `data`
22822
+ # @return [Array<Google::Apis::ComputeAlpha::PacketMirroringsScopedList::Warning::Datum>]
22823
+ attr_accessor :data
22824
+
22825
+ # [Output Only] A human-readable description of the warning code.
22826
+ # Corresponds to the JSON property `message`
22827
+ # @return [String]
22828
+ attr_accessor :message
22829
+
22830
+ def initialize(**args)
22831
+ update!(**args)
22832
+ end
22833
+
22834
+ # Update properties of this object
22835
+ def update!(**args)
22836
+ @code = args[:code] if args.key?(:code)
22837
+ @data = args[:data] if args.key?(:data)
22838
+ @message = args[:message] if args.key?(:message)
22839
+ end
22840
+
22841
+ #
22842
+ class Datum
22843
+ include Google::Apis::Core::Hashable
22844
+
22845
+ # [Output Only] A key that provides more detail on the warning being returned.
22846
+ # For example, for warnings where there are no results in a list request for a
22847
+ # particular zone, this key might be scope and the key value might be the zone
22848
+ # name. Other examples might be a key indicating a deprecated resource and a
22849
+ # suggested replacement, or a warning about invalid network settings (for
22850
+ # example, if an instance attempts to perform IP forwarding but is not enabled
22851
+ # for IP forwarding).
22852
+ # Corresponds to the JSON property `key`
22853
+ # @return [String]
22854
+ attr_accessor :key
22855
+
22856
+ # [Output Only] A warning data value corresponding to the key.
22857
+ # Corresponds to the JSON property `value`
22858
+ # @return [String]
22859
+ attr_accessor :value
22860
+
22861
+ def initialize(**args)
22862
+ update!(**args)
22863
+ end
22864
+
22865
+ # Update properties of this object
22866
+ def update!(**args)
22867
+ @key = args[:key] if args.key?(:key)
22868
+ @value = args[:value] if args.key?(:value)
22869
+ end
22870
+ end
22871
+ end
22872
+ end
22873
+
21629
22874
  # A matcher for the path portion of the URL. The BackendService from the longest-
21630
22875
  # matched rule will serve the URL. If no rule was matched, the default service
21631
22876
  # will be used.
@@ -21809,13 +23054,6 @@ module Google
21809
23054
  # @return [String]
21810
23055
  attr_accessor :fingerprint
21811
23056
 
21812
- # The URL of the instance. Serves as a merge key during UpdatePerInstanceConfigs
21813
- # operation, i.e. if per-instance config with the same instance URL exists then
21814
- # it will be updated, otherwise a new one will be created.
21815
- # Corresponds to the JSON property `instance`
21816
- # @return [String]
21817
- attr_accessor :instance
21818
-
21819
23057
  # The name of the per-instance config and the corresponding instance. Serves as
21820
23058
  # a merge key during UpdatePerInstanceConfigs operation, i.e. if per-instance
21821
23059
  # config with the same name exists then it will be updated, otherwise a new one
@@ -21826,11 +23064,6 @@ module Google
21826
23064
  # @return [String]
21827
23065
  attr_accessor :name
21828
23066
 
21829
- # Overrides of stateful properties for a given instance
21830
- # Corresponds to the JSON property `override`
21831
- # @return [Google::Apis::ComputeAlpha::ManagedInstanceOverride]
21832
- attr_accessor :override
21833
-
21834
23067
  # Preserved state for a given instance.
21835
23068
  # Corresponds to the JSON property `preservedState`
21836
23069
  # @return [Google::Apis::ComputeAlpha::PreservedState]
@@ -21843,9 +23076,7 @@ module Google
21843
23076
  # Update properties of this object
21844
23077
  def update!(**args)
21845
23078
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
21846
- @instance = args[:instance] if args.key?(:instance)
21847
23079
  @name = args[:name] if args.key?(:name)
21848
- @override = args[:override] if args.key?(:override)
21849
23080
  @preserved_state = args[:preserved_state] if args.key?(:preserved_state)
21850
23081
  end
21851
23082
  end
@@ -22186,8 +23417,10 @@ module Google
22186
23417
  end
22187
23418
  end
22188
23419
 
22189
- # A Project resource. For an overview of projects, see Cloud Platform Resource
22190
- # Hierarchy. (== resource_for v1.projects ==) (== resource_for beta.projects ==)
23420
+ # Represents a Project resource.
23421
+ # A project is used to organize resources in a Google Cloud Platform environment.
23422
+ # For more information, read about the Resource Hierarchy. (== resource_for v1.
23423
+ # projects ==) (== resource_for beta.projects ==)
22191
23424
  class Project
22192
23425
  include Google::Apis::Core::Hashable
22193
23426
 
@@ -22527,8 +23760,10 @@ module Google
22527
23760
  end
22528
23761
  end
22529
23762
 
22530
- # Region resource. (== resource_for beta.regions ==) (== resource_for v1.regions
22531
- # ==)
23763
+ # Represents a Region resource.
23764
+ # A region is a geographical area where a resource is located. For more
23765
+ # information, read Regions and Zones. (== resource_for beta.regions ==) (==
23766
+ # resource_for v1.regions ==)
22532
23767
  class Region
22533
23768
  include Google::Apis::Core::Hashable
22534
23769
 
@@ -23248,8 +24483,9 @@ module Google
23248
24483
  class RegionInstanceGroupManagersApplyUpdatesRequest
23249
24484
  include Google::Apis::Core::Hashable
23250
24485
 
23251
- # The list of instances for which we want to apply changes on this managed
23252
- # instance group.
24486
+ # The list of URLs of one or more instances for which you want to apply updates.
24487
+ # Each URL can be a full URL or a partial URL, such as zones/[ZONE]/instances/[
24488
+ # INSTANCE_NAME].
23253
24489
  # Corresponds to the JSON property `instances`
23254
24490
  # @return [Array<String>]
23255
24491
  attr_accessor :instances
@@ -23260,13 +24496,26 @@ module Google
23260
24496
  # @return [String]
23261
24497
  attr_accessor :maximal_action
23262
24498
 
23263
- # The minimal action that should be perfomed on the instances. By default NONE.
24499
+ # The minimal action that you want to perform on each instance during the update:
24500
+ #
24501
+ # - REPLACE: At minimum, delete the instance and create it again.
24502
+ # - RESTART: Stop the instance and start it again.
24503
+ # - REFRESH: Do not stop the instance.
24504
+ # - NONE: Do not disrupt the instance at all. By default, the minimum action is
24505
+ # NONE. If your update requires a more disruptive action than you set with this
24506
+ # flag, the necessary action is performed to execute the update.
23264
24507
  # Corresponds to the JSON property `minimalAction`
23265
24508
  # @return [String]
23266
24509
  attr_accessor :minimal_action
23267
24510
 
23268
- # The most disruptive action that allowed to be performed on the instances. By
23269
- # default REPLACE.
24511
+ # The most disruptive action that you want to perform on each instance during
24512
+ # the update:
24513
+ # - REPLACE: Delete the instance and create it again.
24514
+ # - RESTART: Stop the instance and start it again.
24515
+ # - REFRESH: Do not stop the instance.
24516
+ # - NONE: Do not disrupt the instance at all. By default, the most disruptive
24517
+ # allowed action is REPLACE. If your update requires a more disruptive action
24518
+ # than you set with this flag, the update request will fail.
23270
24519
  # Corresponds to the JSON property `mostDisruptiveAllowedAction`
23271
24520
  # @return [String]
23272
24521
  attr_accessor :most_disruptive_allowed_action
@@ -23323,6 +24572,35 @@ module Google
23323
24572
  end
23324
24573
  end
23325
24574
 
24575
+ #
24576
+ class RegionInstanceGroupManagersListErrorsResponse
24577
+ include Google::Apis::Core::Hashable
24578
+
24579
+ # [Output Only] The list of errors of the managed instance group.
24580
+ # Corresponds to the JSON property `items`
24581
+ # @return [Array<Google::Apis::ComputeAlpha::InstanceManagedByIgmError>]
24582
+ attr_accessor :items
24583
+
24584
+ # [Output Only] This token allows you to get the next page of results for list
24585
+ # requests. If the number of results is larger than maxResults, use the
24586
+ # nextPageToken as a value for the query parameter pageToken in the next list
24587
+ # request. Subsequent list requests will have their own nextPageToken to
24588
+ # continue paging through the results.
24589
+ # Corresponds to the JSON property `nextPageToken`
24590
+ # @return [String]
24591
+ attr_accessor :next_page_token
24592
+
24593
+ def initialize(**args)
24594
+ update!(**args)
24595
+ end
24596
+
24597
+ # Update properties of this object
24598
+ def update!(**args)
24599
+ @items = args[:items] if args.key?(:items)
24600
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
24601
+ end
24602
+ end
24603
+
23326
24604
  #
23327
24605
  class RegionInstanceGroupManagersListInstanceConfigsResp
23328
24606
  include Google::Apis::Core::Hashable
@@ -23976,7 +25254,7 @@ module Google
23976
25254
  end
23977
25255
  end
23978
25256
 
23979
- # Reservation resource
25257
+ # Reservation resource NextID: 13
23980
25258
  class Reservation
23981
25259
  include Google::Apis::Core::Hashable
23982
25260
 
@@ -24043,6 +25321,11 @@ module Google
24043
25321
  attr_accessor :specific_reservation_required
24044
25322
  alias_method :specific_reservation_required?, :specific_reservation_required
24045
25323
 
25324
+ # [Output Only] The status of the reservation.
25325
+ # Corresponds to the JSON property `status`
25326
+ # @return [String]
25327
+ attr_accessor :status
25328
+
24046
25329
  # Zone in which the reservation resides, must be provided if reservation is
24047
25330
  # created with commitment creation.
24048
25331
  # Corresponds to the JSON property `zone`
@@ -24065,11 +25348,12 @@ module Google
24065
25348
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
24066
25349
  @specific_reservation = args[:specific_reservation] if args.key?(:specific_reservation)
24067
25350
  @specific_reservation_required = args[:specific_reservation_required] if args.key?(:specific_reservation_required)
25351
+ @status = args[:status] if args.key?(:status)
24068
25352
  @zone = args[:zone] if args.key?(:zone)
24069
25353
  end
24070
25354
  end
24071
25355
 
24072
- # AllocationAffinity is the configuration of desired allocation which this
25356
+ # ReservationAffinity is the configuration of desired reservation which this
24073
25357
  # instance could take capacity from.
24074
25358
  class ReservationAffinity
24075
25359
  include Google::Apis::Core::Hashable
@@ -25175,6 +26459,15 @@ module Google
25175
26459
  class ResourcePolicyVmMaintenancePolicy
25176
26460
  include Google::Apis::Core::Hashable
25177
26461
 
26462
+ # A concurrency control configuration. Defines a group config that, when
26463
+ # attached to an instance, recognizes that instance as part of a group of
26464
+ # instances where only up the concurrency_limit of instances in that group can
26465
+ # undergo simultaneous maintenance. For more information: go/concurrency-control-
26466
+ # design-doc
26467
+ # Corresponds to the JSON property `concurrencyControlGroup`
26468
+ # @return [Google::Apis::ComputeAlpha::ResourcePolicyVmMaintenancePolicyConcurrencyControl]
26469
+ attr_accessor :concurrency_control_group
26470
+
25178
26471
  # A maintenance window for VMs. When set, we restrict our maintenance operations
25179
26472
  # to this window.
25180
26473
  # Corresponds to the JSON property `maintenanceWindow`
@@ -25187,10 +26480,34 @@ module Google
25187
26480
 
25188
26481
  # Update properties of this object
25189
26482
  def update!(**args)
26483
+ @concurrency_control_group = args[:concurrency_control_group] if args.key?(:concurrency_control_group)
25190
26484
  @maintenance_window = args[:maintenance_window] if args.key?(:maintenance_window)
25191
26485
  end
25192
26486
  end
25193
26487
 
26488
+ # A concurrency control configuration. Defines a group config that, when
26489
+ # attached to an instance, recognizes that instance as part of a group of
26490
+ # instances where only up the concurrency_limit of instances in that group can
26491
+ # undergo simultaneous maintenance. For more information: go/concurrency-control-
26492
+ # design-doc
26493
+ class ResourcePolicyVmMaintenancePolicyConcurrencyControl
26494
+ include Google::Apis::Core::Hashable
26495
+
26496
+ #
26497
+ # Corresponds to the JSON property `concurrencyLimit`
26498
+ # @return [Fixnum]
26499
+ attr_accessor :concurrency_limit
26500
+
26501
+ def initialize(**args)
26502
+ update!(**args)
26503
+ end
26504
+
26505
+ # Update properties of this object
26506
+ def update!(**args)
26507
+ @concurrency_limit = args[:concurrency_limit] if args.key?(:concurrency_limit)
26508
+ end
26509
+ end
26510
+
25194
26511
  # A maintenance window for VMs. When set, we restrict our maintenance operations
25195
26512
  # to this window.
25196
26513
  class ResourcePolicyVmMaintenancePolicyMaintenanceWindow
@@ -25263,20 +26580,11 @@ module Google
25263
26580
  end
25264
26581
  end
25265
26582
 
25266
- # Represents a Route resource. A route specifies how certain packets should be
25267
- # handled by the network. Routes are associated with instances by tags and the
25268
- # set of routes for a particular instance is called its routing table.
25269
- # For each packet leaving an instance, the system searches that instance's
25270
- # routing table for a single best matching route. Routes match packets by
25271
- # destination IP address, preferring smaller or more specific ranges over larger
25272
- # ones. If there is a tie, the system selects the route with the smallest
25273
- # priority value. If there is still a tie, it uses the layer three and four
25274
- # packet headers to select just one of the remaining matching routes. The packet
25275
- # is then forwarded as specified by the nextHop field of the winning route -
25276
- # either to another instance destination, an instance gateway, or a Google
25277
- # Compute Engine-operated gateway.
25278
- # Packets that do not match any route in the sending instance's routing table
25279
- # are dropped. (== resource_for beta.routes ==) (== resource_for v1.routes ==)
26583
+ # Represents a Route resource.
26584
+ # A route defines a path from VM instances in the VPC network to a specific
26585
+ # destination. This destination can be inside or outside the VPC network. For
26586
+ # more information, read the Routes overview. (== resource_for beta.routes ==) (=
26587
+ # = resource_for v1.routes ==)
25280
26588
  class Route
25281
26589
  include Google::Apis::Core::Hashable
25282
26590
 
@@ -25285,8 +26593,8 @@ module Google
25285
26593
  # @return [String]
25286
26594
  attr_accessor :creation_timestamp
25287
26595
 
25288
- # An optional description of this resource. Provide this property when you
25289
- # create the resource.
26596
+ # An optional description of this resource. Provide this field when you create
26597
+ # the resource.
25290
26598
  # Corresponds to the JSON property `description`
25291
26599
  # @return [String]
25292
26600
  attr_accessor :description
@@ -25311,9 +26619,9 @@ module Google
25311
26619
  # Name of the resource. Provided by the client when the resource is created. The
25312
26620
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
25313
26621
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
25314
- # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
25315
- # and all following characters must be a dash, lowercase letter, or digit,
25316
- # except the last character, which cannot be a dash.
26622
+ # z0-9]*[a-z0-9])?`. The first character must be a lowercase letter, and all
26623
+ # following characters (except for the last character) must be a dash, lowercase
26624
+ # letter, or digit. The last character must be a lowercase letter or digit.
25317
26625
  # Corresponds to the JSON property `name`
25318
26626
  # @return [String]
25319
26627
  attr_accessor :name
@@ -25324,7 +26632,7 @@ module Google
25324
26632
  attr_accessor :network
25325
26633
 
25326
26634
  # The URL to a gateway that should handle matching packets. You can only specify
25327
- # the internet gateway using a full or partial valid URL: projects/<project-id>/
26635
+ # the internet gateway using a full or partial valid URL: projects/project/
25328
26636
  # global/gateways/default-internet-gateway
25329
26637
  # Corresponds to the JSON property `nextHopGateway`
25330
26638
  # @return [String]
@@ -25378,9 +26686,10 @@ module Google
25378
26686
  attr_accessor :next_hop_vpn_tunnel
25379
26687
 
25380
26688
  # The priority of this route. Priority is used to break ties in cases where
25381
- # there is more than one matching route of equal prefix length. In the case of
25382
- # two routes with equal prefix length, the one with the lowest-numbered priority
25383
- # value wins. Default value is 1000. Valid range is 0 through 65535.
26689
+ # there is more than one matching route of equal prefix length. In cases where
26690
+ # multiple routes have equal prefix length, the one with the lowest-numbered
26691
+ # priority value wins. The default value is `1000`. The priority value must be
26692
+ # from `0` to `65535`, inclusive.
25384
26693
  # Corresponds to the JSON property `priority`
25385
26694
  # @return [Fixnum]
25386
26695
  attr_accessor :priority
@@ -25616,7 +26925,8 @@ module Google
25616
26925
  end
25617
26926
  end
25618
26927
 
25619
- # Router resource.
26928
+ # Represents a Cloud Router resource.
26929
+ # For more information about Cloud Router, read the the Cloud Router overview.
25620
26930
  class Router
25621
26931
  include Google::Apis::Core::Hashable
25622
26932
 
@@ -26042,7 +27352,7 @@ module Google
26042
27352
  # router. If BFD echo mode is enabled on this router and the peer router, this
26043
27353
  # value is used to negotiate the interval between BFD echo packets transmitted
26044
27354
  # by the peer router. Otherwise, it will be used to determine the interval
26045
- # between BFD control packets. If set, this value must be between 33 and 30000.
27355
+ # between BFD control packets. If set, this value must be between 100 and 30000.
26046
27356
  # The default is 300.
26047
27357
  # Corresponds to the JSON property `minReceiveInterval`
26048
27358
  # @return [Fixnum]
@@ -26054,7 +27364,7 @@ module Google
26054
27364
  # the other router. If BFD echo mode is enabled on this router and the peer
26055
27365
  # router, this value is used to negotiate the interval between BFD echo packets
26056
27366
  # transmitted by this router. Otherwise, it will be used to determine the
26057
- # interval between BFD control packets. If set, this value must be between 33
27367
+ # interval between BFD control packets. If set, this value must be between 100
26058
27368
  # and 30000. The default is 300.
26059
27369
  # Corresponds to the JSON property `minTransmitInterval`
26060
27370
  # @return [Fixnum]
@@ -26525,6 +27835,11 @@ module Google
26525
27835
  # @return [Array<Google::Apis::ComputeAlpha::Route>]
26526
27836
  attr_accessor :advertised_routes
26527
27837
 
27838
+ # Next free: 15
27839
+ # Corresponds to the JSON property `bfdStatus`
27840
+ # @return [Google::Apis::ComputeAlpha::BfdStatus]
27841
+ attr_accessor :bfd_status
27842
+
26528
27843
  # IP address of the local BGP interface.
26529
27844
  # Corresponds to the JSON property `ipAddress`
26530
27845
  # @return [String]
@@ -26578,6 +27893,7 @@ module Google
26578
27893
  # Update properties of this object
26579
27894
  def update!(**args)
26580
27895
  @advertised_routes = args[:advertised_routes] if args.key?(:advertised_routes)
27896
+ @bfd_status = args[:bfd_status] if args.key?(:bfd_status)
26581
27897
  @ip_address = args[:ip_address] if args.key?(:ip_address)
26582
27898
  @linked_vpn_tunnel = args[:linked_vpn_tunnel] if args.key?(:linked_vpn_tunnel)
26583
27899
  @name = args[:name] if args.key?(:name)
@@ -26685,7 +28001,8 @@ module Google
26685
28001
  class RoutersPreviewResponse
26686
28002
  include Google::Apis::Core::Hashable
26687
28003
 
26688
- # Router resource.
28004
+ # Represents a Cloud Router resource.
28005
+ # For more information about Cloud Router, read the the Cloud Router overview.
26689
28006
  # Corresponds to the JSON property `resource`
26690
28007
  # @return [Google::Apis::ComputeAlpha::Router]
26691
28008
  attr_accessor :resource
@@ -27040,7 +28357,7 @@ module Google
27040
28357
  end
27041
28358
  end
27042
28359
 
27043
- # Sets the scheduling options for an Instance.
28360
+ # Sets the scheduling options for an Instance. NextID: 9
27044
28361
  class Scheduling
27045
28362
  include Google::Apis::Core::Hashable
27046
28363
 
@@ -27205,6 +28522,11 @@ module Google
27205
28522
  # @return [Array<Google::Apis::ComputeAlpha::SecurityPolicyAssociation>]
27206
28523
  attr_accessor :associations
27207
28524
 
28525
+ # Configuration options for Cloud Armor.
28526
+ # Corresponds to the JSON property `cloudArmorConfig`
28527
+ # @return [Google::Apis::ComputeAlpha::SecurityPolicyCloudArmorConfig]
28528
+ attr_accessor :cloud_armor_config
28529
+
27208
28530
  # [Output Only] Creation timestamp in RFC3339 text format.
27209
28531
  # Corresponds to the JSON property `creationTimestamp`
27210
28532
  # @return [String]
@@ -27305,6 +28627,7 @@ module Google
27305
28627
  # Update properties of this object
27306
28628
  def update!(**args)
27307
28629
  @associations = args[:associations] if args.key?(:associations)
28630
+ @cloud_armor_config = args[:cloud_armor_config] if args.key?(:cloud_armor_config)
27308
28631
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
27309
28632
  @description = args[:description] if args.key?(:description)
27310
28633
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
@@ -27352,6 +28675,26 @@ module Google
27352
28675
  end
27353
28676
  end
27354
28677
 
28678
+ # Configuration options for Cloud Armor.
28679
+ class SecurityPolicyCloudArmorConfig
28680
+ include Google::Apis::Core::Hashable
28681
+
28682
+ # If set to true, enables Cloud Armor Machine Learning.
28683
+ # Corresponds to the JSON property `enableMl`
28684
+ # @return [Boolean]
28685
+ attr_accessor :enable_ml
28686
+ alias_method :enable_ml?, :enable_ml
28687
+
28688
+ def initialize(**args)
28689
+ update!(**args)
28690
+ end
28691
+
28692
+ # Update properties of this object
28693
+ def update!(**args)
28694
+ @enable_ml = args[:enable_ml] if args.key?(:enable_ml)
28695
+ end
28696
+ end
28697
+
27355
28698
  #
27356
28699
  class SecurityPolicyList
27357
28700
  include Google::Apis::Core::Hashable
@@ -27759,13 +29102,6 @@ module Google
27759
29102
  # @return [Google::Apis::ComputeAlpha::ClientTlsSettings]
27760
29103
  attr_accessor :client_tls_settings
27761
29104
 
27762
- # A selector associated with the SecuritySettings. If the labels and port in
27763
- # this selector match the Envoy's label and port, the server side authentication
27764
- # and authorization settings are applied to the Envoy.
27765
- # Corresponds to the JSON property `serverSettingsSelector`
27766
- # @return [Google::Apis::ComputeAlpha::ServerSecuritySettingsSelector]
27767
- attr_accessor :server_settings_selector
27768
-
27769
29105
  def initialize(**args)
27770
29106
  update!(**args)
27771
29107
  end
@@ -27775,7 +29111,6 @@ module Google
27775
29111
  @authentication_policy = args[:authentication_policy] if args.key?(:authentication_policy)
27776
29112
  @authorization_config = args[:authorization_config] if args.key?(:authorization_config)
27777
29113
  @client_tls_settings = args[:client_tls_settings] if args.key?(:client_tls_settings)
27778
- @server_settings_selector = args[:server_settings_selector] if args.key?(:server_settings_selector)
27779
29114
  end
27780
29115
  end
27781
29116
 
@@ -27846,33 +29181,6 @@ module Google
27846
29181
  end
27847
29182
  end
27848
29183
 
27849
- # A selector associated with the SecuritySettings. If the labels and port in
27850
- # this selector match the Envoy's label and port, the server side authentication
27851
- # and authorization settings are applied to the Envoy.
27852
- class ServerSecuritySettingsSelector
27853
- include Google::Apis::Core::Hashable
27854
-
27855
- # The labels associated with the XDS client.
27856
- # Corresponds to the JSON property `labelMatches`
27857
- # @return [Array<Google::Apis::ComputeAlpha::MetadataFilterLabelMatch>]
27858
- attr_accessor :label_matches
27859
-
27860
- # The listener port of the XDS client.
27861
- # Corresponds to the JSON property `port`
27862
- # @return [Fixnum]
27863
- attr_accessor :port
27864
-
27865
- def initialize(**args)
27866
- update!(**args)
27867
- end
27868
-
27869
- # Update properties of this object
27870
- def update!(**args)
27871
- @label_matches = args[:label_matches] if args.key?(:label_matches)
27872
- @port = args[:port] if args.key?(:port)
27873
- end
27874
- end
27875
-
27876
29184
  # The TLS settings for the server.
27877
29185
  class ServerTlsSettings
27878
29186
  include Google::Apis::Core::Hashable
@@ -27935,31 +29243,6 @@ module Google
27935
29243
  end
27936
29244
  end
27937
29245
 
27938
- # JWT credentials for a service account.
27939
- class ServiceAccountJwtAccessCredentials
27940
- include Google::Apis::Core::Hashable
27941
-
27942
- # Service account key.
27943
- # Corresponds to the JSON property `jsonKey`
27944
- # @return [String]
27945
- attr_accessor :json_key
27946
-
27947
- # The token lifetime seconds.
27948
- # Corresponds to the JSON property `tokenLifetimeSeconds`
27949
- # @return [Fixnum]
27950
- attr_accessor :token_lifetime_seconds
27951
-
27952
- def initialize(**args)
27953
- update!(**args)
27954
- end
27955
-
27956
- # Update properties of this object
27957
- def update!(**args)
27958
- @json_key = args[:json_key] if args.key?(:json_key)
27959
- @token_lifetime_seconds = args[:token_lifetime_seconds] if args.key?(:token_lifetime_seconds)
27960
- end
27961
- end
27962
-
27963
29246
  # A set of Shielded Instance options.
27964
29247
  class ShieldedInstanceConfig
27965
29248
  include Google::Apis::Core::Hashable
@@ -28217,8 +29500,10 @@ module Google
28217
29500
  end
28218
29501
  end
28219
29502
 
28220
- # A persistent disk snapshot resource. (== resource_for beta.snapshots ==) (==
28221
- # resource_for v1.snapshots ==)
29503
+ # Represents a Persistent Disk Snapshot resource.
29504
+ # You can use snapshots to back up data on a regular interval. For more
29505
+ # information, read Creating persistent disk snapshots. (== resource_for beta.
29506
+ # snapshots ==) (== resource_for v1.snapshots ==)
28222
29507
  class Snapshot
28223
29508
  include Google::Apis::Core::Hashable
28224
29509
 
@@ -28510,6 +29795,35 @@ module Google
28510
29795
  end
28511
29796
  end
28512
29797
 
29798
+ #
29799
+ class SourceDiskEncryptionKey
29800
+ include Google::Apis::Core::Hashable
29801
+
29802
+ # Represents a customer-supplied encryption key
29803
+ # Corresponds to the JSON property `diskEncryptionKey`
29804
+ # @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey]
29805
+ attr_accessor :disk_encryption_key
29806
+
29807
+ # URL of the disk attached to the source instance. This can be a full or valid
29808
+ # partial URL. For example, the following are valid values:
29809
+ # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk
29810
+ # - projects/project/zones/zone/disks/disk
29811
+ # - zones/zone/disks/disk
29812
+ # Corresponds to the JSON property `sourceDisk`
29813
+ # @return [String]
29814
+ attr_accessor :source_disk
29815
+
29816
+ def initialize(**args)
29817
+ update!(**args)
29818
+ end
29819
+
29820
+ # Update properties of this object
29821
+ def update!(**args)
29822
+ @disk_encryption_key = args[:disk_encryption_key] if args.key?(:disk_encryption_key)
29823
+ @source_disk = args[:source_disk] if args.key?(:source_disk)
29824
+ end
29825
+ end
29826
+
28513
29827
  # A specification of the parameters to use when creating the instance template
28514
29828
  # from a source instance.
28515
29829
  class SourceInstanceParams
@@ -28602,7 +29916,7 @@ module Google
28602
29916
  # @return [Array<Google::Apis::ComputeAlpha::NetworkInterface>]
28603
29917
  attr_accessor :network_interfaces
28604
29918
 
28605
- # Sets the scheduling options for an Instance.
29919
+ # Sets the scheduling options for an Instance. NextID: 9
28606
29920
  # Corresponds to the JSON property `scheduling`
28607
29921
  # @return [Google::Apis::ComputeAlpha::Scheduling]
28608
29922
  attr_accessor :scheduling
@@ -29496,11 +30810,6 @@ module Google
29496
30810
  class StatefulPolicy
29497
30811
  include Google::Apis::Core::Hashable
29498
30812
 
29499
- # Configuration of all preserved resources.
29500
- # Corresponds to the JSON property `preservedResources`
29501
- # @return [Google::Apis::ComputeAlpha::StatefulPolicyPreservedResources]
29502
- attr_accessor :preserved_resources
29503
-
29504
30813
  # Configuration of preserved resources.
29505
30814
  # Corresponds to the JSON property `preservedState`
29506
30815
  # @return [Google::Apis::ComputeAlpha::StatefulPolicyPreservedState]
@@ -29512,56 +30821,16 @@ module Google
29512
30821
 
29513
30822
  # Update properties of this object
29514
30823
  def update!(**args)
29515
- @preserved_resources = args[:preserved_resources] if args.key?(:preserved_resources)
29516
30824
  @preserved_state = args[:preserved_state] if args.key?(:preserved_state)
29517
30825
  end
29518
30826
  end
29519
30827
 
29520
- #
29521
- class StatefulPolicyPreservedDisk
29522
- include Google::Apis::Core::Hashable
29523
-
29524
- # Device name of the disk to be preserved
29525
- # Corresponds to the JSON property `deviceName`
29526
- # @return [String]
29527
- attr_accessor :device_name
29528
-
29529
- def initialize(**args)
29530
- update!(**args)
29531
- end
29532
-
29533
- # Update properties of this object
29534
- def update!(**args)
29535
- @device_name = args[:device_name] if args.key?(:device_name)
29536
- end
29537
- end
29538
-
29539
- # Configuration of all preserved resources.
29540
- class StatefulPolicyPreservedResources
29541
- include Google::Apis::Core::Hashable
29542
-
29543
- # Disks created on the instances that will be preserved on instance delete,
29544
- # resize down, etc.
29545
- # Corresponds to the JSON property `disks`
29546
- # @return [Array<Google::Apis::ComputeAlpha::StatefulPolicyPreservedDisk>]
29547
- attr_accessor :disks
29548
-
29549
- def initialize(**args)
29550
- update!(**args)
29551
- end
29552
-
29553
- # Update properties of this object
29554
- def update!(**args)
29555
- @disks = args[:disks] if args.key?(:disks)
29556
- end
29557
- end
29558
-
29559
30828
  # Configuration of preserved resources.
29560
30829
  class StatefulPolicyPreservedState
29561
30830
  include Google::Apis::Core::Hashable
29562
30831
 
29563
30832
  # Disks created on the instances that will be preserved on instance delete,
29564
- # resize down, etc. This map is keyed with the device names of the disks.
30833
+ # update, etc. This map is keyed with the device names of the disks.
29565
30834
  # Corresponds to the JSON property `disks`
29566
30835
  # @return [Hash<String,Google::Apis::ComputeAlpha::StatefulPolicyPreservedStateDiskDevice>]
29567
30836
  attr_accessor :disks
@@ -29599,8 +30868,11 @@ module Google
29599
30868
  end
29600
30869
  end
29601
30870
 
29602
- # A Subnetwork resource. (== resource_for beta.subnetworks ==) (== resource_for
29603
- # v1.subnetworks ==)
30871
+ # Represents a Subnetwork resource.
30872
+ # A subnetwork (also known as a subnet) is a logical partition of a Virtual
30873
+ # Private Cloud network with one primary IP range and zero or more secondary IP
30874
+ # ranges. For more information, read Virtual Private Cloud (VPC) Network. (==
30875
+ # resource_for beta.subnetworks ==) (== resource_for v1.subnetworks ==)
29604
30876
  class Subnetwork
29605
30877
  include Google::Apis::Core::Hashable
29606
30878
 
@@ -29755,6 +31027,15 @@ module Google
29755
31027
  # @return [String]
29756
31028
  attr_accessor :private_ipv6_google_access
29757
31029
 
31030
+ # The service accounts can be used to selectively turn on Private IPv6 Google
31031
+ # Access only on the VMs primary service account matching the value. This value
31032
+ # only takes effect when PrivateIpv6GoogleAccess is
31033
+ # ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE_FOR_SERVICE_ACCOUNTS or
31034
+ # ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE_FOR_SERVICE_ACCOUNTS.
31035
+ # Corresponds to the JSON property `privateIpv6GoogleAccessServiceAccounts`
31036
+ # @return [Array<String>]
31037
+ attr_accessor :private_ipv6_google_access_service_accounts
31038
+
29758
31039
  # The purpose of the resource. This field can be either PRIVATE_RFC_1918 or
29759
31040
  # INTERNAL_HTTPS_LOAD_BALANCER. A subnetwork with purpose set to
29760
31041
  # INTERNAL_HTTPS_LOAD_BALANCER is a user-created subnetwork that is reserved for
@@ -29840,6 +31121,7 @@ module Google
29840
31121
  @network = args[:network] if args.key?(:network)
29841
31122
  @private_ip_google_access = args[:private_ip_google_access] if args.key?(:private_ip_google_access)
29842
31123
  @private_ipv6_google_access = args[:private_ipv6_google_access] if args.key?(:private_ipv6_google_access)
31124
+ @private_ipv6_google_access_service_accounts = args[:private_ipv6_google_access_service_accounts] if args.key?(:private_ipv6_google_access_service_accounts)
29843
31125
  @purpose = args[:purpose] if args.key?(:purpose)
29844
31126
  @range_type = args[:range_type] if args.key?(:range_type)
29845
31127
  @region = args[:region] if args.key?(:region)
@@ -30116,9 +31398,9 @@ module Google
30116
31398
  # @return [Float]
30117
31399
  attr_accessor :flow_sampling
30118
31400
 
30119
- # Can only be specified if VPC flow logging for this subnetwork is enabled.
30120
- # Configures whether metadata fields should be added to the reported VPC flow
30121
- # logs. Default is INCLUDE_ALL_METADATA.
31401
+ # Can only be specified if VPC flow logs for this subnetwork is enabled.
31402
+ # Configures whether all, none or a subset of metadata fields should be added to
31403
+ # the reported VPC flow logs. Default is INCLUDE_ALL_METADATA.
30122
31404
  # Corresponds to the JSON property `metadata`
30123
31405
  # @return [String]
30124
31406
  attr_accessor :metadata
@@ -31318,9 +32600,12 @@ module Google
31318
32600
  end
31319
32601
  end
31320
32602
 
31321
- # A TargetInstance resource. This resource defines an endpoint instance that
31322
- # terminates traffic of certain protocols. (== resource_for beta.targetInstances
31323
- # ==) (== resource_for v1.targetInstances ==)
32603
+ # Represents a Target Instance resource.
32604
+ # You can use a target instance to handle traffic for one or more forwarding
32605
+ # rules, which is ideal for forwarding protocol traffic that is managed by a
32606
+ # single source. For example, ESP, AH, TCP, or UDP. For more information, read
32607
+ # Target instances. (== resource_for beta.targetInstances ==) (== resource_for
32608
+ # v1.targetInstances ==)
31324
32609
  class TargetInstance
31325
32610
  include Google::Apis::Core::Hashable
31326
32611
 
@@ -32814,7 +34099,9 @@ module Google
32814
34099
  end
32815
34100
  end
32816
34101
 
32817
- # Represents a Target VPN gateway resource. (== resource_for beta.
34102
+ # Represents a Target VPN Gateway resource.
34103
+ # The target VPN gateway resource represents a Classic Cloud VPN gateway. For
34104
+ # more information, read the the Cloud VPN Overview. (== resource_for beta.
32818
34105
  # targetVpnGateways ==) (== resource_for v1.targetVpnGateways ==)
32819
34106
  class TargetVpnGateway
32820
34107
  include Google::Apis::Core::Hashable
@@ -35139,8 +36426,9 @@ module Google
35139
36426
  end
35140
36427
  end
35141
36428
 
35142
- # VPN tunnel resource. (== resource_for beta.vpnTunnels ==) (== resource_for v1.
35143
- # vpnTunnels ==)
36429
+ # Represents a Cloud VPN Tunnel resource.
36430
+ # For more information about VPN, read the the Cloud VPN Overview. (==
36431
+ # resource_for beta.vpnTunnels ==) (== resource_for v1.vpnTunnels ==)
35144
36432
  class VpnTunnel
35145
36433
  include Google::Apis::Core::Hashable
35146
36434
 
@@ -35913,8 +37201,11 @@ module Google
35913
37201
  end
35914
37202
  end
35915
37203
 
35916
- # A Zone resource. (== resource_for beta.zones ==) (== resource_for v1.zones ==)
35917
- # Next ID: 17
37204
+ # Represents a Zone resource.
37205
+ # A zone is a deployment area. These deployment areas are subsets of a region.
37206
+ # For example the zone us-east1-a is located in the us-east1 region. For more
37207
+ # information, read Regions and Zones. (== resource_for beta.zones ==) (==
37208
+ # resource_for v1.zones ==)
35918
37209
  class Zone
35919
37210
  include Google::Apis::Core::Hashable
35920
37211