[ aws . iottwinmaker ]

create-component-type

Description

Creates a component type.

Warning

TwinMaker is in public preview and is subject to change.

See also: AWS API Documentation

See ‘aws help’ for descriptions of global parameters.

Synopsis

  create-component-type
--component-type-id <value>
[--description <value>]
[--extends-from <value>]
[--functions <value>]
[--is-singleton | --no-is-singleton]
[--property-definitions <value>]
[--tags <value>]
--workspace-id <value>
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]

Options

--component-type-id (string)

The ID of the component type.

--description (string)

The description of the component type.

--extends-from (list)

Specifies the parent component type to extend.

(string)

Syntax:

"string" "string" ...

--functions (map)

An object that maps strings to the functions in the component type. Each string in the mapping must be unique to this object.

key -> (string)

value -> (structure)

The function request body.

implementedBy -> (structure)

The data connector.

isNative -> (boolean)

A Boolean value that specifies whether the data connector is native to TwinMaker.

lambda -> (structure)

The Lambda function associated with this data connector.

arn -> (string)

The ARN of the Lambda function.

requiredProperties -> (list)

The required properties of the function.

(string)

scope -> (string)

The scope of the function.

Shorthand Syntax:

KeyName1=implementedBy={isNative=boolean,lambda={arn=string}},requiredProperties=string,string,scope=string,KeyName2=implementedBy={isNative=boolean,lambda={arn=string}},requiredProperties=string,string,scope=string

JSON Syntax:

{"string": {
      "implementedBy": {
        "isNative": true|false,
        "lambda": {
          "arn": "string"
        }
      },
      "requiredProperties": ["string", ...],
      "scope": "ENTITY"|"WORKSPACE"
    }
  ...}

--is-singleton | --no-is-singleton (boolean)

A Boolean value that specifies whether an entity can have more than one component of this type.

--property-definitions (map)

An object that maps strings to the property definitions in the component type. Each string in the mapping must be unique to this object.

key -> (string)

value -> (structure)

An object that sets information about a property.

configuration -> (map)

A mapping that specifies configuration information about the property. Use this field to specify information that you read from and write to an external source.

key -> (string)

value -> (string)

dataType -> (structure)

An object that contains information about the data type.

allowedValues -> (list)

The allowed values for this data type.

(structure)

An object that specifies a value for a property.

booleanValue -> (boolean)

A Boolean value.

doubleValue -> (double)

A double value.

expression -> (string)

An expression that produces the value.

integerValue -> (integer)

An integer value.

listValue -> (list)

A list of multiple values.

(structure)

An object that specifies a value for a property.

booleanValue -> (boolean)

A Boolean value.

doubleValue -> (double)

A double value.

expression -> (string)

An expression that produces the value.

integerValue -> (integer)

An integer value.

longValue -> (long)

A long value.

mapValue -> (map)

An object that maps strings to multiple DataValue objects.

key -> (string)

( … recursive … )

relationshipValue -> (structure)

A value that relates a component to another component.

targetComponentName -> (string)

The name of the target component associated with the relationship value.

targetEntityId -> (string)

The ID of the target entity associated with this relationship value.

stringValue -> (string)

A string value.

longValue -> (long)

A long value.

mapValue -> (map)

An object that maps strings to multiple DataValue objects.

key -> (string)

value -> (structure)

An object that specifies a value for a property.

booleanValue -> (boolean)

A Boolean value.

doubleValue -> (double)

A double value.

expression -> (string)

An expression that produces the value.

integerValue -> (integer)

An integer value.

listValue -> (list)

A list of multiple values.

( … recursive … )

longValue -> (long)

A long value.

mapValue -> (map)

An object that maps strings to multiple DataValue objects.

key -> (string)

( … recursive … )

relationshipValue -> (structure)

A value that relates a component to another component.

targetComponentName -> (string)

The name of the target component associated with the relationship value.

targetEntityId -> (string)

The ID of the target entity associated with this relationship value.

stringValue -> (string)

A string value.

relationshipValue -> (structure)

A value that relates a component to another component.

targetComponentName -> (string)

The name of the target component associated with the relationship value.

targetEntityId -> (string)

The ID of the target entity associated with this relationship value.

stringValue -> (string)

A string value.

nestedType -> (structure)

The nested type in the data type.

allowedValues -> (list)

The allowed values for this data type.

(structure)

An object that specifies a value for a property.

booleanValue -> (boolean)

A Boolean value.

doubleValue -> (double)

A double value.

expression -> (string)

An expression that produces the value.

integerValue -> (integer)

An integer value.

listValue -> (list)

A list of multiple values.

(structure)

An object that specifies a value for a property.

booleanValue -> (boolean)

A Boolean value.

doubleValue -> (double)

A double value.

expression -> (string)

An expression that produces the value.

integerValue -> (integer)

An integer value.

longValue -> (long)

A long value.

mapValue -> (map)

An object that maps strings to multiple DataValue objects.

key -> (string)

( … recursive … )

relationshipValue -> (structure)

A value that relates a component to another component.

targetComponentName -> (string)

The name of the target component associated with the relationship value.

targetEntityId -> (string)

The ID of the target entity associated with this relationship value.

stringValue -> (string)

A string value.

longValue -> (long)

A long value.

mapValue -> (map)

An object that maps strings to multiple DataValue objects.

key -> (string)

value -> (structure)

An object that specifies a value for a property.

booleanValue -> (boolean)

A Boolean value.

doubleValue -> (double)

A double value.

expression -> (string)

An expression that produces the value.

integerValue -> (integer)

An integer value.

listValue -> (list)

A list of multiple values.

( … recursive … )

longValue -> (long)

A long value.

mapValue -> (map)

An object that maps strings to multiple DataValue objects.

key -> (string)

( … recursive … )

relationshipValue -> (structure)

A value that relates a component to another component.

targetComponentName -> (string)

The name of the target component associated with the relationship value.

targetEntityId -> (string)

The ID of the target entity associated with this relationship value.

stringValue -> (string)

A string value.

relationshipValue -> (structure)

A value that relates a component to another component.

targetComponentName -> (string)

The name of the target component associated with the relationship value.

targetEntityId -> (string)

The ID of the target entity associated with this relationship value.

stringValue -> (string)

A string value.

( … recursive … )relationship -> (structure)

A relationship that associates a component with another component.

relationshipType -> (string)

The type of the relationship.

targetComponentTypeId -> (string)

The ID of the target component type associated with this relationship.

type -> (string)

The underlying type of the data type.

unitOfMeasure -> (string)

The unit of measure used in this data type.

relationship -> (structure)

A relationship that associates a component with another component.

relationshipType -> (string)

The type of the relationship.

targetComponentTypeId -> (string)

The ID of the target component type associated with this relationship.

type -> (string)

The underlying type of the data type.

unitOfMeasure -> (string)

The unit of measure used in this data type.

defaultValue -> (structure)

An object that contains the default value.

booleanValue -> (boolean)

A Boolean value.

doubleValue -> (double)

A double value.

expression -> (string)

An expression that produces the value.

integerValue -> (integer)

An integer value.

listValue -> (list)

A list of multiple values.

(structure)

An object that specifies a value for a property.

booleanValue -> (boolean)

A Boolean value.

doubleValue -> (double)

A double value.

expression -> (string)

An expression that produces the value.

integerValue -> (integer)

An integer value.

listValue -> (list)

A list of multiple values.

( … recursive … )

longValue -> (long)

A long value.

mapValue -> (map)

An object that maps strings to multiple DataValue objects.

key -> (string)

( … recursive … )

relationshipValue -> (structure)

A value that relates a component to another component.

targetComponentName -> (string)

The name of the target component associated with the relationship value.

targetEntityId -> (string)

The ID of the target entity associated with this relationship value.

stringValue -> (string)

A string value.

longValue -> (long)

A long value.

mapValue -> (map)

An object that maps strings to multiple DataValue objects.

key -> (string)

value -> (structure)

An object that specifies a value for a property.

booleanValue -> (boolean)

A Boolean value.

doubleValue -> (double)

A double value.

expression -> (string)

An expression that produces the value.

integerValue -> (integer)

An integer value.

listValue -> (list)

A list of multiple values.

( … recursive … )

longValue -> (long)

A long value.

mapValue -> (map)

An object that maps strings to multiple DataValue objects.

key -> (string)

( … recursive … )

relationshipValue -> (structure)

A value that relates a component to another component.

targetComponentName -> (string)

The name of the target component associated with the relationship value.

targetEntityId -> (string)

The ID of the target entity associated with this relationship value.

stringValue -> (string)

A string value.

relationshipValue -> (structure)

A value that relates a component to another component.

targetComponentName -> (string)

The name of the target component associated with the relationship value.

targetEntityId -> (string)

The ID of the target entity associated with this relationship value.

stringValue -> (string)

A string value.

isExternalId -> (boolean)

A Boolean value that specifies whether the property ID comes from an external data store.

isRequiredInEntity -> (boolean)

A Boolean value that specifies whether the property is required.

isStoredExternally -> (boolean)

A Boolean value that specifies whether the property is stored externally.

isTimeSeries -> (boolean)

A Boolean value that specifies whether the property consists of time series data.

JSON Syntax:

{"string": {
      "configuration": {"string": "string"
        ...},
      "dataType": {
        "allowedValues": [
          {
            "booleanValue": true|false,
            "doubleValue": double,
            "expression": "string",
            "integerValue": integer,
            "listValue": [
              {
                "booleanValue": true|false,
                "doubleValue": double,
                "expression": "string",
                "integerValue": integer,
                "listValue": ,
                "longValue": long,
                "mapValue": {"string": { ... recursive ... }
                  ...},
                "relationshipValue": {
                  "targetComponentName": "string",
                  "targetEntityId": "string"
                },
                "stringValue": "string"
              }
              ...
            ],
            "longValue": long,
            "mapValue": {"string": {
                  "booleanValue": true|false,
                  "doubleValue": double,
                  "expression": "string",
                  "integerValue": integer,
                  "listValue": [
                    { ... recursive ... }
                    ...
                  ],
                  "longValue": long,
                  "mapValue": {"string": { ... recursive ... }
                    ...},
                  "relationshipValue": {
                    "targetComponentName": "string",
                    "targetEntityId": "string"
                  },
                  "stringValue": "string"
                }
              ...},
            "relationshipValue": {
              "targetComponentName": "string",
              "targetEntityId": "string"
            },
            "stringValue": "string"
          }
          ...
        ],
        "nestedType": {
          "allowedValues": [
            {
              "booleanValue": true|false,
              "doubleValue": double,
              "expression": "string",
              "integerValue": integer,
              "listValue": [
                {
                  "booleanValue": true|false,
                  "doubleValue": double,
                  "expression": "string",
                  "integerValue": integer,
                  "listValue": ,
                  "longValue": long,
                  "mapValue": {"string": { ... recursive ... }
                    ...},
                  "relationshipValue": {
                    "targetComponentName": "string",
                    "targetEntityId": "string"
                  },
                  "stringValue": "string"
                }
                ...
              ],
              "longValue": long,
              "mapValue": {"string": {
                    "booleanValue": true|false,
                    "doubleValue": double,
                    "expression": "string",
                    "integerValue": integer,
                    "listValue": [
                      { ... recursive ... }
                      ...
                    ],
                    "longValue": long,
                    "mapValue": {"string": { ... recursive ... }
                      ...},
                    "relationshipValue": {
                      "targetComponentName": "string",
                      "targetEntityId": "string"
                    },
                    "stringValue": "string"
                  }
                ...},
              "relationshipValue": {
                "targetComponentName": "string",
                "targetEntityId": "string"
              },
              "stringValue": "string"
            }
            ...
          ],
          "nestedType": { ... recursive ... },
          "relationship": {
            "relationshipType": "string",
            "targetComponentTypeId": "string"
          },
          "type": "RELATIONSHIP"|"STRING"|"LONG"|"BOOLEAN"|"INTEGER"|"DOUBLE"|"LIST"|"MAP",
          "unitOfMeasure": "string"
        },
        "relationship": {
          "relationshipType": "string",
          "targetComponentTypeId": "string"
        },
        "type": "RELATIONSHIP"|"STRING"|"LONG"|"BOOLEAN"|"INTEGER"|"DOUBLE"|"LIST"|"MAP",
        "unitOfMeasure": "string"
      },
      "defaultValue": {
        "booleanValue": true|false,
        "doubleValue": double,
        "expression": "string",
        "integerValue": integer,
        "listValue": [
          {
            "booleanValue": true|false,
            "doubleValue": double,
            "expression": "string",
            "integerValue": integer,
            "listValue": [
              { ... recursive ... }
              ...
            ],
            "longValue": long,
            "mapValue": {"string": { ... recursive ... }
              ...},
            "relationshipValue": {
              "targetComponentName": "string",
              "targetEntityId": "string"
            },
            "stringValue": "string"
          }
          ...
        ],
        "longValue": long,
        "mapValue": {"string": {
              "booleanValue": true|false,
              "doubleValue": double,
              "expression": "string",
              "integerValue": integer,
              "listValue": [
                { ... recursive ... }
                ...
              ],
              "longValue": long,
              "mapValue": {"string": { ... recursive ... }
                ...},
              "relationshipValue": {
                "targetComponentName": "string",
                "targetEntityId": "string"
              },
              "stringValue": "string"
            }
          ...},
        "relationshipValue": {
          "targetComponentName": "string",
          "targetEntityId": "string"
        },
        "stringValue": "string"
      },
      "isExternalId": true|false,
      "isRequiredInEntity": true|false,
      "isStoredExternally": true|false,
      "isTimeSeries": true|false
    }
  ...}

--tags (map)

Metadata that you can use to manage the component type.

key -> (string)

value -> (string)

Shorthand Syntax:

KeyName1=string,KeyName2=string

JSON Syntax:

{"string": "string"
  ...}

--workspace-id (string)

The ID of the workspace that contains the component type.

--cli-input-json | --cli-input-yaml (string) Reads arguments from the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with --cli-input-yaml.

--generate-cli-skeleton (string) Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input, prints a sample input JSON that can be used as an argument for --cli-input-json. Similarly, if provided yaml-input it will print a sample input YAML that can be used with --cli-input-yaml. If provided with the value output, it validates the command inputs and returns a sample output JSON for that command.

See ‘aws help’ for descriptions of global parameters.

Output

arn -> (string)

The ARN of the component type.

creationDateTime -> (timestamp)

The date and time when the entity was created.

state -> (string)

The current state of the component type.