Package google.devtools.artifactregistry.v1

Index

ArtifactRegistry

The Artifact Registry API service.

Artifact Registry is an artifact management system for storing artifacts from different package management systems.

The resources managed by this API are:

  • Repositories, which group packages and their data.
  • Packages, which group versions and their tags.
  • Versions, which are specific forms of a package.
  • Tags, which represent alternative names for versions.
  • Files, which contain content and are optionally associated with a Package or Version.
BatchDeleteVersions

rpc BatchDeleteVersions(BatchDeleteVersionsRequest) returns (Operation)

Deletes multiple versions across a repository. The returned operation will complete once the versions have been deleted.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

CreateAttachment

rpc CreateAttachment(CreateAttachmentRequest) returns (Operation)

Creates an attachment. The returned Operation will finish once the attachment has been created. Its response will be the created attachment.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

CreateRepository

rpc CreateRepository(CreateRepositoryRequest) returns (Operation)

Creates a repository. The returned Operation will finish once the repository has been created. Its response will be the created Repository.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

CreateRule

rpc CreateRule(CreateRuleRequest) returns (Rule)

Creates a rule.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

CreateTag

rpc CreateTag(CreateTagRequest) returns (Tag)

Creates a tag.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

DeleteAttachment

rpc DeleteAttachment(DeleteAttachmentRequest) returns (Operation)

Deletes an attachment. The returned Operation will finish once the attachments has been deleted. It will not have any Operation metadata and will return a google.protobuf.Empty response.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

DeleteFile

rpc DeleteFile(DeleteFileRequest) returns (Operation)

Deletes a file and all of its content. It is only allowed on generic repositories. The returned operation will complete once the file has been deleted.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

DeletePackage

rpc DeletePackage(DeletePackageRequest) returns (Operation)

Deletes a package and all of its versions and tags. The returned operation will complete once the package has been deleted.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

DeleteRepository

rpc DeleteRepository(DeleteRepositoryRequest) returns (Operation)

Deletes a repository and all of its contents. The returned Operation will finish once the repository has been deleted. It will not have any Operation metadata and will return a google.protobuf.Empty response.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

DeleteRule

rpc DeleteRule(DeleteRuleRequest) returns (Empty)

Deletes a rule.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

DeleteTag

rpc DeleteTag(DeleteTagRequest) returns (Empty)

Deletes a tag.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

DeleteVersion

rpc DeleteVersion(DeleteVersionRequest) returns (Operation)

Deletes a version and all of its content. The returned operation will complete once the version has been deleted.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

GetAttachment

rpc GetAttachment(GetAttachmentRequest) returns (Attachment)

Gets an attachment.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/cloud-platform.read-only

For more information, see the Authentication Overview.

GetDockerImage

rpc GetDockerImage(GetDockerImageRequest) returns (DockerImage)

Gets a docker image.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/cloud-platform.read-only

For more information, see the Authentication Overview.

GetFile

rpc GetFile(GetFileRequest) returns (File)

Gets a file.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/cloud-platform.read-only

For more information, see the Authentication Overview.

GetIamPolicy

rpc GetIamPolicy(GetIamPolicyRequest) returns (Policy)

Gets the IAM policy for a given resource.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/cloud-platform.read-only

For more information, see the Authentication Overview.

GetMavenArtifact

rpc GetMavenArtifact(GetMavenArtifactRequest) returns (MavenArtifact)

Gets a maven artifact.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/cloud-platform.read-only

For more information, see the Authentication Overview.

GetNpmPackage

rpc GetNpmPackage(GetNpmPackageRequest) returns (NpmPackage)

Gets a npm package.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/cloud-platform.read-only

For more information, see the Authentication Overview.

GetPackage

rpc GetPackage(GetPackageRequest) returns (Package)

Gets a package.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/cloud-platform.read-only

For more information, see the Authentication Overview.

GetProjectSettings

rpc GetProjectSettings(GetProjectSettingsRequest) returns (ProjectSettings)

Retrieves the Settings for the Project.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/cloud-platform.read-only

For more information, see the Authentication Overview.

GetPythonPackage

rpc GetPythonPackage(GetPythonPackageRequest) returns (PythonPackage)

Gets a python package.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/cloud-platform.read-only

For more information, see the Authentication Overview.

GetRepository

rpc GetRepository(GetRepositoryRequest) returns (Repository)

Gets a repository.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/cloud-platform.read-only

For more information, see the Authentication Overview.

GetRule

rpc GetRule(GetRuleRequest) returns (Rule)

Gets a rule.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/cloud-platform.read-only

For more information, see the Authentication Overview.

GetTag

rpc GetTag(GetTagRequest) returns (Tag)

Gets a tag.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/cloud-platform.read-only

For more information, see the Authentication Overview.

GetVPCSCConfig

rpc GetVPCSCConfig(GetVPCSCConfigRequest) returns (VPCSCConfig)

Retrieves the VPCSC Config for the Project.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/cloud-platform.read-only

For more information, see the Authentication Overview.

GetVersion

rpc GetVersion(GetVersionRequest) returns (Version)

Gets a version

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/cloud-platform.read-only

For more information, see the Authentication Overview.

ImportAptArtifacts

rpc ImportAptArtifacts(ImportAptArtifactsRequest) returns (Operation)

Imports Apt artifacts. The returned Operation will complete once the resources are imported. Package, Version, and File resources are created based on the imported artifacts. Imported artifacts that conflict with existing resources are ignored.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

ImportGoogetArtifacts

rpc ImportGoogetArtifacts(ImportGoogetArtifactsRequest) returns (Operation)

Imports GooGet artifacts. The returned Operation will complete once the resources are imported. Package, Version, and File resources are created based on the imported artifacts. Imported artifacts that conflict with existing resources are ignored.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

ImportYumArtifacts

rpc ImportYumArtifacts(ImportYumArtifactsRequest) returns (Operation)

Imports Yum (RPM) artifacts. The returned Operation will complete once the resources are imported. Package, Version, and File resources are created based on the imported artifacts. Imported artifacts that conflict with existing resources are ignored.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

ListAttachments

rpc ListAttachments(ListAttachmentsRequest) returns (ListAttachmentsResponse)

Lists attachments.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/cloud-platform.read-only

For more information, see the Authentication Overview.

ListDockerImages

rpc ListDockerImages(ListDockerImagesRequest) returns (ListDockerImagesResponse)

Lists docker images.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/cloud-platform.read-only

For more information, see the Authentication Overview.

ListFiles

rpc ListFiles(ListFilesRequest) returns (ListFilesResponse)

Lists files.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/cloud-platform.read-only

For more information, see the Authentication Overview.

ListMavenArtifacts

rpc ListMavenArtifacts(ListMavenArtifactsRequest) returns (ListMavenArtifactsResponse)

Lists maven artifacts.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/cloud-platform.read-only

For more information, see the Authentication Overview.

ListNpmPackages

rpc ListNpmPackages(ListNpmPackagesRequest) returns (ListNpmPackagesResponse)

Lists npm packages.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/cloud-platform.read-only

For more information, see the Authentication Overview.

ListPackages

rpc ListPackages(ListPackagesRequest) returns (ListPackagesResponse)

Lists packages.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/cloud-platform.read-only

For more information, see the Authentication Overview.

ListPythonPackages

rpc ListPythonPackages(ListPythonPackagesRequest) returns (ListPythonPackagesResponse)

Lists python packages.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/cloud-platform.read-only

For more information, see the Authentication Overview.

ListRepositories

rpc ListRepositories(ListRepositoriesRequest) returns (ListRepositoriesResponse)

Lists repositories.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/cloud-platform.read-only

For more information, see the Authentication Overview.

ListRules

rpc ListRules(ListRulesRequest) returns (ListRulesResponse)

Lists rules.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/cloud-platform.read-only

For more information, see the Authentication Overview.

ListTags

rpc ListTags(ListTagsRequest) returns (ListTagsResponse)

Lists tags.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/cloud-platform.read-only

For more information, see the Authentication Overview.

ListVersions

rpc ListVersions(ListVersionsRequest) returns (ListVersionsResponse)

Lists versions.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/cloud-platform.read-only

For more information, see the Authentication Overview.

SetIamPolicy

rpc SetIamPolicy(SetIamPolicyRequest) returns (Policy)

Updates the IAM policy for a given resource.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

TestIamPermissions

rpc TestIamPermissions(TestIamPermissionsRequest) returns (TestIamPermissionsResponse)

Tests if the caller has a list of permissions on a resource.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/cloud-platform.read-only

For more information, see the Authentication Overview.

UpdateFile

rpc UpdateFile(UpdateFileRequest) returns (File)

Updates a file.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

UpdatePackage

rpc UpdatePackage(UpdatePackageRequest) returns (Package)

Updates a package.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

UpdateProjectSettings

rpc UpdateProjectSettings(UpdateProjectSettingsRequest) returns (ProjectSettings)

Updates the Settings for the Project.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

UpdateRepository

rpc UpdateRepository(UpdateRepositoryRequest) returns (Repository)

Updates a repository.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

UpdateRule

rpc UpdateRule(UpdateRuleRequest) returns (Rule)

Updates a rule.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

UpdateTag

rpc UpdateTag(UpdateTagRequest) returns (Tag)

Updates a tag.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

UpdateVPCSCConfig

rpc UpdateVPCSCConfig(UpdateVPCSCConfigRequest) returns (VPCSCConfig)

Updates the VPCSC Config for the Project.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

UpdateVersion

rpc UpdateVersion(UpdateVersionRequest) returns (Version)

Updates a version.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

AptArtifact

A detailed representation of an Apt artifact. Information in the record is derived from the archive's control file. See https://www.debian.org/doc/debian-policy/ch-controlfields.html

Fields
name

string

Output only. The Artifact Registry resource name of the artifact.

package_name

string

Output only. The Apt package name of the artifact.

package_type

PackageType

Output only. An artifact is a binary or source package.

architecture

string

Output only. Operating system architecture of the artifact.

component

string

Output only. Repository component of the artifact.

control_file

bytes

Output only. Contents of the artifact's control metadata file.

PackageType

Package type is either binary or source.

Enums
PACKAGE_TYPE_UNSPECIFIED Package type is not specified.
BINARY Binary package.
SOURCE Source package.

Attachment

An Attachment refers to additional metadata that can be attached to artifacts in Artifact Registry. An attachment consists of one or more files.

Fields
name

string

The name of the attachment. E.g. projects/p1/locations/us/repositories/repo/attachments/sbom.

target

string

Required. The target the attachment is for, can be a Version, Package or Repository. E.g. projects/p1/locations/us-central1/repositories/repo1/packages/p1/versions/v1.

type

string

Type of attachment. E.g. application/vnd.spdx+json

attachment_namespace

string

The namespace this attachment belongs to. E.g. If an attachment is created by artifact analysis, namespace is set to artifactanalysis.googleapis.com.

annotations

map<string, string>

Optional. User annotations. These attributes can only be set and used by the user, and not by Artifact Registry. See https://google.aip.dev/128#annotations for more details such as format and size limitations.

create_time

Timestamp

Output only. The time when the attachment was created.

update_time

Timestamp

Output only. The time when the attachment was last updated.

files[]

string

Required. The files that belong to this attachment. If the file ID part contains slashes, they are escaped. E.g. projects/p1/locations/us-central1/repositories/repo1/files/sha:<sha-of-file>.

oci_version_name

string

Output only. The name of the OCI version that this attachment created. Only populated for Docker attachments. E.g. projects/p1/locations/us-central1/repositories/repo1/packages/p1/versions/v1.

BatchDeleteVersionsMetadata

The metadata of an LRO from deleting multiple versions.

Fields
failed_versions[]

string

The versions the operation failed to delete.

BatchDeleteVersionsRequest

The request to delete multiple versions across a repository.

Fields
parent

string

The name of the repository holding all requested versions.

names[]

string

Required. The names of the versions to delete. A maximum of 10000 versions can be deleted in a batch.

Authorization requires the following IAM permission on the specified resource names:

  • artifactregistry.versions.delete
validate_only

bool

If true, the request is performed without deleting data, following AIP-163.

CleanupPolicy

Artifact policy configuration for repository cleanup policies.

Fields
id

string

The user-provided ID of the cleanup policy.

action

Action

Policy action.

Union field condition_type.

condition_type can be only one of the following:

condition

CleanupPolicyCondition

Policy condition for matching versions.

most_recent_versions

CleanupPolicyMostRecentVersions

Policy condition for retaining a minimum number of versions. May only be specified with a Keep action.

Action

Action type for a cleanup policy.

Enums
ACTION_UNSPECIFIED Action not specified.
DELETE Delete action.
KEEP Keep action.

CleanupPolicyCondition

CleanupPolicyCondition is a set of conditions attached to a CleanupPolicy. If multiple entries are set, all must be satisfied for the condition to be satisfied.

Fields
tag_prefixes[]

string

Match versions by tag prefix. Applied on any prefix match.

version_name_prefixes[]

string

Match versions by version name prefix. Applied on any prefix match.

package_name_prefixes[]

string

Match versions by package prefix. Applied on any prefix match.

tag_state

TagState

Match versions by tag status.

older_than

Duration

Match versions older than a duration.

newer_than

Duration

Match versions newer than a duration.

TagState

Statuses applying to versions.

Enums
TAG_STATE_UNSPECIFIED Tag status not specified.
TAGGED Applies to tagged versions only.
UNTAGGED Applies to untagged versions only.
ANY Applies to all versions.

CleanupPolicyMostRecentVersions

CleanupPolicyMostRecentVersions is an alternate condition of a CleanupPolicy for retaining a minimum number of versions.

Fields
package_name_prefixes[]

string

List of package name prefixes that will apply this rule.

keep_count

int32

Minimum number of versions to keep.

CreateAttachmentRequest

The request to create a new attachment.

Fields
parent

string

Required. The name of the parent resource where the attachment will be created.

Authorization requires the following IAM permission on the specified resource parent:

  • artifactregistry.attachments.create
attachment_id

string

Required. The attachment id to use for this attachment.

attachment

Attachment

Required. The attachment to be created.

CreateRepositoryRequest

The request to create a new repository.

Fields
parent

string

Required. The name of the parent resource where the repository will be created.

Authorization requires the following IAM permission on the specified resource parent:

  • artifactregistry.repositories.create
repository_id

string

Required. The repository id to use for this repository.

repository

Repository

Required. The repository to be created.

CreateRuleRequest

The request to create a new rule.

Fields
parent

string

Required. The name of the parent resource where the rule will be created.

Authorization requires the following IAM permission on the specified resource parent:

  • artifactregistry.rules.create
rule_id

string

The rule id to use for this repository.

rule

Rule

The rule to be created.

CreateTagRequest

The request to create a new tag.

Fields
parent

string

The name of the parent resource where the tag will be created.

Authorization requires the following IAM permission on the specified resource parent:

  • artifactregistry.tags.create
tag_id

string

The tag id to use for this repository.

tag

Tag

The tag to be created.

DeleteAttachmentRequest

The request to delete an attachment.

Fields
name

string

Required. The name of the attachment to delete.

Authorization requires the following IAM permission on the specified resource name:

  • artifactregistry.attachments.delete

DeleteFileRequest

The request to delete a file.

Fields
name

string

Required. The name of the file to delete.

Authorization requires the following IAM permission on the specified resource name:

  • artifactregistry.files.delete

DeletePackageRequest

The request to delete a package.

Fields
name

string

Required. The name of the package to delete.

Authorization requires the following IAM permission on the specified resource name:

  • artifactregistry.packages.delete

DeleteRepositoryRequest

The request to delete a repository.

Fields
name

string

Required. The name of the repository to delete.

Authorization requires the following IAM permission on the specified resource name:

  • artifactregistry.repositories.delete

DeleteRuleRequest

The request to delete a rule.

Fields
name

string

Required. The name of the rule to delete.

Authorization requires the following IAM permission on the specified resource name:

  • artifactregistry.rules.delete

DeleteTagRequest

The request to delete a tag.

Fields
name

string

The name of the tag to delete.

Authorization requires the following IAM permission on the specified resource name:

  • artifactregistry.tags.delete

DeleteVersionRequest

The request to delete a version.

Fields
name

string

The name of the version to delete.

Authorization requires the following IAM permission on the specified resource name:

  • artifactregistry.versions.delete
force

bool

By default, a version that is tagged may not be deleted. If force=true, the version and any tags pointing to the version are deleted.

DockerImage

DockerImage represents a docker artifact. The following fields are returned as untyped metadata in the Version resource, using camelcase keys (i.e. metadata.imageSizeBytes): * imageSizeBytes * mediaType * buildTime

Fields
name

string

Required. registry_location, project_id, repository_name and image id forms a unique image name:projects/<project_id>/locations/<location>/repository/<repository_name>/dockerImages/<docker_image>. For example, "projects/test-project/locations/us-west4/repositories/test-repo/dockerImages/ nginx@sha256:e9954c1fc875017be1c3e36eca16be2d9e9bccc4bf072163515467d6a823c7cf", where "us-west4" is the registry_location, "test-project" is the project_id, "test-repo" is the repository_name and "nginx@sha256:e9954c1fc875017be1c3e36eca16be2d9e9bccc4bf072163515467d6a823c7cf" is the image's digest.

uri

string

Required. URL to access the image. Example: us-west4-docker.pkg.dev/test-project/test-repo/nginx@sha256:e9954c1fc875017be1c3e36eca16be2d9e9bccc4bf072163515467d6a823c7cf

tags[]

string

Tags attached to this image.

image_size_bytes

int64

Calculated size of the image. This field is returned as the 'metadata.imageSizeBytes' field in the Version resource.

upload_time

Timestamp

Time the image was uploaded.

media_type

string

Media type of this image, e.g. "application/vnd.docker.distribution.manifest.v2+json". This field is returned as the 'metadata.mediaType' field in the Version resource.

build_time

Timestamp

The time this image was built. This field is returned as the 'metadata.buildTime' field in the Version resource. The build time is returned to the client as an RFC 3339 string, which can be easily used with the JavaScript Date constructor.

update_time

Timestamp

Output only. The time when the docker image was last updated.

File

Files store content that is potentially associated with Packages or Versions.

Fields
name

string

The name of the file, for example: projects/p1/locations/us-central1/repositories/repo1/files/a%2Fb%2Fc.txt. If the file ID part contains slashes, they are escaped.

size_bytes

int64

The size of the File in bytes.

hashes[]

Hash

The hashes of the file content.

create_time

Timestamp

Output only. The time when the File was created.

update_time

Timestamp

Output only. The time when the File was last updated.

owner

string

The name of the Package or Version that owns this file, if any.

fetch_time

Timestamp

Output only. The time when the last attempt to refresh the file's data was made. Only set when the repository is remote.

annotations

map<string, string>

Optional. Client specified annotations.

GenericArtifact

GenericArtifact represents a generic artifact

Fields
name

string

Resource name of the generic artifact. project, location, repository, package_id and version_id create a unique generic artifact. i.e. "projects/test-project/locations/us-west4/repositories/test-repo/ genericArtifacts/package_id:version_id"

version

string

The version of the generic artifact.

create_time

Timestamp

Output only. The time when the Generic module is created.

update_time

Timestamp

Output only. The time when the Generic module is updated.

GetAttachmentRequest

The request to retrieve an attachment.

Fields
name

string

Required. The name of the attachment to retrieve.

Authorization requires the following IAM permission on the specified resource name:

  • artifactregistry.attachments.get

GetDockerImageRequest

The request to get docker images.

Fields
name

string

Required. The name of the docker images.

Authorization requires the following IAM permission on the specified resource name:

  • artifactregistry.dockerImages.get

GetFileRequest

The request to retrieve a file.

Fields
name

string

Required. The name of the file to retrieve.

Authorization requires the following IAM permission on the specified resource name:

  • artifactregistry.files.get

GetMavenArtifactRequest

The request to get maven artifacts.

Fields
name

string

Required. The name of the maven artifact.

Authorization requires the following IAM permission on the specified resource name:

  • artifactregistry.mavenArtifacts.get

GetNpmPackageRequest

The request to get npm packages.

Fields
name

string

Required. The name of the npm package.

Authorization requires the following IAM permission on the specified resource name:

  • artifactregistry.npmPackages.get

GetPackageRequest

The request to retrieve a package.

Fields
name

string

Required. The name of the package to retrieve.

Authorization requires the following IAM permission on the specified resource name:

  • artifactregistry.packages.get

GetProjectSettingsRequest

Gets the redirection status for a project.

Fields
name

string

Required. The name of the projectSettings resource.

Authorization requires the following IAM permission on the specified resource name:

  • artifactregistry.projectsettings.get

GetPythonPackageRequest

The request to get python packages.

Fields
name

string

Required. The name of the python package.

Authorization requires the following IAM permission on the specified resource name:

  • artifactregistry.pythonPackages.get

GetRepositoryRequest

The request to retrieve a repository.

Fields
name

string

Required. The name of the repository to retrieve.

Authorization requires the following IAM permission on the specified resource name:

  • artifactregistry.repositories.get

GetRuleRequest

The request to retrieve a rule.

Fields
name

string

Required. The name of the rule to retrieve.

Authorization requires the following IAM permission on the specified resource name:

  • artifactregistry.rules.get

GetTagRequest

The request to retrieve a tag.

Fields
name

string

The name of the tag to retrieve.

Authorization requires the following IAM permission on the specified resource name:

  • artifactregistry.tags.get

GetVPCSCConfigRequest

Gets the VPC SC config for a project.

Fields
name

string

Required. The name of the VPCSCConfig resource.

Authorization requires the following IAM permission on the specified resource name:

  • artifactregistry.vpcscconfigs.get

GetVersionRequest

The request to retrieve a version.

Fields
name

string

The name of the version to retrieve.

Authorization requires the following IAM permission on the specified resource name:

  • artifactregistry.versions.get
view

VersionView

The view that should be returned in the response.

GoModule

GoModule represents a Go module.

Fields
name

string

The resource name of a Go module.

version

string

The version of the Go module. Must be a valid canonical version as defined in https://go.dev/ref/mod#glos-canonical-version.

create_time

Timestamp

Output only. The time when the Go module is created.

update_time

Timestamp

Output only. The time when the Go module is updated.

GoogetArtifact

A detailed representation of a GooGet artifact.

Fields
name

string

Output only. The Artifact Registry resource name of the artifact.

package_name

string

Output only. The GooGet package name of the artifact.

architecture

string

Output only. Operating system architecture of the artifact.

Hash

A hash of file content.

Fields
type

HashType

The algorithm used to compute the hash value.

value

bytes

The hash value.

HashType

The algorithm used to compute the hash.

Enums
HASH_TYPE_UNSPECIFIED Unspecified.
SHA256 SHA256 hash.
MD5 MD5 hash.

ImportAptArtifactsErrorInfo

Error information explaining why a package was not imported.

Fields
error

Status

The detailed error status.

Union field source. The source that was not imported. source can be only one of the following:
gcs_source

ImportAptArtifactsGcsSource

Google Cloud Storage location requested.

ImportAptArtifactsGcsSource

Google Cloud Storage location where the artifacts currently reside.

Fields
uris[]

string

Cloud Storage paths URI (e.g., gs://my_bucket//my_object).

use_wildcards

bool

Supports URI wildcards for matching multiple objects from a single URI.

ImportAptArtifactsMetadata

This type has no fields.

The operation metadata for importing artifacts.

ImportAptArtifactsRequest

The request to import new apt artifacts.

Fields
parent

string

The name of the parent resource where the artifacts will be imported.

Authorization requires the following IAM permission on the specified resource parent:

  • artifactregistry.aptartifacts.create
Union field source. The source location of the package binaries. source can be only one of the following:
gcs_source

ImportAptArtifactsGcsSource

Google Cloud Storage location where input content is located.

ImportAptArtifactsResponse

The response message from importing APT artifacts.

Fields
apt_artifacts[]

AptArtifact

The Apt artifacts imported.

errors[]

ImportAptArtifactsErrorInfo

Detailed error info for packages that were not imported.

ImportGoogetArtifactsErrorInfo

Error information explaining why a package was not imported.

Fields
error

Status

The detailed error status.

Union field source. The source that was not imported. source can be only one of the following:
gcs_source

ImportGoogetArtifactsGcsSource

Google Cloud Storage location requested.

ImportGoogetArtifactsGcsSource

Google Cloud Storage location where the artifacts currently reside.

Fields
uris[]

string

Cloud Storage paths URI (e.g., gs://my_bucket/my_object).

use_wildcards

bool

Supports URI wildcards for matching multiple objects from a single URI.

ImportGoogetArtifactsMetadata

This type has no fields.

The operation metadata for importing artifacts.

ImportGoogetArtifactsRequest

The request to import new googet artifacts.

Fields
parent

string

The name of the parent resource where the artifacts will be imported.

Authorization requires the following IAM permission on the specified resource parent:

  • artifactregistry.googetartifacts.create
Union field source. The source location of the package binaries. source can be only one of the following:
gcs_source

ImportGoogetArtifactsGcsSource

Google Cloud Storage location where input content is located.

ImportGoogetArtifactsResponse

The response message from importing artifacts.

Fields
googet_artifacts[]

GoogetArtifact

The GooGet artifacts updated.

errors[]

ImportGoogetArtifactsErrorInfo

Detailed error info for packages that were not imported.

ImportYumArtifactsErrorInfo

Error information explaining why a package was not imported.

Fields
error

Status

The detailed error status.

Union field source. The source that was not imported. source can be only one of the following:
gcs_source

ImportYumArtifactsGcsSource

Google Cloud Storage location requested.

ImportYumArtifactsGcsSource

Google Cloud Storage location where the artifacts currently reside.

Fields
uris[]

string

Cloud Storage paths URI (e.g., gs://my_bucket//my_object).

use_wildcards

bool

Supports URI wildcards for matching multiple objects from a single URI.

ImportYumArtifactsMetadata

This type has no fields.

The operation metadata for importing artifacts.

ImportYumArtifactsRequest

The request to import new yum artifacts.

Fields
parent

string

The name of the parent resource where the artifacts will be imported.

Authorization requires the following IAM permission on the specified resource parent:

  • artifactregistry.yumartifacts.create
Union field source. The source location of the package binaries. source can be only one of the following:
gcs_source

ImportYumArtifactsGcsSource

Google Cloud Storage location where input content is located.

ImportYumArtifactsResponse

The response message from importing YUM artifacts.

Fields
yum_artifacts[]

YumArtifact

The yum artifacts imported.

errors[]

ImportYumArtifactsErrorInfo

Detailed error info for packages that were not imported.

KfpArtifact

A detailed representation of a KFP artifact.

Fields
name

string

Output only. Resource name of the KFP artifact. Since users don't directly interact with this resource, the name will be derived from the associated version. For example, when version = ".../versions/sha256:abcdef...", the name will be ".../kfpArtifacts/sha256:abcdef...".

version

string

The version associated with the KFP artifact. Must follow the Semantic Versioning standard.

ListAttachmentsRequest

The request to list attachments.

Fields
parent

string

Required. The name of the parent resource whose attachments will be listed.

Authorization requires the following IAM permission on the specified resource parent:

  • artifactregistry.attachments.list
filter

string

Optional. An expression for filtering the results of the request. Filter rules are case insensitive. The fields eligible for filtering are:

  • target
  • type
  • attachment_namespace
page_size

int32

The maximum number of attachments to return. Maximum page size is 1,000.

page_token

string

The next_page_token value returned from a previous list request, if any.

ListAttachmentsResponse

The response from listing attachments.

Fields
attachments[]

Attachment

The attachments returned.

next_page_token

string

The token to retrieve the next page of attachments, or empty if there are no more attachments to return.

ListDockerImagesRequest

The request to list docker images.

Fields
parent

string

Required. The name of the parent resource whose docker images will be listed.

Authorization requires the following IAM permission on the specified resource parent:

  • artifactregistry.dockerImages.list
page_size

int32

The maximum number of artifacts to return. Maximum page size is 1,000.

page_token

string

The next_page_token value returned from a previous list request, if any.

order_by

string

The field to order the results by.

ListDockerImagesResponse

The response from listing docker images.

Fields
docker_images[]

DockerImage

The docker images returned.

next_page_token

string

The token to retrieve the next page of artifacts, or empty if there are no more artifacts to return.

ListFilesRequest

The request to list files.

Fields
parent

string

Required. The name of the repository whose files will be listed. For example: "projects/p1/locations/us-central1/repositories/repo1

Authorization requires the following IAM permission on the specified resource parent:

  • artifactregistry.files.list
filter

string

An expression for filtering the results of the request. Filter rules are case insensitive. The fields eligible for filtering are:

  • name
  • owner
  • annotations

Examples of using a filter:

To filter the results of your request to files with the name my_file.txt in project my-project in the us-central region, in repository my-repo, append the following filter expression to your request:

  • name="projects/my-project/locations/us-central1/repositories/my-repo/files/my-file.txt"

You can also use wildcards to match any number of characters before or after the value:

  • name="projects/my-project/locations/us-central1/repositories/my-repo/files/my-*"
  • name="projects/my-project/locations/us-central1/repositories/my-repo/files/*file.txt"
  • name="projects/my-project/locations/us-central1/repositories/my-repo/files/*file*"

To filter the results of your request to files owned by the version 1.0 in package pkg1, append the following filter expression to your request:

  • owner="projects/my-project/locations/us-central1/repositories/my-repo/packages/my-package/versions/1.0"

To filter the results of your request to files with the annotation key-value pair [external_link: external_link_value], append the following filter expression to your request:

  • "annotations.external_link:external_link_value"

To filter just for a specific annotation key external_link, append the following filter expression to your request:

  • "annotations.external_link"

If the annotation key or value contains special characters, you can escape them by surrounding the value with backticks. For example, to filter the results of your request to files with the annotation key-value pair [external.link:https://example.com/my-file], append the following filter expression to your request:

  • "annotations.`external.link`:`https://example.com/my-file`"

You can also filter with annotations with a wildcard to match any number of characters before or after the value:

  • "annotations.*_link:`*example.com*`"
page_size

int32

The maximum number of files to return. Maximum page size is 1,000.

page_token

string

The next_page_token value returned from a previous list request, if any.

order_by

string

The field to order the results by.

ListFilesResponse

The response from listing files.

Fields
files[]

File

The files returned.

next_page_token

string

The token to retrieve the next page of files, or empty if there are no more files to return.

ListMavenArtifactsRequest

The request to list maven artifacts.

Fields
parent

string

Required. The name of the parent resource whose maven artifacts will be listed.

Authorization requires the following IAM permission on the specified resource parent:

  • artifactregistry.mavenArtifacts.list
page_size

int32

The maximum number of artifacts to return. Maximum page size is 1,000.

page_token

string

The next_page_token value returned from a previous list request, if any.

ListMavenArtifactsResponse

The response from listing maven artifacts.

Fields
maven_artifacts[]

MavenArtifact

The maven artifacts returned.

next_page_token

string

The token to retrieve the next page of artifacts, or empty if there are no more artifacts to return.

ListNpmPackagesRequest

The request to list npm packages.

Fields
parent

string

Required. The name of the parent resource whose npm packages will be listed.

Authorization requires the following IAM permission on the specified resource parent:

  • artifactregistry.npmPackages.list
page_size

int32

The maximum number of artifacts to return. Maximum page size is 1,000.

page_token

string

The next_page_token value returned from a previous list request, if any.

ListNpmPackagesResponse

The response from listing npm packages.

Fields
npm_packages[]

NpmPackage

The npm packages returned.

next_page_token

string

The token to retrieve the next page of artifacts, or empty if there are no more artifacts to return.

ListPackagesRequest

The request to list packages.

Fields
parent

string

Required. The name of the parent resource whose packages will be listed.

Authorization requires the following IAM permission on the specified resource parent:

  • artifactregistry.packages.list
page_size

int32

The maximum number of packages to return. Maximum page size is 1,000.

page_token

string

The next_page_token value returned from a previous list request, if any.

filter

string

Optional. An expression for filtering the results of the request. Filter rules are case insensitive. The fields eligible for filtering are:

  • name
  • annotations

Examples of using a filter:

To filter the results of your request to packages with the name my-package in project my-project in the us-central region, in repository my-repo, append the following filter expression to your request:

  • name="projects/my-project/locations/us-central1/repositories/my-repo/packages/my-package"

You can also use wildcards to match any number of characters before or after the value:

  • name="projects/my-project/locations/us-central1/repositories/my-repo/packages/my-*"
  • name="projects/my-project/locations/us-central1/repositories/my-repo/packages/*package"
  • name="projects/my-project/locations/us-central1/repositories/my-repo/packages/*pack*"

To filter the results of your request to packages with the annotation key-value pair [external_link: external_link_value], append the following filter expression to your request":

  • "annotations.external_link:external_link_value"

To filter the results just for a specific annotation key external_link, append the following filter expression to your request:

  • "annotations.external_link"

If the annotation key or value contains special characters, you can escape them by surrounding the value with backticks. For example, to filter the results of your request to packages with the annotation key-value pair [external.link:https://example.com/my-package], append the following filter expression to your request:

  • "annotations.`external.link`:`https://example.com/my-package`"

You can also filter with annotations with a wildcard to match any number of characters before or after the value:

  • "annotations.*_link:`*example.com*`"
order_by

string

Optional. The field to order the results by.

ListPackagesResponse

The response from listing packages.

Fields
packages[]

Package

The packages returned.

next_page_token

string

The token to retrieve the next page of packages, or empty if there are no more packages to return.

ListPythonPackagesRequest

The request to list python packages.

Fields
parent

string

Required. The name of the parent resource whose python packages will be listed.

Authorization requires the following IAM permission on the specified resource parent:

  • artifactregistry.pythonPackages.list
page_size

int32

The maximum number of artifacts to return. Maximum page size is 1,000.

page_token

string

The next_page_token value returned from a previous list request, if any.

ListPythonPackagesResponse

The response from listing python packages.

Fields
python_packages[]

PythonPackage

The python packages returned.

next_page_token

string

The token to retrieve the next page of artifacts, or empty if there are no more artifacts to return.

ListRepositoriesRequest

The request to list repositories.

Fields
parent

string

Required. The name of the parent resource whose repositories will be listed.

Authorization requires the following IAM permission on the specified resource parent:

  • artifactregistry.repositories.list
page_size

int32

The maximum number of repositories to return. Maximum page size is 1,000.

page_token

string

The next_page_token value returned from a previous list request, if any.

filter

string

Optional. An expression for filtering the results of the request. Filter rules are case insensitive. The fields eligible for filtering are:

  • name

Examples of using a filter:

To filter the results of your request to repositories with the name my-repo in project my-project in the us-central region, append the following filter expression to your request:

  • name="projects/my-project/locations/us-central1/repositories/my-repo"

You can also use wildcards to match any number of characters before or after the value:

  • name="projects/my-project/locations/us-central1/repositories/my-*"
  • name="projects/my-project/locations/us-central1/repositories/*repo"
  • name="projects/my-project/locations/us-central1/repositories/*repo*"
order_by

string

Optional. The field to order the results by.

ListRepositoriesResponse

The response from listing repositories.

Fields
repositories[]

Repository

The repositories returned.

next_page_token

string

The token to retrieve the next page of repositories, or empty if there are no more repositories to return.

ListRulesRequest

The request to list rules.

Fields
parent

string

Required. The name of the parent repository whose rules will be listed. For example: projects/p1/locations/us-central1/repositories/repo1.

Authorization requires the following IAM permission on the specified resource parent:

  • artifactregistry.rules.list
page_size

int32

The maximum number of rules to return. Maximum page size is 1,000.

page_token

string

The next_page_token value returned from a previous list request, if any.

ListRulesResponse

The response from listing rules.

Fields
rules[]

Rule

The rules returned.

next_page_token

string

The token to retrieve the next page of rules, or empty if there are no more rules to return.

ListTagsRequest

The request to list tags.

Fields
parent

string

The name of the parent package whose tags will be listed. For example: projects/p1/locations/us-central1/repositories/repo1/packages/pkg1.

Authorization requires the following IAM permission on the specified resource parent:

  • artifactregistry.tags.list
filter

string

An expression for filtering the results of the request. Filter rules are case insensitive. The fields eligible for filtering are:

  • name
  • version

Examples of using a filter:

To filter the results of your request to tags with the name my-tag in package my-package in repository my-repo in project "y-project in the us-central region, append the following filter expression to your request:

  • name="projects/my-project/locations/us-central1/repositories/my-repo/packages/my-package/tags/my-tag"

You can also use wildcards to match any number of characters before or after the value:

  • name="projects/my-project/locations/us-central1/repositories/my-repo/packages/my-package/tags/my*"
  • name="projects/my-project/locations/us-central1/repositories/my-repo/packages/my-package/tags/*tag"
  • name="projects/my-project/locations/us-central1/repositories/my-repo/packages/my-package/tags/*tag*"

To filter the results of your request to tags applied to the version 1.0 in package my-package, append the following filter expression to your request:

  • version="projects/my-project/locations/us-central1/repositories/my-repo/packages/my-package/versions/1.0"
page_size

int32

The maximum number of tags to return. Maximum page size is 1,000.

page_token

string

The next_page_token value returned from a previous list request, if any.

ListTagsResponse

The response from listing tags.

Fields
tags[]

Tag

The tags returned.

next_page_token

string

The token to retrieve the next page of tags, or empty if there are no more tags to return.

ListVersionsRequest

The request to list versions.

Fields
parent

string

The name of the parent resource whose versions will be listed.

Authorization requires the following IAM permission on the specified resource parent:

  • artifactregistry.versions.list
page_size

int32

The maximum number of versions to return. Maximum page size is 1,000.

page_token

string

The next_page_token value returned from a previous list request, if any.

view

VersionView

The view that should be returned in the response.

order_by

string

Optional. The field to order the results by.

filter

string

Optional. An expression for filtering the results of the request. Filter rules are case insensitive. The fields eligible for filtering are:

  • name
  • annotations

Examples of using a filter:

To filter the results of your request to versions with the name my-version in project my-project in the us-central region, in repository my-repo, append the following filter expression to your request:

  • name="projects/my-project/locations/us-central1/repositories/my-repo/packages/my-package/versions/my-version"

You can also use wildcards to match any number of characters before or after the value:

  • name="projects/my-project/locations/us-central1/repositories/my-repo/packages/my-package/versions/*version"
  • name="projects/my-project/locations/us-central1/repositories/my-repo/packages/my-package/versions/my*"
  • name="projects/my-project/locations/us-central1/repositories/my-repo/packages/my-package/versions/*version*"

To filter the results of your request to versions with the annotation key-value pair [external_link: external_link_value], append the following filter expression to your request:

  • "annotations.external_link:external_link_value"

To filter just for a specific annotation key external_link, append the following filter expression to your request:

  • "annotations.external_link"

If the annotation key or value contains special characters, you can escape them by surrounding the value with backticks. For example, to filter the results of your request to versions with the annotation key-value pair [external.link:https://example.com/my-version], append the following filter expression to your request:

  • "annotations.`external.link`:`https://example.com/my-version`"

You can also filter with annotations with a wildcard to match any number of characters before or after the value:

  • "annotations.*_link:`*example.com*`"

ListVersionsResponse

The response from listing versions.

Fields
versions[]

Version

The versions returned.

next_page_token

string

The token to retrieve the next page of versions, or empty if there are no more versions to return.

MavenArtifact

MavenArtifact represents a maven artifact.

Fields
name

string

Required. registry_location, project_id, repository_name and maven_artifact forms a unique artifact For example, "projects/test-project/locations/us-west4/repositories/test-repo/mavenArtifacts/ com.google.guava:guava:31.0-jre", where "us-west4" is the registry_location, "test-project" is the project_id, "test-repo" is the repository_name and "com.google.guava:guava:31.0-jre" is the maven artifact.

pom_uri

string

Required. URL to access the pom file of the artifact. Example: us-west4-maven.pkg.dev/test-project/test-repo/com/google/guava/guava/31.0/guava-31.0.pom

group_id

string

Group ID for the artifact. Example: com.google.guava

artifact_id

string

Artifact ID for the artifact.

version

string

Version of this artifact.

create_time

Timestamp

Output only. Time the artifact was created.

update_time

Timestamp

Output only. Time the artifact was updated.

NpmPackage

NpmPackage represents an npm artifact.

Fields
name

string

Required. registry_location, project_id, repository_name and npm_package forms a unique package For example, "projects/test-project/locations/us-west4/repositories/test-repo/npmPackages/ npm_test:1.0.0", where "us-west4" is the registry_location, "test-project" is the project_id, "test-repo" is the repository_name and npm_test:1.0.0" is the npm package.

package_name

string

Package for the artifact.

version

string

Version of this package.

tags[]

string

Tags attached to this package.

create_time

Timestamp

Output only. Time the package was created.

update_time

Timestamp

Output only. Time the package was updated.

OperationMetadata

This type has no fields.

Metadata type for longrunning-operations, currently empty.

Package

Packages are named collections of versions.

Fields
name

string

The name of the package, for example: projects/p1/locations/us-central1/repositories/repo1/packages/pkg1. If the package ID part contains slashes, the slashes are escaped.

display_name

string

The display name of the package.

create_time

Timestamp

The time when the package was created.

update_time

Timestamp

The time when the package was last updated. This includes publishing a new version of the package.

annotations

map<string, string>

Optional. Client specified annotations.

ProjectSettings

The Artifact Registry settings that apply to a Project.

Fields
name

string

The name of the project's settings.

Always of the form: projects/{project-id}/projectSettings

In update request: never set In response: always set

legacy_redirection_state

RedirectionState

The redirection state of the legacy repositories in this project.

pull_percent

int32

The percentage of pull traffic to redirect from GCR to AR when using partial redirection.

RedirectionState

The possible redirection states for legacy repositories.

Enums
REDIRECTION_STATE_UNSPECIFIED No redirection status has been set.
REDIRECTION_FROM_GCR_IO_DISABLED Redirection is disabled.
REDIRECTION_FROM_GCR_IO_ENABLED Redirection is enabled.
REDIRECTION_FROM_GCR_IO_ENABLED_AND_COPYING Redirection is enabled and missing images are copied from GCR
REDIRECTION_FROM_GCR_IO_PARTIAL_AND_COPYING Redirection is partially enabled and missing images are copied from GCR

PythonPackage

PythonPackage represents a python artifact.

Fields
name

string

Required. registry_location, project_id, repository_name and python_package forms a unique package name:projects/<project_id>/locations/<location>/repository/<repository_name>/pythonPackages/<python_package>. For example, "projects/test-project/locations/us-west4/repositories/test-repo/pythonPackages/ python_package:1.0.0", where "us-west4" is the registry_location, "test-project" is the project_id, "test-repo" is the repository_name and python_package:1.0.0" is the python package.

uri

string

Required. URL to access the package. Example: us-west4-python.pkg.dev/test-project/test-repo/python_package/file-name-1.0.0.tar.gz

package_name

string

Package for the artifact.

version

string

Version of this package.

create_time

Timestamp

Output only. Time the package was created.

update_time

Timestamp

Output only. Time the package was updated.

RemoteRepositoryConfig

Remote repository configuration.

Fields
description

string

The description of the remote source.

upstream_credentials

UpstreamCredentials

Optional. The credentials used to access the remote repository.

disable_upstream_validation

bool

Input only. A create/update remote repo option to avoid making a HEAD/GET request to validate a remote repo and any supplied upstream credentials.

Union field remote_source. Settings specific to the remote repository. remote_source can be only one of the following:
docker_repository

DockerRepository

Specific settings for a Docker remote repository.

maven_repository

MavenRepository

Specific settings for a Maven remote repository.

npm_repository

NpmRepository

Specific settings for an Npm remote repository.

python_repository

PythonRepository

Specific settings for a Python remote repository.

apt_repository

AptRepository

Specific settings for an Apt remote repository.

yum_repository

YumRepository

Specific settings for a Yum remote repository.

common_repository

CommonRemoteRepository

Common remote repository settings. Used as the remote repository upstream URL.

AptRepository

Configuration for an Apt remote repository.

Fields
Union field upstream. Address of the remote repository. upstream can be only one of the following:
public_repository

PublicRepository

One of the publicly available Apt repositories supported by Artifact Registry.

custom_repository

CustomRepository

Customer-specified remote repository.

CustomRepository

Customer-specified publicly available remote repository.

Fields
uri

string

An http/https uri reference to the upstream remote repository, for ex: "https://my.apt.registry/".

PublicRepository

Publicly available Apt repositories constructed from a common repository base and a custom repository path.

Fields
repository_base

RepositoryBase

A common public repository base for Apt.

repository_path

string

A custom field to define a path to a specific repository from the base.

RepositoryBase

Predefined list of publicly available repository bases for Apt.

Enums
REPOSITORY_BASE_UNSPECIFIED Unspecified repository base.
DEBIAN Debian.
UBUNTU Ubuntu LTS/Pro.
DEBIAN_SNAPSHOT Archived Debian.

CommonRemoteRepository

Common remote repository settings type.

Fields
uri

string

Required. A common public repository base for remote repository.

DockerRepository

Configuration for a Docker remote repository.

Fields
Union field upstream. Address of the remote repository. upstream can be only one of the following:
public_repository

PublicRepository

One of the publicly available Docker repositories supported by Artifact Registry.

custom_repository

CustomRepository

Customer-specified remote repository.

CustomRepository

Customer-specified publicly available remote repository.

Fields
uri

string

An http/https uri reference to the custom remote repository, for ex: "https://registry-1.docker.io".

PublicRepository

Predefined list of publicly available Docker repositories like Docker Hub.

Enums
PUBLIC_REPOSITORY_UNSPECIFIED Unspecified repository.
DOCKER_HUB Docker Hub.

MavenRepository

Configuration for a Maven remote repository.

Fields
Union field upstream. Address of the remote repository. upstream can be only one of the following:
public_repository

PublicRepository

One of the publicly available Maven repositories supported by Artifact Registry.

custom_repository

CustomRepository

Customer-specified remote repository.

CustomRepository

Customer-specified publicly available remote repository.

Fields
uri

string

An http/https uri reference to the upstream remote repository, for ex: "https://my.maven.registry/".

PublicRepository

Predefined list of publicly available Maven repositories like Maven Central.

Enums
PUBLIC_REPOSITORY_UNSPECIFIED Unspecified repository.
MAVEN_CENTRAL Maven Central.

NpmRepository

Configuration for a Npm remote repository.

Fields
Union field upstream. Address of the remote repository upstream can be only one of the following:
public_repository

PublicRepository

One of the publicly available Npm repositories supported by Artifact Registry.

custom_repository

CustomRepository

Customer-specified remote repository.

CustomRepository

Customer-specified publicly available remote repository.

Fields
uri

string

An http/https uri reference to the upstream remote repository, for ex: "https://my.npm.registry/".

PublicRepository

Predefined list of publicly available NPM repositories like npmjs.

Enums
PUBLIC_REPOSITORY_UNSPECIFIED Unspecified repository.
NPMJS npmjs.

PythonRepository

Configuration for a Python remote repository.

Fields
Union field upstream. Address of the remote repository. upstream can be only one of the following:
public_repository

PublicRepository

One of the publicly available Python repositories supported by Artifact Registry.

custom_repository

CustomRepository

Customer-specified remote repository.

CustomRepository

Customer-specified publicly available remote repository.

Fields
uri

string

An http/https uri reference to the upstream remote repository, for ex: "https://my.python.registry/".

PublicRepository

Predefined list of publicly available Python repositories like PyPI.org.

Enums
PUBLIC_REPOSITORY_UNSPECIFIED Unspecified repository.
PYPI PyPI.

UpstreamCredentials

The credentials to access the remote repository.

Fields

Union field credentials.

credentials can be only one of the following:

username_password_credentials

UsernamePasswordCredentials

Use username and password to access the remote repository.

UsernamePasswordCredentials

Username and password credentials.

Fields
username

string

The username to access the remote repository.

password_secret_version

string

The Secret Manager key version that holds the password to access the remote repository. Must be in the format of projects/{project}/secrets/{secret}/versions/{version}.

YumRepository

Configuration for a Yum remote repository.

Fields
Union field upstream. Address of the remote repository. upstream can be only one of the following:
public_repository

PublicRepository

One of the publicly available Yum repositories supported by Artifact Registry.

custom_repository

CustomRepository

Customer-specified remote repository.

CustomRepository

Customer-specified publicly available remote repository.

Fields
uri

string

An http/https uri reference to the upstream remote repository, for ex: "https://my.yum.registry/".

PublicRepository

Publicly available Yum repositories constructed from a common repository base and a custom repository path.

Fields
repository_base

RepositoryBase

A common public repository base for Yum.

repository_path

string

A custom field to define a path to a specific repository from the base.

RepositoryBase

Predefined list of publicly available repository bases for Yum.

Enums
REPOSITORY_BASE_UNSPECIFIED Unspecified repository base.
CENTOS CentOS.
CENTOS_DEBUG CentOS Debug.
CENTOS_VAULT CentOS Vault.
CENTOS_STREAM CentOS Stream.
ROCKY Rocky.
EPEL Fedora Extra Packages for Enterprise Linux (EPEL).

Repository

A Repository for storing artifacts with a specific format.

Fields
name

string

The name of the repository, for example: projects/p1/locations/us-central1/repositories/repo1. For each location in a project, repository names must be unique.

format

Format

Optional. The format of packages that are stored in the repository.

description

string

The user-provided description of the repository.

labels

map<string, string>

Labels with user-defined metadata. This field may contain up to 64 entries. Label keys and values may be no longer than 63 characters. Label keys must begin with a lowercase letter and may only contain lowercase letters, numeric characters, underscores, and dashes.

create_time

Timestamp

Output only. The time when the repository was created.

update_time

Timestamp

Output only. The time when the repository was last updated.

kms_key_name

string

The Cloud KMS resource name of the customer managed encryption key that's used to encrypt the contents of the Repository. Has the form: projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key. This value may not be changed after the Repository has been created.

mode

Mode

Optional. The mode of the repository.

cleanup_policies

map<string, CleanupPolicy>

Optional. Cleanup policies for this repository. Cleanup policies indicate when certain package versions can be automatically deleted. Map keys are policy IDs supplied by users during policy creation. They must unique within a repository and be under 128 characters in length.

size_bytes

int64

Output only. The size, in bytes, of all artifact storage in this repository. Repositories that are generally available or in public preview use this to calculate storage costs.

satisfies_pzs

bool

Output only. If set, the repository satisfies physical zone separation.

cleanup_policy_dry_run

bool

Optional. If true, the cleanup pipeline is prevented from deleting versions in this repository.

disallow_unspecified_mode

bool

Optional. If this is true, an unspecified repo type will be treated as error rather than defaulting to standard.

satisfies_pzi

bool

Output only. If set, the repository satisfies physical zone isolation.

Union field format_config. Repository-specific configurations. format_config can be only one of the following:
maven_config

MavenRepositoryConfig

Maven repository config contains repository level configuration for the repositories of maven type.

docker_config

DockerRepositoryConfig

Docker repository config contains repository level configuration for the repositories of docker type.

Union field mode_config. Repository configuration specific to the Mode value being selected (Remote or Virtual) mode_config can be only one of the following:
virtual_repository_config

VirtualRepositoryConfig

Configuration specific for a Virtual Repository.

remote_repository_config

RemoteRepositoryConfig

Configuration specific for a Remote Repository.

DockerRepositoryConfig

DockerRepositoryConfig is docker related repository details. Provides additional configuration details for repositories of the docker format type.

Fields
immutable_tags

bool

The repository which enabled this flag prevents all tags from being modified, moved or deleted. This does not prevent tags from being created.

Format

A package format.

Enums
FORMAT_UNSPECIFIED Unspecified package format.
DOCKER Docker package format.
MAVEN Maven package format.
NPM NPM package format.
APT APT package format.
YUM YUM package format.
GOOGET GooGet package format.
PYTHON Python package format.
KFP Kubeflow Pipelines package format.
GO Go package format.
GENERIC Generic package format.

MavenRepositoryConfig

MavenRepositoryConfig is maven related repository details. Provides additional configuration details for repositories of the maven format type.

Fields
allow_snapshot_overwrites

bool

The repository with this flag will allow publishing the same snapshot versions.

version_policy

VersionPolicy

Version policy defines the versions that the registry will accept.

VersionPolicy

VersionPolicy is the version policy for the repository.

Enums
VERSION_POLICY_UNSPECIFIED VERSION_POLICY_UNSPECIFIED - the version policy is not defined. When the version policy is not defined, no validation is performed for the versions.
RELEASE RELEASE - repository will accept only Release versions.
SNAPSHOT SNAPSHOT - repository will accept only Snapshot versions.

Mode

The mode configures the repository to serve artifacts from different sources.

Enums
MODE_UNSPECIFIED Unspecified mode.
STANDARD_REPOSITORY A standard repository storing artifacts.
VIRTUAL_REPOSITORY A virtual repository to serve artifacts from one or more sources.
REMOTE_REPOSITORY A remote repository to serve artifacts from a remote source.
ASSURED_OSS_REPOSITORY Replacement of AOSS_REPOSITORY.

Rule

A rule defines the deny or allow action of the operation it applies to and the conditions required for the rule to apply. You can set one rule for an entire repository and one rule for each package within.

Fields
name

string

The name of the rule, for example: projects/p1/locations/us-central1/repositories/repo1/rules/rule1.

action

Action

The action this rule takes.

operation

Operation

condition

Expr

Optional. A CEL expression for conditions that must be met in order for the rule to apply. If not provided, the rule matches all objects.

package_id

string

The package ID the rule applies to. If empty, this rule applies to all packages inside the repository.

Action

Defines the action of the rule.

Enums
ACTION_UNSPECIFIED Action not specified.
ALLOW Allow the operation.
DENY Deny the operation.

Operation

The operation the rule applies to.

Enums
OPERATION_UNSPECIFIED Operation not specified.
DOWNLOAD Download operation.

Tag

Tags point to a version and represent an alternative name that can be used to access the version.

Fields
name

string

The name of the tag, for example: "projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/tags/tag1". If the package part contains slashes, the slashes are escaped. The tag part can only have characters in [a-zA-Z0-9-._~:@], anything else must be URL encoded.

version

string

The name of the version the tag refers to, for example: projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/sha256:5243811 If the package or version ID parts contain slashes, the slashes are escaped.

UpdateFileRequest

The request to update a file.

Fields
file

File

Required. The File that replaces the resource on the server.

Authorization requires the following IAM permission on the specified resource file:

  • artifactregistry.files.update
update_mask

FieldMask

Required. The update mask applies to the resource. For the FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask

UpdatePackageRequest

The request to update a package.

Fields
package

Package

The package that replaces the resource on the server.

Authorization requires the following IAM permission on the specified resource package:

  • artifactregistry.packages.update
update_mask

FieldMask

The update mask applies to the resource. For the FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask

UpdateProjectSettingsRequest

Sets the settings of the project.

Fields
project_settings

ProjectSettings

The project settings.

Authorization requires the following IAM permission on the specified resource projectSettings:

  • artifactregistry.projectsettings.update
update_mask

FieldMask

Field mask to support partial updates.

UpdateRepositoryRequest

The request to update a repository.

Fields
repository

Repository

The repository that replaces the resource on the server.

Authorization requires the following IAM permission on the specified resource repository:

  • artifactregistry.repositories.update
update_mask

FieldMask

The update mask applies to the resource. For the FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask

UpdateRuleRequest

The request to update a rule.

Fields
rule

Rule

The rule that replaces the resource on the server.

Authorization requires the following IAM permission on the specified resource rule:

  • artifactregistry.rules.update
update_mask

FieldMask

The update mask applies to the resource. For the FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask

UpdateTagRequest

The request to create or update a tag.

Fields
tag

Tag

The tag that replaces the resource on the server.

Authorization requires the following IAM permission on the specified resource tag:

  • artifactregistry.tags.update
update_mask

FieldMask

The update mask applies to the resource. For the FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask

UpdateVPCSCConfigRequest

Sets the VPCSC config of the project.

Fields
vpcsc_config

VPCSCConfig

The project config.

Authorization requires the following IAM permission on the specified resource vpcscConfig:

  • artifactregistry.vpcscconfigs.update
update_mask

FieldMask

Field mask to support partial updates.

UpdateVersionRequest

The request to update a version.

Fields
version

Version

Required. The Version that replaces the resource on the server.

Authorization requires the following IAM permission on the specified resource version:

  • artifactregistry.versions.update
update_mask

FieldMask

The update mask applies to the resource. For the FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask

UploadAptArtifactMetadata

This type has no fields.

The operation metadata for uploading artifacts.

UploadAptArtifactResponse

The response of the completed artifact upload operation. This response is contained in the Operation and available to users.

Fields
apt_artifacts[]

AptArtifact

The Apt artifacts updated.

UploadFileMetadata

This type has no fields.

The operation metadata for uploading files.

UploadGenericArtifactMetadata

This type has no fields.

The operation metadata for uploading generic artifacts.

UploadGoModuleMetadata

This type has no fields.

The operation metadata for uploading go modules.

UploadGoogetArtifactMetadata

This type has no fields.

The operation metadata for uploading artifacts.

UploadGoogetArtifactResponse

The response of the completed artifact upload operation. This response is contained in the Operation and available to users.

Fields
googet_artifacts[]

GoogetArtifact

The GooGet artifacts updated.

UploadKfpArtifactMetadata

This type has no fields.

The operation metadata for uploading KFP artifacts.

UploadYumArtifactMetadata

This type has no fields.

The operation metadata for uploading artifacts.

UploadYumArtifactResponse

The response of the completed artifact upload operation. This response is contained in the Operation and available to users.

Fields
yum_artifacts[]

YumArtifact

The Yum artifacts updated.

UpstreamPolicy

Artifact policy configuration for the repository contents.

Fields
id

string

The user-provided ID of the upstream policy.

repository

string

A reference to the repository resource, for example: projects/p1/locations/us-central1/repositories/repo1.

priority

int32

Entries with a greater priority value take precedence in the pull order.

VPCSCConfig

The Artifact Registry VPC SC config that apply to a Project.

Fields
name

string

The name of the project's VPC SC Config.

Always of the form: projects/{projectID}/locations/{location}/vpcscConfig

In update request: never set In response: always set

vpcsc_policy

VPCSCPolicy

The project per location VPC SC policy that defines the VPC SC behavior for the Remote Repository (Allow/Deny).

VPCSCPolicy

VPCSCPolicy is the VPC SC policy for project and location.

Enums
VPCSC_POLICY_UNSPECIFIED VPCSC_POLICY_UNSPECIFIED - the VPS SC policy is not defined. When VPS SC policy is not defined - the Service will use the default behavior (VPCSC_DENY).
DENY VPCSC_DENY - repository will block the requests to the Upstreams for the Remote Repositories if the resource is in the perimeter.
ALLOW VPCSC_ALLOW - repository will allow the requests to the Upstreams for the Remote Repositories if the resource is in the perimeter.

Version

The body of a version resource. A version resource represents a collection of components, such as files and other data. This may correspond to a version in many package management schemes.

Fields
name

string

The name of the version, for example: projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/art1. If the package or version ID parts contain slashes, the slashes are escaped.

description

string

Optional. Description of the version, as specified in its metadata.

create_time

Timestamp

The time when the version was created.

update_time

Timestamp

The time when the version was last updated.

related_tags[]

Tag

Output only. A list of related tags. Will contain up to 100 tags that reference this version.

metadata

Struct

Output only. Repository-specific Metadata stored against this version. The fields returned are defined by the underlying repository-specific resource. Currently, the resources could be: DockerImage MavenArtifact

annotations

map<string, string>

Optional. Client specified annotations.

VersionView

The view, which determines what version information is returned in a response.

Enums
VERSION_VIEW_UNSPECIFIED The default / unset value. The API will default to the BASIC view.
BASIC Includes basic information about the version, but not any related tags.
FULL Include everything.

VirtualRepositoryConfig

Virtual repository configuration.

Fields
upstream_policies[]

UpstreamPolicy

Policies that configure the upstream artifacts distributed by the Virtual Repository. Upstream policies cannot be set on a standard repository.

YumArtifact

A detailed representation of a Yum artifact.

Fields
name

string

Output only. The Artifact Registry resource name of the artifact.

package_name

string

Output only. The yum package name of the artifact.

package_type

PackageType

Output only. An artifact is a binary or source package.

architecture

string

Output only. Operating system architecture of the artifact.

PackageType

Package type is either binary or source.

Enums
PACKAGE_TYPE_UNSPECIFIED Package type is not specified.
BINARY Binary package (.rpm).
SOURCE Source package (.srpm).