google-api-client 0.9.8 → 0.9.15

Sign up to get free protection for your applications and to get access to all the features.
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)