google-api-client 0.30.2 → 0.30.3

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