google-api-client 0.21.0 → 0.21.1

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.
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://cloud.google.com/source-repositories/docs/apis
26
26
  module SourcerepoV1
27
27
  VERSION = 'V1'
28
- REVISION = '20180226'
28
+ REVISION = '20180430'
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'
@@ -73,7 +73,6 @@ module Google
73
73
  include Google::Apis::Core::Hashable
74
74
 
75
75
  # The configuration for logging of each type of permission.
76
- # Next ID: 4
77
76
  # Corresponds to the JSON property `auditLogConfigs`
78
77
  # @return [Array<Google::Apis::SourcerepoV1::AuditLogConfig>]
79
78
  attr_accessor :audit_log_configs
@@ -150,7 +149,7 @@ module Google
150
149
  # * `allAuthenticatedUsers`: A special identifier that represents anyone
151
150
  # who is authenticated with a Google account or a service account.
152
151
  # * `user:`emailid``: An email address that represents a specific Google
153
- # account. For example, `alice@gmail.com` or `joe@example.com`.
152
+ # account. For example, `alice@gmail.com` .
154
153
  # * `serviceAccount:`emailid``: An email address that represents a service
155
154
  # account. For example, `my-other-app@appspot.gserviceaccount.com`.
156
155
  # * `group:`emailid``: An email address that represents a Google group.
@@ -264,11 +263,11 @@ module Google
264
263
 
265
264
  # Defines an Identity and Access Management (IAM) policy. It is used to
266
265
  # specify access control policies for Cloud Platform resources.
267
- # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
266
+ # A `Policy` consists of a list of `bindings`. A `binding` binds a list of
268
267
  # `members` to a `role`, where the members can be user accounts, Google groups,
269
268
  # Google domains, and service accounts. A `role` is a named list of permissions
270
269
  # defined by IAM.
271
- # **Example**
270
+ # **JSON Example**
272
271
  # `
273
272
  # "bindings": [
274
273
  # `
@@ -277,7 +276,7 @@ module Google
277
276
  # "user:mike@example.com",
278
277
  # "group:admins@example.com",
279
278
  # "domain:google.com",
280
- # "serviceAccount:my-other-app@appspot.gserviceaccount.com",
279
+ # "serviceAccount:my-other-app@appspot.gserviceaccount.com"
281
280
  # ]
282
281
  # `,
283
282
  # `
@@ -286,6 +285,17 @@ module Google
286
285
  # `
287
286
  # ]
288
287
  # `
288
+ # **YAML Example**
289
+ # bindings:
290
+ # - members:
291
+ # - user:mike@example.com
292
+ # - group:admins@example.com
293
+ # - domain:google.com
294
+ # - serviceAccount:my-other-app@appspot.gserviceaccount.com
295
+ # role: roles/owner
296
+ # - members:
297
+ # - user:sean@example.com
298
+ # role: roles/viewer
289
299
  # For a description of IAM and its features, see the
290
300
  # [IAM developer's guide](https://cloud.google.com/iam/docs).
291
301
  class Policy
@@ -334,6 +344,76 @@ module Google
334
344
  end
335
345
  end
336
346
 
347
+ # Cloud Source Repositories configuration of a project.
348
+ class ProjectConfig
349
+ include Google::Apis::Core::Hashable
350
+
351
+ # Reject a Git push that contains a private key.
352
+ # Corresponds to the JSON property `enablePrivateKeyCheck`
353
+ # @return [Boolean]
354
+ attr_accessor :enable_private_key_check
355
+ alias_method :enable_private_key_check?, :enable_private_key_check
356
+
357
+ # The name of the project. Values are of the form `projects/<project>`.
358
+ # Corresponds to the JSON property `name`
359
+ # @return [String]
360
+ attr_accessor :name
361
+
362
+ # How this project publishes a change in the repositories through Cloud
363
+ # Pub/Sub. Keyed by the topic names.
364
+ # Corresponds to the JSON property `pubsubConfigs`
365
+ # @return [Hash<String,Google::Apis::SourcerepoV1::PubsubConfig>]
366
+ attr_accessor :pubsub_configs
367
+
368
+ def initialize(**args)
369
+ update!(**args)
370
+ end
371
+
372
+ # Update properties of this object
373
+ def update!(**args)
374
+ @enable_private_key_check = args[:enable_private_key_check] if args.key?(:enable_private_key_check)
375
+ @name = args[:name] if args.key?(:name)
376
+ @pubsub_configs = args[:pubsub_configs] if args.key?(:pubsub_configs)
377
+ end
378
+ end
379
+
380
+ # Configuration to publish a Cloud Pub/Sub message.
381
+ class PubsubConfig
382
+ include Google::Apis::Core::Hashable
383
+
384
+ # The format of the Cloud Pub/Sub messages.
385
+ # Corresponds to the JSON property `messageFormat`
386
+ # @return [String]
387
+ attr_accessor :message_format
388
+
389
+ # Email address of the service account used for publishing Cloud Pub/Sub
390
+ # messages. This service account needs to be in the same project as the
391
+ # PubsubConfig. When added, the caller needs to have
392
+ # iam.serviceAccounts.actAs permission on this service account. If
393
+ # unspecified, it defaults to the compute engine default service account.
394
+ # Corresponds to the JSON property `serviceAccountEmail`
395
+ # @return [String]
396
+ attr_accessor :service_account_email
397
+
398
+ # A topic of Cloud Pub/Sub. Values are of the form
399
+ # `projects/<project>/topics/<topic>`. The project needs to be the same
400
+ # project as this config is in.
401
+ # Corresponds to the JSON property `topic`
402
+ # @return [String]
403
+ attr_accessor :topic
404
+
405
+ def initialize(**args)
406
+ update!(**args)
407
+ end
408
+
409
+ # Update properties of this object
410
+ def update!(**args)
411
+ @message_format = args[:message_format] if args.key?(:message_format)
412
+ @service_account_email = args[:service_account_email] if args.key?(:service_account_email)
413
+ @topic = args[:topic] if args.key?(:topic)
414
+ end
415
+ end
416
+
337
417
  # A repository (or repo) is a Git repository storing versioned source content.
338
418
  class Repo
339
419
  include Google::Apis::Core::Hashable
@@ -351,6 +431,12 @@ module Google
351
431
  # @return [String]
352
432
  attr_accessor :name
353
433
 
434
+ # How this repository publishes a change in the repository through Cloud
435
+ # Pub/Sub. Keyed by the topic names.
436
+ # Corresponds to the JSON property `pubsubConfigs`
437
+ # @return [Hash<String,Google::Apis::SourcerepoV1::PubsubConfig>]
438
+ attr_accessor :pubsub_configs
439
+
354
440
  # The disk usage of the repo, in bytes. Read-only field. Size is only
355
441
  # returned by GetRepo.
356
442
  # Corresponds to the JSON property `size`
@@ -371,6 +457,7 @@ module Google
371
457
  def update!(**args)
372
458
  @mirror_config = args[:mirror_config] if args.key?(:mirror_config)
373
459
  @name = args[:name] if args.key?(:name)
460
+ @pubsub_configs = args[:pubsub_configs] if args.key?(:pubsub_configs)
374
461
  @size = args[:size] if args.key?(:size)
375
462
  @url = args[:url] if args.key?(:url)
376
463
  end
@@ -382,11 +469,11 @@ module Google
382
469
 
383
470
  # Defines an Identity and Access Management (IAM) policy. It is used to
384
471
  # specify access control policies for Cloud Platform resources.
385
- # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
472
+ # A `Policy` consists of a list of `bindings`. A `binding` binds a list of
386
473
  # `members` to a `role`, where the members can be user accounts, Google groups,
387
474
  # Google domains, and service accounts. A `role` is a named list of permissions
388
475
  # defined by IAM.
389
- # **Example**
476
+ # **JSON Example**
390
477
  # `
391
478
  # "bindings": [
392
479
  # `
@@ -395,7 +482,7 @@ module Google
395
482
  # "user:mike@example.com",
396
483
  # "group:admins@example.com",
397
484
  # "domain:google.com",
398
- # "serviceAccount:my-other-app@appspot.gserviceaccount.com",
485
+ # "serviceAccount:my-other-app@appspot.gserviceaccount.com"
399
486
  # ]
400
487
  # `,
401
488
  # `
@@ -404,6 +491,17 @@ module Google
404
491
  # `
405
492
  # ]
406
493
  # `
494
+ # **YAML Example**
495
+ # bindings:
496
+ # - members:
497
+ # - user:mike@example.com
498
+ # - group:admins@example.com
499
+ # - domain:google.com
500
+ # - serviceAccount:my-other-app@appspot.gserviceaccount.com
501
+ # role: roles/owner
502
+ # - members:
503
+ # - user:sean@example.com
504
+ # role: roles/viewer
407
505
  # For a description of IAM and its features, see the
408
506
  # [IAM developer's guide](https://cloud.google.com/iam/docs).
409
507
  # Corresponds to the JSON property `policy`
@@ -471,6 +569,60 @@ module Google
471
569
  @permissions = args[:permissions] if args.key?(:permissions)
472
570
  end
473
571
  end
572
+
573
+ # Request for UpdateProjectConfig.
574
+ class UpdateProjectConfigRequest
575
+ include Google::Apis::Core::Hashable
576
+
577
+ # Cloud Source Repositories configuration of a project.
578
+ # Corresponds to the JSON property `projectConfig`
579
+ # @return [Google::Apis::SourcerepoV1::ProjectConfig]
580
+ attr_accessor :project_config
581
+
582
+ # A FieldMask specifying which fields of the project_config to modify. Only
583
+ # the fields in the mask will be modified. If no mask is provided, this
584
+ # request is no-op.
585
+ # Corresponds to the JSON property `updateMask`
586
+ # @return [String]
587
+ attr_accessor :update_mask
588
+
589
+ def initialize(**args)
590
+ update!(**args)
591
+ end
592
+
593
+ # Update properties of this object
594
+ def update!(**args)
595
+ @project_config = args[:project_config] if args.key?(:project_config)
596
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
597
+ end
598
+ end
599
+
600
+ # Request for UpdateRepo.
601
+ class UpdateRepoRequest
602
+ include Google::Apis::Core::Hashable
603
+
604
+ # A repository (or repo) is a Git repository storing versioned source content.
605
+ # Corresponds to the JSON property `repo`
606
+ # @return [Google::Apis::SourcerepoV1::Repo]
607
+ attr_accessor :repo
608
+
609
+ # A FieldMask specifying which fields of the repo to modify. Only the fields
610
+ # in the mask will be modified. If no mask is provided, this request is
611
+ # no-op.
612
+ # Corresponds to the JSON property `updateMask`
613
+ # @return [String]
614
+ attr_accessor :update_mask
615
+
616
+ def initialize(**args)
617
+ update!(**args)
618
+ end
619
+
620
+ # Update properties of this object
621
+ def update!(**args)
622
+ @repo = args[:repo] if args.key?(:repo)
623
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
624
+ end
625
+ end
474
626
  end
475
627
  end
476
628
  end
@@ -64,6 +64,18 @@ module Google
64
64
  include Google::Apis::Core::JsonObjectSupport
65
65
  end
66
66
 
67
+ class ProjectConfig
68
+ class Representation < Google::Apis::Core::JsonRepresentation; end
69
+
70
+ include Google::Apis::Core::JsonObjectSupport
71
+ end
72
+
73
+ class PubsubConfig
74
+ class Representation < Google::Apis::Core::JsonRepresentation; end
75
+
76
+ include Google::Apis::Core::JsonObjectSupport
77
+ end
78
+
67
79
  class Repo
68
80
  class Representation < Google::Apis::Core::JsonRepresentation; end
69
81
 
@@ -88,6 +100,18 @@ module Google
88
100
  include Google::Apis::Core::JsonObjectSupport
89
101
  end
90
102
 
103
+ class UpdateProjectConfigRequest
104
+ class Representation < Google::Apis::Core::JsonRepresentation; end
105
+
106
+ include Google::Apis::Core::JsonObjectSupport
107
+ end
108
+
109
+ class UpdateRepoRequest
110
+ class Representation < Google::Apis::Core::JsonRepresentation; end
111
+
112
+ include Google::Apis::Core::JsonObjectSupport
113
+ end
114
+
91
115
  class AuditConfig
92
116
  # @private
93
117
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -149,12 +173,33 @@ module Google
149
173
  end
150
174
  end
151
175
 
176
+ class ProjectConfig
177
+ # @private
178
+ class Representation < Google::Apis::Core::JsonRepresentation
179
+ property :enable_private_key_check, as: 'enablePrivateKeyCheck'
180
+ property :name, as: 'name'
181
+ hash :pubsub_configs, as: 'pubsubConfigs', class: Google::Apis::SourcerepoV1::PubsubConfig, decorator: Google::Apis::SourcerepoV1::PubsubConfig::Representation
182
+
183
+ end
184
+ end
185
+
186
+ class PubsubConfig
187
+ # @private
188
+ class Representation < Google::Apis::Core::JsonRepresentation
189
+ property :message_format, as: 'messageFormat'
190
+ property :service_account_email, as: 'serviceAccountEmail'
191
+ property :topic, as: 'topic'
192
+ end
193
+ end
194
+
152
195
  class Repo
153
196
  # @private
154
197
  class Representation < Google::Apis::Core::JsonRepresentation
155
198
  property :mirror_config, as: 'mirrorConfig', class: Google::Apis::SourcerepoV1::MirrorConfig, decorator: Google::Apis::SourcerepoV1::MirrorConfig::Representation
156
199
 
157
200
  property :name, as: 'name'
201
+ hash :pubsub_configs, as: 'pubsubConfigs', class: Google::Apis::SourcerepoV1::PubsubConfig, decorator: Google::Apis::SourcerepoV1::PubsubConfig::Representation
202
+
158
203
  property :size, :numeric_string => true, as: 'size'
159
204
  property :url, as: 'url'
160
205
  end
@@ -182,6 +227,24 @@ module Google
182
227
  collection :permissions, as: 'permissions'
183
228
  end
184
229
  end
230
+
231
+ class UpdateProjectConfigRequest
232
+ # @private
233
+ class Representation < Google::Apis::Core::JsonRepresentation
234
+ property :project_config, as: 'projectConfig', class: Google::Apis::SourcerepoV1::ProjectConfig, decorator: Google::Apis::SourcerepoV1::ProjectConfig::Representation
235
+
236
+ property :update_mask, as: 'updateMask'
237
+ end
238
+ end
239
+
240
+ class UpdateRepoRequest
241
+ # @private
242
+ class Representation < Google::Apis::Core::JsonRepresentation
243
+ property :repo, as: 'repo', class: Google::Apis::SourcerepoV1::Repo, decorator: Google::Apis::SourcerepoV1::Repo::Representation
244
+
245
+ property :update_mask, as: 'updateMask'
246
+ end
247
+ end
185
248
  end
186
249
  end
187
250
  end
@@ -47,6 +47,71 @@ module Google
47
47
  @batch_path = 'batch'
48
48
  end
49
49
 
50
+ # Returns the Cloud Source Repositories configuration of the project.
51
+ # @param [String] name
52
+ # The name of the requested project. Values are of the form
53
+ # `projects/<project>`.
54
+ # @param [String] fields
55
+ # Selector specifying which fields to include in a partial response.
56
+ # @param [String] quota_user
57
+ # Available to use for quota purposes for server-side applications. Can be any
58
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
59
+ # @param [Google::Apis::RequestOptions] options
60
+ # Request-specific options
61
+ #
62
+ # @yield [result, err] Result & error if block supplied
63
+ # @yieldparam result [Google::Apis::SourcerepoV1::ProjectConfig] parsed result object
64
+ # @yieldparam err [StandardError] error object if request failed
65
+ #
66
+ # @return [Google::Apis::SourcerepoV1::ProjectConfig]
67
+ #
68
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
69
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
70
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
71
+ def get_project_config(name, fields: nil, quota_user: nil, options: nil, &block)
72
+ command = make_simple_command(:get, 'v1/{+name}/config', options)
73
+ command.response_representation = Google::Apis::SourcerepoV1::ProjectConfig::Representation
74
+ command.response_class = Google::Apis::SourcerepoV1::ProjectConfig
75
+ command.params['name'] = name unless name.nil?
76
+ command.query['fields'] = fields unless fields.nil?
77
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
78
+ execute_or_queue_command(command, &block)
79
+ end
80
+
81
+ # Updates the Cloud Source Repositories configuration of the project.
82
+ # @param [String] name
83
+ # The name of the requested project. Values are of the form
84
+ # `projects/<project>`.
85
+ # @param [Google::Apis::SourcerepoV1::UpdateProjectConfigRequest] update_project_config_request_object
86
+ # @param [String] fields
87
+ # Selector specifying which fields to include in a partial response.
88
+ # @param [String] quota_user
89
+ # Available to use for quota purposes for server-side applications. Can be any
90
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
91
+ # @param [Google::Apis::RequestOptions] options
92
+ # Request-specific options
93
+ #
94
+ # @yield [result, err] Result & error if block supplied
95
+ # @yieldparam result [Google::Apis::SourcerepoV1::ProjectConfig] parsed result object
96
+ # @yieldparam err [StandardError] error object if request failed
97
+ #
98
+ # @return [Google::Apis::SourcerepoV1::ProjectConfig]
99
+ #
100
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
101
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
102
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
103
+ def update_project_config(name, update_project_config_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
104
+ command = make_simple_command(:patch, 'v1/{+name}/config', options)
105
+ command.request_representation = Google::Apis::SourcerepoV1::UpdateProjectConfigRequest::Representation
106
+ command.request_object = update_project_config_request_object
107
+ command.response_representation = Google::Apis::SourcerepoV1::ProjectConfig::Representation
108
+ command.response_class = Google::Apis::SourcerepoV1::ProjectConfig
109
+ command.params['name'] = name unless name.nil?
110
+ command.query['fields'] = fields unless fields.nil?
111
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
112
+ execute_or_queue_command(command, &block)
113
+ end
114
+
50
115
  # Creates a repo in the given project with the given name.
51
116
  # If the named repository already exists, `CreateRepo` returns
52
117
  # `ALREADY_EXISTS`.
@@ -219,6 +284,40 @@ module Google
219
284
  execute_or_queue_command(command, &block)
220
285
  end
221
286
 
287
+ # Updates information about a repo.
288
+ # @param [String] name
289
+ # The name of the requested repository. Values are of the form
290
+ # `projects/<project>/repos/<repo>`.
291
+ # @param [Google::Apis::SourcerepoV1::UpdateRepoRequest] update_repo_request_object
292
+ # @param [String] fields
293
+ # Selector specifying which fields to include in a partial response.
294
+ # @param [String] quota_user
295
+ # Available to use for quota purposes for server-side applications. Can be any
296
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
297
+ # @param [Google::Apis::RequestOptions] options
298
+ # Request-specific options
299
+ #
300
+ # @yield [result, err] Result & error if block supplied
301
+ # @yieldparam result [Google::Apis::SourcerepoV1::Repo] parsed result object
302
+ # @yieldparam err [StandardError] error object if request failed
303
+ #
304
+ # @return [Google::Apis::SourcerepoV1::Repo]
305
+ #
306
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
307
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
308
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
309
+ def patch_project_repo(name, update_repo_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
310
+ command = make_simple_command(:patch, 'v1/{+name}', options)
311
+ command.request_representation = Google::Apis::SourcerepoV1::UpdateRepoRequest::Representation
312
+ command.request_object = update_repo_request_object
313
+ command.response_representation = Google::Apis::SourcerepoV1::Repo::Representation
314
+ command.response_class = Google::Apis::SourcerepoV1::Repo
315
+ command.params['name'] = name unless name.nil?
316
+ command.query['fields'] = fields unless fields.nil?
317
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
318
+ execute_or_queue_command(command, &block)
319
+ end
320
+
222
321
  # Sets the access control policy on the specified resource. Replaces any
223
322
  # existing policy.
224
323
  # @param [String] resource