CreateAssetType
Creates a custom asset type.
Prerequisites:
-
The form type with
typeIdentifier
andtypeRevision
must exist and be published. -
You must have
CreateAssetType
permissions. -
The domain-identifier and owning-project-identifier must be valid and active.
-
The name of the asset type must be unique within the domain — duplicate names will cause failure.
-
JSON input must be valid — incorrect formatting causes Invalid JSON errors.
Request Syntax
POST /v2/domains/domainIdentifier
/asset-types HTTP/1.1
Content-type: application/json
{
"description": "string
",
"formsInput": {
"string
" : {
"required": boolean
,
"typeIdentifier": "string
",
"typeRevision": "string
"
}
},
"name": "string
",
"owningProjectIdentifier": "string
"
}
URI Request Parameters
The request uses the following URI parameters.
- domainIdentifier
-
The unique identifier of the Amazon DataZone domain where the custom asset type is being created.
Pattern:
dzd[-_][a-zA-Z0-9_-]{1,36}
Required: Yes
Request Body
The request accepts the following data in JSON format.
- description
-
The descripton of the custom asset type.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 2048.
Required: No
- formsInput
-
The metadata forms that are to be attached to the custom asset type.
Type: String to FormEntryInput object map
Map Entries: Minimum number of 0 items. Maximum number of 10 items.
Key Length Constraints: Minimum length of 1. Maximum length of 128.
Key Pattern:
(?![0-9_])\w+$|^_\w*[a-zA-Z0-9]\w*
Required: Yes
- name
-
The name of the custom asset type.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 256.
Pattern:
[^\.]*.*
Required: Yes
- owningProjectIdentifier
-
The identifier of the Amazon DataZone project that is to own the custom asset type.
Type: String
Pattern:
[a-zA-Z0-9_-]{1,36}
Required: Yes
Response Syntax
HTTP/1.1 201
Content-type: application/json
{
"createdAt": number,
"createdBy": "string",
"description": "string",
"domainId": "string",
"formsOutput": {
"string" : {
"required": boolean,
"typeName": "string",
"typeRevision": "string"
}
},
"name": "string",
"originDomainId": "string",
"originProjectId": "string",
"owningProjectId": "string",
"revision": "string",
"updatedAt": number,
"updatedBy": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 201 response.
The following data is returned in JSON format by the service.
- createdAt
-
The timestamp of when the asset type is to be created.
Type: Timestamp
- createdBy
-
The Amazon DataZone user who creates this custom asset type.
Type: String
- description
-
The description of the custom asset type.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 2048.
- domainId
-
The ID of the Amazon DataZone domain in which the asset type was created.
Type: String
Pattern:
dzd[-_][a-zA-Z0-9_-]{1,36}
- formsOutput
-
The metadata forms that are attached to the asset type.
Type: String to FormEntryOutput object map
Map Entries: Minimum number of 0 items. Maximum number of 10 items.
Key Length Constraints: Minimum length of 1. Maximum length of 128.
Key Pattern:
(?![0-9_])\w+$|^_\w*[a-zA-Z0-9]\w*
- name
-
The name of the asset type.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 256.
Pattern:
[^\.]*.*
- originDomainId
-
The ID of the Amazon DataZone domain where the asset type was originally created.
Type: String
Pattern:
dzd[-_][a-zA-Z0-9_-]{1,36}
- originProjectId
-
The ID of the Amazon DataZone project where the asset type was originally created.
Type: String
Pattern:
[a-zA-Z0-9_-]{1,36}
- owningProjectId
-
The ID of the Amazon DataZone project that currently owns this asset type.
Type: String
Pattern:
[a-zA-Z0-9_-]{1,36}
- revision
-
The revision of the custom asset type.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 64.
- updatedAt
-
The timestamp of when the custom type was created.
Type: Timestamp
- updatedBy
-
The Amazon DataZone user that created the custom asset type.
Type: String
Errors
For information about the errors that are common to all actions, see Common Errors.
- AccessDeniedException
-
You do not have sufficient access to perform this action.
HTTP Status Code: 403
- ConflictException
-
There is a conflict while performing this action.
HTTP Status Code: 409
- InternalServerException
-
The request has failed because of an unknown error, exception or failure.
HTTP Status Code: 500
- ServiceQuotaExceededException
-
The request has exceeded the specified service quota.
HTTP Status Code: 402
- ThrottlingException
-
The request was denied due to request throttling.
HTTP Status Code: 429
- UnauthorizedException
-
You do not have permission to perform this action.
HTTP Status Code: 401
- ValidationException
-
The input fails to satisfy the constraints specified by the AWS service.
HTTP Status Code: 400
Examples
Example
This example illustrates one usage of CreateAssetType.
Sample Request
aws datazone create-asset-type \ --domain-identifier "dzd_53ielnpxktdilj" \ --owning-project-identifier "prj9vn4wxyz8k2m" \ --name "DataProductAssetType" \ --forms-input '{ "DataProductMetadataForm": { "required": true, "typeIdentifier": "DataProductMetadataForm", "typeRevision": "1" } }'
Sample Response
{
"description": "Asset type for Data Product using DataProductMetadataForm",
"domainId": "dzd_53ielnpxktdilj",
"formsOutput": {
"AssetCommonDetailsForm": {
"required": false,
"typeName": "amazon.datazone.AssetCommonDetailsFormType",
"typeRevision": "6"
},
"DataProductMetadataForm": {
"required": true,
"typeName": "DataProductMetadataForm",
"typeRevision": "1"
}
},
"name": "DataProductAssetType",
"revision": "1"
}
Example
Failure case - missing --forms-input
:
Sample Request
aws datazone create-asset-type \
--domain-identifier "dzd_53ielnpxktdilj" \
--owning-project-identifier "prj7nx82mkl" \
--name "CustomerDataAssetType"
Sample Response
aws: error: the following arguments are required: —forms-input
Example
Failure case - invalid typeIdentifier
:
Sample Request
aws datazone create-asset-type \
--domain-identifier "dzd_53ielnpxktdilj" \
--owning-project-identifier "prj7nx82mkl" \
--name "CustomerDataAssetType" \
--forms-input '{
"CustomerProfileForm": {
"required": true,
"typeIdentifier": "NonExistentFormType",
"typeRevision": "1"
}
}'
Sample Response
An error occurred (ValidationException) when calling the CreateAssetType operation: {"message":"Object type Form#dzd_53ielnpxktdilj#NonExistentFormType with version 1 not found"}
Example
Failure case - invalid JSON:
Sample Request
aws datazone create-asset-type \
--domain-identifier "dzd_53ielnpxktdilj" \
--owning-project-identifier "prj7nx82mkl" \
--name "CustomerDataAssetType" \
--forms-input '{"CustomerProfileForm": {"required": true, "typeIdentifier": "CustomerProfileFormType", "typeRevision": 1'
Sample Response
Error parsing parameter '--forms-input': Invalid JSON: Expecting ',' delimiter: line 1 column 77 (char 76)
JSON received: {"CustomerProfileForm": {"required": true, "typeIdentifier": "CustomerProfileFormType", "typeRevision": 1
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: