Skip to content

Commit c72a809

Browse files
Support Interface for IoT SiteWise Asset Modeling
1 parent 2ea1964 commit c72a809

File tree

56 files changed

+5975
-53
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+5975
-53
lines changed

generator/ServiceModels/iotsitewise/iotsitewise-2019-12-02.api.json

Lines changed: 296 additions & 8 deletions
Large diffs are not rendered by default.

generator/ServiceModels/iotsitewise/iotsitewise-2019-12-02.docs.json

Lines changed: 151 additions & 6 deletions
Large diffs are not rendered by default.

generator/ServiceModels/iotsitewise/iotsitewise-2019-12-02.normal.json

Lines changed: 400 additions & 13 deletions
Large diffs are not rendered by default.

generator/ServiceModels/iotsitewise/iotsitewise-2019-12-02.paginators.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,12 @@
146146
"limit_key": "maxResults",
147147
"result_key": "gatewaySummaries"
148148
},
149+
"ListInterfaceRelationships": {
150+
"input_token": "nextToken",
151+
"output_token": "nextToken",
152+
"limit_key": "maxResults",
153+
"result_key": "interfaceRelationshipSummaries"
154+
},
149155
"ListPortals": {
150156
"input_token": "nextToken",
151157
"output_token": "nextToken",

sdk/code-analysis/ServiceAnalysis/IoTSiteWise/Generated/PropertyValueRules.xml

Lines changed: 169 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -613,6 +613,42 @@
613613
<property>Amazon.IoTSiteWise.Model.DeleteAssetModelCompositeModelRequest.IfNoneMatch</property>
614614
<pattern>\*</pattern>
615615
</property-value-rule>
616+
<property-value-rule>
617+
<property>Amazon.IoTSiteWise.Model.DeleteAssetModelInterfaceRelationshipRequest.AssetModelId</property>
618+
<min>13</min>
619+
<max>139</max>
620+
<pattern>^(?!00000000-0000-0000-0000-000000000000)[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$|^externalId:[a-zA-Z0-9_][a-zA-Z_\-0-9.:]*[a-zA-Z0-9_]+</pattern>
621+
</property-value-rule>
622+
<property-value-rule>
623+
<property>Amazon.IoTSiteWise.Model.DeleteAssetModelInterfaceRelationshipRequest.ClientToken</property>
624+
<min>36</min>
625+
<max>64</max>
626+
<pattern>\S{36,64}</pattern>
627+
</property-value-rule>
628+
<property-value-rule>
629+
<property>Amazon.IoTSiteWise.Model.DeleteAssetModelInterfaceRelationshipRequest.InterfaceAssetModelId</property>
630+
<min>13</min>
631+
<max>139</max>
632+
<pattern>^(?!00000000-0000-0000-0000-000000000000)[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$|^externalId:[a-zA-Z0-9_][a-zA-Z_\-0-9.:]*[a-zA-Z0-9_]+</pattern>
633+
</property-value-rule>
634+
<property-value-rule>
635+
<property>Amazon.IoTSiteWise.Model.DeleteAssetModelInterfaceRelationshipResponse.AssetModelArn</property>
636+
<min>1</min>
637+
<max>1600</max>
638+
<pattern>^arn:aws(-cn|-us-gov)?:[a-zA-Z0-9-:\/_\.]+$</pattern>
639+
</property-value-rule>
640+
<property-value-rule>
641+
<property>Amazon.IoTSiteWise.Model.DeleteAssetModelInterfaceRelationshipResponse.AssetModelId</property>
642+
<min>36</min>
643+
<max>36</max>
644+
<pattern>^(?!00000000-0000-0000-0000-000000000000)[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$</pattern>
645+
</property-value-rule>
646+
<property-value-rule>
647+
<property>Amazon.IoTSiteWise.Model.DeleteAssetModelInterfaceRelationshipResponse.InterfaceAssetModelId</property>
648+
<min>36</min>
649+
<max>36</max>
650+
<pattern>^(?!00000000-0000-0000-0000-000000000000)[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$</pattern>
651+
</property-value-rule>
616652
<property-value-rule>
617653
<property>Amazon.IoTSiteWise.Model.DeleteComputationModelRequest.ClientToken</property>
618654
<min>36</min>
@@ -930,6 +966,30 @@
930966
<max>36</max>
931967
<pattern>^(?!00000000-0000-0000-0000-000000000000)[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$</pattern>
932968
</property-value-rule>
969+
<property-value-rule>
970+
<property>Amazon.IoTSiteWise.Model.DescribeAssetModelInterfaceRelationshipRequest.AssetModelId</property>
971+
<min>13</min>
972+
<max>139</max>
973+
<pattern>^(?!00000000-0000-0000-0000-000000000000)[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$|^externalId:[a-zA-Z0-9_][a-zA-Z_\-0-9.:]*[a-zA-Z0-9_]+</pattern>
974+
</property-value-rule>
975+
<property-value-rule>
976+
<property>Amazon.IoTSiteWise.Model.DescribeAssetModelInterfaceRelationshipRequest.InterfaceAssetModelId</property>
977+
<min>13</min>
978+
<max>139</max>
979+
<pattern>^(?!00000000-0000-0000-0000-000000000000)[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$|^externalId:[a-zA-Z0-9_][a-zA-Z_\-0-9.:]*[a-zA-Z0-9_]+</pattern>
980+
</property-value-rule>
981+
<property-value-rule>
982+
<property>Amazon.IoTSiteWise.Model.DescribeAssetModelInterfaceRelationshipResponse.AssetModelId</property>
983+
<min>36</min>
984+
<max>36</max>
985+
<pattern>^(?!00000000-0000-0000-0000-000000000000)[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$</pattern>
986+
</property-value-rule>
987+
<property-value-rule>
988+
<property>Amazon.IoTSiteWise.Model.DescribeAssetModelInterfaceRelationshipResponse.InterfaceAssetModelId</property>
989+
<min>36</min>
990+
<max>36</max>
991+
<pattern>^(?!00000000-0000-0000-0000-000000000000)[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$</pattern>
992+
</property-value-rule>
933993
<property-value-rule>
934994
<property>Amazon.IoTSiteWise.Model.DescribeAssetPropertyRequest.AssetId</property>
935995
<min>13</min>
@@ -2058,6 +2118,29 @@
20582118
<max>4096</max>
20592119
<pattern>[A-Za-z0-9+/=]+</pattern>
20602120
</property-value-rule>
2121+
<property-value-rule>
2122+
<property>Amazon.IoTSiteWise.Model.ListInterfaceRelationshipsRequest.InterfaceAssetModelId</property>
2123+
<min>13</min>
2124+
<max>139</max>
2125+
<pattern>^(?!00000000-0000-0000-0000-000000000000)[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$|^externalId:[a-zA-Z0-9_][a-zA-Z_\-0-9.:]*[a-zA-Z0-9_]+</pattern>
2126+
</property-value-rule>
2127+
<property-value-rule>
2128+
<property>Amazon.IoTSiteWise.Model.ListInterfaceRelationshipsRequest.MaxResults</property>
2129+
<min>1</min>
2130+
<max>250</max>
2131+
</property-value-rule>
2132+
<property-value-rule>
2133+
<property>Amazon.IoTSiteWise.Model.ListInterfaceRelationshipsRequest.NextToken</property>
2134+
<min>1</min>
2135+
<max>4096</max>
2136+
<pattern>[A-Za-z0-9+/=]+</pattern>
2137+
</property-value-rule>
2138+
<property-value-rule>
2139+
<property>Amazon.IoTSiteWise.Model.ListInterfaceRelationshipsResponse.NextToken</property>
2140+
<min>1</min>
2141+
<max>4096</max>
2142+
<pattern>[A-Za-z0-9+/=]+</pattern>
2143+
</property-value-rule>
20612144
<property-value-rule>
20622145
<property>Amazon.IoTSiteWise.Model.ListPortalsRequest.MaxResults</property>
20632146
<min>1</min>
@@ -2154,6 +2237,42 @@
21542237
<max>4096</max>
21552238
<pattern>[A-Za-z0-9+/=]+</pattern>
21562239
</property-value-rule>
2240+
<property-value-rule>
2241+
<property>Amazon.IoTSiteWise.Model.PutAssetModelInterfaceRelationshipRequest.AssetModelId</property>
2242+
<min>13</min>
2243+
<max>139</max>
2244+
<pattern>^(?!00000000-0000-0000-0000-000000000000)[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$|^externalId:[a-zA-Z0-9_][a-zA-Z_\-0-9.:]*[a-zA-Z0-9_]+</pattern>
2245+
</property-value-rule>
2246+
<property-value-rule>
2247+
<property>Amazon.IoTSiteWise.Model.PutAssetModelInterfaceRelationshipRequest.ClientToken</property>
2248+
<min>36</min>
2249+
<max>64</max>
2250+
<pattern>\S{36,64}</pattern>
2251+
</property-value-rule>
2252+
<property-value-rule>
2253+
<property>Amazon.IoTSiteWise.Model.PutAssetModelInterfaceRelationshipRequest.InterfaceAssetModelId</property>
2254+
<min>13</min>
2255+
<max>139</max>
2256+
<pattern>^(?!00000000-0000-0000-0000-000000000000)[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$|^externalId:[a-zA-Z0-9_][a-zA-Z_\-0-9.:]*[a-zA-Z0-9_]+</pattern>
2257+
</property-value-rule>
2258+
<property-value-rule>
2259+
<property>Amazon.IoTSiteWise.Model.PutAssetModelInterfaceRelationshipResponse.AssetModelArn</property>
2260+
<min>1</min>
2261+
<max>1600</max>
2262+
<pattern>^arn:aws(-cn|-us-gov)?:[a-zA-Z0-9-:\/_\.]+$</pattern>
2263+
</property-value-rule>
2264+
<property-value-rule>
2265+
<property>Amazon.IoTSiteWise.Model.PutAssetModelInterfaceRelationshipResponse.AssetModelId</property>
2266+
<min>36</min>
2267+
<max>36</max>
2268+
<pattern>^(?!00000000-0000-0000-0000-000000000000)[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$</pattern>
2269+
</property-value-rule>
2270+
<property-value-rule>
2271+
<property>Amazon.IoTSiteWise.Model.PutAssetModelInterfaceRelationshipResponse.InterfaceAssetModelId</property>
2272+
<min>36</min>
2273+
<max>36</max>
2274+
<pattern>^(?!00000000-0000-0000-0000-000000000000)[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$</pattern>
2275+
</property-value-rule>
21572276
<property-value-rule>
21582277
<property>Amazon.IoTSiteWise.Model.PutDefaultEncryptionConfigurationRequest.KmsKeyId</property>
21592278
<min>1</min>
@@ -3549,6 +3668,18 @@
35493668
<max>256</max>
35503669
<pattern>\S+</pattern>
35513670
</property-value-rule>
3671+
<property-value-rule>
3672+
<property>Amazon.IoTSiteWise.Model.HierarchyMapping.AssetModelHierarchyId</property>
3673+
<min>36</min>
3674+
<max>36</max>
3675+
<pattern>^(?!00000000-0000-0000-0000-000000000000)[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$</pattern>
3676+
</property-value-rule>
3677+
<property-value-rule>
3678+
<property>Amazon.IoTSiteWise.Model.HierarchyMapping.InterfaceAssetModelHierarchyId</property>
3679+
<min>36</min>
3680+
<max>36</max>
3681+
<pattern>^(?!00000000-0000-0000-0000-000000000000)[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$</pattern>
3682+
</property-value-rule>
35523683
<property-value-rule>
35533684
<property>Amazon.IoTSiteWise.Model.IAMRoleIdentity.Arn</property>
35543685
<min>1</min>
@@ -3584,6 +3715,30 @@
35843715
<max>256</max>
35853716
<pattern>^(http|https)\://\S+</pattern>
35863717
</property-value-rule>
3718+
<property-value-rule>
3719+
<property>Amazon.IoTSiteWise.Model.InterfaceRelationship.Id</property>
3720+
<min>36</min>
3721+
<max>36</max>
3722+
<pattern>^(?!00000000-0000-0000-0000-000000000000)[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$</pattern>
3723+
</property-value-rule>
3724+
<property-value-rule>
3725+
<property>Amazon.IoTSiteWise.Model.InterfaceRelationshipSummary.Id</property>
3726+
<min>36</min>
3727+
<max>36</max>
3728+
<pattern>^(?!00000000-0000-0000-0000-000000000000)[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$</pattern>
3729+
</property-value-rule>
3730+
<property-value-rule>
3731+
<property>Amazon.IoTSiteWise.Model.InterfaceSummary.InterfaceAssetModelId</property>
3732+
<min>36</min>
3733+
<max>36</max>
3734+
<pattern>^(?!00000000-0000-0000-0000-000000000000)[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$</pattern>
3735+
</property-value-rule>
3736+
<property-value-rule>
3737+
<property>Amazon.IoTSiteWise.Model.InterfaceSummary.InterfaceAssetModelPropertyId</property>
3738+
<min>36</min>
3739+
<max>36</max>
3740+
<pattern>^(?!00000000-0000-0000-0000-000000000000)[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$</pattern>
3741+
</property-value-rule>
35873742
<property-value-rule>
35883743
<property>Amazon.IoTSiteWise.Model.JobSummary.Id</property>
35893744
<min>36</min>
@@ -3610,7 +3765,7 @@
36103765
</property-value-rule>
36113766
<property-value-rule>
36123767
<property>Amazon.IoTSiteWise.Model.Metric.Expression</property>
3613-
<min>1</min>
3768+
<min>0</min>
36143769
<max>1024</max>
36153770
</property-value-rule>
36163771
<property-value-rule>
@@ -3702,6 +3857,18 @@
37023857
<max>256</max>
37033858
<pattern>[^\u0000-\u001F\u007F]+</pattern>
37043859
</property-value-rule>
3860+
<property-value-rule>
3861+
<property>Amazon.IoTSiteWise.Model.PropertyMapping.AssetModelPropertyId</property>
3862+
<min>13</min>
3863+
<max>139</max>
3864+
<pattern>^(?!00000000-0000-0000-0000-000000000000)[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$|^externalId:[a-zA-Z0-9_][a-zA-Z_\-0-9.:]*[a-zA-Z0-9_]+</pattern>
3865+
</property-value-rule>
3866+
<property-value-rule>
3867+
<property>Amazon.IoTSiteWise.Model.PropertyMapping.InterfaceAssetModelPropertyId</property>
3868+
<min>13</min>
3869+
<max>139</max>
3870+
<pattern>^(?!00000000-0000-0000-0000-000000000000)[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$|^externalId:[a-zA-Z0-9_][a-zA-Z_\-0-9.:]*[a-zA-Z0-9_]+</pattern>
3871+
</property-value-rule>
37053872
<property-value-rule>
37063873
<property>Amazon.IoTSiteWise.Model.PutAssetPropertyValueEntry.AssetId</property>
37073874
<min>36</min>
@@ -3801,7 +3968,7 @@
38013968
</property-value-rule>
38023969
<property-value-rule>
38033970
<property>Amazon.IoTSiteWise.Model.Transform.Expression</property>
3804-
<min>1</min>
3971+
<min>0</min>
38053972
<max>1024</max>
38063973
</property-value-rule>
38073974
<property-value-rule>

sdk/src/Services/IoTSiteWise/Generated/Model/ActionSummary.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,8 @@
3030
namespace Amazon.IoTSiteWise.Model
3131
{
3232
/// <summary>
33-
/// Contains the summary of the actions.
33+
/// Contains the summary of the actions, including information about where the action
34+
/// resolves to.
3435
/// </summary>
3536
public partial class ActionSummary
3637
{

sdk/src/Services/IoTSiteWise/Generated/Model/AssetModelPropertySummary.cs

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,8 @@
3030
namespace Amazon.IoTSiteWise.Model
3131
{
3232
/// <summary>
33-
/// Contains a summary of a property associated with a model.
33+
/// Contains a summary of a property associated with a model. This includes information
34+
/// about which interfaces the property belongs to, if any.
3435
/// </summary>
3536
public partial class AssetModelPropertySummary
3637
{
@@ -39,6 +40,7 @@ public partial class AssetModelPropertySummary
3940
private string _dataTypeSpec;
4041
private string _externalId;
4142
private string _id;
43+
private List<InterfaceSummary> _interfaceSummaries = AWSConfigs.InitializeCollections ? new List<InterfaceSummary>() : null;
4244
private string _name;
4345
private List<AssetModelPropertyPathSegment> _path = AWSConfigs.InitializeCollections ? new List<AssetModelPropertyPathSegment>() : null;
4446
private PropertyType _type;
@@ -141,6 +143,26 @@ internal bool IsSetId()
141143
return this._id != null;
142144
}
143145

146+
/// <summary>
147+
/// Gets and sets the property InterfaceSummaries.
148+
/// <para>
149+
/// A list of interface summaries that describe which interfaces this property belongs
150+
/// to, including the interface asset model ID and the corresponding property ID in the
151+
/// interface.
152+
/// </para>
153+
/// </summary>
154+
public List<InterfaceSummary> InterfaceSummaries
155+
{
156+
get { return this._interfaceSummaries; }
157+
set { this._interfaceSummaries = value; }
158+
}
159+
160+
// Check to see if InterfaceSummaries property is set
161+
internal bool IsSetInterfaceSummaries()
162+
{
163+
return this._interfaceSummaries != null && (this._interfaceSummaries.Count > 0 || !AWSConfigs.InitializeCollections);
164+
}
165+
144166
/// <summary>
145167
/// Gets and sets the property Name.
146168
/// <para>

sdk/src/Services/IoTSiteWise/Generated/Model/CreateAssetModelRequest.cs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,8 @@ namespace Amazon.IoTSiteWise.Model
4040
///
4141
///
4242
/// <para>
43-
/// You can create two types of asset models, <c>ASSET_MODEL</c> or <c>COMPONENT_MODEL</c>.
43+
/// You can create three types of asset models, <c>ASSET_MODEL</c>, <c>COMPONENT_MODEL</c>,
44+
/// or an <c>INTERFACE</c>.
4445
/// </para>
4546
/// <ul> <li>
4647
/// <para>
@@ -53,6 +54,11 @@ namespace Amazon.IoTSiteWise.Model
5354
/// models of other asset models. You can't create assets directly from this type of asset
5455
/// model.
5556
/// </para>
57+
/// </li> <li>
58+
/// <para>
59+
/// <b>INTERFACE</b> – An interface is a type of model that defines a standard structure
60+
/// that can be applied to different asset models.
61+
/// </para>
5662
/// </li> </ul>
5763
/// </summary>
5864
public partial class CreateAssetModelRequest : AmazonIoTSiteWiseRequest

0 commit comments

Comments
 (0)