google-apis-artifactregistry_v1 0.12.0 → 0.16.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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,18 +87,15 @@ 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
 
77
96
  # DockerImage represents a docker artifact. The following fields are returned as
78
97
  # untyped metadata in the Version resource, using camelcase keys (i.e. metadata.
79
- # imageSizeBytes): - imageSizeBytes - mediaType - buildTime
98
+ # imageSizeBytes): * imageSizeBytes * mediaType * buildTime
80
99
  class DockerImage
81
100
  include Google::Apis::Core::Hashable
82
101
 
@@ -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
@@ -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