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
CreateTag
DeletePackage
DeleteRepository
DeleteTag
DeleteVersion
GetFile
GetIamPolicy
GetPackage
GetRepository
GetTag
GetVersion
ListFiles
ListPackages
ListRepositories
ListTags
ListVersions
SetIamPolicy
TestIamPermissions
UpdateRepository
UpdateTag

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.

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

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

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

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

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

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

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

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.

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

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.

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.

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.

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.

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.

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.

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.

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.

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.

satisfies_pzi

bool

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

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.

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.

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

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.