Create a new license
POST /accounts/{account_id}/core/v1/licenses
Indicates the desired values for the License API resource to be created.
Parameters
Name | Type | In | Required | Description |
---|---|---|---|---|
account_id |
string |
path |
True |
ID of the containing account resource
|
Request Body
Indicates the desired values for the License API resource to be created.
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:
|
allocation |
string |
False |
JSON string containing an ID indicating what the license is allocated to. Only present when the license is allocated. For Astra Control Center licenses, this field must be populated with the account ID and must match the account ID specified in the POST URI. Defined values are:
|
deviceCredentialID |
string |
False |
JSON string containing the identifier of the deviceCredential associated with the Credential API. Only present for Astra Data Store licenses. Defined value are:
|
licenseText |
string |
True |
JSON string containing a base64 encoded representation of the license JSON as obtained from the NetApp license system. This must be provided in the original byte-level order to allow signature verification. Defined values are:
|
metadata |
False |
Client and service-specified metadata associated with the resource. Defined values are:
|
Example request
{
"type": "application/astra-license",
"version": "1.0",
"allocation": "4185d09b-6687-4801-a832-c005a9d94f41",
"licenseText": "ewogICAic3RhdHVzUmVzcCI6ewogMTYwNzAwIgp9"
}
Response
Status: 201, Returns the newly created license resource in the JSON response body.
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 |
True |
Globally unique identifier of the resource. Defined values are:
|
allocation |
string |
False |
JSON string containing an ID indicating what the license is allocated to. Only present when the license is allocated. For Astra Control Center licenses, this field must be populated with the account ID and must match the account ID specified in the POST URI. Defined values are:
|
hostID |
string |
False |
JSON string containing a host identifier that a license is bound to. Only present if the license is host-locked. Defined values are:
|
deviceCredentialID |
string |
False |
JSON string containing the identifier of the deviceCredential associated with the Credential API. Only present for Astra Data Store licenses. Defined value are:
|
isEvaluation |
string |
True |
JSON string indicating whether the license is an evaluation license. Defined values are:
|
licenseProtocol |
string |
True |
JSON string containing the license protocol extracted from the license. Defined values are:
|
licenseText |
string |
True |
JSON string containing a base64 encoded representation of the license JSON as obtained from the NetApp license system. This must be provided in the original byte-level order to allow signature verification. Defined values are:
|
validFromTimestamp |
string |
True |
JSON string containing a timestamp indicating when the license becomes valid. Defined values are:
|
validUntilTimestamp |
string |
True |
JSON string containing a timestamp indicating when the license is no longer valid. Defined values are:
|
product |
string |
True |
JSON string containing the product string extracted from the license. Defined values are:
|
productVersion |
string |
True |
JSON string containing the version string extracted from the license. Defined values are:
|
productSN |
string |
True |
JSON string containing the serial number string extracted from the license. Defined values are:
|
features |
string |
True |
JSON string containing the package value extracted from the license. Defined values are:
|
capacity |
string |
True |
JSON string containing the capacity extracted from the license. |
capacity2 |
string |
True |
JSON string containing the secondary capacity extracted from the license. |
addons |
array[addons] |
False |
JSON array of JSON objects containing the list of add-ons from the license. An add-on is a change in license occurring at a potential future date. |
metadata |
True |
Client and service-specified metadata associated with the resource. Defined values are:
|
Example response
{
"type": "application/astra-license",
"version": "1.0",
"id": "6db53b32-8417-5d3c-8ef0-552fc602c78f",
"allocation": "4185d09b-6687-4801-a832-c005a9d94f41",
"hostID": "99132549-e0c2-4203-9d1e-598628b4ff9b",
"isEvaluation": "false",
"licenseProtocol": "ASTRASDS-ENT-SUBS",
"licenseText": "ewogICAic3RhdHVzUmVzcCI6ewogMTYwNzAwIgp9",
"validFromTimestamp": "2020-08-06T00:00:00.000000Z",
"validUntilTimestamp": "2021-08-06T00:00:00.000000Z",
"product": "Astra Control Center",
"productVersion": "1.0",
"productSN": "320000046",
"features": "ASTRA-ENT-STD",
"capacity": "4000",
"capacity2": "0",
"addons": [
{
"startDate": "2020-08-06T00:00:00.000000Z",
"endDate": "2021-08-06T00:00:00.000000Z",
"capacity": "4000",
"licenseProtocol": "ASTRA-ENT-STD",
"features": "p-nfs,dm-storage-policy-based-pvs-for-k8s,dm-spbm-based-vvols-for-vms,dm-storage-efficiency,dm-data-at-rest-encryption"
}
],
"metadata": {
"labels": [],
"creationTimestamp": "2022-10-06T20:58:16.305662Z",
"modificationTimestamp": "2022-10-06T20:58:16.305662Z",
"createdBy": "8f84cf09-8036-51e4-b579-bd30cb07b269"
}
}
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 |
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"
}
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_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 |
addons
Name | Type | Required | Description |
---|---|---|---|
startDate |
string |
False |
JSON string containing a timestamp indicating when this add-on becomes valid. Defined values are:
|
endDate |
string |
False |
JSON string containing a timestamp indicating when this add-on is no longer valid. Defined values are:
|
features |
string |
False |
JSON string containing the list of features associated with this add-on. Defined values are:
|
capacity |
string |
False |
JSON string containing the capacity extracted from the add-on. Defined values are:
|
licenseProtocol |
string |
False |
JSON string containing the license protocol associated with this add-on. Defined values are:
|
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 |