创建非maven仓库
功能介绍
创建非maven仓库
调用方法
请参见如何调用API。
URI
POST /cloudartifact/v5/artifact/
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
format |
是 |
String |
参数解释: 制品类型。 约束限制: 不涉及。 取值范围: docker|npm|go|pypi|rpm|composer|debian|conan|nuget|docker2|cocoapods|ohpm|generic。 默认取值: 无。 |
type |
是 |
String |
参数解释: 仓库类型。 约束限制: 不涉及。 取值范围: hosted:本地仓库。 默认取值: 无。 |
repository_name |
是 |
String |
参数解释: 仓库名称。 约束限制: 长度1-50。 取值范围: 不涉及。 默认取值: 无。 |
description |
否 |
String |
参数解释: 仓库描述。 约束限制: 最大长度200。 取值范围: 不涉及。 默认取值: 无。 |
includes_pattern |
是 |
String |
参数解释: 路径包含规则。 约束限制: 最大长度512。 取值范围: 不涉及。 默认取值: 无。 |
project_id |
否 |
String |
参数解释: 项目ID,可以从调用API处获取,也可以从控制台获取。获取方式请参考获取项目ID。 约束限制: 只能由英文字母、数字组成,且长度为32个字符。 取值范围: 不涉及。 默认取值: 无。 |
share_right |
否 |
String |
参数解释: 共享权限级别。 约束限制: 不涉及。 取值范围: PROJECT。 默认取值: 无。 |
响应参数
状态码:200
参数 |
参数类型 |
描述 |
---|---|---|
status |
String |
参数解释: 请求成功、失败状态。 取值范围: success:请求成功。 error:请求失败。 |
trace_id |
String |
参数解释: 请求id,当前请求唯一标识。 取值范围: 数字及中划线(-)组成的字符串。 |
result |
CreateArtifactoryResult object |
参数解释: 仓库信息。 取值范围: 不涉及。 |
参数 |
参数类型 |
描述 |
---|---|---|
status |
String |
参数解释: 仓库状态。 取值范围: active:正常。 delete:删除。 disabled:无效。 view:私有库浏览者。 trash:废弃。 |
domainId |
String |
参数解释: 租户id。 取值范围: 不涉及。 |
region |
String |
参数解释: 区域。 取值范围: 不涉及。 |
createdTime |
String |
参数解释: 创建时间,时间格式:yyyy-MM-dd HH:mm:ss。 取值范围: 不涉及。 |
modifiedTime |
String |
参数解释: 修改时间,时间格式:yyyy-MM-dd HH:mm:ss。 取值范围: 不涉及。 |
createdUserId |
String |
参数解释: 创建人id。 取值范围: 不涉及。 |
createdUserName |
String |
参数解释: 创建人名字。 取值范围: 不涉及。 |
modifiedUserId |
String |
参数解释: 修改人id。 取值范围: 不涉及。 |
modifiedUserName |
String |
参数解释: 修改人名字。 取值范围: 不涉及。 |
name |
String |
参数解释: 仓库id。 取值范围: 不涉及。 |
disable |
Boolean |
参数解释: 是否禁用。 取值范围: 不涉及。 |
format |
String |
参数解释: 制品类型。 取值范围: maven|maven2|npm|go|pypi|rpm|composer|debian|conan|nuget|docker2|cocoapods|ohpm|generic|helm|conda|huggingfaceml。 |
type |
String |
参数解释: 仓库类型。 取值范围: hosted:本地仓库。 remote:代理仓库。 virtual:聚合仓库。 |
policy |
String |
参数解释: 仓库策略。 取值范围: release或snapshot。 |
tabId |
String |
参数解释: 用于标记一对maven仓库(release、snapshot),相同的tab_id即为一对maven仓库。 取值范围: 不涉及。 |
repositoryName |
String |
参数解释: 仓库名称。 取值范围: 不涉及。 |
displayName |
String |
参数解释: 展示的仓库名称。 取值范围: 不涉及。 |
description |
String |
参数解释: 仓库描述。 取值范围: 不涉及。 |
snapshot |
String |
参数解释: snapshot仓库名称,release和snapshot至少二选一。 取值范围: 不涉及。 |
release |
String |
参数解释: release仓库名称,release和snapshot至少二选一。 取值范围: 不涉及。 |
npm |
String |
参数解释: npm。 取值范围: 不涉及。 |
snapshotStatus |
String |
参数解释: 快照仓状态。 取值范围: 不涉及。 |
releaseStatus |
String |
参数解释: 发布仓状态。 取值范围: 不涉及。 |
projectId |
String |
参数解释: 项目id。 取值范围: 不涉及。 |
includesPattern |
String |
参数解释: 路径包含规则。 取值范围: 不涉及。 |
repositoryIds |
Array of strings |
参数解释: 仓库id列表。 取值范围: 不涉及。 |
uri |
String |
参数解释: uri。 取值范围: 不涉及。 |
deploymentPolicy |
String |
参数解释: 覆盖策略。 取值范围: 不涉及。 |
repositories |
Array of strings |
参数解释: 仓库列表。 取值范围: 不涉及。 |
parentRepoName |
String |
参数解释: 父仓库名。 取值范围: 不涉及。 |
userName |
String |
参数解释: 用户名。 取值范围: 不涉及。 |
password |
String |
参数解释: 密码。 取值范围: 不涉及。 |
remoteUrl |
String |
参数解释: 代理仓地址。 取值范围: 不涉及。 |
defaultDeployRepository |
String |
参数解释: 默认仓库。 取值范围: 不涉及。 |
remoteType |
String |
参数解释: 代理仓类型。 取值范围: public:公共代理仓; customize:用户自定义代理仓。 |
proxy |
String |
参数解释: 代理。 取值范围: 不涉及。 |
allowAnonymous |
Boolean |
参数解释: 是否允许匿名下载。 取值范围: 不涉及。 |
autoCleanSnapshot |
Boolean |
参数解释: 是否自动清理快照版本。 取值范围: 不涉及。 |
snapshotAliveDays |
String |
参数解释: 快照版本有效期,单位:天。 取值范围: 不涉及。 |
maxUniqueSnapshots |
String |
参数解释: 最大快照数。 取值范围: 不涉及。 |
shareRight |
String |
参数解释: 共享权限级别。 取值范围: PROJECT。。 |
nexuRepo |
Boolean |
参数解释: 是否nexu仓库。 取值范围: 不涉及。 |
url |
String |
参数解释: 仓库地址。 取值范围: 不涉及。 |
packageType |
String |
参数解释: 制品类型。 取值范围: 可选值:maven|maven2|npm|go|pypi|rpm|composer|debian|conan|nuget|docker2|cocoapods|ohpm|generic|helm|conda|huggingfaceml。 |
请求示例
创建非maven仓库
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" }
响应示例
状态码: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代码示例
SDK代码示例如下。
Java
创建非maven仓库
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
创建非maven仓库
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
创建非maven仓库
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) } } |
更多
更多编程语言的SDK代码示例,请参见API Explorer的代码示例页签,可生成自动对应的SDK代码示例。
状态码
状态码 |
描述 |
---|---|
200 |
OK |
错误码
请参见错误码。