google-apis-artifactregistry_v1 0.14.0 → 0.18.0

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.
@@ -22,42 +22,64 @@ module Google
22
22
  module Apis
23
23
  module ArtifactregistryV1
24
24
 
25
- # A detailed representation of an Apt artifact. Information in the record is
26
- # derived from the archive's control file. See https://www.debian.org/doc/debian-
27
- # policy/ch-controlfields.html
28
- class AptArtifact
25
+ # Associates `members`, or principals, with a `role`.
26
+ class Binding
29
27
  include Google::Apis::Core::Hashable
30
28
 
31
- # Output only. Operating system architecture of the artifact.
32
- # Corresponds to the JSON property `architecture`
33
- # @return [String]
34
- attr_accessor :architecture
35
-
36
- # Output only. Repository component of the artifact.
37
- # Corresponds to the JSON property `component`
38
- # @return [String]
39
- attr_accessor :component
40
-
41
- # Output only. Contents of the artifact's control metadata file.
42
- # Corresponds to the JSON property `controlFile`
43
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
44
- # @return [String]
45
- attr_accessor :control_file
46
-
47
- # Output only. The Artifact Registry resource name of the artifact.
48
- # Corresponds to the JSON property `name`
49
- # @return [String]
50
- attr_accessor :name
51
-
52
- # Output only. The Apt package name of the artifact.
53
- # Corresponds to the JSON property `packageName`
54
- # @return [String]
55
- attr_accessor :package_name
29
+ # Represents a textual expression in the Common Expression Language (CEL) syntax.
30
+ # CEL is a C-like expression language. The syntax and semantics of CEL are
31
+ # documented at https://github.com/google/cel-spec. Example (Comparison): title:
32
+ # "Summary size limit" description: "Determines if a summary is less than 100
33
+ # chars" expression: "document.summary.size() < 100" Example (Equality): title: "
34
+ # Requestor is owner" description: "Determines if requestor is the document
35
+ # owner" expression: "document.owner == request.auth.claims.email" Example (
36
+ # Logic): title: "Public documents" description: "Determine whether the document
37
+ # should be publicly visible" expression: "document.type != 'private' &&
38
+ # document.type != 'internal'" Example (Data Manipulation): title: "Notification
39
+ # string" description: "Create a notification string with a timestamp."
40
+ # expression: "'New message received at ' + string(document.create_time)" The
41
+ # exact variables and functions that may be referenced within an expression are
42
+ # determined by the service that evaluates it. See the service documentation for
43
+ # additional information.
44
+ # Corresponds to the JSON property `condition`
45
+ # @return [Google::Apis::ArtifactregistryV1::Expr]
46
+ attr_accessor :condition
47
+
48
+ # Specifies the principals requesting access for a Cloud Platform resource. `
49
+ # members` can have the following values: * `allUsers`: A special identifier
50
+ # that represents anyone who is on the internet; with or without a Google
51
+ # account. * `allAuthenticatedUsers`: A special identifier that represents
52
+ # anyone who is authenticated with a Google account or a service account. * `
53
+ # user:`emailid``: An email address that represents a specific Google account.
54
+ # For example, `alice@example.com` . * `serviceAccount:`emailid``: An email
55
+ # address that represents a service account. For example, `my-other-app@appspot.
56
+ # gserviceaccount.com`. * `group:`emailid``: An email address that represents a
57
+ # Google group. For example, `admins@example.com`. * `deleted:user:`emailid`?uid=
58
+ # `uniqueid``: An email address (plus unique identifier) representing a user
59
+ # that has been recently deleted. For example, `alice@example.com?uid=
60
+ # 123456789012345678901`. If the user is recovered, this value reverts to `user:`
61
+ # emailid`` and the recovered user retains the role in the binding. * `deleted:
62
+ # serviceAccount:`emailid`?uid=`uniqueid``: An email address (plus unique
63
+ # identifier) representing a service account that has been recently deleted. For
64
+ # example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
65
+ # If the service account is undeleted, this value reverts to `serviceAccount:`
66
+ # emailid`` and the undeleted service account retains the role in the binding. *
67
+ # `deleted:group:`emailid`?uid=`uniqueid``: An email address (plus unique
68
+ # identifier) representing a Google group that has been recently deleted. For
69
+ # example, `admins@example.com?uid=123456789012345678901`. If the group is
70
+ # recovered, this value reverts to `group:`emailid`` and the recovered group
71
+ # retains the role in the binding. * `domain:`domain``: The G Suite domain (
72
+ # primary) that represents all the users of that domain. For example, `google.
73
+ # com` or `example.com`.
74
+ # Corresponds to the JSON property `members`
75
+ # @return [Array<String>]
76
+ attr_accessor :members
56
77
 
57
- # Output only. An artifact is a binary or source package.
58
- # Corresponds to the JSON property `packageType`
78
+ # Role that is assigned to the list of `members`, or principals. For example, `
79
+ # roles/viewer`, `roles/editor`, or `roles/owner`.
80
+ # Corresponds to the JSON property `role`
59
81
  # @return [String]
60
- attr_accessor :package_type
82
+ attr_accessor :role
61
83
 
62
84
  def initialize(**args)
63
85
  update!(**args)
@@ -65,12 +87,9 @@ module Google
65
87
 
66
88
  # Update properties of this object
67
89
  def update!(**args)
68
- @architecture = args[:architecture] if args.key?(:architecture)
69
- @component = args[:component] if args.key?(:component)
70
- @control_file = args[:control_file] if args.key?(:control_file)
71
- @name = args[:name] if args.key?(:name)
72
- @package_name = args[:package_name] if args.key?(:package_name)
73
- @package_type = args[:package_type] if args.key?(:package_type)
90
+ @condition = args[:condition] if args.key?(:condition)
91
+ @members = args[:members] if args.key?(:members)
92
+ @role = args[:role] if args.key?(:role)
74
93
  end
75
94
  end
76
95
 
@@ -147,24 +166,63 @@ module Google
147
166
  end
148
167
  end
149
168
 
150
- # Error information explaining why a package was not imported.
151
- class ImportAptArtifactsErrorInfo
169
+ # A generic empty message that you can re-use to avoid defining duplicated empty
170
+ # messages in your APIs. A typical example is to use it as the request or the
171
+ # response type of an API method. For instance: service Foo ` rpc Bar(google.
172
+ # protobuf.Empty) returns (google.protobuf.Empty); ` The JSON representation for
173
+ # `Empty` is empty JSON object ````.
174
+ class Empty
152
175
  include Google::Apis::Core::Hashable
153
176
 
154
- # The `Status` type defines a logical error model that is suitable for different
155
- # programming environments, including REST APIs and RPC APIs. It is used by [
156
- # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
157
- # data: error code, error message, and error details. You can find out more
158
- # about this error model and how to work with it in the [API Design Guide](https:
159
- # //cloud.google.com/apis/design/errors).
160
- # Corresponds to the JSON property `error`
161
- # @return [Google::Apis::ArtifactregistryV1::Status]
162
- attr_accessor :error
177
+ def initialize(**args)
178
+ update!(**args)
179
+ end
163
180
 
164
- # Google Cloud Storage location where the artifacts currently reside.
165
- # Corresponds to the JSON property `gcsSource`
166
- # @return [Google::Apis::ArtifactregistryV1::ImportAptArtifactsGcsSource]
167
- attr_accessor :gcs_source
181
+ # Update properties of this object
182
+ def update!(**args)
183
+ end
184
+ end
185
+
186
+ # Represents a textual expression in the Common Expression Language (CEL) syntax.
187
+ # CEL is a C-like expression language. The syntax and semantics of CEL are
188
+ # documented at https://github.com/google/cel-spec. Example (Comparison): title:
189
+ # "Summary size limit" description: "Determines if a summary is less than 100
190
+ # chars" expression: "document.summary.size() < 100" Example (Equality): title: "
191
+ # Requestor is owner" description: "Determines if requestor is the document
192
+ # owner" expression: "document.owner == request.auth.claims.email" Example (
193
+ # Logic): title: "Public documents" description: "Determine whether the document
194
+ # should be publicly visible" expression: "document.type != 'private' &&
195
+ # document.type != 'internal'" Example (Data Manipulation): title: "Notification
196
+ # string" description: "Create a notification string with a timestamp."
197
+ # expression: "'New message received at ' + string(document.create_time)" The
198
+ # exact variables and functions that may be referenced within an expression are
199
+ # determined by the service that evaluates it. See the service documentation for
200
+ # additional information.
201
+ class Expr
202
+ include Google::Apis::Core::Hashable
203
+
204
+ # Optional. Description of the expression. This is a longer text which describes
205
+ # the expression, e.g. when hovered over it in a UI.
206
+ # Corresponds to the JSON property `description`
207
+ # @return [String]
208
+ attr_accessor :description
209
+
210
+ # Textual representation of an expression in Common Expression Language syntax.
211
+ # Corresponds to the JSON property `expression`
212
+ # @return [String]
213
+ attr_accessor :expression
214
+
215
+ # Optional. String indicating the location of the expression for error reporting,
216
+ # e.g. a file name and a position in the file.
217
+ # Corresponds to the JSON property `location`
218
+ # @return [String]
219
+ attr_accessor :location
220
+
221
+ # Optional. Title for the expression, i.e. a short string describing its purpose.
222
+ # This can be used e.g. in UIs which allow to enter the expression.
223
+ # Corresponds to the JSON property `title`
224
+ # @return [String]
225
+ attr_accessor :title
168
226
 
169
227
  def initialize(**args)
170
228
  update!(**args)
@@ -172,8 +230,87 @@ module Google
172
230
 
173
231
  # Update properties of this object
174
232
  def update!(**args)
175
- @error = args[:error] if args.key?(:error)
176
- @gcs_source = args[:gcs_source] if args.key?(:gcs_source)
233
+ @description = args[:description] if args.key?(:description)
234
+ @expression = args[:expression] if args.key?(:expression)
235
+ @location = args[:location] if args.key?(:location)
236
+ @title = args[:title] if args.key?(:title)
237
+ end
238
+ end
239
+
240
+ # Files store content that is potentially associated with Packages or Versions.
241
+ class GoogleDevtoolsArtifactregistryV1File
242
+ include Google::Apis::Core::Hashable
243
+
244
+ # The time when the File was created.
245
+ # Corresponds to the JSON property `createTime`
246
+ # @return [String]
247
+ attr_accessor :create_time
248
+
249
+ # The hashes of the file content.
250
+ # Corresponds to the JSON property `hashes`
251
+ # @return [Array<Google::Apis::ArtifactregistryV1::HashProp>]
252
+ attr_accessor :hashes
253
+
254
+ # The name of the file, for example: "projects/p1/locations/us-central1/
255
+ # repositories/repo1/files/a%2Fb%2Fc.txt". If the file ID part contains slashes,
256
+ # they are escaped.
257
+ # Corresponds to the JSON property `name`
258
+ # @return [String]
259
+ attr_accessor :name
260
+
261
+ # The name of the Package or Version that owns this file, if any.
262
+ # Corresponds to the JSON property `owner`
263
+ # @return [String]
264
+ attr_accessor :owner
265
+
266
+ # The size of the File in bytes.
267
+ # Corresponds to the JSON property `sizeBytes`
268
+ # @return [Fixnum]
269
+ attr_accessor :size_bytes
270
+
271
+ # The time when the File was last updated.
272
+ # Corresponds to the JSON property `updateTime`
273
+ # @return [String]
274
+ attr_accessor :update_time
275
+
276
+ def initialize(**args)
277
+ update!(**args)
278
+ end
279
+
280
+ # Update properties of this object
281
+ def update!(**args)
282
+ @create_time = args[:create_time] if args.key?(:create_time)
283
+ @hashes = args[:hashes] if args.key?(:hashes)
284
+ @name = args[:name] if args.key?(:name)
285
+ @owner = args[:owner] if args.key?(:owner)
286
+ @size_bytes = args[:size_bytes] if args.key?(:size_bytes)
287
+ @update_time = args[:update_time] if args.key?(:update_time)
288
+ end
289
+ end
290
+
291
+ # A hash of file content.
292
+ class HashProp
293
+ include Google::Apis::Core::Hashable
294
+
295
+ # The algorithm used to compute the hash value.
296
+ # Corresponds to the JSON property `type`
297
+ # @return [String]
298
+ attr_accessor :type
299
+
300
+ # The hash value.
301
+ # Corresponds to the JSON property `value`
302
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
303
+ # @return [String]
304
+ attr_accessor :value
305
+
306
+ def initialize(**args)
307
+ update!(**args)
308
+ end
309
+
310
+ # Update properties of this object
311
+ def update!(**args)
312
+ @type = args[:type] if args.key?(:type)
313
+ @value = args[:value] if args.key?(:value)
177
314
  end
178
315
  end
179
316
 
@@ -203,19 +340,14 @@ module Google
203
340
  end
204
341
  end
205
342
 
206
- # The response message from importing artifacts.
207
- class ImportAptArtifactsResponse
343
+ # The request to import new apt artifacts.
344
+ class ImportAptArtifactsRequest
208
345
  include Google::Apis::Core::Hashable
209
346
 
210
- # The Apt artifacts updated.
211
- # Corresponds to the JSON property `aptArtifacts`
212
- # @return [Array<Google::Apis::ArtifactregistryV1::AptArtifact>]
213
- attr_accessor :apt_artifacts
214
-
215
- # Detailed error info for packages that were not imported.
216
- # Corresponds to the JSON property `errors`
217
- # @return [Array<Google::Apis::ArtifactregistryV1::ImportAptArtifactsErrorInfo>]
218
- attr_accessor :errors
347
+ # Google Cloud Storage location where the artifacts currently reside.
348
+ # Corresponds to the JSON property `gcsSource`
349
+ # @return [Google::Apis::ArtifactregistryV1::ImportAptArtifactsGcsSource]
350
+ attr_accessor :gcs_source
219
351
 
220
352
  def initialize(**args)
221
353
  update!(**args)
@@ -223,28 +355,43 @@ module Google
223
355
 
224
356
  # Update properties of this object
225
357
  def update!(**args)
226
- @apt_artifacts = args[:apt_artifacts] if args.key?(:apt_artifacts)
227
- @errors = args[:errors] if args.key?(:errors)
358
+ @gcs_source = args[:gcs_source] if args.key?(:gcs_source)
228
359
  end
229
360
  end
230
361
 
231
- # Error information explaining why a package was not imported.
232
- class ImportYumArtifactsErrorInfo
362
+ # Google Cloud Storage location where the artifacts currently reside.
363
+ class ImportGooGetArtifactsGcsSource
233
364
  include Google::Apis::Core::Hashable
234
365
 
235
- # The `Status` type defines a logical error model that is suitable for different
236
- # programming environments, including REST APIs and RPC APIs. It is used by [
237
- # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
238
- # data: error code, error message, and error details. You can find out more
239
- # about this error model and how to work with it in the [API Design Guide](https:
240
- # //cloud.google.com/apis/design/errors).
241
- # Corresponds to the JSON property `error`
242
- # @return [Google::Apis::ArtifactregistryV1::Status]
243
- attr_accessor :error
366
+ # Cloud Storage paths URI (e.g., gs://my_bucket/my_object).
367
+ # Corresponds to the JSON property `uris`
368
+ # @return [Array<String>]
369
+ attr_accessor :uris
370
+
371
+ # Supports URI wildcards for matching multiple objects from a single URI.
372
+ # Corresponds to the JSON property `useWildcards`
373
+ # @return [Boolean]
374
+ attr_accessor :use_wildcards
375
+ alias_method :use_wildcards?, :use_wildcards
376
+
377
+ def initialize(**args)
378
+ update!(**args)
379
+ end
380
+
381
+ # Update properties of this object
382
+ def update!(**args)
383
+ @uris = args[:uris] if args.key?(:uris)
384
+ @use_wildcards = args[:use_wildcards] if args.key?(:use_wildcards)
385
+ end
386
+ end
387
+
388
+ # The request to import new googet artifacts.
389
+ class ImportGooGetArtifactsRequest
390
+ include Google::Apis::Core::Hashable
244
391
 
245
392
  # Google Cloud Storage location where the artifacts currently reside.
246
393
  # Corresponds to the JSON property `gcsSource`
247
- # @return [Google::Apis::ArtifactregistryV1::ImportYumArtifactsGcsSource]
394
+ # @return [Google::Apis::ArtifactregistryV1::ImportGooGetArtifactsGcsSource]
248
395
  attr_accessor :gcs_source
249
396
 
250
397
  def initialize(**args)
@@ -253,7 +400,6 @@ module Google
253
400
 
254
401
  # Update properties of this object
255
402
  def update!(**args)
256
- @error = args[:error] if args.key?(:error)
257
403
  @gcs_source = args[:gcs_source] if args.key?(:gcs_source)
258
404
  end
259
405
  end
@@ -284,19 +430,14 @@ module Google
284
430
  end
285
431
  end
286
432
 
287
- # The response message from importing artifacts.
288
- class ImportYumArtifactsResponse
433
+ # The request to import new yum artifacts.
434
+ class ImportYumArtifactsRequest
289
435
  include Google::Apis::Core::Hashable
290
436
 
291
- # Detailed error info for packages that were not imported.
292
- # Corresponds to the JSON property `errors`
293
- # @return [Array<Google::Apis::ArtifactregistryV1::ImportYumArtifactsErrorInfo>]
294
- attr_accessor :errors
295
-
296
- # The yum artifacts updated.
297
- # Corresponds to the JSON property `yumArtifacts`
298
- # @return [Array<Google::Apis::ArtifactregistryV1::YumArtifact>]
299
- attr_accessor :yum_artifacts
437
+ # Google Cloud Storage location where the artifacts currently reside.
438
+ # Corresponds to the JSON property `gcsSource`
439
+ # @return [Google::Apis::ArtifactregistryV1::ImportYumArtifactsGcsSource]
440
+ attr_accessor :gcs_source
300
441
 
301
442
  def initialize(**args)
302
443
  update!(**args)
@@ -304,8 +445,7 @@ module Google
304
445
 
305
446
  # Update properties of this object
306
447
  def update!(**args)
307
- @errors = args[:errors] if args.key?(:errors)
308
- @yum_artifacts = args[:yum_artifacts] if args.key?(:yum_artifacts)
448
+ @gcs_source = args[:gcs_source] if args.key?(:gcs_source)
309
449
  end
310
450
  end
311
451
 
@@ -335,6 +475,58 @@ module Google
335
475
  end
336
476
  end
337
477
 
478
+ # The response from listing files.
479
+ class ListFilesResponse
480
+ include Google::Apis::Core::Hashable
481
+
482
+ # The files returned.
483
+ # Corresponds to the JSON property `files`
484
+ # @return [Array<Google::Apis::ArtifactregistryV1::GoogleDevtoolsArtifactregistryV1File>]
485
+ attr_accessor :files
486
+
487
+ # The token to retrieve the next page of files, or empty if there are no more
488
+ # files to return.
489
+ # Corresponds to the JSON property `nextPageToken`
490
+ # @return [String]
491
+ attr_accessor :next_page_token
492
+
493
+ def initialize(**args)
494
+ update!(**args)
495
+ end
496
+
497
+ # Update properties of this object
498
+ def update!(**args)
499
+ @files = args[:files] if args.key?(:files)
500
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
501
+ end
502
+ end
503
+
504
+ # The response from listing packages.
505
+ class ListPackagesResponse
506
+ include Google::Apis::Core::Hashable
507
+
508
+ # The token to retrieve the next page of packages, or empty if there are no more
509
+ # packages to return.
510
+ # Corresponds to the JSON property `nextPageToken`
511
+ # @return [String]
512
+ attr_accessor :next_page_token
513
+
514
+ # The packages returned.
515
+ # Corresponds to the JSON property `packages`
516
+ # @return [Array<Google::Apis::ArtifactregistryV1::Package>]
517
+ attr_accessor :packages
518
+
519
+ def initialize(**args)
520
+ update!(**args)
521
+ end
522
+
523
+ # Update properties of this object
524
+ def update!(**args)
525
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
526
+ @packages = args[:packages] if args.key?(:packages)
527
+ end
528
+ end
529
+
338
530
  # The response from listing repositories.
339
531
  class ListRepositoriesResponse
340
532
  include Google::Apis::Core::Hashable
@@ -361,6 +553,85 @@ module Google
361
553
  end
362
554
  end
363
555
 
556
+ # The response from listing tags.
557
+ class ListTagsResponse
558
+ include Google::Apis::Core::Hashable
559
+
560
+ # The token to retrieve the next page of tags, or empty if there are no more
561
+ # tags to return.
562
+ # Corresponds to the JSON property `nextPageToken`
563
+ # @return [String]
564
+ attr_accessor :next_page_token
565
+
566
+ # The tags returned.
567
+ # Corresponds to the JSON property `tags`
568
+ # @return [Array<Google::Apis::ArtifactregistryV1::Tag>]
569
+ attr_accessor :tags
570
+
571
+ def initialize(**args)
572
+ update!(**args)
573
+ end
574
+
575
+ # Update properties of this object
576
+ def update!(**args)
577
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
578
+ @tags = args[:tags] if args.key?(:tags)
579
+ end
580
+ end
581
+
582
+ # The response from listing versions.
583
+ class ListVersionsResponse
584
+ include Google::Apis::Core::Hashable
585
+
586
+ # The token to retrieve the next page of versions, or empty if there are no more
587
+ # versions to return.
588
+ # Corresponds to the JSON property `nextPageToken`
589
+ # @return [String]
590
+ attr_accessor :next_page_token
591
+
592
+ # The versions returned.
593
+ # Corresponds to the JSON property `versions`
594
+ # @return [Array<Google::Apis::ArtifactregistryV1::Version>]
595
+ attr_accessor :versions
596
+
597
+ def initialize(**args)
598
+ update!(**args)
599
+ end
600
+
601
+ # Update properties of this object
602
+ def update!(**args)
603
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
604
+ @versions = args[:versions] if args.key?(:versions)
605
+ end
606
+ end
607
+
608
+ # MavenRepositoryConfig is maven related repository details. Provides additional
609
+ # configuration details for repositories of the maven format type.
610
+ class MavenRepositoryConfig
611
+ include Google::Apis::Core::Hashable
612
+
613
+ # The repository with this flag will allow publishing the same snapshot versions.
614
+ # Corresponds to the JSON property `allowSnapshotOverwrites`
615
+ # @return [Boolean]
616
+ attr_accessor :allow_snapshot_overwrites
617
+ alias_method :allow_snapshot_overwrites?, :allow_snapshot_overwrites
618
+
619
+ # Version policy defines the versions that the registry will accept.
620
+ # Corresponds to the JSON property `versionPolicy`
621
+ # @return [String]
622
+ attr_accessor :version_policy
623
+
624
+ def initialize(**args)
625
+ update!(**args)
626
+ end
627
+
628
+ # Update properties of this object
629
+ def update!(**args)
630
+ @allow_snapshot_overwrites = args[:allow_snapshot_overwrites] if args.key?(:allow_snapshot_overwrites)
631
+ @version_policy = args[:version_policy] if args.key?(:version_policy)
632
+ end
633
+ end
634
+
364
635
  # This resource represents a long-running operation that is the result of a
365
636
  # network API call.
366
637
  class Operation
@@ -423,6 +694,161 @@ module Google
423
694
  end
424
695
  end
425
696
 
697
+ # Packages are named collections of versions.
698
+ class Package
699
+ include Google::Apis::Core::Hashable
700
+
701
+ # The time when the package was created.
702
+ # Corresponds to the JSON property `createTime`
703
+ # @return [String]
704
+ attr_accessor :create_time
705
+
706
+ # The display name of the package.
707
+ # Corresponds to the JSON property `displayName`
708
+ # @return [String]
709
+ attr_accessor :display_name
710
+
711
+ # The name of the package, for example: "projects/p1/locations/us-central1/
712
+ # repositories/repo1/packages/pkg1". If the package ID part contains slashes,
713
+ # the slashes are escaped.
714
+ # Corresponds to the JSON property `name`
715
+ # @return [String]
716
+ attr_accessor :name
717
+
718
+ # The time when the package was last updated. This includes publishing a new
719
+ # version of the package.
720
+ # Corresponds to the JSON property `updateTime`
721
+ # @return [String]
722
+ attr_accessor :update_time
723
+
724
+ def initialize(**args)
725
+ update!(**args)
726
+ end
727
+
728
+ # Update properties of this object
729
+ def update!(**args)
730
+ @create_time = args[:create_time] if args.key?(:create_time)
731
+ @display_name = args[:display_name] if args.key?(:display_name)
732
+ @name = args[:name] if args.key?(:name)
733
+ @update_time = args[:update_time] if args.key?(:update_time)
734
+ end
735
+ end
736
+
737
+ # An Identity and Access Management (IAM) policy, which specifies access
738
+ # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
739
+ # A `binding` binds one or more `members`, or principals, to a single `role`.
740
+ # Principals can be user accounts, service accounts, Google groups, and domains (
741
+ # such as G Suite). A `role` is a named list of permissions; each `role` can be
742
+ # an IAM predefined role or a user-created custom role. For some types of Google
743
+ # Cloud resources, a `binding` can also specify a `condition`, which is a
744
+ # logical expression that allows access to a resource only if the expression
745
+ # evaluates to `true`. A condition can add constraints based on attributes of
746
+ # the request, the resource, or both. To learn which resources support
747
+ # conditions in their IAM policies, see the [IAM documentation](https://cloud.
748
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
749
+ # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
750
+ # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
751
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
752
+ # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
753
+ # ], "condition": ` "title": "expirable access", "description": "Does not grant
754
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
755
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
756
+ # bindings: - members: - user:mike@example.com - group:admins@example.com -
757
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
758
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
759
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
760
+ # access description: Does not grant access after Sep 2020 expression: request.
761
+ # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
762
+ # a description of IAM and its features, see the [IAM documentation](https://
763
+ # cloud.google.com/iam/docs/).
764
+ class Policy
765
+ include Google::Apis::Core::Hashable
766
+
767
+ # Associates a list of `members`, or principals, with a `role`. Optionally, may
768
+ # specify a `condition` that determines how and when the `bindings` are applied.
769
+ # Each of the `bindings` must contain at least one principal. The `bindings` in
770
+ # a `Policy` can refer to up to 1,500 principals; up to 250 of these principals
771
+ # can be Google groups. Each occurrence of a principal counts towards these
772
+ # limits. For example, if the `bindings` grant 50 different roles to `user:alice@
773
+ # example.com`, and not to any other principal, then you can add another 1,450
774
+ # principals to the `bindings` in the `Policy`.
775
+ # Corresponds to the JSON property `bindings`
776
+ # @return [Array<Google::Apis::ArtifactregistryV1::Binding>]
777
+ attr_accessor :bindings
778
+
779
+ # `etag` is used for optimistic concurrency control as a way to help prevent
780
+ # simultaneous updates of a policy from overwriting each other. It is strongly
781
+ # suggested that systems make use of the `etag` in the read-modify-write cycle
782
+ # to perform policy updates in order to avoid race conditions: An `etag` is
783
+ # returned in the response to `getIamPolicy`, and systems are expected to put
784
+ # that etag in the request to `setIamPolicy` to ensure that their change will be
785
+ # applied to the same version of the policy. **Important:** If you use IAM
786
+ # Conditions, you must include the `etag` field whenever you call `setIamPolicy`.
787
+ # If you omit this field, then IAM allows you to overwrite a version `3` policy
788
+ # with a version `1` policy, and all of the conditions in the version `3` policy
789
+ # are lost.
790
+ # Corresponds to the JSON property `etag`
791
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
792
+ # @return [String]
793
+ attr_accessor :etag
794
+
795
+ # Specifies the format of the policy. Valid values are `0`, `1`, and `3`.
796
+ # Requests that specify an invalid value are rejected. Any operation that
797
+ # affects conditional role bindings must specify version `3`. This requirement
798
+ # applies to the following operations: * Getting a policy that includes a
799
+ # conditional role binding * Adding a conditional role binding to a policy *
800
+ # Changing a conditional role binding in a policy * Removing any role binding,
801
+ # with or without a condition, from a policy that includes conditions **
802
+ # Important:** If you use IAM Conditions, you must include the `etag` field
803
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows you
804
+ # to overwrite a version `3` policy with a version `1` policy, and all of the
805
+ # conditions in the version `3` policy are lost. If a policy does not include
806
+ # any conditions, operations on that policy may specify any valid version or
807
+ # leave the field unset. To learn which resources support conditions in their
808
+ # IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/
809
+ # conditions/resource-policies).
810
+ # Corresponds to the JSON property `version`
811
+ # @return [Fixnum]
812
+ attr_accessor :version
813
+
814
+ def initialize(**args)
815
+ update!(**args)
816
+ end
817
+
818
+ # Update properties of this object
819
+ def update!(**args)
820
+ @bindings = args[:bindings] if args.key?(:bindings)
821
+ @etag = args[:etag] if args.key?(:etag)
822
+ @version = args[:version] if args.key?(:version)
823
+ end
824
+ end
825
+
826
+ # The Artifact Registry settings that apply to a Project.
827
+ class ProjectSettings
828
+ include Google::Apis::Core::Hashable
829
+
830
+ # The redirection state of the legacy repositories in this project.
831
+ # Corresponds to the JSON property `legacyRedirectionState`
832
+ # @return [String]
833
+ attr_accessor :legacy_redirection_state
834
+
835
+ # The name of the project's settings. Always of the form: projects/`project-id`/
836
+ # projectSettings In update request: never set In response: always set
837
+ # Corresponds to the JSON property `name`
838
+ # @return [String]
839
+ attr_accessor :name
840
+
841
+ def initialize(**args)
842
+ update!(**args)
843
+ end
844
+
845
+ # Update properties of this object
846
+ def update!(**args)
847
+ @legacy_redirection_state = args[:legacy_redirection_state] if args.key?(:legacy_redirection_state)
848
+ @name = args[:name] if args.key?(:name)
849
+ end
850
+ end
851
+
426
852
  # A Repository for storing artifacts with a specific format.
427
853
  class Repository
428
854
  include Google::Apis::Core::Hashable
@@ -442,7 +868,7 @@ module Google
442
868
  # @return [String]
443
869
  attr_accessor :format
444
870
 
445
- # The Cloud KMS resource name of the customer managed encryption key thats used
871
+ # The Cloud KMS resource name of the customer managed encryption key that's used
446
872
  # to encrypt the contents of the Repository. Has the form: `projects/my-project/
447
873
  # locations/my-region/keyRings/my-kr/cryptoKeys/my-key`. This value may not be
448
874
  # changed after the Repository has been created.
@@ -458,6 +884,12 @@ module Google
458
884
  # @return [Hash<String,String>]
459
885
  attr_accessor :labels
460
886
 
887
+ # MavenRepositoryConfig is maven related repository details. Provides additional
888
+ # configuration details for repositories of the maven format type.
889
+ # Corresponds to the JSON property `mavenConfig`
890
+ # @return [Google::Apis::ArtifactregistryV1::MavenRepositoryConfig]
891
+ attr_accessor :maven_config
892
+
461
893
  # The name of the repository, for example: "projects/p1/locations/us-central1/
462
894
  # repositories/repo1".
463
895
  # Corresponds to the JSON property `name`
@@ -480,11 +912,57 @@ module Google
480
912
  @format = args[:format] if args.key?(:format)
481
913
  @kms_key_name = args[:kms_key_name] if args.key?(:kms_key_name)
482
914
  @labels = args[:labels] if args.key?(:labels)
915
+ @maven_config = args[:maven_config] if args.key?(:maven_config)
483
916
  @name = args[:name] if args.key?(:name)
484
917
  @update_time = args[:update_time] if args.key?(:update_time)
485
918
  end
486
919
  end
487
920
 
921
+ # Request message for `SetIamPolicy` method.
922
+ class SetIamPolicyRequest
923
+ include Google::Apis::Core::Hashable
924
+
925
+ # An Identity and Access Management (IAM) policy, which specifies access
926
+ # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
927
+ # A `binding` binds one or more `members`, or principals, to a single `role`.
928
+ # Principals can be user accounts, service accounts, Google groups, and domains (
929
+ # such as G Suite). A `role` is a named list of permissions; each `role` can be
930
+ # an IAM predefined role or a user-created custom role. For some types of Google
931
+ # Cloud resources, a `binding` can also specify a `condition`, which is a
932
+ # logical expression that allows access to a resource only if the expression
933
+ # evaluates to `true`. A condition can add constraints based on attributes of
934
+ # the request, the resource, or both. To learn which resources support
935
+ # conditions in their IAM policies, see the [IAM documentation](https://cloud.
936
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
937
+ # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
938
+ # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
939
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
940
+ # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
941
+ # ], "condition": ` "title": "expirable access", "description": "Does not grant
942
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
943
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
944
+ # bindings: - members: - user:mike@example.com - group:admins@example.com -
945
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
946
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
947
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
948
+ # access description: Does not grant access after Sep 2020 expression: request.
949
+ # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
950
+ # a description of IAM and its features, see the [IAM documentation](https://
951
+ # cloud.google.com/iam/docs/).
952
+ # Corresponds to the JSON property `policy`
953
+ # @return [Google::Apis::ArtifactregistryV1::Policy]
954
+ attr_accessor :policy
955
+
956
+ def initialize(**args)
957
+ update!(**args)
958
+ end
959
+
960
+ # Update properties of this object
961
+ def update!(**args)
962
+ @policy = args[:policy] if args.key?(:policy)
963
+ end
964
+ end
965
+
488
966
  # The `Status` type defines a logical error model that is suitable for different
489
967
  # programming environments, including REST APIs and RPC APIs. It is used by [
490
968
  # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
@@ -524,6 +1002,77 @@ module Google
524
1002
  end
525
1003
  end
526
1004
 
1005
+ # Tags point to a version and represent an alternative name that can be used to
1006
+ # access the version.
1007
+ class Tag
1008
+ include Google::Apis::Core::Hashable
1009
+
1010
+ # The name of the tag, for example: "projects/p1/locations/us-central1/
1011
+ # repositories/repo1/packages/pkg1/tags/tag1". If the package part contains
1012
+ # slashes, the slashes are escaped. The tag part can only have characters in [a-
1013
+ # zA-Z0-9\-._~:@], anything else must be URL encoded.
1014
+ # Corresponds to the JSON property `name`
1015
+ # @return [String]
1016
+ attr_accessor :name
1017
+
1018
+ # The name of the version the tag refers to, for example: "projects/p1/locations/
1019
+ # us-central1/repositories/repo1/packages/pkg1/versions/sha256:5243811" If the
1020
+ # package or version ID parts contain slashes, the slashes are escaped.
1021
+ # Corresponds to the JSON property `version`
1022
+ # @return [String]
1023
+ attr_accessor :version
1024
+
1025
+ def initialize(**args)
1026
+ update!(**args)
1027
+ end
1028
+
1029
+ # Update properties of this object
1030
+ def update!(**args)
1031
+ @name = args[:name] if args.key?(:name)
1032
+ @version = args[:version] if args.key?(:version)
1033
+ end
1034
+ end
1035
+
1036
+ # Request message for `TestIamPermissions` method.
1037
+ class TestIamPermissionsRequest
1038
+ include Google::Apis::Core::Hashable
1039
+
1040
+ # The set of permissions to check for the `resource`. Permissions with wildcards
1041
+ # (such as '*' or 'storage.*') are not allowed. For more information see [IAM
1042
+ # Overview](https://cloud.google.com/iam/docs/overview#permissions).
1043
+ # Corresponds to the JSON property `permissions`
1044
+ # @return [Array<String>]
1045
+ attr_accessor :permissions
1046
+
1047
+ def initialize(**args)
1048
+ update!(**args)
1049
+ end
1050
+
1051
+ # Update properties of this object
1052
+ def update!(**args)
1053
+ @permissions = args[:permissions] if args.key?(:permissions)
1054
+ end
1055
+ end
1056
+
1057
+ # Response message for `TestIamPermissions` method.
1058
+ class TestIamPermissionsResponse
1059
+ include Google::Apis::Core::Hashable
1060
+
1061
+ # A subset of `TestPermissionsRequest.permissions` that the caller is allowed.
1062
+ # Corresponds to the JSON property `permissions`
1063
+ # @return [Array<String>]
1064
+ attr_accessor :permissions
1065
+
1066
+ def initialize(**args)
1067
+ update!(**args)
1068
+ end
1069
+
1070
+ # Update properties of this object
1071
+ def update!(**args)
1072
+ @permissions = args[:permissions] if args.key?(:permissions)
1073
+ end
1074
+ end
1075
+
527
1076
  # The response to upload an artifact.
528
1077
  class UploadAptArtifactMediaResponse
529
1078
  include Google::Apis::Core::Hashable
@@ -544,15 +1093,42 @@ module Google
544
1093
  end
545
1094
  end
546
1095
 
547
- # The response of the completed artifact upload operation. This response is
548
- # contained in the Operation and available to users.
549
- class UploadAptArtifactResponse
1096
+ # The request to upload an artifact.
1097
+ class UploadAptArtifactRequest
550
1098
  include Google::Apis::Core::Hashable
551
1099
 
552
- # The Apt artifacts updated.
553
- # Corresponds to the JSON property `aptArtifacts`
554
- # @return [Array<Google::Apis::ArtifactregistryV1::AptArtifact>]
555
- attr_accessor :apt_artifacts
1100
+ def initialize(**args)
1101
+ update!(**args)
1102
+ end
1103
+
1104
+ # Update properties of this object
1105
+ def update!(**args)
1106
+ end
1107
+ end
1108
+
1109
+ # The response to upload an artifact.
1110
+ class UploadGooGetArtifactMediaResponse
1111
+ include Google::Apis::Core::Hashable
1112
+
1113
+ # This resource represents a long-running operation that is the result of a
1114
+ # network API call.
1115
+ # Corresponds to the JSON property `operation`
1116
+ # @return [Google::Apis::ArtifactregistryV1::Operation]
1117
+ attr_accessor :operation
1118
+
1119
+ def initialize(**args)
1120
+ update!(**args)
1121
+ end
1122
+
1123
+ # Update properties of this object
1124
+ def update!(**args)
1125
+ @operation = args[:operation] if args.key?(:operation)
1126
+ end
1127
+ end
1128
+
1129
+ # The request to upload an artifact.
1130
+ class UploadGooGetArtifactRequest
1131
+ include Google::Apis::Core::Hashable
556
1132
 
557
1133
  def initialize(**args)
558
1134
  update!(**args)
@@ -560,7 +1136,6 @@ module Google
560
1136
 
561
1137
  # Update properties of this object
562
1138
  def update!(**args)
563
- @apt_artifacts = args[:apt_artifacts] if args.key?(:apt_artifacts)
564
1139
  end
565
1140
  end
566
1141
 
@@ -584,49 +1159,59 @@ module Google
584
1159
  end
585
1160
  end
586
1161
 
587
- # The response of the completed artifact upload operation. This response is
588
- # contained in the Operation and available to users.
589
- class UploadYumArtifactResponse
1162
+ # The request to upload an artifact.
1163
+ class UploadYumArtifactRequest
590
1164
  include Google::Apis::Core::Hashable
591
1165
 
592
- # The Apt artifacts updated.
593
- # Corresponds to the JSON property `yumArtifacts`
594
- # @return [Array<Google::Apis::ArtifactregistryV1::YumArtifact>]
595
- attr_accessor :yum_artifacts
596
-
597
1166
  def initialize(**args)
598
1167
  update!(**args)
599
1168
  end
600
1169
 
601
1170
  # Update properties of this object
602
1171
  def update!(**args)
603
- @yum_artifacts = args[:yum_artifacts] if args.key?(:yum_artifacts)
604
1172
  end
605
1173
  end
606
1174
 
607
- # A detailed representation of a Yum artifact.
608
- class YumArtifact
1175
+ # The body of a version resource. A version resource represents a collection of
1176
+ # components, such as files and other data. This may correspond to a version in
1177
+ # many package management schemes.
1178
+ class Version
609
1179
  include Google::Apis::Core::Hashable
610
1180
 
611
- # Output only. Operating system architecture of the artifact.
612
- # Corresponds to the JSON property `architecture`
1181
+ # The time when the version was created.
1182
+ # Corresponds to the JSON property `createTime`
1183
+ # @return [String]
1184
+ attr_accessor :create_time
1185
+
1186
+ # Optional. Description of the version, as specified in its metadata.
1187
+ # Corresponds to the JSON property `description`
613
1188
  # @return [String]
614
- attr_accessor :architecture
1189
+ attr_accessor :description
1190
+
1191
+ # Output only. Repository-specific Metadata stored against this version. The
1192
+ # fields returned are defined by the underlying repository-specific resource.
1193
+ # Currently, the only resource in use is DockerImage
1194
+ # Corresponds to the JSON property `metadata`
1195
+ # @return [Hash<String,Object>]
1196
+ attr_accessor :metadata
615
1197
 
616
- # Output only. The Artifact Registry resource name of the artifact.
1198
+ # The name of the version, for example: "projects/p1/locations/us-central1/
1199
+ # repositories/repo1/packages/pkg1/versions/art1". If the package or version ID
1200
+ # parts contain slashes, the slashes are escaped.
617
1201
  # Corresponds to the JSON property `name`
618
1202
  # @return [String]
619
1203
  attr_accessor :name
620
1204
 
621
- # Output only. The yum package name of the artifact.
622
- # Corresponds to the JSON property `packageName`
623
- # @return [String]
624
- attr_accessor :package_name
1205
+ # Output only. A list of related tags. Will contain up to 100 tags that
1206
+ # reference this version.
1207
+ # Corresponds to the JSON property `relatedTags`
1208
+ # @return [Array<Google::Apis::ArtifactregistryV1::Tag>]
1209
+ attr_accessor :related_tags
625
1210
 
626
- # Output only. An artifact is a binary or source package.
627
- # Corresponds to the JSON property `packageType`
1211
+ # The time when the version was last updated.
1212
+ # Corresponds to the JSON property `updateTime`
628
1213
  # @return [String]
629
- attr_accessor :package_type
1214
+ attr_accessor :update_time
630
1215
 
631
1216
  def initialize(**args)
632
1217
  update!(**args)
@@ -634,10 +1219,12 @@ module Google
634
1219
 
635
1220
  # Update properties of this object
636
1221
  def update!(**args)
637
- @architecture = args[:architecture] if args.key?(:architecture)
1222
+ @create_time = args[:create_time] if args.key?(:create_time)
1223
+ @description = args[:description] if args.key?(:description)
1224
+ @metadata = args[:metadata] if args.key?(:metadata)
638
1225
  @name = args[:name] if args.key?(:name)
639
- @package_name = args[:package_name] if args.key?(:package_name)
640
- @package_type = args[:package_type] if args.key?(:package_type)
1226
+ @related_tags = args[:related_tags] if args.key?(:related_tags)
1227
+ @update_time = args[:update_time] if args.key?(:update_time)
641
1228
  end
642
1229
  end
643
1230
  end