google-api-client 0.21.0 → 0.21.1

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