Modify a certificate
PUT /accounts/{account_id}/core/v1/certificates/{certificate_id}
Replaces the entire stored resource with the supplied JSON request body.
Side Effects
-
An updated CA certificate will be updated in the trust store.
-
If an existing trusted CA certificate becomes untrusted, it will be removed from the trust store.
-
If a certificate body is updated ("cert" field), the "isSelfSigned" indicator must be included to indicate the state of the new certificate. If the "isSelfSigned" indicator is not included in this case, the value will be set to "false".
-
If an update does not modify the certificate body ("cert" field), the "isSelfSigned" indicator is optional and the existing value will be retained if not provided.
Parameters
Name | Type | In | Required | Description |
---|---|---|---|---|
account_id |
string |
path |
True |
ID of the containing account resource
|
certificate_id |
string |
path |
True |
ID of the certificate collection to list |
Request Body
Replaces the entire stored resource with the supplied JSON request body.
Side Effects
-
An updated CA certificate will be updated in the trust store.
-
If an existing trusted CA certificate becomes untrusted, it will be removed from the trust store.
-
If a certificate body is updated ("cert" field), the "isSelfSigned" indicator must be included to indicate the state of the new certificate. If the "isSelfSigned" indicator is not included in this case, the value will be set to "false".
-
If an update does not modify the certificate body ("cert" field), the "isSelfSigned" indicator is optional and the existing value will be retained if not provided.
Name | Type | Required | Description |
---|---|---|---|
type |
string |
True |
Media type of the resource. Defined values are:
|
version |
string |
True |
Version of the resource. Defined values are:
|
id |
string |
False |
Globally unique identifier of the resource. Defined values are:
|
certUse |
string |
False |
JSON string indicating the use of the certificate. If not specified, defaults to "rootCA". Defined values are:
|
cert |
string |
False |
JSON string containing a base64 encoded PKCS-11 formatted certificate (PEM). Defined values are:
|
cn |
string |
False |
JSON string containing a common name extracted from the certificate. Defined values are:
|
expiryTimestamp |
string |
False |
JSON string containing a timestamp indicating when the certificate expires. Defined values are:
|
isSelfSigned |
string |
False |
JSON string indicating whether the certificate is self-signed. If not provided on create, the value defaults to "false". On update:
|
trustState |
string |
False |
JSON string containing one of a set of enumerated values indicating whether the certificate is trusted. Defined values are:
|
trustStateTransitions |
array[type_astra_stateTransition] |
False |
JSON array of JSON objects, each representing the set of permitted state transitions from a given defined state. Each JSON object contains the fields "from" and "to", where the "from" value is the name of a state, and the "to" value is an array of permitted destination states. |
trustStateDesired |
string |
False |
JSON string containing a value indicating whether the certificate is trusted. If not specified on create, the default value is "trusted". Defined values are:
|
trustStateDetails |
array[type_astra_stateDetail] |
False |
JSON array of JSON objects that lists additional details about the trust state of the certificate. If no details are available, this array will be empty.
|
metadata |
False |
Client and service-specified metadata associated with the resource. Defined values are:
|
Example request
{
"type": "application/astra-certificate",
"version": "1.1",
"trustStateDesired": "trusted"
}
Response
Status: 204, Indicates if the certificate resource was updated.
Response
Status: 401, Unauthorized
Name | Type | Required | Description |
---|---|---|---|
type |
string |
True |
|
title |
string |
True |
|
detail |
string |
True |
|
status |
string |
True |
|
correlationID |
string |
False |
Example response
{
"type": "https://astra.netapp.io/problems/3",
"title": "Missing bearer token",
"detail": "The request is missing the required bearer token.",
"status": "401"
}
Response
Status: 400, Bad request
Name | Type | Required | Description |
---|---|---|---|
type |
string |
True |
|
title |
string |
True |
|
detail |
string |
True |
|
status |
string |
True |
|
correlationID |
string |
False |
|
invalidFields |
array[invalidFields] |
False |
List of invalid request body fields |
Example response
{
"type": "https://astra.netapp.io/problems/5",
"title": "Invalid query parameters",
"detail": "The supplied query parameters are invalid.",
"status": "400"
}
Response
Status: 409, Conflict
Name | Type | Required | Description |
---|---|---|---|
type |
string |
True |
|
title |
string |
True |
|
detail |
string |
True |
|
status |
string |
True |
|
correlationID |
string |
False |
|
invalidFields |
array[invalidFields] |
False |
List of invalid request body fields |
Example response
{
"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"
}
Response
Status: 403, Forbidden
Name | Type | Required | Description |
---|---|---|---|
type |
string |
True |
|
title |
string |
True |
|
detail |
string |
True |
|
status |
string |
True |
|
correlationID |
string |
False |
Example response
{
"type": "https://astra.netapp.io/problems/11",
"title": "Operation not permitted",
"detail": "The requested operation isn't permitted.",
"status": "403"
}
Response
Status: 503, Service unavailable
Name | Type | Required | Description |
---|---|---|---|
type |
string |
True |
|
title |
string |
True |
|
detail |
string |
True |
|
status |
string |
True |
|
correlationID |
string |
False |
Example response
{
"type": "https://astra.netapp.io/problems/41",
"title": "Service not ready",
"detail": "Currently, the service can't respond to this request.",
"status": "503"
}
Error
Status: 404, Not found
Name | Type | Required | Description |
---|---|---|---|
type |
string |
True |
|
title |
string |
True |
|
detail |
string |
True |
|
status |
string |
True |
|
correlationID |
string |
False |
Example error response
{
"type": "https://astra.netapp.io/problems/2",
"title": "Collection not found",
"detail": "The collection specified in the request URI wasn't found.",
"status": "404"
}
Definitions
See Definitions
type_astra_stateTransition
Name | Type | Required | Description |
---|---|---|---|
from |
string |
True |
|
to |
array[string] |
True |
type_astra_stateDetail
Name | Type | Required | Description |
---|---|---|---|
type |
string |
True |
|
title |
string |
True |
|
detail |
string |
True |
type_astra_label
Name | Type | Required | Description |
---|---|---|---|
name |
string |
True |
|
value |
string |
True |
type_astra_metadata_update
Client and service-specified metadata associated with the resource. Defined values are:
-
Conforms to the Astra Metadata Schema If not specified on create, a metadata object will be created with no labels. If not specified on update, the metadata object's labels, creationTimestamp and createdBy, will be preserved without modification.
Name | Type | Required | Description |
---|---|---|---|
labels |
array[type_astra_label] |
False |
|
creationTimestamp |
string |
False |
|
modificationTimestamp |
string |
False |
|
createdBy |
string |
False |
|
modifiedBy |
string |
False |
invalidParams
Name | Type | Required | Description |
---|---|---|---|
name |
string |
True |
Name of the invalid query parameter |
reason |
string |
True |
Reason why the query parameter is invalid |
invalidFields
Name | Type | Required | Description |
---|---|---|---|
name |
string |
True |
Name of the invalid request body field |
reason |
string |
True |
Reason why the request body field is invalid |