gcloud artifacts repositories create

NAME
gcloud artifacts repositories create - create an Artifact Registry repository
SYNOPSIS
gcloud artifacts repositories create (REPOSITORY : --location=LOCATION) --repository-format=REPOSITORY_FORMAT [--allow-snapshot-overwrites] [--async] [--description=DESCRIPTION] [--disable-remote-validation] [--immutable-tags] [--kms-key=KMS_KEY] [--labels=[KEY=VALUE,…]] [--mode=MODE; default="NONE"] [--remote-apt-repo=REMOTE_APT_REPO] [--remote-apt-repo-path=REMOTE_APT_REPO_PATH] [--remote-docker-repo=REMOTE_DOCKER_REPO] [--remote-mvn-repo=REMOTE_MVN_REPO] [--remote-npm-repo=REMOTE_NPM_REPO] [--remote-password-secret-version=REMOTE_PASSWORD_SECRET_VERSION] [--remote-python-repo=REMOTE_PYTHON_REPO] [--remote-repo-config-desc=REMOTE_REPO_CONFIG_DESC] [--remote-username=REMOTE_USERNAME] [--remote-yum-repo=REMOTE_YUM_REPO] [--remote-yum-repo-path=REMOTE_YUM_REPO_PATH] [--upstream-policy-file=FILE] [--version-policy=VERSION_POLICY] [GCLOUD_WIDE_FLAG]
DESCRIPTION
Create a new Artifact Registry repository.

This command can fail for the following reasons:

  • A repository with the same name already exists.
  • The active account does not have permission to create repositories.
  • A valid repository format was not provided.
EXAMPLES
To create a repository with the name my-repo under the current project, run:
gcloud artifacts repositories create my-repo

To create repository my-repo with a KMS key projects/my-project/locations/us/keyRings/my-kr/cryptoKeys/my-key, run:

gcloud artifacts repositories create my-repo --kms-key=projects/my-project/locations/us/keyRings/my-kr/cryptoKeys/my-key
POSITIONAL ARGUMENTS
Repository resource - The Artifact Registry repository to create. The arguments in this group can be used to specify the attributes of this resource. (NOTE) Some attributes are not given arguments in this group but can be set in other ways.

To set the project attribute:

  • provide the argument repository on the command line with a fully specified name;
  • set the property core/project;
  • provide the argument --project on the command line.

This must be specified.

REPOSITORY
ID of the repository or fully qualified identifier for the repository.

To set the repository attribute:

  • provide the argument repository on the command line.

This positional argument must be specified if any of the other arguments in this group are specified.

--location=LOCATION
Location of the repository. Overrides the default artifacts/location property value for this command invocation. To configure the default location, use the command: gcloud config set artifacts/location. To set the location attribute:
  • provide the argument repository on the command line with a fully specified name;
  • provide the argument --location on the command line;
  • set the property artifacts/location.
REQUIRED FLAGS
--repository-format=REPOSITORY_FORMAT
Format of the repository. REPOSITORY_FORMAT must be one of:
apt
   APT package format.
docker
   Docker image format.
go
   Go module format.
kfp
   KFP package format.
maven
   Maven package format.
npm
   NPM package format.
python
   Python package format.
yum
   YUM package format.
OPTIONAL FLAGS
--allow-snapshot-overwrites
(Maven only) Allow repository users to publish a snapshot that overwrites the same snapshot version in the repository.
--async
Return immediately, without waiting for the operation in progress to complete.
--description=DESCRIPTION
Description for the repository.
--disable-remote-validation
Do not make an HTTP request to validate the remote upstream. Not recommended when setting a custom remote upstream unless you are absolutely sure your upstream URI and any auth is valid.
--immutable-tags
(Docker only) Prevent changes to tagged images in the repository. Tags cannot be deleted or moved to a different image digest, and tagged images cannot be deleted.
--kms-key=KMS_KEY
Name of the encryption key that's used for encrypting the contents of the repository.
--labels=[KEY=VALUE,…]
List of label KEY=VALUE pairs to add.

Keys must start with a lowercase character and contain only hyphens (-), underscores (_), lowercase characters, and numbers. Values must contain only hyphens (-), underscores (_), lowercase characters, and numbers.

--mode=MODE; default="NONE"
Mode is the type of the repository - Standard, Virtual or Remote. MODE must be one of:
none
Repository mode not specified.
remote-repository
Remote repository mode - fetches data from upstream and caches it.
standard-repository
Standard repository mode - should be possible to write/read data to this repo.
virtual-repository
Virtual repository mode - aggregates data from several upstreams.
--remote-apt-repo=REMOTE_APT_REPO
(Apt only) Repository base for apt remote repository. REMOTE_APT_REPO must be one of: [debian, debian-snapshot, ubuntu].
--remote-apt-repo-path=REMOTE_APT_REPO_PATH
(Apt only) Remaining URL path to apt remote repository.
--remote-docker-repo=REMOTE_DOCKER_REPO
(Docker only) Repo upstream for docker remote repository. REMOTE_DOCKER_REPO can be either:
  • one of the following enums: [docker-hub].
  • an http/https custom registry uri (ex: https://my.docker.registry)
--remote-mvn-repo=REMOTE_MVN_REPO
(Maven only) Repo upstream for maven remote repository. REMOTE_MVN_REPO can be either:
  • one of the following enums: [maven-central].
  • an http/https custom registry uri (ex: https://my.maven.registry)
--remote-npm-repo=REMOTE_NPM_REPO
(Npm only) Repo upstream for npm remote repository. REMOTE_NPM_REPO can be either:
  • one of the following enums: [npmjs].
  • an http/https custom registry uri (ex: https://my.npm.registry)
--remote-password-secret-version=REMOTE_PASSWORD_SECRET_VERSION
Secret Manager secret version that contains password for the remote repository upstream.
--remote-python-repo=REMOTE_PYTHON_REPO
(Python only) Repo upstream for python remote repository. REMOTE_PYTHON_REPO can be either:
  • one of the following enums: [pypi].
  • an http/https custom registry uri (ex: https://my.python.registry)
--remote-repo-config-desc=REMOTE_REPO_CONFIG_DESC
The description for the remote repository config.
--remote-username=REMOTE_USERNAME
Remote Repository upstream registry username.
--remote-yum-repo=REMOTE_YUM_REPO
(Yum only) Repository base for yum remote repository. REMOTE_YUM_REPO must be one of: [centos, centos-debug, centos-stream, centos-vault, epel, rocky].
--remote-yum-repo-path=REMOTE_YUM_REPO_PATH
(Yum only) Remaining URL path to yum remote repository.
--upstream-policy-file=FILE
(Virtual Repositories only) is the upstreams for the Virtual Repository. Example of the file contents: [ { "id": "test1", "repository": "projects/p1/locations/us-central1/repository/repo1", "priority": 1 }, { "id": "test2", "repository": "projects/p2/locations/us-west2/repository/repo2", "priority": 2 } ]
--version-policy=VERSION_POLICY
(Maven only) The package versions that the repository will store. VERSION_POLICY must be one of:
none
(Maven only) The repository doesn't validate the version type.
release
(Maven only) The repository accepts release versions only.
snapshot
(Maven only) The repository accepts snapshot versions only.
GCLOUD WIDE FLAGS
These flags are available to all commands: --access-token-file, --account, --billing-project, --configuration, --flags-file, --flatten, --format, --help, --impersonate-service-account, --log-http, --project, --quiet, --trace-token, --user-output-enabled, --verbosity.

Run $ gcloud help for details.

API REFERENCE
This command uses the artifactregistry/v1 API. The full documentation for this API can be found at: https://cloud.google.com/artifacts/docs/
NOTES
These variants are also available:
gcloud alpha artifacts repositories create
gcloud beta artifacts repositories create