google-api-client 0.30.2 → 0.30.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (230) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +90 -0
  3. data/README.md +17 -1
  4. data/generated/google/apis/accesscontextmanager_v1beta.rb +1 -1
  5. data/generated/google/apis/accesscontextmanager_v1beta/classes.rb +108 -0
  6. data/generated/google/apis/accesscontextmanager_v1beta/representations.rb +48 -0
  7. data/generated/google/apis/adexchangebuyer_v1_3.rb +1 -1
  8. data/generated/google/apis/adexchangebuyer_v1_3/classes.rb +32 -6
  9. data/generated/google/apis/adexchangebuyer_v1_3/representations.rb +16 -1
  10. data/generated/google/apis/adexchangebuyer_v1_4.rb +1 -1
  11. data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +32 -6
  12. data/generated/google/apis/adexchangebuyer_v1_4/representations.rb +16 -1
  13. data/generated/google/apis/analytics_v3.rb +1 -1
  14. data/generated/google/apis/analytics_v3/classes.rb +1 -1
  15. data/generated/google/apis/analytics_v3/service.rb +1 -1
  16. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  17. data/generated/google/apis/androidmanagement_v1/classes.rb +8 -64
  18. data/generated/google/apis/androidpublisher_v1_1.rb +1 -1
  19. data/generated/google/apis/androidpublisher_v1_1/classes.rb +1 -0
  20. data/generated/google/apis/androidpublisher_v2.rb +1 -1
  21. data/generated/google/apis/androidpublisher_v2/classes.rb +6 -4
  22. data/generated/google/apis/androidpublisher_v3.rb +1 -1
  23. data/generated/google/apis/androidpublisher_v3/classes.rb +6 -4
  24. data/generated/google/apis/bigquery_v2.rb +1 -1
  25. data/generated/google/apis/bigquery_v2/classes.rb +243 -5
  26. data/generated/google/apis/bigquery_v2/representations.rb +77 -0
  27. data/generated/google/apis/bigquery_v2/service.rb +206 -0
  28. data/generated/google/apis/bigquerydatatransfer_v1.rb +1 -1
  29. data/generated/google/apis/bigquerydatatransfer_v1/classes.rb +18 -76
  30. data/generated/google/apis/bigquerydatatransfer_v1/representations.rb +1 -0
  31. data/generated/google/apis/bigquerydatatransfer_v1/service.rb +4 -4
  32. data/generated/google/apis/bigtableadmin_v1.rb +1 -1
  33. data/generated/google/apis/bigtableadmin_v1/classes.rb +0 -72
  34. data/generated/google/apis/bigtableadmin_v1/representations.rb +0 -32
  35. data/generated/google/apis/bigtableadmin_v1/service.rb +0 -69
  36. data/generated/google/apis/bigtableadmin_v2.rb +1 -1
  37. data/generated/google/apis/bigtableadmin_v2/classes.rb +72 -0
  38. data/generated/google/apis/bigtableadmin_v2/representations.rb +32 -0
  39. data/generated/google/apis/bigtableadmin_v2/service.rb +69 -0
  40. data/generated/google/apis/cloudasset_v1.rb +1 -1
  41. data/generated/google/apis/cloudasset_v1/classes.rb +9 -75
  42. data/generated/google/apis/cloudasset_v1beta1.rb +1 -1
  43. data/generated/google/apis/cloudasset_v1beta1/classes.rb +9 -75
  44. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  45. data/generated/google/apis/cloudfunctions_v1/classes.rb +8 -74
  46. data/generated/google/apis/cloudfunctions_v1beta2.rb +1 -1
  47. data/generated/google/apis/cloudfunctions_v1beta2/classes.rb +8 -74
  48. data/generated/google/apis/cloudiot_v1.rb +1 -1
  49. data/generated/google/apis/cloudiot_v1/classes.rb +8 -74
  50. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  51. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +4 -8
  52. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  53. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +4 -5
  54. data/generated/google/apis/cloudresourcemanager_v2.rb +1 -1
  55. data/generated/google/apis/cloudresourcemanager_v2/classes.rb +11 -9
  56. data/generated/google/apis/cloudresourcemanager_v2beta1.rb +1 -1
  57. data/generated/google/apis/cloudresourcemanager_v2beta1/classes.rb +11 -9
  58. data/generated/google/apis/cloudscheduler_v1.rb +1 -1
  59. data/generated/google/apis/cloudscheduler_v1/classes.rb +20 -84
  60. data/generated/google/apis/cloudscheduler_v1beta1.rb +1 -1
  61. data/generated/google/apis/cloudscheduler_v1beta1/classes.rb +20 -84
  62. data/generated/google/apis/cloudsearch_v1.rb +1 -1
  63. data/generated/google/apis/cloudsearch_v1/classes.rb +8 -74
  64. data/generated/google/apis/cloudshell_v1.rb +1 -1
  65. data/generated/google/apis/cloudshell_v1/classes.rb +8 -74
  66. data/generated/google/apis/cloudshell_v1alpha1.rb +1 -1
  67. data/generated/google/apis/cloudshell_v1alpha1/classes.rb +8 -74
  68. data/generated/google/apis/cloudtasks_v2beta2.rb +1 -1
  69. data/generated/google/apis/cloudtasks_v2beta2/classes.rb +8 -0
  70. data/generated/google/apis/cloudtrace_v2.rb +1 -1
  71. data/generated/google/apis/cloudtrace_v2/classes.rb +8 -74
  72. data/generated/google/apis/commentanalyzer_v1alpha1.rb +2 -2
  73. data/generated/google/apis/commentanalyzer_v1alpha1/service.rb +1 -1
  74. data/generated/google/apis/composer_v1.rb +1 -1
  75. data/generated/google/apis/composer_v1/classes.rb +8 -74
  76. data/generated/google/apis/composer_v1beta1.rb +1 -1
  77. data/generated/google/apis/composer_v1beta1/classes.rb +8 -74
  78. data/generated/google/apis/compute_alpha.rb +1 -1
  79. data/generated/google/apis/compute_alpha/classes.rb +1991 -700
  80. data/generated/google/apis/compute_alpha/representations.rb +604 -154
  81. data/generated/google/apis/compute_alpha/service.rb +693 -89
  82. data/generated/google/apis/compute_beta.rb +1 -1
  83. data/generated/google/apis/compute_beta/classes.rb +375 -230
  84. data/generated/google/apis/compute_beta/representations.rb +2 -0
  85. data/generated/google/apis/compute_beta/service.rb +92 -6
  86. data/generated/google/apis/compute_v1.rb +1 -1
  87. data/generated/google/apis/compute_v1/classes.rb +1827 -239
  88. data/generated/google/apis/compute_v1/representations.rb +669 -2
  89. data/generated/google/apis/compute_v1/service.rb +1150 -6
  90. data/generated/google/apis/container_v1.rb +1 -1
  91. data/generated/google/apis/container_v1/classes.rb +104 -0
  92. data/generated/google/apis/container_v1/representations.rb +48 -0
  93. data/generated/google/apis/container_v1beta1.rb +1 -1
  94. data/generated/google/apis/container_v1beta1/classes.rb +67 -2
  95. data/generated/google/apis/container_v1beta1/representations.rb +31 -0
  96. data/generated/google/apis/content_v2.rb +1 -1
  97. data/generated/google/apis/content_v2/classes.rb +4 -0
  98. data/generated/google/apis/content_v2_1.rb +1 -1
  99. data/generated/google/apis/content_v2_1/classes.rb +41 -0
  100. data/generated/google/apis/content_v2_1/representations.rb +19 -0
  101. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  102. data/generated/google/apis/dataflow_v1b3/classes.rb +46 -74
  103. data/generated/google/apis/dataflow_v1b3/representations.rb +17 -0
  104. data/generated/google/apis/datafusion_v1beta1.rb +1 -1
  105. data/generated/google/apis/datafusion_v1beta1/classes.rb +8 -74
  106. data/generated/google/apis/dataproc_v1.rb +1 -1
  107. data/generated/google/apis/dataproc_v1/classes.rb +147 -64
  108. data/generated/google/apis/dataproc_v1/representations.rb +42 -0
  109. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  110. data/generated/google/apis/dataproc_v1beta2/classes.rb +8 -64
  111. data/generated/google/apis/dataproc_v1beta2/service.rb +4 -2
  112. data/generated/google/apis/dialogflow_v2.rb +2 -2
  113. data/generated/google/apis/dialogflow_v2/classes.rb +32 -32
  114. data/generated/google/apis/dialogflow_v2/representations.rb +2 -0
  115. data/generated/google/apis/dialogflow_v2/service.rb +77 -17
  116. data/generated/google/apis/dialogflow_v2beta1.rb +2 -2
  117. data/generated/google/apis/dialogflow_v2beta1/classes.rb +32 -32
  118. data/generated/google/apis/dialogflow_v2beta1/representations.rb +2 -0
  119. data/generated/google/apis/dialogflow_v2beta1/service.rb +79 -19
  120. data/generated/google/apis/dlp_v2.rb +1 -1
  121. data/generated/google/apis/dlp_v2/classes.rb +4 -3
  122. data/generated/google/apis/dns_v1beta2.rb +1 -1
  123. data/generated/google/apis/dns_v1beta2/service.rb +1 -1
  124. data/generated/google/apis/docs_v1.rb +1 -1
  125. data/generated/google/apis/docs_v1/classes.rb +0 -10
  126. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  127. data/generated/google/apis/file_v1.rb +1 -1
  128. data/generated/google/apis/file_v1/classes.rb +17 -74
  129. data/generated/google/apis/file_v1/representations.rb +1 -0
  130. data/generated/google/apis/file_v1beta1.rb +1 -1
  131. data/generated/google/apis/file_v1beta1/classes.rb +17 -74
  132. data/generated/google/apis/file_v1beta1/representations.rb +1 -0
  133. data/generated/google/apis/firebase_v1beta1.rb +44 -0
  134. data/generated/google/apis/firebase_v1beta1/classes.rb +1063 -0
  135. data/generated/google/apis/firebase_v1beta1/representations.rb +432 -0
  136. data/generated/google/apis/firebase_v1beta1/service.rb +1105 -0
  137. data/generated/google/apis/healthcare_v1alpha2.rb +1 -1
  138. data/generated/google/apis/healthcare_v1alpha2/service.rb +43 -61
  139. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  140. data/generated/google/apis/healthcare_v1beta1/service.rb +43 -61
  141. data/generated/google/apis/iam_v1.rb +1 -1
  142. data/generated/google/apis/iam_v1/classes.rb +6 -0
  143. data/generated/google/apis/iam_v1/representations.rb +1 -0
  144. data/generated/google/apis/logging_v2.rb +1 -1
  145. data/generated/google/apis/ml_v1.rb +1 -1
  146. data/generated/google/apis/ml_v1/classes.rb +18 -0
  147. data/generated/google/apis/ml_v1/representations.rb +3 -0
  148. data/generated/google/apis/monitoring_v3.rb +1 -1
  149. data/generated/google/apis/monitoring_v3/classes.rb +1 -1
  150. data/generated/google/apis/people_v1.rb +1 -1
  151. data/generated/google/apis/people_v1/classes.rb +12 -111
  152. data/generated/google/apis/pubsub_v1.rb +1 -1
  153. data/generated/google/apis/pubsub_v1/classes.rb +43 -0
  154. data/generated/google/apis/pubsub_v1/representations.rb +16 -0
  155. data/generated/google/apis/remotebuildexecution_v1.rb +1 -1
  156. data/generated/google/apis/remotebuildexecution_v1/classes.rb +89 -26
  157. data/generated/google/apis/remotebuildexecution_v1/representations.rb +3 -0
  158. data/generated/google/apis/remotebuildexecution_v1alpha.rb +1 -1
  159. data/generated/google/apis/remotebuildexecution_v1alpha/classes.rb +89 -26
  160. data/generated/google/apis/remotebuildexecution_v1alpha/representations.rb +3 -0
  161. data/generated/google/apis/remotebuildexecution_v1alpha/service.rb +15 -1
  162. data/generated/google/apis/remotebuildexecution_v2.rb +1 -1
  163. data/generated/google/apis/remotebuildexecution_v2/classes.rb +103 -30
  164. data/generated/google/apis/remotebuildexecution_v2/representations.rb +3 -0
  165. data/generated/google/apis/remotebuildexecution_v2/service.rb +29 -2
  166. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  167. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +0 -1
  168. data/generated/google/apis/servicecontrol_v1.rb +1 -1
  169. data/generated/google/apis/servicecontrol_v1/classes.rb +64 -148
  170. data/generated/google/apis/servicecontrol_v1/representations.rb +17 -0
  171. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  172. data/generated/google/apis/servicemanagement_v1/classes.rb +8 -74
  173. data/generated/google/apis/servicemanagement_v1/service.rb +9 -1
  174. data/generated/google/apis/servicenetworking_v1.rb +1 -1
  175. data/generated/google/apis/servicenetworking_v1/classes.rb +0 -1
  176. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  177. data/generated/google/apis/servicenetworking_v1beta/classes.rb +0 -1
  178. data/generated/google/apis/serviceusage_v1.rb +1 -1
  179. data/generated/google/apis/serviceusage_v1/classes.rb +0 -1
  180. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  181. data/generated/google/apis/serviceusage_v1beta1/classes.rb +0 -1
  182. data/generated/google/apis/spanner_v1.rb +1 -1
  183. data/generated/google/apis/spanner_v1/classes.rb +12 -111
  184. data/generated/google/apis/speech_v1.rb +1 -1
  185. data/generated/google/apis/speech_v1/classes.rb +13 -74
  186. data/generated/google/apis/speech_v1p1beta1.rb +1 -1
  187. data/generated/google/apis/speech_v1p1beta1/classes.rb +13 -74
  188. data/generated/google/apis/sqladmin_v1beta4.rb +1 -1
  189. data/generated/google/apis/sqladmin_v1beta4/classes.rb +10 -3
  190. data/generated/google/apis/sqladmin_v1beta4/representations.rb +1 -0
  191. data/generated/google/apis/tagmanager_v1.rb +4 -3
  192. data/generated/google/apis/tagmanager_v1/classes.rb +237 -70
  193. data/generated/google/apis/tagmanager_v1/service.rb +223 -374
  194. data/generated/google/apis/tagmanager_v2.rb +4 -3
  195. data/generated/google/apis/tagmanager_v2/classes.rb +221 -208
  196. data/generated/google/apis/tagmanager_v2/representations.rb +1 -16
  197. data/generated/google/apis/tagmanager_v2/service.rb +608 -757
  198. data/generated/google/apis/texttospeech_v1.rb +1 -1
  199. data/generated/google/apis/texttospeech_v1/classes.rb +28 -27
  200. data/generated/google/apis/texttospeech_v1beta1.rb +1 -1
  201. data/generated/google/apis/texttospeech_v1beta1/classes.rb +28 -27
  202. data/generated/google/apis/toolresults_v1beta3.rb +1 -1
  203. data/generated/google/apis/toolresults_v1beta3/classes.rb +35 -0
  204. data/generated/google/apis/toolresults_v1beta3/representations.rb +2 -0
  205. data/generated/google/apis/tpu_v1.rb +1 -1
  206. data/generated/google/apis/tpu_v1/classes.rb +17 -88
  207. data/generated/google/apis/tpu_v1alpha1.rb +1 -1
  208. data/generated/google/apis/tpu_v1alpha1/classes.rb +17 -88
  209. data/generated/google/apis/vault_v1.rb +1 -1
  210. data/generated/google/apis/vault_v1/classes.rb +49 -0
  211. data/generated/google/apis/vault_v1/representations.rb +18 -0
  212. data/generated/google/apis/videointelligence_v1.rb +1 -1
  213. data/generated/google/apis/videointelligence_v1/classes.rb +324 -332
  214. data/generated/google/apis/videointelligence_v1/representations.rb +102 -0
  215. data/generated/google/apis/videointelligence_v1/service.rb +217 -9
  216. data/generated/google/apis/videointelligence_v1beta2.rb +1 -1
  217. data/generated/google/apis/videointelligence_v1beta2/classes.rb +279 -297
  218. data/generated/google/apis/videointelligence_v1beta2/representations.rb +102 -0
  219. data/generated/google/apis/videointelligence_v1p1beta1.rb +1 -1
  220. data/generated/google/apis/videointelligence_v1p1beta1/classes.rb +324 -332
  221. data/generated/google/apis/videointelligence_v1p1beta1/representations.rb +102 -0
  222. data/generated/google/apis/videointelligence_v1p2beta1.rb +1 -1
  223. data/generated/google/apis/videointelligence_v1p2beta1/classes.rb +324 -332
  224. data/generated/google/apis/videointelligence_v1p2beta1/representations.rb +102 -0
  225. data/generated/google/apis/videointelligence_v1p3beta1.rb +1 -1
  226. data/generated/google/apis/videointelligence_v1p3beta1/classes.rb +324 -332
  227. data/generated/google/apis/videointelligence_v1p3beta1/representations.rb +102 -0
  228. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  229. data/lib/google/apis/version.rb +1 -1
  230. metadata +6 -2
@@ -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