创建新凭据
POST /accounts/{account_id}/core/v1/credentials
指示要创建的凭据 API 资源的所需值。
参数
| 名称 | Type | 在 | Required | Description |
|---|---|---|---|---|
account_id |
string |
path |
True |
包含帐户资源的 ID
|
请求正文
指示要创建的凭据 API 资源的所需值。
| 名称 | Type | Required | Description |
|---|---|---|---|
type |
string |
True |
资源的媒体类型。定义的值为:
|
version |
string |
True |
资源的版本。定义的值为:
|
name |
string |
True |
包含用户指定名称的 JSON 字符串。为用户创建凭据时,名称将设置为该用户的 UUID。定义的值为:
|
keyType |
string |
False |
包含可选的用户指定的数据验证类型描述符的 JSON 字符串,用于 keyStore 的内容。扩展更新约束:
|
keyStore |
True |
包含 JSON 字符串的 JSON 对象。keyStore 中的每个字符串代表凭据的一部分。每个字符串的名称表示凭据部分,相应的 key-value 以 base64 格式存储凭据该部分的值。定义的值为:
|
|
valid |
string |
False |
描述凭据是否可以使用的 JSON 字符串。默认值(如果省略)为"true"。定义的值是:
|
validFromTimestamp |
string |
False |
包含指示凭据何时有效的时间戳的 JSON 字符串。这些用于凭据轮换。定义的值是:
|
validUntilTimestamp |
string |
False |
包含指示凭据何时不再有效的时间戳的 JSON 字符串。这些用于凭据轮换。定义的值是:
|
元数据 |
False |
与资源关联的客户端和服务指定的元数据。定义的值为:
|
请求示例
{
"type": "application/astra-credential",
"version": "1.1",
"name": "myCert",
"keyStore": {
"privKey": "SGkh",
"pubKey": "VGhpcyBpcyBhbiBleGFtcGxlLg=="
}
}
响应
Status: 201, Returns the newly created credential resource in the JSON response body.
| 名称 | Type | Required | Description |
|---|---|---|---|
type |
string |
True |
资源的媒体类型。定义的值为:
|
version |
string |
True |
资源的版本。定义的值为:
|
id |
string |
True |
资源的全局唯一标识符。定义的值为:
|
name |
string |
True |
包含用户指定名称的 JSON 字符串。为用户创建凭据时,名称将设置为该用户的 UUID。定义的值为:
|
keyType |
string |
False |
包含可选的用户指定的数据验证类型描述符的 JSON 字符串,用于 keyStore 的内容。扩展更新约束:
|
valid |
string |
True |
描述凭据是否可以使用的 JSON 字符串。默认值(如果省略)为"true"。定义的值是:
|
validFromTimestamp |
string |
False |
包含指示凭据何时有效的时间戳的 JSON 字符串。这些用于凭据轮换。定义的值是:
|
validUntilTimestamp |
string |
False |
包含指示凭据何时不再有效的时间戳的 JSON 字符串。这些用于凭据轮换。定义的值是:
|
元数据 |
True |
与资源关联的客户端和服务指定的元数据。定义的值为:
|
响应示例
{
"type": "application/astra-credential",
"version": "1.1",
"id": "58e26f6a-a631-5122-8e0e-7afe306675c0",
"name": "myCert",
"valid": "true",
"metadata": {
"labels": [],
"creationTimestamp": "2022-10-06T20:58:16.305662Z",
"modificationTimestamp": "2022-10-06T20:58:16.305662Z",
"createdBy": "8f84cf09-8036-51e4-b579-bd30cb07b269"
}
}
响应
Status: 401, Unauthorized
| 名称 | Type | Required | Description |
|---|---|---|---|
type |
string |
True |
|
标题 |
string |
True |
|
详细信息 |
string |
True |
|
状态 |
string |
True |
|
correlationID |
string |
False |
响应示例
{
"type": "https://astra.netapp.io/problems/3",
"title": "Missing bearer token",
"detail": "The request is missing the required bearer token.",
"status": "401"
}
响应
Status: 400, Bad request
| 名称 | Type | Required | Description |
|---|---|---|---|
type |
string |
True |
|
标题 |
string |
True |
|
详细信息 |
string |
True |
|
状态 |
string |
True |
|
correlationID |
string |
False |
|
invalidFields |
数组["invalidFields"] |
False |
无效请求正文字段列表 |
响应示例
{
"type": "https://astra.netapp.io/problems/5",
"title": "Invalid query parameters",
"detail": "The supplied query parameters are invalid.",
"status": "400"
}
响应
Status: 409, Conflict
| 名称 | Type | Required | Description |
|---|---|---|---|
type |
string |
True |
|
标题 |
string |
True |
|
详细信息 |
string |
True |
|
状态 |
string |
True |
|
correlationID |
string |
False |
|
invalidFields |
数组["invalidFields"] |
False |
无效请求正文字段列表 |
响应示例
{
"type": "https://astra.netapp.io/problems/10",
"title": "JSON resource conflict",
"detail": "The request body JSON contains a field that conflicts with an idempotent value.",
"status": "409"
}
响应
Status: 403, Forbidden
| 名称 | Type | Required | Description |
|---|---|---|---|
type |
string |
True |
|
标题 |
string |
True |
|
详细信息 |
string |
True |
|
状态 |
string |
True |
|
correlationID |
string |
False |
响应示例
{
"type": "https://astra.netapp.io/problems/11",
"title": "Operation not permitted",
"detail": "The requested operation isn't permitted.",
"status": "403"
}
错误
Status: 404, Not found
| 名称 | Type | Required | Description |
|---|---|---|---|
type |
string |
True |
|
标题 |
string |
True |
|
详细信息 |
string |
True |
|
状态 |
string |
True |
|
correlationID |
string |
False |
错误响应示例
{
"type": "https://astra.netapp.io/problems/2",
"title": "Collection not found",
"detail": "The collection specified in the request URI wasn't found.",
"status": "404"
}
定义
查看定义
keyStore
包含 JSON 字符串的 JSON 对象。keyStore 中的每个字符串代表凭据的一部分。每个字符串的名称表示凭据部分,相应的 key-value 以 base64 格式存储凭据该部分的值。定义的值为:
-
符合 base64 编码数据架构,对字符串的长度没有限制。
将字符串映射到字符串的哈希
类型 Astra 标签
| 名称 | Type | Required | Description |
|---|---|---|---|
name |
string |
True |
|
value |
string |
True |
type_astra_metadata_update
与资源关联的客户端和服务指定的元数据。定义的值为:
-
符合 Astra 元数据架构如果在创建时未指定,则将创建没有标签的元数据对象。如果在更新时未指定,则元数据对象的标签、creationTimestamp 和 createdBy 将保留而不进行修改。
| 名称 | Type | Required | Description |
|---|---|---|---|
labels |
数组["类型 Astra 标签"] |
False |
|
creationTimestamp |
string |
False |
|
modificationTimestamp |
string |
False |
|
已创建 |
string |
False |
|
modifiedBy |
string |
False |
invalidParams
| 名称 | Type | Required | Description |
|---|---|---|---|
name |
string |
True |
无效查询参数的名称 |
原因 |
string |
True |
查询参数无效的原因 |
invalidFields
| 名称 | Type | Required | Description |
|---|---|---|---|
name |
string |
True |
无效请求正文字段的名称 |
原因 |
string |
True |
请求正文字段无效的原因 |