google-api-client 0.9.9 → 0.9.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +9 -0
  3. data/Gemfile +8 -0
  4. data/api_names.yaml +62 -55
  5. data/generated/google/apis/adsense_v1_4.rb +1 -1
  6. data/generated/google/apis/adsensehost_v4_1.rb +1 -1
  7. data/generated/google/apis/analyticsreporting_v4.rb +1 -1
  8. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  9. data/generated/google/apis/androidenterprise_v1/classes.rb +534 -39
  10. data/generated/google/apis/androidenterprise_v1/representations.rb +222 -0
  11. data/generated/google/apis/androidenterprise_v1/service.rb +595 -10
  12. data/generated/google/apis/androidpublisher_v2.rb +1 -1
  13. data/generated/google/apis/appengine_v1beta5.rb +1 -1
  14. data/generated/google/apis/appengine_v1beta5/classes.rb +66 -6
  15. data/generated/google/apis/appengine_v1beta5/representations.rb +29 -0
  16. data/generated/google/apis/appengine_v1beta5/service.rb +15 -1
  17. data/generated/google/apis/appstate_v1.rb +1 -1
  18. data/generated/google/apis/bigquery_v2.rb +1 -1
  19. data/generated/google/apis/bigquery_v2/classes.rb +12 -4
  20. data/generated/google/apis/bigquery_v2/representations.rb +1 -0
  21. data/generated/google/apis/books_v1.rb +2 -2
  22. data/generated/google/apis/books_v1/classes.rb +77 -0
  23. data/generated/google/apis/books_v1/representations.rb +34 -0
  24. data/generated/google/apis/books_v1/service.rb +2 -2
  25. data/generated/google/apis/calendar_v3.rb +1 -1
  26. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  27. data/generated/google/apis/cloudbuild_v1/classes.rb +110 -0
  28. data/generated/google/apis/cloudbuild_v1/representations.rb +60 -0
  29. data/generated/google/apis/cloudmonitoring_v2beta2.rb +1 -1
  30. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  31. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +157 -3
  32. data/generated/google/apis/cloudresourcemanager_v1/representations.rb +33 -0
  33. data/generated/google/apis/cloudresourcemanager_v1/service.rb +60 -21
  34. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  35. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +22 -5
  36. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +2 -0
  37. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +61 -39
  38. data/generated/google/apis/compute_beta.rb +1 -1
  39. data/generated/google/apis/compute_beta/classes.rb +678 -17
  40. data/generated/google/apis/compute_beta/representations.rb +235 -0
  41. data/generated/google/apis/compute_beta/service.rb +1280 -600
  42. data/generated/google/apis/compute_v1.rb +1 -1
  43. data/generated/google/apis/compute_v1/classes.rb +34 -13
  44. data/generated/google/apis/compute_v1/representations.rb +14 -0
  45. data/generated/google/apis/compute_v1/service.rb +42 -0
  46. data/generated/google/apis/content_v2.rb +1 -1
  47. data/generated/google/apis/content_v2/classes.rb +14 -0
  48. data/generated/google/apis/content_v2/representations.rb +2 -0
  49. data/generated/google/apis/datastore_v1beta3.rb +38 -0
  50. data/generated/google/apis/datastore_v1beta3/classes.rb +1237 -0
  51. data/generated/google/apis/datastore_v1beta3/representations.rb +567 -0
  52. data/generated/google/apis/datastore_v1beta3/service.rb +259 -0
  53. data/generated/google/apis/deploymentmanager_v2.rb +1 -1
  54. data/generated/google/apis/deploymentmanager_v2/classes.rb +6 -0
  55. data/generated/google/apis/deploymentmanager_v2/representations.rb +2 -0
  56. data/generated/google/apis/deploymentmanager_v2/service.rb +40 -50
  57. data/generated/google/apis/dfareporting_v2_5.rb +40 -0
  58. data/generated/google/apis/dfareporting_v2_5/classes.rb +11225 -0
  59. data/generated/google/apis/dfareporting_v2_5/representations.rb +3982 -0
  60. data/generated/google/apis/dfareporting_v2_5/service.rb +8755 -0
  61. data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
  62. data/generated/google/apis/drive_v2.rb +1 -1
  63. data/generated/google/apis/drive_v3.rb +1 -1
  64. data/generated/google/apis/fitness_v1.rb +2 -2
  65. data/generated/google/apis/fitness_v1/classes.rb +48 -5
  66. data/generated/google/apis/fitness_v1/representations.rb +18 -0
  67. data/generated/google/apis/fitness_v1/service.rb +15 -16
  68. data/generated/google/apis/games_configuration_v1configuration.rb +1 -1
  69. data/generated/google/apis/games_management_v1management.rb +1 -1
  70. data/generated/google/apis/games_v1.rb +1 -1
  71. data/generated/google/apis/genomics_v1.rb +2 -4
  72. data/generated/google/apis/genomics_v1/classes.rb +35 -7
  73. data/generated/google/apis/genomics_v1/representations.rb +7 -3
  74. data/generated/google/apis/genomics_v1/service.rb +1 -3
  75. data/generated/google/apis/gmail_v1.rb +7 -1
  76. data/generated/google/apis/gmail_v1/classes.rb +543 -0
  77. data/generated/google/apis/gmail_v1/representations.rb +213 -0
  78. data/generated/google/apis/gmail_v1/service.rb +898 -1
  79. data/generated/google/apis/identitytoolkit_v3.rb +1 -1
  80. data/generated/google/apis/mirror_v1.rb +2 -2
  81. data/generated/google/apis/mirror_v1/service.rb +1 -1
  82. data/generated/google/apis/monitoring_v3.rb +1 -1
  83. data/generated/google/apis/monitoring_v3/classes.rb +7 -6
  84. data/generated/google/apis/oauth2_v2.rb +1 -1
  85. data/generated/google/apis/pagespeedonline_v2.rb +1 -1
  86. data/generated/google/apis/plus_domains_v1.rb +1 -1
  87. data/generated/google/apis/plus_v1.rb +1 -1
  88. data/generated/google/apis/replicapool_v1beta2.rb +1 -1
  89. data/generated/google/apis/sheets_v4.rb +1 -1
  90. data/generated/google/apis/sqladmin_v1beta4.rb +1 -1
  91. data/generated/google/apis/sqladmin_v1beta4/classes.rb +14 -8
  92. data/generated/google/apis/storage_v1.rb +1 -1
  93. data/generated/google/apis/storage_v1/classes.rb +17 -9
  94. data/generated/google/apis/translate_v2.rb +2 -2
  95. data/generated/google/apis/translate_v2/service.rb +1 -1
  96. data/generated/google/apis/vision_v1.rb +1 -1
  97. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  98. data/generated/google/apis/youtube_v3.rb +1 -1
  99. data/generated/google/apis/youtube_v3/classes.rb +8 -2
  100. data/generated/google/apis/youtube_v3/representations.rb +1 -0
  101. data/lib/google/apis/core/base_service.rb +3 -2
  102. data/lib/google/apis/core/upload.rb +7 -1
  103. data/lib/google/apis/version.rb +1 -1
  104. data/sync.rb +71 -0
  105. metadata +11 -2
@@ -88,6 +88,18 @@ module Google
88
88
  include Google::Apis::Core::JsonObjectSupport
89
89
  end
90
90
 
91
+ class Operation
92
+ class Representation < Google::Apis::Core::JsonRepresentation; end
93
+
94
+ include Google::Apis::Core::JsonObjectSupport
95
+ end
96
+
97
+ class Status
98
+ class Representation < Google::Apis::Core::JsonRepresentation; end
99
+
100
+ include Google::Apis::Core::JsonObjectSupport
101
+ end
102
+
91
103
  class Project
92
104
  # @private
93
105
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -176,6 +188,27 @@ module Google
176
188
  collection :permissions, as: 'permissions'
177
189
  end
178
190
  end
191
+
192
+ class Operation
193
+ # @private
194
+ class Representation < Google::Apis::Core::JsonRepresentation
195
+ property :name, as: 'name'
196
+ hash :metadata, as: 'metadata'
197
+ property :done, as: 'done'
198
+ property :error, as: 'error', class: Google::Apis::CloudresourcemanagerV1::Status, decorator: Google::Apis::CloudresourcemanagerV1::Status::Representation
199
+
200
+ hash :response, as: 'response'
201
+ end
202
+ end
203
+
204
+ class Status
205
+ # @private
206
+ class Representation < Google::Apis::Core::JsonRepresentation
207
+ property :code, as: 'code'
208
+ property :message, as: 'message'
209
+ collection :details, as: 'details'
210
+ end
211
+ end
179
212
  end
180
213
  end
181
214
  end
@@ -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 = '20160525'
28
+ REVISION = '20160628'
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'
@@ -568,6 +568,12 @@ module Google
568
568
  # @return [String]
569
569
  attr_accessor :name
570
570
 
571
+ # [Output Only] URL of the region where the instance group resides (for
572
+ # autoscalers living in regional scope).
573
+ # Corresponds to the JSON property `region`
574
+ # @return [String]
575
+ attr_accessor :region
576
+
571
577
  # [Output Only] Server-defined URL for the resource.
572
578
  # Corresponds to the JSON property `selfLink`
573
579
  # @return [String]
@@ -595,6 +601,7 @@ module Google
595
601
  @id = args[:id] if args.key?(:id)
596
602
  @kind = args[:kind] if args.key?(:kind)
597
603
  @name = args[:name] if args.key?(:name)
604
+ @region = args[:region] if args.key?(:region)
598
605
  @self_link = args[:self_link] if args.key?(:self_link)
599
606
  @target = args[:target] if args.key?(:target)
600
607
  @zone = args[:zone] if args.key?(:zone)
@@ -978,6 +985,21 @@ module Google
978
985
  # @return [String]
979
986
  attr_accessor :group
980
987
 
988
+ # The max number of simultaneous connections for the group. Can be used with
989
+ # either CONNECTION or UTILIZATION balancing modes. For CONNECTION mode, either
990
+ # maxConnections or maxConnectionsPerInstance must be set.
991
+ # Corresponds to the JSON property `maxConnections`
992
+ # @return [Fixnum]
993
+ attr_accessor :max_connections
994
+
995
+ # The max number of simultaneous connections that a single backend instance can
996
+ # handle. This is used to calculate the capacity of the group. Can be used in
997
+ # either CONNECTION or UTILIZATION balancing modes. For CONNECTION mode, either
998
+ # maxConnections or maxConnectionsPerInstance must be set.
999
+ # Corresponds to the JSON property `maxConnectionsPerInstance`
1000
+ # @return [Fixnum]
1001
+ attr_accessor :max_connections_per_instance
1002
+
981
1003
  # The max requests per second (RPS) of the group. Can be used with either RATE
982
1004
  # or UTILIZATION balancing modes, but required if RATE mode. For RATE mode,
983
1005
  # either maxRate or maxRatePerInstance must be set.
@@ -1009,6 +1031,8 @@ module Google
1009
1031
  @capacity_scaler = args[:capacity_scaler] if args.key?(:capacity_scaler)
1010
1032
  @description = args[:description] if args.key?(:description)
1011
1033
  @group = args[:group] if args.key?(:group)
1034
+ @max_connections = args[:max_connections] if args.key?(:max_connections)
1035
+ @max_connections_per_instance = args[:max_connections_per_instance] if args.key?(:max_connections_per_instance)
1012
1036
  @max_rate = args[:max_rate] if args.key?(:max_rate)
1013
1037
  @max_rate_per_instance = args[:max_rate_per_instance] if args.key?(:max_rate_per_instance)
1014
1038
  @max_utilization = args[:max_utilization] if args.key?(:max_utilization)
@@ -1032,6 +1056,11 @@ module Google
1032
1056
  # @return [Array<Google::Apis::ComputeBeta::Backend>]
1033
1057
  attr_accessor :backends
1034
1058
 
1059
+ # Message containing connection draining configuration.
1060
+ # Corresponds to the JSON property `connectionDraining`
1061
+ # @return [Google::Apis::ComputeBeta::ConnectionDraining]
1062
+ attr_accessor :connection_draining
1063
+
1035
1064
  # [Output Only] Creation timestamp in RFC3339 text format.
1036
1065
  # Corresponds to the JSON property `creationTimestamp`
1037
1066
  # @return [String]
@@ -1134,6 +1163,7 @@ module Google
1134
1163
  def update!(**args)
1135
1164
  @affinity_cookie_ttl_sec = args[:affinity_cookie_ttl_sec] if args.key?(:affinity_cookie_ttl_sec)
1136
1165
  @backends = args[:backends] if args.key?(:backends)
1166
+ @connection_draining = args[:connection_draining] if args.key?(:connection_draining)
1137
1167
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
1138
1168
  @description = args[:description] if args.key?(:description)
1139
1169
  @enable_cdn = args[:enable_cdn] if args.key?(:enable_cdn)
@@ -1182,8 +1212,7 @@ module Google
1182
1212
  class BackendServiceList
1183
1213
  include Google::Apis::Core::Hashable
1184
1214
 
1185
- # [Output Only] The unique identifier for the resource. This identifier is
1186
- # defined by the server.
1215
+ # [Output Only] Unique identifier for the resource; defined by the server.
1187
1216
  # Corresponds to the JSON property `id`
1188
1217
  # @return [String]
1189
1218
  attr_accessor :id
@@ -1199,11 +1228,7 @@ module Google
1199
1228
  # @return [String]
1200
1229
  attr_accessor :kind
1201
1230
 
1202
- # [Output Only] This token allows you to get the next page of results for list
1203
- # requests. If the number of results is larger than maxResults, use the
1204
- # nextPageToken as a value for the query parameter pageToken in the next list
1205
- # request. Subsequent list requests will have their own nextPageToken to
1206
- # continue paging through the results.
1231
+ # [Output Only] A token used to continue a truncated list request.
1207
1232
  # Corresponds to the JSON property `nextPageToken`
1208
1233
  # @return [String]
1209
1234
  attr_accessor :next_page_token
@@ -1246,30 +1271,50 @@ module Google
1246
1271
  end
1247
1272
  end
1248
1273
 
1274
+ # Message containing connection draining configuration.
1275
+ class ConnectionDraining
1276
+ include Google::Apis::Core::Hashable
1277
+
1278
+ # Time for which instance will be drained (not accept new connections, but still
1279
+ # work to finish started).
1280
+ # Corresponds to the JSON property `drainingTimeoutSec`
1281
+ # @return [Fixnum]
1282
+ attr_accessor :draining_timeout_sec
1283
+
1284
+ def initialize(**args)
1285
+ update!(**args)
1286
+ end
1287
+
1288
+ # Update properties of this object
1289
+ def update!(**args)
1290
+ @draining_timeout_sec = args[:draining_timeout_sec] if args.key?(:draining_timeout_sec)
1291
+ end
1292
+ end
1293
+
1249
1294
  # Represents a customer-supplied encryption key
1250
1295
  class CustomerEncryptionKey
1251
1296
  include Google::Apis::Core::Hashable
1252
1297
 
1253
- # Specifies a 256-bit customer-supplied encryption key, encoded in base64 to
1254
- # either encrypt or decrypt this resource.
1298
+ # Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648
1299
+ # base64 to either encrypt or decrypt this resource.
1255
1300
  # Corresponds to the JSON property `rawKey`
1256
1301
  # @return [String]
1257
1302
  attr_accessor :raw_key
1258
1303
 
1259
- # Specifies a base64 encoded, RSA-wrapped 2048-bit customer-supplied encryption
1260
- # key to either encrypt or decrypt this resource.
1304
+ # Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit customer-supplied
1305
+ # encryption key to either encrypt or decrypt this resource.
1261
1306
  # The key must meet the following requirements before you can provide it to
1262
1307
  # Compute Engine:
1263
1308
  # - The key is wrapped using a RSA public key certificate provided by Google.
1264
- # - After being wrapped, the key must be encoded in base64 encoding. Get the
1265
- # RSA public key certificate provided by Google at:
1309
+ # - After being wrapped, the key must be encoded in RFC 4648 base64 encoding.
1310
+ # Get the RSA public key certificate provided by Google at:
1266
1311
  # https://cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem
1267
1312
  # Corresponds to the JSON property `rsaEncryptedKey`
1268
1313
  # @return [String]
1269
1314
  attr_accessor :rsa_encrypted_key
1270
1315
 
1271
- # [Output only] The base64 encoded SHA-256 hash of the customer-supplied
1272
- # encryption key that protects this resource.
1316
+ # [Output only] The RFC 4648 base64 encoded SHA-256 hash of the customer-
1317
+ # supplied encryption key that protects this resource.
1273
1318
  # Corresponds to the JSON property `sha256`
1274
1319
  # @return [String]
1275
1320
  attr_accessor :sha256
@@ -2593,6 +2638,319 @@ module Google
2593
2638
  end
2594
2639
  end
2595
2640
 
2641
+ #
2642
+ class Http2HealthCheck
2643
+ include Google::Apis::Core::Hashable
2644
+
2645
+ # The value of the host header in the HTTP/2 health check request. If left empty
2646
+ # (default value), the IP on behalf of which this health check is performed will
2647
+ # be used.
2648
+ # Corresponds to the JSON property `host`
2649
+ # @return [String]
2650
+ attr_accessor :host
2651
+
2652
+ # The TCP port number for the health check request. The default value is 443.
2653
+ # Corresponds to the JSON property `port`
2654
+ # @return [Fixnum]
2655
+ attr_accessor :port
2656
+
2657
+ # Port name as defined in InstanceGroup#NamedPort#name. If both port and
2658
+ # port_name are defined, port takes precedence.
2659
+ # Corresponds to the JSON property `portName`
2660
+ # @return [String]
2661
+ attr_accessor :port_name
2662
+
2663
+ # Specifies the type of proxy header to append before sending data to the
2664
+ # backend, either NONE or PROXY_V1. The default is NONE.
2665
+ # Corresponds to the JSON property `proxyHeader`
2666
+ # @return [String]
2667
+ attr_accessor :proxy_header
2668
+
2669
+ # The request path of the HTTP/2 health check request. The default value is /.
2670
+ # Corresponds to the JSON property `requestPath`
2671
+ # @return [String]
2672
+ attr_accessor :request_path
2673
+
2674
+ def initialize(**args)
2675
+ update!(**args)
2676
+ end
2677
+
2678
+ # Update properties of this object
2679
+ def update!(**args)
2680
+ @host = args[:host] if args.key?(:host)
2681
+ @port = args[:port] if args.key?(:port)
2682
+ @port_name = args[:port_name] if args.key?(:port_name)
2683
+ @proxy_header = args[:proxy_header] if args.key?(:proxy_header)
2684
+ @request_path = args[:request_path] if args.key?(:request_path)
2685
+ end
2686
+ end
2687
+
2688
+ #
2689
+ class HttpHealthCheck
2690
+ include Google::Apis::Core::Hashable
2691
+
2692
+ # The value of the host header in the HTTP health check request. If left empty (
2693
+ # default value), the IP on behalf of which this health check is performed will
2694
+ # be used.
2695
+ # Corresponds to the JSON property `host`
2696
+ # @return [String]
2697
+ attr_accessor :host
2698
+
2699
+ # The TCP port number for the health check request. The default value is 80.
2700
+ # Corresponds to the JSON property `port`
2701
+ # @return [Fixnum]
2702
+ attr_accessor :port
2703
+
2704
+ # Port name as defined in InstanceGroup#NamedPort#name. If both port and
2705
+ # port_name are defined, port takes precedence.
2706
+ # Corresponds to the JSON property `portName`
2707
+ # @return [String]
2708
+ attr_accessor :port_name
2709
+
2710
+ # Specifies the type of proxy header to append before sending data to the
2711
+ # backend, either NONE or PROXY_V1. The default is NONE.
2712
+ # Corresponds to the JSON property `proxyHeader`
2713
+ # @return [String]
2714
+ attr_accessor :proxy_header
2715
+
2716
+ # The request path of the HTTP health check request. The default value is /.
2717
+ # Corresponds to the JSON property `requestPath`
2718
+ # @return [String]
2719
+ attr_accessor :request_path
2720
+
2721
+ def initialize(**args)
2722
+ update!(**args)
2723
+ end
2724
+
2725
+ # Update properties of this object
2726
+ def update!(**args)
2727
+ @host = args[:host] if args.key?(:host)
2728
+ @port = args[:port] if args.key?(:port)
2729
+ @port_name = args[:port_name] if args.key?(:port_name)
2730
+ @proxy_header = args[:proxy_header] if args.key?(:proxy_header)
2731
+ @request_path = args[:request_path] if args.key?(:request_path)
2732
+ end
2733
+ end
2734
+
2735
+ #
2736
+ class HttpsHealthCheck
2737
+ include Google::Apis::Core::Hashable
2738
+
2739
+ # The value of the host header in the HTTPS health check request. If left empty (
2740
+ # default value), the IP on behalf of which this health check is performed will
2741
+ # be used.
2742
+ # Corresponds to the JSON property `host`
2743
+ # @return [String]
2744
+ attr_accessor :host
2745
+
2746
+ # The TCP port number for the health check request. The default value is 443.
2747
+ # Corresponds to the JSON property `port`
2748
+ # @return [Fixnum]
2749
+ attr_accessor :port
2750
+
2751
+ # Port name as defined in InstanceGroup#NamedPort#name. If both port and
2752
+ # port_name are defined, port takes precedence.
2753
+ # Corresponds to the JSON property `portName`
2754
+ # @return [String]
2755
+ attr_accessor :port_name
2756
+
2757
+ # Specifies the type of proxy header to append before sending data to the
2758
+ # backend, either NONE or PROXY_V1. The default is NONE.
2759
+ # Corresponds to the JSON property `proxyHeader`
2760
+ # @return [String]
2761
+ attr_accessor :proxy_header
2762
+
2763
+ # The request path of the HTTPS health check request. The default value is /.
2764
+ # Corresponds to the JSON property `requestPath`
2765
+ # @return [String]
2766
+ attr_accessor :request_path
2767
+
2768
+ def initialize(**args)
2769
+ update!(**args)
2770
+ end
2771
+
2772
+ # Update properties of this object
2773
+ def update!(**args)
2774
+ @host = args[:host] if args.key?(:host)
2775
+ @port = args[:port] if args.key?(:port)
2776
+ @port_name = args[:port_name] if args.key?(:port_name)
2777
+ @proxy_header = args[:proxy_header] if args.key?(:proxy_header)
2778
+ @request_path = args[:request_path] if args.key?(:request_path)
2779
+ end
2780
+ end
2781
+
2782
+ # An HealthCheck resource. This resource defines a template for how individual
2783
+ # virtual machines should be checked for health, via one of the supported
2784
+ # protocols.
2785
+ class HealthCheck
2786
+ include Google::Apis::Core::Hashable
2787
+
2788
+ # How often (in seconds) to send a health check. The default value is 5 seconds.
2789
+ # Corresponds to the JSON property `checkIntervalSec`
2790
+ # @return [Fixnum]
2791
+ attr_accessor :check_interval_sec
2792
+
2793
+ # [Output Only] Creation timestamp in 3339 text format.
2794
+ # Corresponds to the JSON property `creationTimestamp`
2795
+ # @return [String]
2796
+ attr_accessor :creation_timestamp
2797
+
2798
+ # An optional description of this resource. Provide this property when you
2799
+ # create the resource.
2800
+ # Corresponds to the JSON property `description`
2801
+ # @return [String]
2802
+ attr_accessor :description
2803
+
2804
+ # A so-far unhealthy instance will be marked healthy after this many consecutive
2805
+ # successes. The default value is 2.
2806
+ # Corresponds to the JSON property `healthyThreshold`
2807
+ # @return [Fixnum]
2808
+ attr_accessor :healthy_threshold
2809
+
2810
+ #
2811
+ # Corresponds to the JSON property `http2HealthCheck`
2812
+ # @return [Google::Apis::ComputeBeta::Http2HealthCheck]
2813
+ attr_accessor :http2_health_check
2814
+
2815
+ #
2816
+ # Corresponds to the JSON property `httpHealthCheck`
2817
+ # @return [Google::Apis::ComputeBeta::HttpHealthCheck]
2818
+ attr_accessor :http_health_check
2819
+
2820
+ #
2821
+ # Corresponds to the JSON property `httpsHealthCheck`
2822
+ # @return [Google::Apis::ComputeBeta::HttpsHealthCheck]
2823
+ attr_accessor :https_health_check
2824
+
2825
+ # [Output Only] The unique identifier for the resource. This identifier is
2826
+ # defined by the server.
2827
+ # Corresponds to the JSON property `id`
2828
+ # @return [String]
2829
+ attr_accessor :id
2830
+
2831
+ # Type of the resource.
2832
+ # Corresponds to the JSON property `kind`
2833
+ # @return [String]
2834
+ attr_accessor :kind
2835
+
2836
+ # Name of the resource. Provided by the client when the resource is created. The
2837
+ # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
2838
+ # name must be 1-63 characters long and match the regular expression [a-z]([-a-
2839
+ # z0-9]*[a-z0-9])? which means the first character must be a lowercase letter,
2840
+ # and all following characters must be a dash, lowercase letter, or digit,
2841
+ # except the last character, which cannot be a dash.
2842
+ # Corresponds to the JSON property `name`
2843
+ # @return [String]
2844
+ attr_accessor :name
2845
+
2846
+ # [Output Only] Server-defined URL for the resource.
2847
+ # Corresponds to the JSON property `selfLink`
2848
+ # @return [String]
2849
+ attr_accessor :self_link
2850
+
2851
+ #
2852
+ # Corresponds to the JSON property `sslHealthCheck`
2853
+ # @return [Google::Apis::ComputeBeta::SslHealthCheck]
2854
+ attr_accessor :ssl_health_check
2855
+
2856
+ #
2857
+ # Corresponds to the JSON property `tcpHealthCheck`
2858
+ # @return [Google::Apis::ComputeBeta::TcpHealthCheck]
2859
+ attr_accessor :tcp_health_check
2860
+
2861
+ # How long (in seconds) to wait before claiming failure. The default value is 5
2862
+ # seconds. It is invalid for timeoutSec to have greater value than
2863
+ # checkIntervalSec.
2864
+ # Corresponds to the JSON property `timeoutSec`
2865
+ # @return [Fixnum]
2866
+ attr_accessor :timeout_sec
2867
+
2868
+ # Specifies the type of the healthCheck, either TCP, SSL, HTTP, HTTPS or HTTP2.
2869
+ # If not specified, the default is TCP. Exactly one of the protocol-specific
2870
+ # health check field must be specified, which must match type field.
2871
+ # Corresponds to the JSON property `type`
2872
+ # @return [String]
2873
+ attr_accessor :type
2874
+
2875
+ # A so-far healthy instance will be marked unhealthy after this many consecutive
2876
+ # failures. The default value is 2.
2877
+ # Corresponds to the JSON property `unhealthyThreshold`
2878
+ # @return [Fixnum]
2879
+ attr_accessor :unhealthy_threshold
2880
+
2881
+ def initialize(**args)
2882
+ update!(**args)
2883
+ end
2884
+
2885
+ # Update properties of this object
2886
+ def update!(**args)
2887
+ @check_interval_sec = args[:check_interval_sec] if args.key?(:check_interval_sec)
2888
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
2889
+ @description = args[:description] if args.key?(:description)
2890
+ @healthy_threshold = args[:healthy_threshold] if args.key?(:healthy_threshold)
2891
+ @http2_health_check = args[:http2_health_check] if args.key?(:http2_health_check)
2892
+ @http_health_check = args[:http_health_check] if args.key?(:http_health_check)
2893
+ @https_health_check = args[:https_health_check] if args.key?(:https_health_check)
2894
+ @id = args[:id] if args.key?(:id)
2895
+ @kind = args[:kind] if args.key?(:kind)
2896
+ @name = args[:name] if args.key?(:name)
2897
+ @self_link = args[:self_link] if args.key?(:self_link)
2898
+ @ssl_health_check = args[:ssl_health_check] if args.key?(:ssl_health_check)
2899
+ @tcp_health_check = args[:tcp_health_check] if args.key?(:tcp_health_check)
2900
+ @timeout_sec = args[:timeout_sec] if args.key?(:timeout_sec)
2901
+ @type = args[:type] if args.key?(:type)
2902
+ @unhealthy_threshold = args[:unhealthy_threshold] if args.key?(:unhealthy_threshold)
2903
+ end
2904
+ end
2905
+
2906
+ # Contains a list of HealthCheck resources.
2907
+ class HealthCheckList
2908
+ include Google::Apis::Core::Hashable
2909
+
2910
+ # [Output Only] The unique identifier for the resource. This identifier is
2911
+ # defined by the server.
2912
+ # Corresponds to the JSON property `id`
2913
+ # @return [String]
2914
+ attr_accessor :id
2915
+
2916
+ # A list of HealthCheck resources.
2917
+ # Corresponds to the JSON property `items`
2918
+ # @return [Array<Google::Apis::ComputeBeta::HealthCheck>]
2919
+ attr_accessor :items
2920
+
2921
+ # Type of resource.
2922
+ # Corresponds to the JSON property `kind`
2923
+ # @return [String]
2924
+ attr_accessor :kind
2925
+
2926
+ # [Output Only] This token allows you to get the next page of results for list
2927
+ # requests. If the number of results is larger than maxResults, use the
2928
+ # nextPageToken as a value for the query parameter pageToken in the next list
2929
+ # request. Subsequent list requests will have their own nextPageToken to
2930
+ # continue paging through the results.
2931
+ # Corresponds to the JSON property `nextPageToken`
2932
+ # @return [String]
2933
+ attr_accessor :next_page_token
2934
+
2935
+ # [Output Only] Server-defined URL for this resource.
2936
+ # Corresponds to the JSON property `selfLink`
2937
+ # @return [String]
2938
+ attr_accessor :self_link
2939
+
2940
+ def initialize(**args)
2941
+ update!(**args)
2942
+ end
2943
+
2944
+ # Update properties of this object
2945
+ def update!(**args)
2946
+ @id = args[:id] if args.key?(:id)
2947
+ @items = args[:items] if args.key?(:items)
2948
+ @kind = args[:kind] if args.key?(:kind)
2949
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2950
+ @self_link = args[:self_link] if args.key?(:self_link)
2951
+ end
2952
+ end
2953
+
2596
2954
  # A full or valid partial URL to a health check. For example, the following are
2597
2955
  # valid URLs:
2598
2956
  # - https://www.googleapis.com/compute/beta/projects/project-id/global/
@@ -3066,7 +3424,7 @@ module Google
3066
3424
  # @return [Hash<String,String>]
3067
3425
  attr_accessor :labels
3068
3426
 
3069
- # Any applicable publicly visible licenses.
3427
+ # Any applicable license URI.
3070
3428
  # Corresponds to the JSON property `licenses`
3071
3429
  # @return [Array<String>]
3072
3430
  attr_accessor :licenses
@@ -3514,6 +3872,11 @@ module Google
3514
3872
  # @return [String]
3515
3873
  attr_accessor :network
3516
3874
 
3875
+ # The URL of the region where the instance group is located.
3876
+ # Corresponds to the JSON property `region`
3877
+ # @return [String]
3878
+ attr_accessor :region
3879
+
3517
3880
  # [Output Only] The URL for this instance group. The server generates this URL.
3518
3881
  # Corresponds to the JSON property `selfLink`
3519
3882
  # @return [String]
@@ -3548,6 +3911,7 @@ module Google
3548
3911
  @name = args[:name] if args.key?(:name)
3549
3912
  @named_ports = args[:named_ports] if args.key?(:named_ports)
3550
3913
  @network = args[:network] if args.key?(:network)
3914
+ @region = args[:region] if args.key?(:region)
3551
3915
  @self_link = args[:self_link] if args.key?(:self_link)
3552
3916
  @size = args[:size] if args.key?(:size)
3553
3917
  @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
@@ -3653,7 +4017,7 @@ module Google
3653
4017
  end
3654
4018
  end
3655
4019
 
3656
- #
4020
+ # An Instance Template Manager resource.
3657
4021
  class InstanceGroupManager
3658
4022
  include Google::Apis::Core::Hashable
3659
4023
 
@@ -3689,6 +4053,12 @@ module Google
3689
4053
  # @return [String]
3690
4054
  attr_accessor :description
3691
4055
 
4056
+ # The action to perform in case of zone failure (set only for Regional instance
4057
+ # group managers).
4058
+ # Corresponds to the JSON property `failoverAction`
4059
+ # @return [String]
4060
+ attr_accessor :failover_action
4061
+
3692
4062
  # [Output Only] The fingerprint of the resource data. You can use this optional
3693
4063
  # field for optimistic locking when you update the resource.
3694
4064
  # Corresponds to the JSON property `fingerprint`
@@ -3731,6 +4101,11 @@ module Google
3731
4101
  # @return [Array<Google::Apis::ComputeBeta::NamedPort>]
3732
4102
  attr_accessor :named_ports
3733
4103
 
4104
+ # [Output Only] URL of the region where the managed instance group resides.
4105
+ # Corresponds to the JSON property `region`
4106
+ # @return [String]
4107
+ attr_accessor :region
4108
+
3734
4109
  # [Output Only] The URL for this managed instance group. The server defines this
3735
4110
  # URL.
3736
4111
  # Corresponds to the JSON property `selfLink`
@@ -3767,6 +4142,7 @@ module Google
3767
4142
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
3768
4143
  @current_actions = args[:current_actions] if args.key?(:current_actions)
3769
4144
  @description = args[:description] if args.key?(:description)
4145
+ @failover_action = args[:failover_action] if args.key?(:failover_action)
3770
4146
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
3771
4147
  @id = args[:id] if args.key?(:id)
3772
4148
  @instance_group = args[:instance_group] if args.key?(:instance_group)
@@ -3774,6 +4150,7 @@ module Google
3774
4150
  @kind = args[:kind] if args.key?(:kind)
3775
4151
  @name = args[:name] if args.key?(:name)
3776
4152
  @named_ports = args[:named_ports] if args.key?(:named_ports)
4153
+ @region = args[:region] if args.key?(:region)
3777
4154
  @self_link = args[:self_link] if args.key?(:self_link)
3778
4155
  @target_pools = args[:target_pools] if args.key?(:target_pools)
3779
4156
  @target_size = args[:target_size] if args.key?(:target_size)
@@ -7324,6 +7701,56 @@ module Google
7324
7701
  end
7325
7702
  end
7326
7703
 
7704
+ #
7705
+ class SslHealthCheck
7706
+ include Google::Apis::Core::Hashable
7707
+
7708
+ # The TCP port number for the health check request. The default value is 443.
7709
+ # Corresponds to the JSON property `port`
7710
+ # @return [Fixnum]
7711
+ attr_accessor :port
7712
+
7713
+ # Port name as defined in InstanceGroup#NamedPort#name. If both port and
7714
+ # port_name are defined, port takes precedence.
7715
+ # Corresponds to the JSON property `portName`
7716
+ # @return [String]
7717
+ attr_accessor :port_name
7718
+
7719
+ # Specifies the type of proxy header to append before sending data to the
7720
+ # backend, either NONE or PROXY_V1. The default is NONE.
7721
+ # Corresponds to the JSON property `proxyHeader`
7722
+ # @return [String]
7723
+ attr_accessor :proxy_header
7724
+
7725
+ # The application data to send once the SSL connection has been established (
7726
+ # default value is empty). If both request and response are empty, the
7727
+ # connection establishment alone will indicate health. The request data can only
7728
+ # be ASCII.
7729
+ # Corresponds to the JSON property `request`
7730
+ # @return [String]
7731
+ attr_accessor :request
7732
+
7733
+ # The bytes to match against the beginning of the response data. If left empty (
7734
+ # the default value), any response will indicate health. The response data can
7735
+ # only be ASCII.
7736
+ # Corresponds to the JSON property `response`
7737
+ # @return [String]
7738
+ attr_accessor :response
7739
+
7740
+ def initialize(**args)
7741
+ update!(**args)
7742
+ end
7743
+
7744
+ # Update properties of this object
7745
+ def update!(**args)
7746
+ @port = args[:port] if args.key?(:port)
7747
+ @port_name = args[:port_name] if args.key?(:port_name)
7748
+ @proxy_header = args[:proxy_header] if args.key?(:proxy_header)
7749
+ @request = args[:request] if args.key?(:request)
7750
+ @response = args[:response] if args.key?(:response)
7751
+ end
7752
+ end
7753
+
7327
7754
  # Sets the scheduling options for an Instance.
7328
7755
  class Scheduling
7329
7756
  include Google::Apis::Core::Hashable
@@ -8018,6 +8445,56 @@ module Google
8018
8445
  end
8019
8446
  end
8020
8447
 
8448
+ #
8449
+ class TcpHealthCheck
8450
+ include Google::Apis::Core::Hashable
8451
+
8452
+ # The TCP port number for the health check request. The default value is 80.
8453
+ # Corresponds to the JSON property `port`
8454
+ # @return [Fixnum]
8455
+ attr_accessor :port
8456
+
8457
+ # Port name as defined in InstanceGroup#NamedPort#name. If both port and
8458
+ # port_name are defined, port takes precedence.
8459
+ # Corresponds to the JSON property `portName`
8460
+ # @return [String]
8461
+ attr_accessor :port_name
8462
+
8463
+ # Specifies the type of proxy header to append before sending data to the
8464
+ # backend, either NONE or PROXY_V1. The default is NONE.
8465
+ # Corresponds to the JSON property `proxyHeader`
8466
+ # @return [String]
8467
+ attr_accessor :proxy_header
8468
+
8469
+ # The application data to send once the TCP connection has been established (
8470
+ # default value is empty). If both request and response are empty, the
8471
+ # connection establishment alone will indicate health. The request data can only
8472
+ # be ASCII.
8473
+ # Corresponds to the JSON property `request`
8474
+ # @return [String]
8475
+ attr_accessor :request
8476
+
8477
+ # The bytes to match against the beginning of the response data. If left empty (
8478
+ # the default value), any response will indicate health. The response data can
8479
+ # only be ASCII.
8480
+ # Corresponds to the JSON property `response`
8481
+ # @return [String]
8482
+ attr_accessor :response
8483
+
8484
+ def initialize(**args)
8485
+ update!(**args)
8486
+ end
8487
+
8488
+ # Update properties of this object
8489
+ def update!(**args)
8490
+ @port = args[:port] if args.key?(:port)
8491
+ @port_name = args[:port_name] if args.key?(:port_name)
8492
+ @proxy_header = args[:proxy_header] if args.key?(:proxy_header)
8493
+ @request = args[:request] if args.key?(:request)
8494
+ @response = args[:response] if args.key?(:response)
8495
+ end
8496
+ end
8497
+
8021
8498
  # A set of instance tags.
8022
8499
  class Tags
8023
8500
  include Google::Apis::Core::Hashable
@@ -9017,6 +9494,190 @@ module Google
9017
9494
  end
9018
9495
  end
9019
9496
 
9497
+ #
9498
+ class TargetSslProxiesSetBackendServiceRequest
9499
+ include Google::Apis::Core::Hashable
9500
+
9501
+ # The URL of the new BackendService resource for the targetSslProxy.
9502
+ # Corresponds to the JSON property `service`
9503
+ # @return [String]
9504
+ attr_accessor :service
9505
+
9506
+ def initialize(**args)
9507
+ update!(**args)
9508
+ end
9509
+
9510
+ # Update properties of this object
9511
+ def update!(**args)
9512
+ @service = args[:service] if args.key?(:service)
9513
+ end
9514
+ end
9515
+
9516
+ #
9517
+ class TargetSslProxiesSetProxyHeaderRequest
9518
+ include Google::Apis::Core::Hashable
9519
+
9520
+ # The new type of proxy header to append before sending data to the backend.
9521
+ # NONE or PROXY_V1 are allowed.
9522
+ # Corresponds to the JSON property `proxyHeader`
9523
+ # @return [String]
9524
+ attr_accessor :proxy_header
9525
+
9526
+ def initialize(**args)
9527
+ update!(**args)
9528
+ end
9529
+
9530
+ # Update properties of this object
9531
+ def update!(**args)
9532
+ @proxy_header = args[:proxy_header] if args.key?(:proxy_header)
9533
+ end
9534
+ end
9535
+
9536
+ #
9537
+ class TargetSslProxiesSetSslCertificatesRequest
9538
+ include Google::Apis::Core::Hashable
9539
+
9540
+ # New set of URLs to SslCertificate resources to associate with this
9541
+ # TargetSslProxy. Currently exactly one ssl certificate must be specified.
9542
+ # Corresponds to the JSON property `sslCertificates`
9543
+ # @return [Array<String>]
9544
+ attr_accessor :ssl_certificates
9545
+
9546
+ def initialize(**args)
9547
+ update!(**args)
9548
+ end
9549
+
9550
+ # Update properties of this object
9551
+ def update!(**args)
9552
+ @ssl_certificates = args[:ssl_certificates] if args.key?(:ssl_certificates)
9553
+ end
9554
+ end
9555
+
9556
+ # A TargetSslProxy resource. This resource defines an SSL proxy.
9557
+ class TargetSslProxy
9558
+ include Google::Apis::Core::Hashable
9559
+
9560
+ # [Output Only] Creation timestamp in RFC3339 text format.
9561
+ # Corresponds to the JSON property `creationTimestamp`
9562
+ # @return [String]
9563
+ attr_accessor :creation_timestamp
9564
+
9565
+ # An optional description of this resource. Provide this property when you
9566
+ # create the resource.
9567
+ # Corresponds to the JSON property `description`
9568
+ # @return [String]
9569
+ attr_accessor :description
9570
+
9571
+ # [Output Only] The unique identifier for the resource. This identifier is
9572
+ # defined by the server.
9573
+ # Corresponds to the JSON property `id`
9574
+ # @return [String]
9575
+ attr_accessor :id
9576
+
9577
+ # [Output Only] Type of the resource. Always compute#targetSslProxy for target
9578
+ # SSL proxies.
9579
+ # Corresponds to the JSON property `kind`
9580
+ # @return [String]
9581
+ attr_accessor :kind
9582
+
9583
+ # Name of the resource. Provided by the client when the resource is created. The
9584
+ # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
9585
+ # name must be 1-63 characters long and match the regular expression [a-z]([-a-
9586
+ # z0-9]*[a-z0-9])? which means the first character must be a lowercase letter,
9587
+ # and all following characters must be a dash, lowercase letter, or digit,
9588
+ # except the last character, which cannot be a dash.
9589
+ # Corresponds to the JSON property `name`
9590
+ # @return [String]
9591
+ attr_accessor :name
9592
+
9593
+ # Specifies the type of proxy header to append before sending data to the
9594
+ # backend, either NONE or PROXY_V1. The default is NONE.
9595
+ # Corresponds to the JSON property `proxyHeader`
9596
+ # @return [String]
9597
+ attr_accessor :proxy_header
9598
+
9599
+ # [Output Only] Server-defined URL for the resource.
9600
+ # Corresponds to the JSON property `selfLink`
9601
+ # @return [String]
9602
+ attr_accessor :self_link
9603
+
9604
+ # URL to the BackendService resource.
9605
+ # Corresponds to the JSON property `service`
9606
+ # @return [String]
9607
+ attr_accessor :service
9608
+
9609
+ # URLs to SslCertificate resources that are used to authenticate connections to
9610
+ # Backends. Currently exactly one SSL certificate must be specified.
9611
+ # Corresponds to the JSON property `sslCertificates`
9612
+ # @return [Array<String>]
9613
+ attr_accessor :ssl_certificates
9614
+
9615
+ def initialize(**args)
9616
+ update!(**args)
9617
+ end
9618
+
9619
+ # Update properties of this object
9620
+ def update!(**args)
9621
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
9622
+ @description = args[:description] if args.key?(:description)
9623
+ @id = args[:id] if args.key?(:id)
9624
+ @kind = args[:kind] if args.key?(:kind)
9625
+ @name = args[:name] if args.key?(:name)
9626
+ @proxy_header = args[:proxy_header] if args.key?(:proxy_header)
9627
+ @self_link = args[:self_link] if args.key?(:self_link)
9628
+ @service = args[:service] if args.key?(:service)
9629
+ @ssl_certificates = args[:ssl_certificates] if args.key?(:ssl_certificates)
9630
+ end
9631
+ end
9632
+
9633
+ # Contains a list of TargetSslProxy resources.
9634
+ class TargetSslProxyList
9635
+ include Google::Apis::Core::Hashable
9636
+
9637
+ # [Output Only] The unique identifier for the resource. This identifier is
9638
+ # defined by the server.
9639
+ # Corresponds to the JSON property `id`
9640
+ # @return [String]
9641
+ attr_accessor :id
9642
+
9643
+ # A list of TargetSslProxy resources.
9644
+ # Corresponds to the JSON property `items`
9645
+ # @return [Array<Google::Apis::ComputeBeta::TargetSslProxy>]
9646
+ attr_accessor :items
9647
+
9648
+ # Type of resource.
9649
+ # Corresponds to the JSON property `kind`
9650
+ # @return [String]
9651
+ attr_accessor :kind
9652
+
9653
+ # [Output Only] This token allows you to get the next page of results for list
9654
+ # requests. If the number of results is larger than maxResults, use the
9655
+ # nextPageToken as a value for the query parameter pageToken in the next list
9656
+ # request. Subsequent list requests will have their own nextPageToken to
9657
+ # continue paging through the results.
9658
+ # Corresponds to the JSON property `nextPageToken`
9659
+ # @return [String]
9660
+ attr_accessor :next_page_token
9661
+
9662
+ # [Output Only] Server-defined URL for this resource.
9663
+ # Corresponds to the JSON property `selfLink`
9664
+ # @return [String]
9665
+ attr_accessor :self_link
9666
+
9667
+ def initialize(**args)
9668
+ update!(**args)
9669
+ end
9670
+
9671
+ # Update properties of this object
9672
+ def update!(**args)
9673
+ @id = args[:id] if args.key?(:id)
9674
+ @items = args[:items] if args.key?(:items)
9675
+ @kind = args[:kind] if args.key?(:kind)
9676
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
9677
+ @self_link = args[:self_link] if args.key?(:self_link)
9678
+ end
9679
+ end
9680
+
9020
9681
  # Represents a Target VPN gateway resource.
9021
9682
  class TargetVpnGateway
9022
9683
  include Google::Apis::Core::Hashable