CreateComponentType
Creates a component type.
Request Syntax
POST /workspaces/workspaceId
/component-types/componentTypeId
HTTP/1.1
Content-type: application/json
{
"componentTypeName": "string
",
"compositeComponentTypes": {
"string
" : {
"componentTypeId": "string
"
}
},
"description": "string
",
"extendsFrom": [ "string
" ],
"functions": {
"string
" : {
"implementedBy": {
"isNative": boolean
,
"lambda": {
"arn": "string
"
}
},
"requiredProperties": [ "string
" ],
"scope": "string
"
}
},
"isSingleton": boolean
,
"propertyDefinitions": {
"string
" : {
"configuration": {
"string
" : "string
"
},
"dataType": {
"allowedValues": [
{
"booleanValue": boolean
,
"doubleValue": number
,
"expression": "string
",
"integerValue": number
,
"listValue": [
"DataValue"
],
"longValue": number
,
"mapValue": {
"string
" : "DataValue"
},
"relationshipValue": {
"targetComponentName": "string
",
"targetEntityId": "string
"
},
"stringValue": "string
"
}
],
"nestedType": "DataType",
"relationship": {
"relationshipType": "string
",
"targetComponentTypeId": "string
"
},
"type": "string
",
"unitOfMeasure": "string
"
},
"defaultValue": {
"booleanValue": boolean
,
"doubleValue": number
,
"expression": "string
",
"integerValue": number
,
"listValue": [
"DataValue"
],
"longValue": number
,
"mapValue": {
"string
" : "DataValue"
},
"relationshipValue": {
"targetComponentName": "string
",
"targetEntityId": "string
"
},
"stringValue": "string
"
},
"displayName": "string
",
"isExternalId": boolean
,
"isRequiredInEntity": boolean
,
"isStoredExternally": boolean
,
"isTimeSeries": boolean
}
},
"propertyGroups": {
"string
" : {
"groupType": "string
",
"propertyNames": [ "string
" ]
}
},
"tags": {
"string
" : "string
"
}
}
URI Request Parameters
The request uses the following URI parameters.
- componentTypeId
-
The ID of the component type.
Length Constraints: Minimum length of 1. Maximum length of 256.
Pattern:
[a-zA-Z_\.\-0-9:]+
Required: Yes
- workspaceId
-
The ID of the workspace that contains the component type.
Length Constraints: Minimum length of 1. Maximum length of 128.
Pattern:
[a-zA-Z_0-9][a-zA-Z_\-0-9]*[a-zA-Z0-9]+
Required: Yes
Request Body
The request accepts the following data in JSON format.
- componentTypeName
-
A friendly name for the component type.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 256.
Pattern:
.*[^\u0000-\u001F\u007F]*.*
Required: No
- compositeComponentTypes
-
This is an object that maps strings to
compositeComponentTypes
of thecomponentType
.CompositeComponentType
is referenced bycomponentTypeId
.Type: String to CompositeComponentTypeRequest object map
Key Length Constraints: Minimum length of 1. Maximum length of 256.
Key Pattern:
[a-zA-Z_\-0-9]+
Required: No
- description
-
The description of the component type.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 2048.
Pattern:
.*
Required: No
- extendsFrom
-
Specifies the parent component type to extend.
Type: Array of strings
Length Constraints: Minimum length of 1. Maximum length of 256.
Pattern:
[a-zA-Z_\.\-0-9:]+
Required: No
- functions
-
An object that maps strings to the functions in the component type. Each string in the mapping must be unique to this object.
Type: String to FunctionRequest object map
Key Length Constraints: Minimum length of 1. Maximum length of 256.
Key Pattern:
[a-zA-Z_\-0-9]+
Required: No
- isSingleton
-
A Boolean value that specifies whether an entity can have more than one component of this type.
Type: Boolean
Required: No
- propertyDefinitions
-
An object that maps strings to the property definitions in the component type. Each string in the mapping must be unique to this object.
Type: String to PropertyDefinitionRequest object map
Key Length Constraints: Minimum length of 1. Maximum length of 256.
Key Pattern:
[a-zA-Z_\-0-9]+
Required: No
- propertyGroups
-
Type: String to PropertyGroupRequest object map
Key Length Constraints: Minimum length of 1. Maximum length of 256.
Key Pattern:
[a-zA-Z_\-0-9]+
Required: No
-
Metadata that you can use to manage the component type.
Type: String to string map
Map Entries: Minimum number of 0 items. Maximum number of 50 items.
Key Length Constraints: Minimum length of 1. Maximum length of 128.
Key Pattern:
([\p{L}\p{Z}\p{N}_.:/=+\-@]*)
Value Length Constraints: Minimum length of 1. Maximum length of 256.
Value Pattern:
.*
Required: No
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"arn": "string",
"creationDateTime": number,
"state": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
- arn
-
The ARN of the component type.
Type: String
Length Constraints: Minimum length of 20. Maximum length of 2048.
Pattern:
arn:((aws)|(aws-cn)|(aws-us-gov)):iottwinmaker:[a-z0-9-]+:[0-9]{12}:[\/a-zA-Z0-9_\-\.:]+
- creationDateTime
-
The date and time when the entity was created.
Type: Timestamp
- state
-
The current state of the component type.
Type: String
Valid Values:
CREATING | UPDATING | DELETING | ACTIVE | ERROR
Errors
For information about the errors that are common to all actions, see Common Errors.
- AccessDeniedException
-
Access is denied.
HTTP Status Code: 403
- ConflictException
-
A conflict occurred.
HTTP Status Code: 409
- InternalServerException
-
An unexpected error has occurred.
HTTP Status Code: 500
- ServiceQuotaExceededException
-
The service quota was exceeded.
HTTP Status Code: 402
- ThrottlingException
-
The rate exceeds the limit.
HTTP Status Code: 429
- ValidationException
-
Failed
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: