Class: Aws::IoTTwinMaker::Types::CreateComponentTypeRequest

Inherits:
Struct
  • Object
show all
Includes:
Structure
Defined in:
lib/aws-sdk-iottwinmaker/types.rb

Overview

Note:

When making an API call, you may pass CreateComponentTypeRequest data as a hash:

{
  workspace_id: "Id", # required
  is_singleton: false,
  component_type_id: "ComponentTypeId", # required
  description: "Description",
  property_definitions: {
    "Name" => {
      data_type: {
        type: "RELATIONSHIP", # required, accepts RELATIONSHIP, STRING, LONG, BOOLEAN, INTEGER, DOUBLE, LIST, MAP
        nested_type: {
          # recursive DataType
        },
        allowed_values: [
          {
            boolean_value: false,
            double_value: 1.0,
            integer_value: 1,
            long_value: 1,
            string_value: "String",
            list_value: {
              # recursive DataValueList
            },
            map_value: {
              "String" => {
                # recursive DataValue
              },
            },
            relationship_value: {
              target_entity_id: "EntityId",
              target_component_name: "Name",
            },
            expression: "Expression",
          },
        ],
        unit_of_measure: "String",
        relationship: {
          target_component_type_id: "ComponentTypeId",
          relationship_type: "String",
        },
      },
      is_required_in_entity: false,
      is_external_id: false,
      is_stored_externally: false,
      is_time_series: false,
      default_value: {
        boolean_value: false,
        double_value: 1.0,
        integer_value: 1,
        long_value: 1,
        string_value: "String",
        list_value: [
          {
            # recursive DataValue
          },
        ],
        map_value: {
          "String" => {
            # recursive DataValue
          },
        },
        relationship_value: {
          target_entity_id: "EntityId",
          target_component_name: "Name",
        },
        expression: "Expression",
      },
      configuration: {
        "Name" => "Value",
      },
    },
  },
  extends_from: ["ComponentTypeId"],
  functions: {
    "Name" => {
      required_properties: ["Name"],
      scope: "ENTITY", # accepts ENTITY, WORKSPACE
      implemented_by: {
        lambda: {
          arn: "LambdaArn", # required
        },
        is_native: false,
      },
    },
  },
  tags: {
    "TagKey" => "TagValue",
  },
  property_groups: {
    "Name" => {
      group_type: "TABULAR", # accepts TABULAR
      property_names: ["Name"],
    },
  },
}

Constant Summary collapse

SENSITIVE =
[]

Instance Attribute Summary collapse

Instance Attribute Details

#component_type_idString

The ID of the component type.

Returns:

  • (String)


749
750
751
752
753
754
755
756
757
758
759
760
761
# File 'lib/aws-sdk-iottwinmaker/types.rb', line 749

class CreateComponentTypeRequest < Struct.new(
  :workspace_id,
  :is_singleton,
  :component_type_id,
  :description,
  :property_definitions,
  :extends_from,
  :functions,
  :tags,
  :property_groups)
  SENSITIVE = []
  include Aws::Structure
end

#descriptionString

The description of the component type.

Returns:

  • (String)


749
750
751
752
753
754
755
756
757
758
759
760
761
# File 'lib/aws-sdk-iottwinmaker/types.rb', line 749

class CreateComponentTypeRequest < Struct.new(
  :workspace_id,
  :is_singleton,
  :component_type_id,
  :description,
  :property_definitions,
  :extends_from,
  :functions,
  :tags,
  :property_groups)
  SENSITIVE = []
  include Aws::Structure
end

#extends_fromArray<String>

Specifies the parent component type to extend.

Returns:

  • (Array<String>)


749
750
751
752
753
754
755
756
757
758
759
760
761
# File 'lib/aws-sdk-iottwinmaker/types.rb', line 749

class CreateComponentTypeRequest < Struct.new(
  :workspace_id,
  :is_singleton,
  :component_type_id,
  :description,
  :property_definitions,
  :extends_from,
  :functions,
  :tags,
  :property_groups)
  SENSITIVE = []
  include Aws::Structure
end

#functionsHash<String,Types::FunctionRequest>

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

Returns:



749
750
751
752
753
754
755
756
757
758
759
760
761
# File 'lib/aws-sdk-iottwinmaker/types.rb', line 749

class CreateComponentTypeRequest < Struct.new(
  :workspace_id,
  :is_singleton,
  :component_type_id,
  :description,
  :property_definitions,
  :extends_from,
  :functions,
  :tags,
  :property_groups)
  SENSITIVE = []
  include Aws::Structure
end

#is_singletonBoolean

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

Returns:

  • (Boolean)


749
750
751
752
753
754
755
756
757
758
759
760
761
# File 'lib/aws-sdk-iottwinmaker/types.rb', line 749

class CreateComponentTypeRequest < Struct.new(
  :workspace_id,
  :is_singleton,
  :component_type_id,
  :description,
  :property_definitions,
  :extends_from,
  :functions,
  :tags,
  :property_groups)
  SENSITIVE = []
  include Aws::Structure
end

#property_definitionsHash<String,Types::PropertyDefinitionRequest>

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

Returns:



749
750
751
752
753
754
755
756
757
758
759
760
761
# File 'lib/aws-sdk-iottwinmaker/types.rb', line 749

class CreateComponentTypeRequest < Struct.new(
  :workspace_id,
  :is_singleton,
  :component_type_id,
  :description,
  :property_definitions,
  :extends_from,
  :functions,
  :tags,
  :property_groups)
  SENSITIVE = []
  include Aws::Structure
end

#property_groupsHash<String,Types::PropertyGroupRequest>

Returns:



749
750
751
752
753
754
755
756
757
758
759
760
761
# File 'lib/aws-sdk-iottwinmaker/types.rb', line 749

class CreateComponentTypeRequest < Struct.new(
  :workspace_id,
  :is_singleton,
  :component_type_id,
  :description,
  :property_definitions,
  :extends_from,
  :functions,
  :tags,
  :property_groups)
  SENSITIVE = []
  include Aws::Structure
end

#tagsHash<String,String>

Metadata that you can use to manage the component type.

Returns:

  • (Hash<String,String>)


749
750
751
752
753
754
755
756
757
758
759
760
761
# File 'lib/aws-sdk-iottwinmaker/types.rb', line 749

class CreateComponentTypeRequest < Struct.new(
  :workspace_id,
  :is_singleton,
  :component_type_id,
  :description,
  :property_definitions,
  :extends_from,
  :functions,
  :tags,
  :property_groups)
  SENSITIVE = []
  include Aws::Structure
end

#workspace_idString

The ID of the workspace that contains the component type.

Returns:

  • (String)


749
750
751
752
753
754
755
756
757
758
759
760
761
# File 'lib/aws-sdk-iottwinmaker/types.rb', line 749

class CreateComponentTypeRequest < Struct.new(
  :workspace_id,
  :is_singleton,
  :component_type_id,
  :description,
  :property_definitions,
  :extends_from,
  :functions,
  :tags,
  :property_groups)
  SENSITIVE = []
  include Aws::Structure
end