All Downloads are FREE. Search and download functionalities are using the official Maven repository.

META-INF.smithy.iotsitewise.smithy Maven / Gradle / Ivy

$version: "2.0"

metadata suppressions = [
    {
        id: "HttpMethodSemantics"
        namespace: "*"
    }
    {
        id: "HttpResponseCodeSemantics"
        namespace: "*"
    }
    {
        id: "PaginatedTrait"
        namespace: "*"
    }
    {
        id: "HttpHeaderTrait"
        namespace: "*"
    }
    {
        id: "HttpUriConflict"
        namespace: "*"
    }
    {
        id: "Service"
        namespace: "*"
    }
]

namespace com.amazonaws.iotsitewise

use aws.api#service
use aws.auth#sigv4
use aws.protocols#restJson1
use smithy.waiters#waitable

/// 

Welcome to the IoT SiteWise API Reference. IoT SiteWise is an Amazon Web Services service that connects Industrial Internet of Things (IIoT) devices to the power of the Amazon Web Services Cloud. For more information, see the /// IoT SiteWise User Guide. For information about IoT SiteWise quotas, see Quotas in the IoT SiteWise User Guide.

@service( sdkId: "IoTSiteWise" arnNamespace: "iotsitewise" cloudFormationName: "IoTSiteWise" cloudTrailEventSource: "iotsitewise.amazonaws.com" endpointPrefix: "iotsitewise" ) @sigv4( name: "iotsitewise" ) @restJson1 @title("AWS IoT SiteWise") service AWSIoTSiteWise { version: "2019-12-02" operations: [ AssociateAssets AssociateTimeSeriesToAssetProperty BatchAssociateProjectAssets BatchDisassociateProjectAssets BatchGetAssetPropertyAggregates BatchGetAssetPropertyValue BatchGetAssetPropertyValueHistory BatchPutAssetPropertyValue CreateAccessPolicy CreateAsset CreateAssetModel CreateBulkImportJob CreateDashboard CreateGateway CreatePortal CreateProject DeleteAccessPolicy DeleteAsset DeleteAssetModel DeleteDashboard DeleteGateway DeletePortal DeleteProject DeleteTimeSeries DescribeAccessPolicy DescribeAsset DescribeAssetModel DescribeAssetProperty DescribeBulkImportJob DescribeDashboard DescribeDefaultEncryptionConfiguration DescribeGateway DescribeGatewayCapabilityConfiguration DescribeLoggingOptions DescribePortal DescribeProject DescribeStorageConfiguration DescribeTimeSeries DisassociateAssets DisassociateTimeSeriesFromAssetProperty GetAssetPropertyAggregates GetAssetPropertyValue GetAssetPropertyValueHistory GetInterpolatedAssetPropertyValues ListAccessPolicies ListAssetModelProperties ListAssetModels ListAssetProperties ListAssetRelationships ListAssets ListAssociatedAssets ListBulkImportJobs ListDashboards ListGateways ListPortals ListProjectAssets ListProjects ListTagsForResource ListTimeSeries PutDefaultEncryptionConfiguration PutLoggingOptions PutStorageConfiguration TagResource UntagResource UpdateAccessPolicy UpdateAsset UpdateAssetModel UpdateAssetProperty UpdateDashboard UpdateGateway UpdateGatewayCapabilityConfiguration UpdatePortal UpdateProject ] } ///

Associates a child asset with the given parent asset through a hierarchy defined in the /// parent asset's model. For more information, see Associating assets in the /// IoT SiteWise User Guide.

@endpoint( hostPrefix: "api." ) @http( method: "POST" uri: "/assets/{assetId}/associate" code: 200 ) operation AssociateAssets { input: AssociateAssetsRequest output: Unit errors: [ ConflictingOperationException InternalFailureException InvalidRequestException LimitExceededException ResourceAlreadyExistsException ResourceNotFoundException ThrottlingException ] } ///

Associates a time series (data stream) with an asset property.

@endpoint( hostPrefix: "api." ) @http( method: "POST" uri: "/timeseries/associate" code: 200 ) operation AssociateTimeSeriesToAssetProperty { input: AssociateTimeSeriesToAssetPropertyRequest output: Unit errors: [ ConflictingOperationException InternalFailureException InvalidRequestException ResourceNotFoundException ThrottlingException ] } ///

Associates a group (batch) of assets with an IoT SiteWise Monitor project.

@endpoint( hostPrefix: "monitor." ) @http( method: "POST" uri: "/projects/{projectId}/assets/associate" code: 200 ) operation BatchAssociateProjectAssets { input: BatchAssociateProjectAssetsRequest output: BatchAssociateProjectAssetsResponse errors: [ InternalFailureException InvalidRequestException LimitExceededException ResourceNotFoundException ThrottlingException ] } ///

Disassociates a group (batch) of assets from an IoT SiteWise Monitor project.

@endpoint( hostPrefix: "monitor." ) @http( method: "POST" uri: "/projects/{projectId}/assets/disassociate" code: 200 ) operation BatchDisassociateProjectAssets { input: BatchDisassociateProjectAssetsRequest output: BatchDisassociateProjectAssetsResponse errors: [ InternalFailureException InvalidRequestException ResourceNotFoundException ThrottlingException ] } ///

Gets aggregated values (for example, average, minimum, and maximum) for one or more asset /// properties. For more information, see Querying aggregates in the /// IoT SiteWise User Guide.

@endpoint( hostPrefix: "data." ) @http( method: "POST" uri: "/properties/batch/aggregates" code: 200 ) @paginated( inputToken: "nextToken" outputToken: "nextToken" pageSize: "maxResults" ) operation BatchGetAssetPropertyAggregates { input: BatchGetAssetPropertyAggregatesRequest output: BatchGetAssetPropertyAggregatesResponse errors: [ InternalFailureException InvalidRequestException ServiceUnavailableException ThrottlingException ] } ///

Gets the current value for one or more asset properties. For more information, see Querying /// current values in the IoT SiteWise User Guide.

@endpoint( hostPrefix: "data." ) @http( method: "POST" uri: "/properties/batch/latest" code: 200 ) @paginated( inputToken: "nextToken" outputToken: "nextToken" ) operation BatchGetAssetPropertyValue { input: BatchGetAssetPropertyValueRequest output: BatchGetAssetPropertyValueResponse errors: [ InternalFailureException InvalidRequestException ServiceUnavailableException ThrottlingException ] } ///

Gets the historical values for one or more asset properties. For more information, see /// Querying historical values in the IoT SiteWise User Guide.

@endpoint( hostPrefix: "data." ) @http( method: "POST" uri: "/properties/batch/history" code: 200 ) @paginated( inputToken: "nextToken" outputToken: "nextToken" pageSize: "maxResults" ) operation BatchGetAssetPropertyValueHistory { input: BatchGetAssetPropertyValueHistoryRequest output: BatchGetAssetPropertyValueHistoryResponse errors: [ InternalFailureException InvalidRequestException ServiceUnavailableException ThrottlingException ] } ///

Sends a list of asset property values to IoT SiteWise. Each value is a timestamp-quality-value /// (TQV) data point. For more information, see Ingesting data using the API in the /// IoT SiteWise User Guide.

///

To identify an asset property, you must specify one of the following:

///
    ///
  • ///

    The assetId and propertyId of an asset property.

    ///
  • ///
  • ///

    A propertyAlias, which is a data stream alias (for example, /// /company/windfarm/3/turbine/7/temperature). To define an asset property's alias, see UpdateAssetProperty.

    ///
  • ///
/// ///

With respect to Unix epoch time, IoT SiteWise accepts only TQVs that have a timestamp of no more /// than 7 days in the past and no more than 10 minutes in the future. IoT SiteWise rejects timestamps /// outside of the inclusive range of [-7 days, +10 minutes] and returns a /// TimestampOutOfRangeException error.

///

For each asset property, IoT SiteWise overwrites TQVs with duplicate timestamps unless the newer /// TQV has a different quality. For example, if you store a TQV {T1, GOOD, V1}, /// then storing {T1, GOOD, V2} replaces the existing TQV.

///
///

IoT SiteWise authorizes access to each BatchPutAssetPropertyValue entry individually. /// For more information, see BatchPutAssetPropertyValue authorization in the /// IoT SiteWise User Guide.

@endpoint( hostPrefix: "data." ) @http( method: "POST" uri: "/properties" code: 200 ) operation BatchPutAssetPropertyValue { input: BatchPutAssetPropertyValueRequest output: BatchPutAssetPropertyValueResponse errors: [ ConflictingOperationException InternalFailureException InvalidRequestException LimitExceededException ResourceNotFoundException ServiceUnavailableException ThrottlingException ] } ///

Creates an access policy that grants the specified identity (IAM Identity Center user, IAM Identity Center group, or /// IAM user) access to the specified IoT SiteWise Monitor portal or project resource.

@endpoint( hostPrefix: "monitor." ) @http( method: "POST" uri: "/access-policies" code: 201 ) operation CreateAccessPolicy { input: CreateAccessPolicyRequest output: CreateAccessPolicyResponse errors: [ InternalFailureException InvalidRequestException LimitExceededException ResourceNotFoundException ThrottlingException ] } ///

Creates an asset from an existing asset model. For more information, see Creating assets in the /// IoT SiteWise User Guide.

@endpoint( hostPrefix: "api." ) @http( method: "POST" uri: "/assets" code: 202 ) operation CreateAsset { input: CreateAssetRequest output: CreateAssetResponse errors: [ ConflictingOperationException InternalFailureException InvalidRequestException LimitExceededException ResourceAlreadyExistsException ResourceNotFoundException ThrottlingException ] } ///

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.

@endpoint( hostPrefix: "api." ) @http( method: "POST" uri: "/asset-models" code: 202 ) operation CreateAssetModel { input: CreateAssetModelRequest output: CreateAssetModelResponse errors: [ ConflictingOperationException InternalFailureException InvalidRequestException LimitExceededException ResourceAlreadyExistsException ResourceNotFoundException ThrottlingException ] } ///

Defines a job to ingest data to IoT SiteWise from Amazon S3. For more information, see Create a /// bulk import job (CLI) in the Amazon Simple Storage Service User Guide.

/// ///

You must enable IoT SiteWise to export data to Amazon S3 before you create a bulk import job. For /// more information about how to configure storage settings, see PutStorageConfiguration.

///
@endpoint( hostPrefix: "data." ) @http( method: "POST" uri: "/jobs" code: 202 ) operation CreateBulkImportJob { input: CreateBulkImportJobRequest output: CreateBulkImportJobResponse errors: [ ConflictingOperationException InternalFailureException InvalidRequestException LimitExceededException ResourceAlreadyExistsException ResourceNotFoundException ThrottlingException ] } ///

Creates a dashboard in an IoT SiteWise Monitor project.

@endpoint( hostPrefix: "monitor." ) @http( method: "POST" uri: "/dashboards" code: 201 ) operation CreateDashboard { input: CreateDashboardRequest output: CreateDashboardResponse errors: [ InternalFailureException InvalidRequestException LimitExceededException ResourceNotFoundException ThrottlingException ] } ///

Creates a gateway, which is a virtual or edge device that delivers industrial data streams /// from local servers to IoT SiteWise. For more information, see Ingesting data using a gateway in the /// IoT SiteWise User Guide.

@endpoint( hostPrefix: "api." ) @http( method: "POST" uri: "/20200301/gateways" code: 201 ) operation CreateGateway { input: CreateGatewayRequest output: CreateGatewayResponse errors: [ InternalFailureException InvalidRequestException LimitExceededException ResourceAlreadyExistsException ThrottlingException ] } ///

Creates a portal, which can contain projects and dashboards. IoT SiteWise Monitor uses IAM Identity Center or IAM /// to authenticate portal users and manage user permissions.

/// ///

Before you can sign in to a new portal, you must add at least one identity to that /// portal. For more information, see Adding or removing portal /// administrators in the IoT SiteWise User Guide.

///
@endpoint( hostPrefix: "monitor." ) @http( method: "POST" uri: "/portals" code: 202 ) operation CreatePortal { input: CreatePortalRequest output: CreatePortalResponse errors: [ InternalFailureException InvalidRequestException LimitExceededException ResourceNotFoundException ThrottlingException ] } ///

Creates a project in the specified portal.

/// ///

Make sure that the project name and description don't contain confidential /// information.

///
@endpoint( hostPrefix: "monitor." ) @http( method: "POST" uri: "/projects" code: 201 ) operation CreateProject { input: CreateProjectRequest output: CreateProjectResponse errors: [ InternalFailureException InvalidRequestException LimitExceededException ResourceNotFoundException ThrottlingException ] } ///

Deletes an access policy that grants the specified identity access to the specified /// IoT SiteWise Monitor resource. You can use this operation to revoke access to an IoT SiteWise Monitor /// resource.

@endpoint( hostPrefix: "monitor." ) @http( method: "DELETE" uri: "/access-policies/{accessPolicyId}" code: 204 ) operation DeleteAccessPolicy { input: DeleteAccessPolicyRequest output: DeleteAccessPolicyResponse errors: [ InternalFailureException InvalidRequestException ResourceNotFoundException ThrottlingException ] } ///

Deletes an asset. This action can't be undone. For more information, see Deleting assets and /// models in the IoT SiteWise User Guide.

/// ///

You can't delete an asset that's associated to another asset. For more information, see /// DisassociateAssets.

///
@endpoint( hostPrefix: "api." ) @http( method: "DELETE" uri: "/assets/{assetId}" code: 202 ) operation DeleteAsset { input: DeleteAssetRequest output: DeleteAssetResponse errors: [ ConflictingOperationException InternalFailureException InvalidRequestException ResourceNotFoundException ThrottlingException ] } ///

Deletes an asset model. This action can't be undone. You must delete all assets created /// from an asset model before you can delete the model. Also, you can't delete an asset model if /// a parent asset model exists that contains a property formula expression that depends on the /// asset model that you want to delete. For more information, see Deleting assets and models in the /// IoT SiteWise User Guide.

@endpoint( hostPrefix: "api." ) @http( method: "DELETE" uri: "/asset-models/{assetModelId}" code: 202 ) operation DeleteAssetModel { input: DeleteAssetModelRequest output: DeleteAssetModelResponse errors: [ ConflictingOperationException InternalFailureException InvalidRequestException ResourceNotFoundException ThrottlingException ] } ///

Deletes a dashboard from IoT SiteWise Monitor.

@endpoint( hostPrefix: "monitor." ) @http( method: "DELETE" uri: "/dashboards/{dashboardId}" code: 204 ) operation DeleteDashboard { input: DeleteDashboardRequest output: DeleteDashboardResponse errors: [ InternalFailureException InvalidRequestException ResourceNotFoundException ThrottlingException ] } ///

Deletes a gateway from IoT SiteWise. When you delete a gateway, some of the gateway's files remain /// in your gateway's file system.

@endpoint( hostPrefix: "api." ) @http( method: "DELETE" uri: "/20200301/gateways/{gatewayId}" code: 200 ) operation DeleteGateway { input: DeleteGatewayRequest output: Unit errors: [ InternalFailureException InvalidRequestException ResourceNotFoundException ThrottlingException ] } ///

Deletes a portal from IoT SiteWise Monitor.

@endpoint( hostPrefix: "monitor." ) @http( method: "DELETE" uri: "/portals/{portalId}" code: 202 ) operation DeletePortal { input: DeletePortalRequest output: DeletePortalResponse errors: [ ConflictingOperationException InternalFailureException InvalidRequestException ResourceNotFoundException ThrottlingException ] } ///

Deletes a project from IoT SiteWise Monitor.

@endpoint( hostPrefix: "monitor." ) @http( method: "DELETE" uri: "/projects/{projectId}" code: 204 ) operation DeleteProject { input: DeleteProjectRequest output: DeleteProjectResponse errors: [ InternalFailureException InvalidRequestException ResourceNotFoundException ThrottlingException ] } ///

Deletes a time series (data stream). If you delete a time series that's associated with an /// asset property, the asset property still exists, but the time series will no longer be /// associated with this asset property.

///

To identify a time series, do one of the following:

///
    ///
  • ///

    If the time series isn't associated with an asset property, /// specify the alias of the time series.

    ///
  • ///
  • ///

    If the time series is associated with an asset property, /// specify one of the following:

    ///
      ///
    • ///

      The alias of the time series.

      ///
    • ///
    • ///

      The assetId and propertyId that identifies the asset property.

      ///
    • ///
    ///
  • ///
@endpoint( hostPrefix: "api." ) @http( method: "POST" uri: "/timeseries/delete" code: 200 ) operation DeleteTimeSeries { input: DeleteTimeSeriesRequest output: Unit errors: [ ConflictingOperationException InternalFailureException InvalidRequestException ResourceNotFoundException ThrottlingException ] } ///

Describes an access policy, which specifies an identity's access to an IoT SiteWise Monitor portal or /// project.

@endpoint( hostPrefix: "monitor." ) @http( method: "GET" uri: "/access-policies/{accessPolicyId}" code: 200 ) operation DescribeAccessPolicy { input: DescribeAccessPolicyRequest output: DescribeAccessPolicyResponse errors: [ InternalFailureException InvalidRequestException ResourceNotFoundException ThrottlingException ] } ///

Retrieves information about an asset.

@endpoint( hostPrefix: "api." ) @http( method: "GET" uri: "/assets/{assetId}" code: 200 ) @waitable( AssetActive: { acceptors: [ { state: "success" matcher: { output: { path: "assetStatus.state" expected: "ACTIVE" comparator: "stringEquals" } } } { state: "failure" matcher: { output: { path: "assetStatus.state" expected: "FAILED" comparator: "stringEquals" } } } ] minDelay: 3 } AssetNotExists: { acceptors: [ { state: "success" matcher: { errorType: "ResourceNotFoundException" } } ] minDelay: 3 } ) operation DescribeAsset { input: DescribeAssetRequest output: DescribeAssetResponse errors: [ InternalFailureException InvalidRequestException ResourceNotFoundException ThrottlingException ] } ///

Retrieves information about an asset model.

@endpoint( hostPrefix: "api." ) @http( method: "GET" uri: "/asset-models/{assetModelId}" code: 200 ) @waitable( AssetModelActive: { acceptors: [ { state: "success" matcher: { output: { path: "assetModelStatus.state" expected: "ACTIVE" comparator: "stringEquals" } } } { state: "failure" matcher: { output: { path: "assetModelStatus.state" expected: "FAILED" comparator: "stringEquals" } } } ] minDelay: 3 } AssetModelNotExists: { acceptors: [ { state: "success" matcher: { errorType: "ResourceNotFoundException" } } ] minDelay: 3 } ) operation DescribeAssetModel { input: DescribeAssetModelRequest output: DescribeAssetModelResponse errors: [ InternalFailureException InvalidRequestException ResourceNotFoundException ThrottlingException ] } ///

Retrieves information about an asset property.

/// ///

When you call this operation for an attribute property, this response includes the /// default attribute value that you define in the asset model. If you update the default value /// in the model, this operation's response includes the new default value.

///
///

This operation doesn't return the value of the asset property. To get the value of an /// asset property, use GetAssetPropertyValue.

@endpoint( hostPrefix: "api." ) @http( method: "GET" uri: "/assets/{assetId}/properties/{propertyId}" code: 200 ) operation DescribeAssetProperty { input: DescribeAssetPropertyRequest output: DescribeAssetPropertyResponse errors: [ InternalFailureException InvalidRequestException ResourceNotFoundException ThrottlingException ] } ///

Retrieves information about a bulk import job request. For more information, see Describe /// a bulk import job (CLI) in the Amazon Simple Storage Service User Guide.

@endpoint( hostPrefix: "data." ) @http( method: "GET" uri: "/jobs/{jobId}" code: 200 ) operation DescribeBulkImportJob { input: DescribeBulkImportJobRequest output: DescribeBulkImportJobResponse errors: [ InternalFailureException InvalidRequestException ResourceNotFoundException ThrottlingException ] } ///

Retrieves information about a dashboard.

@endpoint( hostPrefix: "monitor." ) @http( method: "GET" uri: "/dashboards/{dashboardId}" code: 200 ) operation DescribeDashboard { input: DescribeDashboardRequest output: DescribeDashboardResponse errors: [ InternalFailureException InvalidRequestException ResourceNotFoundException ThrottlingException ] } ///

Retrieves information about the default encryption configuration for the Amazon Web Services account in /// the default or specified Region. For more information, see Key management in the /// IoT SiteWise User Guide.

@endpoint( hostPrefix: "api." ) @http( method: "GET" uri: "/configuration/account/encryption" code: 200 ) operation DescribeDefaultEncryptionConfiguration { input: DescribeDefaultEncryptionConfigurationRequest output: DescribeDefaultEncryptionConfigurationResponse errors: [ InternalFailureException InvalidRequestException ThrottlingException ] } ///

Retrieves information about a gateway.

@endpoint( hostPrefix: "api." ) @http( method: "GET" uri: "/20200301/gateways/{gatewayId}" code: 200 ) operation DescribeGateway { input: DescribeGatewayRequest output: DescribeGatewayResponse errors: [ InternalFailureException InvalidRequestException ResourceNotFoundException ThrottlingException ] } ///

Retrieves information about a gateway capability configuration. /// Each gateway capability defines data sources for a gateway. A capability configuration /// can contain multiple data source configurations. If you define OPC-UA sources for a gateway in /// the IoT SiteWise console, all of your OPC-UA sources are stored in one capability configuration. To /// list all capability configurations for a gateway, use DescribeGateway.

@endpoint( hostPrefix: "api." ) @http( method: "GET" uri: "/20200301/gateways/{gatewayId}/capability/{capabilityNamespace}" code: 200 ) operation DescribeGatewayCapabilityConfiguration { input: DescribeGatewayCapabilityConfigurationRequest output: DescribeGatewayCapabilityConfigurationResponse errors: [ InternalFailureException InvalidRequestException ResourceNotFoundException ThrottlingException ] } ///

Retrieves the current IoT SiteWise logging options.

@endpoint( hostPrefix: "api." ) @http( method: "GET" uri: "/logging" code: 200 ) operation DescribeLoggingOptions { input: DescribeLoggingOptionsRequest output: DescribeLoggingOptionsResponse errors: [ InternalFailureException InvalidRequestException ResourceNotFoundException ThrottlingException ] } ///

Retrieves information about a portal.

@endpoint( hostPrefix: "monitor." ) @http( method: "GET" uri: "/portals/{portalId}" code: 200 ) @waitable( PortalActive: { acceptors: [ { state: "success" matcher: { output: { path: "portalStatus.state" expected: "ACTIVE" comparator: "stringEquals" } } } ] minDelay: 3 } PortalNotExists: { acceptors: [ { state: "success" matcher: { errorType: "ResourceNotFoundException" } } ] minDelay: 3 } ) operation DescribePortal { input: DescribePortalRequest output: DescribePortalResponse errors: [ InternalFailureException InvalidRequestException ResourceNotFoundException ThrottlingException ] } ///

Retrieves information about a project.

@endpoint( hostPrefix: "monitor." ) @http( method: "GET" uri: "/projects/{projectId}" code: 200 ) operation DescribeProject { input: DescribeProjectRequest output: DescribeProjectResponse errors: [ InternalFailureException InvalidRequestException ResourceNotFoundException ThrottlingException ] } ///

Retrieves information about the storage configuration for IoT SiteWise.

@endpoint( hostPrefix: "api." ) @http( method: "GET" uri: "/configuration/account/storage" code: 200 ) operation DescribeStorageConfiguration { input: DescribeStorageConfigurationRequest output: DescribeStorageConfigurationResponse errors: [ ConflictingOperationException InternalFailureException InvalidRequestException LimitExceededException ResourceNotFoundException ThrottlingException ] } ///

Retrieves information about a time series (data stream).

///

To identify a time series, do one of the following:

///
    ///
  • ///

    If the time series isn't associated with an asset property, /// specify the alias of the time series.

    ///
  • ///
  • ///

    If the time series is associated with an asset property, /// specify one of the following:

    ///
      ///
    • ///

      The alias of the time series.

      ///
    • ///
    • ///

      The assetId and propertyId that identifies the asset property.

      ///
    • ///
    ///
  • ///
@endpoint( hostPrefix: "api." ) @http( method: "GET" uri: "/timeseries/describe" code: 200 ) operation DescribeTimeSeries { input: DescribeTimeSeriesRequest output: DescribeTimeSeriesResponse errors: [ InternalFailureException InvalidRequestException ResourceNotFoundException ThrottlingException ] } ///

Disassociates a child asset from the given parent asset through a hierarchy defined in the /// parent asset's model.

@endpoint( hostPrefix: "api." ) @http( method: "POST" uri: "/assets/{assetId}/disassociate" code: 200 ) operation DisassociateAssets { input: DisassociateAssetsRequest output: Unit errors: [ ConflictingOperationException InternalFailureException InvalidRequestException ResourceNotFoundException ThrottlingException ] } ///

Disassociates a time series (data stream) from an asset property.

@endpoint( hostPrefix: "api." ) @http( method: "POST" uri: "/timeseries/disassociate" code: 200 ) operation DisassociateTimeSeriesFromAssetProperty { input: DisassociateTimeSeriesFromAssetPropertyRequest output: Unit errors: [ ConflictingOperationException InternalFailureException InvalidRequestException ResourceNotFoundException ThrottlingException ] } ///

Gets aggregated values for an asset property. For more information, see Querying /// aggregates in the IoT SiteWise User Guide.

///

To identify an asset property, you must specify one of the following:

///
    ///
  • ///

    The assetId and propertyId of an asset property.

    ///
  • ///
  • ///

    A propertyAlias, which is a data stream alias (for example, /// /company/windfarm/3/turbine/7/temperature). To define an asset property's alias, see UpdateAssetProperty.

    ///
  • ///
@endpoint( hostPrefix: "data." ) @http( method: "GET" uri: "/properties/aggregates" code: 200 ) @paginated( inputToken: "nextToken" outputToken: "nextToken" items: "aggregatedValues" pageSize: "maxResults" ) operation GetAssetPropertyAggregates { input: GetAssetPropertyAggregatesRequest output: GetAssetPropertyAggregatesResponse errors: [ InternalFailureException InvalidRequestException ResourceNotFoundException ServiceUnavailableException ThrottlingException ] } ///

Gets an asset property's current value. For more information, see Querying /// current values in the IoT SiteWise User Guide.

///

To identify an asset property, you must specify one of the following:

///
    ///
  • ///

    The assetId and propertyId of an asset property.

    ///
  • ///
  • ///

    A propertyAlias, which is a data stream alias (for example, /// /company/windfarm/3/turbine/7/temperature). To define an asset property's alias, see UpdateAssetProperty.

    ///
  • ///
@endpoint( hostPrefix: "data." ) @http( method: "GET" uri: "/properties/latest" code: 200 ) operation GetAssetPropertyValue { input: GetAssetPropertyValueRequest output: GetAssetPropertyValueResponse errors: [ InternalFailureException InvalidRequestException ResourceNotFoundException ServiceUnavailableException ThrottlingException ] } ///

Gets the history of an asset property's values. For more information, see Querying /// historical values in the IoT SiteWise User Guide.

///

To identify an asset property, you must specify one of the following:

///
    ///
  • ///

    The assetId and propertyId of an asset property.

    ///
  • ///
  • ///

    A propertyAlias, which is a data stream alias (for example, /// /company/windfarm/3/turbine/7/temperature). To define an asset property's alias, see UpdateAssetProperty.

    ///
  • ///
@endpoint( hostPrefix: "data." ) @http( method: "GET" uri: "/properties/history" code: 200 ) @paginated( inputToken: "nextToken" outputToken: "nextToken" items: "assetPropertyValueHistory" pageSize: "maxResults" ) operation GetAssetPropertyValueHistory { input: GetAssetPropertyValueHistoryRequest output: GetAssetPropertyValueHistoryResponse errors: [ InternalFailureException InvalidRequestException ResourceNotFoundException ServiceUnavailableException ThrottlingException ] } ///

Get interpolated values for an asset property for a specified time interval, during a /// period of time. If your time series is missing data points during the specified time interval, /// you can use interpolation to estimate the missing data.

///

For example, you can use this operation to return the interpolated temperature values for /// a wind turbine every 24 hours over a duration of 7 days.

///

To identify an asset property, you must specify one of the following:

///
    ///
  • ///

    The assetId and propertyId of an asset property.

    ///
  • ///
  • ///

    A propertyAlias, which is a data stream alias (for example, /// /company/windfarm/3/turbine/7/temperature). To define an asset property's alias, see UpdateAssetProperty.

    ///
  • ///
@endpoint( hostPrefix: "data." ) @http( method: "GET" uri: "/properties/interpolated" code: 200 ) @paginated( inputToken: "nextToken" outputToken: "nextToken" items: "interpolatedAssetPropertyValues" pageSize: "maxResults" ) operation GetInterpolatedAssetPropertyValues { input: GetInterpolatedAssetPropertyValuesRequest output: GetInterpolatedAssetPropertyValuesResponse errors: [ InternalFailureException InvalidRequestException ResourceNotFoundException ServiceUnavailableException ThrottlingException ] } ///

Retrieves a paginated list of access policies for an identity (an IAM Identity Center user, an IAM Identity Center /// group, or an IAM user) or an IoT SiteWise Monitor resource (a portal or project).

@endpoint( hostPrefix: "monitor." ) @http( method: "GET" uri: "/access-policies" code: 200 ) @paginated( inputToken: "nextToken" outputToken: "nextToken" items: "accessPolicySummaries" pageSize: "maxResults" ) operation ListAccessPolicies { input: ListAccessPoliciesRequest output: ListAccessPoliciesResponse errors: [ InternalFailureException InvalidRequestException ThrottlingException ] } ///

Retrieves a paginated list of properties associated with an asset model. /// If you update properties associated with the model before you finish listing all the properties, /// you need to start all over again.

@endpoint( hostPrefix: "api." ) @http( method: "GET" uri: "/asset-models/{assetModelId}/properties" code: 200 ) @paginated( inputToken: "nextToken" outputToken: "nextToken" items: "assetModelPropertySummaries" pageSize: "maxResults" ) operation ListAssetModelProperties { input: ListAssetModelPropertiesRequest output: ListAssetModelPropertiesResponse errors: [ InternalFailureException InvalidRequestException ResourceNotFoundException ThrottlingException ] } ///

Retrieves a paginated list of summaries of all asset models.

@endpoint( hostPrefix: "api." ) @http( method: "GET" uri: "/asset-models" code: 200 ) @paginated( inputToken: "nextToken" outputToken: "nextToken" items: "assetModelSummaries" pageSize: "maxResults" ) operation ListAssetModels { input: ListAssetModelsRequest output: ListAssetModelsResponse errors: [ InternalFailureException InvalidRequestException ThrottlingException ] } ///

Retrieves a paginated list of properties associated with an asset. /// If you update properties associated with the model before you finish listing all the properties, /// you need to start all over again.

@endpoint( hostPrefix: "api." ) @http( method: "GET" uri: "/assets/{assetId}/properties" code: 200 ) @paginated( inputToken: "nextToken" outputToken: "nextToken" items: "assetPropertySummaries" pageSize: "maxResults" ) operation ListAssetProperties { input: ListAssetPropertiesRequest output: ListAssetPropertiesResponse errors: [ InternalFailureException InvalidRequestException ResourceNotFoundException ThrottlingException ] } ///

Retrieves a paginated list of asset relationships for an asset. You can use this operation /// to identify an asset's root asset and all associated assets between that asset and its /// root.

@endpoint( hostPrefix: "api." ) @http( method: "GET" uri: "/assets/{assetId}/assetRelationships" code: 200 ) @paginated( inputToken: "nextToken" outputToken: "nextToken" items: "assetRelationshipSummaries" pageSize: "maxResults" ) operation ListAssetRelationships { input: ListAssetRelationshipsRequest output: ListAssetRelationshipsResponse errors: [ InternalFailureException InvalidRequestException ResourceNotFoundException ThrottlingException ] } ///

Retrieves a paginated list of asset summaries.

///

You can use this operation to do the following:

///
    ///
  • ///

    List assets based on a specific asset model.

    ///
  • ///
  • ///

    List top-level assets.

    ///
  • ///
///

You can't use this operation to list all assets. To retrieve summaries for all of your /// assets, use ListAssetModels to get all of your asset model IDs. Then, use ListAssets to get all /// assets for each asset model.

@endpoint( hostPrefix: "api." ) @http( method: "GET" uri: "/assets" code: 200 ) @paginated( inputToken: "nextToken" outputToken: "nextToken" items: "assetSummaries" pageSize: "maxResults" ) operation ListAssets { input: ListAssetsRequest output: ListAssetsResponse errors: [ InternalFailureException InvalidRequestException ResourceNotFoundException ThrottlingException ] } ///

Retrieves a paginated list of associated assets.

///

You can use this operation to do the following:

///
    ///
  • ///

    List child assets associated to a parent asset by a hierarchy that you specify.

    ///
  • ///
  • ///

    List an asset's parent asset.

    ///
  • ///
@endpoint( hostPrefix: "api." ) @http( method: "GET" uri: "/assets/{assetId}/hierarchies" code: 200 ) @paginated( inputToken: "nextToken" outputToken: "nextToken" items: "assetSummaries" pageSize: "maxResults" ) operation ListAssociatedAssets { input: ListAssociatedAssetsRequest output: ListAssociatedAssetsResponse errors: [ InternalFailureException InvalidRequestException ResourceNotFoundException ThrottlingException ] } ///

Retrieves a paginated list of bulk import job requests. For more information, see List bulk /// import jobs (CLI) in the IoT SiteWise User Guide.

@endpoint( hostPrefix: "data." ) @http( method: "GET" uri: "/jobs" code: 200 ) @paginated( inputToken: "nextToken" outputToken: "nextToken" items: "jobSummaries" pageSize: "maxResults" ) operation ListBulkImportJobs { input: ListBulkImportJobsRequest output: ListBulkImportJobsResponse errors: [ InternalFailureException InvalidRequestException ResourceNotFoundException ThrottlingException ] } ///

Retrieves a paginated list of dashboards for an IoT SiteWise Monitor project.

@endpoint( hostPrefix: "monitor." ) @http( method: "GET" uri: "/dashboards" code: 200 ) @paginated( inputToken: "nextToken" outputToken: "nextToken" items: "dashboardSummaries" pageSize: "maxResults" ) operation ListDashboards { input: ListDashboardsRequest output: ListDashboardsResponse errors: [ InternalFailureException InvalidRequestException ThrottlingException ] } ///

Retrieves a paginated list of gateways.

@endpoint( hostPrefix: "api." ) @http( method: "GET" uri: "/20200301/gateways" code: 200 ) @paginated( inputToken: "nextToken" outputToken: "nextToken" items: "gatewaySummaries" pageSize: "maxResults" ) operation ListGateways { input: ListGatewaysRequest output: ListGatewaysResponse errors: [ InternalFailureException InvalidRequestException ThrottlingException ] } ///

Retrieves a paginated list of IoT SiteWise Monitor portals.

@endpoint( hostPrefix: "monitor." ) @http( method: "GET" uri: "/portals" code: 200 ) @paginated( inputToken: "nextToken" outputToken: "nextToken" items: "portalSummaries" pageSize: "maxResults" ) operation ListPortals { input: ListPortalsRequest output: ListPortalsResponse errors: [ InternalFailureException InvalidRequestException ThrottlingException ] } ///

Retrieves a paginated list of assets associated with an IoT SiteWise Monitor project.

@endpoint( hostPrefix: "monitor." ) @http( method: "GET" uri: "/projects/{projectId}/assets" code: 200 ) @paginated( inputToken: "nextToken" outputToken: "nextToken" items: "assetIds" pageSize: "maxResults" ) operation ListProjectAssets { input: ListProjectAssetsRequest output: ListProjectAssetsResponse errors: [ InternalFailureException InvalidRequestException ThrottlingException ] } ///

Retrieves a paginated list of projects for an IoT SiteWise Monitor portal.

@endpoint( hostPrefix: "monitor." ) @http( method: "GET" uri: "/projects" code: 200 ) @paginated( inputToken: "nextToken" outputToken: "nextToken" items: "projectSummaries" pageSize: "maxResults" ) operation ListProjects { input: ListProjectsRequest output: ListProjectsResponse errors: [ InternalFailureException InvalidRequestException ThrottlingException ] } ///

Retrieves the list of tags for an IoT SiteWise resource.

@endpoint( hostPrefix: "api." ) @http( method: "GET" uri: "/tags" code: 200 ) operation ListTagsForResource { input: ListTagsForResourceRequest output: ListTagsForResourceResponse errors: [ ConflictingOperationException InternalFailureException InvalidRequestException LimitExceededException ResourceNotFoundException ThrottlingException UnauthorizedException ] } ///

Retrieves a paginated list of time series (data streams).

@endpoint( hostPrefix: "api." ) @http( method: "GET" uri: "/timeseries" code: 200 ) @paginated( inputToken: "nextToken" outputToken: "nextToken" items: "TimeSeriesSummaries" pageSize: "maxResults" ) operation ListTimeSeries { input: ListTimeSeriesRequest output: ListTimeSeriesResponse errors: [ InternalFailureException InvalidRequestException ResourceNotFoundException ThrottlingException ] } ///

Sets the default encryption configuration for the Amazon Web Services account. For more information, see /// Key management in /// the IoT SiteWise User Guide.

@endpoint( hostPrefix: "api." ) @http( method: "POST" uri: "/configuration/account/encryption" code: 200 ) operation PutDefaultEncryptionConfiguration { input: PutDefaultEncryptionConfigurationRequest output: PutDefaultEncryptionConfigurationResponse errors: [ ConflictingOperationException InternalFailureException InvalidRequestException LimitExceededException ThrottlingException ] } ///

Sets logging options for IoT SiteWise.

@endpoint( hostPrefix: "api." ) @http( method: "PUT" uri: "/logging" code: 200 ) operation PutLoggingOptions { input: PutLoggingOptionsRequest output: PutLoggingOptionsResponse errors: [ ConflictingOperationException InternalFailureException InvalidRequestException ResourceNotFoundException ThrottlingException ] } ///

Configures storage settings for IoT SiteWise.

@endpoint( hostPrefix: "api." ) @http( method: "POST" uri: "/configuration/account/storage" code: 200 ) operation PutStorageConfiguration { input: PutStorageConfigurationRequest output: PutStorageConfigurationResponse errors: [ ConflictingOperationException InternalFailureException InvalidRequestException LimitExceededException ResourceAlreadyExistsException ResourceNotFoundException ThrottlingException ] } ///

Adds tags to an IoT SiteWise resource. If a tag already exists for the resource, this operation /// updates the tag's value.

@endpoint( hostPrefix: "api." ) @http( method: "POST" uri: "/tags" code: 200 ) operation TagResource { input: TagResourceRequest output: TagResourceResponse errors: [ ConflictingOperationException InternalFailureException InvalidRequestException LimitExceededException ResourceNotFoundException ThrottlingException TooManyTagsException UnauthorizedException ] } ///

Removes a tag from an IoT SiteWise resource.

@endpoint( hostPrefix: "api." ) @http( method: "DELETE" uri: "/tags" code: 200 ) operation UntagResource { input: UntagResourceRequest output: UntagResourceResponse errors: [ ConflictingOperationException InternalFailureException InvalidRequestException LimitExceededException ResourceNotFoundException ThrottlingException UnauthorizedException ] } ///

Updates an existing access policy that specifies an identity's access to an IoT SiteWise Monitor /// portal or project resource.

@endpoint( hostPrefix: "monitor." ) @http( method: "PUT" uri: "/access-policies/{accessPolicyId}" code: 200 ) operation UpdateAccessPolicy { input: UpdateAccessPolicyRequest output: UpdateAccessPolicyResponse errors: [ InternalFailureException InvalidRequestException ResourceNotFoundException ThrottlingException ] } ///

Updates an asset's name. For more information, see Updating assets and models in the /// IoT SiteWise User Guide.

@endpoint( hostPrefix: "api." ) @http( method: "PUT" uri: "/assets/{assetId}" code: 202 ) operation UpdateAsset { input: UpdateAssetRequest output: UpdateAssetResponse errors: [ ConflictingOperationException InternalFailureException InvalidRequestException ResourceAlreadyExistsException ResourceNotFoundException ThrottlingException ] } ///

Updates an asset model and all of the assets that were created from the model. Each asset /// created from the model inherits the updated asset model's property and hierarchy definitions. /// For more information, see Updating assets and models in the /// IoT SiteWise User Guide.

/// ///

This operation overwrites the existing model with the provided model. To avoid deleting /// your asset model's properties or hierarchies, you must include their IDs and definitions in /// the updated asset model payload. For more information, see DescribeAssetModel.

///

If you remove a property from an asset model, IoT SiteWise deletes all previous data for that /// property. If you remove a hierarchy definition from an asset model, IoT SiteWise disassociates every /// asset associated with that hierarchy. You can't change the type or data type of an existing /// property.

///
@endpoint( hostPrefix: "api." ) @http( method: "PUT" uri: "/asset-models/{assetModelId}" code: 202 ) operation UpdateAssetModel { input: UpdateAssetModelRequest output: UpdateAssetModelResponse errors: [ ConflictingOperationException InternalFailureException InvalidRequestException LimitExceededException ResourceAlreadyExistsException ResourceNotFoundException ThrottlingException ] } ///

Updates an asset property's alias and notification state.

/// ///

This operation overwrites the property's existing alias and notification state. To keep /// your existing property's alias or notification state, you must include the existing values /// in the UpdateAssetProperty request. For more information, see DescribeAssetProperty.

///
@endpoint( hostPrefix: "api." ) @http( method: "PUT" uri: "/assets/{assetId}/properties/{propertyId}" code: 200 ) operation UpdateAssetProperty { input: UpdateAssetPropertyRequest output: Unit errors: [ ConflictingOperationException InternalFailureException InvalidRequestException ResourceNotFoundException ThrottlingException ] } ///

Updates an IoT SiteWise Monitor dashboard.

@endpoint( hostPrefix: "monitor." ) @http( method: "PUT" uri: "/dashboards/{dashboardId}" code: 200 ) operation UpdateDashboard { input: UpdateDashboardRequest output: UpdateDashboardResponse errors: [ InternalFailureException InvalidRequestException ResourceNotFoundException ThrottlingException ] } ///

Updates a gateway's name.

@endpoint( hostPrefix: "api." ) @http( method: "PUT" uri: "/20200301/gateways/{gatewayId}" code: 200 ) operation UpdateGateway { input: UpdateGatewayRequest output: Unit errors: [ ConflictingOperationException InternalFailureException InvalidRequestException ResourceNotFoundException ThrottlingException ] } ///

Updates a gateway capability configuration or defines a new capability configuration. /// Each gateway capability defines data sources for a gateway. A capability configuration /// can contain multiple data source configurations. If you define OPC-UA sources for a gateway in /// the IoT SiteWise console, all of your OPC-UA sources are stored in one capability configuration. To /// list all capability configurations for a gateway, use DescribeGateway.

@endpoint( hostPrefix: "api." ) @http( method: "POST" uri: "/20200301/gateways/{gatewayId}/capability" code: 201 ) operation UpdateGatewayCapabilityConfiguration { input: UpdateGatewayCapabilityConfigurationRequest output: UpdateGatewayCapabilityConfigurationResponse errors: [ ConflictingOperationException InternalFailureException InvalidRequestException LimitExceededException ResourceNotFoundException ThrottlingException ] } ///

Updates an IoT SiteWise Monitor portal.

@endpoint( hostPrefix: "monitor." ) @http( method: "PUT" uri: "/portals/{portalId}" code: 202 ) operation UpdatePortal { input: UpdatePortalRequest output: UpdatePortalResponse errors: [ ConflictingOperationException InternalFailureException InvalidRequestException ResourceNotFoundException ThrottlingException ] } ///

Updates an IoT SiteWise Monitor project.

@endpoint( hostPrefix: "monitor." ) @http( method: "PUT" uri: "/projects/{projectId}" code: 200 ) operation UpdateProject { input: UpdateProjectRequest output: UpdateProjectResponse errors: [ InternalFailureException InvalidRequestException ResourceNotFoundException ThrottlingException ] } ///

Contains an access policy that defines an identity's access to an IoT SiteWise Monitor /// resource.

structure AccessPolicySummary { ///

The ID of the access policy.

@required id: ID ///

The identity (an IAM Identity Center user, an IAM Identity Center group, or an IAM user).

@required identity: Identity ///

The IoT SiteWise Monitor resource (a portal or project).

@required resource: Resource ///

The permissions for the access policy. Note that a project ADMINISTRATOR is /// also known as a project owner.

@required permission: Permission ///

The date the access policy was created, in Unix epoch time.

creationDate: Timestamp ///

The date the access policy was last updated, in Unix epoch time.

lastUpdateDate: Timestamp } ///

Contains aggregated asset property values (for example, average, minimum, and /// maximum).

structure AggregatedValue { ///

The date the aggregating computations occurred, in Unix epoch time.

@required timestamp: Timestamp ///

The quality of the aggregated data.

quality: Quality ///

The value of the aggregates.

@required value: Aggregates } ///

Contains the (pre-calculated) aggregate values for an asset property.

structure Aggregates { ///

The average (mean) value of the time series over a time interval window.

average: AggregatedDoubleValue ///

The count of data points in the time series over a time interval window.

count: AggregatedDoubleValue ///

The maximum value of the time series over a time interval window.

maximum: AggregatedDoubleValue ///

The minimum value of the time series over a time interval window.

minimum: AggregatedDoubleValue ///

The sum of the time series over a time interval window.

sum: AggregatedDoubleValue ///

The standard deviation of the time series over a time interval window.

standardDeviation: AggregatedDoubleValue } ///

Contains the configuration information of an alarm created in an IoT SiteWise Monitor portal. /// You can use the alarm to monitor an asset property and get notified when the asset property value is outside a specified range. /// For more information, see Monitoring with alarms in the IoT SiteWise Application Guide.

structure Alarms { ///

The ARN of the IAM role that allows the alarm to perform actions and access Amazon Web Services /// resources and services, such as IoT Events.

@required alarmRoleArn: ARN ///

The ARN of the Lambda function that manages alarm notifications. For more /// information, see Managing alarm /// notifications in the IoT Events Developer Guide.

notificationLambdaArn: ARN } ///

Contains information about a composite model in an asset. This object contains the asset's /// properties that you define in the composite model.

structure AssetCompositeModel { ///

The name of the composite model.

@required name: Name ///

The description of the composite model.

description: Description ///

The type of the composite model. For alarm composite models, this type is /// AWS/ALARM.

@required type: Name ///

The asset properties that this composite model defines.

@required properties: AssetProperties ///

/// The ID of the asset composite model. ///

id: ID } ///

Contains error details for the requested associate project asset action.

structure AssetErrorDetails { ///

The ID of the asset.

@required assetId: ID ///

The error code.

@required code: AssetErrorCode ///

The error message.

@required message: AssetErrorMessage } ///

Describes an asset hierarchy that contains a hierarchy's name and ID.

structure AssetHierarchy { ///

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

id: ID ///

The hierarchy name provided in the CreateAssetModel or UpdateAssetModel /// API operation.

@required name: Name } ///

Contains information about a parent asset and a child asset that are related through an /// asset hierarchy.

structure AssetHierarchyInfo { ///

The ID of the parent asset in this asset relationship.

parentAssetId: ID ///

The ID of the child asset in this asset relationship.

childAssetId: ID } ///

Contains information about a composite model in an asset model. This object contains the /// asset property definitions that you define in the composite model.

structure AssetModelCompositeModel { ///

The name of the composite model.

@required name: Name ///

The description of the composite model.

description: Description ///

The type of the composite model. For alarm composite models, this type is /// AWS/ALARM.

@required type: Name ///

The asset property definitions for this composite model.

properties: AssetModelProperties ///

/// The ID of the asset model composite model. ///

id: ID } ///

Contains a composite model definition in an asset model. This composite model definition /// is applied to all assets created from the asset model.

structure AssetModelCompositeModelDefinition { ///

The name of the composite model.

@required name: Name ///

The description of the composite model.

description: Description ///

The type of the composite model. For alarm composite models, this type is /// AWS/ALARM.

@required type: Name ///

The asset property definitions for this composite model.

properties: AssetModelPropertyDefinitions } ///

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.

structure AssetModelHierarchy { ///

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

id: ID ///

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

@required name: Name ///

The ID of the asset model. All assets in this hierarchy must be instances of the /// childAssetModelId asset model.

@required childAssetModelId: ID } ///

Contains an asset model hierarchy used in asset model creation. An asset model hierarchy /// determines the kind (or type) of asset that can belong to a hierarchy.

structure AssetModelHierarchyDefinition { ///

The name of the asset model hierarchy definition (as specified in the CreateAssetModel or /// UpdateAssetModel API operation).

@required name: Name ///

The ID of an asset model for this hierarchy.

@required childAssetModelId: ID } ///

Contains information about an asset model property.

structure AssetModelProperty { ///

The ID of the asset model property.

id: ID ///

The name of the asset model property.

@required name: Name ///

The data type of the asset model property.

@required dataType: PropertyDataType ///

The data type of the structure for this property. This parameter exists on properties that /// have the STRUCT data type.

dataTypeSpec: Name ///

The unit of the asset model property, such as Newtons or /// RPM.

unit: PropertyUnit ///

The property type (see PropertyType).

@required type: PropertyType } ///

Contains an asset model property definition. This property definition is applied to all /// assets created from the asset model.

structure AssetModelPropertyDefinition { ///

The name of the property definition.

@required name: Name ///

The data type of the property definition.

///

If you specify STRUCT, you must also specify dataTypeSpec to /// identify the type of the structure for this property.

@required dataType: PropertyDataType ///

The data type of the structure for this property. This parameter is required on properties /// that have the STRUCT data type.

///

The options for this parameter depend on the type of the composite model in which you /// define this property. Use AWS/ALARM_STATE for alarm state in alarm composite /// models.

dataTypeSpec: Name ///

The unit of the property definition, such as Newtons or /// RPM.

unit: PropertyUnit ///

The property definition type (see PropertyType). You can only specify one /// type in a property definition.

@required type: PropertyType } ///

Contains a summary of a property associated with a model.

structure AssetModelPropertySummary { ///

The ID of the property.

id: ID ///

The name of the property.

@required name: Name ///

The data type of the property.

@required dataType: PropertyDataType ///

The data type of the structure for this property. This parameter exists on properties that /// have the STRUCT data type.

dataTypeSpec: Name ///

The unit (such as Newtons or RPM) of the property.

unit: PropertyUnit @required type: PropertyType ///

/// The ID of the composite model that contains the asset model property. ///

assetModelCompositeModelId: ID } ///

Contains current status information for an asset model. For more information, see Asset and model /// states in the IoT SiteWise User Guide.

structure AssetModelStatus { ///

The current state of the asset model.

@required state: AssetModelState ///

Contains associated error information, if any.

error: ErrorDetails } ///

Contains a summary of an asset model.

structure AssetModelSummary { ///

The ID of the asset model (used with IoT SiteWise APIs).

@required id: ID ///

The ARN of the asset model, which has the following format.

///

/// arn:${Partition}:iotsitewise:${Region}:${Account}:asset-model/${AssetModelId} ///

@required arn: ARN ///

The name of the asset model.

@required name: Name ///

The asset model description.

@required description: Description ///

The date the asset model was created, in Unix epoch time.

@required creationDate: Timestamp ///

The date the asset model was last updated, in Unix epoch time.

@required lastUpdateDate: Timestamp ///

The current status of the asset model.

@required status: AssetModelStatus } ///

Contains asset property information.

structure AssetProperty { ///

The ID of the asset property.

@required id: ID ///

The name of the property.

@required name: Name ///

The alias that identifies the property, such as an OPC-UA server data stream path /// (for example, /company/windfarm/3/turbine/7/temperature). For more information, see /// Mapping industrial data streams to asset properties in the /// IoT SiteWise User Guide.

alias: PropertyAlias ///

The asset property's notification topic and state. For more information, see UpdateAssetProperty.

notification: PropertyNotification ///

The data type of the asset property.

@required dataType: PropertyDataType ///

The data type of the structure for this property. This parameter exists on properties that /// have the STRUCT data type.

dataTypeSpec: Name ///

The unit (such as Newtons or RPM) of the asset property.

unit: PropertyUnit } ///

Contains a summary of a property associated with an asset.

structure AssetPropertySummary { ///

The ID of the property.

id: ID ///

The alias that identifies the property, such as an OPC-UA server data stream path /// (for example, /company/windfarm/3/turbine/7/temperature). For more information, see /// Mapping industrial data streams to asset properties in the /// IoT SiteWise User Guide.

alias: PropertyAlias ///

/// The unit of measure (such as Newtons or RPM) of the asset property. ///

unit: PropertyUnit notification: PropertyNotification ///

/// The ID of the composite model that contains the asset property. ///

assetCompositeModelId: ID } ///

Contains asset property value information.

structure AssetPropertyValue { ///

The value of the asset property (see Variant).

@required value: Variant ///

The timestamp of the asset property value.

@required timestamp: TimeInNanos ///

The quality of the asset property value.

quality: Quality } ///

Contains information about assets that are related to one another.

structure AssetRelationshipSummary { ///

The assets that are related through an asset hierarchy.

///

This object is present if the relationshipType is /// HIERARCHY.

hierarchyInfo: AssetHierarchyInfo ///

The relationship type of the assets in this relationship. This value is one of the /// following:

///
    ///
  • ///

    /// HIERARCHY – The assets are related through an asset hierarchy. If /// you specify this relationship type, this asset relationship includes the /// hierarchyInfo object.

    ///
  • ///
@required relationshipType: AssetRelationshipType } ///

Contains information about the current status of an asset. For more information, see /// Asset and model /// states in the IoT SiteWise User Guide.

structure AssetStatus { ///

The current status of the asset.

@required state: AssetState ///

Contains associated error information, if any.

error: ErrorDetails } ///

Contains a summary of an asset.

structure AssetSummary { ///

The ID of the asset.

@required id: ID ///

The ARN of the asset, which has the following format.

///

/// arn:${Partition}:iotsitewise:${Region}:${Account}:asset/${AssetId} ///

@required arn: ARN ///

The name of the asset.

@required name: Name ///

The ID of the asset model used to create this asset.

@required assetModelId: ID ///

The date the asset was created, in Unix epoch time.

@required creationDate: Timestamp ///

The date the asset was last updated, in Unix epoch time.

@required lastUpdateDate: Timestamp ///

The current status of the asset.

@required status: AssetStatus ///

A list of asset hierarchies that each contain a hierarchyId. A hierarchy specifies allowed parent/child asset relationships.

@required hierarchies: AssetHierarchies ///

A description for the asset.

description: Description } @input structure AssociateAssetsRequest { ///

The ID of the parent asset.

@httpLabel @required assetId: ID ///

The ID of a hierarchy in the parent asset's model. Hierarchies allow different groupings /// of assets to be formed that all come from the same asset model. For more information, see /// Asset hierarchies in the IoT SiteWise User Guide.

@required hierarchyId: ID ///

The ID of the child asset to be associated.

@required childAssetId: ID ///

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.

@idempotencyToken clientToken: ClientToken } ///

Contains a summary of an associated asset.

structure AssociatedAssetsSummary { ///

The ID of the asset.

@required id: ID ///

The ARN of the asset, which has the following format.

///

/// arn:${Partition}:iotsitewise:${Region}:${Account}:asset/${AssetId} ///

@required arn: ARN ///

The name of the asset.

@required name: Name ///

The ID of the asset model used to create the asset.

@required assetModelId: ID ///

The date the asset was created, in Unix epoch time.

@required creationDate: Timestamp ///

The date the asset was last updated, in Unix epoch time.

@required lastUpdateDate: Timestamp ///

The current status of the asset.

@required status: AssetStatus ///

A list of asset hierarchies that each contain a hierarchyId. A hierarchy specifies allowed parent/child asset relationships.

@required hierarchies: AssetHierarchies ///

A description for the asset.

description: Description } @input structure AssociateTimeSeriesToAssetPropertyRequest { ///

The alias that identifies the time series.

@httpQuery("alias") @required alias: PropertyAlias ///

The ID of the asset in which the asset property was created.

@httpQuery("assetId") @required assetId: ID ///

The ID of the asset property.

@httpQuery("propertyId") @required propertyId: ID ///

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.

@idempotencyToken clientToken: ClientToken } ///

Contains an asset attribute property. For more information, see /// Attributes in the IoT SiteWise User Guide.

structure Attribute { ///

The default value of the asset model property attribute. All assets that you create from /// the asset model contain this attribute value. You can update an attribute's value after you /// create an asset. For more information, see Updating attribute values in the /// IoT SiteWise User Guide.

defaultValue: DefaultValue } @input structure BatchAssociateProjectAssetsRequest { ///

The ID of the project to which to associate the assets.

@httpLabel @required projectId: ID ///

The IDs of the assets to be associated to the project.

@required assetIds: IDs ///

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.

@idempotencyToken clientToken: ClientToken } @output structure BatchAssociateProjectAssetsResponse { ///

A list of associated error information, if any.

errors: BatchAssociateProjectAssetsErrors } @input structure BatchDisassociateProjectAssetsRequest { ///

The ID of the project from which to disassociate the assets.

@httpLabel @required projectId: ID ///

The IDs of the assets to be disassociated from the project.

@required assetIds: IDs ///

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.

@idempotencyToken clientToken: ClientToken } @output structure BatchDisassociateProjectAssetsResponse { ///

A list of associated error information, if any.

errors: BatchDisassociateProjectAssetsErrors } ///

Contains information for an asset property aggregate entry that is associated with the /// BatchGetAssetPropertyAggregates API.

///

To identify an asset property, you must specify one of the following:

///
    ///
  • ///

    The assetId and propertyId of an asset property.

    ///
  • ///
  • ///

    A propertyAlias, which is a data stream alias (for example, /// /company/windfarm/3/turbine/7/temperature). To define an asset property's alias, see UpdateAssetProperty.

    ///
  • ///
structure BatchGetAssetPropertyAggregatesEntry { ///

The ID of the entry.

@required entryId: EntryId ///

The ID of the asset in which the asset property was created.

assetId: ID ///

The ID of the asset property.

propertyId: ID ///

The alias that identifies the property, such as an OPC-UA server data stream path /// (for example, /company/windfarm/3/turbine/7/temperature). For more information, see /// Mapping industrial data streams to asset properties in the /// IoT SiteWise User Guide.

propertyAlias: AssetPropertyAlias ///

The data aggregating function.

@required aggregateTypes: AggregateTypes ///

The time interval over which to aggregate data.

@required resolution: Resolution ///

The exclusive start of the range from which to query historical data, expressed in seconds in Unix epoch time.

@required startDate: Timestamp ///

The inclusive end of the range from which to query historical data, expressed in seconds in Unix epoch time.

@required endDate: Timestamp ///

The quality by which to filter asset data.

qualities: Qualities ///

The chronological sorting order of the requested information.

///

Default: ASCENDING ///

timeOrdering: TimeOrdering } ///

Contains error information for an asset property aggregate entry that is associated with /// the BatchGetAssetPropertyAggregates API.

structure BatchGetAssetPropertyAggregatesErrorEntry { ///

The error code.

@required errorCode: BatchGetAssetPropertyAggregatesErrorCode ///

The associated error message.

@required errorMessage: ErrorMessage ///

The ID of the entry.

@required entryId: EntryId } ///

Contains the error code and the timestamp for an asset property aggregate entry that is /// associated with the BatchGetAssetPropertyAggregates API.

structure BatchGetAssetPropertyAggregatesErrorInfo { ///

The error code.

@required errorCode: BatchGetAssetPropertyAggregatesErrorCode ///

The date the error occurred, in Unix epoch time.

@required errorTimestamp: Timestamp } @input structure BatchGetAssetPropertyAggregatesRequest { ///

The list of asset property aggregate entries for the batch get request. You can specify up /// to 16 entries per request.

@required entries: BatchGetAssetPropertyAggregatesEntries ///

The token to be used for the next set of paginated results.

nextToken: NextToken ///

The maximum number of results to return for each paginated request. A result set is returned in the two cases, whichever occurs /// first.

///
    ///
  • ///

    The size of the result set is equal to 1 MB.

    ///
  • ///
  • ///

    The number of data points in the result set is equal to the value of /// maxResults. The maximum value of maxResults is 4000.

    ///
  • ///
maxResults: BatchGetAssetPropertyAggregatesMaxResults } @output structure BatchGetAssetPropertyAggregatesResponse { ///

A list of the errors (if any) associated with the batch request. Each error entry /// contains the entryId of the entry that failed.

@required errorEntries: BatchGetAssetPropertyAggregatesErrorEntries ///

A list of entries that were processed successfully by this batch request. Each success entry /// contains the entryId of the entry that succeeded and the latest query result.

@required successEntries: BatchGetAssetPropertyAggregatesSuccessEntries ///

A list of entries that were not processed by this batch request. /// because these entries had been completely processed by previous paginated requests. /// Each skipped entry contains the entryId of the entry that skipped.

@required skippedEntries: BatchGetAssetPropertyAggregatesSkippedEntries ///

The token for the next set of results, or null if there are no additional results.

nextToken: NextToken } ///

Contains information for an entry that has been processed by the previous BatchGetAssetPropertyAggregates request.

structure BatchGetAssetPropertyAggregatesSkippedEntry { ///

The ID of the entry.

@required entryId: EntryId ///

The completion status of each entry that is associated with the BatchGetAssetPropertyAggregates API.

@required completionStatus: BatchEntryCompletionStatus ///

The error information, such as the error code and the timestamp.

errorInfo: BatchGetAssetPropertyAggregatesErrorInfo } ///

Contains success information for an entry that is associated with the BatchGetAssetPropertyAggregates API.

structure BatchGetAssetPropertyAggregatesSuccessEntry { ///

The ID of the entry.

@required entryId: EntryId ///

The requested aggregated asset property values (for example, average, minimum, and /// maximum).

@required aggregatedValues: AggregatedValues } ///

Contains information for an asset property value entry that is associated with the BatchGetAssetPropertyValue API.

///

To identify an asset property, you must specify one of the following:

///
    ///
  • ///

    The assetId and propertyId of an asset property.

    ///
  • ///
  • ///

    A propertyAlias, which is a data stream alias (for example, /// /company/windfarm/3/turbine/7/temperature). To define an asset property's alias, see UpdateAssetProperty.

    ///
  • ///
structure BatchGetAssetPropertyValueEntry { ///

The ID of the entry.

@required entryId: EntryId ///

The ID of the asset in which the asset property was created.

assetId: ID ///

The ID of the asset property.

propertyId: ID ///

The alias that identifies the property, such as an OPC-UA server data stream path /// (for example, /company/windfarm/3/turbine/7/temperature). For more information, see /// Mapping industrial data streams to asset properties in the /// IoT SiteWise User Guide.

propertyAlias: AssetPropertyAlias } ///

Contains error information for an asset property value entry that is associated with the /// BatchGetAssetPropertyValue API.

structure BatchGetAssetPropertyValueErrorEntry { ///

The error code.

@required errorCode: BatchGetAssetPropertyValueErrorCode ///

The associated error message.

@required errorMessage: ErrorMessage ///

The ID of the entry.

@required entryId: EntryId } ///

The error information, such as the error code and the timestamp.

structure BatchGetAssetPropertyValueErrorInfo { ///

The error code.

@required errorCode: BatchGetAssetPropertyValueErrorCode ///

The date the error occurred, in Unix epoch time.

@required errorTimestamp: Timestamp } ///

Contains information for an asset property historical value entry that is associated with /// the BatchGetAssetPropertyValueHistory API.

///

To identify an asset property, you must specify one of the following:

///
    ///
  • ///

    The assetId and propertyId of an asset property.

    ///
  • ///
  • ///

    A propertyAlias, which is a data stream alias (for example, /// /company/windfarm/3/turbine/7/temperature). To define an asset property's alias, see UpdateAssetProperty.

    ///
  • ///
structure BatchGetAssetPropertyValueHistoryEntry { ///

The ID of the entry.

@required entryId: EntryId ///

The ID of the asset in which the asset property was created.

assetId: ID ///

The ID of the asset property.

propertyId: ID ///

The alias that identifies the property, such as an OPC-UA server data stream path /// (for example, /company/windfarm/3/turbine/7/temperature). For more information, see /// Mapping industrial data streams to asset properties in the /// IoT SiteWise User Guide.

propertyAlias: AssetPropertyAlias ///

The exclusive start of the range from which to query historical data, expressed in seconds in Unix epoch time.

startDate: Timestamp ///

The inclusive end of the range from which to query historical data, expressed in seconds in Unix epoch time.

endDate: Timestamp ///

The quality by which to filter asset data.

qualities: Qualities ///

The chronological sorting order of the requested information.

///

Default: ASCENDING ///

timeOrdering: TimeOrdering } ///

A list of the errors (if any) associated with the batch request. Each error entry /// contains the entryId of the entry that failed.

structure BatchGetAssetPropertyValueHistoryErrorEntry { ///

The error code.

@required errorCode: BatchGetAssetPropertyValueHistoryErrorCode ///

The associated error message.

@required errorMessage: ErrorMessage ///

The ID of the entry.

@required entryId: EntryId } ///

The error information, such as the error code and the timestamp.

structure BatchGetAssetPropertyValueHistoryErrorInfo { ///

The error code.

@required errorCode: BatchGetAssetPropertyValueHistoryErrorCode ///

The date the error occurred, in Unix epoch time.

@required errorTimestamp: Timestamp } @input structure BatchGetAssetPropertyValueHistoryRequest { ///

The list of asset property historical value entries for the batch get request. You can /// specify up to 16 entries per request.

@required entries: BatchGetAssetPropertyValueHistoryEntries ///

The token to be used for the next set of paginated results.

nextToken: NextToken ///

The maximum number of results to return for each paginated request. A result set is returned in the two cases, whichever occurs /// first.

///
    ///
  • ///

    The size of the result set is equal to 4 MB.

    ///
  • ///
  • ///

    The number of data points in the result set is equal to the value of /// maxResults. The maximum value of maxResults is 20000.

    ///
  • ///
maxResults: BatchGetAssetPropertyValueHistoryMaxResults } @output structure BatchGetAssetPropertyValueHistoryResponse { ///

A list of the errors (if any) associated with the batch request. Each error entry /// contains the entryId of the entry that failed.

@required errorEntries: BatchGetAssetPropertyValueHistoryErrorEntries ///

A list of entries that were processed successfully by this batch request. Each success entry /// contains the entryId of the entry that succeeded and the latest query result.

@required successEntries: BatchGetAssetPropertyValueHistorySuccessEntries ///

A list of entries that were not processed by this batch request. /// because these entries had been completely processed by previous paginated requests. /// Each skipped entry contains the entryId of the entry that skipped.

@required skippedEntries: BatchGetAssetPropertyValueHistorySkippedEntries ///

The token for the next set of results, or null if there are no additional results.

nextToken: NextToken } ///

Contains information for an entry that has been processed by the previous BatchGetAssetPropertyValueHistory request.

structure BatchGetAssetPropertyValueHistorySkippedEntry { ///

The ID of the entry.

@required entryId: EntryId ///

The completion status of each entry that is associated with the BatchGetAssetPropertyValueHistory API.

@required completionStatus: BatchEntryCompletionStatus ///

The error information, such as the error code and the timestamp.

errorInfo: BatchGetAssetPropertyValueHistoryErrorInfo } ///

Contains success information for an entry that is associated with the BatchGetAssetPropertyValueHistory API.

structure BatchGetAssetPropertyValueHistorySuccessEntry { ///

The ID of the entry.

@required entryId: EntryId ///

The requested historical values for the specified asset property.

@required assetPropertyValueHistory: AssetPropertyValueHistory } @input structure BatchGetAssetPropertyValueRequest { ///

The list of asset property value entries for the batch get request. You can specify up to /// 128 entries per request.

@required entries: BatchGetAssetPropertyValueEntries ///

The token to be used for the next set of paginated results.

nextToken: NextToken } @output structure BatchGetAssetPropertyValueResponse { ///

A list of the errors (if any) associated with the batch request. Each error entry /// contains the entryId of the entry that failed.

@required errorEntries: BatchGetAssetPropertyValueErrorEntries ///

A list of entries that were processed successfully by this batch request. Each success entry /// contains the entryId of the entry that succeeded and the latest query result.

@required successEntries: BatchGetAssetPropertyValueSuccessEntries ///

A list of entries that were not processed by this batch request. /// because these entries had been completely processed by previous paginated requests. /// Each skipped entry contains the entryId of the entry that skipped.

@required skippedEntries: BatchGetAssetPropertyValueSkippedEntries ///

The token for the next set of results, or null if there are no additional results.

nextToken: NextToken } ///

Contains information for an entry that has been processed by the previous BatchGetAssetPropertyValue request.

structure BatchGetAssetPropertyValueSkippedEntry { ///

The ID of the entry.

@required entryId: EntryId ///

The completion status of each entry that is associated with the BatchGetAssetPropertyValue request.

@required completionStatus: BatchEntryCompletionStatus ///

The error information, such as the error code and the timestamp.

errorInfo: BatchGetAssetPropertyValueErrorInfo } ///

Contains success information for an entry that is associated with the BatchGetAssetPropertyValue API.

structure BatchGetAssetPropertyValueSuccessEntry { ///

The ID of the entry.

@required entryId: EntryId assetPropertyValue: AssetPropertyValue } ///

Contains error information from updating a batch of asset property values.

structure BatchPutAssetPropertyError { ///

The error code.

@required errorCode: BatchPutAssetPropertyValueErrorCode ///

The associated error message.

@required errorMessage: ErrorMessage ///

A list of timestamps for each error, if any.

@required timestamps: Timestamps } ///

Contains error information for asset property value entries that are associated with the /// BatchPutAssetPropertyValue API.

structure BatchPutAssetPropertyErrorEntry { ///

The ID of the failed entry.

@required entryId: EntryId ///

The list of update property value errors.

@required errors: BatchPutAssetPropertyErrors } @input structure BatchPutAssetPropertyValueRequest { ///

The list of asset property value entries for the batch put request. You can specify up to /// 10 entries per request.

@required entries: PutAssetPropertyValueEntries } @output structure BatchPutAssetPropertyValueResponse { ///

A list of the errors (if any) associated with the batch put request. Each error entry /// contains the entryId of the entry that failed.

@required errorEntries: BatchPutAssetPropertyErrorEntries } ///

Contains information about a composite model property on an asset.

structure CompositeModelProperty { ///

The name of the property.

@required name: Name ///

The type of the composite model that defines this property.

@required type: Name @required assetProperty: Property ///

/// The ID of the composite model that contains the property. ///

id: ID } ///

Contains the details of an IoT SiteWise configuration error.

structure ConfigurationErrorDetails { ///

The error code.

@required code: ErrorCode ///

The error message.

@required message: ErrorMessage } ///

Contains current status information for the configuration.

structure ConfigurationStatus { ///

The current state of the configuration.

@required state: ConfigurationState ///

Contains associated error information, if any.

error: ConfigurationErrorDetails } ///

Your request has conflicting operations. This can occur if you're trying to perform more /// than one operation on the same resource at the same time.

@error("client") @httpError(409) structure ConflictingOperationException { @required message: ErrorMessage ///

The ID of the resource that conflicts with this operation.

@required resourceId: ResourceId ///

The ARN of the resource that conflicts with this operation.

@required resourceArn: ResourceArn } @input structure CreateAccessPolicyRequest { ///

The identity for this access policy. Choose an IAM Identity Center user, an IAM Identity Center group, or an IAM user.

@required accessPolicyIdentity: Identity ///

The IoT SiteWise Monitor resource for this access policy. Choose either a portal or a project.

@required accessPolicyResource: Resource ///

The permission level for this access policy. Note that a project ADMINISTRATOR is also known as a project owner.

@required accessPolicyPermission: Permission ///

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.

@idempotencyToken clientToken: ClientToken ///

A list of key-value pairs that contain metadata for the access policy. For more /// information, see Tagging your /// IoT SiteWise resources in the IoT SiteWise User Guide.

tags: TagMap } @output structure CreateAccessPolicyResponse { ///

The ID of the access policy.

@required accessPolicyId: ID ///

The ARN of the access policy, which has the following format.

///

/// arn:${Partition}:iotsitewise:${Region}:${Account}:access-policy/${AccessPolicyId} ///

@required accessPolicyArn: ARN } @input structure CreateAssetModelRequest { ///

A unique, friendly name for the asset model.

@required assetModelName: Name ///

A description for the asset model.

assetModelDescription: Description ///

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.

assetModelProperties: AssetModelPropertyDefinitions ///

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.

assetModelHierarchies: AssetModelHierarchyDefinitions ///

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.

assetModelCompositeModels: AssetModelCompositeModelDefinitions ///

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.

@idempotencyToken clientToken: ClientToken ///

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.

tags: TagMap } @output structure CreateAssetModelResponse { ///

The ID of the asset model. You can use this ID when you call other IoT SiteWise APIs.

@required assetModelId: ID ///

The ARN of the asset model, which has the following format.

///

/// arn:${Partition}:iotsitewise:${Region}:${Account}:asset-model/${AssetModelId} ///

@required assetModelArn: ARN ///

The status of the asset model, which contains a state (CREATING after /// successfully calling this operation) and any error message.

@required assetModelStatus: AssetModelStatus } @input structure CreateAssetRequest { ///

A friendly name for the asset.

@required assetName: Name ///

The ID of the asset model from which to create the asset.

@required assetModelId: ID ///

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.

@idempotencyToken clientToken: ClientToken ///

A list of key-value pairs that contain metadata for the asset. For more information, see /// Tagging your IoT SiteWise /// resources in the IoT SiteWise User Guide.

tags: TagMap ///

A description for the asset.

assetDescription: Description } @output structure CreateAssetResponse { ///

The ID of the asset. This ID uniquely identifies the asset within IoT SiteWise and can be used with other /// IoT SiteWise APIs.

@required assetId: ID ///

The ARN of the asset, which has the following format.

///

/// arn:${Partition}:iotsitewise:${Region}:${Account}:asset/${AssetId} ///

@required assetArn: ARN ///

The status of the asset, which contains a state (CREATING after successfully /// calling this operation) and any error message.

@required assetStatus: AssetStatus } @input structure CreateBulkImportJobRequest { ///

The unique name that helps identify the job request.

@required jobName: Name ///

The ARN of the IAM role that allows IoT SiteWise to read Amazon S3 data.

@required jobRoleArn: ARN ///

The files in the specified Amazon S3 bucket that contain your data.

@required files: Files ///

The Amazon S3 destination where errors associated with the job creation request are saved.

@required errorReportLocation: ErrorReportLocation ///

Contains the configuration information of a job, such as the file format used to save data in Amazon S3.

@required jobConfiguration: JobConfiguration } @output structure CreateBulkImportJobResponse { ///

The ID of the job.

@required jobId: ID ///

The unique name that helps identify the job request.

@required jobName: Name ///

The status of the bulk import job can be one of following values.

///
    ///
  • ///

    /// PENDING – IoT SiteWise is waiting for the current bulk import job to finish.

    ///
  • ///
  • ///

    /// CANCELLED – The bulk import job has been canceled.

    ///
  • ///
  • ///

    /// RUNNING – IoT SiteWise is processing your request to import your data from Amazon S3.

    ///
  • ///
  • ///

    /// COMPLETED – IoT SiteWise successfully completed your request to import data from Amazon S3.

    ///
  • ///
  • ///

    /// FAILED – IoT SiteWise couldn't process your request to import data from Amazon S3. /// You can use logs saved in the specified error report location in Amazon S3 to troubleshoot issues.

    ///
  • ///
  • ///

    /// COMPLETED_WITH_FAILURES – IoT SiteWise completed your request to import data from Amazon S3 with errors. /// You can use logs saved in the specified error report location in Amazon S3 to troubleshoot issues.

    ///
  • ///
@required jobStatus: JobStatus } @input structure CreateDashboardRequest { ///

The ID of the project in which to create the dashboard.

@required projectId: ID ///

A friendly name for the dashboard.

@required dashboardName: Name ///

A description for the dashboard.

dashboardDescription: Description ///

The dashboard definition specified in a JSON literal. For detailed information, see /// Creating dashboards (CLI) in the IoT SiteWise User Guide.

@required dashboardDefinition: DashboardDefinition ///

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.

@idempotencyToken clientToken: ClientToken ///

A list of key-value pairs that contain metadata for the dashboard. For more information, /// see Tagging your IoT SiteWise /// resources in the IoT SiteWise User Guide.

tags: TagMap } @output structure CreateDashboardResponse { ///

The ID of the dashboard.

@required dashboardId: ID ///

The ARN of the dashboard, which has the following format.

///

/// arn:${Partition}:iotsitewise:${Region}:${Account}:dashboard/${DashboardId} ///

@required dashboardArn: ARN } @input structure CreateGatewayRequest { ///

A unique, friendly name for the gateway.

@required gatewayName: Name ///

The gateway's platform. You can only specify one platform in a gateway.

@required gatewayPlatform: GatewayPlatform ///

A list of key-value pairs that contain metadata for the gateway. For more information, see /// Tagging your IoT SiteWise /// resources in the IoT SiteWise User Guide.

tags: TagMap } @output structure CreateGatewayResponse { ///

The ID of the gateway device. You can use this ID when you call other IoT SiteWise APIs.

@required gatewayId: ID ///

The ARN of the gateway, which has the following format.

///

/// arn:${Partition}:iotsitewise:${Region}:${Account}:gateway/${GatewayId} ///

@required gatewayArn: ARN } @input structure CreatePortalRequest { ///

A friendly name for the portal.

@required portalName: Name ///

A description for the portal.

portalDescription: Description ///

The Amazon Web Services administrator's contact email address.

@required portalContactEmail: Email ///

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.

@idempotencyToken clientToken: ClientToken ///

A logo image to display in the portal. Upload a square, high-resolution image. The /// image is displayed on a dark background.

portalLogoImageFile: ImageFile ///

The ARN of a service role that allows the portal's users to access your IoT SiteWise /// resources on your behalf. For more information, see Using service roles for IoT SiteWise Monitor in the /// IoT SiteWise User Guide.

@required roleArn: ARN ///

A list of key-value pairs that contain metadata for the portal. For more information, see /// Tagging your IoT SiteWise /// resources in the IoT SiteWise User Guide.

tags: TagMap ///

The service to use to authenticate users to the portal. Choose from the following /// options:

///
    ///
  • ///

    /// SSO – The portal uses IAM Identity Center (successor to Single Sign-On) to authenticate users and manage /// user permissions. Before you can create a portal that uses IAM Identity Center, you must enable IAM Identity Center. /// For more information, see Enabling IAM Identity Center in the /// IoT SiteWise User Guide. This option is only available in Amazon Web Services Regions other than /// the China Regions.

    ///
  • ///
  • ///

    /// IAM – The portal uses Identity and Access Management to authenticate users and manage /// user permissions.

    ///
  • ///
///

You can't change this value after you create a portal.

///

Default: SSO ///

portalAuthMode: AuthMode ///

The email address that sends alarm notifications.

/// ///

If you use the IoT Events managed Lambda /// function to manage your emails, you must verify the sender email /// address in Amazon SES.

///
notificationSenderEmail: Email ///

Contains the configuration information of an alarm created in an IoT SiteWise Monitor portal. /// You can use the alarm to monitor an asset property and get notified when the asset property value is outside a specified range. /// For more information, see Monitoring with alarms in the IoT SiteWise Application Guide.

alarms: Alarms } @output structure CreatePortalResponse { ///

The ID of the created portal.

@required portalId: ID ///

The ARN of the portal, which has the following format.

///

/// arn:${Partition}:iotsitewise:${Region}:${Account}:portal/${PortalId} ///

@required portalArn: ARN ///

The URL for the IoT SiteWise Monitor portal. You can use this URL to access portals that /// use IAM Identity Center for authentication. For portals that use IAM for authentication, you must use the /// IoT SiteWise console to get a URL that you can use to access the portal.

@required portalStartUrl: Url ///

The status of the portal, which contains a state (CREATING after successfully /// calling this operation) and any error message.

@required portalStatus: PortalStatus ///

The associated IAM Identity Center application ID, if the portal uses IAM Identity Center.

@required ssoApplicationId: SSOApplicationId } @input structure CreateProjectRequest { ///

The ID of the portal in which to create the project.

@required portalId: ID ///

A friendly name for the project.

@required projectName: Name ///

A description for the project.

projectDescription: Description ///

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.

@idempotencyToken clientToken: ClientToken ///

A list of key-value pairs that contain metadata for the project. For more information, see /// Tagging your IoT SiteWise /// resources in the IoT SiteWise User Guide.

tags: TagMap } @output structure CreateProjectResponse { ///

The ID of the project.

@required projectId: ID ///

The ARN of the project, which has the following format.

///

/// arn:${Partition}:iotsitewise:${Region}:${Account}:project/${ProjectId} ///

@required projectArn: ARN } ///

A .csv file.

structure Csv { ///

The column names specified in the .csv file.

columnNames: ColumnNames } ///

Contains information about a customer managed Amazon S3 bucket.

structure CustomerManagedS3Storage { ///

The ARN of the Amazon S3 object. For more information about how to find the ARN for an /// Amazon S3 object, see Amazon S3 resources in the /// Amazon Simple Storage Service User Guide.

@required s3ResourceArn: ARN ///

The ARN of the Identity and Access Management role that allows IoT SiteWise to send data to Amazon S3.

@required roleArn: ARN } ///

Contains a dashboard summary.

structure DashboardSummary { ///

The ID of the dashboard.

@required id: ID ///

The name of the dashboard

@required name: Name ///

The dashboard's description.

description: Description ///

The date the dashboard was created, in Unix epoch time.

creationDate: Timestamp ///

The date the dashboard was last updated, in Unix epoch time.

lastUpdateDate: Timestamp } @input structure DeleteAccessPolicyRequest { ///

The ID of the access policy to be deleted.

@httpLabel @required accessPolicyId: ID ///

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.

@httpQuery("clientToken") @idempotencyToken clientToken: ClientToken } @output structure DeleteAccessPolicyResponse {} @input structure DeleteAssetModelRequest { ///

The ID of the asset model to delete.

@httpLabel @required assetModelId: ID ///

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.

@httpQuery("clientToken") @idempotencyToken clientToken: ClientToken } @output structure DeleteAssetModelResponse { ///

The status of the asset model, which contains a state (DELETING after /// successfully calling this operation) and any error message.

@required assetModelStatus: AssetModelStatus } @input structure DeleteAssetRequest { ///

The ID of the asset to delete.

@httpLabel @required assetId: ID ///

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.

@httpQuery("clientToken") @idempotencyToken clientToken: ClientToken } @output structure DeleteAssetResponse { ///

The status of the asset, which contains a state (DELETING after successfully /// calling this operation) and any error message.

@required assetStatus: AssetStatus } @input structure DeleteDashboardRequest { ///

The ID of the dashboard to delete.

@httpLabel @required dashboardId: ID ///

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.

@httpQuery("clientToken") @idempotencyToken clientToken: ClientToken } @output structure DeleteDashboardResponse {} @input structure DeleteGatewayRequest { ///

The ID of the gateway to delete.

@httpLabel @required gatewayId: ID } @input structure DeletePortalRequest { ///

The ID of the portal to delete.

@httpLabel @required portalId: ID ///

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.

@httpQuery("clientToken") @idempotencyToken clientToken: ClientToken } @output structure DeletePortalResponse { ///

The status of the portal, which contains a state (DELETING after successfully /// calling this operation) and any error message.

@required portalStatus: PortalStatus } @input structure DeleteProjectRequest { ///

The ID of the project.

@httpLabel @required projectId: ID ///

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.

@httpQuery("clientToken") @idempotencyToken clientToken: ClientToken } @output structure DeleteProjectResponse {} @input structure DeleteTimeSeriesRequest { ///

The alias that identifies the time series.

@httpQuery("alias") alias: PropertyAlias ///

The ID of the asset in which the asset property was created.

@httpQuery("assetId") assetId: ID ///

The ID of the asset property.

@httpQuery("propertyId") propertyId: ID ///

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.

@idempotencyToken clientToken: ClientToken } @input structure DescribeAccessPolicyRequest { ///

The ID of the access policy.

@httpLabel @required accessPolicyId: ID } @output structure DescribeAccessPolicyResponse { ///

The ID of the access policy.

@required accessPolicyId: ID ///

The ARN of the access policy, which has the following format.

///

/// arn:${Partition}:iotsitewise:${Region}:${Account}:access-policy/${AccessPolicyId} ///

@required accessPolicyArn: ARN ///

The identity (IAM Identity Center user, IAM Identity Center group, or IAM user) to which this access policy /// applies.

@required accessPolicyIdentity: Identity ///

The IoT SiteWise Monitor resource (portal or project) to which this access policy provides /// access.

@required accessPolicyResource: Resource ///

The access policy permission. Note that a project ADMINISTRATOR is also known /// as a project owner.

@required accessPolicyPermission: Permission ///

The date the access policy was created, in Unix epoch time.

@required accessPolicyCreationDate: Timestamp ///

The date the access policy was last updated, in Unix epoch time.

@required accessPolicyLastUpdateDate: Timestamp } @input structure DescribeAssetModelRequest { ///

The ID of the asset model.

@httpLabel @required assetModelId: ID ///

/// Whether or not to exclude asset model properties from the response. ///

@httpQuery("excludeProperties") excludeProperties: ExcludeProperties = false } @output structure DescribeAssetModelResponse { ///

The ID of the asset model.

@required assetModelId: ID ///

The ARN of the asset model, which has the following format.

///

/// arn:${Partition}:iotsitewise:${Region}:${Account}:asset-model/${AssetModelId} ///

@required assetModelArn: ARN ///

The name of the asset model.

@required assetModelName: Name ///

The asset model's description.

@required assetModelDescription: Description ///

The list of asset properties for the asset model.

///

This object doesn't include properties that you define in composite models. You can find /// composite model properties in the assetModelCompositeModels object.

@required assetModelProperties: AssetModelProperties ///

A list of asset model hierarchies that each contain a childAssetModelId and a /// hierarchyId (named id). A hierarchy specifies allowed parent/child /// asset relationships for an asset model.

@required assetModelHierarchies: AssetModelHierarchies ///

The list of composite asset models for the asset model.

assetModelCompositeModels: AssetModelCompositeModels ///

The date the asset model was created, in Unix epoch time.

@required assetModelCreationDate: Timestamp ///

The date the asset model was last updated, in Unix epoch time.

@required assetModelLastUpdateDate: Timestamp ///

The current status of the asset model, which contains a state and any error /// message.

@required assetModelStatus: AssetModelStatus } @input structure DescribeAssetPropertyRequest { ///

The ID of the asset.

@httpLabel @required assetId: ID ///

The ID of the asset property.

@httpLabel @required propertyId: ID } @output structure DescribeAssetPropertyResponse { ///

The ID of the asset.

@required assetId: ID ///

The name of the asset.

@required assetName: Name ///

The ID of the asset model.

@required assetModelId: ID ///

The asset property's definition, alias, and notification state.

///

This response includes this object for normal asset properties. If you describe an asset /// property in a composite model, this response includes the asset property information in /// compositeModel.

assetProperty: Property ///

The composite asset model that declares this asset property, if this asset property exists /// in a composite model.

compositeModel: CompositeModelProperty } @input structure DescribeAssetRequest { ///

The ID of the asset.

@httpLabel @required assetId: ID ///

/// Whether or not to exclude asset properties from the response. ///

@httpQuery("excludeProperties") excludeProperties: ExcludeProperties = false } @output structure DescribeAssetResponse { ///

The ID of the asset.

@required assetId: ID ///

The ARN of the asset, which has the following format.

///

/// arn:${Partition}:iotsitewise:${Region}:${Account}:asset/${AssetId} ///

@required assetArn: ARN ///

The name of the asset.

@required assetName: Name ///

The ID of the asset model that was used to create the asset.

@required assetModelId: ID ///

The list of asset properties for the asset.

///

This object doesn't include properties that you define in composite models. You can find /// composite model properties in the assetCompositeModels object.

@required assetProperties: AssetProperties ///

A list of asset hierarchies that each contain a hierarchyId. A hierarchy specifies allowed parent/child asset relationships.

@required assetHierarchies: AssetHierarchies ///

The composite models for the asset.

assetCompositeModels: AssetCompositeModels ///

The date the asset was created, in Unix epoch time.

@required assetCreationDate: Timestamp ///

The date the asset was last updated, in Unix epoch time.

@required assetLastUpdateDate: Timestamp ///

The current status of the asset, which contains a state and any error message.

@required assetStatus: AssetStatus ///

A description for the asset.

assetDescription: Description } @input structure DescribeBulkImportJobRequest { ///

The ID of the job.

@httpLabel @required jobId: ID } @output structure DescribeBulkImportJobResponse { ///

The ID of the job.

@required jobId: ID ///

The unique name that helps identify the job request.

@required jobName: Name ///

The status of the bulk import job can be one of following values.

///
    ///
  • ///

    /// PENDING – IoT SiteWise is waiting for the current bulk import job to finish.

    ///
  • ///
  • ///

    /// CANCELLED – The bulk import job has been canceled.

    ///
  • ///
  • ///

    /// RUNNING – IoT SiteWise is processing your request to import your data from Amazon S3.

    ///
  • ///
  • ///

    /// COMPLETED – IoT SiteWise successfully completed your request to import data from Amazon S3.

    ///
  • ///
  • ///

    /// FAILED – IoT SiteWise couldn't process your request to import data from Amazon S3. /// You can use logs saved in the specified error report location in Amazon S3 to troubleshoot issues.

    ///
  • ///
  • ///

    /// COMPLETED_WITH_FAILURES – IoT SiteWise completed your request to import data from Amazon S3 with errors. /// You can use logs saved in the specified error report location in Amazon S3 to troubleshoot issues.

    ///
  • ///
@required jobStatus: JobStatus ///

The ARN of the IAM role that allows IoT SiteWise to read Amazon S3 data.

@required jobRoleArn: ARN ///

The files in the specified Amazon S3 bucket that contain your data.

@required files: Files ///

The Amazon S3 destination where errors associated with the job creation request are saved.

@required errorReportLocation: ErrorReportLocation ///

Contains the configuration information of a job, such as the file format used to save data in Amazon S3.

@required jobConfiguration: JobConfiguration ///

The date the job was created, in Unix epoch TIME.

@required jobCreationDate: Timestamp ///

The date the job was last updated, in Unix epoch time.

@required jobLastUpdateDate: Timestamp } @input structure DescribeDashboardRequest { ///

The ID of the dashboard.

@httpLabel @required dashboardId: ID } @output structure DescribeDashboardResponse { ///

The ID of the dashboard.

@required dashboardId: ID ///

The ARN of the dashboard, which has the following format.

///

/// arn:${Partition}:iotsitewise:${Region}:${Account}:dashboard/${DashboardId} ///

@required dashboardArn: ARN ///

The name of the dashboard.

@required dashboardName: Name ///

The ID of the project that the dashboard is in.

@required projectId: ID ///

The dashboard's description.

dashboardDescription: Description ///

The dashboard's definition JSON literal. For detailed information, see Creating /// dashboards (CLI) in the IoT SiteWise User Guide.

@required dashboardDefinition: DashboardDefinition ///

The date the dashboard was created, in Unix epoch time.

@required dashboardCreationDate: Timestamp ///

The date the dashboard was last updated, in Unix epoch time.

@required dashboardLastUpdateDate: Timestamp } @input structure DescribeDefaultEncryptionConfigurationRequest {} @output structure DescribeDefaultEncryptionConfigurationResponse { ///

The type of encryption used for the encryption configuration.

@required encryptionType: EncryptionType ///

The key ARN of the customer managed key used for KMS encryption if you use /// KMS_BASED_ENCRYPTION.

kmsKeyArn: ARN ///

The status of the account configuration. This contains the /// ConfigurationState. If there's an error, it also contains the /// ErrorDetails.

@required configurationStatus: ConfigurationStatus } @input structure DescribeGatewayCapabilityConfigurationRequest { ///

The ID of the gateway that defines the capability configuration.

@httpLabel @required gatewayId: ID ///

The namespace of the capability configuration. /// For example, if you configure OPC-UA /// sources from the IoT SiteWise console, your OPC-UA capability configuration has the namespace /// iotsitewise:opcuacollector:version, where version is a number such as /// 1.

@httpLabel @required capabilityNamespace: CapabilityNamespace } @output structure DescribeGatewayCapabilityConfigurationResponse { ///

The ID of the gateway that defines the capability configuration.

@required gatewayId: ID ///

The namespace of the gateway capability.

@required capabilityNamespace: CapabilityNamespace ///

The JSON document that defines the gateway capability's configuration. For more /// information, see Configuring data sources (CLI) in the IoT SiteWise User Guide.

@required capabilityConfiguration: CapabilityConfiguration ///

The synchronization status of the capability configuration. The sync status can be one of the following:

///
    ///
  • ///

    /// IN_SYNC – The gateway is running the capability configuration.

    ///
  • ///
  • ///

    /// OUT_OF_SYNC – The gateway hasn't received the capability configuration.

    ///
  • ///
  • ///

    /// SYNC_FAILED – The gateway rejected the capability configuration.

    ///
  • ///
@required capabilitySyncStatus: CapabilitySyncStatus } @input structure DescribeGatewayRequest { ///

The ID of the gateway device.

@httpLabel @required gatewayId: ID } @output structure DescribeGatewayResponse { ///

The ID of the gateway device.

@required gatewayId: ID ///

The name of the gateway.

@required gatewayName: Name ///

The ARN of the gateway, which has the following format.

///

/// arn:${Partition}:iotsitewise:${Region}:${Account}:gateway/${GatewayId} ///

@required gatewayArn: ARN ///

The gateway's platform.

gatewayPlatform: GatewayPlatform ///

A list of gateway capability summaries that each contain a namespace and status. Each /// gateway capability defines data sources for the gateway. To retrieve a capability /// configuration's definition, use DescribeGatewayCapabilityConfiguration.

@required gatewayCapabilitySummaries: GatewayCapabilitySummaries ///

The date the gateway was created, in Unix epoch time.

@required creationDate: Timestamp ///

The date the gateway was last updated, in Unix epoch time.

@required lastUpdateDate: Timestamp } @input structure DescribeLoggingOptionsRequest {} @output structure DescribeLoggingOptionsResponse { ///

The current logging options.

@required loggingOptions: LoggingOptions } @input structure DescribePortalRequest { ///

The ID of the portal.

@httpLabel @required portalId: ID } @output structure DescribePortalResponse { ///

The ID of the portal.

@required portalId: ID ///

The ARN of the portal, which has the following format.

///

/// arn:${Partition}:iotsitewise:${Region}:${Account}:portal/${PortalId} ///

@required portalArn: ARN ///

The name of the portal.

@required portalName: Name ///

The portal's description.

portalDescription: Description ///

The IAM Identity Center application generated client ID (used with IAM Identity Center APIs). IoT SiteWise includes /// portalClientId for only portals that use IAM Identity Center to authenticate users.

@required portalClientId: PortalClientId ///

The URL for the IoT SiteWise Monitor portal. You can use this URL to access portals that /// use IAM Identity Center for authentication. For portals that use IAM for authentication, you must use the /// IoT SiteWise console to get a URL that you can use to access the portal.

@required portalStartUrl: Url ///

The Amazon Web Services administrator's contact email address.

@required portalContactEmail: Email ///

The current status of the portal, which contains a state and any error message.

@required portalStatus: PortalStatus ///

The date the portal was created, in Unix epoch time.

@required portalCreationDate: Timestamp ///

The date the portal was last updated, in Unix epoch time.

@required portalLastUpdateDate: Timestamp ///

The portal's logo image, which is available at a URL.

portalLogoImageLocation: ImageLocation ///

The ARN of the service role that allows the portal's users to access your IoT SiteWise /// resources on your behalf. For more information, see Using service roles for IoT SiteWise Monitor in the /// IoT SiteWise User Guide.

roleArn: ARN ///

The service to use to authenticate users to the portal.

portalAuthMode: AuthMode ///

The email address that sends alarm notifications.

notificationSenderEmail: Email ///

Contains the configuration information of an alarm created in an IoT SiteWise Monitor portal.

alarms: Alarms } @input structure DescribeProjectRequest { ///

The ID of the project.

@httpLabel @required projectId: ID } @output structure DescribeProjectResponse { ///

The ID of the project.

@required projectId: ID ///

The ARN of the project, which has the following format.

///

/// arn:${Partition}:iotsitewise:${Region}:${Account}:project/${ProjectId} ///

@required projectArn: ARN ///

The name of the project.

@required projectName: Name ///

The ID of the portal that the project is in.

@required portalId: ID ///

The project's description.

projectDescription: Description ///

The date the project was created, in Unix epoch time.

@required projectCreationDate: Timestamp ///

The date the project was last updated, in Unix epoch time.

@required projectLastUpdateDate: Timestamp } @input structure DescribeStorageConfigurationRequest {} @output structure DescribeStorageConfigurationResponse { ///

The storage tier that you specified for your data. /// The storageType parameter can be one of the following values:

///
    ///
  • ///

    /// SITEWISE_DEFAULT_STORAGE – IoT SiteWise saves your data into the hot tier. /// The hot tier is a service-managed database.

    ///
  • ///
  • ///

    /// MULTI_LAYER_STORAGE – IoT SiteWise saves your data in both the cold tier and the hot tier. /// The cold tier is a customer-managed Amazon S3 bucket.

    ///
  • ///
@required storageType: StorageType ///

Contains information about the storage destination.

multiLayerStorage: MultiLayerStorage ///

Contains the storage configuration for time series (data streams) that aren't associated with asset properties. /// The disassociatedDataStorage can be one of the following values:

///
    ///
  • ///

    /// ENABLED – IoT SiteWise accepts time series that aren't associated with asset properties.

    /// ///

    After the disassociatedDataStorage is enabled, you can't disable it.

    ///
    ///
  • ///
  • ///

    /// DISABLED – IoT SiteWise doesn't accept time series (data streams) that aren't associated with asset properties.

    ///
  • ///
///

For more information, see Data streams /// in the IoT SiteWise User Guide.

disassociatedDataStorage: DisassociatedDataStorageState ///

How many days your data is kept in the hot tier. By default, your data is kept indefinitely in the hot tier.

retentionPeriod: RetentionPeriod @required configurationStatus: ConfigurationStatus ///

The date the storage configuration was last updated, in Unix epoch time.

lastUpdateDate: Timestamp } @input structure DescribeTimeSeriesRequest { ///

The alias that identifies the time series.

@httpQuery("alias") alias: PropertyAlias ///

The ID of the asset in which the asset property was created.

@httpQuery("assetId") assetId: ID ///

The ID of the asset property.

@httpQuery("propertyId") propertyId: ID } @output structure DescribeTimeSeriesResponse { ///

The ID of the asset in which the asset property was created.

assetId: ID ///

The ID of the asset property.

propertyId: ID ///

The alias that identifies the time series.

alias: PropertyAlias ///

The ID of the time series.

@required timeSeriesId: TimeSeriesId ///

The data type of the time series.

///

If you specify STRUCT, you must also specify dataTypeSpec to identify the type of the structure for this time series.

@required dataType: PropertyDataType ///

The data type of the structure for this time series. This parameter is required for time series /// that have the STRUCT data type.

///

The options for this parameter depend on the type of the composite model /// in which you created the asset property that is associated with your time series. /// Use AWS/ALARM_STATE for alarm state in alarm composite models.

dataTypeSpec: Name ///

The date that the time series was created, in Unix epoch time.

@required timeSeriesCreationDate: Timestamp ///

The date that the time series was last updated, in Unix epoch time.

@required timeSeriesLastUpdateDate: Timestamp ///

The ARN of the time series, which has the following format.

///

/// arn:${Partition}:iotsitewise:${Region}:${Account}:time-series/${TimeSeriesId} ///

@required timeSeriesArn: ARN } ///

Contains detailed error information.

structure DetailedError { ///

The error code.

@required code: DetailedErrorCode ///

The error message.

@required message: DetailedErrorMessage } @input structure DisassociateAssetsRequest { ///

The ID of the parent asset from which to disassociate the child asset.

@httpLabel @required assetId: ID ///

The ID of a hierarchy in the parent asset's model. Hierarchies allow different groupings /// of assets to be formed that all come from the same asset model. You can use the hierarchy ID /// to identify the correct asset to disassociate. For more information, see /// Asset hierarchies in the IoT SiteWise User Guide.

@required hierarchyId: ID ///

The ID of the child asset to disassociate.

@required childAssetId: ID ///

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.

@idempotencyToken clientToken: ClientToken } @input structure DisassociateTimeSeriesFromAssetPropertyRequest { ///

The alias that identifies the time series.

@httpQuery("alias") @required alias: PropertyAlias ///

The ID of the asset in which the asset property was created.

@httpQuery("assetId") @required assetId: ID ///

The ID of the asset property.

@httpQuery("propertyId") @required propertyId: ID ///

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.

@idempotencyToken clientToken: ClientToken } ///

Contains the details of an IoT SiteWise error.

structure ErrorDetails { ///

The error code.

@required code: ErrorCode ///

The error message.

@required message: ErrorMessage ///

A list of detailed errors.

details: DetailedErrors } ///

The Amazon S3 destination where errors associated with the job creation request are saved.

structure ErrorReportLocation { ///

The name of the Amazon S3 bucket to which errors associated with the bulk import job are /// sent.

@required bucket: Bucket ///

Amazon S3 uses the prefix as a folder name to organize data in the bucket. Each Amazon S3 object has /// a key that is its unique identifier in the bucket. Each object in a bucket has exactly one /// key. The prefix must end with a forward slash (/). For more information, see Organizing objects /// using prefixes in the Amazon Simple Storage Service User Guide.

@required prefix: String } ///

Contains expression variable information.

structure ExpressionVariable { ///

The friendly name of the variable to be used in the expression.

@required name: VariableName ///

The variable that identifies an asset property from which to use values.

@required value: VariableValue } ///

The file in Amazon S3 where your data is saved.

structure File { ///

The name of the Amazon S3 bucket from which data is imported.

@required bucket: Bucket ///

The key of the Amazon S3 object that contains your data. Each object has a key that is a unique /// identifier. Each object has exactly one key.

@required key: String ///

The version ID to identify a specific version of the Amazon S3 object that contains your /// data.

versionId: String } ///

The file format of the data.

structure FileFormat { ///

The .csv file format.

csv: Csv } ///

The forwarding configuration for a given property.

structure ForwardingConfig { ///

The forwarding state for the given property.

@required state: ForwardingConfigState } ///

Contains a summary of a gateway capability configuration.

structure GatewayCapabilitySummary { ///

The namespace of the capability configuration. /// For example, if you configure OPC-UA /// sources from the IoT SiteWise console, your OPC-UA capability configuration has the namespace /// iotsitewise:opcuacollector:version, where version is a number such as /// 1.

@required capabilityNamespace: CapabilityNamespace ///

The synchronization status of the capability configuration. The sync status can be one of the following:

///
    ///
  • ///

    /// IN_SYNC – The gateway is running the capability configuration.

    ///
  • ///
  • ///

    /// OUT_OF_SYNC – The gateway hasn't received the capability configuration.

    ///
  • ///
  • ///

    /// SYNC_FAILED – The gateway rejected the capability configuration.

    ///
  • ///
@required capabilitySyncStatus: CapabilitySyncStatus } ///

Contains a gateway's platform information.

structure GatewayPlatform { ///

A gateway that runs on IoT Greengrass.

greengrass: Greengrass ///

A gateway that runs on IoT Greengrass V2.

greengrassV2: GreengrassV2 } ///

Contains a summary of a gateway.

structure GatewaySummary { ///

The ID of the gateway device.

@required gatewayId: ID ///

The name of the asset.

@required gatewayName: Name gatewayPlatform: GatewayPlatform ///

A list of gateway capability summaries that each contain a namespace and status. Each /// gateway capability defines data sources for the gateway. To retrieve a capability /// configuration's definition, use DescribeGatewayCapabilityConfiguration.

gatewayCapabilitySummaries: GatewayCapabilitySummaries ///

The date the gateway was created, in Unix epoch time.

@required creationDate: Timestamp ///

The date the gateway was last updated, in Unix epoch time.

@required lastUpdateDate: Timestamp } @input structure GetAssetPropertyAggregatesRequest { ///

The ID of the asset.

@httpQuery("assetId") assetId: ID ///

The ID of the asset property.

@httpQuery("propertyId") propertyId: ID ///

The alias that identifies the property, such as an OPC-UA server data stream path /// (for example, /company/windfarm/3/turbine/7/temperature). For more information, see /// Mapping industrial data streams to asset properties in the /// IoT SiteWise User Guide.

@httpQuery("propertyAlias") propertyAlias: AssetPropertyAlias ///

The data aggregating function.

@httpQuery("aggregateTypes") @required aggregateTypes: AggregateTypes ///

The time interval over which to aggregate data.

@httpQuery("resolution") @required resolution: Resolution ///

The quality by which to filter asset data.

@httpQuery("qualities") qualities: Qualities ///

The exclusive start of the range from which to query historical data, expressed in seconds in Unix epoch time.

@httpQuery("startDate") @required startDate: Timestamp ///

The inclusive end of the range from which to query historical data, expressed in seconds in Unix epoch time.

@httpQuery("endDate") @required endDate: Timestamp ///

The chronological sorting order of the requested information.

///

Default: ASCENDING ///

@httpQuery("timeOrdering") timeOrdering: TimeOrdering ///

The token to be used for the next set of paginated results.

@httpQuery("nextToken") nextToken: NextToken ///

The maximum number of results to return for each paginated request. A result set is returned in the two cases, whichever occurs /// first.

///
    ///
  • ///

    The size of the result set is equal to 1 MB.

    ///
  • ///
  • ///

    The number of data points in the result set is equal to the value of /// maxResults. The maximum value of maxResults is 250.

    ///
  • ///
@httpQuery("maxResults") maxResults: GetAssetPropertyValueAggregatesMaxResults } @output structure GetAssetPropertyAggregatesResponse { ///

The requested aggregated values.

@required aggregatedValues: AggregatedValues ///

The token for the next set of results, or null if there are no additional results.

nextToken: NextToken } @input structure GetAssetPropertyValueHistoryRequest { ///

The ID of the asset.

@httpQuery("assetId") assetId: ID ///

The ID of the asset property.

@httpQuery("propertyId") propertyId: ID ///

The alias that identifies the property, such as an OPC-UA server data stream path /// (for example, /company/windfarm/3/turbine/7/temperature). For more information, see /// Mapping industrial data streams to asset properties in the /// IoT SiteWise User Guide.

@httpQuery("propertyAlias") propertyAlias: AssetPropertyAlias ///

The exclusive start of the range from which to query historical data, expressed in seconds in Unix epoch time.

@httpQuery("startDate") startDate: Timestamp ///

The inclusive end of the range from which to query historical data, expressed in seconds in Unix epoch time.

@httpQuery("endDate") endDate: Timestamp ///

The quality by which to filter asset data.

@httpQuery("qualities") qualities: Qualities ///

The chronological sorting order of the requested information.

///

Default: ASCENDING ///

@httpQuery("timeOrdering") timeOrdering: TimeOrdering ///

The token to be used for the next set of paginated results.

@httpQuery("nextToken") nextToken: NextToken ///

The maximum number of results to return for each paginated request. A result set is returned in the two cases, whichever occurs /// first.

///
    ///
  • ///

    The size of the result set is equal to 4 MB.

    ///
  • ///
  • ///

    The number of data points in the result set is equal to the value of /// maxResults. The maximum value of maxResults is 20000.

    ///
  • ///
@httpQuery("maxResults") maxResults: GetAssetPropertyValueHistoryMaxResults } @output structure GetAssetPropertyValueHistoryResponse { ///

The asset property's value history.

@required assetPropertyValueHistory: AssetPropertyValueHistory ///

The token for the next set of results, or null if there are no additional results.

nextToken: NextToken } @input structure GetAssetPropertyValueRequest { ///

The ID of the asset.

@httpQuery("assetId") assetId: ID ///

The ID of the asset property.

@httpQuery("propertyId") propertyId: ID ///

The alias that identifies the property, such as an OPC-UA server data stream path /// (for example, /company/windfarm/3/turbine/7/temperature). For more information, see /// Mapping industrial data streams to asset properties in the /// IoT SiteWise User Guide.

@httpQuery("propertyAlias") propertyAlias: AssetPropertyAlias } @output structure GetAssetPropertyValueResponse { ///

The current asset property value.

propertyValue: AssetPropertyValue } @input structure GetInterpolatedAssetPropertyValuesRequest { ///

The ID of the asset.

@httpQuery("assetId") assetId: ID ///

The ID of the asset property.

@httpQuery("propertyId") propertyId: ID ///

The alias that identifies the property, such as an OPC-UA server data stream path /// (for example, /company/windfarm/3/turbine/7/temperature). For more information, see /// Mapping industrial data streams to asset properties in the /// IoT SiteWise User Guide.

@httpQuery("propertyAlias") propertyAlias: AssetPropertyAlias ///

The exclusive start of the range from which to interpolate data, expressed in seconds in /// Unix epoch time.

@httpQuery("startTimeInSeconds") @required startTimeInSeconds: TimeInSeconds ///

The nanosecond offset converted from startTimeInSeconds.

@httpQuery("startTimeOffsetInNanos") startTimeOffsetInNanos: OffsetInNanos ///

The inclusive end of the range from which to interpolate data, expressed in seconds in /// Unix epoch time.

@httpQuery("endTimeInSeconds") @required endTimeInSeconds: TimeInSeconds ///

The nanosecond offset converted from endTimeInSeconds.

@httpQuery("endTimeOffsetInNanos") endTimeOffsetInNanos: OffsetInNanos ///

The quality of the asset property value. You can use this parameter as a filter to choose /// only the asset property values that have a specific quality.

@httpQuery("quality") @required quality: Quality ///

The time interval in seconds over which to interpolate data. Each interval starts when the /// previous one ends.

@httpQuery("intervalInSeconds") @required intervalInSeconds: IntervalInSeconds ///

The token to be used for the next set of paginated results.

@httpQuery("nextToken") nextToken: NextToken ///

The maximum number of results to return for each paginated request. If not specified, the default value is 10.

@httpQuery("maxResults") maxResults: MaxInterpolatedResults ///

The interpolation type.

///

Valid values: LINEAR_INTERPOLATION | LOCF_INTERPOLATION ///

///
    ///
  • ///

    /// LINEAR_INTERPOLATION – Estimates missing data using linear /// interpolation.

    ///

    For example, you can use this operation to return the interpolated temperature values /// for a wind turbine every 24 hours over a duration of 7 days. If the interpolation starts /// July 1, 2021, at 9 AM, IoT SiteWise returns the first interpolated value on July 2, 2021, at 9 AM, /// the second interpolated value on July 3, 2021, at 9 AM, and so on.

    ///
  • ///
  • ///

    /// LOCF_INTERPOLATION – Estimates missing data using last observation /// carried forward interpolation

    ///

    If no data point is found for an interval, IoT SiteWise returns the last observed data point /// for the previous interval and carries forward this interpolated value until a new data /// point is found.

    ///

    For example, you can get the state of an on-off valve every 24 hours over a duration /// of 7 days. If the interpolation starts July 1, 2021, at 9 AM, IoT SiteWise returns the last /// observed data point between July 1, 2021, at 9 AM and July 2, 2021, at 9 AM as the first /// interpolated value. If a data point isn't found after 9 AM on July 2, 2021, IoT SiteWise uses the /// same interpolated value for the rest of the days.

    ///
  • ///
@httpQuery("type") @required type: InterpolationType ///

The query interval for the window, in seconds. IoT SiteWise computes each interpolated value by /// using data points from the timestamp of each interval, minus the window to the timestamp of /// each interval plus the window. If not specified, the window ranges between the start time /// minus the interval and the end time plus the interval.

/// ///
    ///
  • ///

    If you specify a value for the intervalWindowInSeconds parameter, the /// value for the type parameter must be /// LINEAR_INTERPOLATION.

    ///
  • ///
  • ///

    If a data point isn't found during the specified query window, IoT SiteWise won't return an /// interpolated value for the interval. This indicates that there's a gap in the ingested /// data points.

    ///
  • ///
///
///

For example, you can get the interpolated temperature values for a wind turbine every 24 /// hours over a duration of 7 days. If the interpolation starts on July 1, 2021, at 9 AM with a /// window of 2 hours, IoT SiteWise uses the data points from 7 AM (9 AM minus 2 hours) to 11 AM (9 AM /// plus 2 hours) on July 2, 2021 to compute the first interpolated value. Next, IoT SiteWise uses the /// data points from 7 AM (9 AM minus 2 hours) to 11 AM (9 AM plus 2 hours) on July 3, 2021 to /// compute the second interpolated value, and so on.

@httpQuery("intervalWindowInSeconds") intervalWindowInSeconds: IntervalWindowInSeconds } @output structure GetInterpolatedAssetPropertyValuesResponse { ///

The requested interpolated values.

@required interpolatedAssetPropertyValues: InterpolatedAssetPropertyValues ///

The token for the next set of results, or null if there are no additional results.

nextToken: NextToken } ///

Contains details for a gateway that runs on IoT Greengrass. To create a gateway that runs on IoT Greengrass, /// you must add the IoT SiteWise connector to a Greengrass group and deploy it. Your Greengrass /// group must also have permissions to upload data to IoT SiteWise. For more information, see Ingesting data using a /// gateway in the IoT SiteWise User Guide.

structure Greengrass { ///

The ARN of the Greengrass group. For more information about how to find a group's /// ARN, see ListGroups and GetGroup in the /// IoT Greengrass API Reference.

@required groupArn: ARN } ///

Contains details for a gateway that runs on IoT Greengrass V2. To create a gateway that runs on IoT Greengrass /// V2, you must deploy the IoT SiteWise Edge component to your gateway device. Your Greengrass /// device role must use the AWSIoTSiteWiseEdgeAccess policy. For more /// information, see Using IoT SiteWise at the edge in the /// IoT SiteWise User Guide.

structure GreengrassV2 { ///

The name of the IoT thing for your IoT Greengrass V2 core device.

@required coreDeviceThingName: CoreDeviceThingName } ///

Contains information for a group identity in an access policy.

structure GroupIdentity { ///

The IAM Identity Center ID of the group.

@required id: IdentityId } ///

Contains information about an Identity and Access Management role. For more information, see IAM roles in the /// IAM User Guide.

structure IAMRoleIdentity { ///

The ARN of the IAM role. For more information, see IAM ARNs in the /// IAM User Guide.

@required arn: ARN } ///

Contains information about an Identity and Access Management user.

structure IAMUserIdentity { ///

The ARN of the IAM user. For more information, see IAM ARNs in the /// IAM User Guide.

/// ///

If you delete the IAM user, access policies that contain this identity include an /// empty arn. You can delete the access policy for the IAM user that no longer /// exists.

///
@required arn: ARN } ///

Contains an identity that can access an IoT SiteWise Monitor resource.

/// ///

Currently, you can't use Amazon Web Services APIs to retrieve IAM Identity Center identity IDs. You can find the /// IAM Identity Center identity IDs in the URL of user and group pages in the IAM Identity Center console.

///
structure Identity { ///

An IAM Identity Center user identity.

user: UserIdentity ///

An IAM Identity Center group identity.

group: GroupIdentity ///

An IAM user identity.

iamUser: IAMUserIdentity ///

An IAM role identity.

iamRole: IAMRoleIdentity } ///

Contains an image that is one of the following:

///
    ///
  • ///

    An image file. Choose this option to upload a new image.

    ///
  • ///
  • ///

    The ID of an existing image. Choose this option to keep an existing image.

    ///
  • ///
structure Image { ///

The ID of an existing image. Specify this parameter to keep an existing image.

id: ID file: ImageFile } ///

Contains an image file.

structure ImageFile { ///

The image file contents, represented as a base64-encoded string. The file size must be /// less than 1 MB.

@required data: ImageFileData ///

The file type of the image.

@required type: ImageFileType } ///

Contains an image that is uploaded to IoT SiteWise and available at a URL.

structure ImageLocation { ///

The ID of the image.

@required id: ID ///

The URL where the image is available. The URL is valid for 15 minutes so that you can view /// and download the image

@required url: Url } ///

IoT SiteWise can't process your request right now. Try again later.

@error("server") @httpError(500) structure InternalFailureException { @required message: ErrorMessage } ///

Contains information about an interpolated asset property value.

structure InterpolatedAssetPropertyValue { @required timestamp: TimeInNanos @required value: Variant } ///

The request isn't valid. This can occur if your request contains malformed JSON or /// unsupported characters. Check your request and try again.

@error("client") @httpError(400) structure InvalidRequestException { @required message: ErrorMessage } ///

Contains the configuration information of a job, such as the file format used to save data in Amazon S3.

structure JobConfiguration { ///

The file format of the data in Amazon S3.

@required fileFormat: FileFormat } ///

Contains a job summary information.

structure JobSummary { ///

The ID of the job.

@required id: ID ///

The unique name that helps identify the job request.

@required name: Name ///

The status of the bulk import job can be one of following values.

///
    ///
  • ///

    /// PENDING – IoT SiteWise is waiting for the current bulk import job to finish.

    ///
  • ///
  • ///

    /// CANCELLED – The bulk import job has been canceled.

    ///
  • ///
  • ///

    /// RUNNING – IoT SiteWise is processing your request to import your data from Amazon S3.

    ///
  • ///
  • ///

    /// COMPLETED – IoT SiteWise successfully completed your request to import data from Amazon S3.

    ///
  • ///
  • ///

    /// FAILED – IoT SiteWise couldn't process your request to import data from Amazon S3. /// You can use logs saved in the specified error report location in Amazon S3 to troubleshoot issues.

    ///
  • ///
  • ///

    /// COMPLETED_WITH_FAILURES – IoT SiteWise completed your request to import data from Amazon S3 with errors. /// You can use logs saved in the specified error report location in Amazon S3 to troubleshoot issues.

    ///
  • ///
@required status: JobStatus } ///

You've reached the limit for a resource. For example, this can occur if you're trying to /// associate more than the allowed number of child assets or attempting to create more than the /// allowed number of properties for an asset model.

///

For more information, see Quotas in the IoT SiteWise User Guide.

@error("client") @httpError(410) structure LimitExceededException { @required message: ErrorMessage } @input structure ListAccessPoliciesRequest { ///

The type of identity (IAM Identity Center user, IAM Identity Center group, or IAM user). This parameter is required /// if you specify identityId.

@httpQuery("identityType") identityType: IdentityType ///

The ID of the identity. This parameter is required if you specify USER or /// GROUP for identityType.

@httpQuery("identityId") identityId: IdentityId ///

The type of resource (portal or project). This parameter is required if you specify /// resourceId.

@httpQuery("resourceType") resourceType: ResourceType ///

The ID of the resource. This parameter is required if you specify /// resourceType.

@httpQuery("resourceId") resourceId: ID ///

The ARN of the IAM user. For more information, see IAM ARNs in the /// IAM User Guide. This parameter is required if you specify /// IAM for identityType.

@httpQuery("iamArn") iamArn: ARN ///

The token to be used for the next set of paginated results.

@httpQuery("nextToken") nextToken: NextToken ///

The maximum number of results to return for each paginated request.

///

Default: 50

@httpQuery("maxResults") maxResults: MaxResults } @output structure ListAccessPoliciesResponse { ///

A list that summarizes each access policy.

@required accessPolicySummaries: AccessPolicySummaries ///

The token for the next set of results, or null if there are no additional results.

nextToken: NextToken } @input structure ListAssetModelPropertiesRequest { ///

The ID of the asset model.

@httpLabel @required assetModelId: ID ///

The token to be used for the next set of paginated results.

@httpQuery("nextToken") nextToken: NextToken ///

The maximum number of results to return for each paginated request. If not specified, the default value is 50.

@httpQuery("maxResults") maxResults: MaxResults ///

Filters the requested list of asset model properties. You can choose one of the following /// options:

///
    ///
  • ///

    /// ALL – The list includes all asset model properties for a given asset /// model ID.

    ///
  • ///
  • ///

    /// BASE – The list includes only base asset model properties for a given /// asset model ID.

    ///
  • ///
///

Default: BASE ///

@httpQuery("filter") filter: ListAssetModelPropertiesFilter } @output structure ListAssetModelPropertiesResponse { ///

A list that summarizes the properties associated with the specified asset model.

@required assetModelPropertySummaries: AssetModelPropertySummaries ///

The token for the next set of results, or null if there are no additional results.

nextToken: NextToken } @input structure ListAssetModelsRequest { ///

The token to be used for the next set of paginated results.

@httpQuery("nextToken") nextToken: NextToken ///

The maximum number of results to return for each paginated request.

///

Default: 50

@httpQuery("maxResults") maxResults: MaxResults } @output structure ListAssetModelsResponse { ///

A list that summarizes each asset model.

@required assetModelSummaries: AssetModelSummaries ///

The token for the next set of results, or null if there are no additional results.

nextToken: NextToken } @input structure ListAssetPropertiesRequest { ///

The ID of the asset.

@httpLabel @required assetId: ID ///

The token to be used for the next set of paginated results.

@httpQuery("nextToken") nextToken: NextToken ///

The maximum number of results to return for each paginated request. If not specified, the default value is 50.

@httpQuery("maxResults") maxResults: MaxResults ///

Filters the requested list of asset properties. You can choose one of the following /// options:

///
    ///
  • ///

    /// ALL – The list includes all asset properties for a given asset /// model ID.

    ///
  • ///
  • ///

    /// BASE – The list includes only base asset properties for a given /// asset model ID.

    ///
  • ///
///

Default: BASE ///

@httpQuery("filter") filter: ListAssetPropertiesFilter } @output structure ListAssetPropertiesResponse { ///

A list that summarizes the properties associated with the specified asset.

@required assetPropertySummaries: AssetPropertySummaries ///

The token for the next set of results, or null if there are no additional results.

nextToken: NextToken } @input structure ListAssetRelationshipsRequest { ///

The ID of the asset.

@httpLabel @required assetId: ID ///

The type of traversal to use to identify asset relationships. Choose the following /// option:

///
    ///
  • ///

    /// PATH_TO_ROOT – Identify the asset's parent assets up to the root /// asset. The asset that you specify in assetId is the first result in the list /// of assetRelationshipSummaries, and the root asset is the last result.

    ///
  • ///
@httpQuery("traversalType") @required traversalType: TraversalType ///

The token to be used for the next set of paginated results.

@httpQuery("nextToken") nextToken: NextToken ///

The maximum number of results to return for each paginated request.

@httpQuery("maxResults") maxResults: MaxResults } @output structure ListAssetRelationshipsResponse { ///

A list that summarizes each asset relationship.

@required assetRelationshipSummaries: AssetRelationshipSummaries ///

The token for the next set of results, or null if there are no additional results.

nextToken: NextToken } @input structure ListAssetsRequest { ///

The token to be used for the next set of paginated results.

@httpQuery("nextToken") nextToken: NextToken ///

The maximum number of results to return for each paginated request.

///

Default: 50

@httpQuery("maxResults") maxResults: MaxResults ///

The ID of the asset model by which to filter the list of assets. This parameter is /// required if you choose ALL for filter.

@httpQuery("assetModelId") assetModelId: ID ///

The filter for the requested list of assets. Choose one of the following options:

///
    ///
  • ///

    /// ALL – The list includes all assets for a given asset model ID. The /// assetModelId parameter is required if you filter by /// ALL.

    ///
  • ///
  • ///

    /// TOP_LEVEL – The list includes only top-level assets in the asset /// hierarchy tree.

    ///
  • ///
///

Default: ALL ///

@httpQuery("filter") filter: ListAssetsFilter } @output structure ListAssetsResponse { ///

A list that summarizes each asset.

@required assetSummaries: AssetSummaries ///

The token for the next set of results, or null if there are no additional results.

nextToken: NextToken } @input structure ListAssociatedAssetsRequest { ///

The ID of the asset to query.

@httpLabel @required assetId: ID ///

The ID of the hierarchy by which child assets are associated to the asset. To find a /// hierarchy ID, use the DescribeAsset or DescribeAssetModel operations. This /// parameter is required if you choose CHILD for /// traversalDirection.

///

For more information, see Asset hierarchies in the IoT SiteWise User Guide.

@httpQuery("hierarchyId") hierarchyId: ID ///

The direction to list associated assets. Choose one of the following options:

///
    ///
  • ///

    /// CHILD – The list includes all child assets associated to the /// asset. The hierarchyId parameter is required if you choose /// CHILD.

    ///
  • ///
  • ///

    /// PARENT – The list includes the asset's parent asset.

    ///
  • ///
///

Default: CHILD ///

@httpQuery("traversalDirection") traversalDirection: TraversalDirection ///

The token to be used for the next set of paginated results.

@httpQuery("nextToken") nextToken: NextToken ///

The maximum number of results to return for each paginated request.

///

Default: 50

@httpQuery("maxResults") maxResults: MaxResults } @output structure ListAssociatedAssetsResponse { ///

A list that summarizes the associated assets.

@required assetSummaries: AssociatedAssetsSummaries ///

The token for the next set of results, or null if there are no additional results.

nextToken: NextToken } @input structure ListBulkImportJobsRequest { ///

The token to be used for the next set of paginated results.

@httpQuery("nextToken") nextToken: NextToken ///

The maximum number of results to return for each paginated request.

@httpQuery("maxResults") maxResults: MaxResults ///

You can use a filter to select the bulk import jobs that you want to retrieve.

@httpQuery("filter") filter: ListBulkImportJobsFilter } @output structure ListBulkImportJobsResponse { ///

One or more job summaries to list.

@required jobSummaries: JobSummaries ///

The token for the next set of results, or null if there are no additional results.

nextToken: NextToken } @input structure ListDashboardsRequest { ///

The ID of the project.

@httpQuery("projectId") @required projectId: ID ///

The token to be used for the next set of paginated results.

@httpQuery("nextToken") nextToken: NextToken ///

The maximum number of results to return for each paginated request.

///

Default: 50

@httpQuery("maxResults") maxResults: MaxResults } @output structure ListDashboardsResponse { ///

A list that summarizes each dashboard in the project.

@required dashboardSummaries: DashboardSummaries ///

The token for the next set of results, or null if there are no additional results.

nextToken: NextToken } @input structure ListGatewaysRequest { ///

The token to be used for the next set of paginated results.

@httpQuery("nextToken") nextToken: NextToken ///

The maximum number of results to return for each paginated request.

///

Default: 50

@httpQuery("maxResults") maxResults: MaxResults } @output structure ListGatewaysResponse { ///

A list that summarizes each gateway.

@required gatewaySummaries: GatewaySummaries ///

The token for the next set of results, or null if there are no additional results.

nextToken: NextToken } @input structure ListPortalsRequest { ///

The token to be used for the next set of paginated results.

@httpQuery("nextToken") nextToken: NextToken ///

The maximum number of results to return for each paginated request.

///

Default: 50

@httpQuery("maxResults") maxResults: MaxResults } @output structure ListPortalsResponse { ///

A list that summarizes each portal.

portalSummaries: PortalSummaries ///

The token for the next set of results, or null if there are no additional results.

nextToken: NextToken } @input structure ListProjectAssetsRequest { ///

The ID of the project.

@httpLabel @required projectId: ID ///

The token to be used for the next set of paginated results.

@httpQuery("nextToken") nextToken: NextToken ///

The maximum number of results to return for each paginated request.

///

Default: 50

@httpQuery("maxResults") maxResults: MaxResults } @output structure ListProjectAssetsResponse { ///

A list that contains the IDs of each asset associated with the project.

@required assetIds: AssetIDs ///

The token for the next set of results, or null if there are no additional results.

nextToken: NextToken } @input structure ListProjectsRequest { ///

The ID of the portal.

@httpQuery("portalId") @required portalId: ID ///

The token to be used for the next set of paginated results.

@httpQuery("nextToken") nextToken: NextToken ///

The maximum number of results to return for each paginated request.

///

Default: 50

@httpQuery("maxResults") maxResults: MaxResults } @output structure ListProjectsResponse { ///

A list that summarizes each project in the portal.

@required projectSummaries: ProjectSummaries ///

The token for the next set of results, or null if there are no additional results.

nextToken: NextToken } @input structure ListTagsForResourceRequest { ///

The ARN of the resource.

@httpQuery("resourceArn") @required resourceArn: AmazonResourceName } @output structure ListTagsForResourceResponse { ///

The list of key-value pairs that contain metadata for the resource. For more information, /// see Tagging your IoT SiteWise /// resources in the IoT SiteWise User Guide.

tags: TagMap } @input structure ListTimeSeriesRequest { ///

The token to be used for the next set of paginated results.

@httpQuery("nextToken") nextToken: NextToken ///

The maximum number of results to return for each paginated request.

@httpQuery("maxResults") maxResults: MaxResults ///

The ID of the asset in which the asset property was created.

@httpQuery("assetId") assetId: ID ///

The alias prefix of the time series.

@httpQuery("aliasPrefix") aliasPrefix: PropertyAlias ///

The type of the time series. The time series type can be one of the following /// values:

///
    ///
  • ///

    /// ASSOCIATED – The time series is associated with an asset /// property.

    ///
  • ///
  • ///

    /// DISASSOCIATED – The time series isn't associated with any asset /// property.

    ///
  • ///
@httpQuery("timeSeriesType") timeSeriesType: ListTimeSeriesType } @output structure ListTimeSeriesResponse { ///

One or more time series summaries to list.

@required TimeSeriesSummaries: TimeSeriesSummaries ///

The token for the next set of results, or null if there are no additional results.

nextToken: NextToken } ///

Contains logging options.

structure LoggingOptions { ///

The IoT SiteWise logging verbosity level.

@required level: LoggingLevel } ///

Contains an asset measurement property. For more information, see /// Measurements in the IoT SiteWise User Guide.

structure Measurement { ///

The processing configuration for the given measurement property. /// You can configure measurements to be kept at the edge or forwarded to the Amazon Web Services Cloud. /// By default, measurements are forwarded to the cloud.

processingConfig: MeasurementProcessingConfig } ///

The processing configuration for the given measurement property. /// You can configure measurements to be kept at the edge or forwarded to the Amazon Web Services Cloud. /// By default, measurements are forwarded to the cloud.

structure MeasurementProcessingConfig { ///

The forwarding configuration for the given measurement property.

@required forwardingConfig: ForwardingConfig } ///

Contains an asset metric property. With metrics, you can calculate aggregate functions, /// such as an average, maximum, or minimum, as specified through an expression. A metric maps /// several values to a single value (such as a sum).

///

The maximum number of dependent/cascading variables used in any one metric calculation is /// 10. Therefore, a root metric can have /// up to 10 cascading metrics in its computational dependency /// tree. Additionally, a metric can only have a data type of DOUBLE and consume /// properties with data types of INTEGER or DOUBLE.

///

For more information, see Metrics in the IoT SiteWise User Guide.

structure Metric { ///

The mathematical expression that defines the metric aggregation function. You can specify /// up to 10 variables per expression. You can specify up to 10 functions /// per expression.

///

For more information, see Quotas in the IoT SiteWise User Guide.

@required expression: Expression ///

The list of variables used in the expression.

@required variables: ExpressionVariables ///

The window (time interval) over which IoT SiteWise computes the metric's aggregation expression. /// IoT SiteWise computes one data point per window.

@required window: MetricWindow ///

The processing configuration for the given metric property. /// You can configure metrics to be computed at the edge or in the Amazon Web Services Cloud. /// By default, metrics are forwarded to the cloud.

processingConfig: MetricProcessingConfig } ///

The processing configuration for the given metric property. /// You can configure metrics to be computed at the edge or in the Amazon Web Services Cloud. /// By default, metrics are forwarded to the cloud.

structure MetricProcessingConfig { ///

The compute location for the given metric property.

@required computeLocation: ComputeLocation } ///

Contains a time interval window used for data aggregate computations (for example, /// average, sum, count, and so on).

structure MetricWindow { ///

The tumbling time interval window.

tumbling: TumblingWindow } ///

Contains IoT SiteWise Monitor error details.

structure MonitorErrorDetails { ///

The error code.

code: MonitorErrorCode ///

The error message.

message: MonitorErrorMessage } ///

Contains information about the storage destination.

structure MultiLayerStorage { ///

Contains information about a customer managed Amazon S3 bucket.

@required customerManagedS3Storage: CustomerManagedS3Storage } ///

Identifies an IoT SiteWise Monitor portal.

structure PortalResource { ///

The ID of the portal.

@required id: ID } ///

Contains information about the current status of a portal.

structure PortalStatus { ///

The current state of the portal.

@required state: PortalState ///

Contains associated error information, if any.

error: MonitorErrorDetails } ///

Contains a portal summary.

structure PortalSummary { ///

The ID of the portal.

@required id: ID ///

The name of the portal.

@required name: Name ///

The portal's description.

description: Description ///

The URL for the IoT SiteWise Monitor portal. You can use this URL to access portals that /// use IAM Identity Center for authentication. For portals that use IAM for authentication, you must use the /// IoT SiteWise console to get a URL that you can use to access the portal.

@required startUrl: Url ///

The date the portal was created, in Unix epoch time.

creationDate: Timestamp ///

The date the portal was last updated, in Unix epoch time.

lastUpdateDate: Timestamp ///

The ARN of the service role that allows the portal's users to access your IoT SiteWise /// resources on your behalf. For more information, see Using service roles for IoT SiteWise Monitor in the /// IoT SiteWise User Guide.

roleArn: ARN @required status: PortalStatus } ///

Identifies a specific IoT SiteWise Monitor project.

structure ProjectResource { ///

The ID of the project.

@required id: ID } ///

Contains project summary information.

structure ProjectSummary { ///

The ID of the project.

@required id: ID ///

The name of the project.

@required name: Name ///

The project's description.

description: Description ///

The date the project was created, in Unix epoch time.

creationDate: Timestamp ///

The date the project was last updated, in Unix epoch time.

lastUpdateDate: Timestamp } ///

Contains asset property information.

structure Property { ///

The ID of the asset property.

@required id: ID ///

The name of the property.

@required name: Name ///

The alias that identifies the property, such as an OPC-UA server data stream path /// (for example, /company/windfarm/3/turbine/7/temperature). For more information, see /// Mapping industrial data streams to asset properties in the /// IoT SiteWise User Guide.

alias: PropertyAlias ///

The asset property's notification topic and state. For more information, see UpdateAssetProperty.

notification: PropertyNotification ///

The property data type.

@required dataType: PropertyDataType ///

The unit (such as Newtons or RPM) of the asset property.

unit: PropertyUnit ///

The property type (see PropertyType). A property contains one type.

type: PropertyType } ///

Contains asset property value notification information. When the notification state is enabled, IoT SiteWise publishes property value /// updates to a unique MQTT topic. For more information, see Interacting with other services in the IoT SiteWise User Guide.

structure PropertyNotification { ///

The MQTT topic to which IoT SiteWise publishes property value update notifications.

@required topic: PropertyNotificationTopic ///

The current notification state.

@required state: PropertyNotificationState } ///

Contains a property type, which can be one of attribute, /// measurement, metric, or transform.

structure PropertyType { ///

Specifies an asset attribute property. An attribute generally contains static information, /// such as the serial number of an IIoT wind turbine.

attribute: Attribute ///

Specifies an asset measurement property. A measurement represents a device's raw sensor /// data stream, such as timestamped temperature values or timestamped power values.

measurement: Measurement ///

Specifies an asset transform property. A transform contains a mathematical expression that /// maps a property's data points from one form to another, such as a unit conversion from Celsius /// to Fahrenheit.

transform: Transform ///

Specifies an asset metric property. A metric contains a mathematical expression that uses /// aggregate functions to process all input data points over a time interval and output a single /// data point, such as to calculate the average hourly temperature.

metric: Metric } ///

Contains a list of value updates for an asset property in the list of asset entries /// consumed by the BatchPutAssetPropertyValue API /// operation.

structure PutAssetPropertyValueEntry { ///

The user specified ID for the entry. You can use this ID to identify which entries /// failed.

@required entryId: EntryId ///

The ID of the asset to update.

assetId: ID ///

The ID of the asset property for this entry.

propertyId: ID ///

The alias that identifies the property, such as an OPC-UA server data stream path /// (for example, /company/windfarm/3/turbine/7/temperature). For more information, see /// Mapping industrial data streams to asset properties in the /// IoT SiteWise User Guide.

propertyAlias: AssetPropertyAlias ///

The list of property values to upload. You can specify up to 10 /// propertyValues array elements.

@required propertyValues: AssetPropertyValues } @input structure PutDefaultEncryptionConfigurationRequest { ///

The type of encryption used for the encryption configuration.

@required encryptionType: EncryptionType ///

The Key ID of the customer managed key used for KMS encryption. This is required if you /// use KMS_BASED_ENCRYPTION.

kmsKeyId: KmsKeyId } @output structure PutDefaultEncryptionConfigurationResponse { ///

The type of encryption used for the encryption configuration.

@required encryptionType: EncryptionType ///

The Key ARN of the KMS key used for KMS encryption if you use /// KMS_BASED_ENCRYPTION.

kmsKeyArn: ARN ///

The status of the account configuration. This contains the /// ConfigurationState. If there is an error, it also contains the /// ErrorDetails.

@required configurationStatus: ConfigurationStatus } @input structure PutLoggingOptionsRequest { ///

The logging options to set.

@required loggingOptions: LoggingOptions } @output structure PutLoggingOptionsResponse {} @input structure PutStorageConfigurationRequest { ///

The storage tier that you specified for your data. /// The storageType parameter can be one of the following values:

///
    ///
  • ///

    /// SITEWISE_DEFAULT_STORAGE – IoT SiteWise saves your data into the hot tier. /// The hot tier is a service-managed database.

    ///
  • ///
  • ///

    /// MULTI_LAYER_STORAGE – IoT SiteWise saves your data in both the cold tier and the hot tier. /// The cold tier is a customer-managed Amazon S3 bucket.

    ///
  • ///
@required storageType: StorageType ///

Identifies a storage destination. If you specified MULTI_LAYER_STORAGE for the storage type, /// you must specify a MultiLayerStorage object.

multiLayerStorage: MultiLayerStorage ///

Contains the storage configuration for time series (data streams) that aren't associated with asset properties. /// The disassociatedDataStorage can be one of the following values:

///
    ///
  • ///

    /// ENABLED – IoT SiteWise accepts time series that aren't associated with asset properties.

    /// ///

    After the disassociatedDataStorage is enabled, you can't disable it.

    ///
    ///
  • ///
  • ///

    /// DISABLED – IoT SiteWise doesn't accept time series (data streams) that aren't associated with asset properties.

    ///
  • ///
///

For more information, see Data streams /// in the IoT SiteWise User Guide.

disassociatedDataStorage: DisassociatedDataStorageState retentionPeriod: RetentionPeriod } @output structure PutStorageConfigurationResponse { ///

The storage tier that you specified for your data. /// The storageType parameter can be one of the following values:

///
    ///
  • ///

    /// SITEWISE_DEFAULT_STORAGE – IoT SiteWise saves your data into the hot tier. /// The hot tier is a service-managed database.

    ///
  • ///
  • ///

    /// MULTI_LAYER_STORAGE – IoT SiteWise saves your data in both the cold tier and the hot tier. /// The cold tier is a customer-managed Amazon S3 bucket.

    ///
  • ///
@required storageType: StorageType ///

Contains information about the storage destination.

multiLayerStorage: MultiLayerStorage ///

Contains the storage configuration for time series (data streams) that aren't associated with asset properties. /// The disassociatedDataStorage can be one of the following values:

///
    ///
  • ///

    /// ENABLED – IoT SiteWise accepts time series that aren't associated with asset properties.

    /// ///

    After the disassociatedDataStorage is enabled, you can't disable it.

    ///
    ///
  • ///
  • ///

    /// DISABLED – IoT SiteWise doesn't accept time series (data streams) that aren't associated with asset properties.

    ///
  • ///
///

For more information, see Data streams /// in the IoT SiteWise User Guide.

disassociatedDataStorage: DisassociatedDataStorageState retentionPeriod: RetentionPeriod @required configurationStatus: ConfigurationStatus } ///

Contains an IoT SiteWise Monitor resource ID for a portal or project.

structure Resource { ///

A portal resource.

portal: PortalResource ///

A project resource.

project: ProjectResource } ///

The resource already exists.

@error("client") @httpError(409) structure ResourceAlreadyExistsException { @required message: ErrorMessage ///

The ID of the resource that already exists.

@required resourceId: ResourceId ///

The ARN of the resource that already exists.

@required resourceArn: ResourceArn } ///

The requested resource can't be found.

@error("client") @httpError(404) structure ResourceNotFoundException { @required message: ErrorMessage } ///

How many days your data is kept in the hot tier. By default, your data is kept indefinitely in the hot tier.

structure RetentionPeriod { ///

The number of days that your data is kept.

/// ///

If you specified a value for this parameter, the unlimited parameter must /// be false.

///
numberOfDays: NumberOfDays ///

If true, your data is kept indefinitely.

/// ///

If configured to true, you must not specify a value for the /// numberOfDays parameter.

///
unlimited: Unlimited } ///

The requested service is unavailable.

@error("server") @httpError(503) structure ServiceUnavailableException { @required message: ErrorMessage } @input structure TagResourceRequest { ///

The ARN of the resource to tag.

@httpQuery("resourceArn") @required resourceArn: AmazonResourceName ///

A list of key-value pairs that contain metadata for the resource. For more information, /// see Tagging your IoT SiteWise /// resources in the IoT SiteWise User Guide.

@required tags: TagMap } @output structure TagResourceResponse {} ///

Your request exceeded a rate limit. For example, you might have exceeded the number of /// IoT SiteWise assets that can be created per second, the allowed number of messages per second, and so /// on.

///

For more information, see Quotas in the IoT SiteWise User Guide.

@error("client") @httpError(429) structure ThrottlingException { @required message: ErrorMessage } ///

Contains a timestamp with optional nanosecond granularity.

structure TimeInNanos { ///

The timestamp date, in seconds, in the Unix epoch format. Fractional nanosecond data is /// provided by offsetInNanos.

@required timeInSeconds: TimeInSeconds ///

The nanosecond offset from timeInSeconds.

offsetInNanos: OffsetInNanos } ///

Contains a summary of a time series (data stream).

structure TimeSeriesSummary { ///

The ID of the asset in which the asset property was created.

assetId: ID ///

The ID of the asset property.

propertyId: ID ///

The alias that identifies the time series.

alias: PropertyAlias ///

The ID of the time series.

@required timeSeriesId: TimeSeriesId ///

The data type of the time series.

///

If you specify STRUCT, you must also specify dataTypeSpec to identify the type of the structure for this time series.

@required dataType: PropertyDataType ///

The data type of the structure for this time series. This parameter is required for time series /// that have the STRUCT data type.

///

The options for this parameter depend on the type of the composite model /// in which you created the asset property that is associated with your time series. /// Use AWS/ALARM_STATE for alarm state in alarm composite models.

dataTypeSpec: Name ///

The date that the time series was created, in Unix epoch time.

@required timeSeriesCreationDate: Timestamp ///

The date that the time series was last updated, in Unix epoch time.

@required timeSeriesLastUpdateDate: Timestamp ///

The ARN of the time series, which has the following format.

///

/// arn:${Partition}:iotsitewise:${Region}:${Account}:time-series/${TimeSeriesId} ///

@required timeSeriesArn: ARN } ///

You've reached the limit for the number of tags allowed for a resource. For more /// information, see Tag naming limits and /// requirements in the Amazon Web Services General Reference.

@error("client") @httpError(400) structure TooManyTagsException { message: ExceptionMessage ///

The name of the resource with too many tags.

resourceName: AmazonResourceName } ///

Contains an asset transform property. A transform is a one-to-one mapping of a property's /// data points from one form to another. For example, you can use a transform to convert a /// Celsius data stream to Fahrenheit by applying the transformation expression to each data point /// of the Celsius stream. A transform can only have a data type of DOUBLE and /// consume properties with data types of INTEGER or DOUBLE.

///

For more information, see Transforms in the IoT SiteWise User Guide.

structure Transform { ///

The mathematical expression that defines the transformation function. You can specify up /// to 10 variables per expression. You can specify up to 10 functions per /// expression.

///

For more information, see Quotas in the IoT SiteWise User Guide.

@required expression: Expression ///

The list of variables used in the expression.

@required variables: ExpressionVariables ///

The processing configuration for the given transform property. /// You can configure transforms to be kept at the edge or forwarded to the Amazon Web Services Cloud. /// You can also configure transforms to be computed at the edge or in the cloud.

processingConfig: TransformProcessingConfig } ///

The processing configuration for the given transform property. /// You can configure transforms to be kept at the edge or forwarded to the Amazon Web Services Cloud. /// You can also configure transforms to be computed at the edge or in the cloud.

structure TransformProcessingConfig { ///

The compute location for the given transform property.

@required computeLocation: ComputeLocation forwardingConfig: ForwardingConfig } ///

Contains a tumbling window, which is a repeating fixed-sized, non-overlapping, and /// contiguous time window. You can use this window in metrics to aggregate data from properties /// and other assets.

///

You can use m, h, d, and w when you /// specify an interval or offset. Note that m represents minutes, h /// represents hours, d represents days, and w represents weeks. You can /// also use s to represent seconds in offset.

///

The interval and offset parameters support the ISO 8601 format. For example, /// PT5S represents 5 seconds, PT5M represents 5 minutes, and /// PT5H represents 5 hours.

structure TumblingWindow { ///

The time interval for the tumbling window. The interval time must be between 1 minute and /// 1 week.

///

IoT SiteWise computes the 1w interval the end of Sunday at midnight each week (UTC), /// the 1d interval at the end of each day at midnight (UTC), the 1h /// interval at the end of each hour, and so on.

///

When IoT SiteWise aggregates data points for metric computations, the start of each interval is /// exclusive and the end of each interval is inclusive. IoT SiteWise places the computed data point at /// the end of the interval.

@required interval: Interval ///

The offset for the tumbling window. The offset parameter accepts the /// following:

///
    ///
  • ///

    The offset time.

    ///

    For example, if you specify 18h for offset and /// 1d for interval, IoT SiteWise aggregates data in one of the following /// ways:

    ///
      ///
    • ///

      If you create the metric before or at 6 PM (UTC), you get the first aggregation /// result at 6 PM (UTC) on the day when you create the metric.

      ///
    • ///
    • ///

      If you create the metric after 6 PM (UTC), you get the first aggregation result at /// 6 PM (UTC) the next day.

      ///
    • ///
    ///
  • ///
  • ///

    The ISO 8601 format.

    ///

    For example, if you specify PT18H for offset and /// 1d for interval, IoT SiteWise aggregates data in one of the following /// ways:

    ///
      ///
    • ///

      If you create the metric before or at 6 PM (UTC), you get the first aggregation /// result at 6 PM (UTC) on the day when you create the metric.

      ///
    • ///
    • ///

      If you create the metric after 6 PM (UTC), you get the first aggregation result at /// 6 PM (UTC) the next day.

      ///
    • ///
    ///
  • ///
  • ///

    The 24-hour clock.

    ///

    For example, if you specify 00:03:00 for offset, /// 5m for interval, and you create the metric at 2 PM (UTC), you /// get the first aggregation result at 2:03 PM (UTC). You get the second aggregation result /// at 2:08 PM (UTC).

    ///
  • ///
  • ///

    The offset time zone.

    ///

    For example, if you specify 2021-07-23T18:00-08 for offset /// and 1d for interval, IoT SiteWise aggregates data in one of the /// following ways:

    ///
      ///
    • ///

      If you create the metric before or at 6 PM (PST), you get the first aggregation /// result at 6 PM (PST) on the day when you create the metric.

      ///
    • ///
    • ///

      If you create the metric after 6 PM (PST), you get the first aggregation result at /// 6 PM (PST) the next day.

      ///
    • ///
    ///
  • ///
offset: Offset } ///

You are not authorized.

@error("client") @httpError(401) structure UnauthorizedException { @required message: ErrorMessage } @input structure UntagResourceRequest { ///

The ARN of the resource to untag.

@httpQuery("resourceArn") @required resourceArn: AmazonResourceName ///

A list of keys for tags to remove from the resource.

@httpQuery("tagKeys") @required tagKeys: TagKeyList } @output structure UntagResourceResponse {} @input structure UpdateAccessPolicyRequest { ///

The ID of the access policy.

@httpLabel @required accessPolicyId: ID ///

The identity for this access policy. Choose an IAM Identity Center user, an IAM Identity Center group, or an IAM user.

@required accessPolicyIdentity: Identity ///

The IoT SiteWise Monitor resource for this access policy. Choose either a portal or a project.

@required accessPolicyResource: Resource ///

The permission level for this access policy. Note that a project ADMINISTRATOR is also known as a project owner.

@required accessPolicyPermission: Permission ///

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.

@idempotencyToken clientToken: ClientToken } @output structure UpdateAccessPolicyResponse {} @input structure UpdateAssetModelRequest { ///

The ID of the asset model to update.

@httpLabel @required assetModelId: ID ///

A unique, friendly name for the asset model.

@required assetModelName: Name ///

A description for the asset model.

assetModelDescription: Description ///

The updated 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.

assetModelProperties: AssetModelProperties ///

The updated 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.

assetModelHierarchies: AssetModelHierarchies ///

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.

assetModelCompositeModels: AssetModelCompositeModels ///

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.

@idempotencyToken clientToken: ClientToken } @output structure UpdateAssetModelResponse { ///

The status of the asset model, which contains a state (UPDATING after /// successfully calling this operation) and any error message.

@required assetModelStatus: AssetModelStatus } @input structure UpdateAssetPropertyRequest { ///

The ID of the asset to be updated.

@httpLabel @required assetId: ID ///

The ID of the asset property to be updated.

@httpLabel @required propertyId: ID ///

The alias that identifies the property, such as an OPC-UA server data stream path /// (for example, /company/windfarm/3/turbine/7/temperature). For more information, see /// Mapping industrial data streams to asset properties in the /// IoT SiteWise User Guide.

///

If you omit this parameter, the alias is removed from the property.

propertyAlias: PropertyAlias ///

The MQTT notification state (enabled or disabled) for this asset property. /// When the notification state is enabled, IoT SiteWise publishes property value /// updates to a unique MQTT topic. For more information, see Interacting with other services in the IoT SiteWise User Guide.

///

If you omit this parameter, the notification state is set to DISABLED.

propertyNotificationState: PropertyNotificationState ///

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.

@idempotencyToken clientToken: ClientToken ///

The unit of measure (such as Newtons or RPM) of the asset property. If you don't specify a /// value for this parameter, the service uses the value of the assetModelProperty in /// the asset model.

propertyUnit: PropertyUnit } @input structure UpdateAssetRequest { ///

The ID of the asset to update.

@httpLabel @required assetId: ID ///

A friendly name for the asset.

@required assetName: Name ///

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.

@idempotencyToken clientToken: ClientToken ///

A description for the asset.

assetDescription: Description } @output structure UpdateAssetResponse { ///

The status of the asset, which contains a state (UPDATING after successfully /// calling this operation) and any error message.

@required assetStatus: AssetStatus } @input structure UpdateDashboardRequest { ///

The ID of the dashboard to update.

@httpLabel @required dashboardId: ID ///

A new friendly name for the dashboard.

@required dashboardName: Name ///

A new description for the dashboard.

dashboardDescription: Description ///

The new dashboard definition, as specified in a JSON literal. For detailed information, /// see Creating dashboards (CLI) in the IoT SiteWise User Guide.

@required dashboardDefinition: DashboardDefinition ///

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.

@idempotencyToken clientToken: ClientToken } @output structure UpdateDashboardResponse {} @input structure UpdateGatewayCapabilityConfigurationRequest { ///

The ID of the gateway to be updated.

@httpLabel @required gatewayId: ID ///

The namespace of the gateway capability configuration to be updated. /// For example, if you configure OPC-UA /// sources from the IoT SiteWise console, your OPC-UA capability configuration has the namespace /// iotsitewise:opcuacollector:version, where version is a number such as /// 1.

@required capabilityNamespace: CapabilityNamespace ///

The JSON document that defines the configuration for the gateway capability. For more /// information, see Configuring data sources (CLI) in the IoT SiteWise User Guide.

@required capabilityConfiguration: CapabilityConfiguration } @output structure UpdateGatewayCapabilityConfigurationResponse { ///

The namespace of the gateway capability.

@required capabilityNamespace: CapabilityNamespace ///

The synchronization status of the capability configuration. The sync status can be one of the following:

///
    ///
  • ///

    /// IN_SYNC – The gateway is running the capability configuration.

    ///
  • ///
  • ///

    /// OUT_OF_SYNC – The gateway hasn't received the capability configuration.

    ///
  • ///
  • ///

    /// SYNC_FAILED – The gateway rejected the capability configuration.

    ///
  • ///
///

After you update a capability configuration, its sync status is OUT_OF_SYNC /// until the gateway receives and applies or rejects the updated configuration.

@required capabilitySyncStatus: CapabilitySyncStatus } @input structure UpdateGatewayRequest { ///

The ID of the gateway to update.

@httpLabel @required gatewayId: ID ///

A unique, friendly name for the gateway.

@required gatewayName: Name } @input structure UpdatePortalRequest { ///

The ID of the portal to update.

@httpLabel @required portalId: ID ///

A new friendly name for the portal.

@required portalName: Name ///

A new description for the portal.

portalDescription: Description ///

The Amazon Web Services administrator's contact email address.

@required portalContactEmail: Email portalLogoImage: Image ///

The ARN of a service role that allows the portal's users to access your IoT SiteWise /// resources on your behalf. For more information, see Using service roles for IoT SiteWise Monitor in the /// IoT SiteWise User Guide.

@required roleArn: ARN ///

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.

@idempotencyToken clientToken: ClientToken ///

The email address that sends alarm notifications.

notificationSenderEmail: Email ///

Contains the configuration information of an alarm created in an IoT SiteWise Monitor portal. /// You can use the alarm to monitor an asset property and get notified when the asset property value is outside a specified range. /// For more information, see Monitoring with alarms in the IoT SiteWise Application Guide.

alarms: Alarms } @output structure UpdatePortalResponse { ///

The status of the portal, which contains a state (UPDATING after successfully /// calling this operation) and any error message.

@required portalStatus: PortalStatus } @input structure UpdateProjectRequest { ///

The ID of the project to update.

@httpLabel @required projectId: ID ///

A new friendly name for the project.

@required projectName: Name ///

A new description for the project.

projectDescription: Description ///

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.

@idempotencyToken clientToken: ClientToken } @output structure UpdateProjectResponse {} ///

Contains information for a user identity in an access policy.

structure UserIdentity { ///

The IAM Identity Center ID of the user.

@required id: IdentityId } ///

Identifies a property value used in an expression.

structure VariableValue { ///

The ID of the property to use as the variable. You can use the property name /// if it's from the same asset model.

@required propertyId: Macro ///

The ID of the hierarchy to query for the property ID. You can use the hierarchy's name /// instead of the hierarchy's ID.

///

You use a hierarchy ID instead of a model ID because you can have several hierarchies /// using the same model and therefore the same propertyId. For example, you might /// have separately grouped assets that come from the same asset model. For more information, see /// Asset hierarchies in the IoT SiteWise User Guide.

hierarchyId: Macro } ///

Contains an asset property value (of a single type only).

structure Variant { ///

Asset property data of type string (sequence of characters).

stringValue: PropertyValueStringValue ///

Asset property data of type integer (whole number).

integerValue: PropertyValueIntegerValue ///

Asset property data of type double (floating point number).

doubleValue: PropertyValueDoubleValue ///

Asset property data of type Boolean (true or false).

booleanValue: PropertyValueBooleanValue } list AccessPolicySummaries { member: AccessPolicySummary } list AggregatedValues { member: AggregatedValue } @length( min: 1 ) list AggregateTypes { member: AggregateType } list AssetCompositeModels { member: AssetCompositeModel } list AssetHierarchies { member: AssetHierarchy } list AssetIDs { member: ID } list AssetModelCompositeModelDefinitions { member: AssetModelCompositeModelDefinition } list AssetModelCompositeModels { member: AssetModelCompositeModel } list AssetModelHierarchies { member: AssetModelHierarchy } list AssetModelHierarchyDefinitions { member: AssetModelHierarchyDefinition } list AssetModelProperties { member: AssetModelProperty } list AssetModelPropertyDefinitions { member: AssetModelPropertyDefinition } list AssetModelPropertySummaries { member: AssetModelPropertySummary } list AssetModelSummaries { member: AssetModelSummary } list AssetProperties { member: AssetProperty } list AssetPropertySummaries { member: AssetPropertySummary } list AssetPropertyValueHistory { member: AssetPropertyValue } list AssetPropertyValues { member: AssetPropertyValue } list AssetRelationshipSummaries { member: AssetRelationshipSummary } list AssetSummaries { member: AssetSummary } list AssociatedAssetsSummaries { member: AssociatedAssetsSummary } list BatchAssociateProjectAssetsErrors { member: AssetErrorDetails } list BatchDisassociateProjectAssetsErrors { member: AssetErrorDetails } list BatchGetAssetPropertyAggregatesEntries { member: BatchGetAssetPropertyAggregatesEntry } list BatchGetAssetPropertyAggregatesErrorEntries { member: BatchGetAssetPropertyAggregatesErrorEntry } list BatchGetAssetPropertyAggregatesSkippedEntries { member: BatchGetAssetPropertyAggregatesSkippedEntry } list BatchGetAssetPropertyAggregatesSuccessEntries { member: BatchGetAssetPropertyAggregatesSuccessEntry } list BatchGetAssetPropertyValueEntries { member: BatchGetAssetPropertyValueEntry } list BatchGetAssetPropertyValueErrorEntries { member: BatchGetAssetPropertyValueErrorEntry } list BatchGetAssetPropertyValueHistoryEntries { member: BatchGetAssetPropertyValueHistoryEntry } list BatchGetAssetPropertyValueHistoryErrorEntries { member: BatchGetAssetPropertyValueHistoryErrorEntry } list BatchGetAssetPropertyValueHistorySkippedEntries { member: BatchGetAssetPropertyValueHistorySkippedEntry } list BatchGetAssetPropertyValueHistorySuccessEntries { member: BatchGetAssetPropertyValueHistorySuccessEntry } list BatchGetAssetPropertyValueSkippedEntries { member: BatchGetAssetPropertyValueSkippedEntry } list BatchGetAssetPropertyValueSuccessEntries { member: BatchGetAssetPropertyValueSuccessEntry } list BatchPutAssetPropertyErrorEntries { member: BatchPutAssetPropertyErrorEntry } list BatchPutAssetPropertyErrors { member: BatchPutAssetPropertyError } list ColumnNames { member: ColumnName } list DashboardSummaries { member: DashboardSummary } list DetailedErrors { member: DetailedError } list ExpressionVariables { member: ExpressionVariable } list Files { member: File } list GatewayCapabilitySummaries { member: GatewayCapabilitySummary } list GatewaySummaries { member: GatewaySummary } @length( min: 1 max: 100 ) list IDs { member: ID } list InterpolatedAssetPropertyValues { member: InterpolatedAssetPropertyValue } list JobSummaries { member: JobSummary } list PortalSummaries { member: PortalSummary } list ProjectSummaries { member: ProjectSummary } list PutAssetPropertyValueEntries { member: PutAssetPropertyValueEntry } @length( min: 1 max: 1 ) list Qualities { member: Quality } @length( min: 0 max: 200 ) list TagKeyList { member: TagKey } list TimeSeriesSummaries { member: TimeSeriesSummary } list Timestamps { member: TimeInNanos } @length( min: 1 max: 50 ) map TagMap { key: TagKey value: TagValue } double AggregatedDoubleValue enum AggregateType { AVERAGE COUNT MAXIMUM MINIMUM SUM STANDARD_DEVIATION } @length( min: 1 max: 1011 ) string AmazonResourceName @length( min: 1 max: 1600 ) @pattern(".*") string ARN enum AssetErrorCode { INTERNAL_FAILURE } string AssetErrorMessage enum AssetModelState { CREATING ACTIVE UPDATING PROPAGATING DELETING FAILED } @length( min: 1 max: 2048 ) @pattern("^[^\\u0000-\\u001F\\u007F]+$") string AssetPropertyAlias enum AssetRelationshipType { HIERARCHY } enum AssetState { CREATING ACTIVE UPDATING DELETING FAILED } enum AuthMode { IAM SSO } enum BatchEntryCompletionStatus { SUCCESS ERROR } enum BatchGetAssetPropertyAggregatesErrorCode { ResourceNotFoundException InvalidRequestException AccessDeniedException } @range( min: 1 ) integer BatchGetAssetPropertyAggregatesMaxResults enum BatchGetAssetPropertyValueErrorCode { ResourceNotFoundException InvalidRequestException AccessDeniedException } enum BatchGetAssetPropertyValueHistoryErrorCode { ResourceNotFoundException InvalidRequestException AccessDeniedException } @range( min: 1 ) integer BatchGetAssetPropertyValueHistoryMaxResults enum BatchPutAssetPropertyValueErrorCode { ResourceNotFoundException InvalidRequestException InternalFailureException ServiceUnavailableException ThrottlingException LimitExceededException ConflictingOperationException TimestampOutOfRangeException AccessDeniedException } @length( min: 3 max: 63 ) string Bucket @length( min: 1 max: 104857600 ) string CapabilityConfiguration @length( min: 1 max: 512 ) @pattern("^[a-zA-Z]+:[a-zA-Z]+:[0-9]+$") string CapabilityNamespace enum CapabilitySyncStatus { IN_SYNC OUT_OF_SYNC SYNC_FAILED UNKNOWN } @length( min: 36 max: 64 ) @pattern("^\\S{36,64}$") string ClientToken enum ColumnName { ALIAS ASSET_ID PROPERTY_ID DATA_TYPE TIMESTAMP_SECONDS TIMESTAMP_NANO_OFFSET QUALITY VALUE } enum ComputeLocation { EDGE CLOUD } enum ConfigurationState { ACTIVE UPDATE_IN_PROGRESS UPDATE_FAILED } @length( min: 1 max: 128 ) string CoreDeviceThingName @length( min: 0 max: 204800 ) @pattern("^.+$") string DashboardDefinition @length( min: 1 max: 1024 ) @pattern("^[^\\u0000-\\u001F\\u007F]+$") string DefaultValue @length( min: 1 max: 2048 ) @pattern("^[^\\u0000-\\u001F\\u007F]+$") string Description enum DetailedErrorCode { INCOMPATIBLE_COMPUTE_LOCATION INCOMPATIBLE_FORWARDING_CONFIGURATION } string DetailedErrorMessage enum DisassociatedDataStorageState { ENABLED DISABLED } @length( min: 1 max: 255 ) @pattern("^[^@]+@[^@]+$") string Email enum EncryptionType { SITEWISE_DEFAULT_ENCRYPTION KMS_BASED_ENCRYPTION } @length( min: 1 max: 64 ) @pattern("^[a-zA-Z0-9_-]+$") string EntryId enum ErrorCode { VALIDATION_ERROR INTERNAL_FAILURE } string ErrorMessage string ExceptionMessage @default(false) boolean ExcludeProperties @length( min: 1 max: 1024 ) string Expression enum ForwardingConfigState { DISABLED ENABLED } @range( min: 1 ) integer GetAssetPropertyValueAggregatesMaxResults @range( min: 1 ) integer GetAssetPropertyValueHistoryMaxResults @length( min: 36 max: 36 ) @pattern("^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$") string ID @length( min: 1 max: 256 ) @pattern("^\\S+$") string IdentityId enum IdentityType { USER GROUP IAM } @length( min: 1 max: 1500000 ) blob ImageFileData enum ImageFileType { PNG } @length( min: 1 max: 256 ) string InterpolationType @length( min: 2 max: 23 ) string Interval @range( min: 1 max: 320000000 ) long IntervalInSeconds @range( min: 1 max: 320000000 ) long IntervalWindowInSeconds enum JobStatus { PENDING CANCELLED RUNNING COMPLETED FAILED COMPLETED_WITH_FAILURES } @length( min: 1 max: 2048 ) string KmsKeyId enum ListAssetModelPropertiesFilter { ALL BASE } enum ListAssetPropertiesFilter { ALL BASE } enum ListAssetsFilter { ALL TOP_LEVEL } enum ListBulkImportJobsFilter { ALL PENDING RUNNING CANCELLED FAILED COMPLETED_WITH_FAILURES COMPLETED } enum ListTimeSeriesType { ASSOCIATED DISASSOCIATED } enum LoggingLevel { ERROR INFO OFF } @length( min: 1 max: 256 ) @pattern("^[^\\u0000-\\u001F\\u007F]+$") string Macro @range( min: 1 ) integer MaxInterpolatedResults @range( min: 1 max: 250 ) integer MaxResults enum MonitorErrorCode { INTERNAL_FAILURE VALIDATION_ERROR LIMIT_EXCEEDED } string MonitorErrorMessage @length( min: 1 max: 256 ) @pattern("^[^\\u0000-\\u001F\\u007F]+$") string Name @length( min: 1 max: 4096 ) @pattern("^[A-Za-z0-9+/=]+$") string NextToken @range( min: 30 ) integer NumberOfDays @length( min: 2 max: 25 ) string Offset @range( min: 0 max: 999999999 ) integer OffsetInNanos enum Permission { ADMINISTRATOR VIEWER } @length( min: 1 max: 256 ) @pattern("^[!-~]*$") string PortalClientId enum PortalState { CREATING UPDATING DELETING ACTIVE FAILED } @length( min: 1 ) @pattern("^[^\\u0000-\\u001F\\u007F]+$") string PropertyAlias enum PropertyDataType { STRING INTEGER DOUBLE BOOLEAN STRUCT } enum PropertyNotificationState { ENABLED DISABLED } string PropertyNotificationTopic @length( min: 1 max: 256 ) @pattern("^[^\\u0000-\\u001F\\u007F]+$") string PropertyUnit boolean PropertyValueBooleanValue double PropertyValueDoubleValue integer PropertyValueIntegerValue string PropertyValueStringValue enum Quality { GOOD BAD UNCERTAIN } @length( min: 2 max: 3 ) @pattern("^1m|15m|1h|1d$") string Resolution string ResourceArn string ResourceId enum ResourceType { PORTAL PROJECT } @length( min: 1 max: 64 ) @pattern("^[!-~]*$") string SSOApplicationId enum StorageType { SITEWISE_DEFAULT_STORAGE MULTI_LAYER_STORAGE } string String @length( min: 1 max: 128 ) string TagKey @length( min: 0 max: 256 ) string TagValue @range( min: 1 max: 9223372036854774 ) long TimeInSeconds enum TimeOrdering { ASCENDING DESCENDING } @length( min: 36 max: 73 ) string TimeSeriesId timestamp Timestamp enum TraversalDirection { PARENT CHILD } enum TraversalType { PATH_TO_ROOT } boolean Unlimited @length( min: 1 max: 256 ) @pattern("^(http|https)\\://\\S+$") string Url @length( min: 1 max: 64 ) @pattern("^[a-z][a-z0-9_]*$") string VariableName




© 2015 - 2025 Weber Informatics LLC | Privacy Policy