Creating a Non-Maven Repository
Function
Create a non-Maven repository.
Calling Method
For details, see Calling APIs.
URI
POST /cloudartifact/v5/artifact/
Request Parameters
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
format |
Yes |
String |
Definition: Package type. Constraints: N/A Value range: docker, npm, go, pypi, rpm, composer, debian, conan, nuget, docker2, cocoapods, ohpm, and generic. Default value: None |
type |
Yes |
String |
Definition: Repository type. Constraints: N/A Value range: hosted: local repository Default value: None |
repository_name |
Yes |
String |
Definition: Repository name. Constraints: A string of 1 to 50 characters. Value range: N/A Default value: None |
description |
No |
String |
Definition: Repository description. Constraints: Maximum length: 200 characters. Value range: N/A Default value: None |
includes_pattern |
Yes |
String |
Definition: Include patterns. Constraints: Maximum length: 512 characters. Value range: N/A Default value: None |
project_id |
No |
String |
Definition: Project ID. It can be obtained by calling an API or from the console. For details about how to obtain the project ID, see Obtaining a Project ID (CloudArtifact_api_0015.xml). Constraints: The value can contain 32 characters. Only letters and digits are supported. Value range: N/A Default value: None |
share_right |
No |
String |
Definition: Shared permission. Constraints: N/A Value range: PROJECT Default value: None |
Response Parameters
Status code: 200
Parameter |
Type |
Description |
---|---|---|
status |
String |
Definition: Request status. Value range: success: The request is successful. error: The request fails. |
trace_id |
String |
Definition: Request ID, which uniquely identifies the current request. Value range: A string of digits and hyphens (-). |
result |
CreateArtifactoryResult object |
Definition: Repository information. Value range: N/A |
Parameter |
Type |
Description |
---|---|---|
artifactory |
RepositoryDO object |
Definition: Repository information. Value range: N/A |
Parameter |
Type |
Description |
---|---|---|
status |
String |
Definition: Repository status. Value range: active: Normal. delete: Deleted. disabled: Invalid. view: Viewer of self-hosted repos. trash: Deprecated. |
domainId |
String |
Definition: Tenant ID. Value range: N/A |
region |
String |
Definition: Region. Value range: N/A |
createdTime |
String |
Definition: Creation time, in yyyy-MM-dd HH:mm:ss format. Value range: N/A |
modifiedTime |
String |
Definition: Modification time, in yyyy-MM-dd HH:mm:ss format. Value range: N/A |
createdUserId |
String |
Definition: Creator ID. Value range: N/A |
createdUserName |
String |
Definition: Creator name. Value range: N/A |
modifiedUserId |
String |
Definition: Modifier ID. Value range: N/A |
modifiedUserName |
String |
Definition: Modifier name. Value range: N/A |
name |
String |
Definition: Repository ID. Value range: N/A |
disable |
Boolean |
Definition: Disabled or not. Value range: N/A |
format |
String |
Definition: Package type. Value range: maven, maven2, npm, go, pypi, rpm, composer, debian, conan, nuget, docker2, cocoapods, ohpm, generic, helm, conda, and huggingfaceml. |
type |
String |
Definition: Repository type. Value range: hosted: local repository remote: proxy repository virtual: virtual repository |
policy |
String |
Definition: Repository policies. Value range: release or snapshot |
tabId |
String |
Definition: tab_id is used to identify a pair of Maven repositories (Release and Snapshot). A tab_id indicates a pair of Maven repositories. Value range: N/A |
repositoryName |
String |
Definition: Repository name. Value range: N/A |
displayName |
String |
Definition: Repository name displayed. Value range: N/A |
description |
String |
Definition: Repository description. Value range: N/A |
snapshot |
String |
Definition: Snapshot repository name. Either Release or Snapshot or both must be selected. Value range: N/A |
release |
String |
Definition: Release repository name. Either Release or Snapshot or both must be selected. Value range: N/A |
npm |
String |
Definition: npm. Value range: N/A |
snapshotStatus |
String |
Definition: Snapshot repository status. Value range: N/A |
releaseStatus |
String |
Definition: Release repository status. Value range: N/A |
projectId |
String |
Definition: Project ID. Value range: N/A |
includesPattern |
String |
Definition: Include patterns. Value range: N/A |
repositoryIds |
Array of strings |
Definition: Repository ID list. Value range: N/A |
uri |
String |
Definition: URI. Value range: N/A |
deploymentPolicy |
String |
Definition: Deployment policies. Value range: N/A |
repositories |
Array of strings |
Definition: Repository list. Value range: N/A |
parentRepoName |
String |
Definition: Parent repository name. Value range: N/A |
userName |
String |
Definition: Username. Value range: N/A |
password |
String |
Definition: Password. Value range: N/A |
remoteUrl |
String |
Definition: Proxy repository address. Value range: N/A |
defaultDeployRepository |
String |
Definition: Default repository. Value range: N/A |
remoteType |
String |
Definition: Proxy repository type. Value range: public: public proxy repository customize: custom proxy repository |
proxy |
String |
Definition: Proxy. Value range: N/A |
allowAnonymous |
Boolean |
Definition: Anonymous download allowed or not. Value range: N/A |
autoCleanSnapshot |
Boolean |
Definition: Automatic snapshot version clearing enabled or not. Value range: N/A |
snapshotAliveDays |
String |
Definition: Validity period of a snapshot version, in days. Value range: N/A |
maxUniqueSnapshots |
String |
Definition: Max. number of snapshots. Value range: N/A |
shareRight |
String |
Definition: Shared permission. Value range: PROJECT |
nexuRepo |
Boolean |
Definition: Nexus repository or not. Value range: N/A |
url |
String |
Definition: Repository URL. Value range: N/A |
packageType |
String |
Definition: Package type. Value range: maven, maven2, npm, go, pypi, rpm, composer, debian, conan, nuget, docker2, cocoapods, ohpm, generic, helm, conda, and huggingfaceml. |
Example Requests
Create a non-Maven repository.
https://artifact.cn-south-1.myhuaweicloud.com/cloudartifact/v5/artifact/ { "repository_name" : "test-pypi", "type" : "hosted", "format" : "pypi", "description" : "", "includes_pattern" : "**/*", "share_right" : "PROJECT", "project_id" : "e2ee90487d6349dd944a5767225f6f55" }
Example Responses
Status code: 200
OK
{ "status" : "success", "trace_id" : "143003-1701176455154-4616", "result" : { "artifactory" : { "status" : null, "domainId" : "5a775fdcb14f4431b6c0015618140bc3", "region" : "xx-xxxxx-x", "createdTime" : null, "modifiedTime" : null, "createdUserId" : "e9253deb37654775bb3c411aca89153a", "createdUserName" : "devcloud_devcloud_y00226182_01", "modifiedUserId" : "e9253deb37654775bb3c411aca89153a", "modifiedUserName" : "devcloud_devcloud_y00226182_01", "name" : "xx-xxxxx-x_5a775fdcb14f4431b6c0015618140bc3_pypi_41", "disable" : false, "format" : "pypi", "type" : "hosted", "policy" : null, "tabId" : null, "repositoryName" : "test-pypi", "displayName" : null, "description" : "", "snapshot" : null, "release" : null, "npm" : null, "snapshotStatus" : null, "releaseStatus" : null, "projectId" : "e2ee90487d6349dd944a5767225f6f55", "includesPattern" : "**/*", "repositoryIds" : null, "uri" : null, "deploymentPolicy" : null, "repositories" : null, "parentRepoName" : null, "userName" : null, "password" : null, "remoteUrl" : null, "defaultDeployRepository" : null, "remoteType" : null, "proxy" : null, "allowAnonymous" : null, "autoCleanSnapshot" : null, "snapshotAliveDays" : null, "maxUniqueSnapshots" : null, "shareRight" : "PROJECT", "nexuRepo" : false, "url" : "https://devrepo.devcloud.xx-xxxxx-x.xxxxxxx.huawei.com/artgalaxy/api/pypi/xx-xxxxx-x_5a775fdcb14f4431b6c0015618140bc3_pypi_41/", "packageType" : "pypi" } } }
SDK Sample Code
The SDK sample code is as follows.
Java
Create a non-Maven repository.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
package com.huaweicloud.sdk.test; import com.huaweicloud.sdk.core.auth.ICredential; import com.huaweicloud.sdk.core.auth.BasicCredentials; import com.huaweicloud.sdk.core.exception.ConnectionException; import com.huaweicloud.sdk.core.exception.RequestTimeoutException; import com.huaweicloud.sdk.core.exception.ServiceResponseException; import com.huaweicloud.sdk.codeartsartifact.v2.region.CodeArtsArtifactRegion; import com.huaweicloud.sdk.codeartsartifact.v2.*; import com.huaweicloud.sdk.codeartsartifact.v2.model.*; public class CreateArtifactorySolution { public static void main(String[] args) { // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment String ak = System.getenv("CLOUD_SDK_AK"); String sk = System.getenv("CLOUD_SDK_SK"); ICredential auth = new BasicCredentials() .withAk(ak) .withSk(sk); CodeArtsArtifactClient client = CodeArtsArtifactClient.newBuilder() .withCredential(auth) .withRegion(CodeArtsArtifactRegion.valueOf("<YOUR REGION>")) .build(); CreateArtifactoryRequest request = new CreateArtifactoryRequest(); CreateNotMavenRepoDO body = new CreateNotMavenRepoDO(); body.withShareRight("PROJECT"); body.withProjectId("e2ee90487d6349dd944a5767225f6f55"); body.withIncludesPattern("**/*"); body.withDescription(""); body.withRepositoryName("test-pypi"); body.withType("hosted"); body.withFormat("pypi"); request.withBody(body); try { CreateArtifactoryResponse response = client.createArtifactory(request); System.out.println(response.toString()); } catch (ConnectionException e) { e.printStackTrace(); } catch (RequestTimeoutException e) { e.printStackTrace(); } catch (ServiceResponseException e) { e.printStackTrace(); System.out.println(e.getHttpStatusCode()); System.out.println(e.getRequestId()); System.out.println(e.getErrorCode()); System.out.println(e.getErrorMsg()); } } } |
Python
Create a non-Maven repository.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# coding: utf-8 import os from huaweicloudsdkcore.auth.credentials import BasicCredentials from huaweicloudsdkcodeartsartifact.v2.region.codeartsartifact_region import CodeArtsArtifactRegion from huaweicloudsdkcore.exceptions import exceptions from huaweicloudsdkcodeartsartifact.v2 import * if __name__ == "__main__": # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak = os.environ["CLOUD_SDK_AK"] sk = os.environ["CLOUD_SDK_SK"] credentials = BasicCredentials(ak, sk) client = CodeArtsArtifactClient.new_builder() \ .with_credentials(credentials) \ .with_region(CodeArtsArtifactRegion.value_of("<YOUR REGION>")) \ .build() try: request = CreateArtifactoryRequest() request.body = CreateNotMavenRepoDO( share_right="PROJECT", project_id="e2ee90487d6349dd944a5767225f6f55", includes_pattern="**/*", description="", repository_name="test-pypi", type="hosted", format="pypi" ) response = client.create_artifactory(request) print(response) except exceptions.ClientRequestException as e: print(e.status_code) print(e.request_id) print(e.error_code) print(e.error_msg) |
Go
Create a non-Maven repository.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
package main import ( "fmt" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" codeartsartifact "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/codeartsartifact/v2" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/codeartsartifact/v2/model" region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/codeartsartifact/v2/region" ) func main() { // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak := os.Getenv("CLOUD_SDK_AK") sk := os.Getenv("CLOUD_SDK_SK") auth := basic.NewCredentialsBuilder(). WithAk(ak). WithSk(sk). Build() client := codeartsartifact.NewCodeArtsArtifactClient( codeartsartifact.CodeArtsArtifactClientBuilder(). WithRegion(region.ValueOf("<YOUR REGION>")). WithCredential(auth). Build()) request := &model.CreateArtifactoryRequest{} shareRightCreateNotMavenRepoDo:= "PROJECT" projectIdCreateNotMavenRepoDo:= "e2ee90487d6349dd944a5767225f6f55" descriptionCreateNotMavenRepoDo:= "" request.Body = &model.CreateNotMavenRepoDo{ ShareRight: &shareRightCreateNotMavenRepoDo, ProjectId: &projectIdCreateNotMavenRepoDo, IncludesPattern: "**/*", Description: &descriptionCreateNotMavenRepoDo, RepositoryName: "test-pypi", Type: "hosted", Format: "pypi", } response, err := client.CreateArtifactory(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } } |
More
For SDK sample code of more programming languages, see the Sample Code tab in API Explorer. SDK sample code can be automatically generated.
Status Codes
Status Code |
Description |
---|---|
200 |
OK |
Error Codes
See Error Codes.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot