Package google.devtools.artifactregistry.v1beta1

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.
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.

IAM Permissions

Requires the following Cloud IAM permission on the parent resource:

  • artifactregistry.repositories.create

For more information, see the Cloud IAM Documentation.

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.

IAM Permissions

Requires the following Cloud IAM permission on the parent resource:

  • artifactregistry.tags.create

For more information, see the Cloud IAM Documentation.

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.

IAM Permissions

Requires the following Cloud IAM permission on the name resource:

  • artifactregistry.packages.delete

For more information, see the Cloud IAM Documentation.

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.

IAM Permissions

Requires the following Cloud IAM permission on the name resource:

  • artifactregistry.repositories.delete

For more information, see the Cloud IAM Documentation.

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.

IAM Permissions

Requires the following Cloud IAM permission on the name resource:

  • artifactregistry.tags.delete

For more information, see the Cloud IAM Documentation.

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.

IAM Permissions

Requires the following Cloud IAM permission on the name resource:

  • artifactregistry.versions.delete

For more information, see the Cloud IAM Documentation.

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.

IAM Permissions

Requires the following Cloud IAM permission on the name resource:

  • artifactregistry.files.get

For more information, see the Cloud IAM Documentation.

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.

IAM Permissions

Requires the following Cloud IAM permission on the resource resource:

  • artifactregistry.repositories.getIamPolicy

For more information, see the Cloud IAM Documentation.

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.

IAM Permissions

Requires the following Cloud IAM permission on the name resource:

  • artifactregistry.packages.get

For more information, see the Cloud IAM Documentation.

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.

IAM Permissions

Requires the following Cloud IAM permission on the name resource:

  • artifactregistry.repositories.get

For more information, see the Cloud IAM Documentation.

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.

IAM Permissions

Requires the following Cloud IAM permission on the name resource:

  • artifactregistry.tags.get

For more information, see the Cloud IAM Documentation.

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.

IAM Permissions

Requires the following Cloud IAM permission on the name resource:

  • artifactregistry.versions.get

For more information, see the Cloud IAM Documentation.

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.

IAM Permissions

Requires the following Cloud IAM permission on the parent resource:

  • artifactregistry.files.list

For more information, see the Cloud IAM Documentation.

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.

IAM Permissions

Requires the following Cloud IAM permission on the parent resource:

  • artifactregistry.packages.list

For more information, see the Cloud IAM Documentation.

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.

IAM Permissions

Requires the following Cloud IAM permission on the parent resource:

  • artifactregistry.repositories.list

For more information, see the Cloud IAM Documentation.

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.

IAM Permissions

Requires the following Cloud IAM permission on the parent resource:

  • artifactregistry.tags.list

For more information, see the Cloud IAM Documentation.

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.

IAM Permissions

Requires the following Cloud IAM permission on the parent resource:

  • artifactregistry.versions.list

For more information, see the Cloud IAM Documentation.

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.

IAM Permissions

Requires the following Cloud IAM permission on the resource resource:

  • artifactregistry.repositories.setIamPolicy

For more information, see the Cloud IAM Documentation.

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.

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.

IAM Permissions

Requires the following Cloud IAM permission on the name resource:

  • artifactregistry.repositories.update

For more information, see the Cloud IAM Documentation.

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.

IAM Permissions

Requires the following Cloud IAM permission on the name resource:

  • artifactregistry.tags.update

For more information, see the Cloud IAM Documentation.

CreateRepositoryRequest

The request to create a new repository.

Fields
parent

string

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

The repository id to use for this repository.

repository

Repository

The repository 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.

DeletePackageRequest

The request to delete a package.

Fields
name

string

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

The name of the repository to delete.

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

  • artifactregistry.repositories.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.

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/b/c.txt".

size_bytes

int64

The size of the File in bytes.

hashes[]

Hash

The hashes of the file content.

create_time

Timestamp

The time when the File was created.

update_time

Timestamp

The time when the File was last updated.

owner

string

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

GetFileRequest

The request to retrieve a file.

Fields
name

string

The name of the file to retrieve.

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

  • artifactregistry.files.get

GetPackageRequest

The request to retrieve a package.

Fields
name

string

The name of the package to retrieve.

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

  • artifactregistry.packages.get

GetRepositoryRequest

The request to retrieve a repository.

Fields
name

string

The name of the repository to retrieve.

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

  • artifactregistry.repositories.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

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.

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.

ListFilesRequest

The request to list files.

Fields
parent

string

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

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

An example of using a filter:

  • name="projects/p1/locations/us-central1/repositories/repo1/files/a/b/*" --> Files with an ID starting with "a/b/".
  • owner="projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/1.0" --> Files owned by the version 1.0 in package pkg1.
page_size

int32

The maximum number of files to return.

page_token

string

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

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.

ListPackagesRequest

The request to list packages.

Fields
parent

string

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.

page_token

string

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

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.

ListRepositoriesRequest

The request to list repositories.

Fields
parent

string

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.

page_token

string

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

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.

ListTagsRequest

The request to list tags.

Fields
parent

string

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

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:

  • version

An example of using a filter:

  • version="projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/1.0" --> Tags that are applied to the version 1.0 in package pkg1.
page_size

int32

The maximum number of tags to return.

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.

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.

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.

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".

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.

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".

format

Format

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

The time when the repository was created.

update_time

Timestamp

The time when the repository was last updated.

Format

A package format.

Enums
FORMAT_UNSPECIFIED Unspecified package format.
DOCKER Docker package format.
MAVEN Maven package format.
NPM NPM package format.

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".

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"

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

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

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".

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.

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.