
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