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
@@ -5219,6 +5219,7 @@ module Google
5219
5219
  property :start_timestamp, as: 'startTimestamp'
5220
5220
  property :status, as: 'status'
5221
5221
  property :status_message, as: 'statusMessage'
5222
+ property :type, as: 'type'
5222
5223
  end
5223
5224
  end
5224
5225
 
@@ -9494,6 +9495,7 @@ module Google
9494
9495
  property :specific_reservation, as: 'specificReservation', class: Google::Apis::ComputeBeta::AllocationSpecificSkuReservation, decorator: Google::Apis::ComputeBeta::AllocationSpecificSkuReservation::Representation
9495
9496
 
9496
9497
  property :specific_reservation_required, as: 'specificReservationRequired'
9498
+ property :status, as: 'status'
9497
9499
  property :zone, as: 'zone'
9498
9500
  end
9499
9501
  end
@@ -396,8 +396,8 @@ module Google
396
396
  execute_or_queue_command(command, &block)
397
397
  end
398
398
 
399
- # Creates an address resource in the specified project using the data included
400
- # in the request.
399
+ # Creates an address resource in the specified project by using the data
400
+ # included in the request.
401
401
  # @param [String] project
402
402
  # Project ID for this request.
403
403
  # @param [String] region
@@ -4195,8 +4195,8 @@ module Google
4195
4195
  execute_or_queue_command(command, &block)
4196
4196
  end
4197
4197
 
4198
- # Creates an address resource in the specified project using the data included
4199
- # in the request.
4198
+ # Creates an address resource in the specified project by using the data
4199
+ # included in the request.
4200
4200
  # @param [String] project
4201
4201
  # Project ID for this request.
4202
4202
  # @param [Google::Apis::ComputeBeta::Address] address_object
@@ -14626,8 +14626,8 @@ module Google
14626
14626
  execute_or_queue_command(command, &block)
14627
14627
  end
14628
14628
 
14629
- # Disable a serivce resource (a.k.a service project) associated with this host
14630
- # project.
14629
+ # Disable a service resource (also known as service project) associated with
14630
+ # this host project.
14631
14631
  # @param [String] project
14632
14632
  # Project ID for this request.
14633
14633
  # @param [Google::Apis::ComputeBeta::ProjectsDisableXpnResourceRequest] projects_disable_xpn_resource_request_object
@@ -20661,6 +20661,46 @@ module Google
20661
20661
  execute_or_queue_command(command, &block)
20662
20662
  end
20663
20663
 
20664
+ # Gets the access control policy for a resource. May be empty if no such policy
20665
+ # or resource exists.
20666
+ # @param [String] project
20667
+ # Project ID for this request.
20668
+ # @param [String] region
20669
+ # The name of the region for this request.
20670
+ # @param [String] resource
20671
+ # Name or id of the resource for this request.
20672
+ # @param [String] fields
20673
+ # Selector specifying which fields to include in a partial response.
20674
+ # @param [String] quota_user
20675
+ # An opaque string that represents a user for quota purposes. Must not exceed 40
20676
+ # characters.
20677
+ # @param [String] user_ip
20678
+ # Deprecated. Please use quotaUser instead.
20679
+ # @param [Google::Apis::RequestOptions] options
20680
+ # Request-specific options
20681
+ #
20682
+ # @yield [result, err] Result & error if block supplied
20683
+ # @yieldparam result [Google::Apis::ComputeBeta::Policy] parsed result object
20684
+ # @yieldparam err [StandardError] error object if request failed
20685
+ #
20686
+ # @return [Google::Apis::ComputeBeta::Policy]
20687
+ #
20688
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
20689
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
20690
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
20691
+ def get_resource_policy_iam_policy(project, region, resource, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
20692
+ command = make_simple_command(:get, '{project}/regions/{region}/resourcePolicies/{resource}/getIamPolicy', options)
20693
+ command.response_representation = Google::Apis::ComputeBeta::Policy::Representation
20694
+ command.response_class = Google::Apis::ComputeBeta::Policy
20695
+ command.params['project'] = project unless project.nil?
20696
+ command.params['region'] = region unless region.nil?
20697
+ command.params['resource'] = resource unless resource.nil?
20698
+ command.query['fields'] = fields unless fields.nil?
20699
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
20700
+ command.query['userIp'] = user_ip unless user_ip.nil?
20701
+ execute_or_queue_command(command, &block)
20702
+ end
20703
+
20664
20704
  # Creates a new resource policy.
20665
20705
  # @param [String] project
20666
20706
  # Project ID for this request.
@@ -20787,6 +20827,49 @@ module Google
20787
20827
  execute_or_queue_command(command, &block)
20788
20828
  end
20789
20829
 
20830
+ # Sets the access control policy on the specified resource. Replaces any
20831
+ # existing policy.
20832
+ # @param [String] project
20833
+ # Project ID for this request.
20834
+ # @param [String] region
20835
+ # The name of the region for this request.
20836
+ # @param [String] resource
20837
+ # Name or id of the resource for this request.
20838
+ # @param [Google::Apis::ComputeBeta::RegionSetPolicyRequest] region_set_policy_request_object
20839
+ # @param [String] fields
20840
+ # Selector specifying which fields to include in a partial response.
20841
+ # @param [String] quota_user
20842
+ # An opaque string that represents a user for quota purposes. Must not exceed 40
20843
+ # characters.
20844
+ # @param [String] user_ip
20845
+ # Deprecated. Please use quotaUser instead.
20846
+ # @param [Google::Apis::RequestOptions] options
20847
+ # Request-specific options
20848
+ #
20849
+ # @yield [result, err] Result & error if block supplied
20850
+ # @yieldparam result [Google::Apis::ComputeBeta::Policy] parsed result object
20851
+ # @yieldparam err [StandardError] error object if request failed
20852
+ #
20853
+ # @return [Google::Apis::ComputeBeta::Policy]
20854
+ #
20855
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
20856
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
20857
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
20858
+ def set_resource_policy_iam_policy(project, region, resource, region_set_policy_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
20859
+ command = make_simple_command(:post, '{project}/regions/{region}/resourcePolicies/{resource}/setIamPolicy', options)
20860
+ command.request_representation = Google::Apis::ComputeBeta::RegionSetPolicyRequest::Representation
20861
+ command.request_object = region_set_policy_request_object
20862
+ command.response_representation = Google::Apis::ComputeBeta::Policy::Representation
20863
+ command.response_class = Google::Apis::ComputeBeta::Policy
20864
+ command.params['project'] = project unless project.nil?
20865
+ command.params['region'] = region unless region.nil?
20866
+ command.params['resource'] = resource unless resource.nil?
20867
+ command.query['fields'] = fields unless fields.nil?
20868
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
20869
+ command.query['userIp'] = user_ip unless user_ip.nil?
20870
+ execute_or_queue_command(command, &block)
20871
+ end
20872
+
20790
20873
  # Returns permissions that a caller has on the specified resource.
20791
20874
  # @param [String] project
20792
20875
  # Project ID for this request.
@@ -21376,6 +21459,9 @@ module Google
21376
21459
  end
21377
21460
 
21378
21461
  # Updates the specified Router resource with the data included in the request.
21462
+ # This method conforms to PUT semantics, which requests that the state of the
21463
+ # target resource be created or replaced with the state defined by the
21464
+ # representation enclosed in the request message payload.
21379
21465
  # @param [String] project
21380
21466
  # Project ID for this request.
21381
21467
  # @param [String] region
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://developers.google.com/compute/docs/reference/latest/
26
26
  module ComputeV1
27
27
  VERSION = 'V1'
28
- REVISION = '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
 
@@ -463,8 +467,8 @@ module Google
463
467
  attr_accessor :kind
464
468
 
465
469
  # The name of this access configuration. The default and recommended name is
466
- # External NAT but you can use any arbitrary string you would like. For example,
467
- # My external IP or Network Access.
470
+ # External NAT, but you can use any arbitrary string, such as My external IP or
471
+ # Network Access.
468
472
  # Corresponds to the JSON property `name`
469
473
  # @return [String]
470
474
  attr_accessor :name
@@ -489,13 +493,13 @@ module Google
489
493
  # @return [String]
490
494
  attr_accessor :network_tier
491
495
 
492
- # The DNS domain name for the public PTR record. This field can only be set when
493
- # the set_public_ptr field is enabled.
496
+ # The DNS domain name for the public PTR record. You can set this field only if
497
+ # the `setPublicPtr` field is enabled.
494
498
  # Corresponds to the JSON property `publicPtrDomainName`
495
499
  # @return [String]
496
500
  attr_accessor :public_ptr_domain_name
497
501
 
498
- # Specifies whether a public DNS ?PTR? record should be created to map the
502
+ # Specifies whether a public DNS 'PTR' record should be created to map the
499
503
  # external IP address of the instance to a DNS domain name.
500
504
  # Corresponds to the JSON property `setPublicPtr`
501
505
  # @return [Boolean]
@@ -523,9 +527,21 @@ module Google
523
527
  end
524
528
  end
525
529
 
526
- # A reserved address resource. (== resource_for beta.addresses ==) (==
527
- # resource_for v1.addresses ==) (== resource_for beta.globalAddresses ==) (==
528
- # resource_for v1.globalAddresses ==)
530
+ # Represents an IP Address resource.
531
+ # An address resource represents a regional internal IP address. Regional
532
+ # internal IP addresses are RFC 1918 addresses that come from either a primary
533
+ # or secondary IP range of a subnet in a VPC network. Regional external IP
534
+ # addresses can be assigned to GCP VM instances, Cloud VPN gateways, regional
535
+ # external forwarding rules for network load balancers (in either Standard or
536
+ # Premium Tier), and regional external forwarding rules for HTTP(S), SSL Proxy,
537
+ # and TCP Proxy load balancers in Standard Tier. For more information, read IP
538
+ # addresses.
539
+ # A globalAddresses resource represent a global external IP address. Global
540
+ # external IP addresses are IPv4 or IPv6 addresses. They can only be assigned to
541
+ # global forwarding rules for HTTP(S), SSL Proxy, or TCP Proxy load balancers in
542
+ # Premium Tier. For more information, read Global resources. (== resource_for
543
+ # beta.addresses ==) (== resource_for v1.addresses ==) (== resource_for beta.
544
+ # globalAddresses ==) (== resource_for v1.globalAddresses ==)
529
545
  class Address
530
546
  include Google::Apis::Core::Hashable
531
547
 
@@ -545,8 +561,8 @@ module Google
545
561
  # @return [String]
546
562
  attr_accessor :creation_timestamp
547
563
 
548
- # An optional description of this resource. Provide this property when you
549
- # create the resource.
564
+ # An optional description of this resource. Provide this field when you create
565
+ # the resource.
550
566
  # Corresponds to the JSON property `description`
551
567
  # @return [String]
552
568
  attr_accessor :description
@@ -557,7 +573,7 @@ module Google
557
573
  # @return [Fixnum]
558
574
  attr_accessor :id
559
575
 
560
- # The IP Version that will be used by this address. Valid options are IPV4 or
576
+ # The IP version that will be used by this address. Valid options are IPV4 or
561
577
  # IPV6. This can only be specified for a global address.
562
578
  # Corresponds to the JSON property `ipVersion`
563
579
  # @return [String]
@@ -571,25 +587,25 @@ module Google
571
587
  # Name of the resource. Provided by the client when the resource is created. The
572
588
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
573
589
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
574
- # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
575
- # and all following characters must be a dash, lowercase letter, or digit,
576
- # except the last character, which cannot be a dash.
590
+ # z0-9]*[a-z0-9])?`. The first character must be a lowercase letter, and all
591
+ # following characters (except for the last character) must be a dash, lowercase
592
+ # letter, or digit. The last character must be a lowercase letter or digit.
577
593
  # Corresponds to the JSON property `name`
578
594
  # @return [String]
579
595
  attr_accessor :name
580
596
 
581
597
  # The URL of the network in which to reserve the address. This field can only be
582
- # used with INTERNAL type with VPC_PEERING purpose.
598
+ # used with INTERNAL type with the VPC_PEERING purpose.
583
599
  # Corresponds to the JSON property `network`
584
600
  # @return [String]
585
601
  attr_accessor :network
586
602
 
587
- # This signifies the networking tier used for configuring this Address and can
588
- # only take the following values: PREMIUM, STANDARD. Global forwarding rules can
589
- # only be Premium Tier. Regional forwarding rules can be either Premium or
603
+ # This signifies the networking tier used for configuring this address and can
604
+ # only take the following values: PREMIUM or STANDARD. Global forwarding rules
605
+ # can only be Premium Tier. Regional forwarding rules can be either Premium or
590
606
  # Standard Tier. Standard Tier addresses applied to regional forwarding rules
591
607
  # can be used with any external load balancer. Regional forwarding rules in
592
- # Premium Tier can only be used with a Network load balancer.
608
+ # Premium Tier can only be used with a network load balancer.
593
609
  # If this field is not specified, it is assumed to be PREMIUM.
594
610
  # Corresponds to the JSON property `networkTier`
595
611
  # @return [String]
@@ -600,14 +616,20 @@ module Google
600
616
  # @return [Fixnum]
601
617
  attr_accessor :prefix_length
602
618
 
603
- # The purpose of resource, only used with INTERNAL type.
619
+ # The purpose of this resource, which can be one of the following values:
620
+ # - `GCE_ENDPOINT` for addresses that are used by VM instances, alias IP ranges,
621
+ # internal load balancers, and similar resources.
622
+ # - `DNS_RESOLVER` for a DNS resolver address in a subnetwork
623
+ # - `VPC_PEERING` for addresses that are reserved for VPC peer networks.
624
+ # - `NAT_AUTO` for addresses that are external IP addresses automatically
625
+ # reserved for Cloud NAT.
604
626
  # Corresponds to the JSON property `purpose`
605
627
  # @return [String]
606
628
  attr_accessor :purpose
607
629
 
608
- # [Output Only] URL of the region where the regional address resides. This field
609
- # is not applicable to global addresses. You must specify this field as part of
610
- # the HTTP request URL. You cannot set this field in the request body.
630
+ # [Output Only] The URL of the region where the regional address resides. This
631
+ # field is not applicable to global addresses. You must specify this field as
632
+ # part of the HTTP request URL.
611
633
  # Corresponds to the JSON property `region`
612
634
  # @return [String]
613
635
  attr_accessor :region
@@ -628,7 +650,7 @@ module Google
628
650
 
629
651
  # The URL of the subnetwork in which to reserve the address. If an IP address is
630
652
  # specified, it must be within the subnetwork's IP range. This field can only be
631
- # used with INTERNAL type with GCE_ENDPOINT/DNS_RESOLVER purposes.
653
+ # used with INTERNAL type with a GCE_ENDPOINT or DNS_RESOLVER purpose.
632
654
  # Corresponds to the JSON property `subnetwork`
633
655
  # @return [String]
634
656
  attr_accessor :subnetwork
@@ -995,18 +1017,17 @@ module Google
995
1017
  class AliasIpRange
996
1018
  include Google::Apis::Core::Hashable
997
1019
 
998
- # The IP CIDR range represented by this alias IP range. This IP CIDR range must
1020
+ # The IP alias ranges to allocate for this interface. This IP CIDR range must
999
1021
  # belong to the specified subnetwork and cannot contain IP addresses reserved by
1000
1022
  # system or used by other network interfaces. This range may be a single IP
1001
- # address (e.g. 10.2.3.4), a netmask (e.g. /24) or a CIDR format string (e.g. 10.
1002
- # 1.2.0/24).
1023
+ # address (such as 10.2.3.4), a netmask (such as /24) or a CIDR-formatted string
1024
+ # (such as 10.1.2.0/24).
1003
1025
  # Corresponds to the JSON property `ipCidrRange`
1004
1026
  # @return [String]
1005
1027
  attr_accessor :ip_cidr_range
1006
1028
 
1007
- # Optional subnetwork secondary range name specifying the secondary range from
1008
- # which to allocate the IP CIDR range for this alias IP range. If left
1009
- # unspecified, the primary range of the subnetwork will be used.
1029
+ # The name of a subnetwork secondary IP range from which to allocate an IP alias
1030
+ # range. If not specified, the primary range of the subnetwork is used.
1010
1031
  # Corresponds to the JSON property `subnetworkRangeName`
1011
1032
  # @return [String]
1012
1033
  attr_accessor :subnetwork_range_name
@@ -1022,6 +1043,104 @@ module Google
1022
1043
  end
1023
1044
  end
1024
1045
 
1046
+ #
1047
+ class AllocationSpecificSkuAllocationAllocatedInstancePropertiesReservedDisk
1048
+ include Google::Apis::Core::Hashable
1049
+
1050
+ # Specifies the size of the disk in base-2 GB.
1051
+ # Corresponds to the JSON property `diskSizeGb`
1052
+ # @return [Fixnum]
1053
+ attr_accessor :disk_size_gb
1054
+
1055
+ # Specifies the disk interface to use for attaching this disk, which is either
1056
+ # SCSI or NVME. The default is SCSI. For performance characteristics of SCSI
1057
+ # over NVMe, see Local SSD performance.
1058
+ # Corresponds to the JSON property `interface`
1059
+ # @return [String]
1060
+ attr_accessor :interface
1061
+
1062
+ def initialize(**args)
1063
+ update!(**args)
1064
+ end
1065
+
1066
+ # Update properties of this object
1067
+ def update!(**args)
1068
+ @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
1069
+ @interface = args[:interface] if args.key?(:interface)
1070
+ end
1071
+ end
1072
+
1073
+ # Properties of the SKU instances being reserved.
1074
+ class AllocationSpecificSkuAllocationReservedInstanceProperties
1075
+ include Google::Apis::Core::Hashable
1076
+
1077
+ # Specifies accelerator type and count.
1078
+ # Corresponds to the JSON property `guestAccelerators`
1079
+ # @return [Array<Google::Apis::ComputeV1::AcceleratorConfig>]
1080
+ attr_accessor :guest_accelerators
1081
+
1082
+ # Specifies amount of local ssd to reserve with each instance. The type of disk
1083
+ # is local-ssd.
1084
+ # Corresponds to the JSON property `localSsds`
1085
+ # @return [Array<Google::Apis::ComputeV1::AllocationSpecificSkuAllocationAllocatedInstancePropertiesReservedDisk>]
1086
+ attr_accessor :local_ssds
1087
+
1088
+ # Specifies type of machine (name only) which has fixed number of vCPUs and
1089
+ # fixed amount of memory. This also includes specifying custom machine type
1090
+ # following custom-NUMBER_OF_CPUS-AMOUNT_OF_MEMORY pattern.
1091
+ # Corresponds to the JSON property `machineType`
1092
+ # @return [String]
1093
+ attr_accessor :machine_type
1094
+
1095
+ # Minimum cpu platform the reservation.
1096
+ # Corresponds to the JSON property `minCpuPlatform`
1097
+ # @return [String]
1098
+ attr_accessor :min_cpu_platform
1099
+
1100
+ def initialize(**args)
1101
+ update!(**args)
1102
+ end
1103
+
1104
+ # Update properties of this object
1105
+ def update!(**args)
1106
+ @guest_accelerators = args[:guest_accelerators] if args.key?(:guest_accelerators)
1107
+ @local_ssds = args[:local_ssds] if args.key?(:local_ssds)
1108
+ @machine_type = args[:machine_type] if args.key?(:machine_type)
1109
+ @min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
1110
+ end
1111
+ end
1112
+
1113
+ # This reservation type allows to pre allocate specific instance configuration.
1114
+ class AllocationSpecificSkuReservation
1115
+ include Google::Apis::Core::Hashable
1116
+
1117
+ # Specifies number of resources that are allocated.
1118
+ # Corresponds to the JSON property `count`
1119
+ # @return [Fixnum]
1120
+ attr_accessor :count
1121
+
1122
+ # [OutputOnly] Indicates how many resource are in use.
1123
+ # Corresponds to the JSON property `inUseCount`
1124
+ # @return [Fixnum]
1125
+ attr_accessor :in_use_count
1126
+
1127
+ # Properties of the SKU instances being reserved.
1128
+ # Corresponds to the JSON property `instanceProperties`
1129
+ # @return [Google::Apis::ComputeV1::AllocationSpecificSkuAllocationReservedInstanceProperties]
1130
+ attr_accessor :instance_properties
1131
+
1132
+ def initialize(**args)
1133
+ update!(**args)
1134
+ end
1135
+
1136
+ # Update properties of this object
1137
+ def update!(**args)
1138
+ @count = args[:count] if args.key?(:count)
1139
+ @in_use_count = args[:in_use_count] if args.key?(:in_use_count)
1140
+ @instance_properties = args[:instance_properties] if args.key?(:instance_properties)
1141
+ end
1142
+ end
1143
+
1025
1144
  # An instance-attached disk resource.
1026
1145
  class AttachedDisk
1027
1146
  include Google::Apis::Core::Hashable
@@ -1083,7 +1202,8 @@ module Google
1083
1202
  # SCSI or NVME. The default is SCSI. Persistent disks must always use SCSI and
1084
1203
  # the request will fail if you attempt to attach a persistent disk in any other
1085
1204
  # format than SCSI. Local SSDs can use either NVME or SCSI. For performance
1086
- # characteristics of SCSI over NVMe, see Local SSD performance.
1205
+ # characteristics of SCSI over NVMe, see Local SSD performance. TODO(b/131765817)
1206
+ # : Update documentation when NVME is supported.
1087
1207
  # Corresponds to the JSON property `interface`
1088
1208
  # @return [String]
1089
1209
  attr_accessor :interface
@@ -1191,6 +1311,13 @@ module Google
1191
1311
  # @return [Hash<String,String>]
1192
1312
  attr_accessor :labels
1193
1313
 
1314
+ # Resource policies applied to this disk for automatic snapshot creations.
1315
+ # Specified using the full or partial URL. For instance template, specify only
1316
+ # the resource policy name.
1317
+ # Corresponds to the JSON property `resourcePolicies`
1318
+ # @return [Array<String>]
1319
+ attr_accessor :resource_policies
1320
+
1194
1321
  # The source image to create this disk. When creating a new instance, one of
1195
1322
  # initializeParams.sourceImage or disks.source is required except for local SSD.
1196
1323
  # To create a disk with one of the public operating system images, specify the
@@ -1243,6 +1370,7 @@ module Google
1243
1370
  @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
1244
1371
  @disk_type = args[:disk_type] if args.key?(:disk_type)
1245
1372
  @labels = args[:labels] if args.key?(:labels)
1373
+ @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
1246
1374
  @source_image = args[:source_image] if args.key?(:source_image)
1247
1375
  @source_image_encryption_key = args[:source_image_encryption_key] if args.key?(:source_image_encryption_key)
1248
1376
  @source_snapshot = args[:source_snapshot] if args.key?(:source_snapshot)
@@ -1348,12 +1476,15 @@ module Google
1348
1476
  end
1349
1477
  end
1350
1478
 
1351
- # Represents an Autoscaler resource. Autoscalers allow you to automatically
1352
- # scale virtual machine instances in managed instance groups according to an
1353
- # autoscaling policy that you define. For more information, read Autoscaling
1354
- # Groups of Instances. (== resource_for beta.autoscalers ==) (== resource_for v1.
1355
- # autoscalers ==) (== resource_for beta.regionAutoscalers ==) (== resource_for
1356
- # v1.regionAutoscalers ==)
1479
+ # Represents an Autoscaler resource.
1480
+ # Use autoscalers to automatically add or delete instances from a managed
1481
+ # instance group according to your defined autoscaling policy. For more
1482
+ # information, read Autoscaling Groups of Instances.
1483
+ # For zonal managed instance groups resource, use the autoscaler resource.
1484
+ # For regional managed instance groups, use the regionAutoscalers resource. (==
1485
+ # resource_for beta.autoscalers ==) (== resource_for v1.autoscalers ==) (==
1486
+ # resource_for beta.regionAutoscalers ==) (== resource_for v1.regionAutoscalers =
1487
+ # =)
1357
1488
  class Autoscaler
1358
1489
  include Google::Apis::Core::Hashable
1359
1490
 
@@ -3072,16 +3203,12 @@ module Google
3072
3203
  end
3073
3204
  end
3074
3205
 
3075
- # Represents a Commitment resource. Creating a Commitment resource means that
3076
- # you are purchasing a committed use contract with an explicit start and end
3077
- # time. You can create commitments based on vCPUs and memory usage and receive
3078
- # discounted rates. For full details, read Signing Up for Committed Use
3079
- # Discounts.
3080
- # Committed use discounts are subject to Google Cloud Platform's Service
3081
- # Specific Terms. By purchasing a committed use discount, you agree to these
3082
- # terms. Committed use discounts will not renew, so you must purchase a new
3083
- # commitment to continue receiving discounts. (== resource_for beta.commitments =
3084
- # =) (== resource_for v1.commitments ==)
3206
+ # Represents a regional Commitment resource.
3207
+ # Creating a commitment resource means that you are purchasing a committed use
3208
+ # contract with an explicit start and end time. You can create commitments based
3209
+ # on vCPUs and memory usage and receive discounted rates. For full details, read
3210
+ # Signing Up for Committed Use Discounts. (== resource_for beta.
3211
+ # regionCommitments ==) (== resource_for v1.regionCommitments ==)
3085
3212
  class Commitment
3086
3213
  include Google::Apis::Core::Hashable
3087
3214
 
@@ -3134,6 +3261,11 @@ module Google
3134
3261
  # @return [String]
3135
3262
  attr_accessor :region
3136
3263
 
3264
+ # List of reservations for this commitment.
3265
+ # Corresponds to the JSON property `reservations`
3266
+ # @return [Array<Google::Apis::ComputeV1::Reservation>]
3267
+ attr_accessor :reservations
3268
+
3137
3269
  # A list of commitment amounts for particular resources. Note that VCPU and
3138
3270
  # MEMORY resource commitments must occur together.
3139
3271
  # Corresponds to the JSON property `resources`
@@ -3176,6 +3308,7 @@ module Google
3176
3308
  @name = args[:name] if args.key?(:name)
3177
3309
  @plan = args[:plan] if args.key?(:plan)
3178
3310
  @region = args[:region] if args.key?(:region)
3311
+ @reservations = args[:reservations] if args.key?(:reservations)
3179
3312
  @resources = args[:resources] if args.key?(:resources)
3180
3313
  @self_link = args[:self_link] if args.key?(:self_link)
3181
3314
  @start_timestamp = args[:start_timestamp] if args.key?(:start_timestamp)
@@ -3690,7 +3823,16 @@ module Google
3690
3823
  end
3691
3824
  end
3692
3825
 
3693
- # A Disk resource. (== resource_for beta.disks ==) (== resource_for v1.disks ==)
3826
+ # Represents a Persistent Disk resource.
3827
+ # Persistent disks are required for running your VM instances. Create both boot
3828
+ # and non-boot (data) persistent disks. For more information, read Persistent
3829
+ # Disks. For more storage options, read Storage options.
3830
+ # The disks resource represents a zonal persistent disk. For more information,
3831
+ # read Zonal persistent disks.
3832
+ # The regionDisks resource represents a regional persistent disk. For more
3833
+ # information, read Regional resources. (== resource_for beta.disks ==) (==
3834
+ # resource_for v1.disks ==) (== resource_for v1.regionDisks ==) (== resource_for
3835
+ # beta.regionDisks ==)
3694
3836
  class Disk
3695
3837
  include Google::Apis::Core::Hashable
3696
3838
 
@@ -3802,6 +3944,11 @@ module Google
3802
3944
  # @return [Array<String>]
3803
3945
  attr_accessor :replica_zones
3804
3946
 
3947
+ # Resource policies applied to this disk for automatic snapshot creations.
3948
+ # Corresponds to the JSON property `resourcePolicies`
3949
+ # @return [Array<String>]
3950
+ attr_accessor :resource_policies
3951
+
3805
3952
  # [Output Only] Server-defined fully-qualified URL for this resource.
3806
3953
  # Corresponds to the JSON property `selfLink`
3807
3954
  # @return [String]
@@ -3923,6 +4070,7 @@ module Google
3923
4070
  @physical_block_size_bytes = args[:physical_block_size_bytes] if args.key?(:physical_block_size_bytes)
3924
4071
  @region = args[:region] if args.key?(:region)
3925
4072
  @replica_zones = args[:replica_zones] if args.key?(:replica_zones)
4073
+ @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
3926
4074
  @self_link = args[:self_link] if args.key?(:self_link)
3927
4075
  @size_gb = args[:size_gb] if args.key?(:size_gb)
3928
4076
  @source_image = args[:source_image] if args.key?(:source_image)
@@ -4259,8 +4407,15 @@ module Google
4259
4407
  end
4260
4408
  end
4261
4409
 
4262
- # A DiskType resource. (== resource_for beta.diskTypes ==) (== resource_for v1.
4263
- # diskTypes ==)
4410
+ # Represents a Disk Type resource.
4411
+ # You can choose from a variety of disk types based on your needs. For more
4412
+ # information, read Storage options.
4413
+ # The diskTypes resource represents disk types for a zonal persistent disk. For
4414
+ # more information, read Zonal persistent disks.
4415
+ # The regionDiskTypes resource represents disk types for a regional persistent
4416
+ # disk. For more information, read Regional persistent disks. (== resource_for
4417
+ # beta.diskTypes ==) (== resource_for v1.diskTypes ==) (== resource_for v1.
4418
+ # regionDiskTypes ==) (== resource_for beta.regionDiskTypes ==)
4264
4419
  class DiskType
4265
4420
  include Google::Apis::Core::Hashable
4266
4421
 
@@ -4670,6 +4825,44 @@ module Google
4670
4825
  end
4671
4826
  end
4672
4827
 
4828
+ #
4829
+ class DisksAddResourcePoliciesRequest
4830
+ include Google::Apis::Core::Hashable
4831
+
4832
+ # Resource policies to be added to this disk.
4833
+ # Corresponds to the JSON property `resourcePolicies`
4834
+ # @return [Array<String>]
4835
+ attr_accessor :resource_policies
4836
+
4837
+ def initialize(**args)
4838
+ update!(**args)
4839
+ end
4840
+
4841
+ # Update properties of this object
4842
+ def update!(**args)
4843
+ @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
4844
+ end
4845
+ end
4846
+
4847
+ #
4848
+ class DisksRemoveResourcePoliciesRequest
4849
+ include Google::Apis::Core::Hashable
4850
+
4851
+ # Resource policies to be removed from this disk.
4852
+ # Corresponds to the JSON property `resourcePolicies`
4853
+ # @return [Array<String>]
4854
+ attr_accessor :resource_policies
4855
+
4856
+ def initialize(**args)
4857
+ update!(**args)
4858
+ end
4859
+
4860
+ # Update properties of this object
4861
+ def update!(**args)
4862
+ @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
4863
+ end
4864
+ end
4865
+
4673
4866
  #
4674
4867
  class DisksResizeRequest
4675
4868
  include Google::Apis::Core::Hashable
@@ -4864,7 +5057,9 @@ module Google
4864
5057
  end
4865
5058
  end
4866
5059
 
4867
- # Represents a Firewall resource.
5060
+ # Represents a Firewall Rule resource.
5061
+ # Firewall rules allow or deny ingress traffic to, and egress traffic from your
5062
+ # instances. For more information, read Firewall rules.
4868
5063
  class Firewall
4869
5064
  include Google::Apis::Core::Hashable
4870
5065
 
@@ -4885,30 +5080,30 @@ module Google
4885
5080
  # @return [Array<Google::Apis::ComputeV1::Firewall::Denied>]
4886
5081
  attr_accessor :denied
4887
5082
 
4888
- # An optional description of this resource. Provide this property when you
4889
- # create the resource.
5083
+ # An optional description of this resource. Provide this field when you create
5084
+ # the resource.
4890
5085
  # Corresponds to the JSON property `description`
4891
5086
  # @return [String]
4892
5087
  attr_accessor :description
4893
5088
 
4894
- # If destination ranges are specified, the firewall will apply only to traffic
5089
+ # If destination ranges are specified, the firewall rule applies only to traffic
4895
5090
  # that has destination IP address in these ranges. These ranges must be
4896
5091
  # expressed in CIDR format. Only IPv4 is supported.
4897
5092
  # Corresponds to the JSON property `destinationRanges`
4898
5093
  # @return [Array<String>]
4899
5094
  attr_accessor :destination_ranges
4900
5095
 
4901
- # Direction of traffic to which this firewall applies; default is INGRESS. Note:
4902
- # For INGRESS traffic, it is NOT supported to specify destinationRanges; For
4903
- # EGRESS traffic, it is NOT supported to specify sourceRanges OR sourceTags.
5096
+ # Direction of traffic to which this firewall applies, either `INGRESS` or `
5097
+ # EGRESS`. The default is `INGRESS`. For `INGRESS` traffic, you cannot specify
5098
+ # the destinationRanges field, and for `EGRESS` traffic, you cannot specify the
5099
+ # sourceRanges or sourceTags fields.
4904
5100
  # Corresponds to the JSON property `direction`
4905
5101
  # @return [String]
4906
5102
  attr_accessor :direction
4907
5103
 
4908
- # Denotes whether the firewall rule is disabled, i.e not applied to the network
4909
- # it is associated with. When set to true, the firewall rule is not enforced and
4910
- # the network behaves as if it did not exist. If this is unspecified, the
4911
- # firewall rule will be enabled.
5104
+ # Denotes whether the firewall rule is disabled. When set to true, the firewall
5105
+ # rule is not enforced and the network behaves as if it did not exist. If this
5106
+ # is unspecified, the firewall rule will be enabled.
4912
5107
  # Corresponds to the JSON property `disabled`
4913
5108
  # @return [Boolean]
4914
5109
  attr_accessor :disabled
@@ -4933,9 +5128,9 @@ module Google
4933
5128
  # Name of the resource; provided by the client when the resource is created. The
4934
5129
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
4935
5130
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
4936
- # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
4937
- # and all following characters must be a dash, lowercase letter, or digit,
4938
- # except the last character, which cannot be a dash.
5131
+ # z0-9]*[a-z0-9])?. The first character must be a lowercase letter, and all
5132
+ # following characters (except for the last character) must be a dash, lowercase
5133
+ # letter, or digit. The last character must be a lowercase letter or digit.
4939
5134
  # Corresponds to the JSON property `name`
4940
5135
  # @return [String]
4941
5136
  attr_accessor :name
@@ -4943,8 +5138,8 @@ module Google
4943
5138
  # URL of the network resource for this firewall rule. If not specified when
4944
5139
  # creating a firewall rule, the default network is used:
4945
5140
  # global/networks/default
4946
- # If you choose to specify this property, you can specify the network as a full
4947
- # or partial URL. For example, the following are all valid URLs:
5141
+ # If you choose to specify this field, you can specify the network as a full or
5142
+ # partial URL. For example, the following are all valid URLs:
4948
5143
  # - https://www.googleapis.com/compute/v1/projects/myproject/global/networks/my-
4949
5144
  # network
4950
5145
  # - projects/myproject/global/networks/my-network
@@ -4953,11 +5148,14 @@ module Google
4953
5148
  # @return [String]
4954
5149
  attr_accessor :network
4955
5150
 
4956
- # Priority for this rule. This is an integer between 0 and 65535, both inclusive.
4957
- # When not specified, the value assumed is 1000. Relative priorities determine
4958
- # precedence of conflicting rules. Lower value of priority implies higher
4959
- # precedence (eg, a rule with priority 0 has higher precedence than a rule with
4960
- # priority 1). DENY rules take precedence over ALLOW rules having equal priority.
5151
+ # Priority for this rule. This is an integer between `0` and `65535`, both
5152
+ # inclusive. The default value is `1000`. Relative priorities determine which
5153
+ # rule takes effect if multiple rules apply. Lower values indicate higher
5154
+ # priority. For example, a rule with priority `0` has higher precedence than a
5155
+ # rule with priority `1`. DENY rules take precedence over ALLOW rules if they
5156
+ # have equal priority. Note that VPC networks have implied rules with a priority
5157
+ # of `65535`. To avoid conflicts with the implied rules, use a priority number
5158
+ # less than `65535`.
4961
5159
  # Corresponds to the JSON property `priority`
4962
5160
  # @return [Fixnum]
4963
5161
  attr_accessor :priority
@@ -4967,26 +5165,26 @@ module Google
4967
5165
  # @return [String]
4968
5166
  attr_accessor :self_link
4969
5167
 
4970
- # If source ranges are specified, the firewall will apply only to traffic that
4971
- # has source IP address in these ranges. These ranges must be expressed in CIDR
4972
- # format. One or both of sourceRanges and sourceTags may be set. If both
4973
- # properties are set, the firewall will apply to traffic that has source IP
4974
- # address within sourceRanges OR the source IP that belongs to a tag listed in
4975
- # the sourceTags property. The connection does not need to match both properties
4976
- # for the firewall to apply. Only IPv4 is supported.
5168
+ # If source ranges are specified, the firewall rule applies only to traffic that
5169
+ # has a source IP address in these ranges. These ranges must be expressed in
5170
+ # CIDR format. One or both of sourceRanges and sourceTags may be set. If both
5171
+ # fields are set, the rule applies to traffic that has a source IP address
5172
+ # within sourceRanges OR a source IP from a resource with a matching tag listed
5173
+ # in the sourceTags field. The connection does not need to match both fields for
5174
+ # the rule to apply. Only IPv4 is supported.
4977
5175
  # Corresponds to the JSON property `sourceRanges`
4978
5176
  # @return [Array<String>]
4979
5177
  attr_accessor :source_ranges
4980
5178
 
4981
- # If source service accounts are specified, the firewall will apply only to
5179
+ # If source service accounts are specified, the firewall rules apply only to
4982
5180
  # traffic originating from an instance with a service account in this list.
4983
5181
  # Source service accounts cannot be used to control traffic to an instance's
4984
5182
  # external IP address because service accounts are associated with an instance,
4985
5183
  # not an IP address. sourceRanges can be set at the same time as
4986
- # sourceServiceAccounts. If both are set, the firewall will apply to traffic
4987
- # that has source IP address within sourceRanges OR the source IP belongs to an
4988
- # instance with service account listed in sourceServiceAccount. The connection
4989
- # does not need to match both properties for the firewall to apply.
5184
+ # sourceServiceAccounts. If both are set, the firewall applies to traffic that
5185
+ # has a source IP address within the sourceRanges OR a source IP that belongs to
5186
+ # an instance with service account listed in sourceServiceAccount. The
5187
+ # connection does not need to match both fields for the firewall to apply.
4990
5188
  # sourceServiceAccounts cannot be used at the same time as sourceTags or
4991
5189
  # targetTags.
4992
5190
  # Corresponds to the JSON property `sourceServiceAccounts`
@@ -4999,10 +5197,10 @@ module Google
4999
5197
  # traffic to an instance's external IP address, it only applies to traffic
5000
5198
  # between instances in the same virtual network. Because tags are associated
5001
5199
  # with instances, not IP addresses. One or both of sourceRanges and sourceTags
5002
- # may be set. If both properties are set, the firewall will apply to traffic
5003
- # that has source IP address within sourceRanges OR the source IP that belongs
5004
- # to a tag listed in the sourceTags property. The connection does not need to
5005
- # match both properties for the firewall to apply.
5200
+ # may be set. If both fields are set, the firewall applies to traffic that has a
5201
+ # source IP address within sourceRanges OR a source IP from a resource with a
5202
+ # matching tag listed in the sourceTags field. The connection does not need to
5203
+ # match both fields for the firewall to apply.
5006
5204
  # Corresponds to the JSON property `sourceTags`
5007
5205
  # @return [Array<String>]
5008
5206
  attr_accessor :source_tags
@@ -5057,15 +5255,16 @@ module Google
5057
5255
 
5058
5256
  # The IP protocol to which this rule applies. The protocol type is required when
5059
5257
  # creating a firewall rule. This value can either be one of the following well
5060
- # known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP
5258
+ # known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp) or the IP
5061
5259
  # protocol number.
5062
5260
  # Corresponds to the JSON property `IPProtocol`
5063
5261
  # @return [String]
5064
5262
  attr_accessor :ip_protocol
5065
5263
 
5066
5264
  # An optional list of ports to which this rule applies. This field is only
5067
- # applicable for UDP or TCP protocol. Each entry must be either an integer or a
5068
- # range. If not specified, this rule applies to connections through any port.
5265
+ # applicable for the UDP or TCP protocol. Each entry must be either an integer
5266
+ # or a range. If not specified, this rule applies to connections through any
5267
+ # port.
5069
5268
  # Example inputs include: ["22"], ["80","443"], and ["12345-12349"].
5070
5269
  # Corresponds to the JSON property `ports`
5071
5270
  # @return [Array<String>]
@@ -5088,15 +5287,16 @@ module Google
5088
5287
 
5089
5288
  # The IP protocol to which this rule applies. The protocol type is required when
5090
5289
  # creating a firewall rule. This value can either be one of the following well
5091
- # known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP
5290
+ # known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp) or the IP
5092
5291
  # protocol number.
5093
5292
  # Corresponds to the JSON property `IPProtocol`
5094
5293
  # @return [String]
5095
5294
  attr_accessor :ip_protocol
5096
5295
 
5097
5296
  # An optional list of ports to which this rule applies. This field is only
5098
- # applicable for UDP or TCP protocol. Each entry must be either an integer or a
5099
- # range. If not specified, this rule applies to connections through any port.
5297
+ # applicable for the UDP or TCP protocol. Each entry must be either an integer
5298
+ # or a range. If not specified, this rule applies to connections through any
5299
+ # port.
5100
5300
  # Example inputs include: ["22"], ["80","443"], and ["12345-12349"].
5101
5301
  # Corresponds to the JSON property `ports`
5102
5302
  # @return [Array<String>]
@@ -5968,6 +6168,107 @@ module Google
5968
6168
  end
5969
6169
  end
5970
6170
 
6171
+ # A guest attributes entry.
6172
+ class GuestAttributes
6173
+ include Google::Apis::Core::Hashable
6174
+
6175
+ # [Output Only] Type of the resource. Always compute#guestAttributes for guest
6176
+ # attributes entry.
6177
+ # Corresponds to the JSON property `kind`
6178
+ # @return [String]
6179
+ attr_accessor :kind
6180
+
6181
+ # The path to be queried. This can be the default namespace ('/') or a nested
6182
+ # namespace ('//') or a specified key ('//')
6183
+ # Corresponds to the JSON property `queryPath`
6184
+ # @return [String]
6185
+ attr_accessor :query_path
6186
+
6187
+ # Array of guest attribute namespace/key/value tuples.
6188
+ # Corresponds to the JSON property `queryValue`
6189
+ # @return [Google::Apis::ComputeV1::GuestAttributesValue]
6190
+ attr_accessor :query_value
6191
+
6192
+ # [Output Only] Server-defined URL for this resource.
6193
+ # Corresponds to the JSON property `selfLink`
6194
+ # @return [String]
6195
+ attr_accessor :self_link
6196
+
6197
+ # The key to search for.
6198
+ # Corresponds to the JSON property `variableKey`
6199
+ # @return [String]
6200
+ attr_accessor :variable_key
6201
+
6202
+ # [Output Only] The value found for the requested key.
6203
+ # Corresponds to the JSON property `variableValue`
6204
+ # @return [String]
6205
+ attr_accessor :variable_value
6206
+
6207
+ def initialize(**args)
6208
+ update!(**args)
6209
+ end
6210
+
6211
+ # Update properties of this object
6212
+ def update!(**args)
6213
+ @kind = args[:kind] if args.key?(:kind)
6214
+ @query_path = args[:query_path] if args.key?(:query_path)
6215
+ @query_value = args[:query_value] if args.key?(:query_value)
6216
+ @self_link = args[:self_link] if args.key?(:self_link)
6217
+ @variable_key = args[:variable_key] if args.key?(:variable_key)
6218
+ @variable_value = args[:variable_value] if args.key?(:variable_value)
6219
+ end
6220
+ end
6221
+
6222
+ # A guest attributes namespace/key/value entry.
6223
+ class GuestAttributesEntry
6224
+ include Google::Apis::Core::Hashable
6225
+
6226
+ # Key for the guest attribute entry.
6227
+ # Corresponds to the JSON property `key`
6228
+ # @return [String]
6229
+ attr_accessor :key
6230
+
6231
+ # Namespace for the guest attribute entry.
6232
+ # Corresponds to the JSON property `namespace`
6233
+ # @return [String]
6234
+ attr_accessor :namespace
6235
+
6236
+ # Value for the guest attribute entry.
6237
+ # Corresponds to the JSON property `value`
6238
+ # @return [String]
6239
+ attr_accessor :value
6240
+
6241
+ def initialize(**args)
6242
+ update!(**args)
6243
+ end
6244
+
6245
+ # Update properties of this object
6246
+ def update!(**args)
6247
+ @key = args[:key] if args.key?(:key)
6248
+ @namespace = args[:namespace] if args.key?(:namespace)
6249
+ @value = args[:value] if args.key?(:value)
6250
+ end
6251
+ end
6252
+
6253
+ # Array of guest attribute namespace/key/value tuples.
6254
+ class GuestAttributesValue
6255
+ include Google::Apis::Core::Hashable
6256
+
6257
+ #
6258
+ # Corresponds to the JSON property `items`
6259
+ # @return [Array<Google::Apis::ComputeV1::GuestAttributesEntry>]
6260
+ attr_accessor :items
6261
+
6262
+ def initialize(**args)
6263
+ update!(**args)
6264
+ end
6265
+
6266
+ # Update properties of this object
6267
+ def update!(**args)
6268
+ @items = args[:items] if args.key?(:items)
6269
+ end
6270
+ end
6271
+
5971
6272
  # Guest OS features.
5972
6273
  class GuestOsFeature
5973
6274
  include Google::Apis::Core::Hashable
@@ -7048,8 +7349,10 @@ module Google
7048
7349
  end
7049
7350
  end
7050
7351
 
7051
- # An Image resource. (== resource_for beta.images ==) (== resource_for v1.images
7052
- # ==)
7352
+ # Represents an Image resource.
7353
+ # You can use images to create boot disks for your VM instances. For more
7354
+ # information, read Images. (== resource_for beta.images ==) (== resource_for v1.
7355
+ # images ==)
7053
7356
  class Image
7054
7357
  include Google::Apis::Core::Hashable
7055
7358
 
@@ -7427,8 +7730,10 @@ module Google
7427
7730
  end
7428
7731
  end
7429
7732
 
7430
- # An Instance resource. (== resource_for beta.instances ==) (== resource_for v1.
7431
- # instances ==)
7733
+ # Represents an Instance resource.
7734
+ # An instance is a virtual machine that is hosted on Google Cloud Platform. For
7735
+ # more information, read Virtual Machine Instances. (== resource_for beta.
7736
+ # instances ==) (== resource_for v1.instances ==)
7432
7737
  class Instance
7433
7738
  include Google::Apis::Core::Hashable
7434
7739
 
@@ -7553,7 +7858,13 @@ module Google
7553
7858
  # @return [Array<Google::Apis::ComputeV1::NetworkInterface>]
7554
7859
  attr_accessor :network_interfaces
7555
7860
 
7556
- # Sets the scheduling options for an Instance.
7861
+ # ReservationAffinity is the configuration of desired reservation which this
7862
+ # instance could take capacity from.
7863
+ # Corresponds to the JSON property `reservationAffinity`
7864
+ # @return [Google::Apis::ComputeV1::ReservationAffinity]
7865
+ attr_accessor :reservation_affinity
7866
+
7867
+ # Sets the scheduling options for an Instance. NextID: 9
7557
7868
  # Corresponds to the JSON property `scheduling`
7558
7869
  # @return [Google::Apis::ComputeV1::Scheduling]
7559
7870
  attr_accessor :scheduling
@@ -7637,6 +7948,7 @@ module Google
7637
7948
  @min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
7638
7949
  @name = args[:name] if args.key?(:name)
7639
7950
  @network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces)
7951
+ @reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
7640
7952
  @scheduling = args[:scheduling] if args.key?(:scheduling)
7641
7953
  @self_link = args[:self_link] if args.key?(:self_link)
7642
7954
  @service_accounts = args[:service_accounts] if args.key?(:service_accounts)
@@ -7768,9 +8080,15 @@ module Google
7768
8080
  end
7769
8081
  end
7770
8082
 
7771
- # InstanceGroups (== resource_for beta.instanceGroups ==) (== resource_for v1.
7772
- # instanceGroups ==) (== resource_for beta.regionInstanceGroups ==) (==
7773
- # resource_for v1.regionInstanceGroups ==)
8083
+ # Represents an unmanaged Instance Group resource.
8084
+ # Use unmanaged instance groups if you need to apply load balancing to groups of
8085
+ # heterogeneous instances or if you need to manage the instances yourself. For
8086
+ # more information, read Instance groups.
8087
+ # For zonal unmanaged Instance Group, use instanceGroups resource.
8088
+ # For regional unmanaged Instance Group, use regionInstanceGroups resource. (==
8089
+ # resource_for beta.instanceGroups ==) (== resource_for v1.instanceGroups ==) (==
8090
+ # resource_for beta.regionInstanceGroups ==) (== resource_for v1.
8091
+ # regionInstanceGroups ==)
7774
8092
  class InstanceGroup
7775
8093
  include Google::Apis::Core::Hashable
7776
8094
 
@@ -8112,10 +8430,14 @@ module Google
8112
8430
  end
8113
8431
  end
8114
8432
 
8115
- # An Instance Group Manager resource. (== resource_for beta.
8116
- # instanceGroupManagers ==) (== resource_for v1.instanceGroupManagers ==) (==
8117
- # resource_for beta.regionInstanceGroupManagers ==) (== resource_for v1.
8118
- # regionInstanceGroupManagers ==)
8433
+ # Represents a Managed Instance Group resource.
8434
+ # An instance group is a collection of VM instances that you can manage as a
8435
+ # single entity. For more information, read Instance groups.
8436
+ # For zonal Managed Instance Group, use the instanceGroupManagers resource.
8437
+ # For regional Managed Instance Group, use the regionInstanceGroupManagers
8438
+ # resource. (== resource_for beta.instanceGroupManagers ==) (== resource_for v1.
8439
+ # instanceGroupManagers ==) (== resource_for beta.regionInstanceGroupManagers ==)
8440
+ # (== resource_for v1.regionInstanceGroupManagers ==)
8119
8441
  class InstanceGroupManager
8120
8442
  include Google::Apis::Core::Hashable
8121
8443
 
@@ -8691,7 +9013,11 @@ module Google
8691
9013
  # @return [String]
8692
9014
  attr_accessor :minimal_action
8693
9015
 
8694
- #
9016
+ # The type of update process. You can specify either PROACTIVE so that the
9017
+ # instance group manager proactively executes actions in order to bring
9018
+ # instances to their target versions or OPPORTUNISTIC so that no action is
9019
+ # proactively executed but the update will be performed as part of other actions
9020
+ # (for example, resizes or recreateInstances calls).
8695
9021
  # Corresponds to the JSON property `type`
8696
9022
  # @return [String]
8697
9023
  attr_accessor :type
@@ -9601,7 +9927,13 @@ module Google
9601
9927
  # @return [Array<Google::Apis::ComputeV1::NetworkInterface>]
9602
9928
  attr_accessor :network_interfaces
9603
9929
 
9604
- # Sets the scheduling options for an Instance.
9930
+ # ReservationAffinity is the configuration of desired reservation which this
9931
+ # instance could take capacity from.
9932
+ # Corresponds to the JSON property `reservationAffinity`
9933
+ # @return [Google::Apis::ComputeV1::ReservationAffinity]
9934
+ attr_accessor :reservation_affinity
9935
+
9936
+ # Sets the scheduling options for an Instance. NextID: 9
9605
9937
  # Corresponds to the JSON property `scheduling`
9606
9938
  # @return [Google::Apis::ComputeV1::Scheduling]
9607
9939
  attr_accessor :scheduling
@@ -9638,6 +9970,7 @@ module Google
9638
9970
  @metadata = args[:metadata] if args.key?(:metadata)
9639
9971
  @min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
9640
9972
  @network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces)
9973
+ @reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
9641
9974
  @scheduling = args[:scheduling] if args.key?(:scheduling)
9642
9975
  @service_accounts = args[:service_accounts] if args.key?(:service_accounts)
9643
9976
  @shielded_instance_config = args[:shielded_instance_config] if args.key?(:shielded_instance_config)
@@ -9664,8 +9997,10 @@ module Google
9664
9997
  end
9665
9998
  end
9666
9999
 
9667
- # An Instance Template resource. (== resource_for beta.instanceTemplates ==) (==
9668
- # resource_for v1.instanceTemplates ==)
10000
+ # Represents an Instance Template resource.
10001
+ # You can use instance templates to create VM instances and managed instance
10002
+ # groups. For more information, read Instance Templates. (== resource_for beta.
10003
+ # instanceTemplates ==) (== resource_for v1.instanceTemplates ==)
9669
10004
  class InstanceTemplate
9670
10005
  include Google::Apis::Core::Hashable
9671
10006
 
@@ -10123,10 +10458,11 @@ module Google
10123
10458
  end
10124
10459
  end
10125
10460
 
10126
- # Represents an Interconnects resource. The Interconnects resource is a
10127
- # dedicated connection between Google's network and your on-premises network.
10128
- # For more information, see the Dedicated overview page. (== resource_for v1.
10129
- # interconnects ==) (== resource_for beta.interconnects ==)
10461
+ # Represents an Interconnect resource.
10462
+ # An Interconnect resource is a dedicated connection between the GCP network and
10463
+ # your on-premises network. For more information, read the Dedicated
10464
+ # Interconnect Overview. (== resource_for v1.interconnects ==) (== resource_for
10465
+ # beta.interconnects ==)
10130
10466
  class Interconnect
10131
10467
  include Google::Apis::Core::Hashable
10132
10468
 
@@ -10317,8 +10653,10 @@ module Google
10317
10653
  end
10318
10654
  end
10319
10655
 
10320
- # Represents an InterconnectAttachment (VLAN attachment) resource. For more
10321
- # information, see Creating VLAN Attachments. (== resource_for beta.
10656
+ # Represents an Interconnect Attachment (VLAN) resource.
10657
+ # You can use Interconnect attachments (VLANS) to connect your Virtual Private
10658
+ # Cloud networks to your on-premises networks through an Interconnect. For more
10659
+ # information, read Creating VLAN Attachments. (== resource_for beta.
10322
10660
  # interconnectAttachments ==) (== resource_for v1.interconnectAttachments ==)
10323
10661
  class InterconnectAttachment
10324
10662
  include Google::Apis::Core::Hashable
@@ -10396,7 +10734,8 @@ module Google
10396
10734
  attr_accessor :edge_availability_domain
10397
10735
 
10398
10736
  # [Output Only] Google reference ID, to be used when raising support tickets
10399
- # with Google or otherwise to debug backend connectivity issues.
10737
+ # with Google or otherwise to debug backend connectivity issues. [Deprecated]
10738
+ # This field is not used.
10400
10739
  # Corresponds to the JSON property `googleReferenceId`
10401
10740
  # @return [String]
10402
10741
  attr_accessor :google_reference_id
@@ -11277,9 +11616,10 @@ module Google
11277
11616
  end
11278
11617
  end
11279
11618
 
11280
- # Represents an InterconnectLocations resource. The InterconnectLocations
11281
- # resource describes the locations where you can connect to Google's networks.
11282
- # For more information, see Colocation Facilities.
11619
+ # Represents an Interconnect Attachment (VLAN) Location resource.
11620
+ # You can use this resource to find location details about an Interconnect
11621
+ # attachment (VLAN). For more information about interconnect attachments, read
11622
+ # Creating VLAN Attachments.
11283
11623
  class InterconnectLocation
11284
11624
  include Google::Apis::Core::Hashable
11285
11625
 
@@ -12097,8 +12437,10 @@ module Google
12097
12437
  end
12098
12438
  end
12099
12439
 
12100
- # A Machine Type resource. (== resource_for v1.machineTypes ==) (== resource_for
12101
- # beta.machineTypes ==)
12440
+ # Represents a Machine Type resource.
12441
+ # You can use specific machine types for your VM instances based on performance
12442
+ # and pricing requirements. For more information, read Machine Types. (==
12443
+ # resource_for v1.machineTypes ==) (== resource_for beta.machineTypes ==)
12102
12444
  class MachineType
12103
12445
  include Google::Apis::Core::Hashable
12104
12446
 
@@ -12820,9 +13162,10 @@ module Google
12820
13162
  end
12821
13163
  end
12822
13164
 
12823
- # Represents a Network resource. Read Virtual Private Cloud (VPC) Network
12824
- # Overview for more information. (== resource_for v1.networks ==) (==
12825
- # resource_for beta.networks ==)
13165
+ # Represents a VPC Network resource.
13166
+ # Networks connect resources to each other and to the internet. For more
13167
+ # information, read Virtual Private Cloud (VPC) Network. (== resource_for v1.
13168
+ # networks ==) (== resource_for beta.networks ==)
12826
13169
  class Network
12827
13170
  include Google::Apis::Core::Hashable
12828
13171
 
@@ -12847,14 +13190,14 @@ module Google
12847
13190
  # @return [String]
12848
13191
  attr_accessor :creation_timestamp
12849
13192
 
12850
- # An optional description of this resource. Provide this property when you
12851
- # create the resource.
13193
+ # An optional description of this resource. Provide this field when you create
13194
+ # the resource.
12852
13195
  # Corresponds to the JSON property `description`
12853
13196
  # @return [String]
12854
13197
  attr_accessor :description
12855
13198
 
12856
- # [Output Only] The gateway address for default routing out of the network. This
12857
- # value is read only and is selected by GCP.
13199
+ # [Output Only] The gateway address for default routing out of the network,
13200
+ # selected by GCP.
12858
13201
  # Corresponds to the JSON property `gatewayIPv4`
12859
13202
  # @return [String]
12860
13203
  attr_accessor :gateway_i_pv4
@@ -12873,9 +13216,9 @@ module Google
12873
13216
  # Name of the resource. Provided by the client when the resource is created. The
12874
13217
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
12875
13218
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
12876
- # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
12877
- # and all following characters must be a dash, lowercase letter, or digit,
12878
- # except the last character, which cannot be a dash.
13219
+ # z0-9]*[a-z0-9])?. The first character must be a lowercase letter, and all
13220
+ # following characters (except for the last character) must be a dash, lowercase
13221
+ # letter, or digit. The last character must be a lowercase letter or digit.
12879
13222
  # Corresponds to the JSON property `name`
12880
13223
  # @return [String]
12881
13224
  attr_accessor :name
@@ -13597,8 +13940,8 @@ module Google
13597
13940
  # @return [Array<Google::Apis::ComputeV1::AccessConfig>]
13598
13941
  attr_accessor :access_configs
13599
13942
 
13600
- # An array of alias IP ranges for this network interface. Can only be specified
13601
- # for network interfaces on subnet-mode networks.
13943
+ # An array of alias IP ranges for this network interface. You can only specify
13944
+ # this field for network interfaces in VPC networks.
13602
13945
  # Corresponds to the JSON property `aliasIpRanges`
13603
13946
  # @return [Array<Google::Apis::ComputeV1::AliasIpRange>]
13604
13947
  attr_accessor :alias_ip_ranges
@@ -13618,8 +13961,8 @@ module Google
13618
13961
  # @return [String]
13619
13962
  attr_accessor :kind
13620
13963
 
13621
- # [Output Only] The name of the network interface, generated by the server. For
13622
- # network devices, these are eth0, eth1, etc.
13964
+ # [Output Only] The name of the network interface, which is generated by the
13965
+ # server. For network devices, these are eth0, eth1, etc.
13623
13966
  # Corresponds to the JSON property `name`
13624
13967
  # @return [String]
13625
13968
  attr_accessor :name
@@ -13628,8 +13971,6 @@ module Google
13628
13971
  # neither the network nor the subnetwork is specified, the default network
13629
13972
  # global/networks/default is used; if the network is not specified but the
13630
13973
  # subnetwork is specified, the network is inferred.
13631
- # This field is optional when creating a firewall rule. If not specified when
13632
- # creating a firewall rule, the default network global/networks/default is used.
13633
13974
  # If you specify this property, you can specify the network as a full or partial
13634
13975
  # URL. For example, the following are all valid URLs:
13635
13976
  # - https://www.googleapis.com/compute/v1/projects/project/global/networks/
@@ -13640,7 +13981,7 @@ module Google
13640
13981
  # @return [String]
13641
13982
  attr_accessor :network
13642
13983
 
13643
- # An IPv4 internal network address to assign to the instance for this network
13984
+ # An IPv4 internal IP address to assign to the instance for this network
13644
13985
  # interface. If not specified by the user, an unused internal IP is assigned by
13645
13986
  # the system.
13646
13987
  # Corresponds to the JSON property `networkIP`
@@ -13648,9 +13989,9 @@ module Google
13648
13989
  attr_accessor :network_ip
13649
13990
 
13650
13991
  # The URL of the Subnetwork resource for this instance. If the network resource
13651
- # is in legacy mode, do not provide this property. If the network is in auto
13652
- # subnet mode, providing the subnetwork is optional. If the network is in custom
13653
- # subnet mode, then this field should be specified. If you specify this property,
13992
+ # is in legacy mode, do not specify this field. If the network is in auto subnet
13993
+ # mode, specifying the subnetwork is optional. If the network is in custom
13994
+ # subnet mode, specifying the subnetwork is required. If you specify this field,
13654
13995
  # you can specify the subnetwork as a full or partial URL. For example, the
13655
13996
  # following are all valid URLs:
13656
13997
  # - https://www.googleapis.com/compute/v1/projects/project/regions/region/
@@ -13801,7 +14142,7 @@ module Google
13801
14142
  class NetworkPeering
13802
14143
  include Google::Apis::Core::Hashable
13803
14144
 
13804
- # This field will be deprecated soon. Prefer using exchange_subnet_routes
14145
+ # This field will be deprecated soon. Use the exchange_subnet_routes field
13805
14146
  # instead. Indicates whether full mesh connectivity is created and managed
13806
14147
  # automatically. When it is set to true, Google Compute Engine will
13807
14148
  # automatically create and manage the routes between two networks when the state
@@ -13823,10 +14164,10 @@ module Google
13823
14164
 
13824
14165
  # Name of this peering. Provided by the client when the peering is created. The
13825
14166
  # name must comply with RFC1035. Specifically, the name must be 1-63 characters
13826
- # long and match regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the
13827
- # first character must be a lowercase letter, and all the following characters
13828
- # must be a dash, lowercase letter, or digit, except the last character, which
13829
- # cannot be a dash.
14167
+ # long and match regular expression `[a-z]([-a-z0-9]*[a-z0-9])?`. The first
14168
+ # character must be a lowercase letter, and all the following characters must be
14169
+ # a dash, lowercase letter, or digit, except the last character, which cannot be
14170
+ # a dash.
13830
14171
  # Corresponds to the JSON property `name`
13831
14172
  # @return [String]
13832
14173
  attr_accessor :name
@@ -13839,7 +14180,8 @@ module Google
13839
14180
  # @return [String]
13840
14181
  attr_accessor :network
13841
14182
 
13842
- # [Output Only] State for the peering.
14183
+ # [Output Only] State for the peering, either `ACTIVE` or `INACTIVE`. The
14184
+ # peering is `ACTIVE` when there's a matching configuration in the peer network.
13843
14185
  # Corresponds to the JSON property `state`
13844
14186
  # @return [String]
13845
14187
  attr_accessor :state
@@ -13870,9 +14212,9 @@ module Google
13870
14212
  class NetworkRoutingConfig
13871
14213
  include Google::Apis::Core::Hashable
13872
14214
 
13873
- # The network-wide routing mode to use. If set to REGIONAL, this network's cloud
13874
- # routers will only advertise routes with subnets of this network in the same
13875
- # region as the router. If set to GLOBAL, this network's cloud routers will
14215
+ # The network-wide routing mode to use. If set to REGIONAL, this network's Cloud
14216
+ # Routers will only advertise routes with subnets of this network in the same
14217
+ # region as the router. If set to GLOBAL, this network's Cloud Routers will
13876
14218
  # advertise routes with all subnets of this network, across regions.
13877
14219
  # Corresponds to the JSON property `routingMode`
13878
14220
  # @return [String]
@@ -13892,7 +14234,7 @@ module Google
13892
14234
  class NetworksAddPeeringRequest
13893
14235
  include Google::Apis::Core::Hashable
13894
14236
 
13895
- # This field will be deprecated soon. Prefer using exchange_subnet_routes in
14237
+ # This field will be deprecated soon. Use exchange_subnet_routes in
13896
14238
  # network_peering instead. Whether Google Compute Engine manages the routes
13897
14239
  # automatically.
13898
14240
  # Corresponds to the JSON property `autoCreateRoutes`
@@ -13952,10 +14294,13 @@ module Google
13952
14294
  end
13953
14295
  end
13954
14296
 
13955
- # A NodeGroup resource. To create a node group, you must first create a node
13956
- # templates. To learn more about node groups and sole-tenant nodes, read the
13957
- # Sole-tenant nodes documentation. (== resource_for beta.nodeGroups ==) (==
13958
- # resource_for v1.nodeGroups ==)
14297
+ # Represent a sole-tenant Node Group resource.
14298
+ # A sole-tenant node is a physical server that is dedicated to hosting VM
14299
+ # instances only for your specific project. Use sole-tenant nodes to keep your
14300
+ # instances physically separated from instances in other projects, or to group
14301
+ # your instances together on the same host hardware. For more information, read
14302
+ # Sole-tenant nodes. (== resource_for beta.nodeGroups ==) (== resource_for v1.
14303
+ # nodeGroups ==) NextID: 15
13959
14304
  class NodeGroup
13960
14305
  include Google::Apis::Core::Hashable
13961
14306
 
@@ -14293,6 +14638,11 @@ module Google
14293
14638
  # @return [String]
14294
14639
  attr_accessor :node_type
14295
14640
 
14641
+ # Binding properties for the physical server.
14642
+ # Corresponds to the JSON property `serverBinding`
14643
+ # @return [Google::Apis::ComputeV1::ServerBinding]
14644
+ attr_accessor :server_binding
14645
+
14296
14646
  #
14297
14647
  # Corresponds to the JSON property `status`
14298
14648
  # @return [String]
@@ -14307,6 +14657,7 @@ module Google
14307
14657
  @instances = args[:instances] if args.key?(:instances)
14308
14658
  @name = args[:name] if args.key?(:name)
14309
14659
  @node_type = args[:node_type] if args.key?(:node_type)
14660
+ @server_binding = args[:server_binding] if args.key?(:server_binding)
14310
14661
  @status = args[:status] if args.key?(:status)
14311
14662
  end
14312
14663
  end
@@ -14578,9 +14929,10 @@ module Google
14578
14929
  end
14579
14930
  end
14580
14931
 
14581
- # A Node Template resource. To learn more about node templates and sole-tenant
14582
- # nodes, read the Sole-tenant nodes documentation. (== resource_for beta.
14583
- # nodeTemplates ==) (== resource_for v1.nodeTemplates ==)
14932
+ # Represent a sole-tenant Node Template resource.
14933
+ # You can use a template to define properties for nodes in a node group. For
14934
+ # more information, read Creating node groups and instances. (== resource_for
14935
+ # beta.nodeTemplates ==) (== resource_for v1.nodeTemplates ==) (== NextID: 16 ==)
14584
14936
  class NodeTemplate
14585
14937
  include Google::Apis::Core::Hashable
14586
14938
 
@@ -14647,6 +14999,16 @@ module Google
14647
14999
  # @return [String]
14648
15000
  attr_accessor :self_link
14649
15001
 
15002
+ # Sets the binding properties for the physical server. Valid values include:
15003
+ # - [Default] RESTART_NODE_ON_ANY_SERVER: Restarts VMs on any available physical
15004
+ # server
15005
+ # - RESTART_NODE_ON_MINIMAL_SERVER: Restarts VMs on the same physical server
15006
+ # whenever possible
15007
+ # See Sole-tenant node options for more information.
15008
+ # Corresponds to the JSON property `serverBinding`
15009
+ # @return [Google::Apis::ComputeV1::ServerBinding]
15010
+ attr_accessor :server_binding
15011
+
14650
15012
  # [Output Only] The status of the node template. One of the following values:
14651
15013
  # CREATING, READY, and DELETING.
14652
15014
  # Corresponds to the JSON property `status`
@@ -14674,6 +15036,7 @@ module Google
14674
15036
  @node_type_flexibility = args[:node_type_flexibility] if args.key?(:node_type_flexibility)
14675
15037
  @region = args[:region] if args.key?(:region)
14676
15038
  @self_link = args[:self_link] if args.key?(:self_link)
15039
+ @server_binding = args[:server_binding] if args.key?(:server_binding)
14677
15040
  @status = args[:status] if args.key?(:status)
14678
15041
  @status_message = args[:status_message] if args.key?(:status_message)
14679
15042
  end
@@ -15037,7 +15400,12 @@ module Google
15037
15400
  end
15038
15401
  end
15039
15402
 
15040
- # A Node Type resource.
15403
+ # Represent a sole-tenant Node Type resource.
15404
+ # Each node within a node group must have a node type. A node type specifies the
15405
+ # total amount of cores and memory for that node. Currently, the only available
15406
+ # node type is n1-node-96-624 node type that has 96 vCPUs and 624 GB of memory,
15407
+ # available in multiple zones. For more information read Node types. (==
15408
+ # resource_for beta.nodeTypes ==) (== resource_for v1.nodeTypes ==)
15041
15409
  class NodeType
15042
15410
  include Google::Apis::Core::Hashable
15043
15411
 
@@ -15452,7 +15820,14 @@ module Google
15452
15820
  end
15453
15821
  end
15454
15822
 
15455
- # An Operation resource, used to manage asynchronous API requests. (==
15823
+ # Represents an Operation resource.
15824
+ # You can use an operation resource to manage asynchronous API requests. For
15825
+ # more information, read Handling API responses.
15826
+ # Operations can be global, regional or zonal.
15827
+ # - For global operations, use the globalOperations resource.
15828
+ # - For regional operations, use the regionOperations resource.
15829
+ # - For zonal operations, use the zonalOperations resource.
15830
+ # For more information, read Global, Regional, and Zonal Resources. (==
15456
15831
  # resource_for v1.globalOperations ==) (== resource_for beta.globalOperations ==)
15457
15832
  # (== resource_for v1.regionOperations ==) (== resource_for beta.
15458
15833
  # regionOperations ==) (== resource_for v1.zoneOperations ==) (== resource_for
@@ -15540,9 +15915,7 @@ module Google
15540
15915
  attr_accessor :progress
15541
15916
 
15542
15917
  # [Output Only] The URL of the region where the operation resides. Only
15543
- # available when performing regional operations. You must specify this field as
15544
- # part of the HTTP request URL. It is not settable as a field in the request
15545
- # body.
15918
+ # applicable when performing regional operations.
15546
15919
  # Corresponds to the JSON property `region`
15547
15920
  # @return [String]
15548
15921
  attr_accessor :region
@@ -15594,9 +15967,8 @@ module Google
15594
15967
  # @return [Array<Google::Apis::ComputeV1::Operation::Warning>]
15595
15968
  attr_accessor :warnings
15596
15969
 
15597
- # [Output Only] The URL of the zone where the operation resides. Only available
15598
- # when performing per-zone operations. You must specify this field as part of
15599
- # the HTTP request URL. It is not settable as a field in the request body.
15970
+ # [Output Only] The URL of the zone where the operation resides. Only applicable
15971
+ # when performing per-zone operations.
15600
15972
  # Corresponds to the JSON property `zone`
15601
15973
  # @return [String]
15602
15974
  attr_accessor :zone
@@ -16259,8 +16631,10 @@ module Google
16259
16631
  end
16260
16632
  end
16261
16633
 
16262
- # A Project resource. For an overview of projects, see Cloud Platform Resource
16263
- # Hierarchy. (== resource_for v1.projects ==) (== resource_for beta.projects ==)
16634
+ # Represents a Project resource.
16635
+ # A project is used to organize resources in a Google Cloud Platform environment.
16636
+ # For more information, read about the Resource Hierarchy. (== resource_for v1.
16637
+ # projects ==) (== resource_for beta.projects ==)
16264
16638
  class Project
16265
16639
  include Google::Apis::Core::Hashable
16266
16640
 
@@ -16550,8 +16924,10 @@ module Google
16550
16924
  end
16551
16925
  end
16552
16926
 
16553
- # Region resource. (== resource_for beta.regions ==) (== resource_for v1.regions
16554
- # ==)
16927
+ # Represents a Region resource.
16928
+ # A region is a geographical area where a resource is located. For more
16929
+ # information, read Regions and Zones. (== resource_for beta.regions ==) (==
16930
+ # resource_for v1.regions ==)
16555
16931
  class Region
16556
16932
  include Google::Apis::Core::Hashable
16557
16933
 
@@ -16861,6 +17237,44 @@ module Google
16861
17237
  end
16862
17238
  end
16863
17239
 
17240
+ #
17241
+ class RegionDisksAddResourcePoliciesRequest
17242
+ include Google::Apis::Core::Hashable
17243
+
17244
+ # Resource policies to be added to this disk.
17245
+ # Corresponds to the JSON property `resourcePolicies`
17246
+ # @return [Array<String>]
17247
+ attr_accessor :resource_policies
17248
+
17249
+ def initialize(**args)
17250
+ update!(**args)
17251
+ end
17252
+
17253
+ # Update properties of this object
17254
+ def update!(**args)
17255
+ @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
17256
+ end
17257
+ end
17258
+
17259
+ #
17260
+ class RegionDisksRemoveResourcePoliciesRequest
17261
+ include Google::Apis::Core::Hashable
17262
+
17263
+ # Resource policies to be removed from this disk.
17264
+ # Corresponds to the JSON property `resourcePolicies`
17265
+ # @return [Array<String>]
17266
+ attr_accessor :resource_policies
17267
+
17268
+ def initialize(**args)
17269
+ update!(**args)
17270
+ end
17271
+
17272
+ # Update properties of this object
17273
+ def update!(**args)
17274
+ @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
17275
+ end
17276
+ end
17277
+
16864
17278
  #
16865
17279
  class RegionDisksResizeRequest
16866
17280
  include Google::Apis::Core::Hashable
@@ -17618,45 +18032,882 @@ module Google
17618
18032
  end
17619
18033
  end
17620
18034
 
17621
- # Commitment for a particular resource (a Commitment is composed of one or more
17622
- # of these).
17623
- class ResourceCommitment
18035
+ # Reservation resource NextID: 13
18036
+ class Reservation
17624
18037
  include Google::Apis::Core::Hashable
17625
18038
 
17626
- # The amount of the resource purchased (in a type-dependent unit, such as bytes).
17627
- # For vCPUs, this can just be an integer. For memory, this must be provided in
17628
- # MB. Memory must be a multiple of 256 MB, with up to 6.5GB of memory per every
17629
- # vCPU.
17630
- # Corresponds to the JSON property `amount`
17631
- # @return [Fixnum]
17632
- attr_accessor :amount
18039
+ # [OutputOnly] Full or partial url for parent commitment for reservations which
18040
+ # are tied to a commitment.
18041
+ # Corresponds to the JSON property `commitment`
18042
+ # @return [String]
18043
+ attr_accessor :commitment
17633
18044
 
17634
- # Type of resource for which this commitment applies. Possible values are VCPU
17635
- # and MEMORY
17636
- # Corresponds to the JSON property `type`
18045
+ # [Output Only] Creation timestamp in RFC3339 text format.
18046
+ # Corresponds to the JSON property `creationTimestamp`
17637
18047
  # @return [String]
17638
- attr_accessor :type
18048
+ attr_accessor :creation_timestamp
17639
18049
 
17640
- def initialize(**args)
17641
- update!(**args)
17642
- end
18050
+ # An optional description of this resource. Provide this property when you
18051
+ # create the resource.
18052
+ # Corresponds to the JSON property `description`
18053
+ # @return [String]
18054
+ attr_accessor :description
17643
18055
 
17644
- # Update properties of this object
17645
- def update!(**args)
17646
- @amount = args[:amount] if args.key?(:amount)
17647
- @type = args[:type] if args.key?(:type)
17648
- end
17649
- end
18056
+ # [Output Only] The unique identifier for the resource. This identifier is
18057
+ # defined by the server.
18058
+ # Corresponds to the JSON property `id`
18059
+ # @return [Fixnum]
18060
+ attr_accessor :id
17650
18061
 
17651
- #
18062
+ # [Output Only] Type of the resource. Always compute#reservations for
18063
+ # reservations.
18064
+ # Corresponds to the JSON property `kind`
18065
+ # @return [String]
18066
+ attr_accessor :kind
18067
+
18068
+ # The name of the resource, provided by the client when initially creating the
18069
+ # resource. The resource name must be 1-63 characters long, and comply with
18070
+ # RFC1035. Specifically, the name must be 1-63 characters long and match the
18071
+ # regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first
18072
+ # character must be a lowercase letter, and all following characters must be a
18073
+ # dash, lowercase letter, or digit, except the last character, which cannot be a
18074
+ # dash.
18075
+ # Corresponds to the JSON property `name`
18076
+ # @return [String]
18077
+ attr_accessor :name
18078
+
18079
+ # [Output Only] Server-defined fully-qualified URL for this resource.
18080
+ # Corresponds to the JSON property `selfLink`
18081
+ # @return [String]
18082
+ attr_accessor :self_link
18083
+
18084
+ # This reservation type allows to pre allocate specific instance configuration.
18085
+ # Corresponds to the JSON property `specificReservation`
18086
+ # @return [Google::Apis::ComputeV1::AllocationSpecificSkuReservation]
18087
+ attr_accessor :specific_reservation
18088
+
18089
+ # Indicates whether the reservation can be consumed by VMs with "any reservation"
18090
+ # defined. If the field is set, then only VMs that target the reservation by
18091
+ # name using --reservation-affinity can consume this reservation.
18092
+ # Corresponds to the JSON property `specificReservationRequired`
18093
+ # @return [Boolean]
18094
+ attr_accessor :specific_reservation_required
18095
+ alias_method :specific_reservation_required?, :specific_reservation_required
18096
+
18097
+ # [Output Only] The status of the reservation.
18098
+ # Corresponds to the JSON property `status`
18099
+ # @return [String]
18100
+ attr_accessor :status
18101
+
18102
+ # Zone in which the reservation resides, must be provided if reservation is
18103
+ # created with commitment creation.
18104
+ # Corresponds to the JSON property `zone`
18105
+ # @return [String]
18106
+ attr_accessor :zone
18107
+
18108
+ def initialize(**args)
18109
+ update!(**args)
18110
+ end
18111
+
18112
+ # Update properties of this object
18113
+ def update!(**args)
18114
+ @commitment = args[:commitment] if args.key?(:commitment)
18115
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
18116
+ @description = args[:description] if args.key?(:description)
18117
+ @id = args[:id] if args.key?(:id)
18118
+ @kind = args[:kind] if args.key?(:kind)
18119
+ @name = args[:name] if args.key?(:name)
18120
+ @self_link = args[:self_link] if args.key?(:self_link)
18121
+ @specific_reservation = args[:specific_reservation] if args.key?(:specific_reservation)
18122
+ @specific_reservation_required = args[:specific_reservation_required] if args.key?(:specific_reservation_required)
18123
+ @status = args[:status] if args.key?(:status)
18124
+ @zone = args[:zone] if args.key?(:zone)
18125
+ end
18126
+ end
18127
+
18128
+ # ReservationAffinity is the configuration of desired reservation which this
18129
+ # instance could take capacity from.
18130
+ class ReservationAffinity
18131
+ include Google::Apis::Core::Hashable
18132
+
18133
+ # Specifies the type of reservation from which this instance can consume
18134
+ # resources: ANY_RESERVATION (default), SPECIFIC_RESERVATION, or NO_RESERVATION.
18135
+ # See Consuming reserved instances for examples.
18136
+ # Corresponds to the JSON property `consumeReservationType`
18137
+ # @return [String]
18138
+ attr_accessor :consume_reservation_type
18139
+
18140
+ # Corresponds to the label key of reservation resource.
18141
+ # Corresponds to the JSON property `key`
18142
+ # @return [String]
18143
+ attr_accessor :key
18144
+
18145
+ # Corresponds to the label values of reservation resource.
18146
+ # Corresponds to the JSON property `values`
18147
+ # @return [Array<String>]
18148
+ attr_accessor :values
18149
+
18150
+ def initialize(**args)
18151
+ update!(**args)
18152
+ end
18153
+
18154
+ # Update properties of this object
18155
+ def update!(**args)
18156
+ @consume_reservation_type = args[:consume_reservation_type] if args.key?(:consume_reservation_type)
18157
+ @key = args[:key] if args.key?(:key)
18158
+ @values = args[:values] if args.key?(:values)
18159
+ end
18160
+ end
18161
+
18162
+ # Contains a list of reservations.
18163
+ class ReservationAggregatedList
18164
+ include Google::Apis::Core::Hashable
18165
+
18166
+ # [Output Only] Unique identifier for the resource; defined by the server.
18167
+ # Corresponds to the JSON property `id`
18168
+ # @return [String]
18169
+ attr_accessor :id
18170
+
18171
+ # A list of Allocation resources.
18172
+ # Corresponds to the JSON property `items`
18173
+ # @return [Hash<String,Google::Apis::ComputeV1::ReservationsScopedList>]
18174
+ attr_accessor :items
18175
+
18176
+ # Type of resource.
18177
+ # Corresponds to the JSON property `kind`
18178
+ # @return [String]
18179
+ attr_accessor :kind
18180
+
18181
+ # [Output Only] This token allows you to get the next page of results for list
18182
+ # requests. If the number of results is larger than maxResults, use the
18183
+ # nextPageToken as a value for the query parameter pageToken in the next list
18184
+ # request. Subsequent list requests will have their own nextPageToken to
18185
+ # continue paging through the results.
18186
+ # Corresponds to the JSON property `nextPageToken`
18187
+ # @return [String]
18188
+ attr_accessor :next_page_token
18189
+
18190
+ # [Output Only] Server-defined URL for this resource.
18191
+ # Corresponds to the JSON property `selfLink`
18192
+ # @return [String]
18193
+ attr_accessor :self_link
18194
+
18195
+ # [Output Only] Informational warning message.
18196
+ # Corresponds to the JSON property `warning`
18197
+ # @return [Google::Apis::ComputeV1::ReservationAggregatedList::Warning]
18198
+ attr_accessor :warning
18199
+
18200
+ def initialize(**args)
18201
+ update!(**args)
18202
+ end
18203
+
18204
+ # Update properties of this object
18205
+ def update!(**args)
18206
+ @id = args[:id] if args.key?(:id)
18207
+ @items = args[:items] if args.key?(:items)
18208
+ @kind = args[:kind] if args.key?(:kind)
18209
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
18210
+ @self_link = args[:self_link] if args.key?(:self_link)
18211
+ @warning = args[:warning] if args.key?(:warning)
18212
+ end
18213
+
18214
+ # [Output Only] Informational warning message.
18215
+ class Warning
18216
+ include Google::Apis::Core::Hashable
18217
+
18218
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
18219
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
18220
+ # Corresponds to the JSON property `code`
18221
+ # @return [String]
18222
+ attr_accessor :code
18223
+
18224
+ # [Output Only] Metadata about this warning in key: value format. For example:
18225
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
18226
+ # Corresponds to the JSON property `data`
18227
+ # @return [Array<Google::Apis::ComputeV1::ReservationAggregatedList::Warning::Datum>]
18228
+ attr_accessor :data
18229
+
18230
+ # [Output Only] A human-readable description of the warning code.
18231
+ # Corresponds to the JSON property `message`
18232
+ # @return [String]
18233
+ attr_accessor :message
18234
+
18235
+ def initialize(**args)
18236
+ update!(**args)
18237
+ end
18238
+
18239
+ # Update properties of this object
18240
+ def update!(**args)
18241
+ @code = args[:code] if args.key?(:code)
18242
+ @data = args[:data] if args.key?(:data)
18243
+ @message = args[:message] if args.key?(:message)
18244
+ end
18245
+
18246
+ #
18247
+ class Datum
18248
+ include Google::Apis::Core::Hashable
18249
+
18250
+ # [Output Only] A key that provides more detail on the warning being returned.
18251
+ # For example, for warnings where there are no results in a list request for a
18252
+ # particular zone, this key might be scope and the key value might be the zone
18253
+ # name. Other examples might be a key indicating a deprecated resource and a
18254
+ # suggested replacement, or a warning about invalid network settings (for
18255
+ # example, if an instance attempts to perform IP forwarding but is not enabled
18256
+ # for IP forwarding).
18257
+ # Corresponds to the JSON property `key`
18258
+ # @return [String]
18259
+ attr_accessor :key
18260
+
18261
+ # [Output Only] A warning data value corresponding to the key.
18262
+ # Corresponds to the JSON property `value`
18263
+ # @return [String]
18264
+ attr_accessor :value
18265
+
18266
+ def initialize(**args)
18267
+ update!(**args)
18268
+ end
18269
+
18270
+ # Update properties of this object
18271
+ def update!(**args)
18272
+ @key = args[:key] if args.key?(:key)
18273
+ @value = args[:value] if args.key?(:value)
18274
+ end
18275
+ end
18276
+ end
18277
+ end
18278
+
18279
+ #
18280
+ class ReservationList
18281
+ include Google::Apis::Core::Hashable
18282
+
18283
+ # [Output Only] The unique identifier for the resource. This identifier is
18284
+ # defined by the server.
18285
+ # Corresponds to the JSON property `id`
18286
+ # @return [String]
18287
+ attr_accessor :id
18288
+
18289
+ # [Output Only] A list of Allocation resources.
18290
+ # Corresponds to the JSON property `items`
18291
+ # @return [Array<Google::Apis::ComputeV1::Reservation>]
18292
+ attr_accessor :items
18293
+
18294
+ # [Output Only] Type of resource.Always compute#reservationsList for listsof
18295
+ # reservations
18296
+ # Corresponds to the JSON property `kind`
18297
+ # @return [String]
18298
+ attr_accessor :kind
18299
+
18300
+ # [Output Only] This token allows you to get the next page of results for list
18301
+ # requests. If the number of results is larger than maxResults, use the
18302
+ # nextPageToken as a value for the query parameter pageToken in the next list
18303
+ # request. Subsequent list requests will have their own nextPageToken to
18304
+ # continue paging through the results.
18305
+ # Corresponds to the JSON property `nextPageToken`
18306
+ # @return [String]
18307
+ attr_accessor :next_page_token
18308
+
18309
+ # [Output Only] Server-defined URL for this resource.
18310
+ # Corresponds to the JSON property `selfLink`
18311
+ # @return [String]
18312
+ attr_accessor :self_link
18313
+
18314
+ # [Output Only] Informational warning message.
18315
+ # Corresponds to the JSON property `warning`
18316
+ # @return [Google::Apis::ComputeV1::ReservationList::Warning]
18317
+ attr_accessor :warning
18318
+
18319
+ def initialize(**args)
18320
+ update!(**args)
18321
+ end
18322
+
18323
+ # Update properties of this object
18324
+ def update!(**args)
18325
+ @id = args[:id] if args.key?(:id)
18326
+ @items = args[:items] if args.key?(:items)
18327
+ @kind = args[:kind] if args.key?(:kind)
18328
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
18329
+ @self_link = args[:self_link] if args.key?(:self_link)
18330
+ @warning = args[:warning] if args.key?(:warning)
18331
+ end
18332
+
18333
+ # [Output Only] Informational warning message.
18334
+ class Warning
18335
+ include Google::Apis::Core::Hashable
18336
+
18337
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
18338
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
18339
+ # Corresponds to the JSON property `code`
18340
+ # @return [String]
18341
+ attr_accessor :code
18342
+
18343
+ # [Output Only] Metadata about this warning in key: value format. For example:
18344
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
18345
+ # Corresponds to the JSON property `data`
18346
+ # @return [Array<Google::Apis::ComputeV1::ReservationList::Warning::Datum>]
18347
+ attr_accessor :data
18348
+
18349
+ # [Output Only] A human-readable description of the warning code.
18350
+ # Corresponds to the JSON property `message`
18351
+ # @return [String]
18352
+ attr_accessor :message
18353
+
18354
+ def initialize(**args)
18355
+ update!(**args)
18356
+ end
18357
+
18358
+ # Update properties of this object
18359
+ def update!(**args)
18360
+ @code = args[:code] if args.key?(:code)
18361
+ @data = args[:data] if args.key?(:data)
18362
+ @message = args[:message] if args.key?(:message)
18363
+ end
18364
+
18365
+ #
18366
+ class Datum
18367
+ include Google::Apis::Core::Hashable
18368
+
18369
+ # [Output Only] A key that provides more detail on the warning being returned.
18370
+ # For example, for warnings where there are no results in a list request for a
18371
+ # particular zone, this key might be scope and the key value might be the zone
18372
+ # name. Other examples might be a key indicating a deprecated resource and a
18373
+ # suggested replacement, or a warning about invalid network settings (for
18374
+ # example, if an instance attempts to perform IP forwarding but is not enabled
18375
+ # for IP forwarding).
18376
+ # Corresponds to the JSON property `key`
18377
+ # @return [String]
18378
+ attr_accessor :key
18379
+
18380
+ # [Output Only] A warning data value corresponding to the key.
18381
+ # Corresponds to the JSON property `value`
18382
+ # @return [String]
18383
+ attr_accessor :value
18384
+
18385
+ def initialize(**args)
18386
+ update!(**args)
18387
+ end
18388
+
18389
+ # Update properties of this object
18390
+ def update!(**args)
18391
+ @key = args[:key] if args.key?(:key)
18392
+ @value = args[:value] if args.key?(:value)
18393
+ end
18394
+ end
18395
+ end
18396
+ end
18397
+
18398
+ #
18399
+ class ReservationsResizeRequest
18400
+ include Google::Apis::Core::Hashable
18401
+
18402
+ # Number of allocated resources can be resized with minimum = 1 and maximum =
18403
+ # 1000.
18404
+ # Corresponds to the JSON property `specificSkuCount`
18405
+ # @return [Fixnum]
18406
+ attr_accessor :specific_sku_count
18407
+
18408
+ def initialize(**args)
18409
+ update!(**args)
18410
+ end
18411
+
18412
+ # Update properties of this object
18413
+ def update!(**args)
18414
+ @specific_sku_count = args[:specific_sku_count] if args.key?(:specific_sku_count)
18415
+ end
18416
+ end
18417
+
18418
+ #
18419
+ class ReservationsScopedList
18420
+ include Google::Apis::Core::Hashable
18421
+
18422
+ # A list of reservations contained in this scope.
18423
+ # Corresponds to the JSON property `reservations`
18424
+ # @return [Array<Google::Apis::ComputeV1::Reservation>]
18425
+ attr_accessor :reservations
18426
+
18427
+ # Informational warning which replaces the list of reservations when the list is
18428
+ # empty.
18429
+ # Corresponds to the JSON property `warning`
18430
+ # @return [Google::Apis::ComputeV1::ReservationsScopedList::Warning]
18431
+ attr_accessor :warning
18432
+
18433
+ def initialize(**args)
18434
+ update!(**args)
18435
+ end
18436
+
18437
+ # Update properties of this object
18438
+ def update!(**args)
18439
+ @reservations = args[:reservations] if args.key?(:reservations)
18440
+ @warning = args[:warning] if args.key?(:warning)
18441
+ end
18442
+
18443
+ # Informational warning which replaces the list of reservations when the list is
18444
+ # empty.
18445
+ class Warning
18446
+ include Google::Apis::Core::Hashable
18447
+
18448
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
18449
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
18450
+ # Corresponds to the JSON property `code`
18451
+ # @return [String]
18452
+ attr_accessor :code
18453
+
18454
+ # [Output Only] Metadata about this warning in key: value format. For example:
18455
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
18456
+ # Corresponds to the JSON property `data`
18457
+ # @return [Array<Google::Apis::ComputeV1::ReservationsScopedList::Warning::Datum>]
18458
+ attr_accessor :data
18459
+
18460
+ # [Output Only] A human-readable description of the warning code.
18461
+ # Corresponds to the JSON property `message`
18462
+ # @return [String]
18463
+ attr_accessor :message
18464
+
18465
+ def initialize(**args)
18466
+ update!(**args)
18467
+ end
18468
+
18469
+ # Update properties of this object
18470
+ def update!(**args)
18471
+ @code = args[:code] if args.key?(:code)
18472
+ @data = args[:data] if args.key?(:data)
18473
+ @message = args[:message] if args.key?(:message)
18474
+ end
18475
+
18476
+ #
18477
+ class Datum
18478
+ include Google::Apis::Core::Hashable
18479
+
18480
+ # [Output Only] A key that provides more detail on the warning being returned.
18481
+ # For example, for warnings where there are no results in a list request for a
18482
+ # particular zone, this key might be scope and the key value might be the zone
18483
+ # name. Other examples might be a key indicating a deprecated resource and a
18484
+ # suggested replacement, or a warning about invalid network settings (for
18485
+ # example, if an instance attempts to perform IP forwarding but is not enabled
18486
+ # for IP forwarding).
18487
+ # Corresponds to the JSON property `key`
18488
+ # @return [String]
18489
+ attr_accessor :key
18490
+
18491
+ # [Output Only] A warning data value corresponding to the key.
18492
+ # Corresponds to the JSON property `value`
18493
+ # @return [String]
18494
+ attr_accessor :value
18495
+
18496
+ def initialize(**args)
18497
+ update!(**args)
18498
+ end
18499
+
18500
+ # Update properties of this object
18501
+ def update!(**args)
18502
+ @key = args[:key] if args.key?(:key)
18503
+ @value = args[:value] if args.key?(:value)
18504
+ end
18505
+ end
18506
+ end
18507
+ end
18508
+
18509
+ # Commitment for a particular resource (a Commitment is composed of one or more
18510
+ # of these).
18511
+ class ResourceCommitment
18512
+ include Google::Apis::Core::Hashable
18513
+
18514
+ # Name of the accelerator type resource. Applicable only when the type is
18515
+ # ACCELERATOR.
18516
+ # Corresponds to the JSON property `acceleratorType`
18517
+ # @return [String]
18518
+ attr_accessor :accelerator_type
18519
+
18520
+ # The amount of the resource purchased (in a type-dependent unit, such as bytes).
18521
+ # For vCPUs, this can just be an integer. For memory, this must be provided in
18522
+ # MB. Memory must be a multiple of 256 MB, with up to 6.5GB of memory per every
18523
+ # vCPU.
18524
+ # Corresponds to the JSON property `amount`
18525
+ # @return [Fixnum]
18526
+ attr_accessor :amount
18527
+
18528
+ # Type of resource for which this commitment applies. Possible values are VCPU
18529
+ # and MEMORY
18530
+ # Corresponds to the JSON property `type`
18531
+ # @return [String]
18532
+ attr_accessor :type
18533
+
18534
+ def initialize(**args)
18535
+ update!(**args)
18536
+ end
18537
+
18538
+ # Update properties of this object
18539
+ def update!(**args)
18540
+ @accelerator_type = args[:accelerator_type] if args.key?(:accelerator_type)
18541
+ @amount = args[:amount] if args.key?(:amount)
18542
+ @type = args[:type] if args.key?(:type)
18543
+ end
18544
+ end
18545
+
18546
+ #
17652
18547
  class ResourceGroupReference
17653
18548
  include Google::Apis::Core::Hashable
17654
18549
 
17655
- # A URI referencing one of the instance groups or network endpoint groups listed
17656
- # in the backend service.
17657
- # Corresponds to the JSON property `group`
18550
+ # A URI referencing one of the instance groups or network endpoint groups listed
18551
+ # in the backend service.
18552
+ # Corresponds to the JSON property `group`
18553
+ # @return [String]
18554
+ attr_accessor :group
18555
+
18556
+ def initialize(**args)
18557
+ update!(**args)
18558
+ end
18559
+
18560
+ # Update properties of this object
18561
+ def update!(**args)
18562
+ @group = args[:group] if args.key?(:group)
18563
+ end
18564
+ end
18565
+
18566
+ #
18567
+ class ResourcePoliciesScopedList
18568
+ include Google::Apis::Core::Hashable
18569
+
18570
+ # A list of resourcePolicies contained in this scope.
18571
+ # Corresponds to the JSON property `resourcePolicies`
18572
+ # @return [Array<Google::Apis::ComputeV1::ResourcePolicy>]
18573
+ attr_accessor :resource_policies
18574
+
18575
+ # Informational warning which replaces the list of resourcePolicies when the
18576
+ # list is empty.
18577
+ # Corresponds to the JSON property `warning`
18578
+ # @return [Google::Apis::ComputeV1::ResourcePoliciesScopedList::Warning]
18579
+ attr_accessor :warning
18580
+
18581
+ def initialize(**args)
18582
+ update!(**args)
18583
+ end
18584
+
18585
+ # Update properties of this object
18586
+ def update!(**args)
18587
+ @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
18588
+ @warning = args[:warning] if args.key?(:warning)
18589
+ end
18590
+
18591
+ # Informational warning which replaces the list of resourcePolicies when the
18592
+ # list is empty.
18593
+ class Warning
18594
+ include Google::Apis::Core::Hashable
18595
+
18596
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
18597
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
18598
+ # Corresponds to the JSON property `code`
18599
+ # @return [String]
18600
+ attr_accessor :code
18601
+
18602
+ # [Output Only] Metadata about this warning in key: value format. For example:
18603
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
18604
+ # Corresponds to the JSON property `data`
18605
+ # @return [Array<Google::Apis::ComputeV1::ResourcePoliciesScopedList::Warning::Datum>]
18606
+ attr_accessor :data
18607
+
18608
+ # [Output Only] A human-readable description of the warning code.
18609
+ # Corresponds to the JSON property `message`
18610
+ # @return [String]
18611
+ attr_accessor :message
18612
+
18613
+ def initialize(**args)
18614
+ update!(**args)
18615
+ end
18616
+
18617
+ # Update properties of this object
18618
+ def update!(**args)
18619
+ @code = args[:code] if args.key?(:code)
18620
+ @data = args[:data] if args.key?(:data)
18621
+ @message = args[:message] if args.key?(:message)
18622
+ end
18623
+
18624
+ #
18625
+ class Datum
18626
+ include Google::Apis::Core::Hashable
18627
+
18628
+ # [Output Only] A key that provides more detail on the warning being returned.
18629
+ # For example, for warnings where there are no results in a list request for a
18630
+ # particular zone, this key might be scope and the key value might be the zone
18631
+ # name. Other examples might be a key indicating a deprecated resource and a
18632
+ # suggested replacement, or a warning about invalid network settings (for
18633
+ # example, if an instance attempts to perform IP forwarding but is not enabled
18634
+ # for IP forwarding).
18635
+ # Corresponds to the JSON property `key`
18636
+ # @return [String]
18637
+ attr_accessor :key
18638
+
18639
+ # [Output Only] A warning data value corresponding to the key.
18640
+ # Corresponds to the JSON property `value`
18641
+ # @return [String]
18642
+ attr_accessor :value
18643
+
18644
+ def initialize(**args)
18645
+ update!(**args)
18646
+ end
18647
+
18648
+ # Update properties of this object
18649
+ def update!(**args)
18650
+ @key = args[:key] if args.key?(:key)
18651
+ @value = args[:value] if args.key?(:value)
18652
+ end
18653
+ end
18654
+ end
18655
+ end
18656
+
18657
+ #
18658
+ class ResourcePolicy
18659
+ include Google::Apis::Core::Hashable
18660
+
18661
+ # [Output Only] Creation timestamp in RFC3339 text format.
18662
+ # Corresponds to the JSON property `creationTimestamp`
18663
+ # @return [String]
18664
+ attr_accessor :creation_timestamp
18665
+
18666
+ #
18667
+ # Corresponds to the JSON property `description`
18668
+ # @return [String]
18669
+ attr_accessor :description
18670
+
18671
+ # [Output Only] The unique identifier for the resource. This identifier is
18672
+ # defined by the server.
18673
+ # Corresponds to the JSON property `id`
18674
+ # @return [Fixnum]
18675
+ attr_accessor :id
18676
+
18677
+ # [Output Only] Type of the resource. Always compute#resource_policies for
18678
+ # resource policies.
18679
+ # Corresponds to the JSON property `kind`
18680
+ # @return [String]
18681
+ attr_accessor :kind
18682
+
18683
+ # The name of the resource, provided by the client when initially creating the
18684
+ # resource. The resource name must be 1-63 characters long, and comply with
18685
+ # RFC1035. Specifically, the name must be 1-63 characters long and match the
18686
+ # regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first
18687
+ # character must be a lowercase letter, and all following characters must be a
18688
+ # dash, lowercase letter, or digit, except the last character, which cannot be a
18689
+ # dash.
18690
+ # Corresponds to the JSON property `name`
18691
+ # @return [String]
18692
+ attr_accessor :name
18693
+
18694
+ #
18695
+ # Corresponds to the JSON property `region`
18696
+ # @return [String]
18697
+ attr_accessor :region
18698
+
18699
+ # [Output Only] Server-defined fully-qualified URL for this resource.
18700
+ # Corresponds to the JSON property `selfLink`
18701
+ # @return [String]
18702
+ attr_accessor :self_link
18703
+
18704
+ # A snapshot schedule policy specifies when and how frequently snapshots are to
18705
+ # be created for the target disk. Also specifies how many and how long these
18706
+ # scheduled snapshots should be retained.
18707
+ # Corresponds to the JSON property `snapshotSchedulePolicy`
18708
+ # @return [Google::Apis::ComputeV1::ResourcePolicySnapshotSchedulePolicy]
18709
+ attr_accessor :snapshot_schedule_policy
18710
+
18711
+ # [Output Only] The status of resource policy creation.
18712
+ # Corresponds to the JSON property `status`
18713
+ # @return [String]
18714
+ attr_accessor :status
18715
+
18716
+ def initialize(**args)
18717
+ update!(**args)
18718
+ end
18719
+
18720
+ # Update properties of this object
18721
+ def update!(**args)
18722
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
18723
+ @description = args[:description] if args.key?(:description)
18724
+ @id = args[:id] if args.key?(:id)
18725
+ @kind = args[:kind] if args.key?(:kind)
18726
+ @name = args[:name] if args.key?(:name)
18727
+ @region = args[:region] if args.key?(:region)
18728
+ @self_link = args[:self_link] if args.key?(:self_link)
18729
+ @snapshot_schedule_policy = args[:snapshot_schedule_policy] if args.key?(:snapshot_schedule_policy)
18730
+ @status = args[:status] if args.key?(:status)
18731
+ end
18732
+ end
18733
+
18734
+ # Contains a list of resourcePolicies.
18735
+ class ResourcePolicyAggregatedList
18736
+ include Google::Apis::Core::Hashable
18737
+
18738
+ #
18739
+ # Corresponds to the JSON property `etag`
18740
+ # @return [String]
18741
+ attr_accessor :etag
18742
+
18743
+ # [Output Only] Unique identifier for the resource; defined by the server.
18744
+ # Corresponds to the JSON property `id`
18745
+ # @return [String]
18746
+ attr_accessor :id
18747
+
18748
+ # A list of ResourcePolicy resources.
18749
+ # Corresponds to the JSON property `items`
18750
+ # @return [Hash<String,Google::Apis::ComputeV1::ResourcePoliciesScopedList>]
18751
+ attr_accessor :items
18752
+
18753
+ # Type of resource.
18754
+ # Corresponds to the JSON property `kind`
18755
+ # @return [String]
18756
+ attr_accessor :kind
18757
+
18758
+ # [Output Only] This token allows you to get the next page of results for list
18759
+ # requests. If the number of results is larger than maxResults, use the
18760
+ # nextPageToken as a value for the query parameter pageToken in the next list
18761
+ # request. Subsequent list requests will have their own nextPageToken to
18762
+ # continue paging through the results.
18763
+ # Corresponds to the JSON property `nextPageToken`
18764
+ # @return [String]
18765
+ attr_accessor :next_page_token
18766
+
18767
+ # [Output Only] Server-defined URL for this resource.
18768
+ # Corresponds to the JSON property `selfLink`
18769
+ # @return [String]
18770
+ attr_accessor :self_link
18771
+
18772
+ # [Output Only] Informational warning message.
18773
+ # Corresponds to the JSON property `warning`
18774
+ # @return [Google::Apis::ComputeV1::ResourcePolicyAggregatedList::Warning]
18775
+ attr_accessor :warning
18776
+
18777
+ def initialize(**args)
18778
+ update!(**args)
18779
+ end
18780
+
18781
+ # Update properties of this object
18782
+ def update!(**args)
18783
+ @etag = args[:etag] if args.key?(:etag)
18784
+ @id = args[:id] if args.key?(:id)
18785
+ @items = args[:items] if args.key?(:items)
18786
+ @kind = args[:kind] if args.key?(:kind)
18787
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
18788
+ @self_link = args[:self_link] if args.key?(:self_link)
18789
+ @warning = args[:warning] if args.key?(:warning)
18790
+ end
18791
+
18792
+ # [Output Only] Informational warning message.
18793
+ class Warning
18794
+ include Google::Apis::Core::Hashable
18795
+
18796
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
18797
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
18798
+ # Corresponds to the JSON property `code`
18799
+ # @return [String]
18800
+ attr_accessor :code
18801
+
18802
+ # [Output Only] Metadata about this warning in key: value format. For example:
18803
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
18804
+ # Corresponds to the JSON property `data`
18805
+ # @return [Array<Google::Apis::ComputeV1::ResourcePolicyAggregatedList::Warning::Datum>]
18806
+ attr_accessor :data
18807
+
18808
+ # [Output Only] A human-readable description of the warning code.
18809
+ # Corresponds to the JSON property `message`
18810
+ # @return [String]
18811
+ attr_accessor :message
18812
+
18813
+ def initialize(**args)
18814
+ update!(**args)
18815
+ end
18816
+
18817
+ # Update properties of this object
18818
+ def update!(**args)
18819
+ @code = args[:code] if args.key?(:code)
18820
+ @data = args[:data] if args.key?(:data)
18821
+ @message = args[:message] if args.key?(:message)
18822
+ end
18823
+
18824
+ #
18825
+ class Datum
18826
+ include Google::Apis::Core::Hashable
18827
+
18828
+ # [Output Only] A key that provides more detail on the warning being returned.
18829
+ # For example, for warnings where there are no results in a list request for a
18830
+ # particular zone, this key might be scope and the key value might be the zone
18831
+ # name. Other examples might be a key indicating a deprecated resource and a
18832
+ # suggested replacement, or a warning about invalid network settings (for
18833
+ # example, if an instance attempts to perform IP forwarding but is not enabled
18834
+ # for IP forwarding).
18835
+ # Corresponds to the JSON property `key`
18836
+ # @return [String]
18837
+ attr_accessor :key
18838
+
18839
+ # [Output Only] A warning data value corresponding to the key.
18840
+ # Corresponds to the JSON property `value`
18841
+ # @return [String]
18842
+ attr_accessor :value
18843
+
18844
+ def initialize(**args)
18845
+ update!(**args)
18846
+ end
18847
+
18848
+ # Update properties of this object
18849
+ def update!(**args)
18850
+ @key = args[:key] if args.key?(:key)
18851
+ @value = args[:value] if args.key?(:value)
18852
+ end
18853
+ end
18854
+ end
18855
+ end
18856
+
18857
+ # Time window specified for daily operations.
18858
+ class ResourcePolicyDailyCycle
18859
+ include Google::Apis::Core::Hashable
18860
+
18861
+ # Defines a schedule that runs every nth day of the month.
18862
+ # Corresponds to the JSON property `daysInCycle`
18863
+ # @return [Fixnum]
18864
+ attr_accessor :days_in_cycle
18865
+
18866
+ # [Output only] A predetermined duration for the window, automatically chosen to
18867
+ # be the smallest possible in the given scenario.
18868
+ # Corresponds to the JSON property `duration`
18869
+ # @return [String]
18870
+ attr_accessor :duration
18871
+
18872
+ # Start time of the window. This must be in UTC format that resolves to one of
18873
+ # 00:00, 04:00, 08:00, 12:00, 16:00, or 20:00. For example, both 13:00-5 and 08:
18874
+ # 00 are valid.
18875
+ # Corresponds to the JSON property `startTime`
18876
+ # @return [String]
18877
+ attr_accessor :start_time
18878
+
18879
+ def initialize(**args)
18880
+ update!(**args)
18881
+ end
18882
+
18883
+ # Update properties of this object
18884
+ def update!(**args)
18885
+ @days_in_cycle = args[:days_in_cycle] if args.key?(:days_in_cycle)
18886
+ @duration = args[:duration] if args.key?(:duration)
18887
+ @start_time = args[:start_time] if args.key?(:start_time)
18888
+ end
18889
+ end
18890
+
18891
+ # Time window specified for hourly operations.
18892
+ class ResourcePolicyHourlyCycle
18893
+ include Google::Apis::Core::Hashable
18894
+
18895
+ # [Output only] Duration of the time window, automatically chosen to be smallest
18896
+ # possible in the given scenario.
18897
+ # Corresponds to the JSON property `duration`
17658
18898
  # @return [String]
17659
- attr_accessor :group
18899
+ attr_accessor :duration
18900
+
18901
+ # Allows to define schedule that runs every nth hour.
18902
+ # Corresponds to the JSON property `hoursInCycle`
18903
+ # @return [Fixnum]
18904
+ attr_accessor :hours_in_cycle
18905
+
18906
+ # Time within the window to start the operations. It must be in format "HH:MM",
18907
+ # where HH : [00-23] and MM : [00-00] GMT.
18908
+ # Corresponds to the JSON property `startTime`
18909
+ # @return [String]
18910
+ attr_accessor :start_time
17660
18911
 
17661
18912
  def initialize(**args)
17662
18913
  update!(**args)
@@ -17664,24 +18915,317 @@ module Google
17664
18915
 
17665
18916
  # Update properties of this object
17666
18917
  def update!(**args)
17667
- @group = args[:group] if args.key?(:group)
18918
+ @duration = args[:duration] if args.key?(:duration)
18919
+ @hours_in_cycle = args[:hours_in_cycle] if args.key?(:hours_in_cycle)
18920
+ @start_time = args[:start_time] if args.key?(:start_time)
18921
+ end
18922
+ end
18923
+
18924
+ #
18925
+ class ResourcePolicyList
18926
+ include Google::Apis::Core::Hashable
18927
+
18928
+ #
18929
+ # Corresponds to the JSON property `etag`
18930
+ # @return [String]
18931
+ attr_accessor :etag
18932
+
18933
+ # [Output Only] The unique identifier for the resource. This identifier is
18934
+ # defined by the server.
18935
+ # Corresponds to the JSON property `id`
18936
+ # @return [String]
18937
+ attr_accessor :id
18938
+
18939
+ # [Output Only] A list of ResourcePolicy resources.
18940
+ # Corresponds to the JSON property `items`
18941
+ # @return [Array<Google::Apis::ComputeV1::ResourcePolicy>]
18942
+ attr_accessor :items
18943
+
18944
+ # [Output Only] Type of resource.Always compute#resourcePoliciesList for listsof
18945
+ # resourcePolicies
18946
+ # Corresponds to the JSON property `kind`
18947
+ # @return [String]
18948
+ attr_accessor :kind
18949
+
18950
+ # [Output Only] This token allows you to get the next page of results for list
18951
+ # requests. If the number of results is larger than maxResults, use the
18952
+ # nextPageToken as a value for the query parameter pageToken in the next list
18953
+ # request. Subsequent list requests will have their own nextPageToken to
18954
+ # continue paging through the results.
18955
+ # Corresponds to the JSON property `nextPageToken`
18956
+ # @return [String]
18957
+ attr_accessor :next_page_token
18958
+
18959
+ # [Output Only] Server-defined URL for this resource.
18960
+ # Corresponds to the JSON property `selfLink`
18961
+ # @return [String]
18962
+ attr_accessor :self_link
18963
+
18964
+ # [Output Only] Informational warning message.
18965
+ # Corresponds to the JSON property `warning`
18966
+ # @return [Google::Apis::ComputeV1::ResourcePolicyList::Warning]
18967
+ attr_accessor :warning
18968
+
18969
+ def initialize(**args)
18970
+ update!(**args)
18971
+ end
18972
+
18973
+ # Update properties of this object
18974
+ def update!(**args)
18975
+ @etag = args[:etag] if args.key?(:etag)
18976
+ @id = args[:id] if args.key?(:id)
18977
+ @items = args[:items] if args.key?(:items)
18978
+ @kind = args[:kind] if args.key?(:kind)
18979
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
18980
+ @self_link = args[:self_link] if args.key?(:self_link)
18981
+ @warning = args[:warning] if args.key?(:warning)
18982
+ end
18983
+
18984
+ # [Output Only] Informational warning message.
18985
+ class Warning
18986
+ include Google::Apis::Core::Hashable
18987
+
18988
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
18989
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
18990
+ # Corresponds to the JSON property `code`
18991
+ # @return [String]
18992
+ attr_accessor :code
18993
+
18994
+ # [Output Only] Metadata about this warning in key: value format. For example:
18995
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
18996
+ # Corresponds to the JSON property `data`
18997
+ # @return [Array<Google::Apis::ComputeV1::ResourcePolicyList::Warning::Datum>]
18998
+ attr_accessor :data
18999
+
19000
+ # [Output Only] A human-readable description of the warning code.
19001
+ # Corresponds to the JSON property `message`
19002
+ # @return [String]
19003
+ attr_accessor :message
19004
+
19005
+ def initialize(**args)
19006
+ update!(**args)
19007
+ end
19008
+
19009
+ # Update properties of this object
19010
+ def update!(**args)
19011
+ @code = args[:code] if args.key?(:code)
19012
+ @data = args[:data] if args.key?(:data)
19013
+ @message = args[:message] if args.key?(:message)
19014
+ end
19015
+
19016
+ #
19017
+ class Datum
19018
+ include Google::Apis::Core::Hashable
19019
+
19020
+ # [Output Only] A key that provides more detail on the warning being returned.
19021
+ # For example, for warnings where there are no results in a list request for a
19022
+ # particular zone, this key might be scope and the key value might be the zone
19023
+ # name. Other examples might be a key indicating a deprecated resource and a
19024
+ # suggested replacement, or a warning about invalid network settings (for
19025
+ # example, if an instance attempts to perform IP forwarding but is not enabled
19026
+ # for IP forwarding).
19027
+ # Corresponds to the JSON property `key`
19028
+ # @return [String]
19029
+ attr_accessor :key
19030
+
19031
+ # [Output Only] A warning data value corresponding to the key.
19032
+ # Corresponds to the JSON property `value`
19033
+ # @return [String]
19034
+ attr_accessor :value
19035
+
19036
+ def initialize(**args)
19037
+ update!(**args)
19038
+ end
19039
+
19040
+ # Update properties of this object
19041
+ def update!(**args)
19042
+ @key = args[:key] if args.key?(:key)
19043
+ @value = args[:value] if args.key?(:value)
19044
+ end
19045
+ end
19046
+ end
19047
+ end
19048
+
19049
+ # A snapshot schedule policy specifies when and how frequently snapshots are to
19050
+ # be created for the target disk. Also specifies how many and how long these
19051
+ # scheduled snapshots should be retained.
19052
+ class ResourcePolicySnapshotSchedulePolicy
19053
+ include Google::Apis::Core::Hashable
19054
+
19055
+ # Policy for retention of scheduled snapshots.
19056
+ # Corresponds to the JSON property `retentionPolicy`
19057
+ # @return [Google::Apis::ComputeV1::ResourcePolicySnapshotSchedulePolicyRetentionPolicy]
19058
+ attr_accessor :retention_policy
19059
+
19060
+ # A schedule for disks where the schedueled operations are performed.
19061
+ # Corresponds to the JSON property `schedule`
19062
+ # @return [Google::Apis::ComputeV1::ResourcePolicySnapshotSchedulePolicySchedule]
19063
+ attr_accessor :schedule
19064
+
19065
+ # Specified snapshot properties for scheduled snapshots created by this policy.
19066
+ # Corresponds to the JSON property `snapshotProperties`
19067
+ # @return [Google::Apis::ComputeV1::ResourcePolicySnapshotSchedulePolicySnapshotProperties]
19068
+ attr_accessor :snapshot_properties
19069
+
19070
+ def initialize(**args)
19071
+ update!(**args)
19072
+ end
19073
+
19074
+ # Update properties of this object
19075
+ def update!(**args)
19076
+ @retention_policy = args[:retention_policy] if args.key?(:retention_policy)
19077
+ @schedule = args[:schedule] if args.key?(:schedule)
19078
+ @snapshot_properties = args[:snapshot_properties] if args.key?(:snapshot_properties)
19079
+ end
19080
+ end
19081
+
19082
+ # Policy for retention of scheduled snapshots.
19083
+ class ResourcePolicySnapshotSchedulePolicyRetentionPolicy
19084
+ include Google::Apis::Core::Hashable
19085
+
19086
+ # Maximum age of the snapshot that is allowed to be kept.
19087
+ # Corresponds to the JSON property `maxRetentionDays`
19088
+ # @return [Fixnum]
19089
+ attr_accessor :max_retention_days
19090
+
19091
+ # Specifies the behavior to apply to scheduled snapshots when the source disk is
19092
+ # deleted.
19093
+ # Corresponds to the JSON property `onSourceDiskDelete`
19094
+ # @return [String]
19095
+ attr_accessor :on_source_disk_delete
19096
+
19097
+ def initialize(**args)
19098
+ update!(**args)
19099
+ end
19100
+
19101
+ # Update properties of this object
19102
+ def update!(**args)
19103
+ @max_retention_days = args[:max_retention_days] if args.key?(:max_retention_days)
19104
+ @on_source_disk_delete = args[:on_source_disk_delete] if args.key?(:on_source_disk_delete)
19105
+ end
19106
+ end
19107
+
19108
+ # A schedule for disks where the schedueled operations are performed.
19109
+ class ResourcePolicySnapshotSchedulePolicySchedule
19110
+ include Google::Apis::Core::Hashable
19111
+
19112
+ # Time window specified for daily operations.
19113
+ # Corresponds to the JSON property `dailySchedule`
19114
+ # @return [Google::Apis::ComputeV1::ResourcePolicyDailyCycle]
19115
+ attr_accessor :daily_schedule
19116
+
19117
+ # Time window specified for hourly operations.
19118
+ # Corresponds to the JSON property `hourlySchedule`
19119
+ # @return [Google::Apis::ComputeV1::ResourcePolicyHourlyCycle]
19120
+ attr_accessor :hourly_schedule
19121
+
19122
+ # Time window specified for weekly operations.
19123
+ # Corresponds to the JSON property `weeklySchedule`
19124
+ # @return [Google::Apis::ComputeV1::ResourcePolicyWeeklyCycle]
19125
+ attr_accessor :weekly_schedule
19126
+
19127
+ def initialize(**args)
19128
+ update!(**args)
19129
+ end
19130
+
19131
+ # Update properties of this object
19132
+ def update!(**args)
19133
+ @daily_schedule = args[:daily_schedule] if args.key?(:daily_schedule)
19134
+ @hourly_schedule = args[:hourly_schedule] if args.key?(:hourly_schedule)
19135
+ @weekly_schedule = args[:weekly_schedule] if args.key?(:weekly_schedule)
19136
+ end
19137
+ end
19138
+
19139
+ # Specified snapshot properties for scheduled snapshots created by this policy.
19140
+ class ResourcePolicySnapshotSchedulePolicySnapshotProperties
19141
+ include Google::Apis::Core::Hashable
19142
+
19143
+ # Indication to perform a ?guest aware? snapshot.
19144
+ # Corresponds to the JSON property `guestFlush`
19145
+ # @return [Boolean]
19146
+ attr_accessor :guest_flush
19147
+ alias_method :guest_flush?, :guest_flush
19148
+
19149
+ # Labels to apply to scheduled snapshots. These can be later modified by the
19150
+ # setLabels method. Label values may be empty.
19151
+ # Corresponds to the JSON property `labels`
19152
+ # @return [Hash<String,String>]
19153
+ attr_accessor :labels
19154
+
19155
+ # GCS bucket storage location of the auto snapshot (regional or multi-regional).
19156
+ # Corresponds to the JSON property `storageLocations`
19157
+ # @return [Array<String>]
19158
+ attr_accessor :storage_locations
19159
+
19160
+ def initialize(**args)
19161
+ update!(**args)
19162
+ end
19163
+
19164
+ # Update properties of this object
19165
+ def update!(**args)
19166
+ @guest_flush = args[:guest_flush] if args.key?(:guest_flush)
19167
+ @labels = args[:labels] if args.key?(:labels)
19168
+ @storage_locations = args[:storage_locations] if args.key?(:storage_locations)
19169
+ end
19170
+ end
19171
+
19172
+ # Time window specified for weekly operations.
19173
+ class ResourcePolicyWeeklyCycle
19174
+ include Google::Apis::Core::Hashable
19175
+
19176
+ # Up to 7 intervals/windows, one for each day of the week.
19177
+ # Corresponds to the JSON property `dayOfWeeks`
19178
+ # @return [Array<Google::Apis::ComputeV1::ResourcePolicyWeeklyCycleDayOfWeek>]
19179
+ attr_accessor :day_of_weeks
19180
+
19181
+ def initialize(**args)
19182
+ update!(**args)
19183
+ end
19184
+
19185
+ # Update properties of this object
19186
+ def update!(**args)
19187
+ @day_of_weeks = args[:day_of_weeks] if args.key?(:day_of_weeks)
19188
+ end
19189
+ end
19190
+
19191
+ #
19192
+ class ResourcePolicyWeeklyCycleDayOfWeek
19193
+ include Google::Apis::Core::Hashable
19194
+
19195
+ # Allows to define schedule that runs specified day of the week.
19196
+ # Corresponds to the JSON property `day`
19197
+ # @return [String]
19198
+ attr_accessor :day
19199
+
19200
+ # [Output only] Duration of the time window, automatically chosen to be smallest
19201
+ # possible in the given scenario.
19202
+ # Corresponds to the JSON property `duration`
19203
+ # @return [String]
19204
+ attr_accessor :duration
19205
+
19206
+ # Time within the window to start the operations. It must be in format "HH:MM",
19207
+ # where HH : [00-23] and MM : [00-00] GMT.
19208
+ # Corresponds to the JSON property `startTime`
19209
+ # @return [String]
19210
+ attr_accessor :start_time
19211
+
19212
+ def initialize(**args)
19213
+ update!(**args)
19214
+ end
19215
+
19216
+ # Update properties of this object
19217
+ def update!(**args)
19218
+ @day = args[:day] if args.key?(:day)
19219
+ @duration = args[:duration] if args.key?(:duration)
19220
+ @start_time = args[:start_time] if args.key?(:start_time)
17668
19221
  end
17669
19222
  end
17670
19223
 
17671
- # Represents a Route resource. A route specifies how certain packets should be
17672
- # handled by the network. Routes are associated with instances by tags and the
17673
- # set of routes for a particular instance is called its routing table.
17674
- # For each packet leaving an instance, the system searches that instance's
17675
- # routing table for a single best matching route. Routes match packets by
17676
- # destination IP address, preferring smaller or more specific ranges over larger
17677
- # ones. If there is a tie, the system selects the route with the smallest
17678
- # priority value. If there is still a tie, it uses the layer three and four
17679
- # packet headers to select just one of the remaining matching routes. The packet
17680
- # is then forwarded as specified by the nextHop field of the winning route -
17681
- # either to another instance destination, an instance gateway, or a Google
17682
- # Compute Engine-operated gateway.
17683
- # Packets that do not match any route in the sending instance's routing table
17684
- # are dropped. (== resource_for beta.routes ==) (== resource_for v1.routes ==)
19224
+ # Represents a Route resource.
19225
+ # A route defines a path from VM instances in the VPC network to a specific
19226
+ # destination. This destination can be inside or outside the VPC network. For
19227
+ # more information, read the Routes overview. (== resource_for beta.routes ==) (=
19228
+ # = resource_for v1.routes ==)
17685
19229
  class Route
17686
19230
  include Google::Apis::Core::Hashable
17687
19231
 
@@ -17690,8 +19234,8 @@ module Google
17690
19234
  # @return [String]
17691
19235
  attr_accessor :creation_timestamp
17692
19236
 
17693
- # An optional description of this resource. Provide this property when you
17694
- # create the resource.
19237
+ # An optional description of this resource. Provide this field when you create
19238
+ # the resource.
17695
19239
  # Corresponds to the JSON property `description`
17696
19240
  # @return [String]
17697
19241
  attr_accessor :description
@@ -17716,9 +19260,9 @@ module Google
17716
19260
  # Name of the resource. Provided by the client when the resource is created. The
17717
19261
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
17718
19262
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
17719
- # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
17720
- # and all following characters must be a dash, lowercase letter, or digit,
17721
- # except the last character, which cannot be a dash.
19263
+ # z0-9]*[a-z0-9])?`. The first character must be a lowercase letter, and all
19264
+ # following characters (except for the last character) must be a dash, lowercase
19265
+ # letter, or digit. The last character must be a lowercase letter or digit.
17722
19266
  # Corresponds to the JSON property `name`
17723
19267
  # @return [String]
17724
19268
  attr_accessor :name
@@ -17729,7 +19273,7 @@ module Google
17729
19273
  attr_accessor :network
17730
19274
 
17731
19275
  # The URL to a gateway that should handle matching packets. You can only specify
17732
- # the internet gateway using a full or partial valid URL: projects/<project-id>/
19276
+ # the internet gateway using a full or partial valid URL: projects/project/
17733
19277
  # global/gateways/default-internet-gateway
17734
19278
  # Corresponds to the JSON property `nextHopGateway`
17735
19279
  # @return [String]
@@ -17765,9 +19309,10 @@ module Google
17765
19309
  attr_accessor :next_hop_vpn_tunnel
17766
19310
 
17767
19311
  # The priority of this route. Priority is used to break ties in cases where
17768
- # there is more than one matching route of equal prefix length. In the case of
17769
- # two routes with equal prefix length, the one with the lowest-numbered priority
17770
- # value wins. Default value is 1000. Valid range is 0 through 65535.
19312
+ # there is more than one matching route of equal prefix length. In cases where
19313
+ # multiple routes have equal prefix length, the one with the lowest-numbered
19314
+ # priority value wins. The default value is `1000`. The priority value must be
19315
+ # from `0` to `65535`, inclusive.
17771
19316
  # Corresponds to the JSON property `priority`
17772
19317
  # @return [Fixnum]
17773
19318
  attr_accessor :priority
@@ -17995,7 +19540,8 @@ module Google
17995
19540
  end
17996
19541
  end
17997
19542
 
17998
- # Router resource.
19543
+ # Represents a Cloud Router resource.
19544
+ # For more information about Cloud Router, read the the Cloud Router overview.
17999
19545
  class Router
18000
19546
  include Google::Apis::Core::Hashable
18001
19547
 
@@ -18918,7 +20464,8 @@ module Google
18918
20464
  class RoutersPreviewResponse
18919
20465
  include Google::Apis::Core::Hashable
18920
20466
 
18921
- # Router resource.
20467
+ # Represents a Cloud Router resource.
20468
+ # For more information about Cloud Router, read the the Cloud Router overview.
18922
20469
  # Corresponds to the JSON property `resource`
18923
20470
  # @return [Google::Apis::ComputeV1::Router]
18924
20471
  attr_accessor :resource
@@ -19157,7 +20704,7 @@ module Google
19157
20704
  end
19158
20705
  end
19159
20706
 
19160
- # Sets the scheduling options for an Instance.
20707
+ # Sets the scheduling options for an Instance. NextID: 9
19161
20708
  class Scheduling
19162
20709
  include Google::Apis::Core::Hashable
19163
20710
 
@@ -19607,6 +21154,25 @@ module Google
19607
21154
  end
19608
21155
  end
19609
21156
 
21157
+ #
21158
+ class ServerBinding
21159
+ include Google::Apis::Core::Hashable
21160
+
21161
+ #
21162
+ # Corresponds to the JSON property `type`
21163
+ # @return [String]
21164
+ attr_accessor :type
21165
+
21166
+ def initialize(**args)
21167
+ update!(**args)
21168
+ end
21169
+
21170
+ # Update properties of this object
21171
+ def update!(**args)
21172
+ @type = args[:type] if args.key?(:type)
21173
+ end
21174
+ end
21175
+
19610
21176
  # A service account.
19611
21177
  class ServiceAccount
19612
21178
  include Google::Apis::Core::Hashable
@@ -19776,11 +21342,20 @@ module Google
19776
21342
  end
19777
21343
  end
19778
21344
 
19779
- # A persistent disk snapshot resource. (== resource_for beta.snapshots ==) (==
19780
- # resource_for v1.snapshots ==)
21345
+ # Represents a Persistent Disk Snapshot resource.
21346
+ # You can use snapshots to back up data on a regular interval. For more
21347
+ # information, read Creating persistent disk snapshots. (== resource_for beta.
21348
+ # snapshots ==) (== resource_for v1.snapshots ==)
19781
21349
  class Snapshot
19782
21350
  include Google::Apis::Core::Hashable
19783
21351
 
21352
+ # [Output Only] Set to true if snapshots are automatically by applying resource
21353
+ # policy on the target disk.
21354
+ # Corresponds to the JSON property `autoCreated`
21355
+ # @return [Boolean]
21356
+ attr_accessor :auto_created
21357
+ alias_method :auto_created?, :auto_created
21358
+
19784
21359
  # [Output Only] Creation timestamp in RFC3339 text format.
19785
21360
  # Corresponds to the JSON property `creationTimestamp`
19786
21361
  # @return [String]
@@ -19908,6 +21483,7 @@ module Google
19908
21483
 
19909
21484
  # Update properties of this object
19910
21485
  def update!(**args)
21486
+ @auto_created = args[:auto_created] if args.key?(:auto_created)
19911
21487
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
19912
21488
  @description = args[:description] if args.key?(:description)
19913
21489
  @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
@@ -20592,8 +22168,11 @@ module Google
20592
22168
  end
20593
22169
  end
20594
22170
 
20595
- # A Subnetwork resource. (== resource_for beta.subnetworks ==) (== resource_for
20596
- # v1.subnetworks ==)
22171
+ # Represents a Subnetwork resource.
22172
+ # A subnetwork (also known as a subnet) is a logical partition of a Virtual
22173
+ # Private Cloud network with one primary IP range and zero or more secondary IP
22174
+ # ranges. For more information, read Virtual Private Cloud (VPC) Network. (==
22175
+ # resource_for beta.subnetworks ==) (== resource_for v1.subnetworks ==)
20597
22176
  class Subnetwork
20598
22177
  include Google::Apis::Core::Hashable
20599
22178
 
@@ -21661,9 +23240,12 @@ module Google
21661
23240
  end
21662
23241
  end
21663
23242
 
21664
- # A TargetInstance resource. This resource defines an endpoint instance that
21665
- # terminates traffic of certain protocols. (== resource_for beta.targetInstances
21666
- # ==) (== resource_for v1.targetInstances ==)
23243
+ # Represents a Target Instance resource.
23244
+ # You can use a target instance to handle traffic for one or more forwarding
23245
+ # rules, which is ideal for forwarding protocol traffic that is managed by a
23246
+ # single source. For example, ESP, AH, TCP, or UDP. For more information, read
23247
+ # Target instances. (== resource_for beta.targetInstances ==) (== resource_for
23248
+ # v1.targetInstances ==)
21667
23249
  class TargetInstance
21668
23250
  include Google::Apis::Core::Hashable
21669
23251
 
@@ -23145,7 +24727,9 @@ module Google
23145
24727
  end
23146
24728
  end
23147
24729
 
23148
- # Represents a Target VPN gateway resource. (== resource_for beta.
24730
+ # Represents a Target VPN Gateway resource.
24731
+ # The target VPN gateway resource represents a Classic Cloud VPN gateway. For
24732
+ # more information, read the the Cloud VPN Overview. (== resource_for beta.
23149
24733
  # targetVpnGateways ==) (== resource_for v1.targetVpnGateways ==)
23150
24734
  class TargetVpnGateway
23151
24735
  include Google::Apis::Core::Hashable
@@ -24403,8 +25987,9 @@ module Google
24403
25987
  end
24404
25988
  end
24405
25989
 
24406
- # VPN tunnel resource. (== resource_for beta.vpnTunnels ==) (== resource_for v1.
24407
- # vpnTunnels ==)
25990
+ # Represents a Cloud VPN Tunnel resource.
25991
+ # For more information about VPN, read the the Cloud VPN Overview. (==
25992
+ # resource_for beta.vpnTunnels ==) (== resource_for v1.vpnTunnels ==)
24408
25993
  class VpnTunnel
24409
25994
  include Google::Apis::Core::Hashable
24410
25995
 
@@ -25015,8 +26600,11 @@ module Google
25015
26600
  end
25016
26601
  end
25017
26602
 
25018
- # A Zone resource. (== resource_for beta.zones ==) (== resource_for v1.zones ==)
25019
- # Next ID: 17
26603
+ # Represents a Zone resource.
26604
+ # A zone is a deployment area. These deployment areas are subsets of a region.
26605
+ # For example the zone us-east1-a is located in the us-east1 region. For more
26606
+ # information, read Regions and Zones. (== resource_for beta.zones ==) (==
26607
+ # resource_for v1.zones ==)
25020
26608
  class Zone
25021
26609
  include Google::Apis::Core::Hashable
25022
26610