google-api-client 0.9.8 → 0.9.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (197) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +30 -0
  3. data/Gemfile +9 -1
  4. data/README.md +10 -2
  5. data/api_names.yaml +61 -110
  6. data/generated/google/apis/adexchangebuyer_v1_4.rb +1 -1
  7. data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +160 -9
  8. data/generated/google/apis/adexchangebuyer_v1_4/representations.rb +46 -0
  9. data/generated/google/apis/adexchangebuyer_v1_4/service.rb +22 -8
  10. data/generated/google/apis/adexchangeseller_v2_0.rb +2 -3
  11. data/generated/google/apis/adexchangeseller_v2_0/service.rb +1 -2
  12. data/generated/google/apis/admin_directory_v1.rb +1 -1
  13. data/generated/google/apis/admin_directory_v1/classes.rb +6 -0
  14. data/generated/google/apis/admin_directory_v1/representations.rb +1 -0
  15. data/generated/google/apis/admin_directory_v1/service.rb +2 -2
  16. data/generated/google/apis/admin_reports_v1.rb +3 -3
  17. data/generated/google/apis/admin_reports_v1/service.rb +2 -2
  18. data/generated/google/apis/adsense_v1_4.rb +1 -1
  19. data/generated/google/apis/adsensehost_v4_1.rb +1 -1
  20. data/generated/google/apis/analytics_v3.rb +1 -1
  21. data/generated/google/apis/analytics_v3/classes.rb +371 -1
  22. data/generated/google/apis/analytics_v3/representations.rb +135 -0
  23. data/generated/google/apis/analytics_v3/service.rb +218 -0
  24. data/generated/google/apis/analyticsreporting_v4.rb +1 -1
  25. data/generated/google/apis/analyticsreporting_v4/classes.rb +50 -22
  26. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  27. data/generated/google/apis/androidenterprise_v1/classes.rb +722 -48
  28. data/generated/google/apis/androidenterprise_v1/representations.rb +305 -0
  29. data/generated/google/apis/androidenterprise_v1/service.rb +1180 -146
  30. data/generated/google/apis/androidpublisher_v2.rb +1 -1
  31. data/generated/google/apis/androidpublisher_v2/classes.rb +9 -8
  32. data/generated/google/apis/appengine_v1beta5.rb +1 -1
  33. data/generated/google/apis/appengine_v1beta5/classes.rb +430 -288
  34. data/generated/google/apis/appengine_v1beta5/representations.rb +84 -10
  35. data/generated/google/apis/appengine_v1beta5/service.rb +285 -25
  36. data/generated/google/apis/appsactivity_v1.rb +1 -1
  37. data/generated/google/apis/appstate_v1.rb +1 -1
  38. data/generated/google/apis/bigquery_v2.rb +1 -1
  39. data/generated/google/apis/bigquery_v2/classes.rb +254 -6
  40. data/generated/google/apis/bigquery_v2/representations.rb +85 -0
  41. data/generated/google/apis/bigquery_v2/service.rb +8 -2
  42. data/generated/google/apis/books_v1.rb +2 -2
  43. data/generated/google/apis/books_v1/classes.rb +77 -0
  44. data/generated/google/apis/books_v1/representations.rb +34 -0
  45. data/generated/google/apis/books_v1/service.rb +7 -3
  46. data/generated/google/apis/calendar_v3.rb +1 -1
  47. data/generated/google/apis/civicinfo_v2.rb +3 -2
  48. data/generated/google/apis/civicinfo_v2/classes.rb +16 -4
  49. data/generated/google/apis/civicinfo_v2/representations.rb +2 -0
  50. data/generated/google/apis/civicinfo_v2/service.rb +8 -2
  51. data/generated/google/apis/classroom_v1.rb +1 -1
  52. data/generated/google/apis/classroom_v1/classes.rb +176 -37
  53. data/generated/google/apis/classroom_v1/representations.rb +73 -9
  54. data/generated/google/apis/classroom_v1/service.rb +392 -37
  55. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  56. data/generated/google/apis/cloudbuild_v1/classes.rb +320 -12
  57. data/generated/google/apis/cloudbuild_v1/representations.rb +136 -2
  58. data/generated/google/apis/cloudbuild_v1/service.rb +174 -1
  59. data/generated/google/apis/clouddebugger_v2.rb +3 -6
  60. data/generated/google/apis/clouddebugger_v2/service.rb +4 -4
  61. data/generated/google/apis/cloudmonitoring_v2beta2.rb +1 -1
  62. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  63. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +157 -3
  64. data/generated/google/apis/cloudresourcemanager_v1/representations.rb +33 -0
  65. data/generated/google/apis/cloudresourcemanager_v1/service.rb +60 -21
  66. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  67. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +22 -5
  68. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +2 -0
  69. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +61 -39
  70. data/generated/google/apis/compute_beta.rb +1 -1
  71. data/generated/google/apis/compute_beta/classes.rb +1620 -199
  72. data/generated/google/apis/compute_beta/representations.rb +563 -0
  73. data/generated/google/apis/compute_beta/service.rb +5123 -2690
  74. data/generated/google/apis/compute_v1.rb +1 -1
  75. data/generated/google/apis/compute_v1/classes.rb +1717 -295
  76. data/generated/google/apis/compute_v1/representations.rb +536 -0
  77. data/generated/google/apis/compute_v1/service.rb +2038 -1041
  78. data/generated/google/apis/content_v2.rb +1 -1
  79. data/generated/google/apis/content_v2/classes.rb +709 -1
  80. data/generated/google/apis/content_v2/representations.rb +319 -0
  81. data/generated/google/apis/content_v2/service.rb +244 -0
  82. data/generated/google/apis/datastore_v1.rb +38 -0
  83. data/generated/google/apis/datastore_v1/classes.rb +1284 -0
  84. data/generated/google/apis/datastore_v1/representations.rb +572 -0
  85. data/generated/google/apis/datastore_v1/service.rb +259 -0
  86. data/generated/google/apis/datastore_v1beta3.rb +38 -0
  87. data/generated/google/apis/datastore_v1beta3/classes.rb +1284 -0
  88. data/generated/google/apis/datastore_v1beta3/representations.rb +572 -0
  89. data/generated/google/apis/datastore_v1beta3/service.rb +259 -0
  90. data/generated/google/apis/deploymentmanager_v2.rb +1 -1
  91. data/generated/google/apis/deploymentmanager_v2/classes.rb +384 -2
  92. data/generated/google/apis/deploymentmanager_v2/representations.rb +161 -0
  93. data/generated/google/apis/deploymentmanager_v2/service.rb +162 -50
  94. data/generated/google/apis/dfareporting_v2_5.rb +40 -0
  95. data/generated/google/apis/dfareporting_v2_5/classes.rb +11225 -0
  96. data/generated/google/apis/dfareporting_v2_5/representations.rb +3982 -0
  97. data/generated/google/apis/dfareporting_v2_5/service.rb +8755 -0
  98. data/generated/google/apis/dfareporting_v2_6.rb +40 -0
  99. data/generated/google/apis/dfareporting_v2_6/classes.rb +11585 -0
  100. data/generated/google/apis/dfareporting_v2_6/representations.rb +4119 -0
  101. data/generated/google/apis/dfareporting_v2_6/service.rb +9006 -0
  102. data/generated/google/apis/dns_v1.rb +1 -1
  103. data/generated/google/apis/dns_v1/classes.rb +1 -1
  104. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  105. data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
  106. data/generated/google/apis/drive_v2.rb +1 -1
  107. data/generated/google/apis/drive_v2/classes.rb +11 -3
  108. data/generated/google/apis/drive_v2/representations.rb +2 -0
  109. data/generated/google/apis/drive_v2/service.rb +8 -2
  110. data/generated/google/apis/drive_v3.rb +1 -1
  111. data/generated/google/apis/drive_v3/classes.rb +36 -16
  112. data/generated/google/apis/drive_v3/representations.rb +2 -0
  113. data/generated/google/apis/drive_v3/service.rb +4 -1
  114. data/generated/google/apis/fitness_v1.rb +8 -2
  115. data/generated/google/apis/fitness_v1/classes.rb +64 -6
  116. data/generated/google/apis/fitness_v1/representations.rb +20 -0
  117. data/generated/google/apis/fitness_v1/service.rb +17 -18
  118. data/generated/google/apis/fusiontables_v2.rb +1 -1
  119. data/generated/google/apis/fusiontables_v2/classes.rb +4 -3
  120. data/generated/google/apis/games_configuration_v1configuration.rb +1 -1
  121. data/generated/google/apis/games_management_v1management.rb +1 -1
  122. data/generated/google/apis/games_v1.rb +1 -1
  123. data/generated/google/apis/genomics_v1.rb +2 -4
  124. data/generated/google/apis/genomics_v1/classes.rb +111 -9
  125. data/generated/google/apis/genomics_v1/representations.rb +36 -0
  126. data/generated/google/apis/genomics_v1/service.rb +4 -7
  127. data/generated/google/apis/gmail_v1.rb +7 -1
  128. data/generated/google/apis/gmail_v1/classes.rb +540 -0
  129. data/generated/google/apis/gmail_v1/representations.rb +213 -0
  130. data/generated/google/apis/gmail_v1/service.rb +898 -1
  131. data/generated/google/apis/groupssettings_v1.rb +1 -1
  132. data/generated/google/apis/groupssettings_v1/classes.rb +12 -0
  133. data/generated/google/apis/groupssettings_v1/representations.rb +2 -0
  134. data/generated/google/apis/identitytoolkit_v3.rb +1 -1
  135. data/generated/google/apis/identitytoolkit_v3/classes.rb +154 -1
  136. data/generated/google/apis/identitytoolkit_v3/representations.rb +35 -0
  137. data/generated/google/apis/language_v1beta1.rb +36 -0
  138. data/generated/google/apis/language_v1beta1/classes.rb +596 -0
  139. data/generated/google/apis/language_v1beta1/representations.rb +289 -0
  140. data/generated/google/apis/language_v1beta1/service.rb +154 -0
  141. data/generated/google/apis/mirror_v1.rb +2 -2
  142. data/generated/google/apis/mirror_v1/service.rb +1 -1
  143. data/generated/google/apis/monitoring_v3.rb +45 -0
  144. data/generated/google/apis/monitoring_v3/classes.rb +1328 -0
  145. data/generated/google/apis/monitoring_v3/representations.rb +516 -0
  146. data/generated/google/apis/monitoring_v3/service.rb +711 -0
  147. data/generated/google/apis/oauth2_v2.rb +1 -1
  148. data/generated/google/apis/pagespeedonline_v2.rb +1 -1
  149. data/generated/google/apis/plus_domains_v1.rb +1 -1
  150. data/generated/google/apis/plus_v1.rb +1 -1
  151. data/generated/google/apis/qpx_express_v1.rb +1 -1
  152. data/generated/google/apis/qpx_express_v1/classes.rb +6 -0
  153. data/generated/google/apis/qpx_express_v1/representations.rb +1 -0
  154. data/generated/google/apis/replicapool_v1beta2.rb +1 -1
  155. data/generated/google/apis/script_v1.rb +1 -1
  156. data/generated/google/apis/script_v1/classes.rb +6 -0
  157. data/generated/google/apis/script_v1/representations.rb +1 -0
  158. data/generated/google/apis/sheets_v4.rb +1 -1
  159. data/generated/google/apis/sheets_v4/classes.rb +35 -0
  160. data/generated/google/apis/sheets_v4/representations.rb +16 -0
  161. data/generated/google/apis/sheets_v4/service.rb +55 -0
  162. data/generated/google/apis/speech_v1beta1.rb +34 -0
  163. data/generated/google/apis/speech_v1beta1/classes.rb +521 -0
  164. data/generated/google/apis/speech_v1beta1/representations.rb +219 -0
  165. data/generated/google/apis/speech_v1beta1/service.rb +268 -0
  166. data/generated/google/apis/sqladmin_v1beta4.rb +1 -1
  167. data/generated/google/apis/sqladmin_v1beta4/classes.rb +26 -8
  168. data/generated/google/apis/sqladmin_v1beta4/representations.rb +2 -0
  169. data/generated/google/apis/sqladmin_v1beta4/service.rb +42 -0
  170. data/generated/google/apis/storage_v1.rb +1 -1
  171. data/generated/google/apis/storage_v1/classes.rb +19 -10
  172. data/generated/google/apis/translate_v2.rb +2 -2
  173. data/generated/google/apis/translate_v2/service.rb +1 -1
  174. data/generated/google/apis/vision_v1.rb +1 -1
  175. data/generated/google/apis/vision_v1/classes.rb +10 -9
  176. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  177. data/generated/google/apis/youtube_partner_v1/classes.rb +6 -0
  178. data/generated/google/apis/youtube_partner_v1/representations.rb +2 -0
  179. data/generated/google/apis/youtube_partner_v1/service.rb +15 -3
  180. data/generated/google/apis/youtube_v3.rb +1 -1
  181. data/generated/google/apis/youtube_v3/classes.rb +163 -2
  182. data/generated/google/apis/youtube_v3/representations.rb +82 -0
  183. data/generated/google/apis/youtube_v3/service.rb +6 -2
  184. data/generated/google/apis/youtubereporting_v1.rb +1 -1
  185. data/google-api-client.gemspec +2 -1
  186. data/lib/google/apis/core/api_command.rb +4 -0
  187. data/lib/google/apis/core/base_service.rb +10 -4
  188. data/lib/google/apis/core/download.rb +7 -2
  189. data/lib/google/apis/core/http_command.rb +5 -1
  190. data/lib/google/apis/core/upload.rb +7 -1
  191. data/lib/google/apis/errors.rb +2 -2
  192. data/lib/google/apis/generator/annotator.rb +6 -0
  193. data/lib/google/apis/version.rb +1 -1
  194. data/samples/cli/lib/samples/bigquery.rb +101 -0
  195. data/samples/cli/lib/samples/sheets.rb +61 -0
  196. data/sync.rb +71 -0
  197. metadata +43 -13
@@ -167,13 +167,12 @@ module Google
167
167
  # following criteria are met: + The Project does not have a billing account
168
168
  # associated with it. + The Project has a lifecycle state of ACTIVE. This method
169
169
  # changes the Project's lifecycle state from ACTIVE to DELETE_REQUESTED. The
170
- # deletion starts at an unspecified time, at which point the lifecycle state
171
- # changes to DELETE_IN_PROGRESS. Until the deletion completes, you can check the
172
- # lifecycle state checked by retrieving the Project with GetProject, and the
173
- # Project remains visible to ListProjects. However, you cannot update the
174
- # project. After the deletion completes, the Project is not retrievable by the
175
- # GetProject and ListProjects methods. The caller must have modify permissions
176
- # for this Project.
170
+ # deletion starts at an unspecified time, at which point the Project is no
171
+ # longer accessible. Until the deletion completes, you can check the lifecycle
172
+ # state checked by retrieving the Project with GetProject, and the Project
173
+ # remains visible to ListProjects. However, you cannot update the project. After
174
+ # the deletion completes, the Project is not retrievable by the GetProject and
175
+ # ListProjects methods. The caller must have modify permissions for this Project.
177
176
  # @param [String] project_id
178
177
  # The Project ID (for example, `foo-bar-123`). Required.
179
178
  # @param [String] fields
@@ -205,9 +204,8 @@ module Google
205
204
 
206
205
  # Restores the Project identified by the specified `project_id` (for example, `
207
206
  # my-project-123`). You can only use this method for a Project that has a
208
- # lifecycle state of DELETE_REQUESTED. After deletion starts, as indicated by a
209
- # lifecycle state of DELETE_IN_PROGRESS, the Project cannot be restored. The
210
- # caller must have modify permissions for this Project.
207
+ # lifecycle state of DELETE_REQUESTED. After deletion starts, the Project cannot
208
+ # be restored. The caller must have modify permissions for this Project.
211
209
  # @param [String] project_id
212
210
  # The project ID (for example, `foo-bar-123`). Required.
213
211
  # @param [Google::Apis::CloudresourcemanagerV1::UndeleteProjectRequest] undelete_project_request_object
@@ -279,17 +277,27 @@ module Google
279
277
 
280
278
  # Sets the IAM access control policy for the specified Project. Replaces any
281
279
  # existing policy. The following constraints apply when using `setIamPolicy()`: +
282
- # Project currently supports only `user:`emailid`` and `serviceAccount:`emailid`
283
- # ` members in a `Binding` of a `Policy`. + To be added as an `owner`, a user
284
- # must be invited via Cloud Platform console and must accept the invitation. +
285
- # Members cannot be added to more than one role in the same policy. + There must
286
- # be at least one owner who has accepted the Terms of Service (ToS) agreement in
287
- # the policy. Calling `setIamPolicy()` to to remove the last ToS-accepted owner
288
- # from the policy will fail. + Calling this method requires enabling the App
289
- # Engine Admin API. Note: Removing service accounts from policies or changing
290
- # their roles can render services completely inoperable. It is important to
291
- # understand how the service account is being used before removing or updating
292
- # its roles.
280
+ # Project does not support `allUsers` and `allAuthenticatedUsers` as `members`
281
+ # in a `Binding` of a `Policy`. + The owner role can be granted only to `user`
282
+ # and `serviceAccount`. + Service accounts can be made owners of a project
283
+ # directly without any restrictions. However, to be added as an owner, a user
284
+ # must be invited via Cloud Platform console and must accept the invitation. + A
285
+ # user cannot be granted the owner role using `setIamPolicy()`. The user must be
286
+ # granted the owner role using the Cloud Platform Console and must explicitly
287
+ # accept the invitation. + Invitations to grant the owner role cannot be sent
288
+ # using `setIamPolicy()`; they must be sent only using the Cloud Platform
289
+ # Console. + Membership changes that leave the project without any owners that
290
+ # have accepted the Terms of Service (ToS) will be rejected. + Members cannot be
291
+ # added to more than one role in the same policy. + There must be at least one
292
+ # owner who has accepted the Terms of Service (ToS) agreement in the policy.
293
+ # Calling `setIamPolicy()` to to remove the last ToS-accepted owner from the
294
+ # policy will fail. This restriction also applies to legacy projects that no
295
+ # longer have owners who have accepted the ToS. Edits to IAM policies will be
296
+ # rejected until the lack of a ToS-accepting owner is rectified. + Calling this
297
+ # method requires enabling the App Engine Admin API. Note: Removing service
298
+ # accounts from policies or changing their roles can render services completely
299
+ # inoperable. It is important to understand how the service account is being
300
+ # used before removing or updating its roles.
293
301
  # @param [String] resource
294
302
  # REQUIRED: The resource for which the policy is being specified. `resource` is
295
303
  # usually specified as a path, such as `projects/*project*/zones/*zone*/disks/*
@@ -360,6 +368,37 @@ module Google
360
368
  command.query['quotaUser'] = quota_user unless quota_user.nil?
361
369
  execute_or_queue_command(command, &block)
362
370
  end
371
+
372
+ # Gets the latest state of a long-running operation. Clients can use this method
373
+ # to poll the operation result at intervals as recommended by the API service.
374
+ # @param [String] name
375
+ # The name of the operation resource.
376
+ # @param [String] fields
377
+ # Selector specifying which fields to include in a partial response.
378
+ # @param [String] quota_user
379
+ # Available to use for quota purposes for server-side applications. Can be any
380
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
381
+ # @param [Google::Apis::RequestOptions] options
382
+ # Request-specific options
383
+ #
384
+ # @yield [result, err] Result & error if block supplied
385
+ # @yieldparam result [Google::Apis::CloudresourcemanagerV1::Operation] parsed result object
386
+ # @yieldparam err [StandardError] error object if request failed
387
+ #
388
+ # @return [Google::Apis::CloudresourcemanagerV1::Operation]
389
+ #
390
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
391
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
392
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
393
+ def get_operation(name, fields: nil, quota_user: nil, options: nil, &block)
394
+ command = make_simple_command(:get, 'v1/{+name}', options)
395
+ command.response_representation = Google::Apis::CloudresourcemanagerV1::Operation::Representation
396
+ command.response_class = Google::Apis::CloudresourcemanagerV1::Operation
397
+ command.params['name'] = name unless name.nil?
398
+ command.query['fields'] = fields unless fields.nil?
399
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
400
+ execute_or_queue_command(command, &block)
401
+ end
363
402
 
364
403
  protected
365
404
 
@@ -26,7 +26,7 @@ module Google
26
26
  # @see https://cloud.google.com/resource-manager
27
27
  module CloudresourcemanagerV1beta1
28
28
  VERSION = 'V1beta1'
29
- REVISION = '20160518'
29
+ REVISION = '20160617'
30
30
 
31
31
  # View and manage your data across Google Cloud Platform services
32
32
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -44,9 +44,10 @@ module Google
44
44
  # @return [String]
45
45
  attr_accessor :lifecycle_state
46
46
 
47
- # The user-assigned name of the Project. It must be 4 to 30 characters. Allowed
48
- # characters are: lowercase and uppercase letters, numbers, hyphen, single-quote,
49
- # double-quote, space, and exclamation point. Example: My Project Read-write.
47
+ # The user-assigned display name of the Project. It must be 4 to 30 characters.
48
+ # Allowed characters are: lowercase and uppercase letters, numbers, hyphen,
49
+ # single-quote, double-quote, space, and exclamation point. Example: My Project
50
+ # Read-write.
50
51
  # Corresponds to the JSON property `name`
51
52
  # @return [String]
52
53
  attr_accessor :name
@@ -100,7 +101,7 @@ module Google
100
101
  include Google::Apis::Core::Hashable
101
102
 
102
103
  # Required field representing the resource type this id is for. At present, the
103
- # only valid type is "organization".
104
+ # valid types are "project" and "organization".
104
105
  # Corresponds to the JSON property `type`
105
106
  # @return [String]
106
107
  attr_accessor :type
@@ -440,8 +441,16 @@ module Google
440
441
  class Organization
441
442
  include Google::Apis::Core::Hashable
442
443
 
444
+ # Output Only. The resource name of the organization. This is the organization's
445
+ # relative path in the API. Its format is "organizations/[organization_id]". For
446
+ # example, "organizations/1234".
447
+ # Corresponds to the JSON property `name`
448
+ # @return [String]
449
+ attr_accessor :name
450
+
443
451
  # An immutable id for the Organization that is assigned on creation. This should
444
- # be omitted when creating a new Organization. This field is read-only.
452
+ # be omitted when creating a new Organization. This field is read-only. This
453
+ # field is deprecated and will be removed in v1. Use name instead.
445
454
  # Corresponds to the JSON property `organizationId`
446
455
  # @return [String]
447
456
  attr_accessor :organization_id
@@ -466,16 +475,24 @@ module Google
466
475
  # @return [String]
467
476
  attr_accessor :creation_time
468
477
 
478
+ # The organization's current lifecycle state. Assigned by the server. @
479
+ # OutputOnly
480
+ # Corresponds to the JSON property `lifecycleState`
481
+ # @return [String]
482
+ attr_accessor :lifecycle_state
483
+
469
484
  def initialize(**args)
470
485
  update!(**args)
471
486
  end
472
487
 
473
488
  # Update properties of this object
474
489
  def update!(**args)
490
+ @name = args[:name] if args.key?(:name)
475
491
  @organization_id = args[:organization_id] if args.key?(:organization_id)
476
492
  @display_name = args[:display_name] if args.key?(:display_name)
477
493
  @owner = args[:owner] if args.key?(:owner)
478
494
  @creation_time = args[:creation_time] if args.key?(:creation_time)
495
+ @lifecycle_state = args[:lifecycle_state] if args.key?(:lifecycle_state)
479
496
  end
480
497
  end
481
498
 
@@ -247,11 +247,13 @@ module Google
247
247
  class Organization
248
248
  # @private
249
249
  class Representation < Google::Apis::Core::JsonRepresentation
250
+ property :name, as: 'name'
250
251
  property :organization_id, as: 'organizationId'
251
252
  property :display_name, as: 'displayName'
252
253
  property :owner, as: 'owner', class: Google::Apis::CloudresourcemanagerV1beta1::OrganizationOwner, decorator: Google::Apis::CloudresourcemanagerV1beta1::OrganizationOwner::Representation
253
254
 
254
255
  property :creation_time, as: 'creationTime'
256
+ property :lifecycle_state, as: 'lifecycleState'
255
257
  end
256
258
  end
257
259
 
@@ -200,13 +200,12 @@ module Google
200
200
  # following criteria are met: + The Project does not have a billing account
201
201
  # associated with it. + The Project has a lifecycle state of ACTIVE. This method
202
202
  # changes the Project's lifecycle state from ACTIVE to DELETE_REQUESTED. The
203
- # deletion starts at an unspecified time, at which point the lifecycle state
204
- # changes to DELETE_IN_PROGRESS. Until the deletion completes, you can check the
205
- # lifecycle state checked by retrieving the Project with GetProject, and the
206
- # Project remains visible to ListProjects. However, you cannot update the
207
- # project. After the deletion completes, the Project is not retrievable by the
208
- # GetProject and ListProjects methods. The caller must have modify permissions
209
- # for this Project.
203
+ # deletion starts at an unspecified time, at which point the project is no
204
+ # longer accessible. Until the deletion completes, you can check the lifecycle
205
+ # state checked by retrieving the Project with GetProject, and the Project
206
+ # remains visible to ListProjects. However, you cannot update the project. After
207
+ # the deletion completes, the Project is not retrievable by the GetProject and
208
+ # ListProjects methods. The caller must have modify permissions for this Project.
210
209
  # @param [String] project_id
211
210
  # The Project ID (for example, `foo-bar-123`). Required.
212
211
  # @param [String] fields
@@ -238,9 +237,8 @@ module Google
238
237
 
239
238
  # Restores the Project identified by the specified `project_id` (for example, `
240
239
  # my-project-123`). You can only use this method for a Project that has a
241
- # lifecycle state of DELETE_REQUESTED. After deletion starts, as indicated by a
242
- # lifecycle state of DELETE_IN_PROGRESS, the Project cannot be restored. The
243
- # caller must have modify permissions for this Project.
240
+ # lifecycle state of DELETE_REQUESTED. After deletion starts, the Project cannot
241
+ # be restored. The caller must have modify permissions for this Project.
244
242
  # @param [String] project_id
245
243
  # The project ID (for example, `foo-bar-123`). Required.
246
244
  # @param [Google::Apis::CloudresourcemanagerV1beta1::UndeleteProjectRequest] undelete_project_request_object
@@ -347,17 +345,27 @@ module Google
347
345
 
348
346
  # Sets the IAM access control policy for the specified Project. Replaces any
349
347
  # existing policy. The following constraints apply when using `setIamPolicy()`: +
350
- # Project currently supports only `user:`emailid`` and `serviceAccount:`emailid`
351
- # ` members in a `Binding` of a `Policy`. + To be added as an `owner`, a user
352
- # must be invited via Cloud Platform console and must accept the invitation. +
353
- # Members cannot be added to more than one role in the same policy. + There must
354
- # be at least one owner who has accepted the Terms of Service (ToS) agreement in
355
- # the policy. Calling `setIamPolicy()` to to remove the last ToS-accepted owner
356
- # from the policy will fail. + Calling this method requires enabling the App
357
- # Engine Admin API. Note: Removing service accounts from policies or changing
358
- # their roles can render services completely inoperable. It is important to
359
- # understand how the service account is being used before removing or updating
360
- # its roles.
348
+ # Project does not support `allUsers` and `allAuthenticatedUsers` as `members`
349
+ # in a `Binding` of a `Policy`. + The owner role can be granted only to `user`
350
+ # and `serviceAccount`. + Service accounts can be made owners of a project
351
+ # directly without any restrictions. However, to be added as an owner, a user
352
+ # must be invited via Cloud Platform console and must accept the invitation. + A
353
+ # user cannot be granted the owner role using `setIamPolicy()`. The user must be
354
+ # granted the owner role using the Cloud Platform Console and must explicitly
355
+ # accept the invitation. + Invitations to grant the owner role cannot be sent
356
+ # using `setIamPolicy()`; they must be sent only using the Cloud Platform
357
+ # Console. + Membership changes that leave the project without any owners that
358
+ # have accepted the Terms of Service (ToS) will be rejected. + Members cannot be
359
+ # added to more than one role in the same policy. + There must be at least one
360
+ # owner who has accepted the Terms of Service (ToS) agreement in the policy.
361
+ # Calling `setIamPolicy()` to to remove the last ToS-accepted owner from the
362
+ # policy will fail. This restriction also applies to legacy projects that no
363
+ # longer have owners who have accepted the ToS. Edits to IAM policies will be
364
+ # rejected until the lack of a ToS-accepting owner is rectified. + Calling this
365
+ # method requires enabling the App Engine Admin API. Note: Removing service
366
+ # accounts from policies or changing their roles can render services completely
367
+ # inoperable. It is important to understand how the service account is being
368
+ # used before removing or updating its roles.
361
369
  # @param [String] resource
362
370
  # REQUIRED: The resource for which the policy is being specified. `resource` is
363
371
  # usually specified as a path, such as `projects/*project*/zones/*zone*/disks/*
@@ -475,9 +483,13 @@ module Google
475
483
  execute_or_queue_command(command, &block)
476
484
  end
477
485
 
478
- # Fetches an Organization resource identified by the specified `organization_id`.
486
+ # Fetches an Organization resource identified by the specified resource name.
487
+ # @param [String] name
488
+ # The resource name of the Organization to fetch. Its format is "organizations/[
489
+ # organization_id]". For example, "organizations/1234".
479
490
  # @param [String] organization_id
480
- # The id of the Organization resource to fetch.
491
+ # The id of the Organization resource to fetch. This field is deprecated and
492
+ # will be removed in v1. Use name instead.
481
493
  # @param [String] fields
482
494
  # Selector specifying which fields to include in a partial response.
483
495
  # @param [String] quota_user
@@ -495,20 +507,22 @@ module Google
495
507
  # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
496
508
  # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
497
509
  # @raise [Google::Apis::AuthorizationError] Authorization is required
498
- def get_organization(organization_id, fields: nil, quota_user: nil, options: nil, &block)
499
- command = make_simple_command(:get, 'v1beta1/organizations/{organizationId}', options)
510
+ def get_organization(name, organization_id: nil, fields: nil, quota_user: nil, options: nil, &block)
511
+ command = make_simple_command(:get, 'v1beta1/{+name}', options)
500
512
  command.response_representation = Google::Apis::CloudresourcemanagerV1beta1::Organization::Representation
501
513
  command.response_class = Google::Apis::CloudresourcemanagerV1beta1::Organization
502
- command.params['organizationId'] = organization_id unless organization_id.nil?
514
+ command.params['name'] = name unless name.nil?
515
+ command.query['organizationId'] = organization_id unless organization_id.nil?
503
516
  command.query['fields'] = fields unless fields.nil?
504
517
  command.query['quotaUser'] = quota_user unless quota_user.nil?
505
518
  execute_or_queue_command(command, &block)
506
519
  end
507
520
 
508
- # Updates an Organization resource identified by the specified `organization_id`.
509
- # @param [String] organization_id
510
- # An immutable id for the Organization that is assigned on creation. This should
511
- # be omitted when creating a new Organization. This field is read-only.
521
+ # Updates an Organization resource identified by the specified resource name.
522
+ # @param [String] name
523
+ # Output Only. The resource name of the organization. This is the organization's
524
+ # relative path in the API. Its format is "organizations/[organization_id]". For
525
+ # example, "organizations/1234".
512
526
  # @param [Google::Apis::CloudresourcemanagerV1beta1::Organization] organization_object
513
527
  # @param [String] fields
514
528
  # Selector specifying which fields to include in a partial response.
@@ -527,20 +541,22 @@ module Google
527
541
  # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
528
542
  # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
529
543
  # @raise [Google::Apis::AuthorizationError] Authorization is required
530
- def update_organization(organization_id, organization_object = nil, fields: nil, quota_user: nil, options: nil, &block)
531
- command = make_simple_command(:put, 'v1beta1/organizations/{organizationId}', options)
544
+ def update_organization(name, organization_object = nil, fields: nil, quota_user: nil, options: nil, &block)
545
+ command = make_simple_command(:put, 'v1beta1/{+name}', options)
532
546
  command.request_representation = Google::Apis::CloudresourcemanagerV1beta1::Organization::Representation
533
547
  command.request_object = organization_object
534
548
  command.response_representation = Google::Apis::CloudresourcemanagerV1beta1::Organization::Representation
535
549
  command.response_class = Google::Apis::CloudresourcemanagerV1beta1::Organization
536
- command.params['organizationId'] = organization_id unless organization_id.nil?
550
+ command.params['name'] = name unless name.nil?
537
551
  command.query['fields'] = fields unless fields.nil?
538
552
  command.query['quotaUser'] = quota_user unless quota_user.nil?
539
553
  execute_or_queue_command(command, &block)
540
554
  end
541
555
 
542
556
  # Sets the access control policy on an Organization resource. Replaces any
543
- # existing policy.
557
+ # existing policy. The `resource` field should be the organization's resource
558
+ # name, e.g. "organizations/123". For backward compatibility, the resource
559
+ # provided may also be the organization_id. This will not be supported in v1.
544
560
  # @param [String] resource
545
561
  # REQUIRED: The resource for which the policy is being specified. `resource` is
546
562
  # usually specified as a path, such as `projects/*project*/zones/*zone*/disks/*
@@ -565,7 +581,7 @@ module Google
565
581
  # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
566
582
  # @raise [Google::Apis::AuthorizationError] Authorization is required
567
583
  def set_organization_iam_policy(resource, set_iam_policy_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
568
- command = make_simple_command(:post, 'v1beta1/organizations/{resource}:setIamPolicy', options)
584
+ command = make_simple_command(:post, 'v1beta1/{+resource}:setIamPolicy', options)
569
585
  command.request_representation = Google::Apis::CloudresourcemanagerV1beta1::SetIamPolicyRequest::Representation
570
586
  command.request_object = set_iam_policy_request_object
571
587
  command.response_representation = Google::Apis::CloudresourcemanagerV1beta1::Policy::Representation
@@ -577,7 +593,10 @@ module Google
577
593
  end
578
594
 
579
595
  # Gets the access control policy for an Organization resource. May be empty if
580
- # no such policy or resource exists.
596
+ # no such policy or resource exists. The `resource` field should be the
597
+ # organization's resource name, e.g. "organizations/123". For backward
598
+ # compatibility, the resource provided may also be the organization_id. This
599
+ # will not be supported in v1.
581
600
  # @param [String] resource
582
601
  # REQUIRED: The resource for which the policy is being requested. `resource` is
583
602
  # usually specified as a path, such as `projects/*project*/zones/*zone*/disks/*
@@ -602,7 +621,7 @@ module Google
602
621
  # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
603
622
  # @raise [Google::Apis::AuthorizationError] Authorization is required
604
623
  def get_organization_iam_policy(resource, get_iam_policy_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
605
- command = make_simple_command(:post, 'v1beta1/organizations/{resource}:getIamPolicy', options)
624
+ command = make_simple_command(:post, 'v1beta1/{+resource}:getIamPolicy', options)
606
625
  command.request_representation = Google::Apis::CloudresourcemanagerV1beta1::GetIamPolicyRequest::Representation
607
626
  command.request_object = get_iam_policy_request_object
608
627
  command.response_representation = Google::Apis::CloudresourcemanagerV1beta1::Policy::Representation
@@ -613,7 +632,10 @@ module Google
613
632
  execute_or_queue_command(command, &block)
614
633
  end
615
634
 
616
- # Returns permissions that a caller has on the specified Organization.
635
+ # Returns permissions that a caller has on the specified Organization. The `
636
+ # resource` field should be the organization's resource name, e.g. "
637
+ # organizations/123". For backward compatibility, the resource provided may also
638
+ # be the organization_id. This will not be supported in v1.
617
639
  # @param [String] resource
618
640
  # REQUIRED: The resource for which the policy detail is being requested. `
619
641
  # resource` is usually specified as a path, such as `projects/*project*/zones/*
@@ -638,7 +660,7 @@ module Google
638
660
  # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
639
661
  # @raise [Google::Apis::AuthorizationError] Authorization is required
640
662
  def test_organization_iam_permissions(resource, test_iam_permissions_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
641
- command = make_simple_command(:post, 'v1beta1/organizations/{resource}:testIamPermissions', options)
663
+ command = make_simple_command(:post, 'v1beta1/{+resource}:testIamPermissions', options)
642
664
  command.request_representation = Google::Apis::CloudresourcemanagerV1beta1::TestIamPermissionsRequest::Representation
643
665
  command.request_object = test_iam_permissions_request_object
644
666
  command.response_representation = Google::Apis::CloudresourcemanagerV1beta1::TestIamPermissionsResponse::Representation
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://developers.google.com/compute/docs/reference/latest/
26
26
  module ComputeBeta
27
27
  VERSION = 'Beta'
28
- REVISION = '20160519'
28
+ REVISION = '20160908'
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'
@@ -22,7 +22,8 @@ module Google
22
22
  module Apis
23
23
  module ComputeBeta
24
24
 
25
- # An access configuration attached to an instance's network interface.
25
+ # An access configuration attached to an instance's network interface. Only one
26
+ # access config per instance is supported.
26
27
  class AccessConfig
27
28
  include Google::Apis::Core::Hashable
28
29
 
@@ -414,7 +415,8 @@ module Google
414
415
  attr_accessor :mode
415
416
 
416
417
  # Specifies a valid partial or full URL to an existing Persistent Disk resource.
417
- # This field is only applicable for persistent disks.
418
+ # This field is only applicable for persistent disks. Note that for
419
+ # InstanceTemplate, it is just disk name, not URL for the disk.
418
420
  # Corresponds to the JSON property `source`
419
421
  # @return [String]
420
422
  attr_accessor :source
@@ -480,7 +482,8 @@ module Google
480
482
  # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/
481
483
  # diskType
482
484
  # - projects/project/zones/zone/diskTypes/diskType
483
- # - zones/zone/diskTypes/diskType
485
+ # - zones/zone/diskTypes/diskType Note that for InstanceTemplate, this is the
486
+ # name of the disk type, not URL.
484
487
  # Corresponds to the JSON property `diskType`
485
488
  # @return [String]
486
489
  attr_accessor :disk_type
@@ -568,17 +571,36 @@ module Google
568
571
  # @return [String]
569
572
  attr_accessor :name
570
573
 
574
+ # [Output Only] URL of the region where the instance group resides (for
575
+ # autoscalers living in regional scope).
576
+ # Corresponds to the JSON property `region`
577
+ # @return [String]
578
+ attr_accessor :region
579
+
571
580
  # [Output Only] Server-defined URL for the resource.
572
581
  # Corresponds to the JSON property `selfLink`
573
582
  # @return [String]
574
583
  attr_accessor :self_link
575
584
 
585
+ # [Output Only] The status of the autoscaler configuration.
586
+ # Corresponds to the JSON property `status`
587
+ # @return [String]
588
+ attr_accessor :status
589
+
590
+ # [Output Only] Human-readable details about the current state of the autoscaler.
591
+ # Examples: ?Error when fetching replicas: Replica Pool xxx doesn?t exist.? ?
592
+ # Autoscaling capped at min_num_replicas: 2.?
593
+ # Corresponds to the JSON property `statusDetails`
594
+ # @return [Array<Google::Apis::ComputeBeta::AutoscalerStatusDetails>]
595
+ attr_accessor :status_details
596
+
576
597
  # URL of the managed instance group that this autoscaler will scale.
577
598
  # Corresponds to the JSON property `target`
578
599
  # @return [String]
579
600
  attr_accessor :target
580
601
 
581
- # [Output Only] URL of the zone where the instance group resides.
602
+ # [Output Only] URL of the zone where the instance group resides (for
603
+ # autoscalers living in zonal scope).
582
604
  # Corresponds to the JSON property `zone`
583
605
  # @return [String]
584
606
  attr_accessor :zone
@@ -595,7 +617,10 @@ module Google
595
617
  @id = args[:id] if args.key?(:id)
596
618
  @kind = args[:kind] if args.key?(:kind)
597
619
  @name = args[:name] if args.key?(:name)
620
+ @region = args[:region] if args.key?(:region)
598
621
  @self_link = args[:self_link] if args.key?(:self_link)
622
+ @status = args[:status] if args.key?(:status)
623
+ @status_details = args[:status_details] if args.key?(:status_details)
599
624
  @target = args[:target] if args.key?(:target)
600
625
  @zone = args[:zone] if args.key?(:zone)
601
626
  end
@@ -699,6 +724,31 @@ module Google
699
724
  end
700
725
  end
701
726
 
727
+ #
728
+ class AutoscalerStatusDetails
729
+ include Google::Apis::Core::Hashable
730
+
731
+ #
732
+ # Corresponds to the JSON property `message`
733
+ # @return [String]
734
+ attr_accessor :message
735
+
736
+ #
737
+ # Corresponds to the JSON property `type`
738
+ # @return [String]
739
+ attr_accessor :type
740
+
741
+ def initialize(**args)
742
+ update!(**args)
743
+ end
744
+
745
+ # Update properties of this object
746
+ def update!(**args)
747
+ @message = args[:message] if args.key?(:message)
748
+ @type = args[:type] if args.key?(:type)
749
+ end
750
+ end
751
+
702
752
  #
703
753
  class AutoscalersScopedList
704
754
  include Google::Apis::Core::Hashable
@@ -855,7 +905,7 @@ module Google
855
905
  include Google::Apis::Core::Hashable
856
906
 
857
907
  # The target CPU utilization that the autoscaler should maintain. Must be a
858
- # float value in the range (0, 1]. If not specified, the default is 0.8.
908
+ # float value in the range (0, 1]. If not specified, the default is 0.6.
859
909
  # If the CPU level is below the target utilization, the autoscaler scales down
860
910
  # the number of instances until it reaches the minimum number of instances you
861
911
  # specified or until the average CPU of your instances reaches the target
@@ -946,17 +996,20 @@ module Google
946
996
  class Backend
947
997
  include Google::Apis::Core::Hashable
948
998
 
949
- # Specifies the balancing mode for this backend. For global HTTP(S) load
950
- # balancing, the default is UTILIZATION. Valid values are UTILIZATION and RATE.
999
+ # Specifies the balancing mode for this backend. For global HTTP(S) or TCP/SSL
1000
+ # load balancing, the default is UTILIZATION. Valid values are UTILIZATION, RATE
1001
+ # (for HTTP(S)) and CONNECTION (for TCP/SSL).
1002
+ # This cannot be used for internal load balancing.
951
1003
  # Corresponds to the JSON property `balancingMode`
952
1004
  # @return [String]
953
1005
  attr_accessor :balancing_mode
954
1006
 
955
- # A multiplier applied to the group's maximum servicing capacity (either
956
- # UTILIZATION or RATE). Default value is 1, which means the group will serve up
957
- # to 100% of its configured CPU or RPS (depending on balancingMode). A setting
958
- # of 0 means the group is completely drained, offering 0% of its available CPU
959
- # or RPS. Valid range is [0.0,1.0].
1007
+ # A multiplier applied to the group's maximum servicing capacity (based on
1008
+ # UTILIZATION, RATE or CONNECTION). Default value is 1, which means the group
1009
+ # will serve up to 100% of its configured capacity (depending on balancingMode).
1010
+ # A setting of 0 means the group is completely drained, offering 0% of its
1011
+ # available Capacity. Valid range is [0.0,1.0].
1012
+ # This cannot be used for internal load balancing.
960
1013
  # Corresponds to the JSON property `capacityScaler`
961
1014
  # @return [Float]
962
1015
  attr_accessor :capacity_scaler
@@ -974,13 +1027,33 @@ module Google
974
1027
  # Instance Group resource.
975
1028
  # Note that you must specify an Instance Group resource using the fully-
976
1029
  # qualified URL, rather than a partial URL.
1030
+ # When the BackendService has load balancing scheme INTERNAL, the instance group
1031
+ # must be in a zone within the same region as the BackendService.
977
1032
  # Corresponds to the JSON property `group`
978
1033
  # @return [String]
979
1034
  attr_accessor :group
980
1035
 
1036
+ # The max number of simultaneous connections for the group. Can be used with
1037
+ # either CONNECTION or UTILIZATION balancing modes. For CONNECTION mode, either
1038
+ # maxConnections or maxConnectionsPerInstance must be set.
1039
+ # This cannot be used for internal load balancing.
1040
+ # Corresponds to the JSON property `maxConnections`
1041
+ # @return [Fixnum]
1042
+ attr_accessor :max_connections
1043
+
1044
+ # The max number of simultaneous connections that a single backend instance can
1045
+ # handle. This is used to calculate the capacity of the group. Can be used in
1046
+ # either CONNECTION or UTILIZATION balancing modes. For CONNECTION mode, either
1047
+ # maxConnections or maxConnectionsPerInstance must be set.
1048
+ # This cannot be used for internal load balancing.
1049
+ # Corresponds to the JSON property `maxConnectionsPerInstance`
1050
+ # @return [Fixnum]
1051
+ attr_accessor :max_connections_per_instance
1052
+
981
1053
  # The max requests per second (RPS) of the group. Can be used with either RATE
982
1054
  # or UTILIZATION balancing modes, but required if RATE mode. For RATE mode,
983
1055
  # either maxRate or maxRatePerInstance must be set.
1056
+ # This cannot be used for internal load balancing.
984
1057
  # Corresponds to the JSON property `maxRate`
985
1058
  # @return [Fixnum]
986
1059
  attr_accessor :max_rate
@@ -989,12 +1062,14 @@ module Google
989
1062
  # This is used to calculate the capacity of the group. Can be used in either
990
1063
  # balancing mode. For RATE mode, either maxRate or maxRatePerInstance must be
991
1064
  # set.
1065
+ # This cannot be used for internal load balancing.
992
1066
  # Corresponds to the JSON property `maxRatePerInstance`
993
1067
  # @return [Float]
994
1068
  attr_accessor :max_rate_per_instance
995
1069
 
996
1070
  # Used when balancingMode is UTILIZATION. This ratio defines the CPU utilization
997
1071
  # target for the group. The default is 0.8. Valid range is [0.0, 1.0].
1072
+ # This cannot be used for internal load balancing.
998
1073
  # Corresponds to the JSON property `maxUtilization`
999
1074
  # @return [Float]
1000
1075
  attr_accessor :max_utilization
@@ -1009,6 +1084,8 @@ module Google
1009
1084
  @capacity_scaler = args[:capacity_scaler] if args.key?(:capacity_scaler)
1010
1085
  @description = args[:description] if args.key?(:description)
1011
1086
  @group = args[:group] if args.key?(:group)
1087
+ @max_connections = args[:max_connections] if args.key?(:max_connections)
1088
+ @max_connections_per_instance = args[:max_connections_per_instance] if args.key?(:max_connections_per_instance)
1012
1089
  @max_rate = args[:max_rate] if args.key?(:max_rate)
1013
1090
  @max_rate_per_instance = args[:max_rate_per_instance] if args.key?(:max_rate_per_instance)
1014
1091
  @max_utilization = args[:max_utilization] if args.key?(:max_utilization)
@@ -1020,11 +1097,24 @@ module Google
1020
1097
  class BackendService
1021
1098
  include Google::Apis::Core::Hashable
1022
1099
 
1100
+ # Lifetime of cookies in seconds if session_affinity is GENERATED_COOKIE. If set
1101
+ # to 0, the cookie is non-persistent and lasts only until the end of the browser
1102
+ # session (or equivalent). The maximum allowed value for TTL is one day.
1103
+ # When the load balancing scheme is INTERNAL, this field is not used.
1104
+ # Corresponds to the JSON property `affinityCookieTtlSec`
1105
+ # @return [Fixnum]
1106
+ attr_accessor :affinity_cookie_ttl_sec
1107
+
1023
1108
  # The list of backends that serve this BackendService.
1024
1109
  # Corresponds to the JSON property `backends`
1025
1110
  # @return [Array<Google::Apis::ComputeBeta::Backend>]
1026
1111
  attr_accessor :backends
1027
1112
 
1113
+ # Message containing connection draining configuration.
1114
+ # Corresponds to the JSON property `connectionDraining`
1115
+ # @return [Google::Apis::ComputeBeta::ConnectionDraining]
1116
+ attr_accessor :connection_draining
1117
+
1028
1118
  # [Output Only] Creation timestamp in RFC3339 text format.
1029
1119
  # Corresponds to the JSON property `creationTimestamp`
1030
1120
  # @return [String]
@@ -1037,6 +1127,7 @@ module Google
1037
1127
  attr_accessor :description
1038
1128
 
1039
1129
  # If true, enable Cloud CDN for this BackendService.
1130
+ # When the load balancing scheme is INTERNAL, this field is not used.
1040
1131
  # Corresponds to the JSON property `enableCDN`
1041
1132
  # @return [Boolean]
1042
1133
  attr_accessor :enable_cdn
@@ -1053,6 +1144,8 @@ module Google
1053
1144
  # The list of URLs to the HttpHealthCheck or HttpsHealthCheck resource for
1054
1145
  # health checking this BackendService. Currently at most one health check can be
1055
1146
  # specified, and a health check is required.
1147
+ # For internal load balancing, a URL to a HealthCheck resource must be specified
1148
+ # instead.
1056
1149
  # Corresponds to the JSON property `healthChecks`
1057
1150
  # @return [Array<String>]
1058
1151
  attr_accessor :health_checks
@@ -1069,6 +1162,11 @@ module Google
1069
1162
  # @return [String]
1070
1163
  attr_accessor :kind
1071
1164
 
1165
+ #
1166
+ # Corresponds to the JSON property `loadBalancingScheme`
1167
+ # @return [String]
1168
+ attr_accessor :load_balancing_scheme
1169
+
1072
1170
  # Name of the resource. Provided by the client when the resource is created. The
1073
1171
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
1074
1172
  # name must be 1-63 characters long and match the regular expression [a-z]([-a-
@@ -1081,18 +1179,23 @@ module Google
1081
1179
 
1082
1180
  # Deprecated in favor of portName. The TCP port to connect on the backend. The
1083
1181
  # default value is 80.
1182
+ # This cannot be used for internal load balancing.
1084
1183
  # Corresponds to the JSON property `port`
1085
1184
  # @return [Fixnum]
1086
1185
  attr_accessor :port
1087
1186
 
1088
1187
  # Name of backend port. The same name should appear in the instance groups
1089
- # referenced by this service. Required.
1188
+ # referenced by this service. Required when the load balancing scheme is
1189
+ # EXTERNAL.
1190
+ # When the load balancing scheme is INTERNAL, this field is not used.
1090
1191
  # Corresponds to the JSON property `portName`
1091
1192
  # @return [String]
1092
1193
  attr_accessor :port_name
1093
1194
 
1094
1195
  # The protocol this BackendService uses to communicate with backends.
1095
- # Possible values are HTTP, HTTPS, HTTP2, TCP and SSL.
1196
+ # Possible values are HTTP, HTTPS, HTTP2, TCP and SSL. The default is HTTP.
1197
+ # For internal load balancing, the possible values are TCP and UDP, and the
1198
+ # default is TCP.
1096
1199
  # Corresponds to the JSON property `protocol`
1097
1200
  # @return [String]
1098
1201
  attr_accessor :protocol
@@ -1108,6 +1211,16 @@ module Google
1108
1211
  # @return [String]
1109
1212
  attr_accessor :self_link
1110
1213
 
1214
+ # Type of session affinity to use. The default is NONE.
1215
+ # When the load balancing scheme is EXTERNAL, can be NONE, CLIENT_IP, or
1216
+ # GENERATED_COOKIE.
1217
+ # When the load balancing scheme is INTERNAL, can be NONE, CLIENT_IP,
1218
+ # CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO.
1219
+ # When the protocol is UDP, this field is not used.
1220
+ # Corresponds to the JSON property `sessionAffinity`
1221
+ # @return [String]
1222
+ attr_accessor :session_affinity
1223
+
1111
1224
  # How many seconds to wait for the backend before considering it a failed
1112
1225
  # request. Default is 30 seconds.
1113
1226
  # Corresponds to the JSON property `timeoutSec`
@@ -1120,7 +1233,9 @@ module Google
1120
1233
 
1121
1234
  # Update properties of this object
1122
1235
  def update!(**args)
1236
+ @affinity_cookie_ttl_sec = args[:affinity_cookie_ttl_sec] if args.key?(:affinity_cookie_ttl_sec)
1123
1237
  @backends = args[:backends] if args.key?(:backends)
1238
+ @connection_draining = args[:connection_draining] if args.key?(:connection_draining)
1124
1239
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
1125
1240
  @description = args[:description] if args.key?(:description)
1126
1241
  @enable_cdn = args[:enable_cdn] if args.key?(:enable_cdn)
@@ -1128,16 +1243,61 @@ module Google
1128
1243
  @health_checks = args[:health_checks] if args.key?(:health_checks)
1129
1244
  @id = args[:id] if args.key?(:id)
1130
1245
  @kind = args[:kind] if args.key?(:kind)
1246
+ @load_balancing_scheme = args[:load_balancing_scheme] if args.key?(:load_balancing_scheme)
1131
1247
  @name = args[:name] if args.key?(:name)
1132
1248
  @port = args[:port] if args.key?(:port)
1133
1249
  @port_name = args[:port_name] if args.key?(:port_name)
1134
1250
  @protocol = args[:protocol] if args.key?(:protocol)
1135
1251
  @region = args[:region] if args.key?(:region)
1136
1252
  @self_link = args[:self_link] if args.key?(:self_link)
1253
+ @session_affinity = args[:session_affinity] if args.key?(:session_affinity)
1137
1254
  @timeout_sec = args[:timeout_sec] if args.key?(:timeout_sec)
1138
1255
  end
1139
1256
  end
1140
1257
 
1258
+ # Contains a list of BackendServicesScopedList.
1259
+ class BackendServiceAggregatedList
1260
+ include Google::Apis::Core::Hashable
1261
+
1262
+ # [Output Only] Unique identifier for the resource; defined by the server.
1263
+ # Corresponds to the JSON property `id`
1264
+ # @return [String]
1265
+ attr_accessor :id
1266
+
1267
+ # A map of scoped BackendService lists.
1268
+ # Corresponds to the JSON property `items`
1269
+ # @return [Hash<String,Google::Apis::ComputeBeta::BackendServicesScopedList>]
1270
+ attr_accessor :items
1271
+
1272
+ # Type of resource.
1273
+ # Corresponds to the JSON property `kind`
1274
+ # @return [String]
1275
+ attr_accessor :kind
1276
+
1277
+ # [Output Only] A token used to continue a truncated list request.
1278
+ # Corresponds to the JSON property `nextPageToken`
1279
+ # @return [String]
1280
+ attr_accessor :next_page_token
1281
+
1282
+ # [Output Only] Server-defined URL for this resource.
1283
+ # Corresponds to the JSON property `selfLink`
1284
+ # @return [String]
1285
+ attr_accessor :self_link
1286
+
1287
+ def initialize(**args)
1288
+ update!(**args)
1289
+ end
1290
+
1291
+ # Update properties of this object
1292
+ def update!(**args)
1293
+ @id = args[:id] if args.key?(:id)
1294
+ @items = args[:items] if args.key?(:items)
1295
+ @kind = args[:kind] if args.key?(:kind)
1296
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1297
+ @self_link = args[:self_link] if args.key?(:self_link)
1298
+ end
1299
+ end
1300
+
1141
1301
  #
1142
1302
  class BackendServiceGroupHealth
1143
1303
  include Google::Apis::Core::Hashable
@@ -1168,8 +1328,7 @@ module Google
1168
1328
  class BackendServiceList
1169
1329
  include Google::Apis::Core::Hashable
1170
1330
 
1171
- # [Output Only] The unique identifier for the resource. This identifier is
1172
- # defined by the server.
1331
+ # [Output Only] Unique identifier for the resource; defined by the server.
1173
1332
  # Corresponds to the JSON property `id`
1174
1333
  # @return [String]
1175
1334
  attr_accessor :id
@@ -1185,11 +1344,7 @@ module Google
1185
1344
  # @return [String]
1186
1345
  attr_accessor :kind
1187
1346
 
1188
- # [Output Only] This token allows you to get the next page of results for list
1189
- # requests. If the number of results is larger than maxResults, use the
1190
- # nextPageToken as a value for the query parameter pageToken in the next list
1191
- # request. Subsequent list requests will have their own nextPageToken to
1192
- # continue paging through the results.
1347
+ # [Output Only] A token used to continue a truncated list request.
1193
1348
  # Corresponds to the JSON property `nextPageToken`
1194
1349
  # @return [String]
1195
1350
  attr_accessor :next_page_token
@@ -1213,6 +1368,97 @@ module Google
1213
1368
  end
1214
1369
  end
1215
1370
 
1371
+ #
1372
+ class BackendServicesScopedList
1373
+ include Google::Apis::Core::Hashable
1374
+
1375
+ # List of BackendServices contained in this scope.
1376
+ # Corresponds to the JSON property `backendServices`
1377
+ # @return [Array<Google::Apis::ComputeBeta::BackendService>]
1378
+ attr_accessor :backend_services
1379
+
1380
+ # Informational warning which replaces the list of backend services when the
1381
+ # list is empty.
1382
+ # Corresponds to the JSON property `warning`
1383
+ # @return [Google::Apis::ComputeBeta::BackendServicesScopedList::Warning]
1384
+ attr_accessor :warning
1385
+
1386
+ def initialize(**args)
1387
+ update!(**args)
1388
+ end
1389
+
1390
+ # Update properties of this object
1391
+ def update!(**args)
1392
+ @backend_services = args[:backend_services] if args.key?(:backend_services)
1393
+ @warning = args[:warning] if args.key?(:warning)
1394
+ end
1395
+
1396
+ # Informational warning which replaces the list of backend services when the
1397
+ # list is empty.
1398
+ class Warning
1399
+ include Google::Apis::Core::Hashable
1400
+
1401
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
1402
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
1403
+ # Corresponds to the JSON property `code`
1404
+ # @return [String]
1405
+ attr_accessor :code
1406
+
1407
+ # [Output Only] Metadata about this warning in key: value format. For example:
1408
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
1409
+ # Corresponds to the JSON property `data`
1410
+ # @return [Array<Google::Apis::ComputeBeta::BackendServicesScopedList::Warning::Datum>]
1411
+ attr_accessor :data
1412
+
1413
+ # [Output Only] A human-readable description of the warning code.
1414
+ # Corresponds to the JSON property `message`
1415
+ # @return [String]
1416
+ attr_accessor :message
1417
+
1418
+ def initialize(**args)
1419
+ update!(**args)
1420
+ end
1421
+
1422
+ # Update properties of this object
1423
+ def update!(**args)
1424
+ @code = args[:code] if args.key?(:code)
1425
+ @data = args[:data] if args.key?(:data)
1426
+ @message = args[:message] if args.key?(:message)
1427
+ end
1428
+
1429
+ #
1430
+ class Datum
1431
+ include Google::Apis::Core::Hashable
1432
+
1433
+ # [Output Only] A key that provides more detail on the warning being returned.
1434
+ # For example, for warnings where there are no results in a list request for a
1435
+ # particular zone, this key might be scope and the key value might be the zone
1436
+ # name. Other examples might be a key indicating a deprecated resource and a
1437
+ # suggested replacement, or a warning about invalid network settings (for
1438
+ # example, if an instance attempts to perform IP forwarding but is not enabled
1439
+ # for IP forwarding).
1440
+ # Corresponds to the JSON property `key`
1441
+ # @return [String]
1442
+ attr_accessor :key
1443
+
1444
+ # [Output Only] A warning data value corresponding to the key.
1445
+ # Corresponds to the JSON property `value`
1446
+ # @return [String]
1447
+ attr_accessor :value
1448
+
1449
+ def initialize(**args)
1450
+ update!(**args)
1451
+ end
1452
+
1453
+ # Update properties of this object
1454
+ def update!(**args)
1455
+ @key = args[:key] if args.key?(:key)
1456
+ @value = args[:value] if args.key?(:value)
1457
+ end
1458
+ end
1459
+ end
1460
+ end
1461
+
1216
1462
  #
1217
1463
  class CacheInvalidationRule
1218
1464
  include Google::Apis::Core::Hashable
@@ -1232,30 +1478,50 @@ module Google
1232
1478
  end
1233
1479
  end
1234
1480
 
1481
+ # Message containing connection draining configuration.
1482
+ class ConnectionDraining
1483
+ include Google::Apis::Core::Hashable
1484
+
1485
+ # Time for which instance will be drained (not accept new connections, but still
1486
+ # work to finish started).
1487
+ # Corresponds to the JSON property `drainingTimeoutSec`
1488
+ # @return [Fixnum]
1489
+ attr_accessor :draining_timeout_sec
1490
+
1491
+ def initialize(**args)
1492
+ update!(**args)
1493
+ end
1494
+
1495
+ # Update properties of this object
1496
+ def update!(**args)
1497
+ @draining_timeout_sec = args[:draining_timeout_sec] if args.key?(:draining_timeout_sec)
1498
+ end
1499
+ end
1500
+
1235
1501
  # Represents a customer-supplied encryption key
1236
1502
  class CustomerEncryptionKey
1237
1503
  include Google::Apis::Core::Hashable
1238
1504
 
1239
- # Specifies a 256-bit customer-supplied encryption key, encoded in base64 to
1240
- # either encrypt or decrypt this resource.
1505
+ # Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648
1506
+ # base64 to either encrypt or decrypt this resource.
1241
1507
  # Corresponds to the JSON property `rawKey`
1242
1508
  # @return [String]
1243
1509
  attr_accessor :raw_key
1244
1510
 
1245
- # Specifies a base64 encoded, RSA-wrapped 2048-bit customer-supplied encryption
1246
- # key to either encrypt or decrypt this resource.
1511
+ # Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit customer-supplied
1512
+ # encryption key to either encrypt or decrypt this resource.
1247
1513
  # The key must meet the following requirements before you can provide it to
1248
1514
  # Compute Engine:
1249
1515
  # - The key is wrapped using a RSA public key certificate provided by Google.
1250
- # - After being wrapped, the key must be encoded in base64 encoding. Get the
1251
- # RSA public key certificate provided by Google at:
1516
+ # - After being wrapped, the key must be encoded in RFC 4648 base64 encoding.
1517
+ # Get the RSA public key certificate provided by Google at:
1252
1518
  # https://cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem
1253
1519
  # Corresponds to the JSON property `rsaEncryptedKey`
1254
1520
  # @return [String]
1255
1521
  attr_accessor :rsa_encrypted_key
1256
1522
 
1257
- # [Output only] The base64 encoded SHA-256 hash of the customer-supplied
1258
- # encryption key that protects this resource.
1523
+ # [Output only] The RFC 4648 base64 encoded SHA-256 hash of the customer-
1524
+ # supplied encryption key that protects this resource.
1259
1525
  # Corresponds to the JSON property `sha256`
1260
1526
  # @return [String]
1261
1527
  attr_accessor :sha256
@@ -1408,7 +1674,7 @@ module Google
1408
1674
  # @return [String]
1409
1675
  attr_accessor :last_detach_timestamp
1410
1676
 
1411
- # [Output Only] Any applicable publicly visible licenses.
1677
+ # Any applicable publicly visible licenses.
1412
1678
  # Corresponds to the JSON property `licenses`
1413
1679
  # @return [Array<String>]
1414
1680
  attr_accessor :licenses
@@ -2069,8 +2335,8 @@ module Google
2069
2335
  class Firewall
2070
2336
  include Google::Apis::Core::Hashable
2071
2337
 
2072
- # The list of rules specified by this firewall. Each rule specifies a protocol
2073
- # and port-range tuple that describes a permitted connection.
2338
+ # The list of ALLOW rules specified by this firewall. Each rule specifies a
2339
+ # protocol and port-range tuple that describes a permitted connection.
2074
2340
  # Corresponds to the JSON property `allowed`
2075
2341
  # @return [Array<Google::Apis::ComputeBeta::Firewall::Allowed>]
2076
2342
  attr_accessor :allowed
@@ -2125,24 +2391,25 @@ module Google
2125
2391
  # @return [String]
2126
2392
  attr_accessor :self_link
2127
2393
 
2128
- # The IP address blocks that this rule applies to, expressed in CIDR format. One
2129
- # or both of sourceRanges and sourceTags may be set.
2130
- # If both properties are set, an inbound connection is allowed if the range
2131
- # matches the sourceRanges OR the tag of the source matches the sourceTags
2132
- # property. The connection does not need to match both properties.
2394
+ # If source ranges are specified, the firewall will apply only to traffic that
2395
+ # has source IP address in these ranges. These ranges must be expressed in CIDR
2396
+ # format. One or both of sourceRanges and sourceTags may be set. If both
2397
+ # properties are set, the firewall will apply to traffic that has source IP
2398
+ # address within sourceRanges OR the source IP that belongs to a tag listed in
2399
+ # the sourceTags property. The connection does not need to match both properties
2400
+ # for the firewall to apply.
2133
2401
  # Corresponds to the JSON property `sourceRanges`
2134
2402
  # @return [Array<String>]
2135
2403
  attr_accessor :source_ranges
2136
2404
 
2137
- # A list of instance tags which this rule applies to. One or both of
2138
- # sourceRanges and sourceTags may be set.
2139
- # If both properties are set, an inbound connection is allowed if the range
2140
- # matches the sourceRanges OR the tag of the source matches the sourceTags
2141
- # property. The connection does not need to match both properties.
2142
- # Source tags cannot be used to allow access to an instance's external IP
2143
- # address. Because tags are associated with an instance, not an IP address,
2144
- # source tags can only be used to control traffic traveling from an instance
2145
- # inside the same network as the firewall.
2405
+ # If source tags are specified, the firewall will apply only to traffic with
2406
+ # source IP that belongs to a tag listed in source tags. Source tags cannot be
2407
+ # used to control traffic to an instance's external IP address. Because tags are
2408
+ # associated with an instance, not an IP address. One or both of sourceRanges
2409
+ # and sourceTags may be set. If both properties are set, the firewall will apply
2410
+ # to traffic that has source IP address within sourceRanges OR the source IP
2411
+ # that belongs to a tag listed in the sourceTags property. The connection does
2412
+ # not need to match both properties for the firewall to apply.
2146
2413
  # Corresponds to the JSON property `sourceTags`
2147
2414
  # @return [Array<String>]
2148
2415
  attr_accessor :source_tags
@@ -2178,17 +2445,17 @@ module Google
2178
2445
  class Allowed
2179
2446
  include Google::Apis::Core::Hashable
2180
2447
 
2181
- # The IP protocol that is allowed for this rule. The protocol type is required
2182
- # when creating a firewall rule. This value can either be one of the following
2183
- # well known protocol strings (tcp, udp, icmp, esp, ah, sctp), or the IP
2184
- # protocol number.
2448
+ # The IP protocol to which this rule applies. The protocol type is required when
2449
+ # creating a firewall rule. This value can either be one of the following well
2450
+ # known protocol strings (tcp, udp, icmp, esp, ah, sctp), or the IP protocol
2451
+ # number.
2185
2452
  # Corresponds to the JSON property `IPProtocol`
2186
2453
  # @return [String]
2187
2454
  attr_accessor :ip_protocol
2188
2455
 
2189
- # An optional list of ports which are allowed. This field is only applicable for
2190
- # UDP or TCP protocol. Each entry must be either an integer or a range. If not
2191
- # specified, connections through any port are allowed
2456
+ # An optional list of ports to which this rule applies. This field is only
2457
+ # applicable for UDP or TCP protocol. Each entry must be either an integer or a
2458
+ # range. If not specified, this rule applies to connections through any port.
2192
2459
  # Example inputs include: ["22"], ["80","443"], and ["12345-12349"].
2193
2460
  # Corresponds to the JSON property `ports`
2194
2461
  # @return [Array<String>]
@@ -2261,21 +2528,34 @@ module Google
2261
2528
  class ForwardingRule
2262
2529
  include Google::Apis::Core::Hashable
2263
2530
 
2264
- # Value of the reserved IP address that this forwarding rule is serving on
2265
- # behalf of. For global forwarding rules, the address must be a global IP; for
2266
- # regional forwarding rules, the address must live in the same region as the
2267
- # forwarding rule. If left empty (default value), an ephemeral IP from the same
2268
- # scope (global or regional) will be assigned.
2531
+ # The IP address that this forwarding rule is serving on behalf of.
2532
+ # For global forwarding rules, the address must be a global IP; for regional
2533
+ # forwarding rules, the address must live in the same region as the forwarding
2534
+ # rule. By default, this field is empty and an ephemeral IP from the same scope (
2535
+ # global or regional) will be assigned.
2536
+ # When the load balancing scheme is INTERNAL, this can only be an RFC 1918 IP
2537
+ # address belonging to the network/subnetwork configured for the forwarding rule.
2538
+ # A reserved address cannot be used. If the field is empty, the IP address will
2539
+ # be automatically allocated from the internal IP range of the subnetwork or
2540
+ # network configured for this forwarding rule.
2269
2541
  # Corresponds to the JSON property `IPAddress`
2270
2542
  # @return [String]
2271
2543
  attr_accessor :ip_address
2272
2544
 
2273
2545
  # The IP protocol to which this rule applies. Valid options are TCP, UDP, ESP,
2274
2546
  # AH, SCTP or ICMP.
2547
+ # When the load balancing scheme is INTERNAL</code, only TCP and UDP are valid.
2275
2548
  # Corresponds to the JSON property `IPProtocol`
2276
2549
  # @return [String]
2277
2550
  attr_accessor :ip_protocol
2278
2551
 
2552
+ # This field is not used for external load balancing.
2553
+ # For internal load balancing, this field identifies the BackendService resource
2554
+ # to receive the matched traffic.
2555
+ # Corresponds to the JSON property `backendService`
2556
+ # @return [String]
2557
+ attr_accessor :backend_service
2558
+
2279
2559
  # [Output Only] Creation timestamp in RFC3339 text format.
2280
2560
  # Corresponds to the JSON property `creationTimestamp`
2281
2561
  # @return [String]
@@ -2299,6 +2579,15 @@ module Google
2299
2579
  # @return [String]
2300
2580
  attr_accessor :kind
2301
2581
 
2582
+ # This signifies what the ForwardingRule will be used for and can only take the
2583
+ # following values: INTERNAL EXTERNAL The value of INTERNAL means that this will
2584
+ # be used for Internal Network Load Balancing (TCP, UDP). The value of EXTERNAL
2585
+ # means that this will be used for External Load Balancing (HTTP(S) LB, External
2586
+ # TCP/UDP LB, SSL Proxy)
2587
+ # Corresponds to the JSON property `loadBalancingScheme`
2588
+ # @return [String]
2589
+ attr_accessor :load_balancing_scheme
2590
+
2302
2591
  # Name of the resource; provided by the client when the resource is created. The
2303
2592
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
2304
2593
  # name must be 1-63 characters long and match the regular expression [a-z]([-a-
@@ -2309,13 +2598,32 @@ module Google
2309
2598
  # @return [String]
2310
2599
  attr_accessor :name
2311
2600
 
2601
+ # This field is not used for external load balancing.
2602
+ # For internal load balancing, this field identifies the network that the load
2603
+ # balanced IP should belong to for this Forwarding Rule. If this field is not
2604
+ # specified, the default network will be used.
2605
+ # Corresponds to the JSON property `network`
2606
+ # @return [String]
2607
+ attr_accessor :network
2608
+
2312
2609
  # Applicable only when IPProtocol is TCP, UDP, or SCTP, only packets addressed
2313
2610
  # to ports in the specified range will be forwarded to target. Forwarding rules
2314
2611
  # with the same [IPAddress, IPProtocol] pair must have disjoint port ranges.
2612
+ # This field is not used for internal load balancing.
2315
2613
  # Corresponds to the JSON property `portRange`
2316
2614
  # @return [String]
2317
2615
  attr_accessor :port_range
2318
2616
 
2617
+ # This field is not used for external load balancing.
2618
+ # When the load balancing scheme is INTERNAL, a single port or a comma separated
2619
+ # list of ports can be configured. Only packets addressed to these ports will be
2620
+ # forwarded to the backends configured with this forwarding rule. If the port
2621
+ # list is not provided then all ports are allowed to pass through.
2622
+ # You may specify a maximum of up to 5 ports.
2623
+ # Corresponds to the JSON property `ports`
2624
+ # @return [Array<String>]
2625
+ attr_accessor :ports
2626
+
2319
2627
  # [Output Only] URL of the region where the regional forwarding rule resides.
2320
2628
  # This field is not applicable to global forwarding rules.
2321
2629
  # Corresponds to the JSON property `region`
@@ -2327,12 +2635,23 @@ module Google
2327
2635
  # @return [String]
2328
2636
  attr_accessor :self_link
2329
2637
 
2638
+ # This field is not used for external load balancing.
2639
+ # For internal load balancing, this field identifies the subnetwork that the
2640
+ # load balanced IP should belong to for this Forwarding Rule.
2641
+ # If the network specified is in auto subnet mode, this field is optional.
2642
+ # However, if the network is in custom subnet mode, a subnetwork must be
2643
+ # specified.
2644
+ # Corresponds to the JSON property `subnetwork`
2645
+ # @return [String]
2646
+ attr_accessor :subnetwork
2647
+
2330
2648
  # The URL of the target resource to receive the matched traffic. For regional
2331
2649
  # forwarding rules, this target must live in the same region as the forwarding
2332
2650
  # rule. For global forwarding rules, this target must be a global
2333
2651
  # TargetHttpProxy or TargetHttpsProxy resource. The forwarded traffic must be of
2334
2652
  # a type appropriate to the target object. For example, TargetHttpProxy requires
2335
2653
  # HTTP traffic, and TargetHttpsProxy requires HTTPS traffic.
2654
+ # This field is not used for internal load balancing.
2336
2655
  # Corresponds to the JSON property `target`
2337
2656
  # @return [String]
2338
2657
  attr_accessor :target
@@ -2345,14 +2664,19 @@ module Google
2345
2664
  def update!(**args)
2346
2665
  @ip_address = args[:ip_address] if args.key?(:ip_address)
2347
2666
  @ip_protocol = args[:ip_protocol] if args.key?(:ip_protocol)
2667
+ @backend_service = args[:backend_service] if args.key?(:backend_service)
2348
2668
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
2349
2669
  @description = args[:description] if args.key?(:description)
2350
2670
  @id = args[:id] if args.key?(:id)
2351
2671
  @kind = args[:kind] if args.key?(:kind)
2672
+ @load_balancing_scheme = args[:load_balancing_scheme] if args.key?(:load_balancing_scheme)
2352
2673
  @name = args[:name] if args.key?(:name)
2674
+ @network = args[:network] if args.key?(:network)
2353
2675
  @port_range = args[:port_range] if args.key?(:port_range)
2676
+ @ports = args[:ports] if args.key?(:ports)
2354
2677
  @region = args[:region] if args.key?(:region)
2355
2678
  @self_link = args[:self_link] if args.key?(:self_link)
2679
+ @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
2356
2680
  @target = args[:target] if args.key?(:target)
2357
2681
  end
2358
2682
  end
@@ -2579,19 +2903,14 @@ module Google
2579
2903
  end
2580
2904
  end
2581
2905
 
2582
- # A full or valid partial URL to a health check. For example, the following are
2583
- # valid URLs:
2584
- # - https://www.googleapis.com/compute/beta/projects/project-id/global/
2585
- # httpHealthChecks/health-check
2586
- # - projects/project-id/global/httpHealthChecks/health-check
2587
- # - global/httpHealthChecks/health-check
2588
- class HealthCheckReference
2906
+ # Features supported by the guest os.
2907
+ class GuestOsFeature
2589
2908
  include Google::Apis::Core::Hashable
2590
2909
 
2591
- #
2592
- # Corresponds to the JSON property `healthCheck`
2910
+ # The type of supported feature..
2911
+ # Corresponds to the JSON property `type`
2593
2912
  # @return [String]
2594
- attr_accessor :health_check
2913
+ attr_accessor :type
2595
2914
 
2596
2915
  def initialize(**args)
2597
2916
  update!(**args)
@@ -2599,33 +2918,42 @@ module Google
2599
2918
 
2600
2919
  # Update properties of this object
2601
2920
  def update!(**args)
2602
- @health_check = args[:health_check] if args.key?(:health_check)
2921
+ @type = args[:type] if args.key?(:type)
2603
2922
  end
2604
2923
  end
2605
2924
 
2606
2925
  #
2607
- class HealthStatus
2926
+ class Http2HealthCheck
2608
2927
  include Google::Apis::Core::Hashable
2609
2928
 
2610
- # Health state of the instance.
2611
- # Corresponds to the JSON property `healthState`
2929
+ # The value of the host header in the HTTP/2 health check request. If left empty
2930
+ # (default value), the IP on behalf of which this health check is performed will
2931
+ # be used.
2932
+ # Corresponds to the JSON property `host`
2612
2933
  # @return [String]
2613
- attr_accessor :health_state
2934
+ attr_accessor :host
2614
2935
 
2615
- # URL of the instance resource.
2616
- # Corresponds to the JSON property `instance`
2936
+ # The TCP port number for the health check request. The default value is 443.
2937
+ # Corresponds to the JSON property `port`
2938
+ # @return [Fixnum]
2939
+ attr_accessor :port
2940
+
2941
+ # Port name as defined in InstanceGroup#NamedPort#name. If both port and
2942
+ # port_name are defined, port takes precedence.
2943
+ # Corresponds to the JSON property `portName`
2617
2944
  # @return [String]
2618
- attr_accessor :instance
2945
+ attr_accessor :port_name
2619
2946
 
2620
- # The IP address represented by this resource.
2621
- # Corresponds to the JSON property `ipAddress`
2947
+ # Specifies the type of proxy header to append before sending data to the
2948
+ # backend, either NONE or PROXY_V1. The default is NONE.
2949
+ # Corresponds to the JSON property `proxyHeader`
2622
2950
  # @return [String]
2623
- attr_accessor :ip_address
2951
+ attr_accessor :proxy_header
2624
2952
 
2625
- # The port on the instance.
2626
- # Corresponds to the JSON property `port`
2627
- # @return [Fixnum]
2628
- attr_accessor :port
2953
+ # The request path of the HTTP/2 health check request. The default value is /.
2954
+ # Corresponds to the JSON property `requestPath`
2955
+ # @return [String]
2956
+ attr_accessor :request_path
2629
2957
 
2630
2958
  def initialize(**args)
2631
2959
  update!(**args)
@@ -2633,36 +2961,46 @@ module Google
2633
2961
 
2634
2962
  # Update properties of this object
2635
2963
  def update!(**args)
2636
- @health_state = args[:health_state] if args.key?(:health_state)
2637
- @instance = args[:instance] if args.key?(:instance)
2638
- @ip_address = args[:ip_address] if args.key?(:ip_address)
2964
+ @host = args[:host] if args.key?(:host)
2639
2965
  @port = args[:port] if args.key?(:port)
2966
+ @port_name = args[:port_name] if args.key?(:port_name)
2967
+ @proxy_header = args[:proxy_header] if args.key?(:proxy_header)
2968
+ @request_path = args[:request_path] if args.key?(:request_path)
2640
2969
  end
2641
2970
  end
2642
2971
 
2643
- # UrlMaps A host-matching rule for a URL. If matched, will use the named
2644
- # PathMatcher to select the BackendService.
2645
- class HostRule
2972
+ #
2973
+ class HttpHealthCheck
2646
2974
  include Google::Apis::Core::Hashable
2647
2975
 
2648
- # An optional description of this resource. Provide this property when you
2649
- # create the resource.
2650
- # Corresponds to the JSON property `description`
2976
+ # The value of the host header in the HTTP health check request. If left empty (
2977
+ # default value), the IP on behalf of which this health check is performed will
2978
+ # be used.
2979
+ # Corresponds to the JSON property `host`
2651
2980
  # @return [String]
2652
- attr_accessor :description
2981
+ attr_accessor :host
2653
2982
 
2654
- # The list of host patterns to match. They must be valid hostnames, except *
2655
- # will match any string of ([a-z0-9-.]*). In that case, * must be the first
2656
- # character and must be followed in the pattern by either - or ..
2657
- # Corresponds to the JSON property `hosts`
2658
- # @return [Array<String>]
2659
- attr_accessor :hosts
2983
+ # The TCP port number for the health check request. The default value is 80.
2984
+ # Corresponds to the JSON property `port`
2985
+ # @return [Fixnum]
2986
+ attr_accessor :port
2660
2987
 
2661
- # The name of the PathMatcher to use to match the path portion of the URL if the
2662
- # hostRule matches the URL's host portion.
2663
- # Corresponds to the JSON property `pathMatcher`
2988
+ # Port name as defined in InstanceGroup#NamedPort#name. If both port and
2989
+ # port_name are defined, port takes precedence.
2990
+ # Corresponds to the JSON property `portName`
2664
2991
  # @return [String]
2665
- attr_accessor :path_matcher
2992
+ attr_accessor :port_name
2993
+
2994
+ # Specifies the type of proxy header to append before sending data to the
2995
+ # backend, either NONE or PROXY_V1. The default is NONE.
2996
+ # Corresponds to the JSON property `proxyHeader`
2997
+ # @return [String]
2998
+ attr_accessor :proxy_header
2999
+
3000
+ # The request path of the HTTP health check request. The default value is /.
3001
+ # Corresponds to the JSON property `requestPath`
3002
+ # @return [String]
3003
+ attr_accessor :request_path
2666
3004
 
2667
3005
  def initialize(**args)
2668
3006
  update!(**args)
@@ -2670,15 +3008,65 @@ module Google
2670
3008
 
2671
3009
  # Update properties of this object
2672
3010
  def update!(**args)
2673
- @description = args[:description] if args.key?(:description)
2674
- @hosts = args[:hosts] if args.key?(:hosts)
2675
- @path_matcher = args[:path_matcher] if args.key?(:path_matcher)
3011
+ @host = args[:host] if args.key?(:host)
3012
+ @port = args[:port] if args.key?(:port)
3013
+ @port_name = args[:port_name] if args.key?(:port_name)
3014
+ @proxy_header = args[:proxy_header] if args.key?(:proxy_header)
3015
+ @request_path = args[:request_path] if args.key?(:request_path)
2676
3016
  end
2677
3017
  end
2678
3018
 
2679
- # An HttpHealthCheck resource. This resource defines a template for how
2680
- # individual instances should be checked for health, via HTTP.
2681
- class HttpHealthCheck
3019
+ #
3020
+ class HttpsHealthCheck
3021
+ include Google::Apis::Core::Hashable
3022
+
3023
+ # The value of the host header in the HTTPS health check request. If left empty (
3024
+ # default value), the IP on behalf of which this health check is performed will
3025
+ # be used.
3026
+ # Corresponds to the JSON property `host`
3027
+ # @return [String]
3028
+ attr_accessor :host
3029
+
3030
+ # The TCP port number for the health check request. The default value is 443.
3031
+ # Corresponds to the JSON property `port`
3032
+ # @return [Fixnum]
3033
+ attr_accessor :port
3034
+
3035
+ # Port name as defined in InstanceGroup#NamedPort#name. If both port and
3036
+ # port_name are defined, port takes precedence.
3037
+ # Corresponds to the JSON property `portName`
3038
+ # @return [String]
3039
+ attr_accessor :port_name
3040
+
3041
+ # Specifies the type of proxy header to append before sending data to the
3042
+ # backend, either NONE or PROXY_V1. The default is NONE.
3043
+ # Corresponds to the JSON property `proxyHeader`
3044
+ # @return [String]
3045
+ attr_accessor :proxy_header
3046
+
3047
+ # The request path of the HTTPS health check request. The default value is /.
3048
+ # Corresponds to the JSON property `requestPath`
3049
+ # @return [String]
3050
+ attr_accessor :request_path
3051
+
3052
+ def initialize(**args)
3053
+ update!(**args)
3054
+ end
3055
+
3056
+ # Update properties of this object
3057
+ def update!(**args)
3058
+ @host = args[:host] if args.key?(:host)
3059
+ @port = args[:port] if args.key?(:port)
3060
+ @port_name = args[:port_name] if args.key?(:port_name)
3061
+ @proxy_header = args[:proxy_header] if args.key?(:proxy_header)
3062
+ @request_path = args[:request_path] if args.key?(:request_path)
3063
+ end
3064
+ end
3065
+
3066
+ # An HealthCheck resource. This resource defines a template for how individual
3067
+ # virtual machines should be checked for health, via one of the supported
3068
+ # protocols.
3069
+ class HealthCheck
2682
3070
  include Google::Apis::Core::Hashable
2683
3071
 
2684
3072
  # How often (in seconds) to send a health check. The default value is 5 seconds.
@@ -2686,7 +3074,7 @@ module Google
2686
3074
  # @return [Fixnum]
2687
3075
  attr_accessor :check_interval_sec
2688
3076
 
2689
- # [Output Only] Creation timestamp in RFC3339 text format.
3077
+ # [Output Only] Creation timestamp in 3339 text format.
2690
3078
  # Corresponds to the JSON property `creationTimestamp`
2691
3079
  # @return [String]
2692
3080
  attr_accessor :creation_timestamp
@@ -2703,12 +3091,20 @@ module Google
2703
3091
  # @return [Fixnum]
2704
3092
  attr_accessor :healthy_threshold
2705
3093
 
2706
- # The value of the host header in the HTTP health check request. If left empty (
2707
- # default value), the public IP on behalf of which this health check is
2708
- # performed will be used.
2709
- # Corresponds to the JSON property `host`
2710
- # @return [String]
2711
- attr_accessor :host
3094
+ #
3095
+ # Corresponds to the JSON property `http2HealthCheck`
3096
+ # @return [Google::Apis::ComputeBeta::Http2HealthCheck]
3097
+ attr_accessor :http2_health_check
3098
+
3099
+ #
3100
+ # Corresponds to the JSON property `httpHealthCheck`
3101
+ # @return [Google::Apis::ComputeBeta::HttpHealthCheck]
3102
+ attr_accessor :http_health_check
3103
+
3104
+ #
3105
+ # Corresponds to the JSON property `httpsHealthCheck`
3106
+ # @return [Google::Apis::ComputeBeta::HttpsHealthCheck]
3107
+ attr_accessor :https_health_check
2712
3108
 
2713
3109
  # [Output Only] The unique identifier for the resource. This identifier is
2714
3110
  # defined by the server.
@@ -2716,8 +3112,7 @@ module Google
2716
3112
  # @return [String]
2717
3113
  attr_accessor :id
2718
3114
 
2719
- # [Output Only] Type of the resource. Always compute#httpHealthCheck for HTTP
2720
- # health checks.
3115
+ # Type of the resource.
2721
3116
  # Corresponds to the JSON property `kind`
2722
3117
  # @return [String]
2723
3118
  attr_accessor :kind
@@ -2732,21 +3127,21 @@ module Google
2732
3127
  # @return [String]
2733
3128
  attr_accessor :name
2734
3129
 
2735
- # The TCP port number for the HTTP health check request. The default value is 80.
2736
- # Corresponds to the JSON property `port`
2737
- # @return [Fixnum]
2738
- attr_accessor :port
2739
-
2740
- # The request path of the HTTP health check request. The default value is /.
2741
- # Corresponds to the JSON property `requestPath`
2742
- # @return [String]
2743
- attr_accessor :request_path
2744
-
2745
3130
  # [Output Only] Server-defined URL for the resource.
2746
3131
  # Corresponds to the JSON property `selfLink`
2747
3132
  # @return [String]
2748
3133
  attr_accessor :self_link
2749
3134
 
3135
+ #
3136
+ # Corresponds to the JSON property `sslHealthCheck`
3137
+ # @return [Google::Apis::ComputeBeta::SslHealthCheck]
3138
+ attr_accessor :ssl_health_check
3139
+
3140
+ #
3141
+ # Corresponds to the JSON property `tcpHealthCheck`
3142
+ # @return [Google::Apis::ComputeBeta::TcpHealthCheck]
3143
+ attr_accessor :tcp_health_check
3144
+
2750
3145
  # How long (in seconds) to wait before claiming failure. The default value is 5
2751
3146
  # seconds. It is invalid for timeoutSec to have greater value than
2752
3147
  # checkIntervalSec.
@@ -2754,6 +3149,13 @@ module Google
2754
3149
  # @return [Fixnum]
2755
3150
  attr_accessor :timeout_sec
2756
3151
 
3152
+ # Specifies the type of the healthCheck, either TCP, UDP, SSL, HTTP, HTTPS or
3153
+ # HTTP2. If not specified, the default is TCP. Exactly one of the protocol-
3154
+ # specific health check field must be specified, which must match type field.
3155
+ # Corresponds to the JSON property `type`
3156
+ # @return [String]
3157
+ attr_accessor :type
3158
+
2757
3159
  # A so-far healthy instance will be marked unhealthy after this many consecutive
2758
3160
  # failures. The default value is 2.
2759
3161
  # Corresponds to the JSON property `unhealthyThreshold`
@@ -2770,30 +3172,34 @@ module Google
2770
3172
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
2771
3173
  @description = args[:description] if args.key?(:description)
2772
3174
  @healthy_threshold = args[:healthy_threshold] if args.key?(:healthy_threshold)
2773
- @host = args[:host] if args.key?(:host)
3175
+ @http2_health_check = args[:http2_health_check] if args.key?(:http2_health_check)
3176
+ @http_health_check = args[:http_health_check] if args.key?(:http_health_check)
3177
+ @https_health_check = args[:https_health_check] if args.key?(:https_health_check)
2774
3178
  @id = args[:id] if args.key?(:id)
2775
3179
  @kind = args[:kind] if args.key?(:kind)
2776
3180
  @name = args[:name] if args.key?(:name)
2777
- @port = args[:port] if args.key?(:port)
2778
- @request_path = args[:request_path] if args.key?(:request_path)
2779
3181
  @self_link = args[:self_link] if args.key?(:self_link)
3182
+ @ssl_health_check = args[:ssl_health_check] if args.key?(:ssl_health_check)
3183
+ @tcp_health_check = args[:tcp_health_check] if args.key?(:tcp_health_check)
2780
3184
  @timeout_sec = args[:timeout_sec] if args.key?(:timeout_sec)
3185
+ @type = args[:type] if args.key?(:type)
2781
3186
  @unhealthy_threshold = args[:unhealthy_threshold] if args.key?(:unhealthy_threshold)
2782
3187
  end
2783
3188
  end
2784
3189
 
2785
- # Contains a list of HttpHealthCheck resources.
2786
- class HttpHealthCheckList
3190
+ # Contains a list of HealthCheck resources.
3191
+ class HealthCheckList
2787
3192
  include Google::Apis::Core::Hashable
2788
3193
 
2789
- # [Output Only] Unique identifier for the resource. Defined by the server.
3194
+ # [Output Only] The unique identifier for the resource. This identifier is
3195
+ # defined by the server.
2790
3196
  # Corresponds to the JSON property `id`
2791
3197
  # @return [String]
2792
3198
  attr_accessor :id
2793
3199
 
2794
- # A list of HttpHealthCheck resources.
3200
+ # A list of HealthCheck resources.
2795
3201
  # Corresponds to the JSON property `items`
2796
- # @return [Array<Google::Apis::ComputeBeta::HttpHealthCheck>]
3202
+ # @return [Array<Google::Apis::ComputeBeta::HealthCheck>]
2797
3203
  attr_accessor :items
2798
3204
 
2799
3205
  # Type of resource.
@@ -2829,9 +3235,106 @@ module Google
2829
3235
  end
2830
3236
  end
2831
3237
 
2832
- # An HttpsHealthCheck resource. This resource defines a template for how
2833
- # individual instances should be checked for health, via HTTPS.
2834
- class HttpsHealthCheck
3238
+ # A full or valid partial URL to a health check. For example, the following are
3239
+ # valid URLs:
3240
+ # - https://www.googleapis.com/compute/beta/projects/project-id/global/
3241
+ # httpHealthChecks/health-check
3242
+ # - projects/project-id/global/httpHealthChecks/health-check
3243
+ # - global/httpHealthChecks/health-check
3244
+ class HealthCheckReference
3245
+ include Google::Apis::Core::Hashable
3246
+
3247
+ #
3248
+ # Corresponds to the JSON property `healthCheck`
3249
+ # @return [String]
3250
+ attr_accessor :health_check
3251
+
3252
+ def initialize(**args)
3253
+ update!(**args)
3254
+ end
3255
+
3256
+ # Update properties of this object
3257
+ def update!(**args)
3258
+ @health_check = args[:health_check] if args.key?(:health_check)
3259
+ end
3260
+ end
3261
+
3262
+ #
3263
+ class HealthStatus
3264
+ include Google::Apis::Core::Hashable
3265
+
3266
+ # Health state of the instance.
3267
+ # Corresponds to the JSON property `healthState`
3268
+ # @return [String]
3269
+ attr_accessor :health_state
3270
+
3271
+ # URL of the instance resource.
3272
+ # Corresponds to the JSON property `instance`
3273
+ # @return [String]
3274
+ attr_accessor :instance
3275
+
3276
+ # The IP address represented by this resource.
3277
+ # Corresponds to the JSON property `ipAddress`
3278
+ # @return [String]
3279
+ attr_accessor :ip_address
3280
+
3281
+ # The port on the instance.
3282
+ # Corresponds to the JSON property `port`
3283
+ # @return [Fixnum]
3284
+ attr_accessor :port
3285
+
3286
+ def initialize(**args)
3287
+ update!(**args)
3288
+ end
3289
+
3290
+ # Update properties of this object
3291
+ def update!(**args)
3292
+ @health_state = args[:health_state] if args.key?(:health_state)
3293
+ @instance = args[:instance] if args.key?(:instance)
3294
+ @ip_address = args[:ip_address] if args.key?(:ip_address)
3295
+ @port = args[:port] if args.key?(:port)
3296
+ end
3297
+ end
3298
+
3299
+ # UrlMaps A host-matching rule for a URL. If matched, will use the named
3300
+ # PathMatcher to select the BackendService.
3301
+ class HostRule
3302
+ include Google::Apis::Core::Hashable
3303
+
3304
+ # An optional description of this resource. Provide this property when you
3305
+ # create the resource.
3306
+ # Corresponds to the JSON property `description`
3307
+ # @return [String]
3308
+ attr_accessor :description
3309
+
3310
+ # The list of host patterns to match. They must be valid hostnames, except *
3311
+ # will match any string of ([a-z0-9-.]*). In that case, * must be the first
3312
+ # character and must be followed in the pattern by either - or ..
3313
+ # Corresponds to the JSON property `hosts`
3314
+ # @return [Array<String>]
3315
+ attr_accessor :hosts
3316
+
3317
+ # The name of the PathMatcher to use to match the path portion of the URL if the
3318
+ # hostRule matches the URL's host portion.
3319
+ # Corresponds to the JSON property `pathMatcher`
3320
+ # @return [String]
3321
+ attr_accessor :path_matcher
3322
+
3323
+ def initialize(**args)
3324
+ update!(**args)
3325
+ end
3326
+
3327
+ # Update properties of this object
3328
+ def update!(**args)
3329
+ @description = args[:description] if args.key?(:description)
3330
+ @hosts = args[:hosts] if args.key?(:hosts)
3331
+ @path_matcher = args[:path_matcher] if args.key?(:path_matcher)
3332
+ end
3333
+ end
3334
+
3335
+ # An HttpHealthCheck resource. This resource defines a template for how
3336
+ # individual instances should be checked for health, via HTTP.
3337
+ class HttpHealthCheck
2835
3338
  include Google::Apis::Core::Hashable
2836
3339
 
2837
3340
  # How often (in seconds) to send a health check. The default value is 5 seconds.
@@ -2856,7 +3359,7 @@ module Google
2856
3359
  # @return [Fixnum]
2857
3360
  attr_accessor :healthy_threshold
2858
3361
 
2859
- # The value of the host header in the HTTPS health check request. If left empty (
3362
+ # The value of the host header in the HTTP health check request. If left empty (
2860
3363
  # default value), the public IP on behalf of which this health check is
2861
3364
  # performed will be used.
2862
3365
  # Corresponds to the JSON property `host`
@@ -2869,7 +3372,8 @@ module Google
2869
3372
  # @return [String]
2870
3373
  attr_accessor :id
2871
3374
 
2872
- # Type of the resource.
3375
+ # [Output Only] Type of the resource. Always compute#httpHealthCheck for HTTP
3376
+ # health checks.
2873
3377
  # Corresponds to the JSON property `kind`
2874
3378
  # @return [String]
2875
3379
  attr_accessor :kind
@@ -2884,13 +3388,12 @@ module Google
2884
3388
  # @return [String]
2885
3389
  attr_accessor :name
2886
3390
 
2887
- # The TCP port number for the HTTPS health check request. The default value is
2888
- # 443.
3391
+ # The TCP port number for the HTTP health check request. The default value is 80.
2889
3392
  # Corresponds to the JSON property `port`
2890
3393
  # @return [Fixnum]
2891
3394
  attr_accessor :port
2892
3395
 
2893
- # The request path of the HTTPS health check request. The default value is "/".
3396
+ # The request path of the HTTP health check request. The default value is /.
2894
3397
  # Corresponds to the JSON property `requestPath`
2895
3398
  # @return [String]
2896
3399
  attr_accessor :request_path
@@ -2901,7 +3404,7 @@ module Google
2901
3404
  attr_accessor :self_link
2902
3405
 
2903
3406
  # How long (in seconds) to wait before claiming failure. The default value is 5
2904
- # seconds. It is invalid for timeoutSec to have a greater value than
3407
+ # seconds. It is invalid for timeoutSec to have greater value than
2905
3408
  # checkIntervalSec.
2906
3409
  # Corresponds to the JSON property `timeoutSec`
2907
3410
  # @return [Fixnum]
@@ -2935,18 +3438,18 @@ module Google
2935
3438
  end
2936
3439
  end
2937
3440
 
2938
- # Contains a list of HttpsHealthCheck resources.
2939
- class HttpsHealthCheckList
3441
+ # Contains a list of HttpHealthCheck resources.
3442
+ class HttpHealthCheckList
2940
3443
  include Google::Apis::Core::Hashable
2941
3444
 
2942
- # [Output Only] Unique identifier for the resource; defined by the server.
3445
+ # [Output Only] Unique identifier for the resource. Defined by the server.
2943
3446
  # Corresponds to the JSON property `id`
2944
3447
  # @return [String]
2945
3448
  attr_accessor :id
2946
3449
 
2947
- # A list of HttpsHealthCheck resources.
3450
+ # A list of HttpHealthCheck resources.
2948
3451
  # Corresponds to the JSON property `items`
2949
- # @return [Array<Google::Apis::ComputeBeta::HttpsHealthCheck>]
3452
+ # @return [Array<Google::Apis::ComputeBeta::HttpHealthCheck>]
2950
3453
  attr_accessor :items
2951
3454
 
2952
3455
  # Type of resource.
@@ -2982,20 +3485,173 @@ module Google
2982
3485
  end
2983
3486
  end
2984
3487
 
2985
- # An Image resource.
2986
- class Image
3488
+ # An HttpsHealthCheck resource. This resource defines a template for how
3489
+ # individual instances should be checked for health, via HTTPS.
3490
+ class HttpsHealthCheck
2987
3491
  include Google::Apis::Core::Hashable
2988
3492
 
2989
- # Size of the image tar.gz archive stored in Google Cloud Storage (in bytes).
2990
- # Corresponds to the JSON property `archiveSizeBytes`
2991
- # @return [String]
2992
- attr_accessor :archive_size_bytes
3493
+ # How often (in seconds) to send a health check. The default value is 5 seconds.
3494
+ # Corresponds to the JSON property `checkIntervalSec`
3495
+ # @return [Fixnum]
3496
+ attr_accessor :check_interval_sec
2993
3497
 
2994
3498
  # [Output Only] Creation timestamp in RFC3339 text format.
2995
3499
  # Corresponds to the JSON property `creationTimestamp`
2996
3500
  # @return [String]
2997
3501
  attr_accessor :creation_timestamp
2998
3502
 
3503
+ # An optional description of this resource. Provide this property when you
3504
+ # create the resource.
3505
+ # Corresponds to the JSON property `description`
3506
+ # @return [String]
3507
+ attr_accessor :description
3508
+
3509
+ # A so-far unhealthy instance will be marked healthy after this many consecutive
3510
+ # successes. The default value is 2.
3511
+ # Corresponds to the JSON property `healthyThreshold`
3512
+ # @return [Fixnum]
3513
+ attr_accessor :healthy_threshold
3514
+
3515
+ # The value of the host header in the HTTPS health check request. If left empty (
3516
+ # default value), the public IP on behalf of which this health check is
3517
+ # performed will be used.
3518
+ # Corresponds to the JSON property `host`
3519
+ # @return [String]
3520
+ attr_accessor :host
3521
+
3522
+ # [Output Only] The unique identifier for the resource. This identifier is
3523
+ # defined by the server.
3524
+ # Corresponds to the JSON property `id`
3525
+ # @return [String]
3526
+ attr_accessor :id
3527
+
3528
+ # Type of the resource.
3529
+ # Corresponds to the JSON property `kind`
3530
+ # @return [String]
3531
+ attr_accessor :kind
3532
+
3533
+ # Name of the resource. Provided by the client when the resource is created. The
3534
+ # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
3535
+ # name must be 1-63 characters long and match the regular expression [a-z]([-a-
3536
+ # z0-9]*[a-z0-9])? which means the first character must be a lowercase letter,
3537
+ # and all following characters must be a dash, lowercase letter, or digit,
3538
+ # except the last character, which cannot be a dash.
3539
+ # Corresponds to the JSON property `name`
3540
+ # @return [String]
3541
+ attr_accessor :name
3542
+
3543
+ # The TCP port number for the HTTPS health check request. The default value is
3544
+ # 443.
3545
+ # Corresponds to the JSON property `port`
3546
+ # @return [Fixnum]
3547
+ attr_accessor :port
3548
+
3549
+ # The request path of the HTTPS health check request. The default value is "/".
3550
+ # Corresponds to the JSON property `requestPath`
3551
+ # @return [String]
3552
+ attr_accessor :request_path
3553
+
3554
+ # [Output Only] Server-defined URL for the resource.
3555
+ # Corresponds to the JSON property `selfLink`
3556
+ # @return [String]
3557
+ attr_accessor :self_link
3558
+
3559
+ # How long (in seconds) to wait before claiming failure. The default value is 5
3560
+ # seconds. It is invalid for timeoutSec to have a greater value than
3561
+ # checkIntervalSec.
3562
+ # Corresponds to the JSON property `timeoutSec`
3563
+ # @return [Fixnum]
3564
+ attr_accessor :timeout_sec
3565
+
3566
+ # A so-far healthy instance will be marked unhealthy after this many consecutive
3567
+ # failures. The default value is 2.
3568
+ # Corresponds to the JSON property `unhealthyThreshold`
3569
+ # @return [Fixnum]
3570
+ attr_accessor :unhealthy_threshold
3571
+
3572
+ def initialize(**args)
3573
+ update!(**args)
3574
+ end
3575
+
3576
+ # Update properties of this object
3577
+ def update!(**args)
3578
+ @check_interval_sec = args[:check_interval_sec] if args.key?(:check_interval_sec)
3579
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
3580
+ @description = args[:description] if args.key?(:description)
3581
+ @healthy_threshold = args[:healthy_threshold] if args.key?(:healthy_threshold)
3582
+ @host = args[:host] if args.key?(:host)
3583
+ @id = args[:id] if args.key?(:id)
3584
+ @kind = args[:kind] if args.key?(:kind)
3585
+ @name = args[:name] if args.key?(:name)
3586
+ @port = args[:port] if args.key?(:port)
3587
+ @request_path = args[:request_path] if args.key?(:request_path)
3588
+ @self_link = args[:self_link] if args.key?(:self_link)
3589
+ @timeout_sec = args[:timeout_sec] if args.key?(:timeout_sec)
3590
+ @unhealthy_threshold = args[:unhealthy_threshold] if args.key?(:unhealthy_threshold)
3591
+ end
3592
+ end
3593
+
3594
+ # Contains a list of HttpsHealthCheck resources.
3595
+ class HttpsHealthCheckList
3596
+ include Google::Apis::Core::Hashable
3597
+
3598
+ # [Output Only] Unique identifier for the resource; defined by the server.
3599
+ # Corresponds to the JSON property `id`
3600
+ # @return [String]
3601
+ attr_accessor :id
3602
+
3603
+ # A list of HttpsHealthCheck resources.
3604
+ # Corresponds to the JSON property `items`
3605
+ # @return [Array<Google::Apis::ComputeBeta::HttpsHealthCheck>]
3606
+ attr_accessor :items
3607
+
3608
+ # Type of resource.
3609
+ # Corresponds to the JSON property `kind`
3610
+ # @return [String]
3611
+ attr_accessor :kind
3612
+
3613
+ # [Output Only] This token allows you to get the next page of results for list
3614
+ # requests. If the number of results is larger than maxResults, use the
3615
+ # nextPageToken as a value for the query parameter pageToken in the next list
3616
+ # request. Subsequent list requests will have their own nextPageToken to
3617
+ # continue paging through the results.
3618
+ # Corresponds to the JSON property `nextPageToken`
3619
+ # @return [String]
3620
+ attr_accessor :next_page_token
3621
+
3622
+ # [Output Only] Server-defined URL for this resource.
3623
+ # Corresponds to the JSON property `selfLink`
3624
+ # @return [String]
3625
+ attr_accessor :self_link
3626
+
3627
+ def initialize(**args)
3628
+ update!(**args)
3629
+ end
3630
+
3631
+ # Update properties of this object
3632
+ def update!(**args)
3633
+ @id = args[:id] if args.key?(:id)
3634
+ @items = args[:items] if args.key?(:items)
3635
+ @kind = args[:kind] if args.key?(:kind)
3636
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
3637
+ @self_link = args[:self_link] if args.key?(:self_link)
3638
+ end
3639
+ end
3640
+
3641
+ # An Image resource.
3642
+ class Image
3643
+ include Google::Apis::Core::Hashable
3644
+
3645
+ # Size of the image tar.gz archive stored in Google Cloud Storage (in bytes).
3646
+ # Corresponds to the JSON property `archiveSizeBytes`
3647
+ # @return [String]
3648
+ attr_accessor :archive_size_bytes
3649
+
3650
+ # Creation timestamp in RFC3339 text format.
3651
+ # Corresponds to the JSON property `creationTimestamp`
3652
+ # @return [String]
3653
+ attr_accessor :creation_timestamp
3654
+
2999
3655
  # Deprecation status for a public resource.
3000
3656
  # Corresponds to the JSON property `deprecated`
3001
3657
  # @return [Google::Apis::ComputeBeta::DeprecationStatus]
@@ -3014,11 +3670,17 @@ module Google
3014
3670
 
3015
3671
  # The name of the image family to which this image belongs. You can create disks
3016
3672
  # by specifying an image family instead of a specific image name. The image
3017
- # family always returns its latest image that is not deprecated.
3673
+ # family always returns its latest image that is not deprecated. The name of the
3674
+ # image family must comply with RFC1035.
3018
3675
  # Corresponds to the JSON property `family`
3019
3676
  # @return [String]
3020
3677
  attr_accessor :family
3021
3678
 
3679
+ # Features of the guest os, valid for bootable images only.
3680
+ # Corresponds to the JSON property `guestOsFeatures`
3681
+ # @return [Array<Google::Apis::ComputeBeta::GuestOsFeature>]
3682
+ attr_accessor :guest_os_features
3683
+
3022
3684
  # [Output Only] The unique identifier for the resource. This identifier is
3023
3685
  # defined by the server.
3024
3686
  # Corresponds to the JSON property `id`
@@ -3052,7 +3714,7 @@ module Google
3052
3714
  # @return [Hash<String,String>]
3053
3715
  attr_accessor :labels
3054
3716
 
3055
- # Any applicable publicly visible licenses.
3717
+ # Any applicable license URI.
3056
3718
  # Corresponds to the JSON property `licenses`
3057
3719
  # @return [Array<String>]
3058
3720
  attr_accessor :licenses
@@ -3126,6 +3788,7 @@ module Google
3126
3788
  @description = args[:description] if args.key?(:description)
3127
3789
  @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
3128
3790
  @family = args[:family] if args.key?(:family)
3791
+ @guest_os_features = args[:guest_os_features] if args.key?(:guest_os_features)
3129
3792
  @id = args[:id] if args.key?(:id)
3130
3793
  @image_encryption_key = args[:image_encryption_key] if args.key?(:image_encryption_key)
3131
3794
  @kind = args[:kind] if args.key?(:kind)
@@ -3322,7 +3985,7 @@ module Google
3322
3985
 
3323
3986
  # An array of configurations for this interface. This specifies how this
3324
3987
  # interface is configured to interact with other network services, such as
3325
- # connecting to the internet.
3988
+ # connecting to the internet. Only one interface is supported per instance.
3326
3989
  # Corresponds to the JSON property `networkInterfaces`
3327
3990
  # @return [Array<Google::Apis::ComputeBeta::NetworkInterface>]
3328
3991
  attr_accessor :network_interfaces
@@ -3340,13 +4003,14 @@ module Google
3340
4003
  # A list of service accounts, with their specified scopes, authorized for this
3341
4004
  # instance. Service accounts generate access tokens that can be accessed through
3342
4005
  # the metadata server and used to authenticate applications on the instance. See
3343
- # Authenticating from Google Compute Engine for more information.
4006
+ # Service Accounts for more information.
3344
4007
  # Corresponds to the JSON property `serviceAccounts`
3345
4008
  # @return [Array<Google::Apis::ComputeBeta::ServiceAccount>]
3346
4009
  attr_accessor :service_accounts
3347
4010
 
3348
4011
  # [Output Only] The status of the instance. One of the following values:
3349
- # PROVISIONING, STAGING, RUNNING, STOPPING, and TERMINATED.
4012
+ # PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, and
4013
+ # TERMINATED.
3350
4014
  # Corresponds to the JSON property `status`
3351
4015
  # @return [String]
3352
4016
  attr_accessor :status
@@ -3467,8 +4131,8 @@ module Google
3467
4131
  # @return [String]
3468
4132
  attr_accessor :fingerprint
3469
4133
 
3470
- # [Output Only] A unique identifier for this resource type. The server generates
3471
- # this identifier.
4134
+ # [Output Only] A unique identifier for this instance group. The server
4135
+ # generates this identifier.
3472
4136
  # Corresponds to the JSON property `id`
3473
4137
  # @return [String]
3474
4138
  attr_accessor :id
@@ -3499,6 +4163,12 @@ module Google
3499
4163
  # @return [String]
3500
4164
  attr_accessor :network
3501
4165
 
4166
+ # The URL of the region where the instance group is located (for regional
4167
+ # resources).
4168
+ # Corresponds to the JSON property `region`
4169
+ # @return [String]
4170
+ attr_accessor :region
4171
+
3502
4172
  # [Output Only] The URL for this instance group. The server generates this URL.
3503
4173
  # Corresponds to the JSON property `selfLink`
3504
4174
  # @return [String]
@@ -3514,7 +4184,8 @@ module Google
3514
4184
  # @return [String]
3515
4185
  attr_accessor :subnetwork
3516
4186
 
3517
- # [Output Only] The URL of the zone where the instance group is located.
4187
+ # [Output Only] The URL of the zone where the instance group is located (for
4188
+ # zonal resources).
3518
4189
  # Corresponds to the JSON property `zone`
3519
4190
  # @return [String]
3520
4191
  attr_accessor :zone
@@ -3533,6 +4204,7 @@ module Google
3533
4204
  @name = args[:name] if args.key?(:name)
3534
4205
  @named_ports = args[:named_ports] if args.key?(:named_ports)
3535
4206
  @network = args[:network] if args.key?(:network)
4207
+ @region = args[:region] if args.key?(:region)
3536
4208
  @self_link = args[:self_link] if args.key?(:self_link)
3537
4209
  @size = args[:size] if args.key?(:size)
3538
4210
  @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
@@ -3638,7 +4310,7 @@ module Google
3638
4310
  end
3639
4311
  end
3640
4312
 
3641
- #
4313
+ # An Instance Group Manager resource.
3642
4314
  class InstanceGroupManager
3643
4315
  include Google::Apis::Core::Hashable
3644
4316
 
@@ -3674,6 +4346,12 @@ module Google
3674
4346
  # @return [String]
3675
4347
  attr_accessor :description
3676
4348
 
4349
+ # The action to perform in case of zone failure (set only for Regional instance
4350
+ # group managers).
4351
+ # Corresponds to the JSON property `failoverAction`
4352
+ # @return [String]
4353
+ attr_accessor :failover_action
4354
+
3677
4355
  # [Output Only] The fingerprint of the resource data. You can use this optional
3678
4356
  # field for optimistic locking when you update the resource.
3679
4357
  # Corresponds to the JSON property `fingerprint`
@@ -3716,6 +4394,12 @@ module Google
3716
4394
  # @return [Array<Google::Apis::ComputeBeta::NamedPort>]
3717
4395
  attr_accessor :named_ports
3718
4396
 
4397
+ # [Output Only] The URL of the region where the managed instance group resides (
4398
+ # for regional resources).
4399
+ # Corresponds to the JSON property `region`
4400
+ # @return [String]
4401
+ attr_accessor :region
4402
+
3719
4403
  # [Output Only] The URL for this managed instance group. The server defines this
3720
4404
  # URL.
3721
4405
  # Corresponds to the JSON property `selfLink`
@@ -3736,7 +4420,8 @@ module Google
3736
4420
  # @return [Fixnum]
3737
4421
  attr_accessor :target_size
3738
4422
 
3739
- # The name of the zone where the managed instance group is located.
4423
+ # [Output Only] The URL of the zone where the managed instance group is located (
4424
+ # for zonal resources).
3740
4425
  # Corresponds to the JSON property `zone`
3741
4426
  # @return [String]
3742
4427
  attr_accessor :zone
@@ -3752,6 +4437,7 @@ module Google
3752
4437
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
3753
4438
  @current_actions = args[:current_actions] if args.key?(:current_actions)
3754
4439
  @description = args[:description] if args.key?(:description)
4440
+ @failover_action = args[:failover_action] if args.key?(:failover_action)
3755
4441
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
3756
4442
  @id = args[:id] if args.key?(:id)
3757
4443
  @instance_group = args[:instance_group] if args.key?(:instance_group)
@@ -3759,6 +4445,7 @@ module Google
3759
4445
  @kind = args[:kind] if args.key?(:kind)
3760
4446
  @name = args[:name] if args.key?(:name)
3761
4447
  @named_ports = args[:named_ports] if args.key?(:named_ports)
4448
+ @region = args[:region] if args.key?(:region)
3762
4449
  @self_link = args[:self_link] if args.key?(:self_link)
3763
4450
  @target_pools = args[:target_pools] if args.key?(:target_pools)
3764
4451
  @target_size = args[:target_size] if args.key?(:target_size)
@@ -3779,15 +4466,17 @@ module Google
3779
4466
 
3780
4467
  # [Output Only] The number of instances in the managed instance group that are
3781
4468
  # scheduled to be created or are currently being created. If the group fails to
3782
- # create one of these instances, it tries again until it creates the instance
4469
+ # create any of these instances, it tries again until it creates the instance
3783
4470
  # successfully.
4471
+ # If you have disabled creation retries, this field will not be populated;
4472
+ # instead, the creatingWithoutRetries field will be populated.
3784
4473
  # Corresponds to the JSON property `creating`
3785
4474
  # @return [Fixnum]
3786
4475
  attr_accessor :creating
3787
4476
 
3788
4477
  # [Output Only] The number of instances that the managed instance group will
3789
4478
  # attempt to create. The group attempts to create each instance only once. If
3790
- # the group fails to create one of these instances, it decreases the group's
4479
+ # the group fails to create any of these instances, it decreases the group's
3791
4480
  # target_size value accordingly.
3792
4481
  # Corresponds to the JSON property `creatingWithoutRetries`
3793
4482
  # @return [Fixnum]
@@ -3906,7 +4595,8 @@ module Google
3906
4595
  # autohealing policies to new instances or recently recreated instances. This
3907
4596
  # initial delay allows instances to initialize and run their startup scripts
3908
4597
  # before the instance group determines that they are UNHEALTHY. This prevents
3909
- # the managed instance group from recreating its instances prematurely.
4598
+ # the managed instance group from recreating its instances prematurely. This
4599
+ # value must be from range [0, 3600].
3910
4600
  # Corresponds to the JSON property `initialDelaySec`
3911
4601
  # @return [Fixnum]
3912
4602
  attr_accessor :initial_delay_sec
@@ -4052,19 +4742,22 @@ module Google
4052
4742
  class InstanceGroupManagersResizeAdvancedRequest
4053
4743
  include Google::Apis::Core::Hashable
4054
4744
 
4055
- # If this flag is true, we will attempt to create all instances resized up with
4056
- # this request only once. In case of an error during creation, we will not
4057
- # create this instance, and we will decrease the target_size. If the flag is
4058
- # false, we will keep trying to create each instance until we succeed.
4059
- # This flag matters only in the first attempt of creation of an instance. If an
4060
- # instance creation with this flag succeeds, the instance behaves the same way
4061
- # as all the other instances created with the flag set to false. In particular,
4062
- # consecutive instance creations (in case an instance dies and needs to be
4063
- # recreated) will not fail after the first attempt.
4745
+ # If this flag is true, the managed instance group attempts to create all
4746
+ # instances initiated by this resize request only once. If there is an error
4747
+ # during creation, the managed instance group does not retry create this
4748
+ # instance, and we will decrease the targetSize of the request instead. If the
4749
+ # flag is false, the group attemps to recreate each instance continuously until
4750
+ # it succeeds.
4751
+ # This flag matters only in the first attempt of creation of an instance. After
4752
+ # an instance is successfully created while this flag is enabled, the instance
4753
+ # behaves the same way as all the other instances created with a regular resize
4754
+ # request. In particular, if a running instance dies unexpectedly at a later
4755
+ # time and needs to be recreated, this mode does not affect the recreation
4756
+ # behavior in that scenario.
4064
4757
  # This flag is applicable only to the current resize request. It does not
4065
4758
  # influence other resize requests in any way.
4066
- # You can see which instances is being creating in which mode by calling the
4067
- # listManagedInstances API.
4759
+ # You can see which instances is being creating in which mode by calling the get
4760
+ # or listManagedInstances API.
4068
4761
  # Corresponds to the JSON property `noCreationRetries`
4069
4762
  # @return [Boolean]
4070
4763
  attr_accessor :no_creation_retries
@@ -4275,8 +4968,8 @@ module Google
4275
4968
  class InstanceGroupsListInstances
4276
4969
  include Google::Apis::Core::Hashable
4277
4970
 
4278
- # [Output Only] A unique identifier for this list of instance groups. The server
4279
- # generates this identifier.
4971
+ # [Output Only] A unique identifier for this list of instances in the specified
4972
+ # instance group. The server generates this identifier.
4280
4973
  # Corresponds to the JSON property `id`
4281
4974
  # @return [String]
4282
4975
  attr_accessor :id
@@ -4288,7 +4981,8 @@ module Google
4288
4981
  attr_accessor :items
4289
4982
 
4290
4983
  # [Output Only] The resource type, which is always compute#
4291
- # instanceGroupsListInstances for lists of instance groups.
4984
+ # instanceGroupsListInstances for the list of instances in the specified
4985
+ # instance group.
4292
4986
  # Corresponds to the JSON property `kind`
4293
4987
  # @return [String]
4294
4988
  attr_accessor :kind
@@ -4302,8 +4996,8 @@ module Google
4302
4996
  # @return [String]
4303
4997
  attr_accessor :next_page_token
4304
4998
 
4305
- # [Output Only] The URL for this list of instance groups. The server generates
4306
- # this URL.
4999
+ # [Output Only] The URL for this list of instances in the specified instance
5000
+ # groups. The server generates this URL.
4307
5001
  # Corresponds to the JSON property `selfLink`
4308
5002
  # @return [String]
4309
5003
  attr_accessor :self_link
@@ -4574,8 +5268,8 @@ module Google
4574
5268
  # IP addresses other than their own and receive packets with destination IP
4575
5269
  # addresses other than their own. If these instances will be used as an IP
4576
5270
  # gateway or it will be set as the next-hop in a Route resource, specify true.
4577
- # If unsure, leave this set to false. See the canIpForward documentation for
4578
- # more information.
5271
+ # If unsure, leave this set to false. See the Enable IP forwarding for instances
5272
+ # documentation for more information.
4579
5273
  # Corresponds to the JSON property `canIpForward`
4580
5274
  # @return [Boolean]
4581
5275
  attr_accessor :can_ip_forward
@@ -4593,6 +5287,12 @@ module Google
4593
5287
  # @return [Array<Google::Apis::ComputeBeta::AttachedDisk>]
4594
5288
  attr_accessor :disks
4595
5289
 
5290
+ # Labels to apply to instances that are created from this template. Each label
5291
+ # key/value pair must comply with RFC1035. Label values may be empty.
5292
+ # Corresponds to the JSON property `labels`
5293
+ # @return [Hash<String,String>]
5294
+ attr_accessor :labels
5295
+
4596
5296
  # The machine type to use for instances that are created from this template.
4597
5297
  # Corresponds to the JSON property `machineType`
4598
5298
  # @return [String]
@@ -4634,6 +5334,7 @@ module Google
4634
5334
  @can_ip_forward = args[:can_ip_forward] if args.key?(:can_ip_forward)
4635
5335
  @description = args[:description] if args.key?(:description)
4636
5336
  @disks = args[:disks] if args.key?(:disks)
5337
+ @labels = args[:labels] if args.key?(:labels)
4637
5338
  @machine_type = args[:machine_type] if args.key?(:machine_type)
4638
5339
  @metadata = args[:metadata] if args.key?(:metadata)
4639
5340
  @network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces)
@@ -5315,7 +6016,7 @@ module Google
5315
6016
  # fails to create this instance, it will try again until it is successful.
5316
6017
  # - CREATING_WITHOUT_RETRIES The managed instance group is attempting to create
5317
6018
  # this instance only once. If the group fails to create this instance, it does
5318
- # not try again and the group's target_size value is decreased.
6019
+ # not try again and the group's targetSize value is decreased instead.
5319
6020
  # - RECREATING The managed instance group is recreating this instance.
5320
6021
  # - DELETING The managed instance group is permanently deleting this instance.
5321
6022
  # - ABANDONING The managed instance group is abandoning this instance. The
@@ -5626,8 +6327,8 @@ module Google
5626
6327
  class NetworkInterface
5627
6328
  include Google::Apis::Core::Hashable
5628
6329
 
5629
- # An array of configurations for this interface. Currently, ONE_TO_ONE_NAT is
5630
- # the only access config supported. If there are no accessConfigs specified,
6330
+ # An array of configurations for this interface. Currently, only one access
6331
+ # config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified,
5631
6332
  # then this instance will have no external internet access.
5632
6333
  # Corresponds to the JSON property `accessConfigs`
5633
6334
  # @return [Array<Google::Apis::ComputeBeta::AccessConfig>]
@@ -6478,6 +7179,393 @@ module Google
6478
7179
  end
6479
7180
  end
6480
7181
 
7182
+ # Contains a list of autoscalers.
7183
+ class RegionAutoscalerList
7184
+ include Google::Apis::Core::Hashable
7185
+
7186
+ # [Output Only] The unique identifier for the resource. This identifier is
7187
+ # defined by the server.
7188
+ # Corresponds to the JSON property `id`
7189
+ # @return [String]
7190
+ attr_accessor :id
7191
+
7192
+ # A list of autoscalers.
7193
+ # Corresponds to the JSON property `items`
7194
+ # @return [Array<Google::Apis::ComputeBeta::Autoscaler>]
7195
+ attr_accessor :items
7196
+
7197
+ # Type of resource.
7198
+ # Corresponds to the JSON property `kind`
7199
+ # @return [String]
7200
+ attr_accessor :kind
7201
+
7202
+ # [Output Only] A token used to continue a truncated list request.
7203
+ # Corresponds to the JSON property `nextPageToken`
7204
+ # @return [String]
7205
+ attr_accessor :next_page_token
7206
+
7207
+ # [Output Only] Server-defined URL for this resource.
7208
+ # Corresponds to the JSON property `selfLink`
7209
+ # @return [String]
7210
+ attr_accessor :self_link
7211
+
7212
+ def initialize(**args)
7213
+ update!(**args)
7214
+ end
7215
+
7216
+ # Update properties of this object
7217
+ def update!(**args)
7218
+ @id = args[:id] if args.key?(:id)
7219
+ @items = args[:items] if args.key?(:items)
7220
+ @kind = args[:kind] if args.key?(:kind)
7221
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
7222
+ @self_link = args[:self_link] if args.key?(:self_link)
7223
+ end
7224
+ end
7225
+
7226
+ # Contains a list of InstanceGroup resources.
7227
+ class RegionInstanceGroupList
7228
+ include Google::Apis::Core::Hashable
7229
+
7230
+ # [Output Only] The unique identifier for the resource. This identifier is
7231
+ # defined by the server.
7232
+ # Corresponds to the JSON property `id`
7233
+ # @return [String]
7234
+ attr_accessor :id
7235
+
7236
+ # A list of InstanceGroup resources.
7237
+ # Corresponds to the JSON property `items`
7238
+ # @return [Array<Google::Apis::ComputeBeta::InstanceGroup>]
7239
+ attr_accessor :items
7240
+
7241
+ # The resource type.
7242
+ # Corresponds to the JSON property `kind`
7243
+ # @return [String]
7244
+ attr_accessor :kind
7245
+
7246
+ # [Output Only] This token allows you to get the next page of results for list
7247
+ # requests. If the number of results is larger than maxResults, use the
7248
+ # nextPageToken as a value for the query parameter pageToken in the next list
7249
+ # request. Subsequent list requests will have their own nextPageToken to
7250
+ # continue paging through the results.
7251
+ # Corresponds to the JSON property `nextPageToken`
7252
+ # @return [String]
7253
+ attr_accessor :next_page_token
7254
+
7255
+ # [Output Only] The URL for this resource type. The server generates this URL.
7256
+ # Corresponds to the JSON property `selfLink`
7257
+ # @return [String]
7258
+ attr_accessor :self_link
7259
+
7260
+ def initialize(**args)
7261
+ update!(**args)
7262
+ end
7263
+
7264
+ # Update properties of this object
7265
+ def update!(**args)
7266
+ @id = args[:id] if args.key?(:id)
7267
+ @items = args[:items] if args.key?(:items)
7268
+ @kind = args[:kind] if args.key?(:kind)
7269
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
7270
+ @self_link = args[:self_link] if args.key?(:self_link)
7271
+ end
7272
+ end
7273
+
7274
+ # Contains a list of managed instance groups.
7275
+ class RegionInstanceGroupManagerList
7276
+ include Google::Apis::Core::Hashable
7277
+
7278
+ # [Output Only] The unique identifier for the resource. This identifier is
7279
+ # defined by the server.
7280
+ # Corresponds to the JSON property `id`
7281
+ # @return [String]
7282
+ attr_accessor :id
7283
+
7284
+ # A list of managed instance groups.
7285
+ # Corresponds to the JSON property `items`
7286
+ # @return [Array<Google::Apis::ComputeBeta::InstanceGroupManager>]
7287
+ attr_accessor :items
7288
+
7289
+ # [Output Only] The resource type, which is always compute#
7290
+ # instanceGroupManagerList for a list of managed instance groups that exist in
7291
+ # th regional scope.
7292
+ # Corresponds to the JSON property `kind`
7293
+ # @return [String]
7294
+ attr_accessor :kind
7295
+
7296
+ # [Output only] A token used to continue a truncated list request.
7297
+ # Corresponds to the JSON property `nextPageToken`
7298
+ # @return [String]
7299
+ attr_accessor :next_page_token
7300
+
7301
+ # [Output only] The URL for this resource type. The server generates this URL.
7302
+ # Corresponds to the JSON property `selfLink`
7303
+ # @return [String]
7304
+ attr_accessor :self_link
7305
+
7306
+ def initialize(**args)
7307
+ update!(**args)
7308
+ end
7309
+
7310
+ # Update properties of this object
7311
+ def update!(**args)
7312
+ @id = args[:id] if args.key?(:id)
7313
+ @items = args[:items] if args.key?(:items)
7314
+ @kind = args[:kind] if args.key?(:kind)
7315
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
7316
+ @self_link = args[:self_link] if args.key?(:self_link)
7317
+ end
7318
+ end
7319
+
7320
+ #
7321
+ class RegionInstanceGroupManagersAbandonInstancesRequest
7322
+ include Google::Apis::Core::Hashable
7323
+
7324
+ # The names of one or more instances to abandon.
7325
+ # Corresponds to the JSON property `instances`
7326
+ # @return [Array<String>]
7327
+ attr_accessor :instances
7328
+
7329
+ def initialize(**args)
7330
+ update!(**args)
7331
+ end
7332
+
7333
+ # Update properties of this object
7334
+ def update!(**args)
7335
+ @instances = args[:instances] if args.key?(:instances)
7336
+ end
7337
+ end
7338
+
7339
+ #
7340
+ class RegionInstanceGroupManagersDeleteInstancesRequest
7341
+ include Google::Apis::Core::Hashable
7342
+
7343
+ # The names of one or more instances to delete.
7344
+ # Corresponds to the JSON property `instances`
7345
+ # @return [Array<String>]
7346
+ attr_accessor :instances
7347
+
7348
+ def initialize(**args)
7349
+ update!(**args)
7350
+ end
7351
+
7352
+ # Update properties of this object
7353
+ def update!(**args)
7354
+ @instances = args[:instances] if args.key?(:instances)
7355
+ end
7356
+ end
7357
+
7358
+ #
7359
+ class RegionInstanceGroupManagersListInstancesResponse
7360
+ include Google::Apis::Core::Hashable
7361
+
7362
+ # List of managed instances.
7363
+ # Corresponds to the JSON property `managedInstances`
7364
+ # @return [Array<Google::Apis::ComputeBeta::ManagedInstance>]
7365
+ attr_accessor :managed_instances
7366
+
7367
+ def initialize(**args)
7368
+ update!(**args)
7369
+ end
7370
+
7371
+ # Update properties of this object
7372
+ def update!(**args)
7373
+ @managed_instances = args[:managed_instances] if args.key?(:managed_instances)
7374
+ end
7375
+ end
7376
+
7377
+ #
7378
+ class RegionInstanceGroupManagersRecreateRequest
7379
+ include Google::Apis::Core::Hashable
7380
+
7381
+ # The URL for one or more instances to recreate.
7382
+ # Corresponds to the JSON property `instances`
7383
+ # @return [Array<String>]
7384
+ attr_accessor :instances
7385
+
7386
+ def initialize(**args)
7387
+ update!(**args)
7388
+ end
7389
+
7390
+ # Update properties of this object
7391
+ def update!(**args)
7392
+ @instances = args[:instances] if args.key?(:instances)
7393
+ end
7394
+ end
7395
+
7396
+ #
7397
+ class RegionInstanceGroupManagersSetAutoHealingRequest
7398
+ include Google::Apis::Core::Hashable
7399
+
7400
+ #
7401
+ # Corresponds to the JSON property `autoHealingPolicies`
7402
+ # @return [Array<Google::Apis::ComputeBeta::InstanceGroupManagerAutoHealingPolicy>]
7403
+ attr_accessor :auto_healing_policies
7404
+
7405
+ def initialize(**args)
7406
+ update!(**args)
7407
+ end
7408
+
7409
+ # Update properties of this object
7410
+ def update!(**args)
7411
+ @auto_healing_policies = args[:auto_healing_policies] if args.key?(:auto_healing_policies)
7412
+ end
7413
+ end
7414
+
7415
+ #
7416
+ class RegionInstanceGroupManagersSetTargetPoolsRequest
7417
+ include Google::Apis::Core::Hashable
7418
+
7419
+ # Fingerprint of the target pools information, which is a hash of the contents.
7420
+ # This field is used for optimistic locking when you update the target pool
7421
+ # entries. This field is optional.
7422
+ # Corresponds to the JSON property `fingerprint`
7423
+ # @return [String]
7424
+ attr_accessor :fingerprint
7425
+
7426
+ # The URL of all TargetPool resources to which instances in the instanceGroup
7427
+ # field are added. The target pools automatically apply to all of the instances
7428
+ # in the managed instance group.
7429
+ # Corresponds to the JSON property `targetPools`
7430
+ # @return [Array<String>]
7431
+ attr_accessor :target_pools
7432
+
7433
+ def initialize(**args)
7434
+ update!(**args)
7435
+ end
7436
+
7437
+ # Update properties of this object
7438
+ def update!(**args)
7439
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
7440
+ @target_pools = args[:target_pools] if args.key?(:target_pools)
7441
+ end
7442
+ end
7443
+
7444
+ #
7445
+ class RegionInstanceGroupManagersSetTemplateRequest
7446
+ include Google::Apis::Core::Hashable
7447
+
7448
+ # URL of the InstanceTemplate resource from which all new instances will be
7449
+ # created.
7450
+ # Corresponds to the JSON property `instanceTemplate`
7451
+ # @return [String]
7452
+ attr_accessor :instance_template
7453
+
7454
+ def initialize(**args)
7455
+ update!(**args)
7456
+ end
7457
+
7458
+ # Update properties of this object
7459
+ def update!(**args)
7460
+ @instance_template = args[:instance_template] if args.key?(:instance_template)
7461
+ end
7462
+ end
7463
+
7464
+ #
7465
+ class RegionInstanceGroupsListInstances
7466
+ include Google::Apis::Core::Hashable
7467
+
7468
+ # [Output Only] Unique identifier for the resource. Defined by the server.
7469
+ # Corresponds to the JSON property `id`
7470
+ # @return [String]
7471
+ attr_accessor :id
7472
+
7473
+ # A list of instances and any named ports that are assigned to those instances.
7474
+ # Corresponds to the JSON property `items`
7475
+ # @return [Array<Google::Apis::ComputeBeta::InstanceWithNamedPorts>]
7476
+ attr_accessor :items
7477
+
7478
+ # The resource type.
7479
+ # Corresponds to the JSON property `kind`
7480
+ # @return [String]
7481
+ attr_accessor :kind
7482
+
7483
+ # [Output Only] This token allows you to get the next page of results for list
7484
+ # requests. If the number of results is larger than maxResults, use the
7485
+ # nextPageToken as a value for the query parameter pageToken in the next list
7486
+ # request. Subsequent list requests will have their own nextPageToken to
7487
+ # continue paging through the results.
7488
+ # Corresponds to the JSON property `nextPageToken`
7489
+ # @return [String]
7490
+ attr_accessor :next_page_token
7491
+
7492
+ # [Output Only] Server-defined URL for the resource.
7493
+ # Corresponds to the JSON property `selfLink`
7494
+ # @return [String]
7495
+ attr_accessor :self_link
7496
+
7497
+ def initialize(**args)
7498
+ update!(**args)
7499
+ end
7500
+
7501
+ # Update properties of this object
7502
+ def update!(**args)
7503
+ @id = args[:id] if args.key?(:id)
7504
+ @items = args[:items] if args.key?(:items)
7505
+ @kind = args[:kind] if args.key?(:kind)
7506
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
7507
+ @self_link = args[:self_link] if args.key?(:self_link)
7508
+ end
7509
+ end
7510
+
7511
+ #
7512
+ class RegionInstanceGroupsListInstancesRequest
7513
+ include Google::Apis::Core::Hashable
7514
+
7515
+ # Instances in which state should be returned. Valid options are: 'ALL', '
7516
+ # RUNNING'. By default, it lists all instances.
7517
+ # Corresponds to the JSON property `instanceState`
7518
+ # @return [String]
7519
+ attr_accessor :instance_state
7520
+
7521
+ # Name of port user is interested in. It is optional. If it is set, only
7522
+ # information about this ports will be returned. If it is not set, all the named
7523
+ # ports will be returned. Always lists all instances.
7524
+ # Corresponds to the JSON property `portName`
7525
+ # @return [String]
7526
+ attr_accessor :port_name
7527
+
7528
+ def initialize(**args)
7529
+ update!(**args)
7530
+ end
7531
+
7532
+ # Update properties of this object
7533
+ def update!(**args)
7534
+ @instance_state = args[:instance_state] if args.key?(:instance_state)
7535
+ @port_name = args[:port_name] if args.key?(:port_name)
7536
+ end
7537
+ end
7538
+
7539
+ #
7540
+ class RegionInstanceGroupsSetNamedPortsRequest
7541
+ include Google::Apis::Core::Hashable
7542
+
7543
+ # The fingerprint of the named ports information for this instance group. Use
7544
+ # this optional property to prevent conflicts when multiple users change the
7545
+ # named ports settings concurrently. Obtain the fingerprint with the
7546
+ # instanceGroups.get method. Then, include the fingerprint in your request to
7547
+ # ensure that you do not overwrite changes that were applied from another
7548
+ # concurrent request.
7549
+ # Corresponds to the JSON property `fingerprint`
7550
+ # @return [String]
7551
+ attr_accessor :fingerprint
7552
+
7553
+ # The list of named ports to set for this instance group.
7554
+ # Corresponds to the JSON property `namedPorts`
7555
+ # @return [Array<Google::Apis::ComputeBeta::NamedPort>]
7556
+ attr_accessor :named_ports
7557
+
7558
+ def initialize(**args)
7559
+ update!(**args)
7560
+ end
7561
+
7562
+ # Update properties of this object
7563
+ def update!(**args)
7564
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
7565
+ @named_ports = args[:named_ports] if args.key?(:named_ports)
7566
+ end
7567
+ end
7568
+
6481
7569
  # Contains a list of region resources.
6482
7570
  class RegionList
6483
7571
  include Google::Apis::Core::Hashable
@@ -6797,12 +7885,14 @@ module Google
6797
7885
  class Router
6798
7886
  include Google::Apis::Core::Hashable
6799
7887
 
6800
- #
7888
+ # BGP information specific to this router.
6801
7889
  # Corresponds to the JSON property `bgp`
6802
7890
  # @return [Google::Apis::ComputeBeta::RouterBgp]
6803
7891
  attr_accessor :bgp
6804
7892
 
6805
- #
7893
+ # BGP information that needs to be configured into the routing stack to
7894
+ # establish the BGP peering. It must specify peer ASN and either interface name,
7895
+ # IP, or peer IP. Please refer to RFC4273.
6806
7896
  # Corresponds to the JSON property `bgpPeers`
6807
7897
  # @return [Array<Google::Apis::ComputeBeta::RouterBgpPeer>]
6808
7898
  attr_accessor :bgp_peers
@@ -6824,7 +7914,8 @@ module Google
6824
7914
  # @return [String]
6825
7915
  attr_accessor :id
6826
7916
 
6827
- #
7917
+ # Router interfaces. Each interface requires either one linked resource (e.g.
7918
+ # linkedVpnTunnel) or IP address and IP address range (e.g. ipRange).
6828
7919
  # Corresponds to the JSON property `interfaces`
6829
7920
  # @return [Array<Google::Apis::ComputeBeta::RouterInterface>]
6830
7921
  attr_accessor :interfaces
@@ -6948,9 +8039,7 @@ module Google
6948
8039
  end
6949
8040
  end
6950
8041
 
6951
- # BGP information that needs to be configured into the routing stack to
6952
- # establish the BGP peering. It must specify peer ASN and either interface name,
6953
- # IP, or peer IP. Reference: https://tools.ietf.org/html/rfc4273
8042
+ #
6954
8043
  class RouterBgpPeer
6955
8044
  include Google::Apis::Core::Hashable
6956
8045
 
@@ -7003,8 +8092,7 @@ module Google
7003
8092
  end
7004
8093
  end
7005
8094
 
7006
- # Router interfaces. Each interface requires either one linked resource (e.g.
7007
- # linked_vpn_tunnel) or IP address + range (specified in ip_range).
8095
+ #
7008
8096
  class RouterInterface
7009
8097
  include Google::Apis::Core::Hashable
7010
8098
 
@@ -7092,7 +8180,7 @@ module Google
7092
8180
  class RouterStatus
7093
8181
  include Google::Apis::Core::Hashable
7094
8182
 
7095
- # Best routes for this router.
8183
+ # Best routes for this router's network.
7096
8184
  # Corresponds to the JSON property `bestRoutes`
7097
8185
  # @return [Array<Google::Apis::ComputeBeta::Route>]
7098
8186
  attr_accessor :best_routes
@@ -7218,6 +8306,25 @@ module Google
7218
8306
  end
7219
8307
  end
7220
8308
 
8309
+ #
8310
+ class RoutersPreviewResponse
8311
+ include Google::Apis::Core::Hashable
8312
+
8313
+ # Router resource.
8314
+ # Corresponds to the JSON property `resource`
8315
+ # @return [Google::Apis::ComputeBeta::Router]
8316
+ attr_accessor :resource
8317
+
8318
+ def initialize(**args)
8319
+ update!(**args)
8320
+ end
8321
+
8322
+ # Update properties of this object
8323
+ def update!(**args)
8324
+ @resource = args[:resource] if args.key?(:resource)
8325
+ end
8326
+ end
8327
+
7221
8328
  #
7222
8329
  class RoutersScopedList
7223
8330
  include Google::Apis::Core::Hashable
@@ -7309,6 +8416,56 @@ module Google
7309
8416
  end
7310
8417
  end
7311
8418
 
8419
+ #
8420
+ class SslHealthCheck
8421
+ include Google::Apis::Core::Hashable
8422
+
8423
+ # The TCP port number for the health check request. The default value is 443.
8424
+ # Corresponds to the JSON property `port`
8425
+ # @return [Fixnum]
8426
+ attr_accessor :port
8427
+
8428
+ # Port name as defined in InstanceGroup#NamedPort#name. If both port and
8429
+ # port_name are defined, port takes precedence.
8430
+ # Corresponds to the JSON property `portName`
8431
+ # @return [String]
8432
+ attr_accessor :port_name
8433
+
8434
+ # Specifies the type of proxy header to append before sending data to the
8435
+ # backend, either NONE or PROXY_V1. The default is NONE.
8436
+ # Corresponds to the JSON property `proxyHeader`
8437
+ # @return [String]
8438
+ attr_accessor :proxy_header
8439
+
8440
+ # The application data to send once the SSL connection has been established (
8441
+ # default value is empty). If both request and response are empty, the
8442
+ # connection establishment alone will indicate health. The request data can only
8443
+ # be ASCII.
8444
+ # Corresponds to the JSON property `request`
8445
+ # @return [String]
8446
+ attr_accessor :request
8447
+
8448
+ # The bytes to match against the beginning of the response data. If left empty (
8449
+ # the default value), any response will indicate health. The response data can
8450
+ # only be ASCII.
8451
+ # Corresponds to the JSON property `response`
8452
+ # @return [String]
8453
+ attr_accessor :response
8454
+
8455
+ def initialize(**args)
8456
+ update!(**args)
8457
+ end
8458
+
8459
+ # Update properties of this object
8460
+ def update!(**args)
8461
+ @port = args[:port] if args.key?(:port)
8462
+ @port_name = args[:port_name] if args.key?(:port_name)
8463
+ @proxy_header = args[:proxy_header] if args.key?(:proxy_header)
8464
+ @request = args[:request] if args.key?(:request)
8465
+ @response = args[:response] if args.key?(:response)
8466
+ end
8467
+ end
8468
+
7312
8469
  # Sets the scheduling options for an Instance.
7313
8470
  class Scheduling
7314
8471
  include Google::Apis::Core::Hashable
@@ -7914,6 +9071,28 @@ module Google
7914
9071
  end
7915
9072
  end
7916
9073
 
9074
+ #
9075
+ class SubnetworksExpandIpCidrRangeRequest
9076
+ include Google::Apis::Core::Hashable
9077
+
9078
+ # The IP (in CIDR format or netmask) of internal addresses that are legal on
9079
+ # this Subnetwork. This range should be disjoint from other subnetworks within
9080
+ # this network. This range can only be larger than (i.e. a superset of) the
9081
+ # range previously defined before the update.
9082
+ # Corresponds to the JSON property `ipCidrRange`
9083
+ # @return [String]
9084
+ attr_accessor :ip_cidr_range
9085
+
9086
+ def initialize(**args)
9087
+ update!(**args)
9088
+ end
9089
+
9090
+ # Update properties of this object
9091
+ def update!(**args)
9092
+ @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
9093
+ end
9094
+ end
9095
+
7917
9096
  #
7918
9097
  class SubnetworksScopedList
7919
9098
  include Google::Apis::Core::Hashable
@@ -8003,6 +9182,56 @@ module Google
8003
9182
  end
8004
9183
  end
8005
9184
 
9185
+ #
9186
+ class TcpHealthCheck
9187
+ include Google::Apis::Core::Hashable
9188
+
9189
+ # The TCP port number for the health check request. The default value is 80.
9190
+ # Corresponds to the JSON property `port`
9191
+ # @return [Fixnum]
9192
+ attr_accessor :port
9193
+
9194
+ # Port name as defined in InstanceGroup#NamedPort#name. If both port and
9195
+ # port_name are defined, port takes precedence.
9196
+ # Corresponds to the JSON property `portName`
9197
+ # @return [String]
9198
+ attr_accessor :port_name
9199
+
9200
+ # Specifies the type of proxy header to append before sending data to the
9201
+ # backend, either NONE or PROXY_V1. The default is NONE.
9202
+ # Corresponds to the JSON property `proxyHeader`
9203
+ # @return [String]
9204
+ attr_accessor :proxy_header
9205
+
9206
+ # The application data to send once the TCP connection has been established (
9207
+ # default value is empty). If both request and response are empty, the
9208
+ # connection establishment alone will indicate health. The request data can only
9209
+ # be ASCII.
9210
+ # Corresponds to the JSON property `request`
9211
+ # @return [String]
9212
+ attr_accessor :request
9213
+
9214
+ # The bytes to match against the beginning of the response data. If left empty (
9215
+ # the default value), any response will indicate health. The response data can
9216
+ # only be ASCII.
9217
+ # Corresponds to the JSON property `response`
9218
+ # @return [String]
9219
+ attr_accessor :response
9220
+
9221
+ def initialize(**args)
9222
+ update!(**args)
9223
+ end
9224
+
9225
+ # Update properties of this object
9226
+ def update!(**args)
9227
+ @port = args[:port] if args.key?(:port)
9228
+ @port_name = args[:port_name] if args.key?(:port_name)
9229
+ @proxy_header = args[:proxy_header] if args.key?(:proxy_header)
9230
+ @request = args[:request] if args.key?(:request)
9231
+ @response = args[:response] if args.key?(:response)
9232
+ end
9233
+ end
9234
+
8006
9235
  # A set of instance tags.
8007
9236
  class Tags
8008
9237
  include Google::Apis::Core::Hashable
@@ -9002,6 +10231,190 @@ module Google
9002
10231
  end
9003
10232
  end
9004
10233
 
10234
+ #
10235
+ class TargetSslProxiesSetBackendServiceRequest
10236
+ include Google::Apis::Core::Hashable
10237
+
10238
+ # The URL of the new BackendService resource for the targetSslProxy.
10239
+ # Corresponds to the JSON property `service`
10240
+ # @return [String]
10241
+ attr_accessor :service
10242
+
10243
+ def initialize(**args)
10244
+ update!(**args)
10245
+ end
10246
+
10247
+ # Update properties of this object
10248
+ def update!(**args)
10249
+ @service = args[:service] if args.key?(:service)
10250
+ end
10251
+ end
10252
+
10253
+ #
10254
+ class TargetSslProxiesSetProxyHeaderRequest
10255
+ include Google::Apis::Core::Hashable
10256
+
10257
+ # The new type of proxy header to append before sending data to the backend.
10258
+ # NONE or PROXY_V1 are allowed.
10259
+ # Corresponds to the JSON property `proxyHeader`
10260
+ # @return [String]
10261
+ attr_accessor :proxy_header
10262
+
10263
+ def initialize(**args)
10264
+ update!(**args)
10265
+ end
10266
+
10267
+ # Update properties of this object
10268
+ def update!(**args)
10269
+ @proxy_header = args[:proxy_header] if args.key?(:proxy_header)
10270
+ end
10271
+ end
10272
+
10273
+ #
10274
+ class TargetSslProxiesSetSslCertificatesRequest
10275
+ include Google::Apis::Core::Hashable
10276
+
10277
+ # New set of URLs to SslCertificate resources to associate with this
10278
+ # TargetSslProxy. Currently exactly one ssl certificate must be specified.
10279
+ # Corresponds to the JSON property `sslCertificates`
10280
+ # @return [Array<String>]
10281
+ attr_accessor :ssl_certificates
10282
+
10283
+ def initialize(**args)
10284
+ update!(**args)
10285
+ end
10286
+
10287
+ # Update properties of this object
10288
+ def update!(**args)
10289
+ @ssl_certificates = args[:ssl_certificates] if args.key?(:ssl_certificates)
10290
+ end
10291
+ end
10292
+
10293
+ # A TargetSslProxy resource. This resource defines an SSL proxy.
10294
+ class TargetSslProxy
10295
+ include Google::Apis::Core::Hashable
10296
+
10297
+ # [Output Only] Creation timestamp in RFC3339 text format.
10298
+ # Corresponds to the JSON property `creationTimestamp`
10299
+ # @return [String]
10300
+ attr_accessor :creation_timestamp
10301
+
10302
+ # An optional description of this resource. Provide this property when you
10303
+ # create the resource.
10304
+ # Corresponds to the JSON property `description`
10305
+ # @return [String]
10306
+ attr_accessor :description
10307
+
10308
+ # [Output Only] The unique identifier for the resource. This identifier is
10309
+ # defined by the server.
10310
+ # Corresponds to the JSON property `id`
10311
+ # @return [String]
10312
+ attr_accessor :id
10313
+
10314
+ # [Output Only] Type of the resource. Always compute#targetSslProxy for target
10315
+ # SSL proxies.
10316
+ # Corresponds to the JSON property `kind`
10317
+ # @return [String]
10318
+ attr_accessor :kind
10319
+
10320
+ # Name of the resource. Provided by the client when the resource is created. The
10321
+ # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
10322
+ # name must be 1-63 characters long and match the regular expression [a-z]([-a-
10323
+ # z0-9]*[a-z0-9])? which means the first character must be a lowercase letter,
10324
+ # and all following characters must be a dash, lowercase letter, or digit,
10325
+ # except the last character, which cannot be a dash.
10326
+ # Corresponds to the JSON property `name`
10327
+ # @return [String]
10328
+ attr_accessor :name
10329
+
10330
+ # Specifies the type of proxy header to append before sending data to the
10331
+ # backend, either NONE or PROXY_V1. The default is NONE.
10332
+ # Corresponds to the JSON property `proxyHeader`
10333
+ # @return [String]
10334
+ attr_accessor :proxy_header
10335
+
10336
+ # [Output Only] Server-defined URL for the resource.
10337
+ # Corresponds to the JSON property `selfLink`
10338
+ # @return [String]
10339
+ attr_accessor :self_link
10340
+
10341
+ # URL to the BackendService resource.
10342
+ # Corresponds to the JSON property `service`
10343
+ # @return [String]
10344
+ attr_accessor :service
10345
+
10346
+ # URLs to SslCertificate resources that are used to authenticate connections to
10347
+ # Backends. Currently exactly one SSL certificate must be specified.
10348
+ # Corresponds to the JSON property `sslCertificates`
10349
+ # @return [Array<String>]
10350
+ attr_accessor :ssl_certificates
10351
+
10352
+ def initialize(**args)
10353
+ update!(**args)
10354
+ end
10355
+
10356
+ # Update properties of this object
10357
+ def update!(**args)
10358
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
10359
+ @description = args[:description] if args.key?(:description)
10360
+ @id = args[:id] if args.key?(:id)
10361
+ @kind = args[:kind] if args.key?(:kind)
10362
+ @name = args[:name] if args.key?(:name)
10363
+ @proxy_header = args[:proxy_header] if args.key?(:proxy_header)
10364
+ @self_link = args[:self_link] if args.key?(:self_link)
10365
+ @service = args[:service] if args.key?(:service)
10366
+ @ssl_certificates = args[:ssl_certificates] if args.key?(:ssl_certificates)
10367
+ end
10368
+ end
10369
+
10370
+ # Contains a list of TargetSslProxy resources.
10371
+ class TargetSslProxyList
10372
+ include Google::Apis::Core::Hashable
10373
+
10374
+ # [Output Only] The unique identifier for the resource. This identifier is
10375
+ # defined by the server.
10376
+ # Corresponds to the JSON property `id`
10377
+ # @return [String]
10378
+ attr_accessor :id
10379
+
10380
+ # A list of TargetSslProxy resources.
10381
+ # Corresponds to the JSON property `items`
10382
+ # @return [Array<Google::Apis::ComputeBeta::TargetSslProxy>]
10383
+ attr_accessor :items
10384
+
10385
+ # Type of resource.
10386
+ # Corresponds to the JSON property `kind`
10387
+ # @return [String]
10388
+ attr_accessor :kind
10389
+
10390
+ # [Output Only] This token allows you to get the next page of results for list
10391
+ # requests. If the number of results is larger than maxResults, use the
10392
+ # nextPageToken as a value for the query parameter pageToken in the next list
10393
+ # request. Subsequent list requests will have their own nextPageToken to
10394
+ # continue paging through the results.
10395
+ # Corresponds to the JSON property `nextPageToken`
10396
+ # @return [String]
10397
+ attr_accessor :next_page_token
10398
+
10399
+ # [Output Only] Server-defined URL for this resource.
10400
+ # Corresponds to the JSON property `selfLink`
10401
+ # @return [String]
10402
+ attr_accessor :self_link
10403
+
10404
+ def initialize(**args)
10405
+ update!(**args)
10406
+ end
10407
+
10408
+ # Update properties of this object
10409
+ def update!(**args)
10410
+ @id = args[:id] if args.key?(:id)
10411
+ @items = args[:items] if args.key?(:items)
10412
+ @kind = args[:kind] if args.key?(:kind)
10413
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
10414
+ @self_link = args[:self_link] if args.key?(:self_link)
10415
+ end
10416
+ end
10417
+
9005
10418
  # Represents a Target VPN gateway resource.
9006
10419
  class TargetVpnGateway
9007
10420
  include Google::Apis::Core::Hashable
@@ -9732,6 +11145,13 @@ module Google
9732
11145
  # @return [String]
9733
11146
  attr_accessor :region
9734
11147
 
11148
+ # Remote traffic selectors to use when establishing the VPN tunnel with peer VPN
11149
+ # gateway. The value should be a CIDR formatted string, for example: 192.168.0.0/
11150
+ # 16. The ranges should be disjoint.
11151
+ # Corresponds to the JSON property `remoteTrafficSelector`
11152
+ # @return [Array<String>]
11153
+ attr_accessor :remote_traffic_selector
11154
+
9735
11155
  # URL of router resource to be used for dynamic routing.
9736
11156
  # Corresponds to the JSON property `router`
9737
11157
  # @return [String]
@@ -9780,6 +11200,7 @@ module Google
9780
11200
  @name = args[:name] if args.key?(:name)
9781
11201
  @peer_ip = args[:peer_ip] if args.key?(:peer_ip)
9782
11202
  @region = args[:region] if args.key?(:region)
11203
+ @remote_traffic_selector = args[:remote_traffic_selector] if args.key?(:remote_traffic_selector)
9783
11204
  @router = args[:router] if args.key?(:router)
9784
11205
  @self_link = args[:self_link] if args.key?(:self_link)
9785
11206
  @shared_secret = args[:shared_secret] if args.key?(:shared_secret)