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:

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

Constant Summary collapse

SENSITIVE =
[]

Instance Attribute Summary collapse

Instance Attribute Details

#component_type_idString

The ID of the component type.

Returns:

  • (String)


624
625
626
627
628
629
630
631
632
633
634
635
# File 'lib/aws-sdk-iottwinmaker/types.rb', line 624

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

#descriptionString

The description of the component type.

Returns:

  • (String)


624
625
626
627
628
629
630
631
632
633
634
635
# File 'lib/aws-sdk-iottwinmaker/types.rb', line 624

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

#extends_fromArray<String>

Specifies the parent component type to extend.

Returns:

  • (Array<String>)


624
625
626
627
628
629
630
631
632
633
634
635
# File 'lib/aws-sdk-iottwinmaker/types.rb', line 624

class CreateComponentTypeRequest < Struct.new(
  :component_type_id,
  :description,
  :extends_from,
  :functions,
  :is_singleton,
  :property_definitions,
  :tags,
  :workspace_id)
  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:



624
625
626
627
628
629
630
631
632
633
634
635
# File 'lib/aws-sdk-iottwinmaker/types.rb', line 624

class CreateComponentTypeRequest < Struct.new(
  :component_type_id,
  :description,
  :extends_from,
  :functions,
  :is_singleton,
  :property_definitions,
  :tags,
  :workspace_id)
  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)


624
625
626
627
628
629
630
631
632
633
634
635
# File 'lib/aws-sdk-iottwinmaker/types.rb', line 624

class CreateComponentTypeRequest < Struct.new(
  :component_type_id,
  :description,
  :extends_from,
  :functions,
  :is_singleton,
  :property_definitions,
  :tags,
  :workspace_id)
  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:



624
625
626
627
628
629
630
631
632
633
634
635
# File 'lib/aws-sdk-iottwinmaker/types.rb', line 624

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

#tagsHash<String,String>

Metadata that you can use to manage the component type.

Returns:

  • (Hash<String,String>)


624
625
626
627
628
629
630
631
632
633
634
635
# File 'lib/aws-sdk-iottwinmaker/types.rb', line 624

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

#workspace_idString

The ID of the workspace that contains the component type.

Returns:

  • (String)


624
625
626
627
628
629
630
631
632
633
634
635
# File 'lib/aws-sdk-iottwinmaker/types.rb', line 624

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