google-cloud-artifact_registry-v1 1.0.1 → 1.2.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.
Files changed (32) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +30 -20
  3. data/lib/google/cloud/artifact_registry/v1/artifact_registry/client.rb +1794 -333
  4. data/lib/google/cloud/artifact_registry/v1/artifact_registry/operations.rb +12 -15
  5. data/lib/google/cloud/artifact_registry/v1/artifact_registry/paths.rb +42 -0
  6. data/lib/google/cloud/artifact_registry/v1/artifact_registry/rest/client.rb +1680 -310
  7. data/lib/google/cloud/artifact_registry/v1/artifact_registry/rest/operations.rb +43 -38
  8. data/lib/google/cloud/artifact_registry/v1/artifact_registry/rest/service_stub.rb +1106 -223
  9. data/lib/google/cloud/artifact_registry/v1/version.rb +1 -1
  10. data/lib/google/devtools/artifactregistry/v1/attachment_pb.rb +52 -0
  11. data/lib/google/devtools/artifactregistry/v1/file_pb.rb +5 -1
  12. data/lib/google/devtools/artifactregistry/v1/generic_pb.rb +47 -0
  13. data/lib/google/devtools/artifactregistry/v1/package_pb.rb +4 -1
  14. data/lib/google/devtools/artifactregistry/v1/repository_pb.rb +11 -1
  15. data/lib/google/devtools/artifactregistry/v1/rule_pb.rb +57 -0
  16. data/lib/google/devtools/artifactregistry/v1/service_pb.rb +3 -1
  17. data/lib/google/devtools/artifactregistry/v1/service_services_pb.rb +31 -0
  18. data/lib/google/devtools/artifactregistry/v1/settings_pb.rb +1 -1
  19. data/lib/google/devtools/artifactregistry/v1/version_pb.rb +4 -1
  20. data/proto_docs/google/api/client.rb +39 -0
  21. data/proto_docs/google/devtools/artifactregistry/v1/artifact.rb +4 -4
  22. data/proto_docs/google/devtools/artifactregistry/v1/attachment.rb +152 -0
  23. data/proto_docs/google/devtools/artifactregistry/v1/file.rb +80 -7
  24. data/proto_docs/google/devtools/artifactregistry/v1/generic.rb +48 -0
  25. data/proto_docs/google/devtools/artifactregistry/v1/package.rb +76 -0
  26. data/proto_docs/google/devtools/artifactregistry/v1/repository.rb +188 -1
  27. data/proto_docs/google/devtools/artifactregistry/v1/rule.rb +149 -0
  28. data/proto_docs/google/devtools/artifactregistry/v1/settings.rb +10 -0
  29. data/proto_docs/google/devtools/artifactregistry/v1/tag.rb +23 -5
  30. data/proto_docs/google/devtools/artifactregistry/v1/version.rb +74 -1
  31. data/proto_docs/google/longrunning/operations.rb +19 -14
  32. metadata +11 -5
@@ -151,12 +151,20 @@ module Google
151
151
  # @!attribute [rw] yum_repository
152
152
  # @return [::Google::Cloud::ArtifactRegistry::V1::RemoteRepositoryConfig::YumRepository]
153
153
  # Specific settings for a Yum remote repository.
154
+ # @!attribute [rw] common_repository
155
+ # @return [::Google::Cloud::ArtifactRegistry::V1::RemoteRepositoryConfig::CommonRemoteRepository]
156
+ # Common remote repository settings.
157
+ # Used as the remote repository upstream URL.
154
158
  # @!attribute [rw] description
155
159
  # @return [::String]
156
160
  # The description of the remote source.
157
161
  # @!attribute [rw] upstream_credentials
158
162
  # @return [::Google::Cloud::ArtifactRegistry::V1::RemoteRepositoryConfig::UpstreamCredentials]
159
163
  # Optional. The credentials used to access the remote repository.
164
+ # @!attribute [rw] disable_upstream_validation
165
+ # @return [::Boolean]
166
+ # Input only. A create/update remote repo option to avoid making a HEAD/GET
167
+ # request to validate a remote repo and any supplied upstream credentials.
160
168
  class RemoteRepositoryConfig
161
169
  include ::Google::Protobuf::MessageExts
162
170
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -189,10 +197,23 @@ module Google
189
197
  # @return [::Google::Cloud::ArtifactRegistry::V1::RemoteRepositoryConfig::DockerRepository::PublicRepository]
190
198
  # One of the publicly available Docker repositories supported by Artifact
191
199
  # Registry.
200
+ # @!attribute [rw] custom_repository
201
+ # @return [::Google::Cloud::ArtifactRegistry::V1::RemoteRepositoryConfig::DockerRepository::CustomRepository]
202
+ # Customer-specified remote repository.
192
203
  class DockerRepository
193
204
  include ::Google::Protobuf::MessageExts
194
205
  extend ::Google::Protobuf::MessageExts::ClassMethods
195
206
 
207
+ # Customer-specified publicly available remote repository.
208
+ # @!attribute [rw] uri
209
+ # @return [::String]
210
+ # An http/https uri reference to the custom remote repository, for ex:
211
+ # "https://registry-1.docker.io".
212
+ class CustomRepository
213
+ include ::Google::Protobuf::MessageExts
214
+ extend ::Google::Protobuf::MessageExts::ClassMethods
215
+ end
216
+
196
217
  # Predefined list of publicly available Docker repositories like Docker
197
218
  # Hub.
198
219
  module PublicRepository
@@ -209,10 +230,23 @@ module Google
209
230
  # @return [::Google::Cloud::ArtifactRegistry::V1::RemoteRepositoryConfig::MavenRepository::PublicRepository]
210
231
  # One of the publicly available Maven repositories supported by Artifact
211
232
  # Registry.
233
+ # @!attribute [rw] custom_repository
234
+ # @return [::Google::Cloud::ArtifactRegistry::V1::RemoteRepositoryConfig::MavenRepository::CustomRepository]
235
+ # Customer-specified remote repository.
212
236
  class MavenRepository
213
237
  include ::Google::Protobuf::MessageExts
214
238
  extend ::Google::Protobuf::MessageExts::ClassMethods
215
239
 
240
+ # Customer-specified publicly available remote repository.
241
+ # @!attribute [rw] uri
242
+ # @return [::String]
243
+ # An http/https uri reference to the upstream remote repository, for ex:
244
+ # "https://my.maven.registry/".
245
+ class CustomRepository
246
+ include ::Google::Protobuf::MessageExts
247
+ extend ::Google::Protobuf::MessageExts::ClassMethods
248
+ end
249
+
216
250
  # Predefined list of publicly available Maven repositories like Maven
217
251
  # Central.
218
252
  module PublicRepository
@@ -229,10 +263,23 @@ module Google
229
263
  # @return [::Google::Cloud::ArtifactRegistry::V1::RemoteRepositoryConfig::NpmRepository::PublicRepository]
230
264
  # One of the publicly available Npm repositories supported by Artifact
231
265
  # Registry.
266
+ # @!attribute [rw] custom_repository
267
+ # @return [::Google::Cloud::ArtifactRegistry::V1::RemoteRepositoryConfig::NpmRepository::CustomRepository]
268
+ # Customer-specified remote repository.
232
269
  class NpmRepository
233
270
  include ::Google::Protobuf::MessageExts
234
271
  extend ::Google::Protobuf::MessageExts::ClassMethods
235
272
 
273
+ # Customer-specified publicly available remote repository.
274
+ # @!attribute [rw] uri
275
+ # @return [::String]
276
+ # An http/https uri reference to the upstream remote repository, for ex:
277
+ # "https://my.npm.registry/".
278
+ class CustomRepository
279
+ include ::Google::Protobuf::MessageExts
280
+ extend ::Google::Protobuf::MessageExts::ClassMethods
281
+ end
282
+
236
283
  # Predefined list of publicly available NPM repositories like npmjs.
237
284
  module PublicRepository
238
285
  # Unspecified repository.
@@ -248,10 +295,23 @@ module Google
248
295
  # @return [::Google::Cloud::ArtifactRegistry::V1::RemoteRepositoryConfig::PythonRepository::PublicRepository]
249
296
  # One of the publicly available Python repositories supported by Artifact
250
297
  # Registry.
298
+ # @!attribute [rw] custom_repository
299
+ # @return [::Google::Cloud::ArtifactRegistry::V1::RemoteRepositoryConfig::PythonRepository::CustomRepository]
300
+ # Customer-specified remote repository.
251
301
  class PythonRepository
252
302
  include ::Google::Protobuf::MessageExts
253
303
  extend ::Google::Protobuf::MessageExts::ClassMethods
254
304
 
305
+ # Customer-specified publicly available remote repository.
306
+ # @!attribute [rw] uri
307
+ # @return [::String]
308
+ # An http/https uri reference to the upstream remote repository, for ex:
309
+ # "https://my.python.registry/".
310
+ class CustomRepository
311
+ include ::Google::Protobuf::MessageExts
312
+ extend ::Google::Protobuf::MessageExts::ClassMethods
313
+ end
314
+
255
315
  # Predefined list of publicly available Python repositories like PyPI.org.
256
316
  module PublicRepository
257
317
  # Unspecified repository.
@@ -267,6 +327,9 @@ module Google
267
327
  # @return [::Google::Cloud::ArtifactRegistry::V1::RemoteRepositoryConfig::AptRepository::PublicRepository]
268
328
  # One of the publicly available Apt repositories supported by Artifact
269
329
  # Registry.
330
+ # @!attribute [rw] custom_repository
331
+ # @return [::Google::Cloud::ArtifactRegistry::V1::RemoteRepositoryConfig::AptRepository::CustomRepository]
332
+ # Customer-specified remote repository.
270
333
  class AptRepository
271
334
  include ::Google::Protobuf::MessageExts
272
335
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -293,8 +356,21 @@ module Google
293
356
 
294
357
  # Ubuntu LTS/Pro.
295
358
  UBUNTU = 2
359
+
360
+ # Archived Debian.
361
+ DEBIAN_SNAPSHOT = 3
296
362
  end
297
363
  end
364
+
365
+ # Customer-specified publicly available remote repository.
366
+ # @!attribute [rw] uri
367
+ # @return [::String]
368
+ # An http/https uri reference to the upstream remote repository, for ex:
369
+ # "https://my.apt.registry/".
370
+ class CustomRepository
371
+ include ::Google::Protobuf::MessageExts
372
+ extend ::Google::Protobuf::MessageExts::ClassMethods
373
+ end
298
374
  end
299
375
 
300
376
  # Configuration for a Yum remote repository.
@@ -302,6 +378,9 @@ module Google
302
378
  # @return [::Google::Cloud::ArtifactRegistry::V1::RemoteRepositoryConfig::YumRepository::PublicRepository]
303
379
  # One of the publicly available Yum repositories supported by Artifact
304
380
  # Registry.
381
+ # @!attribute [rw] custom_repository
382
+ # @return [::Google::Cloud::ArtifactRegistry::V1::RemoteRepositoryConfig::YumRepository::CustomRepository]
383
+ # Customer-specified remote repository.
305
384
  class YumRepository
306
385
  include ::Google::Protobuf::MessageExts
307
386
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -342,6 +421,25 @@ module Google
342
421
  EPEL = 6
343
422
  end
344
423
  end
424
+
425
+ # Customer-specified publicly available remote repository.
426
+ # @!attribute [rw] uri
427
+ # @return [::String]
428
+ # An http/https uri reference to the upstream remote repository, for ex:
429
+ # "https://my.yum.registry/".
430
+ class CustomRepository
431
+ include ::Google::Protobuf::MessageExts
432
+ extend ::Google::Protobuf::MessageExts::ClassMethods
433
+ end
434
+ end
435
+
436
+ # Common remote repository settings type.
437
+ # @!attribute [rw] uri
438
+ # @return [::String]
439
+ # Required. A common public repository base for remote repository.
440
+ class CommonRemoteRepository
441
+ include ::Google::Protobuf::MessageExts
442
+ extend ::Google::Protobuf::MessageExts::ClassMethods
345
443
  end
346
444
  end
347
445
 
@@ -363,7 +461,8 @@ module Google
363
461
  # @!attribute [rw] name
364
462
  # @return [::String]
365
463
  # The name of the repository, for example:
366
- # `projects/p1/locations/us-central1/repositories/repo1`.
464
+ # `projects/p1/locations/us-central1/repositories/repo1`. For each location
465
+ # in a project, repository names must be unique.
367
466
  # @!attribute [rw] format
368
467
  # @return [::Google::Cloud::ArtifactRegistry::V1::Repository::Format]
369
468
  # Optional. The format of packages that are stored in the repository.
@@ -410,6 +509,17 @@ module Google
410
509
  # @return [::Boolean]
411
510
  # Optional. If true, the cleanup pipeline is prevented from deleting versions
412
511
  # in this repository.
512
+ # @!attribute [rw] vulnerability_scanning_config
513
+ # @return [::Google::Cloud::ArtifactRegistry::V1::Repository::VulnerabilityScanningConfig]
514
+ # Optional. Config and state for vulnerability scanning of resources within
515
+ # this Repository.
516
+ # @!attribute [rw] disallow_unspecified_mode
517
+ # @return [::Boolean]
518
+ # Optional. If this is true, an unspecified repo type will be treated as
519
+ # error rather than defaulting to standard.
520
+ # @!attribute [r] satisfies_pzi
521
+ # @return [::Boolean]
522
+ # Output only. If set, the repository satisfies physical zone isolation.
413
523
  class Repository
414
524
  include ::Google::Protobuf::MessageExts
415
525
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -456,6 +566,56 @@ module Google
456
566
  extend ::Google::Protobuf::MessageExts::ClassMethods
457
567
  end
458
568
 
569
+ # Config on whether to perform vulnerability scanning for resources in this
570
+ # repository, as well as output fields describing current state.
571
+ # @!attribute [rw] enablement_config
572
+ # @return [::Google::Cloud::ArtifactRegistry::V1::Repository::VulnerabilityScanningConfig::EnablementConfig]
573
+ # Optional. Config for whether this repository has vulnerability scanning
574
+ # disabled.
575
+ # @!attribute [r] last_enable_time
576
+ # @return [::Google::Protobuf::Timestamp]
577
+ # Output only. The last time this repository config was enabled.
578
+ # @!attribute [r] enablement_state
579
+ # @return [::Google::Cloud::ArtifactRegistry::V1::Repository::VulnerabilityScanningConfig::EnablementState]
580
+ # Output only. State of feature enablement, combining repository enablement
581
+ # config and API enablement state.
582
+ # @!attribute [r] enablement_state_reason
583
+ # @return [::String]
584
+ # Output only. Reason for the repository state.
585
+ class VulnerabilityScanningConfig
586
+ include ::Google::Protobuf::MessageExts
587
+ extend ::Google::Protobuf::MessageExts::ClassMethods
588
+
589
+ # Config for vulnerability scanning of resources in this repository.
590
+ module EnablementConfig
591
+ # Not set. This will be treated as INHERITED.
592
+ ENABLEMENT_CONFIG_UNSPECIFIED = 0
593
+
594
+ # Scanning is Enabled, but dependent on API enablement.
595
+ INHERITED = 1
596
+
597
+ # No automatic vulnerability scanning will be performed for this
598
+ # repository.
599
+ DISABLED = 2
600
+ end
601
+
602
+ # Describes the state of vulnerability scanning in this repository,
603
+ # including both repository enablement and API enablement.
604
+ module EnablementState
605
+ # Enablement state is unclear.
606
+ ENABLEMENT_STATE_UNSPECIFIED = 0
607
+
608
+ # Repository does not support vulnerability scanning.
609
+ SCANNING_UNSUPPORTED = 1
610
+
611
+ # Vulnerability scanning is disabled for this repository.
612
+ SCANNING_DISABLED = 2
613
+
614
+ # Vulnerability scanning is active for this repository.
615
+ SCANNING_ACTIVE = 3
616
+ end
617
+ end
618
+
459
619
  # @!attribute [rw] key
460
620
  # @return [::String]
461
621
  # @!attribute [rw] value
@@ -502,6 +662,9 @@ module Google
502
662
 
503
663
  # Go package format.
504
664
  GO = 10
665
+
666
+ # Generic package format.
667
+ GENERIC = 11
505
668
  end
506
669
 
507
670
  # The mode configures the repository to serve artifacts from different
@@ -532,6 +695,30 @@ module Google
532
695
  # @!attribute [rw] page_token
533
696
  # @return [::String]
534
697
  # The next_page_token value returned from a previous list request, if any.
698
+ # @!attribute [rw] filter
699
+ # @return [::String]
700
+ # Optional. An expression for filtering the results of the request. Filter
701
+ # rules are case insensitive. The fields eligible for filtering are:
702
+ #
703
+ # * `name`
704
+ #
705
+ # Examples of using a filter:
706
+ #
707
+ # To filter the results of your request to repositories with the name
708
+ # `my-repo` in project `my-project` in the `us-central` region, append the
709
+ # following filter expression to your request:
710
+ #
711
+ # * `name="projects/my-project/locations/us-central1/repositories/my-repo"`
712
+ #
713
+ # You can also use wildcards to match any number of characters before or
714
+ # after the value:
715
+ #
716
+ # * `name="projects/my-project/locations/us-central1/repositories/my-*"`
717
+ # * `name="projects/my-project/locations/us-central1/repositories/*repo"`
718
+ # * `name="projects/my-project/locations/us-central1/repositories/*repo*"`
719
+ # @!attribute [rw] order_by
720
+ # @return [::String]
721
+ # Optional. The field to order the results by.
535
722
  class ListRepositoriesRequest
536
723
  include ::Google::Protobuf::MessageExts
537
724
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -0,0 +1,149 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2024 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module ArtifactRegistry
23
+ module V1
24
+ # A rule defines the deny or allow action of the operation it applies to and
25
+ # the conditions required for the rule to apply. You can set one rule for an
26
+ # entire repository and one rule for each package within.
27
+ # @!attribute [rw] name
28
+ # @return [::String]
29
+ # The name of the rule, for example:
30
+ # `projects/p1/locations/us-central1/repositories/repo1/rules/rule1`.
31
+ # @!attribute [rw] action
32
+ # @return [::Google::Cloud::ArtifactRegistry::V1::Rule::Action]
33
+ # The action this rule takes.
34
+ # @!attribute [rw] operation
35
+ # @return [::Google::Cloud::ArtifactRegistry::V1::Rule::Operation]
36
+ # @!attribute [rw] condition
37
+ # @return [::Google::Type::Expr]
38
+ # Optional. A CEL expression for conditions that must be met in order for the
39
+ # rule to apply. If not provided, the rule matches all objects.
40
+ # @!attribute [rw] package_id
41
+ # @return [::String]
42
+ # The package ID the rule applies to.
43
+ # If empty, this rule applies to all packages inside the repository.
44
+ class Rule
45
+ include ::Google::Protobuf::MessageExts
46
+ extend ::Google::Protobuf::MessageExts::ClassMethods
47
+
48
+ # Defines the action of the rule.
49
+ module Action
50
+ # Action not specified.
51
+ ACTION_UNSPECIFIED = 0
52
+
53
+ # Allow the operation.
54
+ ALLOW = 1
55
+
56
+ # Deny the operation.
57
+ DENY = 2
58
+ end
59
+
60
+ # The operation the rule applies to.
61
+ module Operation
62
+ # Operation not specified.
63
+ OPERATION_UNSPECIFIED = 0
64
+
65
+ # Download operation.
66
+ DOWNLOAD = 1
67
+ end
68
+ end
69
+
70
+ # The request to list rules.
71
+ # @!attribute [rw] parent
72
+ # @return [::String]
73
+ # Required. The name of the parent repository whose rules will be listed.
74
+ # For example:
75
+ # `projects/p1/locations/us-central1/repositories/repo1`.
76
+ # @!attribute [rw] page_size
77
+ # @return [::Integer]
78
+ # The maximum number of rules to return. Maximum page size is 1,000.
79
+ # @!attribute [rw] page_token
80
+ # @return [::String]
81
+ # The next_page_token value returned from a previous list request, if any.
82
+ class ListRulesRequest
83
+ include ::Google::Protobuf::MessageExts
84
+ extend ::Google::Protobuf::MessageExts::ClassMethods
85
+ end
86
+
87
+ # The response from listing rules.
88
+ # @!attribute [rw] rules
89
+ # @return [::Array<::Google::Cloud::ArtifactRegistry::V1::Rule>]
90
+ # The rules returned.
91
+ # @!attribute [rw] next_page_token
92
+ # @return [::String]
93
+ # The token to retrieve the next page of rules, or empty if there are no
94
+ # more rules to return.
95
+ class ListRulesResponse
96
+ include ::Google::Protobuf::MessageExts
97
+ extend ::Google::Protobuf::MessageExts::ClassMethods
98
+ end
99
+
100
+ # The request to retrieve a rule.
101
+ # @!attribute [rw] name
102
+ # @return [::String]
103
+ # Required. The name of the rule to retrieve.
104
+ class GetRuleRequest
105
+ include ::Google::Protobuf::MessageExts
106
+ extend ::Google::Protobuf::MessageExts::ClassMethods
107
+ end
108
+
109
+ # The request to create a new rule.
110
+ # @!attribute [rw] parent
111
+ # @return [::String]
112
+ # Required. The name of the parent resource where the rule will be created.
113
+ # @!attribute [rw] rule_id
114
+ # @return [::String]
115
+ # The rule id to use for this repository.
116
+ # @!attribute [rw] rule
117
+ # @return [::Google::Cloud::ArtifactRegistry::V1::Rule]
118
+ # The rule to be created.
119
+ class CreateRuleRequest
120
+ include ::Google::Protobuf::MessageExts
121
+ extend ::Google::Protobuf::MessageExts::ClassMethods
122
+ end
123
+
124
+ # The request to update a rule.
125
+ # @!attribute [rw] rule
126
+ # @return [::Google::Cloud::ArtifactRegistry::V1::Rule]
127
+ # The rule that replaces the resource on the server.
128
+ # @!attribute [rw] update_mask
129
+ # @return [::Google::Protobuf::FieldMask]
130
+ # The update mask applies to the resource. For the `FieldMask` definition,
131
+ # see
132
+ # https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask
133
+ class UpdateRuleRequest
134
+ include ::Google::Protobuf::MessageExts
135
+ extend ::Google::Protobuf::MessageExts::ClassMethods
136
+ end
137
+
138
+ # The request to delete a rule.
139
+ # @!attribute [rw] name
140
+ # @return [::String]
141
+ # Required. The name of the rule to delete.
142
+ class DeleteRuleRequest
143
+ include ::Google::Protobuf::MessageExts
144
+ extend ::Google::Protobuf::MessageExts::ClassMethods
145
+ end
146
+ end
147
+ end
148
+ end
149
+ end
@@ -34,6 +34,10 @@ module Google
34
34
  # @!attribute [rw] legacy_redirection_state
35
35
  # @return [::Google::Cloud::ArtifactRegistry::V1::ProjectSettings::RedirectionState]
36
36
  # The redirection state of the legacy repositories in this project.
37
+ # @!attribute [rw] pull_percent
38
+ # @return [::Integer]
39
+ # The percentage of pull traffic to redirect from GCR to AR when using
40
+ # partial redirection.
37
41
  class ProjectSettings
38
42
  include ::Google::Protobuf::MessageExts
39
43
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -51,6 +55,12 @@ module Google
51
55
 
52
56
  # Redirection is enabled, and has been finalized so cannot be reverted.
53
57
  REDIRECTION_FROM_GCR_IO_FINALIZED = 3
58
+
59
+ # Redirection is enabled and missing images are copied from GCR
60
+ REDIRECTION_FROM_GCR_IO_ENABLED_AND_COPYING = 5
61
+
62
+ # Redirection is partially enabled and missing images are copied from GCR
63
+ REDIRECTION_FROM_GCR_IO_PARTIAL_AND_COPYING = 6
54
64
  end
55
65
  end
56
66
 
@@ -33,7 +33,7 @@ module Google
33
33
  # @!attribute [rw] version
34
34
  # @return [::String]
35
35
  # The name of the version the tag refers to, for example:
36
- # "projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/sha256:5243811"
36
+ # `projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/sha256:5243811`
37
37
  # If the package or version ID parts contain slashes, the slashes are
38
38
  # escaped.
39
39
  class Tag
@@ -52,15 +52,33 @@ module Google
52
52
  # An expression for filtering the results of the request. Filter rules are
53
53
  # case insensitive. The fields eligible for filtering are:
54
54
  #
55
+ # * `name`
55
56
  # * `version`
56
57
  #
57
- # An example of using a filter:
58
+ # Examples of using a filter:
58
59
  #
59
- # * `version="projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/1.0"`
60
- # --> Tags that are applied to the version `1.0` in package `pkg1`.
60
+ # To filter the results of your request to tags with the name `my-tag` in
61
+ # package `my-package` in repository `my-repo` in project "`y-project` in
62
+ # the us-central region, append the following filter expression to your
63
+ # request:
64
+ #
65
+ # * `name="projects/my-project/locations/us-central1/repositories/my-repo/packages/my-package/tags/my-tag"`
66
+ #
67
+ # You can also use wildcards to match any number of characters before or
68
+ # after the value:
69
+ #
70
+ # * `name="projects/my-project/locations/us-central1/repositories/my-repo/packages/my-package/tags/my*"`
71
+ # * `name="projects/my-project/locations/us-central1/repositories/my-repo/packages/my-package/tags/*tag"`
72
+ # * `name="projects/my-project/locations/us-central1/repositories/my-repo/packages/my-package/tags/*tag*"`
73
+ #
74
+ # To filter the results of your request to tags applied to the version
75
+ # `1.0` in package `my-package`, append the following filter expression to
76
+ # your request:
77
+ #
78
+ # * `version="projects/my-project/locations/us-central1/repositories/my-repo/packages/my-package/versions/1.0"`
61
79
  # @!attribute [rw] page_size
62
80
  # @return [::Integer]
63
- # The maximum number of tags to return. Maximum page size is 10,000.
81
+ # The maximum number of tags to return. Maximum page size is 1,000.
64
82
  # @!attribute [rw] page_token
65
83
  # @return [::String]
66
84
  # The next_page_token value returned from a previous list request, if any.
@@ -27,7 +27,7 @@ module Google
27
27
  # @!attribute [rw] name
28
28
  # @return [::String]
29
29
  # The name of the version, for example:
30
- # "projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/art1".
30
+ # `projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/art1`.
31
31
  # If the package or version ID parts contain slashes, the slashes are
32
32
  # escaped.
33
33
  # @!attribute [rw] description
@@ -50,9 +50,21 @@ module Google
50
50
  # resource. Currently, the resources could be:
51
51
  # {::Google::Cloud::ArtifactRegistry::V1::DockerImage DockerImage}
52
52
  # {::Google::Cloud::ArtifactRegistry::V1::MavenArtifact MavenArtifact}
53
+ # @!attribute [rw] annotations
54
+ # @return [::Google::Protobuf::Map{::String => ::String}]
55
+ # Optional. Client specified annotations.
53
56
  class Version
54
57
  include ::Google::Protobuf::MessageExts
55
58
  extend ::Google::Protobuf::MessageExts::ClassMethods
59
+
60
+ # @!attribute [rw] key
61
+ # @return [::String]
62
+ # @!attribute [rw] value
63
+ # @return [::String]
64
+ class AnnotationsEntry
65
+ include ::Google::Protobuf::MessageExts
66
+ extend ::Google::Protobuf::MessageExts::ClassMethods
67
+ end
56
68
  end
57
69
 
58
70
  # The request to list versions.
@@ -71,6 +83,53 @@ module Google
71
83
  # @!attribute [rw] order_by
72
84
  # @return [::String]
73
85
  # Optional. The field to order the results by.
86
+ # @!attribute [rw] filter
87
+ # @return [::String]
88
+ # Optional. An expression for filtering the results of the request. Filter
89
+ # rules are case insensitive. The fields eligible for filtering are:
90
+ #
91
+ # * `name`
92
+ # * `annotations`
93
+ #
94
+ # Examples of using a filter:
95
+ #
96
+ # To filter the results of your request to versions with the name
97
+ # `my-version` in project `my-project` in the `us-central` region, in
98
+ # repository `my-repo`, append the following filter expression to your
99
+ # request:
100
+ #
101
+ # * `name="projects/my-project/locations/us-central1/repositories/my-repo/packages/my-package/versions/my-version"`
102
+ #
103
+ # You can also use wildcards to match any number of characters before or
104
+ # after the value:
105
+ #
106
+ # * `name="projects/my-project/locations/us-central1/repositories/my-repo/packages/my-package/versions/*version"`
107
+ # * `name="projects/my-project/locations/us-central1/repositories/my-repo/packages/my-package/versions/my*"`
108
+ # * `name="projects/my-project/locations/us-central1/repositories/my-repo/packages/my-package/versions/*version*"`
109
+ #
110
+ # To filter the results of your request to versions with the annotation
111
+ # key-value pair [`external_link`: `external_link_value`], append the
112
+ # following filter expression to your request:
113
+ #
114
+ # * `"annotations.external_link:external_link_value"`
115
+ #
116
+ # To filter just for a specific annotation key `external_link`, append the
117
+ # following filter expression to your request:
118
+ #
119
+ # * `"annotations.external_link"`
120
+ #
121
+ # If the annotation key or value contains special characters, you can escape
122
+ # them by surrounding the value with backticks. For example, to filter the
123
+ # results of your request to versions with the annotation key-value pair
124
+ # [`external.link`:`https://example.com/my-version`], append the following
125
+ # filter expression to your request:
126
+ #
127
+ # * `` "annotations.`external.link`:`https://example.com/my-version`" ``
128
+ #
129
+ # You can also filter with annotations with a wildcard to
130
+ # match any number of characters before or after the value:
131
+ #
132
+ # * `` "annotations.*_link:`*example.com*`" ``
74
133
  class ListVersionsRequest
75
134
  include ::Google::Protobuf::MessageExts
76
135
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -139,6 +198,20 @@ module Google
139
198
  extend ::Google::Protobuf::MessageExts::ClassMethods
140
199
  end
141
200
 
201
+ # The request to update a version.
202
+ # @!attribute [rw] version
203
+ # @return [::Google::Cloud::ArtifactRegistry::V1::Version]
204
+ # Required. The Version that replaces the resource on the server.
205
+ # @!attribute [rw] update_mask
206
+ # @return [::Google::Protobuf::FieldMask]
207
+ # The update mask applies to the resource. For the `FieldMask` definition,
208
+ # see
209
+ # https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask
210
+ class UpdateVersionRequest
211
+ include ::Google::Protobuf::MessageExts
212
+ extend ::Google::Protobuf::MessageExts::ClassMethods
213
+ end
214
+
142
215
  # The view, which determines what version information is returned in a
143
216
  # response.
144
217
  module VersionView