/* eslint-disable */ /** * This file was automatically generated by json-schema-to-typescript. * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file, * and run json-schema-to-typescript to regenerate this file. */ export type PropertyName = string; /** * Resource schema for AWS::IoTTwinMaker::Entity */ export interface AwsIottwinmakerEntity { /** * The ID of the entity. */ EntityId?: string; /** * The name of the entity. */ EntityName: string; Status?: Status; /** * A Boolean value that specifies whether the entity has child entities or not. */ HasChildEntities?: boolean; /** * The ID of the parent entity. */ ParentEntityId?: string; /** * The ARN of the entity. */ Arn?: string; /** * The description of the entity. */ Description?: string; /** * The date and time when the entity was created. */ CreationDateTime?: string; /** * The last date and time when the entity was updated. */ UpdateDateTime?: string; /** * A key-value pair to associate with a resource. */ Tags?: { /** * This interface was referenced by `undefined`'s JSON-Schema definition * via the `patternProperty` "^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$". */ [k: string]: string; }; /** * The ID of the workspace. */ WorkspaceId: string; /** * A map that sets information about a component type. */ Components?: { [k: string]: Component; }; } /** * The current status of the entity. */ export interface Status { State?: "CREATING" | "UPDATING" | "DELETING" | "ACTIVE" | "ERROR"; Error?: | {} | { Message?: string; Code?: "VALIDATION_ERROR" | "INTERNAL_FAILURE"; }; } /** * This interface was referenced by `undefined`'s JSON-Schema definition * via the `patternProperty` "[a-zA-Z_\-0-9]+". */ export interface Component { /** * The name of the component. */ ComponentName?: string; /** * The ID of the component type. */ ComponentTypeId?: string; /** * The description of the component. */ Description?: string; /** * The name of the property definition set in the component. */ DefinedIn?: string; /** * An object that maps strings to the properties to set in the component type. Each string in the mapping must be unique to this object. */ Properties?: { [k: string]: Property; }; /** * An object that maps strings to the property groups to set in the component type. Each string in the mapping must be unique to this object. */ PropertyGroups?: { [k: string]: PropertyGroup; }; Status?: Status1; } /** * This interface was referenced by `undefined`'s JSON-Schema definition * via the `patternProperty` "[a-zA-Z_\-0-9]+". */ export interface Property { /** * An object that specifies information about a property. */ Definition?: { Configuration?: PropertyDefinitionConfiguration; DataType?: DataType; DefaultValue?: DataValue1; /** * A Boolean value that specifies whether the property ID comes from an external data store. */ IsExternalId?: boolean; /** * A Boolean value that specifies whether the property definition can be updated. */ IsFinal?: boolean; /** * A Boolean value that specifies whether the property definition is imported from an external data store. */ IsImported?: boolean; /** * A Boolean value that specifies whether the property definition is inherited from a parent entity. */ IsInherited?: boolean; /** * A Boolean value that specifies whether the property is required. */ IsRequiredInEntity?: boolean; /** * A Boolean value that specifies whether the property is stored externally. */ IsStoredExternally?: boolean; /** * A Boolean value that specifies whether the property consists of time series data. */ IsTimeSeries?: boolean; }; Value?: DataValue2; } /** * An object that specifies information about a property. */ export interface PropertyDefinitionConfiguration { /** * This interface was referenced by `PropertyDefinitionConfiguration`'s JSON-Schema definition * via the `patternProperty` "[a-zA-Z_\-0-9]+". */ [k: string]: string; } /** * An object that contains information about the data type. */ export interface DataType { /** * The allowed values for this data type. * * @minItems 0 * @maxItems 50 */ AllowedValues?: DataValue[]; NestedType?: DataType1; Relationship?: Relationship; /** * The underlying type of the data type. */ Type?: "RELATIONSHIP" | "STRING" | "LONG" | "BOOLEAN" | "INTEGER" | "DOUBLE" | "LIST" | "MAP"; /** * The unit of measure used in this data type. */ UnitOfMeasure?: string; } /** * An object that specifies a value for a property. */ export interface DataValue { /** * A Boolean value. */ BooleanValue?: boolean; /** * A double value. */ DoubleValue?: number; /** * An expression that produces the value. */ Expression?: string; /** * An integer value. */ IntegerValue?: number; /** * A list of multiple values. * * @minItems 0 * @maxItems 50 */ ListValue?: DataValue[]; /** * A long value. */ LongValue?: number; /** * A string value. */ StringValue?: string; /** * An object that maps strings to multiple DataValue objects. */ MapValue?: { [k: string]: DataValue; }; /** * A value that relates a component to another component. */ RelationshipValue?: { TargetComponentName?: string; TargetEntityId?: string; }; } /** * The nested type in the data type. */ export interface DataType1 { /** * The allowed values for this data type. * * @minItems 0 * @maxItems 50 */ AllowedValues?: DataValue[]; NestedType?: DataType1; Relationship?: Relationship; /** * The underlying type of the data type. */ Type?: "RELATIONSHIP" | "STRING" | "LONG" | "BOOLEAN" | "INTEGER" | "DOUBLE" | "LIST" | "MAP"; /** * The unit of measure used in this data type. */ UnitOfMeasure?: string; } /** * A relationship that associates a component with another component. */ export interface Relationship { /** * The type of the relationship. */ RelationshipType?: string; /** * The ID of the target component type associated with this relationship. */ TargetComponentTypeId?: string; } /** * An object that specifies a value for a property. */ export interface DataValue1 { /** * A Boolean value. */ BooleanValue?: boolean; /** * A double value. */ DoubleValue?: number; /** * An expression that produces the value. */ Expression?: string; /** * An integer value. */ IntegerValue?: number; /** * A list of multiple values. * * @minItems 0 * @maxItems 50 */ ListValue?: DataValue[]; /** * A long value. */ LongValue?: number; /** * A string value. */ StringValue?: string; /** * An object that maps strings to multiple DataValue objects. */ MapValue?: { [k: string]: DataValue; }; /** * A value that relates a component to another component. */ RelationshipValue?: { TargetComponentName?: string; TargetEntityId?: string; }; } /** * An object that specifies a value for a property. */ export interface DataValue2 { /** * A Boolean value. */ BooleanValue?: boolean; /** * A double value. */ DoubleValue?: number; /** * An expression that produces the value. */ Expression?: string; /** * An integer value. */ IntegerValue?: number; /** * A list of multiple values. * * @minItems 0 * @maxItems 50 */ ListValue?: DataValue[]; /** * A long value. */ LongValue?: number; /** * A string value. */ StringValue?: string; /** * An object that maps strings to multiple DataValue objects. */ MapValue?: { [k: string]: DataValue; }; /** * A value that relates a component to another component. */ RelationshipValue?: { TargetComponentName?: string; TargetEntityId?: string; }; } /** * An object that specifies information about a property group. * * This interface was referenced by `undefined`'s JSON-Schema definition * via the `patternProperty` "[a-zA-Z_\-0-9]+". */ export interface PropertyGroup { /** * The type of property group. */ GroupType?: "TABULAR"; /** * The list of property names in the property group. * * @minItems 1 * @maxItems 256 */ PropertyNames?: [PropertyName, ...PropertyName[]]; } /** * The current status of the entity. */ export interface Status1 { State?: "CREATING" | "UPDATING" | "DELETING" | "ACTIVE" | "ERROR"; Error?: | {} | { Message?: string; Code?: "VALIDATION_ERROR" | "INTERNAL_FAILURE"; }; }