/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the iotsitewise-2019-12-02.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.IoTSiteWise.Model
{
///
/// Container for the parameters to the CreateAssetModel operation.
/// Creates an asset model from specified property and hierarchy definitions. You create
/// assets from asset models. With asset models, you can easily create assets of the same
/// type that have standardized definitions. Each asset created from a model inherits
/// the asset model's property and hierarchy definitions. For more information, see Defining
/// asset models in the IoT SiteWise User Guide.
///
public partial class CreateAssetModelRequest : AmazonIoTSiteWiseRequest
{
private List _assetModelCompositeModels = new List();
private string _assetModelDescription;
private List _assetModelHierarchies = new List();
private string _assetModelName;
private List _assetModelProperties = new List();
private string _clientToken;
private Dictionary _tags = new Dictionary();
///
/// Gets and sets the property AssetModelCompositeModels.
///
/// The composite asset models that are part of this asset model. Composite asset models
/// are asset models that contain specific properties. Each composite model has a type
/// that defines the properties that the composite model supports. Use composite asset
/// models to define alarms on this asset model.
///
///
public List AssetModelCompositeModels
{
get { return this._assetModelCompositeModels; }
set { this._assetModelCompositeModels = value; }
}
// Check to see if AssetModelCompositeModels property is set
internal bool IsSetAssetModelCompositeModels()
{
return this._assetModelCompositeModels != null && this._assetModelCompositeModels.Count > 0;
}
///
/// Gets and sets the property AssetModelDescription.
///
/// A description for the asset model.
///
///
[AWSProperty(Min=1, Max=2048)]
public string AssetModelDescription
{
get { return this._assetModelDescription; }
set { this._assetModelDescription = value; }
}
// Check to see if AssetModelDescription property is set
internal bool IsSetAssetModelDescription()
{
return this._assetModelDescription != null;
}
///
/// Gets and sets the property AssetModelHierarchies.
///
/// The hierarchy definitions of the asset model. Each hierarchy specifies an asset model
/// whose assets can be children of any other assets created from this asset model. For
/// more information, see Asset
/// hierarchies in the IoT SiteWise User Guide.
///
///
///
/// You can specify up to 10 hierarchies per asset model. For more information, see Quotas
/// in the IoT SiteWise User Guide.
///
///
public List AssetModelHierarchies
{
get { return this._assetModelHierarchies; }
set { this._assetModelHierarchies = value; }
}
// Check to see if AssetModelHierarchies property is set
internal bool IsSetAssetModelHierarchies()
{
return this._assetModelHierarchies != null && this._assetModelHierarchies.Count > 0;
}
///
/// Gets and sets the property AssetModelName.
///
/// A unique, friendly name for the asset model.
///
///
[AWSProperty(Required=true, Min=1, Max=256)]
public string AssetModelName
{
get { return this._assetModelName; }
set { this._assetModelName = value; }
}
// Check to see if AssetModelName property is set
internal bool IsSetAssetModelName()
{
return this._assetModelName != null;
}
///
/// Gets and sets the property AssetModelProperties.
///
/// The property definitions of the asset model. For more information, see Asset
/// properties in the IoT SiteWise User Guide.
///
///
///
/// You can specify up to 200 properties per asset model. For more information, see Quotas
/// in the IoT SiteWise User Guide.
///
///
public List AssetModelProperties
{
get { return this._assetModelProperties; }
set { this._assetModelProperties = value; }
}
// Check to see if AssetModelProperties property is set
internal bool IsSetAssetModelProperties()
{
return this._assetModelProperties != null && this._assetModelProperties.Count > 0;
}
///
/// Gets and sets the property ClientToken.
///
/// A unique case-sensitive identifier that you can provide to ensure the idempotency
/// of the request. Don't reuse this client token if a new idempotent request is required.
///
///
[AWSProperty(Min=36, Max=64)]
public string ClientToken
{
get { return this._clientToken; }
set { this._clientToken = value; }
}
// Check to see if ClientToken property is set
internal bool IsSetClientToken()
{
return this._clientToken != null;
}
///
/// Gets and sets the property Tags.
///
/// A list of key-value pairs that contain metadata for the asset model. For more information,
/// see Tagging
/// your IoT SiteWise resources in the IoT SiteWise User Guide.
///
///
[AWSProperty(Min=1, Max=50)]
public Dictionary Tags
{
get { return this._tags; }
set { this._tags = value; }
}
// Check to see if Tags property is set
internal bool IsSetTags()
{
return this._tags != null && this._tags.Count > 0;
}
}
}