google-api-client 0.9.9 → 0.9.11

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