Class: AWSCDK::IoTSiteWise::CfnAssetModel::AssetModelHierarchyProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
io_t_site_wise/cfn_asset_model.rb

Overview

Describes an asset hierarchy that contains a hierarchy's name, ID, and child asset model ID that specifies the type of asset that can be in this hierarchy.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(child_asset_model_id:, name:, external_id: nil, id: nil, logical_id: nil) ⇒ AssetModelHierarchyProperty

Returns a new instance of AssetModelHierarchyProperty.

Parameters:

  • child_asset_model_id (String)

    The ID of the asset model, in UUID format.

  • name (String)

    The name of the asset model hierarchy that you specify by using the CreateAssetModel or UpdateAssetModel API operation.

  • external_id (String, nil) (defaults to: nil)

    The external ID (if any) provided in the CreateAssetModel or UpdateAssetModel operation. You can assign an external ID by specifying this value as part of a call to UpdateAssetModel . However, you can't change the external ID if one is already assigned. For more information, see Using external IDs in the AWS IoT SiteWise User Guide .

  • id (String, nil) (defaults to: nil)

    The ID of the asset model hierarchy. This ID is a hierarchyId .

  • logical_id (String, nil) (defaults to: nil)

    The LogicalID of the asset model hierarchy. This ID is a hierarchyLogicalId .



798
799
800
801
802
803
804
805
806
807
808
809
# File 'io_t_site_wise/cfn_asset_model.rb', line 798

def initialize(child_asset_model_id:, name:, external_id: nil, id: nil, logical_id: nil)
  @child_asset_model_id = child_asset_model_id
  Jsii::Type.check_type(@child_asset_model_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "childAssetModelId")
  @name = name
  Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name")
  @external_id = external_id
  Jsii::Type.check_type(@external_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "externalId") unless @external_id.nil?
  @id = id
  Jsii::Type.check_type(@id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "id") unless @id.nil?
  @logical_id = logical_id
  Jsii::Type.check_type(@logical_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "logicalId") unless @logical_id.nil?
end

Instance Attribute Details

#child_asset_model_idString (readonly)

The ID of the asset model, in UUID format.

All assets in this hierarchy must be instances of the child_asset_model_id asset model. AWS IoT SiteWise will always return the actual asset model ID for this value. However, when you are specifying this value as part of a call to UpdateAssetModel , you may provide either the asset model ID or else externalId: followed by the asset model's external ID. For more information, see Using external IDs in the AWS IoT SiteWise User Guide .



817
818
819
# File 'io_t_site_wise/cfn_asset_model.rb', line 817

def child_asset_model_id
  @child_asset_model_id
end

#external_idString? (readonly)

The external ID (if any) provided in the CreateAssetModel or UpdateAssetModel operation. You can assign an external ID by specifying this value as part of a call to UpdateAssetModel . However, you can't change the external ID if one is already assigned. For more information, see Using external IDs in the AWS IoT SiteWise User Guide .

One of ExternalId or LogicalId must be specified.



829
830
831
# File 'io_t_site_wise/cfn_asset_model.rb', line 829

def external_id
  @external_id
end

#idString? (readonly)

The ID of the asset model hierarchy. This ID is a hierarchyId .

This is a return value and can't be set.

  • If you are callling UpdateAssetModel to create a new hierarchy: You can specify its ID here, if desired. AWS IoT SiteWise automatically generates a unique ID for you, so this parameter is never required. However, if you prefer to supply your own ID instead, you can specify it here in UUID format. If you specify your own ID, it must be globally unique.
  • If you are calling UpdateAssetModel to modify an existing hierarchy: This can be either the actual ID in UUID format, or else externalId: followed by the external ID, if it has one. For more information, see Referencing objects with external IDs in the AWS IoT SiteWise User Guide .


839
840
841
# File 'io_t_site_wise/cfn_asset_model.rb', line 839

def id
  @id
end

#logical_idString? (readonly)

The LogicalID of the asset model hierarchy. This ID is a hierarchyLogicalId .

One of ExternalId or LogicalId must be specified.



846
847
848
# File 'io_t_site_wise/cfn_asset_model.rb', line 846

def logical_id
  @logical_id
end

#nameString (readonly)

The name of the asset model hierarchy that you specify by using the CreateAssetModel or UpdateAssetModel API operation.



822
823
824
# File 'io_t_site_wise/cfn_asset_model.rb', line 822

def name
  @name
end

Class Method Details

.jsii_propertiesObject



848
849
850
851
852
853
854
855
856
# File 'io_t_site_wise/cfn_asset_model.rb', line 848

def self.jsii_properties
  {
    :child_asset_model_id => "childAssetModelId",
    :name => "name",
    :external_id => "externalId",
    :id => "id",
    :logical_id => "logicalId",
  }
end

Instance Method Details

#to_jsiiObject



858
859
860
861
862
863
864
865
866
867
868
# File 'io_t_site_wise/cfn_asset_model.rb', line 858

def to_jsii
  result = {}
  result.merge!({
    "childAssetModelId" => @child_asset_model_id,
    "name" => @name,
    "externalId" => @external_id,
    "id" => @id,
    "logicalId" => @logical_id,
  })
  result.compact
end