amazonka-iotsitewise (empty) → 2.0
raw patch · 368 files changed
+40694/−0 lines, 368 filesdep +amazonka-coredep +amazonka-iotsitewisedep +amazonka-test
Dependencies added: amazonka-core, amazonka-iotsitewise, amazonka-test, base, bytestring, case-insensitive, tasty, tasty-hunit, text, time, unordered-containers
Files
- LICENSE +367/−0
- README.md +44/−0
- amazonka-iotsitewise.cabal +293/−0
- fixture/AssociateAssets.yaml +10/−0
- fixture/AssociateAssetsResponse.proto +0/−0
- fixture/AssociateTimeSeriesToAssetProperty.yaml +10/−0
- fixture/AssociateTimeSeriesToAssetPropertyResponse.proto +0/−0
- fixture/BatchAssociateProjectAssets.yaml +10/−0
- fixture/BatchAssociateProjectAssetsResponse.proto +0/−0
- fixture/BatchDisassociateProjectAssets.yaml +10/−0
- fixture/BatchDisassociateProjectAssetsResponse.proto +0/−0
- fixture/BatchGetAssetPropertyAggregates.yaml +10/−0
- fixture/BatchGetAssetPropertyAggregatesResponse.proto +0/−0
- fixture/BatchGetAssetPropertyValue.yaml +10/−0
- fixture/BatchGetAssetPropertyValueHistory.yaml +10/−0
- fixture/BatchGetAssetPropertyValueHistoryResponse.proto +0/−0
- fixture/BatchGetAssetPropertyValueResponse.proto +0/−0
- fixture/BatchPutAssetPropertyValue.yaml +10/−0
- fixture/BatchPutAssetPropertyValueResponse.proto +0/−0
- fixture/CreateAccessPolicy.yaml +10/−0
- fixture/CreateAccessPolicyResponse.proto +0/−0
- fixture/CreateAsset.yaml +10/−0
- fixture/CreateAssetModel.yaml +10/−0
- fixture/CreateAssetModelResponse.proto +0/−0
- fixture/CreateAssetResponse.proto +0/−0
- fixture/CreateBulkImportJob.yaml +10/−0
- fixture/CreateBulkImportJobResponse.proto +0/−0
- fixture/CreateDashboard.yaml +10/−0
- fixture/CreateDashboardResponse.proto +0/−0
- fixture/CreateGateway.yaml +10/−0
- fixture/CreateGatewayResponse.proto +0/−0
- fixture/CreatePortal.yaml +10/−0
- fixture/CreatePortalResponse.proto +0/−0
- fixture/CreateProject.yaml +10/−0
- fixture/CreateProjectResponse.proto +0/−0
- fixture/DeleteAccessPolicy.yaml +10/−0
- fixture/DeleteAccessPolicyResponse.proto +0/−0
- fixture/DeleteAsset.yaml +10/−0
- fixture/DeleteAssetModel.yaml +10/−0
- fixture/DeleteAssetModelResponse.proto +0/−0
- fixture/DeleteAssetResponse.proto +0/−0
- fixture/DeleteDashboard.yaml +10/−0
- fixture/DeleteDashboardResponse.proto +0/−0
- fixture/DeleteGateway.yaml +10/−0
- fixture/DeleteGatewayResponse.proto +0/−0
- fixture/DeletePortal.yaml +10/−0
- fixture/DeletePortalResponse.proto +0/−0
- fixture/DeleteProject.yaml +10/−0
- fixture/DeleteProjectResponse.proto +0/−0
- fixture/DeleteTimeSeries.yaml +10/−0
- fixture/DeleteTimeSeriesResponse.proto +0/−0
- fixture/DescribeAccessPolicy.yaml +10/−0
- fixture/DescribeAccessPolicyResponse.proto +0/−0
- fixture/DescribeAsset.yaml +10/−0
- fixture/DescribeAssetModel.yaml +10/−0
- fixture/DescribeAssetModelResponse.proto +0/−0
- fixture/DescribeAssetProperty.yaml +10/−0
- fixture/DescribeAssetPropertyResponse.proto +0/−0
- fixture/DescribeAssetResponse.proto +0/−0
- fixture/DescribeBulkImportJob.yaml +10/−0
- fixture/DescribeBulkImportJobResponse.proto +0/−0
- fixture/DescribeDashboard.yaml +10/−0
- fixture/DescribeDashboardResponse.proto +0/−0
- fixture/DescribeDefaultEncryptionConfiguration.yaml +10/−0
- fixture/DescribeDefaultEncryptionConfigurationResponse.proto +0/−0
- fixture/DescribeGateway.yaml +10/−0
- fixture/DescribeGatewayCapabilityConfiguration.yaml +10/−0
- fixture/DescribeGatewayCapabilityConfigurationResponse.proto +0/−0
- fixture/DescribeGatewayResponse.proto +0/−0
- fixture/DescribeLoggingOptions.yaml +10/−0
- fixture/DescribeLoggingOptionsResponse.proto +0/−0
- fixture/DescribePortal.yaml +10/−0
- fixture/DescribePortalResponse.proto +0/−0
- fixture/DescribeProject.yaml +10/−0
- fixture/DescribeProjectResponse.proto +0/−0
- fixture/DescribeStorageConfiguration.yaml +10/−0
- fixture/DescribeStorageConfigurationResponse.proto +0/−0
- fixture/DescribeTimeSeries.yaml +10/−0
- fixture/DescribeTimeSeriesResponse.proto +0/−0
- fixture/DisassociateAssets.yaml +10/−0
- fixture/DisassociateAssetsResponse.proto +0/−0
- fixture/DisassociateTimeSeriesFromAssetProperty.yaml +10/−0
- fixture/DisassociateTimeSeriesFromAssetPropertyResponse.proto +0/−0
- fixture/GetAssetPropertyAggregates.yaml +10/−0
- fixture/GetAssetPropertyAggregatesResponse.proto +0/−0
- fixture/GetAssetPropertyValue.yaml +10/−0
- fixture/GetAssetPropertyValueHistory.yaml +10/−0
- fixture/GetAssetPropertyValueHistoryResponse.proto +0/−0
- fixture/GetAssetPropertyValueResponse.proto +0/−0
- fixture/GetInterpolatedAssetPropertyValues.yaml +10/−0
- fixture/GetInterpolatedAssetPropertyValuesResponse.proto +0/−0
- fixture/ListAccessPolicies.yaml +10/−0
- fixture/ListAccessPoliciesResponse.proto +0/−0
- fixture/ListAssetModelProperties.yaml +10/−0
- fixture/ListAssetModelPropertiesResponse.proto +0/−0
- fixture/ListAssetModels.yaml +10/−0
- fixture/ListAssetModelsResponse.proto +0/−0
- fixture/ListAssetProperties.yaml +10/−0
- fixture/ListAssetPropertiesResponse.proto +0/−0
- fixture/ListAssetRelationships.yaml +10/−0
- fixture/ListAssetRelationshipsResponse.proto +0/−0
- fixture/ListAssets.yaml +10/−0
- fixture/ListAssetsResponse.proto +0/−0
- fixture/ListAssociatedAssets.yaml +10/−0
- fixture/ListAssociatedAssetsResponse.proto +0/−0
- fixture/ListBulkImportJobs.yaml +10/−0
- fixture/ListBulkImportJobsResponse.proto +0/−0
- fixture/ListDashboards.yaml +10/−0
- fixture/ListDashboardsResponse.proto +0/−0
- fixture/ListGateways.yaml +10/−0
- fixture/ListGatewaysResponse.proto +0/−0
- fixture/ListPortals.yaml +10/−0
- fixture/ListPortalsResponse.proto +0/−0
- fixture/ListProjectAssets.yaml +10/−0
- fixture/ListProjectAssetsResponse.proto +0/−0
- fixture/ListProjects.yaml +10/−0
- fixture/ListProjectsResponse.proto +0/−0
- fixture/ListTagsForResource.yaml +10/−0
- fixture/ListTagsForResourceResponse.proto +0/−0
- fixture/ListTimeSeries.yaml +10/−0
- fixture/ListTimeSeriesResponse.proto +0/−0
- fixture/PutDefaultEncryptionConfiguration.yaml +10/−0
- fixture/PutDefaultEncryptionConfigurationResponse.proto +0/−0
- fixture/PutLoggingOptions.yaml +10/−0
- fixture/PutLoggingOptionsResponse.proto +0/−0
- fixture/PutStorageConfiguration.yaml +10/−0
- fixture/PutStorageConfigurationResponse.proto +0/−0
- fixture/TagResource.yaml +10/−0
- fixture/TagResourceResponse.proto +0/−0
- fixture/UntagResource.yaml +10/−0
- fixture/UntagResourceResponse.proto +0/−0
- fixture/UpdateAccessPolicy.yaml +10/−0
- fixture/UpdateAccessPolicyResponse.proto +0/−0
- fixture/UpdateAsset.yaml +10/−0
- fixture/UpdateAssetModel.yaml +10/−0
- fixture/UpdateAssetModelResponse.proto +0/−0
- fixture/UpdateAssetProperty.yaml +10/−0
- fixture/UpdateAssetPropertyResponse.proto +0/−0
- fixture/UpdateAssetResponse.proto +0/−0
- fixture/UpdateDashboard.yaml +10/−0
- fixture/UpdateDashboardResponse.proto +0/−0
- fixture/UpdateGateway.yaml +10/−0
- fixture/UpdateGatewayCapabilityConfiguration.yaml +10/−0
- fixture/UpdateGatewayCapabilityConfigurationResponse.proto +0/−0
- fixture/UpdateGatewayResponse.proto +0/−0
- fixture/UpdatePortal.yaml +10/−0
- fixture/UpdatePortalResponse.proto +0/−0
- fixture/UpdateProject.yaml +10/−0
- fixture/UpdateProjectResponse.proto +0/−0
- gen/Amazonka/IoTSiteWise.hs +1136/−0
- gen/Amazonka/IoTSiteWise/AssociateAssets.hs +201/−0
- gen/Amazonka/IoTSiteWise/AssociateTimeSeriesToAssetProperty.hs +215/−0
- gen/Amazonka/IoTSiteWise/BatchAssociateProjectAssets.hs +212/−0
- gen/Amazonka/IoTSiteWise/BatchDisassociateProjectAssets.hs +229/−0
- gen/Amazonka/IoTSiteWise/BatchGetAssetPropertyAggregates.hs +296/−0
- gen/Amazonka/IoTSiteWise/BatchGetAssetPropertyValue.hs +250/−0
- gen/Amazonka/IoTSiteWise/BatchGetAssetPropertyValueHistory.hs +305/−0
- gen/Amazonka/IoTSiteWise/BatchPutAssetPropertyValue.hs +203/−0
- gen/Amazonka/IoTSiteWise/CreateAccessPolicy.hs +294/−0
- gen/Amazonka/IoTSiteWise/CreateAsset.hs +290/−0
- gen/Amazonka/IoTSiteWise/CreateAssetModel.hs +386/−0
- gen/Amazonka/IoTSiteWise/CreateBulkImportJob.hs +347/−0
- gen/Amazonka/IoTSiteWise/CreateDashboard.hs +297/−0
- gen/Amazonka/IoTSiteWise/CreateGateway.hs +244/−0
- gen/Amazonka/IoTSiteWise/CreatePortal.hs +504/−0
- gen/Amazonka/IoTSiteWise/CreateProject.hs +272/−0
- gen/Amazonka/IoTSiteWise/DeleteAccessPolicy.hs +172/−0
- gen/Amazonka/IoTSiteWise/DeleteAsset.hs +190/−0
- gen/Amazonka/IoTSiteWise/DeleteAssetModel.hs +195/−0
- gen/Amazonka/IoTSiteWise/DeleteDashboard.hs +167/−0
- gen/Amazonka/IoTSiteWise/DeleteGateway.hs +124/−0
- gen/Amazonka/IoTSiteWise/DeletePortal.hs +183/−0
- gen/Amazonka/IoTSiteWise/DeleteProject.hs +166/−0
- gen/Amazonka/IoTSiteWise/DeleteTimeSeries.hs +193/−0
- gen/Amazonka/IoTSiteWise/DescribeAccessPolicy.hs +284/−0
- gen/Amazonka/IoTSiteWise/DescribeAsset.hs +359/−0
- gen/Amazonka/IoTSiteWise/DescribeAssetModel.hs +352/−0
- gen/Amazonka/IoTSiteWise/DescribeAssetProperty.hs +263/−0
- gen/Amazonka/IoTSiteWise/DescribeBulkImportJob.hs +356/−0
- gen/Amazonka/IoTSiteWise/DescribeDashboard.hs +285/−0
- gen/Amazonka/IoTSiteWise/DescribeDefaultEncryptionConfiguration.hs +212/−0
- gen/Amazonka/IoTSiteWise/DescribeGateway.hs +272/−0
- gen/Amazonka/IoTSiteWise/DescribeGatewayCapabilityConfiguration.hs +313/−0
- gen/Amazonka/IoTSiteWise/DescribeLoggingOptions.hs +148/−0
- gen/Amazonka/IoTSiteWise/DescribePortal.hs +403/−0
- gen/Amazonka/IoTSiteWise/DescribeProject.hs +263/−0
- gen/Amazonka/IoTSiteWise/DescribeStorageConfiguration.hs +288/−0
- gen/Amazonka/IoTSiteWise/DescribeTimeSeries.hs +327/−0
- gen/Amazonka/IoTSiteWise/DisassociateAssets.hs +203/−0
- gen/Amazonka/IoTSiteWise/DisassociateTimeSeriesFromAssetProperty.hs +216/−0
- gen/Amazonka/IoTSiteWise/GetAssetPropertyAggregates.hs +397/−0
- gen/Amazonka/IoTSiteWise/GetAssetPropertyValue.hs +214/−0
- gen/Amazonka/IoTSiteWise/GetAssetPropertyValueHistory.hs +362/−0
- gen/Amazonka/IoTSiteWise/GetInterpolatedAssetPropertyValues.hs +598/−0
- gen/Amazonka/IoTSiteWise/Lens.hs +1341/−0
- gen/Amazonka/IoTSiteWise/ListAccessPolicies.hs +313/−0
- gen/Amazonka/IoTSiteWise/ListAssetModelProperties.hs +288/−0
- gen/Amazonka/IoTSiteWise/ListAssetModels.hs +222/−0
- gen/Amazonka/IoTSiteWise/ListAssetProperties.hs +280/−0
- gen/Amazonka/IoTSiteWise/ListAssetRelationships.hs +274/−0
- gen/Amazonka/IoTSiteWise/ListAssets.hs +285/−0
- gen/Amazonka/IoTSiteWise/ListAssociatedAssets.hs +329/−0
- gen/Amazonka/IoTSiteWise/ListBulkImportJobs.hs +230/−0
- gen/Amazonka/IoTSiteWise/ListDashboards.hs +238/−0
- gen/Amazonka/IoTSiteWise/ListGateways.hs +217/−0
- gen/Amazonka/IoTSiteWise/ListPortals.hs +220/−0
- gen/Amazonka/IoTSiteWise/ListProjectAssets.hs +234/−0
- gen/Amazonka/IoTSiteWise/ListProjects.hs +233/−0
- gen/Amazonka/IoTSiteWise/ListTagsForResource.hs +174/−0
- gen/Amazonka/IoTSiteWise/ListTimeSeries.hs +273/−0
- gen/Amazonka/IoTSiteWise/PutDefaultEncryptionConfiguration.hs +259/−0
- gen/Amazonka/IoTSiteWise/PutLoggingOptions.hs +158/−0
- gen/Amazonka/IoTSiteWise/PutStorageConfiguration.hs +410/−0
- gen/Amazonka/IoTSiteWise/TagResource.hs +179/−0
- gen/Amazonka/IoTSiteWise/Types.hs +1153/−0
- gen/Amazonka/IoTSiteWise/Types/AccessPolicySummary.hs +155/−0
- gen/Amazonka/IoTSiteWise/Types/AggregateType.hs +91/−0
- gen/Amazonka/IoTSiteWise/Types/AggregatedValue.hs +103/−0
- gen/Amazonka/IoTSiteWise/Types/Aggregates.hs +132/−0
- gen/Amazonka/IoTSiteWise/Types/Alarms.hs +125/−0
- gen/Amazonka/IoTSiteWise/Types/AssetCompositeModel.hs +129/−0
- gen/Amazonka/IoTSiteWise/Types/AssetErrorCode.hs +66/−0
- gen/Amazonka/IoTSiteWise/Types/AssetErrorDetails.hs +103/−0
- gen/Amazonka/IoTSiteWise/Types/AssetHierarchy.hs +97/−0
- gen/Amazonka/IoTSiteWise/Types/AssetHierarchyInfo.hs +85/−0
- gen/Amazonka/IoTSiteWise/Types/AssetModelCompositeModel.hs +143/−0
- gen/Amazonka/IoTSiteWise/Types/AssetModelCompositeModelDefinition.hs +128/−0
- gen/Amazonka/IoTSiteWise/Types/AssetModelHierarchy.hs +128/−0
- gen/Amazonka/IoTSiteWise/Types/AssetModelHierarchyDefinition.hs +107/−0
- gen/Amazonka/IoTSiteWise/Types/AssetModelProperty.hs +156/−0
- gen/Amazonka/IoTSiteWise/Types/AssetModelPropertyDefinition.hs +162/−0
- gen/Amazonka/IoTSiteWise/Types/AssetModelPropertySummary.hs +155/−0
- gen/Amazonka/IoTSiteWise/Types/AssetModelState.hs +91/−0
- gen/Amazonka/IoTSiteWise/Types/AssetModelStatus.hs +90/−0
- gen/Amazonka/IoTSiteWise/Types/AssetModelSummary.hs +178/−0
- gen/Amazonka/IoTSiteWise/Types/AssetProperty.hs +176/−0
- gen/Amazonka/IoTSiteWise/Types/AssetPropertySummary.hs +135/−0
- gen/Amazonka/IoTSiteWise/Types/AssetPropertyValue.hs +113/−0
- gen/Amazonka/IoTSiteWise/Types/AssetRelationshipSummary.hs +110/−0
- gen/Amazonka/IoTSiteWise/Types/AssetRelationshipType.hs +66/−0
- gen/Amazonka/IoTSiteWise/Types/AssetState.hs +86/−0
- gen/Amazonka/IoTSiteWise/Types/AssetStatus.hs +90/−0
- gen/Amazonka/IoTSiteWise/Types/AssetSummary.hs +206/−0
- gen/Amazonka/IoTSiteWise/Types/AssociatedAssetsSummary.hs +208/−0
- gen/Amazonka/IoTSiteWise/Types/Attribute.hs +91/−0
- gen/Amazonka/IoTSiteWise/Types/AuthMode.hs +71/−0
- gen/Amazonka/IoTSiteWise/Types/BatchEntryCompletionStatus.hs +71/−0
- gen/Amazonka/IoTSiteWise/Types/BatchGetAssetPropertyAggregatesEntry.hs +252/−0
- gen/Amazonka/IoTSiteWise/Types/BatchGetAssetPropertyAggregatesErrorCode.hs +76/−0
- gen/Amazonka/IoTSiteWise/Types/BatchGetAssetPropertyAggregatesErrorEntry.hs +121/−0
- gen/Amazonka/IoTSiteWise/Types/BatchGetAssetPropertyAggregatesErrorInfo.hs +108/−0
- gen/Amazonka/IoTSiteWise/Types/BatchGetAssetPropertyAggregatesSkippedEntry.hs +126/−0
- gen/Amazonka/IoTSiteWise/Types/BatchGetAssetPropertyAggregatesSuccessEntry.hs +109/−0
- gen/Amazonka/IoTSiteWise/Types/BatchGetAssetPropertyValueEntry.hs +145/−0
- gen/Amazonka/IoTSiteWise/Types/BatchGetAssetPropertyValueErrorCode.hs +76/−0
- gen/Amazonka/IoTSiteWise/Types/BatchGetAssetPropertyValueErrorEntry.hs +121/−0
- gen/Amazonka/IoTSiteWise/Types/BatchGetAssetPropertyValueErrorInfo.hs +104/−0
- gen/Amazonka/IoTSiteWise/Types/BatchGetAssetPropertyValueHistoryEntry.hs +210/−0
- gen/Amazonka/IoTSiteWise/Types/BatchGetAssetPropertyValueHistoryErrorCode.hs +76/−0
- gen/Amazonka/IoTSiteWise/Types/BatchGetAssetPropertyValueHistoryErrorEntry.hs +119/−0
- gen/Amazonka/IoTSiteWise/Types/BatchGetAssetPropertyValueHistoryErrorInfo.hs +105/−0
- gen/Amazonka/IoTSiteWise/Types/BatchGetAssetPropertyValueHistorySkippedEntry.hs +127/−0
- gen/Amazonka/IoTSiteWise/Types/BatchGetAssetPropertyValueHistorySuccessEntry.hs +107/−0
- gen/Amazonka/IoTSiteWise/Types/BatchGetAssetPropertyValueSkippedEntry.hs +126/−0
- gen/Amazonka/IoTSiteWise/Types/BatchGetAssetPropertyValueSuccessEntry.hs +100/−0
- gen/Amazonka/IoTSiteWise/Types/BatchPutAssetPropertyError.hs +106/−0
- gen/Amazonka/IoTSiteWise/Types/BatchPutAssetPropertyErrorEntry.hs +102/−0
- gen/Amazonka/IoTSiteWise/Types/BatchPutAssetPropertyValueErrorCode.hs +106/−0
- gen/Amazonka/IoTSiteWise/Types/CapabilitySyncStatus.hs +81/−0
- gen/Amazonka/IoTSiteWise/Types/ColumnName.hs +101/−0
- gen/Amazonka/IoTSiteWise/Types/CompositeModelProperty.hs +117/−0
- gen/Amazonka/IoTSiteWise/Types/ComputeLocation.hs +71/−0
- gen/Amazonka/IoTSiteWise/Types/ConfigurationErrorDetails.hs +88/−0
- gen/Amazonka/IoTSiteWise/Types/ConfigurationState.hs +76/−0
- gen/Amazonka/IoTSiteWise/Types/ConfigurationStatus.hs +87/−0
- gen/Amazonka/IoTSiteWise/Types/Csv.hs +75/−0
- gen/Amazonka/IoTSiteWise/Types/CustomerManagedS3Storage.hs +123/−0
- gen/Amazonka/IoTSiteWise/Types/DashboardSummary.hs +124/−0
- gen/Amazonka/IoTSiteWise/Types/DetailedError.hs +85/−0
- gen/Amazonka/IoTSiteWise/Types/DetailedErrorCode.hs +71/−0
- gen/Amazonka/IoTSiteWise/Types/DisassociatedDataStorageState.hs +71/−0
- gen/Amazonka/IoTSiteWise/Types/EncryptionType.hs +71/−0
- gen/Amazonka/IoTSiteWise/Types/ErrorCode.hs +71/−0
- gen/Amazonka/IoTSiteWise/Types/ErrorDetails.hs +102/−0
- gen/Amazonka/IoTSiteWise/Types/ErrorReportLocation.hs +115/−0
- gen/Amazonka/IoTSiteWise/Types/ExpressionVariable.hs +94/−0
- gen/Amazonka/IoTSiteWise/Types/File.hs +116/−0
- gen/Amazonka/IoTSiteWise/Types/FileFormat.hs +70/−0
- gen/Amazonka/IoTSiteWise/Types/ForwardingConfig.hs +77/−0
- gen/Amazonka/IoTSiteWise/Types/ForwardingConfigState.hs +71/−0
- gen/Amazonka/IoTSiteWise/Types/GatewayCapabilitySummary.hs +128/−0
- gen/Amazonka/IoTSiteWise/Types/GatewayPlatform.hs +95/−0
- gen/Amazonka/IoTSiteWise/Types/GatewaySummary.hs +158/−0
- gen/Amazonka/IoTSiteWise/Types/Greengrass.hs +103/−0
- gen/Amazonka/IoTSiteWise/Types/GreengrassV2.hs +90/−0
- gen/Amazonka/IoTSiteWise/Types/GroupIdentity.hs +71/−0
- gen/Amazonka/IoTSiteWise/Types/IAMRoleIdentity.hs +85/−0
- gen/Amazonka/IoTSiteWise/Types/IAMUserIdentity.hs +94/−0
- gen/Amazonka/IoTSiteWise/Types/Identity.hs +128/−0
- gen/Amazonka/IoTSiteWise/Types/IdentityType.hs +76/−0
- gen/Amazonka/IoTSiteWise/Types/Image.hs +90/−0
- gen/Amazonka/IoTSiteWise/Types/ImageFile.hs +98/−0
- gen/Amazonka/IoTSiteWise/Types/ImageFileType.hs +66/−0
- gen/Amazonka/IoTSiteWise/Types/ImageLocation.hs +88/−0
- gen/Amazonka/IoTSiteWise/Types/InterpolatedAssetPropertyValue.hs +97/−0
- gen/Amazonka/IoTSiteWise/Types/JobConfiguration.hs +79/−0
- gen/Amazonka/IoTSiteWise/Types/JobStatus.hs +91/−0
- gen/Amazonka/IoTSiteWise/Types/JobSummary.hs +163/−0
- gen/Amazonka/IoTSiteWise/Types/ListAssetModelPropertiesFilter.hs +71/−0
- gen/Amazonka/IoTSiteWise/Types/ListAssetPropertiesFilter.hs +71/−0
- gen/Amazonka/IoTSiteWise/Types/ListAssetsFilter.hs +71/−0
- gen/Amazonka/IoTSiteWise/Types/ListBulkImportJobsFilter.hs +96/−0
- gen/Amazonka/IoTSiteWise/Types/ListTimeSeriesType.hs +71/−0
- gen/Amazonka/IoTSiteWise/Types/LoggingLevel.hs +76/−0
- gen/Amazonka/IoTSiteWise/Types/LoggingOptions.hs +77/−0
- gen/Amazonka/IoTSiteWise/Types/Measurement.hs +86/−0
- gen/Amazonka/IoTSiteWise/Types/MeasurementProcessingConfig.hs +86/−0
- gen/Amazonka/IoTSiteWise/Types/Metric.hs +170/−0
- gen/Amazonka/IoTSiteWise/Types/MetricProcessingConfig.hs +86/−0
- gen/Amazonka/IoTSiteWise/Types/MetricWindow.hs +76/−0
- gen/Amazonka/IoTSiteWise/Types/MonitorErrorCode.hs +76/−0
- gen/Amazonka/IoTSiteWise/Types/MonitorErrorDetails.hs +84/−0
- gen/Amazonka/IoTSiteWise/Types/MultiLayerStorage.hs +87/−0
- gen/Amazonka/IoTSiteWise/Types/Permission.hs +71/−0
- gen/Amazonka/IoTSiteWise/Types/PortalResource.hs +71/−0
- gen/Amazonka/IoTSiteWise/Types/PortalState.hs +86/−0
- gen/Amazonka/IoTSiteWise/Types/PortalStatus.hs +87/−0
- gen/Amazonka/IoTSiteWise/Types/PortalSummary.hs +188/−0
- gen/Amazonka/IoTSiteWise/Types/ProjectResource.hs +73/−0
- gen/Amazonka/IoTSiteWise/Types/ProjectSummary.hs +124/−0
- gen/Amazonka/IoTSiteWise/Types/Property.hs +174/−0
- gen/Amazonka/IoTSiteWise/Types/PropertyDataType.hs +86/−0
- gen/Amazonka/IoTSiteWise/Types/PropertyNotification.hs +95/−0
- gen/Amazonka/IoTSiteWise/Types/PropertyNotificationState.hs +71/−0
- gen/Amazonka/IoTSiteWise/Types/PropertyType.hs +154/−0
- gen/Amazonka/IoTSiteWise/Types/PutAssetPropertyValueEntry.hs +148/−0
- gen/Amazonka/IoTSiteWise/Types/Quality.hs +73/−0
- gen/Amazonka/IoTSiteWise/Types/Resource.hs +95/−0
- gen/Amazonka/IoTSiteWise/Types/ResourceType.hs +71/−0
- gen/Amazonka/IoTSiteWise/Types/RetentionPeriod.hs +112/−0
- gen/Amazonka/IoTSiteWise/Types/StorageType.hs +71/−0
- gen/Amazonka/IoTSiteWise/Types/TimeInNanos.hs +99/−0
- gen/Amazonka/IoTSiteWise/Types/TimeOrdering.hs +71/−0
- gen/Amazonka/IoTSiteWise/Types/TimeSeriesSummary.hs +198/−0
- gen/Amazonka/IoTSiteWise/Types/Transform.hs +147/−0
- gen/Amazonka/IoTSiteWise/Types/TransformProcessingConfig.hs +102/−0
- gen/Amazonka/IoTSiteWise/Types/TraversalDirection.hs +71/−0
- gen/Amazonka/IoTSiteWise/Types/TraversalType.hs +66/−0
- gen/Amazonka/IoTSiteWise/Types/TumblingWindow.hs +278/−0
- gen/Amazonka/IoTSiteWise/Types/UserIdentity.hs +71/−0
- gen/Amazonka/IoTSiteWise/Types/VariableValue.hs +122/−0
- gen/Amazonka/IoTSiteWise/Types/Variant.hs +119/−0
- gen/Amazonka/IoTSiteWise/UntagResource.hs +168/−0
- gen/Amazonka/IoTSiteWise/UpdateAccessPolicy.hs +245/−0
- gen/Amazonka/IoTSiteWise/UpdateAsset.hs +221/−0
- gen/Amazonka/IoTSiteWise/UpdateAssetModel.hs +348/−0
- gen/Amazonka/IoTSiteWise/UpdateAssetProperty.hs +263/−0
- gen/Amazonka/IoTSiteWise/UpdateDashboard.hs +231/−0
- gen/Amazonka/IoTSiteWise/UpdateGateway.hs +148/−0
- gen/Amazonka/IoTSiteWise/UpdateGatewayCapabilityConfiguration.hs +324/−0
- gen/Amazonka/IoTSiteWise/UpdatePortal.hs +324/−0
- gen/Amazonka/IoTSiteWise/UpdateProject.hs +202/−0
- gen/Amazonka/IoTSiteWise/Waiters.hs +137/−0
- src/.gitkeep +0/−0
- test/Main.hs +23/−0
- test/Test/Amazonka/Gen/IoTSiteWise.hs +1498/−0
- test/Test/Amazonka/IoTSiteWise.hs +20/−0
- test/Test/Amazonka/IoTSiteWise/Internal.hs +8/−0
+ LICENSE view
@@ -0,0 +1,367 @@+Mozilla Public License Version 2.0+==================================++1. Definitions+--------------++1.1. "Contributor"+ means each individual or legal entity that creates, contributes to+ the creation of, or owns Covered Software.++1.2. "Contributor Version"+ means the combination of the Contributions of others (if any) used+ by a Contributor and that particular Contributor's Contribution.++1.3. "Contribution"+ means Covered Software of a particular Contributor.++1.4. "Covered Software"+ means Source Code Form to which the initial Contributor has attached+ the notice in Exhibit A, the Executable Form of such Source Code+ Form, and Modifications of such Source Code Form, in each case+ including portions thereof.++1.5. "Incompatible With Secondary Licenses"+ means++ (a) that the initial Contributor has attached the notice described+ in Exhibit B to the Covered Software; or++ (b) that the Covered Software was made available under the terms of+ version 1.1 or earlier of the License, but not also under the+ terms of a Secondary License.++1.6. "Executable Form"+ means any form of the work other than Source Code Form.++1.7. "Larger Work"+ means a work that combines Covered Software with other material, in+ a separate file or files, that is not Covered Software.++1.8. "License"+ means this document.++1.9. "Licensable"+ means having the right to grant, to the maximum extent possible,+ whether at the time of the initial grant or subsequently, any and+ all of the rights conveyed by this License.++1.10. "Modifications"+ means any of the following:++ (a) any file in Source Code Form that results from an addition to,+ deletion from, or modification of the contents of Covered+ Software; or++ (b) any new file in Source Code Form that contains any Covered+ Software.++1.11. "Patent Claims" of a Contributor+ means any patent claim(s), including without limitation, method,+ process, and apparatus claims, in any patent Licensable by such+ Contributor that would be infringed, but for the grant of the+ License, by the making, using, selling, offering for sale, having+ made, import, or transfer of either its Contributions or its+ Contributor Version.++1.12. "Secondary License"+ means either the GNU General Public License, Version 2.0, the GNU+ Lesser General Public License, Version 2.1, the GNU Affero General+ Public License, Version 3.0, or any later versions of those+ licenses.++1.13. "Source Code Form"+ means the form of the work preferred for making modifications.++1.14. "You" (or "Your")+ means an individual or a legal entity exercising rights under this+ License. For legal entities, "You" includes any entity that+ controls, is controlled by, or is under common control with You. For+ purposes of this definition, "control" means (a) the power, direct+ or indirect, to cause the direction or management of such entity,+ whether by contract or otherwise, or (b) ownership of more than+ fifty percent (50%) of the outstanding shares or beneficial+ ownership of such entity.++2. License Grants and Conditions+--------------------------------++2.1. Grants++Each Contributor hereby grants You a world-wide, royalty-free,+non-exclusive license:++(a) under intellectual property rights (other than patent or trademark)+ Licensable by such Contributor to use, reproduce, make available,+ modify, display, perform, distribute, and otherwise exploit its+ Contributions, either on an unmodified basis, with Modifications, or+ as part of a Larger Work; and++(b) under Patent Claims of such Contributor to make, use, sell, offer+ for sale, have made, import, and otherwise transfer either its+ Contributions or its Contributor Version.++2.2. Effective Date++The licenses granted in Section 2.1 with respect to any Contribution+become effective for each Contribution on the date the Contributor first+distributes such Contribution.++2.3. Limitations on Grant Scope++The licenses granted in this Section 2 are the only rights granted under+this License. No additional rights or licenses will be implied from the+distribution or licensing of Covered Software under this License.+Notwithstanding Section 2.1(b) above, no patent license is granted by a+Contributor:++(a) for any code that a Contributor has removed from Covered Software;+ or++(b) for infringements caused by: (i) Your and any other third party's+ modifications of Covered Software, or (ii) the combination of its+ Contributions with other software (except as part of its Contributor+ Version); or++(c) under Patent Claims infringed by Covered Software in the absence of+ its Contributions.++This License does not grant any rights in the trademarks, service marks,+or logos of any Contributor (except as may be necessary to comply with+the notice requirements in Section 3.4).++2.4. Subsequent Licenses++No Contributor makes additional grants as a result of Your choice to+distribute the Covered Software under a subsequent version of this+License (see Section 10.2) or under the terms of a Secondary License (if+permitted under the terms of Section 3.3).++2.5. Representation++Each Contributor represents that the Contributor believes its+Contributions are its original creation(s) or it has sufficient rights+to grant the rights to its Contributions conveyed by this License.++2.6. Fair Use++This License is not intended to limit any rights You have under+applicable copyright doctrines of fair use, fair dealing, or other+equivalents.++2.7. Conditions++Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted+in Section 2.1.++3. Responsibilities+-------------------++3.1. Distribution of Source Form++All distribution of Covered Software in Source Code Form, including any+Modifications that You create or to which You contribute, must be under+the terms of this License. You must inform recipients that the Source+Code Form of the Covered Software is governed by the terms of this+License, and how they can obtain a copy of this License. You may not+attempt to alter or restrict the recipients' rights in the Source Code+Form.++3.2. Distribution of Executable Form++If You distribute Covered Software in Executable Form then:++(a) such Covered Software must also be made available in Source Code+ Form, as described in Section 3.1, and You must inform recipients of+ the Executable Form how they can obtain a copy of such Source Code+ Form by reasonable means in a timely manner, at a charge no more+ than the cost of distribution to the recipient; and++(b) You may distribute such Executable Form under the terms of this+ License, or sublicense it under different terms, provided that the+ license for the Executable Form does not attempt to limit or alter+ the recipients' rights in the Source Code Form under this License.++3.3. Distribution of a Larger Work++You may create and distribute a Larger Work under terms of Your choice,+provided that You also comply with the requirements of this License for+the Covered Software. If the Larger Work is a combination of Covered+Software with a work governed by one or more Secondary Licenses, and the+Covered Software is not Incompatible With Secondary Licenses, this+License permits You to additionally distribute such Covered Software+under the terms of such Secondary License(s), so that the recipient of+the Larger Work may, at their option, further distribute the Covered+Software under the terms of either this License or such Secondary+License(s).++3.4. Notices++You may not remove or alter the substance of any license notices+(including copyright notices, patent notices, disclaimers of warranty,+or limitations of liability) contained within the Source Code Form of+the Covered Software, except that You may alter any license notices to+the extent required to remedy known factual inaccuracies.++3.5. Application of Additional Terms++You may choose to offer, and to charge a fee for, warranty, support,+indemnity or liability obligations to one or more recipients of Covered+Software. However, You may do so only on Your own behalf, and not on+behalf of any Contributor. You must make it absolutely clear that any+such warranty, support, indemnity, or liability obligation is offered by+You alone, and You hereby agree to indemnify every Contributor for any+liability incurred by such Contributor as a result of warranty, support,+indemnity or liability terms You offer. You may include additional+disclaimers of warranty and limitations of liability specific to any+jurisdiction.++4. Inability to Comply Due to Statute or Regulation+---------------------------------------------------++If it is impossible for You to comply with any of the terms of this+License with respect to some or all of the Covered Software due to+statute, judicial order, or regulation then You must: (a) comply with+the terms of this License to the maximum extent possible; and (b)+describe the limitations and the code they affect. Such description must+be placed in a text file included with all distributions of the Covered+Software under this License. Except to the extent prohibited by statute+or regulation, such description must be sufficiently detailed for a+recipient of ordinary skill to be able to understand it.++5. Termination+--------------++5.1. The rights granted under this License will terminate automatically+if You fail to comply with any of its terms. However, if You become+compliant, then the rights granted under this License from a particular+Contributor are reinstated (a) provisionally, unless and until such+Contributor explicitly and finally terminates Your grants, and (b) on an+ongoing basis, if such Contributor fails to notify You of the+non-compliance by some reasonable means prior to 60 days after You have+come back into compliance. Moreover, Your grants from a particular+Contributor are reinstated on an ongoing basis if such Contributor+notifies You of the non-compliance by some reasonable means, this is the+first time You have received notice of non-compliance with this License+from such Contributor, and You become compliant prior to 30 days after+Your receipt of the notice.++5.2. If You initiate litigation against any entity by asserting a patent+infringement claim (excluding declaratory judgment actions,+counter-claims, and cross-claims) alleging that a Contributor Version+directly or indirectly infringes any patent, then the rights granted to+You by any and all Contributors for the Covered Software under Section+2.1 of this License shall terminate.++5.3. In the event of termination under Sections 5.1 or 5.2 above, all+end user license agreements (excluding distributors and resellers) which+have been validly granted by You or Your distributors under this License+prior to termination shall survive termination.++************************************************************************+* *+* 6. Disclaimer of Warranty *+* ------------------------- *+* *+* Covered Software is provided under this License on an "as is" *+* basis, without warranty of any kind, either expressed, implied, or *+* statutory, including, without limitation, warranties that the *+* Covered Software is free of defects, merchantable, fit for a *+* particular purpose or non-infringing. The entire risk as to the *+* quality and performance of the Covered Software is with You. *+* Should any Covered Software prove defective in any respect, You *+* (not any Contributor) assume the cost of any necessary servicing, *+* repair, or correction. This disclaimer of warranty constitutes an *+* essential part of this License. No use of any Covered Software is *+* authorized under this License except under this disclaimer. *+* *+************************************************************************++************************************************************************+* *+* 7. Limitation of Liability *+* -------------------------- *+* *+* Under no circumstances and under no legal theory, whether tort *+* (including negligence), contract, or otherwise, shall any *+* Contributor, or anyone who distributes Covered Software as *+* permitted above, be liable to You for any direct, indirect, *+* special, incidental, or consequential damages of any character *+* including, without limitation, damages for lost profits, loss of *+* goodwill, work stoppage, computer failure or malfunction, or any *+* and all other commercial damages or losses, even if such party *+* shall have been informed of the possibility of such damages. This *+* limitation of liability shall not apply to liability for death or *+* personal injury resulting from such party's negligence to the *+* extent applicable law prohibits such limitation. Some *+* jurisdictions do not allow the exclusion or limitation of *+* incidental or consequential damages, so this exclusion and *+* limitation may not apply to You. *+* *+************************************************************************++8. Litigation+-------------++Any litigation relating to this License may be brought only in the+courts of a jurisdiction where the defendant maintains its principal+place of business and such litigation shall be governed by laws of that+jurisdiction, without reference to its conflict-of-law provisions.+Nothing in this Section shall prevent a party's ability to bring+cross-claims or counter-claims.++9. Miscellaneous+----------------++This License represents the complete agreement concerning the subject+matter hereof. If any provision of this License is held to be+unenforceable, such provision shall be reformed only to the extent+necessary to make it enforceable. Any law or regulation which provides+that the language of a contract shall be construed against the drafter+shall not be used to construe this License against a Contributor.++10. Versions of the License+---------------------------++10.1. New Versions++Mozilla Foundation is the license steward. Except as provided in Section+10.3, no one other than the license steward has the right to modify or+publish new versions of this License. Each version will be given a+distinguishing version number.++10.2. Effect of New Versions++You may distribute the Covered Software under the terms of the version+of the License under which You originally received the Covered Software,+or under the terms of any subsequent version published by the license+steward.++10.3. Modified Versions++If you create software not governed by this License, and you want to+create a new license for such software, you may create and use a+modified version of this License if you rename the license and remove+any references to the name of the license steward (except to note that+such modified license differs from this License).++10.4. Distributing Source Code Form that is Incompatible With Secondary+Licenses++If You choose to distribute Source Code Form that is Incompatible With+Secondary Licenses under the terms of this version of the License, the+notice described in Exhibit B of this License must be attached.++Exhibit A - Source Code Form License Notice+-------------------------------------------++ This Source Code Form is subject to the terms of the Mozilla Public+ License, v. 2.0. If a copy of the MPL was not distributed with this+ file, You can obtain one at http://mozilla.org/MPL/2.0/.++If it is not possible or desirable to put the notice in a particular+file, then You may include the notice in a location (such as a LICENSE+file in a relevant directory) where a recipient would be likely to look+for such a notice.++You may add additional accurate notices of copyright ownership.
+ README.md view
@@ -0,0 +1,44 @@+# Amazon IoT SiteWise SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2019-12-02@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-iotsitewise)+and the [AWS API Reference](https://aws.amazon.com/documentation/).++The types from this library are intended to be used with [amazonka](http://hackage.haskell.org/package/amazonka),+which provides mechanisms for specifying AuthN/AuthZ information, sending requests,+and receiving responses.++Lenses are used for constructing and manipulating types,+due to the depth of nesting of AWS types and transparency regarding+de/serialisation into more palatable Haskell values.+The provided lenses should be compatible with any of the major lens libraries+[lens](http://hackage.haskell.org/package/lens) or [lens-family-core](http://hackage.haskell.org/package/lens-family-core).++See [Amazonka.IoTSiteWise](http://hackage.haskell.org/package/amazonka-iotsitewise/docs/Amazonka-IoTSiteWise.html)+or [the AWS documentation](https://aws.amazon.com/documentation/) to get started.+++## Contribute++For any problems, comments, or feedback please create an issue [here on GitHub](https://github.com/brendanhay/amazonka/issues).++> _Note:_ this library is an auto-generated Haskell package. Please see `amazonka-gen` for more information.+++## Licence++`amazonka-iotsitewise` is released under the [Mozilla Public License Version 2.0](http://www.mozilla.org/MPL/).++Parts of the code are derived from AWS service descriptions, licensed under Apache 2.0.+Source files subject to this contain an additional licensing clause in their header.
+ amazonka-iotsitewise.cabal view
@@ -0,0 +1,293 @@+cabal-version: 2.2+name: amazonka-iotsitewise+version: 2.0+synopsis: Amazon IoT SiteWise SDK.+homepage: https://github.com/brendanhay/amazonka+bug-reports: https://github.com/brendanhay/amazonka/issues+license: MPL-2.0+license-file: LICENSE+author: Brendan Hay+maintainer:+ Brendan Hay <brendan.g.hay+amazonka@gmail.com>, Jack Kelly <jack@jackkelly.name>++copyright: Copyright (c) 2013-2023 Brendan Hay+category: AWS+build-type: Simple+extra-source-files:+ fixture/*.proto+ fixture/*.yaml+ README.md+ src/.gitkeep++description:+ Derived from API version @2019-12-02@ of the AWS service descriptions, licensed under Apache 2.0.+ .+ The types from this library are intended to be used with <http://hackage.haskell.org/package/amazonka amazonka>,+ which provides mechanisms for specifying AuthN/AuthZ information, sending requests, and receiving responses.+ .+ It is recommended to use generic lenses or optics from packages such as <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify optional fields and deconstruct responses.+ .+ Generated lenses can be found in "Amazonka.IoTSiteWise.Lens" and are+ suitable for use with a lens package such as <http://hackage.haskell.org/package/lens lens> or <http://hackage.haskell.org/package/lens-family-core lens-family-core>.+ .+ See "Amazonka.IoTSiteWise" and the <https://aws.amazon.com/documentation/ AWS documentation> to get started.++source-repository head+ type: git+ location: git://github.com/brendanhay/amazonka.git+ subdir: amazonka-iotsitewise++library+ default-language: Haskell2010+ hs-source-dirs: src gen+ ghc-options:+ -Wall -fwarn-incomplete-uni-patterns+ -fwarn-incomplete-record-updates -funbox-strict-fields++ exposed-modules:+ Amazonka.IoTSiteWise+ Amazonka.IoTSiteWise.AssociateAssets+ Amazonka.IoTSiteWise.AssociateTimeSeriesToAssetProperty+ Amazonka.IoTSiteWise.BatchAssociateProjectAssets+ Amazonka.IoTSiteWise.BatchDisassociateProjectAssets+ Amazonka.IoTSiteWise.BatchGetAssetPropertyAggregates+ Amazonka.IoTSiteWise.BatchGetAssetPropertyValue+ Amazonka.IoTSiteWise.BatchGetAssetPropertyValueHistory+ Amazonka.IoTSiteWise.BatchPutAssetPropertyValue+ Amazonka.IoTSiteWise.CreateAccessPolicy+ Amazonka.IoTSiteWise.CreateAsset+ Amazonka.IoTSiteWise.CreateAssetModel+ Amazonka.IoTSiteWise.CreateBulkImportJob+ Amazonka.IoTSiteWise.CreateDashboard+ Amazonka.IoTSiteWise.CreateGateway+ Amazonka.IoTSiteWise.CreatePortal+ Amazonka.IoTSiteWise.CreateProject+ Amazonka.IoTSiteWise.DeleteAccessPolicy+ Amazonka.IoTSiteWise.DeleteAsset+ Amazonka.IoTSiteWise.DeleteAssetModel+ Amazonka.IoTSiteWise.DeleteDashboard+ Amazonka.IoTSiteWise.DeleteGateway+ Amazonka.IoTSiteWise.DeletePortal+ Amazonka.IoTSiteWise.DeleteProject+ Amazonka.IoTSiteWise.DeleteTimeSeries+ Amazonka.IoTSiteWise.DescribeAccessPolicy+ Amazonka.IoTSiteWise.DescribeAsset+ Amazonka.IoTSiteWise.DescribeAssetModel+ Amazonka.IoTSiteWise.DescribeAssetProperty+ Amazonka.IoTSiteWise.DescribeBulkImportJob+ Amazonka.IoTSiteWise.DescribeDashboard+ Amazonka.IoTSiteWise.DescribeDefaultEncryptionConfiguration+ Amazonka.IoTSiteWise.DescribeGateway+ Amazonka.IoTSiteWise.DescribeGatewayCapabilityConfiguration+ Amazonka.IoTSiteWise.DescribeLoggingOptions+ Amazonka.IoTSiteWise.DescribePortal+ Amazonka.IoTSiteWise.DescribeProject+ Amazonka.IoTSiteWise.DescribeStorageConfiguration+ Amazonka.IoTSiteWise.DescribeTimeSeries+ Amazonka.IoTSiteWise.DisassociateAssets+ Amazonka.IoTSiteWise.DisassociateTimeSeriesFromAssetProperty+ Amazonka.IoTSiteWise.GetAssetPropertyAggregates+ Amazonka.IoTSiteWise.GetAssetPropertyValue+ Amazonka.IoTSiteWise.GetAssetPropertyValueHistory+ Amazonka.IoTSiteWise.GetInterpolatedAssetPropertyValues+ Amazonka.IoTSiteWise.Lens+ Amazonka.IoTSiteWise.ListAccessPolicies+ Amazonka.IoTSiteWise.ListAssetModelProperties+ Amazonka.IoTSiteWise.ListAssetModels+ Amazonka.IoTSiteWise.ListAssetProperties+ Amazonka.IoTSiteWise.ListAssetRelationships+ Amazonka.IoTSiteWise.ListAssets+ Amazonka.IoTSiteWise.ListAssociatedAssets+ Amazonka.IoTSiteWise.ListBulkImportJobs+ Amazonka.IoTSiteWise.ListDashboards+ Amazonka.IoTSiteWise.ListGateways+ Amazonka.IoTSiteWise.ListPortals+ Amazonka.IoTSiteWise.ListProjectAssets+ Amazonka.IoTSiteWise.ListProjects+ Amazonka.IoTSiteWise.ListTagsForResource+ Amazonka.IoTSiteWise.ListTimeSeries+ Amazonka.IoTSiteWise.PutDefaultEncryptionConfiguration+ Amazonka.IoTSiteWise.PutLoggingOptions+ Amazonka.IoTSiteWise.PutStorageConfiguration+ Amazonka.IoTSiteWise.TagResource+ Amazonka.IoTSiteWise.Types+ Amazonka.IoTSiteWise.Types.AccessPolicySummary+ Amazonka.IoTSiteWise.Types.AggregatedValue+ Amazonka.IoTSiteWise.Types.Aggregates+ Amazonka.IoTSiteWise.Types.AggregateType+ Amazonka.IoTSiteWise.Types.Alarms+ Amazonka.IoTSiteWise.Types.AssetCompositeModel+ Amazonka.IoTSiteWise.Types.AssetErrorCode+ Amazonka.IoTSiteWise.Types.AssetErrorDetails+ Amazonka.IoTSiteWise.Types.AssetHierarchy+ Amazonka.IoTSiteWise.Types.AssetHierarchyInfo+ Amazonka.IoTSiteWise.Types.AssetModelCompositeModel+ Amazonka.IoTSiteWise.Types.AssetModelCompositeModelDefinition+ Amazonka.IoTSiteWise.Types.AssetModelHierarchy+ Amazonka.IoTSiteWise.Types.AssetModelHierarchyDefinition+ Amazonka.IoTSiteWise.Types.AssetModelProperty+ Amazonka.IoTSiteWise.Types.AssetModelPropertyDefinition+ Amazonka.IoTSiteWise.Types.AssetModelPropertySummary+ Amazonka.IoTSiteWise.Types.AssetModelState+ Amazonka.IoTSiteWise.Types.AssetModelStatus+ Amazonka.IoTSiteWise.Types.AssetModelSummary+ Amazonka.IoTSiteWise.Types.AssetProperty+ Amazonka.IoTSiteWise.Types.AssetPropertySummary+ Amazonka.IoTSiteWise.Types.AssetPropertyValue+ Amazonka.IoTSiteWise.Types.AssetRelationshipSummary+ Amazonka.IoTSiteWise.Types.AssetRelationshipType+ Amazonka.IoTSiteWise.Types.AssetState+ Amazonka.IoTSiteWise.Types.AssetStatus+ Amazonka.IoTSiteWise.Types.AssetSummary+ Amazonka.IoTSiteWise.Types.AssociatedAssetsSummary+ Amazonka.IoTSiteWise.Types.Attribute+ Amazonka.IoTSiteWise.Types.AuthMode+ Amazonka.IoTSiteWise.Types.BatchEntryCompletionStatus+ Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyAggregatesEntry+ Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyAggregatesErrorCode+ Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyAggregatesErrorEntry+ Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyAggregatesErrorInfo+ Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyAggregatesSkippedEntry+ Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyAggregatesSuccessEntry+ Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueEntry+ Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueErrorCode+ Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueErrorEntry+ Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueErrorInfo+ Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueHistoryEntry+ Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueHistoryErrorCode+ Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueHistoryErrorEntry+ Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueHistoryErrorInfo+ Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueHistorySkippedEntry+ Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueHistorySuccessEntry+ Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueSkippedEntry+ Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueSuccessEntry+ Amazonka.IoTSiteWise.Types.BatchPutAssetPropertyError+ Amazonka.IoTSiteWise.Types.BatchPutAssetPropertyErrorEntry+ Amazonka.IoTSiteWise.Types.BatchPutAssetPropertyValueErrorCode+ Amazonka.IoTSiteWise.Types.CapabilitySyncStatus+ Amazonka.IoTSiteWise.Types.ColumnName+ Amazonka.IoTSiteWise.Types.CompositeModelProperty+ Amazonka.IoTSiteWise.Types.ComputeLocation+ Amazonka.IoTSiteWise.Types.ConfigurationErrorDetails+ Amazonka.IoTSiteWise.Types.ConfigurationState+ Amazonka.IoTSiteWise.Types.ConfigurationStatus+ Amazonka.IoTSiteWise.Types.Csv+ Amazonka.IoTSiteWise.Types.CustomerManagedS3Storage+ Amazonka.IoTSiteWise.Types.DashboardSummary+ Amazonka.IoTSiteWise.Types.DetailedError+ Amazonka.IoTSiteWise.Types.DetailedErrorCode+ Amazonka.IoTSiteWise.Types.DisassociatedDataStorageState+ Amazonka.IoTSiteWise.Types.EncryptionType+ Amazonka.IoTSiteWise.Types.ErrorCode+ Amazonka.IoTSiteWise.Types.ErrorDetails+ Amazonka.IoTSiteWise.Types.ErrorReportLocation+ Amazonka.IoTSiteWise.Types.ExpressionVariable+ Amazonka.IoTSiteWise.Types.File+ Amazonka.IoTSiteWise.Types.FileFormat+ Amazonka.IoTSiteWise.Types.ForwardingConfig+ Amazonka.IoTSiteWise.Types.ForwardingConfigState+ Amazonka.IoTSiteWise.Types.GatewayCapabilitySummary+ Amazonka.IoTSiteWise.Types.GatewayPlatform+ Amazonka.IoTSiteWise.Types.GatewaySummary+ Amazonka.IoTSiteWise.Types.Greengrass+ Amazonka.IoTSiteWise.Types.GreengrassV2+ Amazonka.IoTSiteWise.Types.GroupIdentity+ Amazonka.IoTSiteWise.Types.IAMRoleIdentity+ Amazonka.IoTSiteWise.Types.IAMUserIdentity+ Amazonka.IoTSiteWise.Types.Identity+ Amazonka.IoTSiteWise.Types.IdentityType+ Amazonka.IoTSiteWise.Types.Image+ Amazonka.IoTSiteWise.Types.ImageFile+ Amazonka.IoTSiteWise.Types.ImageFileType+ Amazonka.IoTSiteWise.Types.ImageLocation+ Amazonka.IoTSiteWise.Types.InterpolatedAssetPropertyValue+ Amazonka.IoTSiteWise.Types.JobConfiguration+ Amazonka.IoTSiteWise.Types.JobStatus+ Amazonka.IoTSiteWise.Types.JobSummary+ Amazonka.IoTSiteWise.Types.ListAssetModelPropertiesFilter+ Amazonka.IoTSiteWise.Types.ListAssetPropertiesFilter+ Amazonka.IoTSiteWise.Types.ListAssetsFilter+ Amazonka.IoTSiteWise.Types.ListBulkImportJobsFilter+ Amazonka.IoTSiteWise.Types.ListTimeSeriesType+ Amazonka.IoTSiteWise.Types.LoggingLevel+ Amazonka.IoTSiteWise.Types.LoggingOptions+ Amazonka.IoTSiteWise.Types.Measurement+ Amazonka.IoTSiteWise.Types.MeasurementProcessingConfig+ Amazonka.IoTSiteWise.Types.Metric+ Amazonka.IoTSiteWise.Types.MetricProcessingConfig+ Amazonka.IoTSiteWise.Types.MetricWindow+ Amazonka.IoTSiteWise.Types.MonitorErrorCode+ Amazonka.IoTSiteWise.Types.MonitorErrorDetails+ Amazonka.IoTSiteWise.Types.MultiLayerStorage+ Amazonka.IoTSiteWise.Types.Permission+ Amazonka.IoTSiteWise.Types.PortalResource+ Amazonka.IoTSiteWise.Types.PortalState+ Amazonka.IoTSiteWise.Types.PortalStatus+ Amazonka.IoTSiteWise.Types.PortalSummary+ Amazonka.IoTSiteWise.Types.ProjectResource+ Amazonka.IoTSiteWise.Types.ProjectSummary+ Amazonka.IoTSiteWise.Types.Property+ Amazonka.IoTSiteWise.Types.PropertyDataType+ Amazonka.IoTSiteWise.Types.PropertyNotification+ Amazonka.IoTSiteWise.Types.PropertyNotificationState+ Amazonka.IoTSiteWise.Types.PropertyType+ Amazonka.IoTSiteWise.Types.PutAssetPropertyValueEntry+ Amazonka.IoTSiteWise.Types.Quality+ Amazonka.IoTSiteWise.Types.Resource+ Amazonka.IoTSiteWise.Types.ResourceType+ Amazonka.IoTSiteWise.Types.RetentionPeriod+ Amazonka.IoTSiteWise.Types.StorageType+ Amazonka.IoTSiteWise.Types.TimeInNanos+ Amazonka.IoTSiteWise.Types.TimeOrdering+ Amazonka.IoTSiteWise.Types.TimeSeriesSummary+ Amazonka.IoTSiteWise.Types.Transform+ Amazonka.IoTSiteWise.Types.TransformProcessingConfig+ Amazonka.IoTSiteWise.Types.TraversalDirection+ Amazonka.IoTSiteWise.Types.TraversalType+ Amazonka.IoTSiteWise.Types.TumblingWindow+ Amazonka.IoTSiteWise.Types.UserIdentity+ Amazonka.IoTSiteWise.Types.VariableValue+ Amazonka.IoTSiteWise.Types.Variant+ Amazonka.IoTSiteWise.UntagResource+ Amazonka.IoTSiteWise.UpdateAccessPolicy+ Amazonka.IoTSiteWise.UpdateAsset+ Amazonka.IoTSiteWise.UpdateAssetModel+ Amazonka.IoTSiteWise.UpdateAssetProperty+ Amazonka.IoTSiteWise.UpdateDashboard+ Amazonka.IoTSiteWise.UpdateGateway+ Amazonka.IoTSiteWise.UpdateGatewayCapabilityConfiguration+ Amazonka.IoTSiteWise.UpdatePortal+ Amazonka.IoTSiteWise.UpdateProject+ Amazonka.IoTSiteWise.Waiters++ build-depends:+ , amazonka-core >=2.0 && <2.1+ , base >=4.12 && <5++test-suite amazonka-iotsitewise-test+ type: exitcode-stdio-1.0+ default-language: Haskell2010+ hs-source-dirs: test+ main-is: Main.hs+ ghc-options: -Wall -threaded++ -- This section is encoded by the template and any modules added by+ -- hand outside these namespaces will not correctly be added to the+ -- distribution package.+ other-modules:+ Test.Amazonka.Gen.IoTSiteWise+ Test.Amazonka.IoTSiteWise+ Test.Amazonka.IoTSiteWise.Internal++ build-depends:+ , amazonka-core >=2.0 && <2.1+ , amazonka-iotsitewise+ , amazonka-test >=2.0 && <2.1+ , base+ , bytestring+ , case-insensitive+ , tasty+ , tasty-hunit+ , text+ , time+ , unordered-containers
+ fixture/AssociateAssets.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/AssociateAssetsResponse.proto view
+ fixture/AssociateTimeSeriesToAssetProperty.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/AssociateTimeSeriesToAssetPropertyResponse.proto view
+ fixture/BatchAssociateProjectAssets.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/BatchAssociateProjectAssetsResponse.proto view
+ fixture/BatchDisassociateProjectAssets.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/BatchDisassociateProjectAssetsResponse.proto view
+ fixture/BatchGetAssetPropertyAggregates.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/BatchGetAssetPropertyAggregatesResponse.proto view
+ fixture/BatchGetAssetPropertyValue.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/BatchGetAssetPropertyValueHistory.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/BatchGetAssetPropertyValueHistoryResponse.proto view
+ fixture/BatchGetAssetPropertyValueResponse.proto view
+ fixture/BatchPutAssetPropertyValue.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/BatchPutAssetPropertyValueResponse.proto view
+ fixture/CreateAccessPolicy.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreateAccessPolicyResponse.proto view
+ fixture/CreateAsset.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreateAssetModel.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreateAssetModelResponse.proto view
+ fixture/CreateAssetResponse.proto view
+ fixture/CreateBulkImportJob.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreateBulkImportJobResponse.proto view
+ fixture/CreateDashboard.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreateDashboardResponse.proto view
+ fixture/CreateGateway.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreateGatewayResponse.proto view
+ fixture/CreatePortal.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreatePortalResponse.proto view
+ fixture/CreateProject.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreateProjectResponse.proto view
+ fixture/DeleteAccessPolicy.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DeleteAccessPolicyResponse.proto view
+ fixture/DeleteAsset.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DeleteAssetModel.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DeleteAssetModelResponse.proto view
+ fixture/DeleteAssetResponse.proto view
+ fixture/DeleteDashboard.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DeleteDashboardResponse.proto view
+ fixture/DeleteGateway.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DeleteGatewayResponse.proto view
+ fixture/DeletePortal.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DeletePortalResponse.proto view
+ fixture/DeleteProject.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DeleteProjectResponse.proto view
+ fixture/DeleteTimeSeries.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DeleteTimeSeriesResponse.proto view
+ fixture/DescribeAccessPolicy.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DescribeAccessPolicyResponse.proto view
+ fixture/DescribeAsset.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DescribeAssetModel.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DescribeAssetModelResponse.proto view
+ fixture/DescribeAssetProperty.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DescribeAssetPropertyResponse.proto view
+ fixture/DescribeAssetResponse.proto view
+ fixture/DescribeBulkImportJob.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DescribeBulkImportJobResponse.proto view
+ fixture/DescribeDashboard.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DescribeDashboardResponse.proto view
+ fixture/DescribeDefaultEncryptionConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DescribeDefaultEncryptionConfigurationResponse.proto view
+ fixture/DescribeGateway.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DescribeGatewayCapabilityConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DescribeGatewayCapabilityConfigurationResponse.proto view
+ fixture/DescribeGatewayResponse.proto view
+ fixture/DescribeLoggingOptions.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DescribeLoggingOptionsResponse.proto view
+ fixture/DescribePortal.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DescribePortalResponse.proto view
+ fixture/DescribeProject.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DescribeProjectResponse.proto view
+ fixture/DescribeStorageConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DescribeStorageConfigurationResponse.proto view
+ fixture/DescribeTimeSeries.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DescribeTimeSeriesResponse.proto view
+ fixture/DisassociateAssets.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DisassociateAssetsResponse.proto view
+ fixture/DisassociateTimeSeriesFromAssetProperty.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DisassociateTimeSeriesFromAssetPropertyResponse.proto view
+ fixture/GetAssetPropertyAggregates.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetAssetPropertyAggregatesResponse.proto view
+ fixture/GetAssetPropertyValue.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetAssetPropertyValueHistory.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetAssetPropertyValueHistoryResponse.proto view
+ fixture/GetAssetPropertyValueResponse.proto view
+ fixture/GetInterpolatedAssetPropertyValues.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetInterpolatedAssetPropertyValuesResponse.proto view
+ fixture/ListAccessPolicies.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListAccessPoliciesResponse.proto view
+ fixture/ListAssetModelProperties.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListAssetModelPropertiesResponse.proto view
+ fixture/ListAssetModels.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListAssetModelsResponse.proto view
+ fixture/ListAssetProperties.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListAssetPropertiesResponse.proto view
+ fixture/ListAssetRelationships.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListAssetRelationshipsResponse.proto view
+ fixture/ListAssets.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListAssetsResponse.proto view
+ fixture/ListAssociatedAssets.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListAssociatedAssetsResponse.proto view
+ fixture/ListBulkImportJobs.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListBulkImportJobsResponse.proto view
+ fixture/ListDashboards.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListDashboardsResponse.proto view
+ fixture/ListGateways.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListGatewaysResponse.proto view
+ fixture/ListPortals.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListPortalsResponse.proto view
+ fixture/ListProjectAssets.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListProjectAssetsResponse.proto view
+ fixture/ListProjects.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListProjectsResponse.proto view
+ fixture/ListTagsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListTagsForResourceResponse.proto view
+ fixture/ListTimeSeries.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListTimeSeriesResponse.proto view
+ fixture/PutDefaultEncryptionConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/PutDefaultEncryptionConfigurationResponse.proto view
+ fixture/PutLoggingOptions.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/PutLoggingOptionsResponse.proto view
+ fixture/PutStorageConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/PutStorageConfigurationResponse.proto view
+ fixture/TagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/TagResourceResponse.proto view
+ fixture/UntagResource.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UntagResourceResponse.proto view
+ fixture/UpdateAccessPolicy.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UpdateAccessPolicyResponse.proto view
+ fixture/UpdateAsset.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UpdateAssetModel.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UpdateAssetModelResponse.proto view
+ fixture/UpdateAssetProperty.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UpdateAssetPropertyResponse.proto view
+ fixture/UpdateAssetResponse.proto view
+ fixture/UpdateDashboard.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UpdateDashboardResponse.proto view
+ fixture/UpdateGateway.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UpdateGatewayCapabilityConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UpdateGatewayCapabilityConfigurationResponse.proto view
+ fixture/UpdateGatewayResponse.proto view
+ fixture/UpdatePortal.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UpdatePortalResponse.proto view
+ fixture/UpdateProject.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotsitewise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotsitewise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UpdateProjectResponse.proto view
+ gen/Amazonka/IoTSiteWise.hs view
@@ -0,0 +1,1136 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Amazonka.IoTSiteWise+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Derived from API version @2019-12-02@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- Welcome to the IoT SiteWise API Reference. IoT SiteWise is an Amazon Web+-- Services service that connects+-- <https://en.wikipedia.org/wiki/Internet_of_things#Industrial_applications Industrial Internet of Things (IIoT)>+-- devices to the power of the Amazon Web Services Cloud. For more+-- information, see the+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/ IoT SiteWise User Guide>.+-- For information about IoT SiteWise quotas, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html Quotas>+-- in the /IoT SiteWise User Guide/.+module Amazonka.IoTSiteWise+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ -- $errors++ -- ** ConflictingOperationException+ _ConflictingOperationException,++ -- ** InternalFailureException+ _InternalFailureException,++ -- ** InvalidRequestException+ _InvalidRequestException,++ -- ** LimitExceededException+ _LimitExceededException,++ -- ** ResourceAlreadyExistsException+ _ResourceAlreadyExistsException,++ -- ** ResourceNotFoundException+ _ResourceNotFoundException,++ -- ** ServiceUnavailableException+ _ServiceUnavailableException,++ -- ** ThrottlingException+ _ThrottlingException,++ -- ** TooManyTagsException+ _TooManyTagsException,++ -- ** UnauthorizedException+ _UnauthorizedException,++ -- * Waiters+ -- $waiters++ -- ** AssetActive+ newAssetActive,++ -- ** AssetModelActive+ newAssetModelActive,++ -- ** AssetModelNotExists+ newAssetModelNotExists,++ -- ** AssetNotExists+ newAssetNotExists,++ -- ** PortalActive+ newPortalActive,++ -- ** PortalNotExists+ newPortalNotExists,++ -- * Operations+ -- $operations++ -- ** AssociateAssets+ AssociateAssets (AssociateAssets'),+ newAssociateAssets,+ AssociateAssetsResponse (AssociateAssetsResponse'),+ newAssociateAssetsResponse,++ -- ** AssociateTimeSeriesToAssetProperty+ AssociateTimeSeriesToAssetProperty (AssociateTimeSeriesToAssetProperty'),+ newAssociateTimeSeriesToAssetProperty,+ AssociateTimeSeriesToAssetPropertyResponse (AssociateTimeSeriesToAssetPropertyResponse'),+ newAssociateTimeSeriesToAssetPropertyResponse,++ -- ** BatchAssociateProjectAssets+ BatchAssociateProjectAssets (BatchAssociateProjectAssets'),+ newBatchAssociateProjectAssets,+ BatchAssociateProjectAssetsResponse (BatchAssociateProjectAssetsResponse'),+ newBatchAssociateProjectAssetsResponse,++ -- ** BatchDisassociateProjectAssets+ BatchDisassociateProjectAssets (BatchDisassociateProjectAssets'),+ newBatchDisassociateProjectAssets,+ BatchDisassociateProjectAssetsResponse (BatchDisassociateProjectAssetsResponse'),+ newBatchDisassociateProjectAssetsResponse,++ -- ** BatchGetAssetPropertyAggregates+ BatchGetAssetPropertyAggregates (BatchGetAssetPropertyAggregates'),+ newBatchGetAssetPropertyAggregates,+ BatchGetAssetPropertyAggregatesResponse (BatchGetAssetPropertyAggregatesResponse'),+ newBatchGetAssetPropertyAggregatesResponse,++ -- ** BatchGetAssetPropertyValue+ BatchGetAssetPropertyValue (BatchGetAssetPropertyValue'),+ newBatchGetAssetPropertyValue,+ BatchGetAssetPropertyValueResponse (BatchGetAssetPropertyValueResponse'),+ newBatchGetAssetPropertyValueResponse,++ -- ** BatchGetAssetPropertyValueHistory+ BatchGetAssetPropertyValueHistory (BatchGetAssetPropertyValueHistory'),+ newBatchGetAssetPropertyValueHistory,+ BatchGetAssetPropertyValueHistoryResponse (BatchGetAssetPropertyValueHistoryResponse'),+ newBatchGetAssetPropertyValueHistoryResponse,++ -- ** BatchPutAssetPropertyValue+ BatchPutAssetPropertyValue (BatchPutAssetPropertyValue'),+ newBatchPutAssetPropertyValue,+ BatchPutAssetPropertyValueResponse (BatchPutAssetPropertyValueResponse'),+ newBatchPutAssetPropertyValueResponse,++ -- ** CreateAccessPolicy+ CreateAccessPolicy (CreateAccessPolicy'),+ newCreateAccessPolicy,+ CreateAccessPolicyResponse (CreateAccessPolicyResponse'),+ newCreateAccessPolicyResponse,++ -- ** CreateAsset+ CreateAsset (CreateAsset'),+ newCreateAsset,+ CreateAssetResponse (CreateAssetResponse'),+ newCreateAssetResponse,++ -- ** CreateAssetModel+ CreateAssetModel (CreateAssetModel'),+ newCreateAssetModel,+ CreateAssetModelResponse (CreateAssetModelResponse'),+ newCreateAssetModelResponse,++ -- ** CreateBulkImportJob+ CreateBulkImportJob (CreateBulkImportJob'),+ newCreateBulkImportJob,+ CreateBulkImportJobResponse (CreateBulkImportJobResponse'),+ newCreateBulkImportJobResponse,++ -- ** CreateDashboard+ CreateDashboard (CreateDashboard'),+ newCreateDashboard,+ CreateDashboardResponse (CreateDashboardResponse'),+ newCreateDashboardResponse,++ -- ** CreateGateway+ CreateGateway (CreateGateway'),+ newCreateGateway,+ CreateGatewayResponse (CreateGatewayResponse'),+ newCreateGatewayResponse,++ -- ** CreatePortal+ CreatePortal (CreatePortal'),+ newCreatePortal,+ CreatePortalResponse (CreatePortalResponse'),+ newCreatePortalResponse,++ -- ** CreateProject+ CreateProject (CreateProject'),+ newCreateProject,+ CreateProjectResponse (CreateProjectResponse'),+ newCreateProjectResponse,++ -- ** DeleteAccessPolicy+ DeleteAccessPolicy (DeleteAccessPolicy'),+ newDeleteAccessPolicy,+ DeleteAccessPolicyResponse (DeleteAccessPolicyResponse'),+ newDeleteAccessPolicyResponse,++ -- ** DeleteAsset+ DeleteAsset (DeleteAsset'),+ newDeleteAsset,+ DeleteAssetResponse (DeleteAssetResponse'),+ newDeleteAssetResponse,++ -- ** DeleteAssetModel+ DeleteAssetModel (DeleteAssetModel'),+ newDeleteAssetModel,+ DeleteAssetModelResponse (DeleteAssetModelResponse'),+ newDeleteAssetModelResponse,++ -- ** DeleteDashboard+ DeleteDashboard (DeleteDashboard'),+ newDeleteDashboard,+ DeleteDashboardResponse (DeleteDashboardResponse'),+ newDeleteDashboardResponse,++ -- ** DeleteGateway+ DeleteGateway (DeleteGateway'),+ newDeleteGateway,+ DeleteGatewayResponse (DeleteGatewayResponse'),+ newDeleteGatewayResponse,++ -- ** DeletePortal+ DeletePortal (DeletePortal'),+ newDeletePortal,+ DeletePortalResponse (DeletePortalResponse'),+ newDeletePortalResponse,++ -- ** DeleteProject+ DeleteProject (DeleteProject'),+ newDeleteProject,+ DeleteProjectResponse (DeleteProjectResponse'),+ newDeleteProjectResponse,++ -- ** DeleteTimeSeries+ DeleteTimeSeries (DeleteTimeSeries'),+ newDeleteTimeSeries,+ DeleteTimeSeriesResponse (DeleteTimeSeriesResponse'),+ newDeleteTimeSeriesResponse,++ -- ** DescribeAccessPolicy+ DescribeAccessPolicy (DescribeAccessPolicy'),+ newDescribeAccessPolicy,+ DescribeAccessPolicyResponse (DescribeAccessPolicyResponse'),+ newDescribeAccessPolicyResponse,++ -- ** DescribeAsset+ DescribeAsset (DescribeAsset'),+ newDescribeAsset,+ DescribeAssetResponse (DescribeAssetResponse'),+ newDescribeAssetResponse,++ -- ** DescribeAssetModel+ DescribeAssetModel (DescribeAssetModel'),+ newDescribeAssetModel,+ DescribeAssetModelResponse (DescribeAssetModelResponse'),+ newDescribeAssetModelResponse,++ -- ** DescribeAssetProperty+ DescribeAssetProperty (DescribeAssetProperty'),+ newDescribeAssetProperty,+ DescribeAssetPropertyResponse (DescribeAssetPropertyResponse'),+ newDescribeAssetPropertyResponse,++ -- ** DescribeBulkImportJob+ DescribeBulkImportJob (DescribeBulkImportJob'),+ newDescribeBulkImportJob,+ DescribeBulkImportJobResponse (DescribeBulkImportJobResponse'),+ newDescribeBulkImportJobResponse,++ -- ** DescribeDashboard+ DescribeDashboard (DescribeDashboard'),+ newDescribeDashboard,+ DescribeDashboardResponse (DescribeDashboardResponse'),+ newDescribeDashboardResponse,++ -- ** DescribeDefaultEncryptionConfiguration+ DescribeDefaultEncryptionConfiguration (DescribeDefaultEncryptionConfiguration'),+ newDescribeDefaultEncryptionConfiguration,+ DescribeDefaultEncryptionConfigurationResponse (DescribeDefaultEncryptionConfigurationResponse'),+ newDescribeDefaultEncryptionConfigurationResponse,++ -- ** DescribeGateway+ DescribeGateway (DescribeGateway'),+ newDescribeGateway,+ DescribeGatewayResponse (DescribeGatewayResponse'),+ newDescribeGatewayResponse,++ -- ** DescribeGatewayCapabilityConfiguration+ DescribeGatewayCapabilityConfiguration (DescribeGatewayCapabilityConfiguration'),+ newDescribeGatewayCapabilityConfiguration,+ DescribeGatewayCapabilityConfigurationResponse (DescribeGatewayCapabilityConfigurationResponse'),+ newDescribeGatewayCapabilityConfigurationResponse,++ -- ** DescribeLoggingOptions+ DescribeLoggingOptions (DescribeLoggingOptions'),+ newDescribeLoggingOptions,+ DescribeLoggingOptionsResponse (DescribeLoggingOptionsResponse'),+ newDescribeLoggingOptionsResponse,++ -- ** DescribePortal+ DescribePortal (DescribePortal'),+ newDescribePortal,+ DescribePortalResponse (DescribePortalResponse'),+ newDescribePortalResponse,++ -- ** DescribeProject+ DescribeProject (DescribeProject'),+ newDescribeProject,+ DescribeProjectResponse (DescribeProjectResponse'),+ newDescribeProjectResponse,++ -- ** DescribeStorageConfiguration+ DescribeStorageConfiguration (DescribeStorageConfiguration'),+ newDescribeStorageConfiguration,+ DescribeStorageConfigurationResponse (DescribeStorageConfigurationResponse'),+ newDescribeStorageConfigurationResponse,++ -- ** DescribeTimeSeries+ DescribeTimeSeries (DescribeTimeSeries'),+ newDescribeTimeSeries,+ DescribeTimeSeriesResponse (DescribeTimeSeriesResponse'),+ newDescribeTimeSeriesResponse,++ -- ** DisassociateAssets+ DisassociateAssets (DisassociateAssets'),+ newDisassociateAssets,+ DisassociateAssetsResponse (DisassociateAssetsResponse'),+ newDisassociateAssetsResponse,++ -- ** DisassociateTimeSeriesFromAssetProperty+ DisassociateTimeSeriesFromAssetProperty (DisassociateTimeSeriesFromAssetProperty'),+ newDisassociateTimeSeriesFromAssetProperty,+ DisassociateTimeSeriesFromAssetPropertyResponse (DisassociateTimeSeriesFromAssetPropertyResponse'),+ newDisassociateTimeSeriesFromAssetPropertyResponse,++ -- ** GetAssetPropertyAggregates (Paginated)+ GetAssetPropertyAggregates (GetAssetPropertyAggregates'),+ newGetAssetPropertyAggregates,+ GetAssetPropertyAggregatesResponse (GetAssetPropertyAggregatesResponse'),+ newGetAssetPropertyAggregatesResponse,++ -- ** GetAssetPropertyValue+ GetAssetPropertyValue (GetAssetPropertyValue'),+ newGetAssetPropertyValue,+ GetAssetPropertyValueResponse (GetAssetPropertyValueResponse'),+ newGetAssetPropertyValueResponse,++ -- ** GetAssetPropertyValueHistory (Paginated)+ GetAssetPropertyValueHistory (GetAssetPropertyValueHistory'),+ newGetAssetPropertyValueHistory,+ GetAssetPropertyValueHistoryResponse (GetAssetPropertyValueHistoryResponse'),+ newGetAssetPropertyValueHistoryResponse,++ -- ** GetInterpolatedAssetPropertyValues (Paginated)+ GetInterpolatedAssetPropertyValues (GetInterpolatedAssetPropertyValues'),+ newGetInterpolatedAssetPropertyValues,+ GetInterpolatedAssetPropertyValuesResponse (GetInterpolatedAssetPropertyValuesResponse'),+ newGetInterpolatedAssetPropertyValuesResponse,++ -- ** ListAccessPolicies (Paginated)+ ListAccessPolicies (ListAccessPolicies'),+ newListAccessPolicies,+ ListAccessPoliciesResponse (ListAccessPoliciesResponse'),+ newListAccessPoliciesResponse,++ -- ** ListAssetModelProperties (Paginated)+ ListAssetModelProperties (ListAssetModelProperties'),+ newListAssetModelProperties,+ ListAssetModelPropertiesResponse (ListAssetModelPropertiesResponse'),+ newListAssetModelPropertiesResponse,++ -- ** ListAssetModels (Paginated)+ ListAssetModels (ListAssetModels'),+ newListAssetModels,+ ListAssetModelsResponse (ListAssetModelsResponse'),+ newListAssetModelsResponse,++ -- ** ListAssetProperties (Paginated)+ ListAssetProperties (ListAssetProperties'),+ newListAssetProperties,+ ListAssetPropertiesResponse (ListAssetPropertiesResponse'),+ newListAssetPropertiesResponse,++ -- ** ListAssetRelationships (Paginated)+ ListAssetRelationships (ListAssetRelationships'),+ newListAssetRelationships,+ ListAssetRelationshipsResponse (ListAssetRelationshipsResponse'),+ newListAssetRelationshipsResponse,++ -- ** ListAssets (Paginated)+ ListAssets (ListAssets'),+ newListAssets,+ ListAssetsResponse (ListAssetsResponse'),+ newListAssetsResponse,++ -- ** ListAssociatedAssets (Paginated)+ ListAssociatedAssets (ListAssociatedAssets'),+ newListAssociatedAssets,+ ListAssociatedAssetsResponse (ListAssociatedAssetsResponse'),+ newListAssociatedAssetsResponse,++ -- ** ListBulkImportJobs (Paginated)+ ListBulkImportJobs (ListBulkImportJobs'),+ newListBulkImportJobs,+ ListBulkImportJobsResponse (ListBulkImportJobsResponse'),+ newListBulkImportJobsResponse,++ -- ** ListDashboards (Paginated)+ ListDashboards (ListDashboards'),+ newListDashboards,+ ListDashboardsResponse (ListDashboardsResponse'),+ newListDashboardsResponse,++ -- ** ListGateways (Paginated)+ ListGateways (ListGateways'),+ newListGateways,+ ListGatewaysResponse (ListGatewaysResponse'),+ newListGatewaysResponse,++ -- ** ListPortals (Paginated)+ ListPortals (ListPortals'),+ newListPortals,+ ListPortalsResponse (ListPortalsResponse'),+ newListPortalsResponse,++ -- ** ListProjectAssets (Paginated)+ ListProjectAssets (ListProjectAssets'),+ newListProjectAssets,+ ListProjectAssetsResponse (ListProjectAssetsResponse'),+ newListProjectAssetsResponse,++ -- ** ListProjects (Paginated)+ ListProjects (ListProjects'),+ newListProjects,+ ListProjectsResponse (ListProjectsResponse'),+ newListProjectsResponse,++ -- ** ListTagsForResource+ ListTagsForResource (ListTagsForResource'),+ newListTagsForResource,+ ListTagsForResourceResponse (ListTagsForResourceResponse'),+ newListTagsForResourceResponse,++ -- ** ListTimeSeries (Paginated)+ ListTimeSeries (ListTimeSeries'),+ newListTimeSeries,+ ListTimeSeriesResponse (ListTimeSeriesResponse'),+ newListTimeSeriesResponse,++ -- ** PutDefaultEncryptionConfiguration+ PutDefaultEncryptionConfiguration (PutDefaultEncryptionConfiguration'),+ newPutDefaultEncryptionConfiguration,+ PutDefaultEncryptionConfigurationResponse (PutDefaultEncryptionConfigurationResponse'),+ newPutDefaultEncryptionConfigurationResponse,++ -- ** PutLoggingOptions+ PutLoggingOptions (PutLoggingOptions'),+ newPutLoggingOptions,+ PutLoggingOptionsResponse (PutLoggingOptionsResponse'),+ newPutLoggingOptionsResponse,++ -- ** PutStorageConfiguration+ PutStorageConfiguration (PutStorageConfiguration'),+ newPutStorageConfiguration,+ PutStorageConfigurationResponse (PutStorageConfigurationResponse'),+ newPutStorageConfigurationResponse,++ -- ** TagResource+ TagResource (TagResource'),+ newTagResource,+ TagResourceResponse (TagResourceResponse'),+ newTagResourceResponse,++ -- ** UntagResource+ UntagResource (UntagResource'),+ newUntagResource,+ UntagResourceResponse (UntagResourceResponse'),+ newUntagResourceResponse,++ -- ** UpdateAccessPolicy+ UpdateAccessPolicy (UpdateAccessPolicy'),+ newUpdateAccessPolicy,+ UpdateAccessPolicyResponse (UpdateAccessPolicyResponse'),+ newUpdateAccessPolicyResponse,++ -- ** UpdateAsset+ UpdateAsset (UpdateAsset'),+ newUpdateAsset,+ UpdateAssetResponse (UpdateAssetResponse'),+ newUpdateAssetResponse,++ -- ** UpdateAssetModel+ UpdateAssetModel (UpdateAssetModel'),+ newUpdateAssetModel,+ UpdateAssetModelResponse (UpdateAssetModelResponse'),+ newUpdateAssetModelResponse,++ -- ** UpdateAssetProperty+ UpdateAssetProperty (UpdateAssetProperty'),+ newUpdateAssetProperty,+ UpdateAssetPropertyResponse (UpdateAssetPropertyResponse'),+ newUpdateAssetPropertyResponse,++ -- ** UpdateDashboard+ UpdateDashboard (UpdateDashboard'),+ newUpdateDashboard,+ UpdateDashboardResponse (UpdateDashboardResponse'),+ newUpdateDashboardResponse,++ -- ** UpdateGateway+ UpdateGateway (UpdateGateway'),+ newUpdateGateway,+ UpdateGatewayResponse (UpdateGatewayResponse'),+ newUpdateGatewayResponse,++ -- ** UpdateGatewayCapabilityConfiguration+ UpdateGatewayCapabilityConfiguration (UpdateGatewayCapabilityConfiguration'),+ newUpdateGatewayCapabilityConfiguration,+ UpdateGatewayCapabilityConfigurationResponse (UpdateGatewayCapabilityConfigurationResponse'),+ newUpdateGatewayCapabilityConfigurationResponse,++ -- ** UpdatePortal+ UpdatePortal (UpdatePortal'),+ newUpdatePortal,+ UpdatePortalResponse (UpdatePortalResponse'),+ newUpdatePortalResponse,++ -- ** UpdateProject+ UpdateProject (UpdateProject'),+ newUpdateProject,+ UpdateProjectResponse (UpdateProjectResponse'),+ newUpdateProjectResponse,++ -- * Types++ -- ** AggregateType+ AggregateType (..),++ -- ** AssetErrorCode+ AssetErrorCode (..),++ -- ** AssetModelState+ AssetModelState (..),++ -- ** AssetRelationshipType+ AssetRelationshipType (..),++ -- ** AssetState+ AssetState (..),++ -- ** AuthMode+ AuthMode (..),++ -- ** BatchEntryCompletionStatus+ BatchEntryCompletionStatus (..),++ -- ** BatchGetAssetPropertyAggregatesErrorCode+ BatchGetAssetPropertyAggregatesErrorCode (..),++ -- ** BatchGetAssetPropertyValueErrorCode+ BatchGetAssetPropertyValueErrorCode (..),++ -- ** BatchGetAssetPropertyValueHistoryErrorCode+ BatchGetAssetPropertyValueHistoryErrorCode (..),++ -- ** BatchPutAssetPropertyValueErrorCode+ BatchPutAssetPropertyValueErrorCode (..),++ -- ** CapabilitySyncStatus+ CapabilitySyncStatus (..),++ -- ** ColumnName+ ColumnName (..),++ -- ** ComputeLocation+ ComputeLocation (..),++ -- ** ConfigurationState+ ConfigurationState (..),++ -- ** DetailedErrorCode+ DetailedErrorCode (..),++ -- ** DisassociatedDataStorageState+ DisassociatedDataStorageState (..),++ -- ** EncryptionType+ EncryptionType (..),++ -- ** ErrorCode+ ErrorCode (..),++ -- ** ForwardingConfigState+ ForwardingConfigState (..),++ -- ** IdentityType+ IdentityType (..),++ -- ** ImageFileType+ ImageFileType (..),++ -- ** JobStatus+ JobStatus (..),++ -- ** ListAssetModelPropertiesFilter+ ListAssetModelPropertiesFilter (..),++ -- ** ListAssetPropertiesFilter+ ListAssetPropertiesFilter (..),++ -- ** ListAssetsFilter+ ListAssetsFilter (..),++ -- ** ListBulkImportJobsFilter+ ListBulkImportJobsFilter (..),++ -- ** ListTimeSeriesType+ ListTimeSeriesType (..),++ -- ** LoggingLevel+ LoggingLevel (..),++ -- ** MonitorErrorCode+ MonitorErrorCode (..),++ -- ** Permission+ Permission (..),++ -- ** PortalState+ PortalState (..),++ -- ** PropertyDataType+ PropertyDataType (..),++ -- ** PropertyNotificationState+ PropertyNotificationState (..),++ -- ** Quality+ Quality (..),++ -- ** ResourceType+ ResourceType (..),++ -- ** StorageType+ StorageType (..),++ -- ** TimeOrdering+ TimeOrdering (..),++ -- ** TraversalDirection+ TraversalDirection (..),++ -- ** TraversalType+ TraversalType (..),++ -- ** AccessPolicySummary+ AccessPolicySummary (AccessPolicySummary'),+ newAccessPolicySummary,++ -- ** AggregatedValue+ AggregatedValue (AggregatedValue'),+ newAggregatedValue,++ -- ** Aggregates+ Aggregates (Aggregates'),+ newAggregates,++ -- ** Alarms+ Alarms (Alarms'),+ newAlarms,++ -- ** AssetCompositeModel+ AssetCompositeModel (AssetCompositeModel'),+ newAssetCompositeModel,++ -- ** AssetErrorDetails+ AssetErrorDetails (AssetErrorDetails'),+ newAssetErrorDetails,++ -- ** AssetHierarchy+ AssetHierarchy (AssetHierarchy'),+ newAssetHierarchy,++ -- ** AssetHierarchyInfo+ AssetHierarchyInfo (AssetHierarchyInfo'),+ newAssetHierarchyInfo,++ -- ** AssetModelCompositeModel+ AssetModelCompositeModel (AssetModelCompositeModel'),+ newAssetModelCompositeModel,++ -- ** AssetModelCompositeModelDefinition+ AssetModelCompositeModelDefinition (AssetModelCompositeModelDefinition'),+ newAssetModelCompositeModelDefinition,++ -- ** AssetModelHierarchy+ AssetModelHierarchy (AssetModelHierarchy'),+ newAssetModelHierarchy,++ -- ** AssetModelHierarchyDefinition+ AssetModelHierarchyDefinition (AssetModelHierarchyDefinition'),+ newAssetModelHierarchyDefinition,++ -- ** AssetModelProperty+ AssetModelProperty (AssetModelProperty'),+ newAssetModelProperty,++ -- ** AssetModelPropertyDefinition+ AssetModelPropertyDefinition (AssetModelPropertyDefinition'),+ newAssetModelPropertyDefinition,++ -- ** AssetModelPropertySummary+ AssetModelPropertySummary (AssetModelPropertySummary'),+ newAssetModelPropertySummary,++ -- ** AssetModelStatus+ AssetModelStatus (AssetModelStatus'),+ newAssetModelStatus,++ -- ** AssetModelSummary+ AssetModelSummary (AssetModelSummary'),+ newAssetModelSummary,++ -- ** AssetProperty+ AssetProperty (AssetProperty'),+ newAssetProperty,++ -- ** AssetPropertySummary+ AssetPropertySummary (AssetPropertySummary'),+ newAssetPropertySummary,++ -- ** AssetPropertyValue+ AssetPropertyValue (AssetPropertyValue'),+ newAssetPropertyValue,++ -- ** AssetRelationshipSummary+ AssetRelationshipSummary (AssetRelationshipSummary'),+ newAssetRelationshipSummary,++ -- ** AssetStatus+ AssetStatus (AssetStatus'),+ newAssetStatus,++ -- ** AssetSummary+ AssetSummary (AssetSummary'),+ newAssetSummary,++ -- ** AssociatedAssetsSummary+ AssociatedAssetsSummary (AssociatedAssetsSummary'),+ newAssociatedAssetsSummary,++ -- ** Attribute+ Attribute (Attribute'),+ newAttribute,++ -- ** BatchGetAssetPropertyAggregatesEntry+ BatchGetAssetPropertyAggregatesEntry (BatchGetAssetPropertyAggregatesEntry'),+ newBatchGetAssetPropertyAggregatesEntry,++ -- ** BatchGetAssetPropertyAggregatesErrorEntry+ BatchGetAssetPropertyAggregatesErrorEntry (BatchGetAssetPropertyAggregatesErrorEntry'),+ newBatchGetAssetPropertyAggregatesErrorEntry,++ -- ** BatchGetAssetPropertyAggregatesErrorInfo+ BatchGetAssetPropertyAggregatesErrorInfo (BatchGetAssetPropertyAggregatesErrorInfo'),+ newBatchGetAssetPropertyAggregatesErrorInfo,++ -- ** BatchGetAssetPropertyAggregatesSkippedEntry+ BatchGetAssetPropertyAggregatesSkippedEntry (BatchGetAssetPropertyAggregatesSkippedEntry'),+ newBatchGetAssetPropertyAggregatesSkippedEntry,++ -- ** BatchGetAssetPropertyAggregatesSuccessEntry+ BatchGetAssetPropertyAggregatesSuccessEntry (BatchGetAssetPropertyAggregatesSuccessEntry'),+ newBatchGetAssetPropertyAggregatesSuccessEntry,++ -- ** BatchGetAssetPropertyValueEntry+ BatchGetAssetPropertyValueEntry (BatchGetAssetPropertyValueEntry'),+ newBatchGetAssetPropertyValueEntry,++ -- ** BatchGetAssetPropertyValueErrorEntry+ BatchGetAssetPropertyValueErrorEntry (BatchGetAssetPropertyValueErrorEntry'),+ newBatchGetAssetPropertyValueErrorEntry,++ -- ** BatchGetAssetPropertyValueErrorInfo+ BatchGetAssetPropertyValueErrorInfo (BatchGetAssetPropertyValueErrorInfo'),+ newBatchGetAssetPropertyValueErrorInfo,++ -- ** BatchGetAssetPropertyValueHistoryEntry+ BatchGetAssetPropertyValueHistoryEntry (BatchGetAssetPropertyValueHistoryEntry'),+ newBatchGetAssetPropertyValueHistoryEntry,++ -- ** BatchGetAssetPropertyValueHistoryErrorEntry+ BatchGetAssetPropertyValueHistoryErrorEntry (BatchGetAssetPropertyValueHistoryErrorEntry'),+ newBatchGetAssetPropertyValueHistoryErrorEntry,++ -- ** BatchGetAssetPropertyValueHistoryErrorInfo+ BatchGetAssetPropertyValueHistoryErrorInfo (BatchGetAssetPropertyValueHistoryErrorInfo'),+ newBatchGetAssetPropertyValueHistoryErrorInfo,++ -- ** BatchGetAssetPropertyValueHistorySkippedEntry+ BatchGetAssetPropertyValueHistorySkippedEntry (BatchGetAssetPropertyValueHistorySkippedEntry'),+ newBatchGetAssetPropertyValueHistorySkippedEntry,++ -- ** BatchGetAssetPropertyValueHistorySuccessEntry+ BatchGetAssetPropertyValueHistorySuccessEntry (BatchGetAssetPropertyValueHistorySuccessEntry'),+ newBatchGetAssetPropertyValueHistorySuccessEntry,++ -- ** BatchGetAssetPropertyValueSkippedEntry+ BatchGetAssetPropertyValueSkippedEntry (BatchGetAssetPropertyValueSkippedEntry'),+ newBatchGetAssetPropertyValueSkippedEntry,++ -- ** BatchGetAssetPropertyValueSuccessEntry+ BatchGetAssetPropertyValueSuccessEntry (BatchGetAssetPropertyValueSuccessEntry'),+ newBatchGetAssetPropertyValueSuccessEntry,++ -- ** BatchPutAssetPropertyError+ BatchPutAssetPropertyError (BatchPutAssetPropertyError'),+ newBatchPutAssetPropertyError,++ -- ** BatchPutAssetPropertyErrorEntry+ BatchPutAssetPropertyErrorEntry (BatchPutAssetPropertyErrorEntry'),+ newBatchPutAssetPropertyErrorEntry,++ -- ** CompositeModelProperty+ CompositeModelProperty (CompositeModelProperty'),+ newCompositeModelProperty,++ -- ** ConfigurationErrorDetails+ ConfigurationErrorDetails (ConfigurationErrorDetails'),+ newConfigurationErrorDetails,++ -- ** ConfigurationStatus+ ConfigurationStatus (ConfigurationStatus'),+ newConfigurationStatus,++ -- ** Csv+ Csv (Csv'),+ newCsv,++ -- ** CustomerManagedS3Storage+ CustomerManagedS3Storage (CustomerManagedS3Storage'),+ newCustomerManagedS3Storage,++ -- ** DashboardSummary+ DashboardSummary (DashboardSummary'),+ newDashboardSummary,++ -- ** DetailedError+ DetailedError (DetailedError'),+ newDetailedError,++ -- ** ErrorDetails+ ErrorDetails (ErrorDetails'),+ newErrorDetails,++ -- ** ErrorReportLocation+ ErrorReportLocation (ErrorReportLocation'),+ newErrorReportLocation,++ -- ** ExpressionVariable+ ExpressionVariable (ExpressionVariable'),+ newExpressionVariable,++ -- ** File+ File (File'),+ newFile,++ -- ** FileFormat+ FileFormat (FileFormat'),+ newFileFormat,++ -- ** ForwardingConfig+ ForwardingConfig (ForwardingConfig'),+ newForwardingConfig,++ -- ** GatewayCapabilitySummary+ GatewayCapabilitySummary (GatewayCapabilitySummary'),+ newGatewayCapabilitySummary,++ -- ** GatewayPlatform+ GatewayPlatform (GatewayPlatform'),+ newGatewayPlatform,++ -- ** GatewaySummary+ GatewaySummary (GatewaySummary'),+ newGatewaySummary,++ -- ** Greengrass+ Greengrass (Greengrass'),+ newGreengrass,++ -- ** GreengrassV2+ GreengrassV2 (GreengrassV2'),+ newGreengrassV2,++ -- ** GroupIdentity+ GroupIdentity (GroupIdentity'),+ newGroupIdentity,++ -- ** IAMRoleIdentity+ IAMRoleIdentity (IAMRoleIdentity'),+ newIAMRoleIdentity,++ -- ** IAMUserIdentity+ IAMUserIdentity (IAMUserIdentity'),+ newIAMUserIdentity,++ -- ** Identity+ Identity (Identity'),+ newIdentity,++ -- ** Image+ Image (Image'),+ newImage,++ -- ** ImageFile+ ImageFile (ImageFile'),+ newImageFile,++ -- ** ImageLocation+ ImageLocation (ImageLocation'),+ newImageLocation,++ -- ** InterpolatedAssetPropertyValue+ InterpolatedAssetPropertyValue (InterpolatedAssetPropertyValue'),+ newInterpolatedAssetPropertyValue,++ -- ** JobConfiguration+ JobConfiguration (JobConfiguration'),+ newJobConfiguration,++ -- ** JobSummary+ JobSummary (JobSummary'),+ newJobSummary,++ -- ** LoggingOptions+ LoggingOptions (LoggingOptions'),+ newLoggingOptions,++ -- ** Measurement+ Measurement (Measurement'),+ newMeasurement,++ -- ** MeasurementProcessingConfig+ MeasurementProcessingConfig (MeasurementProcessingConfig'),+ newMeasurementProcessingConfig,++ -- ** Metric+ Metric (Metric'),+ newMetric,++ -- ** MetricProcessingConfig+ MetricProcessingConfig (MetricProcessingConfig'),+ newMetricProcessingConfig,++ -- ** MetricWindow+ MetricWindow (MetricWindow'),+ newMetricWindow,++ -- ** MonitorErrorDetails+ MonitorErrorDetails (MonitorErrorDetails'),+ newMonitorErrorDetails,++ -- ** MultiLayerStorage+ MultiLayerStorage (MultiLayerStorage'),+ newMultiLayerStorage,++ -- ** PortalResource+ PortalResource (PortalResource'),+ newPortalResource,++ -- ** PortalStatus+ PortalStatus (PortalStatus'),+ newPortalStatus,++ -- ** PortalSummary+ PortalSummary (PortalSummary'),+ newPortalSummary,++ -- ** ProjectResource+ ProjectResource (ProjectResource'),+ newProjectResource,++ -- ** ProjectSummary+ ProjectSummary (ProjectSummary'),+ newProjectSummary,++ -- ** Property+ Property (Property'),+ newProperty,++ -- ** PropertyNotification+ PropertyNotification (PropertyNotification'),+ newPropertyNotification,++ -- ** PropertyType+ PropertyType (PropertyType'),+ newPropertyType,++ -- ** PutAssetPropertyValueEntry+ PutAssetPropertyValueEntry (PutAssetPropertyValueEntry'),+ newPutAssetPropertyValueEntry,++ -- ** Resource+ Resource (Resource'),+ newResource,++ -- ** RetentionPeriod+ RetentionPeriod (RetentionPeriod'),+ newRetentionPeriod,++ -- ** TimeInNanos+ TimeInNanos (TimeInNanos'),+ newTimeInNanos,++ -- ** TimeSeriesSummary+ TimeSeriesSummary (TimeSeriesSummary'),+ newTimeSeriesSummary,++ -- ** Transform+ Transform (Transform'),+ newTransform,++ -- ** TransformProcessingConfig+ TransformProcessingConfig (TransformProcessingConfig'),+ newTransformProcessingConfig,++ -- ** TumblingWindow+ TumblingWindow (TumblingWindow'),+ newTumblingWindow,++ -- ** UserIdentity+ UserIdentity (UserIdentity'),+ newUserIdentity,++ -- ** VariableValue+ VariableValue (VariableValue'),+ newVariableValue,++ -- ** Variant+ Variant (Variant'),+ newVariant,+ )+where++import Amazonka.IoTSiteWise.AssociateAssets+import Amazonka.IoTSiteWise.AssociateTimeSeriesToAssetProperty+import Amazonka.IoTSiteWise.BatchAssociateProjectAssets+import Amazonka.IoTSiteWise.BatchDisassociateProjectAssets+import Amazonka.IoTSiteWise.BatchGetAssetPropertyAggregates+import Amazonka.IoTSiteWise.BatchGetAssetPropertyValue+import Amazonka.IoTSiteWise.BatchGetAssetPropertyValueHistory+import Amazonka.IoTSiteWise.BatchPutAssetPropertyValue+import Amazonka.IoTSiteWise.CreateAccessPolicy+import Amazonka.IoTSiteWise.CreateAsset+import Amazonka.IoTSiteWise.CreateAssetModel+import Amazonka.IoTSiteWise.CreateBulkImportJob+import Amazonka.IoTSiteWise.CreateDashboard+import Amazonka.IoTSiteWise.CreateGateway+import Amazonka.IoTSiteWise.CreatePortal+import Amazonka.IoTSiteWise.CreateProject+import Amazonka.IoTSiteWise.DeleteAccessPolicy+import Amazonka.IoTSiteWise.DeleteAsset+import Amazonka.IoTSiteWise.DeleteAssetModel+import Amazonka.IoTSiteWise.DeleteDashboard+import Amazonka.IoTSiteWise.DeleteGateway+import Amazonka.IoTSiteWise.DeletePortal+import Amazonka.IoTSiteWise.DeleteProject+import Amazonka.IoTSiteWise.DeleteTimeSeries+import Amazonka.IoTSiteWise.DescribeAccessPolicy+import Amazonka.IoTSiteWise.DescribeAsset+import Amazonka.IoTSiteWise.DescribeAssetModel+import Amazonka.IoTSiteWise.DescribeAssetProperty+import Amazonka.IoTSiteWise.DescribeBulkImportJob+import Amazonka.IoTSiteWise.DescribeDashboard+import Amazonka.IoTSiteWise.DescribeDefaultEncryptionConfiguration+import Amazonka.IoTSiteWise.DescribeGateway+import Amazonka.IoTSiteWise.DescribeGatewayCapabilityConfiguration+import Amazonka.IoTSiteWise.DescribeLoggingOptions+import Amazonka.IoTSiteWise.DescribePortal+import Amazonka.IoTSiteWise.DescribeProject+import Amazonka.IoTSiteWise.DescribeStorageConfiguration+import Amazonka.IoTSiteWise.DescribeTimeSeries+import Amazonka.IoTSiteWise.DisassociateAssets+import Amazonka.IoTSiteWise.DisassociateTimeSeriesFromAssetProperty+import Amazonka.IoTSiteWise.GetAssetPropertyAggregates+import Amazonka.IoTSiteWise.GetAssetPropertyValue+import Amazonka.IoTSiteWise.GetAssetPropertyValueHistory+import Amazonka.IoTSiteWise.GetInterpolatedAssetPropertyValues+import Amazonka.IoTSiteWise.Lens+import Amazonka.IoTSiteWise.ListAccessPolicies+import Amazonka.IoTSiteWise.ListAssetModelProperties+import Amazonka.IoTSiteWise.ListAssetModels+import Amazonka.IoTSiteWise.ListAssetProperties+import Amazonka.IoTSiteWise.ListAssetRelationships+import Amazonka.IoTSiteWise.ListAssets+import Amazonka.IoTSiteWise.ListAssociatedAssets+import Amazonka.IoTSiteWise.ListBulkImportJobs+import Amazonka.IoTSiteWise.ListDashboards+import Amazonka.IoTSiteWise.ListGateways+import Amazonka.IoTSiteWise.ListPortals+import Amazonka.IoTSiteWise.ListProjectAssets+import Amazonka.IoTSiteWise.ListProjects+import Amazonka.IoTSiteWise.ListTagsForResource+import Amazonka.IoTSiteWise.ListTimeSeries+import Amazonka.IoTSiteWise.PutDefaultEncryptionConfiguration+import Amazonka.IoTSiteWise.PutLoggingOptions+import Amazonka.IoTSiteWise.PutStorageConfiguration+import Amazonka.IoTSiteWise.TagResource+import Amazonka.IoTSiteWise.Types+import Amazonka.IoTSiteWise.UntagResource+import Amazonka.IoTSiteWise.UpdateAccessPolicy+import Amazonka.IoTSiteWise.UpdateAsset+import Amazonka.IoTSiteWise.UpdateAssetModel+import Amazonka.IoTSiteWise.UpdateAssetProperty+import Amazonka.IoTSiteWise.UpdateDashboard+import Amazonka.IoTSiteWise.UpdateGateway+import Amazonka.IoTSiteWise.UpdateGatewayCapabilityConfiguration+import Amazonka.IoTSiteWise.UpdatePortal+import Amazonka.IoTSiteWise.UpdateProject+import Amazonka.IoTSiteWise.Waiters++-- $errors+-- Error matchers are designed for use with the functions provided by+-- <http://hackage.haskell.org/package/lens/docs/Control-Exception-Lens.html Control.Exception.Lens>.+-- This allows catching (and rethrowing) service specific errors returned+-- by 'IoTSiteWise'.++-- $operations+-- Some AWS operations return results that are incomplete and require subsequent+-- requests in order to obtain the entire result set. The process of sending+-- subsequent requests to continue where a previous request left off is called+-- pagination. For example, the 'ListObjects' operation of Amazon S3 returns up to+-- 1000 objects at a time, and you must send subsequent requests with the+-- appropriate Marker in order to retrieve the next page of results.+--+-- Operations that have an 'AWSPager' instance can transparently perform subsequent+-- requests, correctly setting Markers and other request facets to iterate through+-- the entire result set of a truncated API operation. Operations which support+-- this have an additional note in the documentation.+--+-- Many operations have the ability to filter results on the server side. See the+-- individual operation parameters for details.++-- $waiters+-- Waiters poll by repeatedly sending a request until some remote success condition+-- configured by the 'Wait' specification is fulfilled. The 'Wait' specification+-- determines how many attempts should be made, in addition to delay and retry strategies.
+ gen/Amazonka/IoTSiteWise/AssociateAssets.hs view
@@ -0,0 +1,201 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.AssociateAssets+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Associates a child asset with the given parent asset through a hierarchy+-- defined in the parent asset\'s model. For more information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/add-associated-assets.html Associating assets>+-- in the /IoT SiteWise User Guide/.+module Amazonka.IoTSiteWise.AssociateAssets+ ( -- * Creating a Request+ AssociateAssets (..),+ newAssociateAssets,++ -- * Request Lenses+ associateAssets_clientToken,+ associateAssets_assetId,+ associateAssets_hierarchyId,+ associateAssets_childAssetId,++ -- * Destructuring the Response+ AssociateAssetsResponse (..),+ newAssociateAssetsResponse,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newAssociateAssets' smart constructor.+data AssociateAssets = AssociateAssets'+ { -- | 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.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The ID of the parent asset.+ assetId :: Prelude.Text,+ -- | 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+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html Asset hierarchies>+ -- in the /IoT SiteWise User Guide/.+ hierarchyId :: Prelude.Text,+ -- | The ID of the child asset to be associated.+ childAssetId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateAssets' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'associateAssets_clientToken' - A unique case-sensitive identifier that you can provide to ensure the+-- idempotency of the request. Don\'t reuse this client token if a new+-- idempotent request is required.+--+-- 'assetId', 'associateAssets_assetId' - The ID of the parent asset.+--+-- 'hierarchyId', 'associateAssets_hierarchyId' - 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html Asset hierarchies>+-- in the /IoT SiteWise User Guide/.+--+-- 'childAssetId', 'associateAssets_childAssetId' - The ID of the child asset to be associated.+newAssociateAssets ::+ -- | 'assetId'+ Prelude.Text ->+ -- | 'hierarchyId'+ Prelude.Text ->+ -- | 'childAssetId'+ Prelude.Text ->+ AssociateAssets+newAssociateAssets+ pAssetId_+ pHierarchyId_+ pChildAssetId_ =+ AssociateAssets'+ { clientToken = Prelude.Nothing,+ assetId = pAssetId_,+ hierarchyId = pHierarchyId_,+ childAssetId = pChildAssetId_+ }++-- | 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.+associateAssets_clientToken :: Lens.Lens' AssociateAssets (Prelude.Maybe Prelude.Text)+associateAssets_clientToken = Lens.lens (\AssociateAssets' {clientToken} -> clientToken) (\s@AssociateAssets' {} a -> s {clientToken = a} :: AssociateAssets)++-- | The ID of the parent asset.+associateAssets_assetId :: Lens.Lens' AssociateAssets Prelude.Text+associateAssets_assetId = Lens.lens (\AssociateAssets' {assetId} -> assetId) (\s@AssociateAssets' {} a -> s {assetId = a} :: AssociateAssets)++-- | 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html Asset hierarchies>+-- in the /IoT SiteWise User Guide/.+associateAssets_hierarchyId :: Lens.Lens' AssociateAssets Prelude.Text+associateAssets_hierarchyId = Lens.lens (\AssociateAssets' {hierarchyId} -> hierarchyId) (\s@AssociateAssets' {} a -> s {hierarchyId = a} :: AssociateAssets)++-- | The ID of the child asset to be associated.+associateAssets_childAssetId :: Lens.Lens' AssociateAssets Prelude.Text+associateAssets_childAssetId = Lens.lens (\AssociateAssets' {childAssetId} -> childAssetId) (\s@AssociateAssets' {} a -> s {childAssetId = a} :: AssociateAssets)++instance Core.AWSRequest AssociateAssets where+ type+ AWSResponse AssociateAssets =+ AssociateAssetsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveNull AssociateAssetsResponse'++instance Prelude.Hashable AssociateAssets where+ hashWithSalt _salt AssociateAssets' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` assetId+ `Prelude.hashWithSalt` hierarchyId+ `Prelude.hashWithSalt` childAssetId++instance Prelude.NFData AssociateAssets where+ rnf AssociateAssets' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf assetId+ `Prelude.seq` Prelude.rnf hierarchyId+ `Prelude.seq` Prelude.rnf childAssetId++instance Data.ToHeaders AssociateAssets where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON AssociateAssets where+ toJSON AssociateAssets' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("clientToken" Data..=) Prelude.<$> clientToken,+ Prelude.Just ("hierarchyId" Data..= hierarchyId),+ Prelude.Just ("childAssetId" Data..= childAssetId)+ ]+ )++instance Data.ToPath AssociateAssets where+ toPath AssociateAssets' {..} =+ Prelude.mconcat+ ["/assets/", Data.toBS assetId, "/associate"]++instance Data.ToQuery AssociateAssets where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newAssociateAssetsResponse' smart constructor.+data AssociateAssetsResponse = AssociateAssetsResponse'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateAssetsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newAssociateAssetsResponse ::+ AssociateAssetsResponse+newAssociateAssetsResponse = AssociateAssetsResponse'++instance Prelude.NFData AssociateAssetsResponse where+ rnf _ = ()
+ gen/Amazonka/IoTSiteWise/AssociateTimeSeriesToAssetProperty.hs view
@@ -0,0 +1,215 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.AssociateTimeSeriesToAssetProperty+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Associates a time series (data stream) with an asset property.+module Amazonka.IoTSiteWise.AssociateTimeSeriesToAssetProperty+ ( -- * Creating a Request+ AssociateTimeSeriesToAssetProperty (..),+ newAssociateTimeSeriesToAssetProperty,++ -- * Request Lenses+ associateTimeSeriesToAssetProperty_clientToken,+ associateTimeSeriesToAssetProperty_alias,+ associateTimeSeriesToAssetProperty_assetId,+ associateTimeSeriesToAssetProperty_propertyId,++ -- * Destructuring the Response+ AssociateTimeSeriesToAssetPropertyResponse (..),+ newAssociateTimeSeriesToAssetPropertyResponse,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newAssociateTimeSeriesToAssetProperty' smart constructor.+data AssociateTimeSeriesToAssetProperty = AssociateTimeSeriesToAssetProperty'+ { -- | 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.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The alias that identifies the time series.+ alias :: Prelude.Text,+ -- | The ID of the asset in which the asset property was created.+ assetId :: Prelude.Text,+ -- | The ID of the asset property.+ propertyId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateTimeSeriesToAssetProperty' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'associateTimeSeriesToAssetProperty_clientToken' - A unique case-sensitive identifier that you can provide to ensure the+-- idempotency of the request. Don\'t reuse this client token if a new+-- idempotent request is required.+--+-- 'alias', 'associateTimeSeriesToAssetProperty_alias' - The alias that identifies the time series.+--+-- 'assetId', 'associateTimeSeriesToAssetProperty_assetId' - The ID of the asset in which the asset property was created.+--+-- 'propertyId', 'associateTimeSeriesToAssetProperty_propertyId' - The ID of the asset property.+newAssociateTimeSeriesToAssetProperty ::+ -- | 'alias'+ Prelude.Text ->+ -- | 'assetId'+ Prelude.Text ->+ -- | 'propertyId'+ Prelude.Text ->+ AssociateTimeSeriesToAssetProperty+newAssociateTimeSeriesToAssetProperty+ pAlias_+ pAssetId_+ pPropertyId_ =+ AssociateTimeSeriesToAssetProperty'+ { clientToken =+ Prelude.Nothing,+ alias = pAlias_,+ assetId = pAssetId_,+ propertyId = pPropertyId_+ }++-- | 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.+associateTimeSeriesToAssetProperty_clientToken :: Lens.Lens' AssociateTimeSeriesToAssetProperty (Prelude.Maybe Prelude.Text)+associateTimeSeriesToAssetProperty_clientToken = Lens.lens (\AssociateTimeSeriesToAssetProperty' {clientToken} -> clientToken) (\s@AssociateTimeSeriesToAssetProperty' {} a -> s {clientToken = a} :: AssociateTimeSeriesToAssetProperty)++-- | The alias that identifies the time series.+associateTimeSeriesToAssetProperty_alias :: Lens.Lens' AssociateTimeSeriesToAssetProperty Prelude.Text+associateTimeSeriesToAssetProperty_alias = Lens.lens (\AssociateTimeSeriesToAssetProperty' {alias} -> alias) (\s@AssociateTimeSeriesToAssetProperty' {} a -> s {alias = a} :: AssociateTimeSeriesToAssetProperty)++-- | The ID of the asset in which the asset property was created.+associateTimeSeriesToAssetProperty_assetId :: Lens.Lens' AssociateTimeSeriesToAssetProperty Prelude.Text+associateTimeSeriesToAssetProperty_assetId = Lens.lens (\AssociateTimeSeriesToAssetProperty' {assetId} -> assetId) (\s@AssociateTimeSeriesToAssetProperty' {} a -> s {assetId = a} :: AssociateTimeSeriesToAssetProperty)++-- | The ID of the asset property.+associateTimeSeriesToAssetProperty_propertyId :: Lens.Lens' AssociateTimeSeriesToAssetProperty Prelude.Text+associateTimeSeriesToAssetProperty_propertyId = Lens.lens (\AssociateTimeSeriesToAssetProperty' {propertyId} -> propertyId) (\s@AssociateTimeSeriesToAssetProperty' {} a -> s {propertyId = a} :: AssociateTimeSeriesToAssetProperty)++instance+ Core.AWSRequest+ AssociateTimeSeriesToAssetProperty+ where+ type+ AWSResponse AssociateTimeSeriesToAssetProperty =+ AssociateTimeSeriesToAssetPropertyResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveNull+ AssociateTimeSeriesToAssetPropertyResponse'++instance+ Prelude.Hashable+ AssociateTimeSeriesToAssetProperty+ where+ hashWithSalt+ _salt+ AssociateTimeSeriesToAssetProperty' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` alias+ `Prelude.hashWithSalt` assetId+ `Prelude.hashWithSalt` propertyId++instance+ Prelude.NFData+ AssociateTimeSeriesToAssetProperty+ where+ rnf AssociateTimeSeriesToAssetProperty' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf alias+ `Prelude.seq` Prelude.rnf assetId+ `Prelude.seq` Prelude.rnf propertyId++instance+ Data.ToHeaders+ AssociateTimeSeriesToAssetProperty+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToJSON+ AssociateTimeSeriesToAssetProperty+ where+ toJSON AssociateTimeSeriesToAssetProperty' {..} =+ Data.object+ ( Prelude.catMaybes+ [("clientToken" Data..=) Prelude.<$> clientToken]+ )++instance+ Data.ToPath+ AssociateTimeSeriesToAssetProperty+ where+ toPath = Prelude.const "/timeseries/associate/"++instance+ Data.ToQuery+ AssociateTimeSeriesToAssetProperty+ where+ toQuery AssociateTimeSeriesToAssetProperty' {..} =+ Prelude.mconcat+ [ "alias" Data.=: alias,+ "assetId" Data.=: assetId,+ "propertyId" Data.=: propertyId+ ]++-- | /See:/ 'newAssociateTimeSeriesToAssetPropertyResponse' smart constructor.+data AssociateTimeSeriesToAssetPropertyResponse = AssociateTimeSeriesToAssetPropertyResponse'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateTimeSeriesToAssetPropertyResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newAssociateTimeSeriesToAssetPropertyResponse ::+ AssociateTimeSeriesToAssetPropertyResponse+newAssociateTimeSeriesToAssetPropertyResponse =+ AssociateTimeSeriesToAssetPropertyResponse'++instance+ Prelude.NFData+ AssociateTimeSeriesToAssetPropertyResponse+ where+ rnf _ = ()
+ gen/Amazonka/IoTSiteWise/BatchAssociateProjectAssets.hs view
@@ -0,0 +1,212 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.BatchAssociateProjectAssets+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Associates a group (batch) of assets with an IoT SiteWise Monitor+-- project.+module Amazonka.IoTSiteWise.BatchAssociateProjectAssets+ ( -- * Creating a Request+ BatchAssociateProjectAssets (..),+ newBatchAssociateProjectAssets,++ -- * Request Lenses+ batchAssociateProjectAssets_clientToken,+ batchAssociateProjectAssets_projectId,+ batchAssociateProjectAssets_assetIds,++ -- * Destructuring the Response+ BatchAssociateProjectAssetsResponse (..),+ newBatchAssociateProjectAssetsResponse,++ -- * Response Lenses+ batchAssociateProjectAssetsResponse_errors,+ batchAssociateProjectAssetsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newBatchAssociateProjectAssets' smart constructor.+data BatchAssociateProjectAssets = BatchAssociateProjectAssets'+ { -- | 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.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The ID of the project to which to associate the assets.+ projectId :: Prelude.Text,+ -- | The IDs of the assets to be associated to the project.+ assetIds :: Prelude.NonEmpty Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchAssociateProjectAssets' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'batchAssociateProjectAssets_clientToken' - A unique case-sensitive identifier that you can provide to ensure the+-- idempotency of the request. Don\'t reuse this client token if a new+-- idempotent request is required.+--+-- 'projectId', 'batchAssociateProjectAssets_projectId' - The ID of the project to which to associate the assets.+--+-- 'assetIds', 'batchAssociateProjectAssets_assetIds' - The IDs of the assets to be associated to the project.+newBatchAssociateProjectAssets ::+ -- | 'projectId'+ Prelude.Text ->+ -- | 'assetIds'+ Prelude.NonEmpty Prelude.Text ->+ BatchAssociateProjectAssets+newBatchAssociateProjectAssets pProjectId_ pAssetIds_ =+ BatchAssociateProjectAssets'+ { clientToken =+ Prelude.Nothing,+ projectId = pProjectId_,+ assetIds = Lens.coerced Lens.# pAssetIds_+ }++-- | 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.+batchAssociateProjectAssets_clientToken :: Lens.Lens' BatchAssociateProjectAssets (Prelude.Maybe Prelude.Text)+batchAssociateProjectAssets_clientToken = Lens.lens (\BatchAssociateProjectAssets' {clientToken} -> clientToken) (\s@BatchAssociateProjectAssets' {} a -> s {clientToken = a} :: BatchAssociateProjectAssets)++-- | The ID of the project to which to associate the assets.+batchAssociateProjectAssets_projectId :: Lens.Lens' BatchAssociateProjectAssets Prelude.Text+batchAssociateProjectAssets_projectId = Lens.lens (\BatchAssociateProjectAssets' {projectId} -> projectId) (\s@BatchAssociateProjectAssets' {} a -> s {projectId = a} :: BatchAssociateProjectAssets)++-- | The IDs of the assets to be associated to the project.+batchAssociateProjectAssets_assetIds :: Lens.Lens' BatchAssociateProjectAssets (Prelude.NonEmpty Prelude.Text)+batchAssociateProjectAssets_assetIds = Lens.lens (\BatchAssociateProjectAssets' {assetIds} -> assetIds) (\s@BatchAssociateProjectAssets' {} a -> s {assetIds = a} :: BatchAssociateProjectAssets) Prelude.. Lens.coerced++instance Core.AWSRequest BatchAssociateProjectAssets where+ type+ AWSResponse BatchAssociateProjectAssets =+ BatchAssociateProjectAssetsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ BatchAssociateProjectAssetsResponse'+ Prelude.<$> (x Data..?> "errors" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable BatchAssociateProjectAssets where+ hashWithSalt _salt BatchAssociateProjectAssets' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` projectId+ `Prelude.hashWithSalt` assetIds++instance Prelude.NFData BatchAssociateProjectAssets where+ rnf BatchAssociateProjectAssets' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf projectId+ `Prelude.seq` Prelude.rnf assetIds++instance Data.ToHeaders BatchAssociateProjectAssets where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON BatchAssociateProjectAssets where+ toJSON BatchAssociateProjectAssets' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("clientToken" Data..=) Prelude.<$> clientToken,+ Prelude.Just ("assetIds" Data..= assetIds)+ ]+ )++instance Data.ToPath BatchAssociateProjectAssets where+ toPath BatchAssociateProjectAssets' {..} =+ Prelude.mconcat+ [ "/projects/",+ Data.toBS projectId,+ "/assets/associate"+ ]++instance Data.ToQuery BatchAssociateProjectAssets where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newBatchAssociateProjectAssetsResponse' smart constructor.+data BatchAssociateProjectAssetsResponse = BatchAssociateProjectAssetsResponse'+ { -- | A list of associated error information, if any.+ errors :: Prelude.Maybe [AssetErrorDetails],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchAssociateProjectAssetsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'errors', 'batchAssociateProjectAssetsResponse_errors' - A list of associated error information, if any.+--+-- 'httpStatus', 'batchAssociateProjectAssetsResponse_httpStatus' - The response's http status code.+newBatchAssociateProjectAssetsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ BatchAssociateProjectAssetsResponse+newBatchAssociateProjectAssetsResponse pHttpStatus_ =+ BatchAssociateProjectAssetsResponse'+ { errors =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A list of associated error information, if any.+batchAssociateProjectAssetsResponse_errors :: Lens.Lens' BatchAssociateProjectAssetsResponse (Prelude.Maybe [AssetErrorDetails])+batchAssociateProjectAssetsResponse_errors = Lens.lens (\BatchAssociateProjectAssetsResponse' {errors} -> errors) (\s@BatchAssociateProjectAssetsResponse' {} a -> s {errors = a} :: BatchAssociateProjectAssetsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+batchAssociateProjectAssetsResponse_httpStatus :: Lens.Lens' BatchAssociateProjectAssetsResponse Prelude.Int+batchAssociateProjectAssetsResponse_httpStatus = Lens.lens (\BatchAssociateProjectAssetsResponse' {httpStatus} -> httpStatus) (\s@BatchAssociateProjectAssetsResponse' {} a -> s {httpStatus = a} :: BatchAssociateProjectAssetsResponse)++instance+ Prelude.NFData+ BatchAssociateProjectAssetsResponse+ where+ rnf BatchAssociateProjectAssetsResponse' {..} =+ Prelude.rnf errors+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTSiteWise/BatchDisassociateProjectAssets.hs view
@@ -0,0 +1,229 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.BatchDisassociateProjectAssets+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Disassociates a group (batch) of assets from an IoT SiteWise Monitor+-- project.+module Amazonka.IoTSiteWise.BatchDisassociateProjectAssets+ ( -- * Creating a Request+ BatchDisassociateProjectAssets (..),+ newBatchDisassociateProjectAssets,++ -- * Request Lenses+ batchDisassociateProjectAssets_clientToken,+ batchDisassociateProjectAssets_projectId,+ batchDisassociateProjectAssets_assetIds,++ -- * Destructuring the Response+ BatchDisassociateProjectAssetsResponse (..),+ newBatchDisassociateProjectAssetsResponse,++ -- * Response Lenses+ batchDisassociateProjectAssetsResponse_errors,+ batchDisassociateProjectAssetsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newBatchDisassociateProjectAssets' smart constructor.+data BatchDisassociateProjectAssets = BatchDisassociateProjectAssets'+ { -- | 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.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The ID of the project from which to disassociate the assets.+ projectId :: Prelude.Text,+ -- | The IDs of the assets to be disassociated from the project.+ assetIds :: Prelude.NonEmpty Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchDisassociateProjectAssets' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'batchDisassociateProjectAssets_clientToken' - A unique case-sensitive identifier that you can provide to ensure the+-- idempotency of the request. Don\'t reuse this client token if a new+-- idempotent request is required.+--+-- 'projectId', 'batchDisassociateProjectAssets_projectId' - The ID of the project from which to disassociate the assets.+--+-- 'assetIds', 'batchDisassociateProjectAssets_assetIds' - The IDs of the assets to be disassociated from the project.+newBatchDisassociateProjectAssets ::+ -- | 'projectId'+ Prelude.Text ->+ -- | 'assetIds'+ Prelude.NonEmpty Prelude.Text ->+ BatchDisassociateProjectAssets+newBatchDisassociateProjectAssets+ pProjectId_+ pAssetIds_ =+ BatchDisassociateProjectAssets'+ { clientToken =+ Prelude.Nothing,+ projectId = pProjectId_,+ assetIds = Lens.coerced Lens.# pAssetIds_+ }++-- | 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.+batchDisassociateProjectAssets_clientToken :: Lens.Lens' BatchDisassociateProjectAssets (Prelude.Maybe Prelude.Text)+batchDisassociateProjectAssets_clientToken = Lens.lens (\BatchDisassociateProjectAssets' {clientToken} -> clientToken) (\s@BatchDisassociateProjectAssets' {} a -> s {clientToken = a} :: BatchDisassociateProjectAssets)++-- | The ID of the project from which to disassociate the assets.+batchDisassociateProjectAssets_projectId :: Lens.Lens' BatchDisassociateProjectAssets Prelude.Text+batchDisassociateProjectAssets_projectId = Lens.lens (\BatchDisassociateProjectAssets' {projectId} -> projectId) (\s@BatchDisassociateProjectAssets' {} a -> s {projectId = a} :: BatchDisassociateProjectAssets)++-- | The IDs of the assets to be disassociated from the project.+batchDisassociateProjectAssets_assetIds :: Lens.Lens' BatchDisassociateProjectAssets (Prelude.NonEmpty Prelude.Text)+batchDisassociateProjectAssets_assetIds = Lens.lens (\BatchDisassociateProjectAssets' {assetIds} -> assetIds) (\s@BatchDisassociateProjectAssets' {} a -> s {assetIds = a} :: BatchDisassociateProjectAssets) Prelude.. Lens.coerced++instance+ Core.AWSRequest+ BatchDisassociateProjectAssets+ where+ type+ AWSResponse BatchDisassociateProjectAssets =+ BatchDisassociateProjectAssetsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ BatchDisassociateProjectAssetsResponse'+ Prelude.<$> (x Data..?> "errors" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ BatchDisassociateProjectAssets+ where+ hashWithSalt+ _salt+ BatchDisassociateProjectAssets' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` projectId+ `Prelude.hashWithSalt` assetIds++instance+ Prelude.NFData+ BatchDisassociateProjectAssets+ where+ rnf BatchDisassociateProjectAssets' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf projectId+ `Prelude.seq` Prelude.rnf assetIds++instance+ Data.ToHeaders+ BatchDisassociateProjectAssets+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON BatchDisassociateProjectAssets where+ toJSON BatchDisassociateProjectAssets' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("clientToken" Data..=) Prelude.<$> clientToken,+ Prelude.Just ("assetIds" Data..= assetIds)+ ]+ )++instance Data.ToPath BatchDisassociateProjectAssets where+ toPath BatchDisassociateProjectAssets' {..} =+ Prelude.mconcat+ [ "/projects/",+ Data.toBS projectId,+ "/assets/disassociate"+ ]++instance Data.ToQuery BatchDisassociateProjectAssets where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newBatchDisassociateProjectAssetsResponse' smart constructor.+data BatchDisassociateProjectAssetsResponse = BatchDisassociateProjectAssetsResponse'+ { -- | A list of associated error information, if any.+ errors :: Prelude.Maybe [AssetErrorDetails],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchDisassociateProjectAssetsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'errors', 'batchDisassociateProjectAssetsResponse_errors' - A list of associated error information, if any.+--+-- 'httpStatus', 'batchDisassociateProjectAssetsResponse_httpStatus' - The response's http status code.+newBatchDisassociateProjectAssetsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ BatchDisassociateProjectAssetsResponse+newBatchDisassociateProjectAssetsResponse+ pHttpStatus_ =+ BatchDisassociateProjectAssetsResponse'+ { errors =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A list of associated error information, if any.+batchDisassociateProjectAssetsResponse_errors :: Lens.Lens' BatchDisassociateProjectAssetsResponse (Prelude.Maybe [AssetErrorDetails])+batchDisassociateProjectAssetsResponse_errors = Lens.lens (\BatchDisassociateProjectAssetsResponse' {errors} -> errors) (\s@BatchDisassociateProjectAssetsResponse' {} a -> s {errors = a} :: BatchDisassociateProjectAssetsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+batchDisassociateProjectAssetsResponse_httpStatus :: Lens.Lens' BatchDisassociateProjectAssetsResponse Prelude.Int+batchDisassociateProjectAssetsResponse_httpStatus = Lens.lens (\BatchDisassociateProjectAssetsResponse' {httpStatus} -> httpStatus) (\s@BatchDisassociateProjectAssetsResponse' {} a -> s {httpStatus = a} :: BatchDisassociateProjectAssetsResponse)++instance+ Prelude.NFData+ BatchDisassociateProjectAssetsResponse+ where+ rnf BatchDisassociateProjectAssetsResponse' {..} =+ Prelude.rnf errors+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTSiteWise/BatchGetAssetPropertyAggregates.hs view
@@ -0,0 +1,296 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.BatchGetAssetPropertyAggregates+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets aggregated values (for example, average, minimum, and maximum) for+-- one or more asset properties. For more information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/query-industrial-data.html#aggregates Querying aggregates>+-- in the /IoT SiteWise User Guide/.+module Amazonka.IoTSiteWise.BatchGetAssetPropertyAggregates+ ( -- * Creating a Request+ BatchGetAssetPropertyAggregates (..),+ newBatchGetAssetPropertyAggregates,++ -- * Request Lenses+ batchGetAssetPropertyAggregates_maxResults,+ batchGetAssetPropertyAggregates_nextToken,+ batchGetAssetPropertyAggregates_entries,++ -- * Destructuring the Response+ BatchGetAssetPropertyAggregatesResponse (..),+ newBatchGetAssetPropertyAggregatesResponse,++ -- * Response Lenses+ batchGetAssetPropertyAggregatesResponse_nextToken,+ batchGetAssetPropertyAggregatesResponse_httpStatus,+ batchGetAssetPropertyAggregatesResponse_errorEntries,+ batchGetAssetPropertyAggregatesResponse_successEntries,+ batchGetAssetPropertyAggregatesResponse_skippedEntries,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newBatchGetAssetPropertyAggregates' smart constructor.+data BatchGetAssetPropertyAggregates = BatchGetAssetPropertyAggregates'+ { -- | 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 less than 1 MB.+ --+ -- - The number of data points in the result set is less than the value+ -- of @maxResults@. The maximum value of @maxResults@ is 4000.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The token to be used for the next set of paginated results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The list of asset property aggregate entries for the batch get request.+ -- You can specify up to 16 entries per request.+ entries :: [BatchGetAssetPropertyAggregatesEntry]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchGetAssetPropertyAggregates' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'batchGetAssetPropertyAggregates_maxResults' - 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 less than 1 MB.+--+-- - The number of data points in the result set is less than the value+-- of @maxResults@. The maximum value of @maxResults@ is 4000.+--+-- 'nextToken', 'batchGetAssetPropertyAggregates_nextToken' - The token to be used for the next set of paginated results.+--+-- 'entries', 'batchGetAssetPropertyAggregates_entries' - The list of asset property aggregate entries for the batch get request.+-- You can specify up to 16 entries per request.+newBatchGetAssetPropertyAggregates ::+ BatchGetAssetPropertyAggregates+newBatchGetAssetPropertyAggregates =+ BatchGetAssetPropertyAggregates'+ { maxResults =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ entries = Prelude.mempty+ }++-- | 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 less than 1 MB.+--+-- - The number of data points in the result set is less than the value+-- of @maxResults@. The maximum value of @maxResults@ is 4000.+batchGetAssetPropertyAggregates_maxResults :: Lens.Lens' BatchGetAssetPropertyAggregates (Prelude.Maybe Prelude.Natural)+batchGetAssetPropertyAggregates_maxResults = Lens.lens (\BatchGetAssetPropertyAggregates' {maxResults} -> maxResults) (\s@BatchGetAssetPropertyAggregates' {} a -> s {maxResults = a} :: BatchGetAssetPropertyAggregates)++-- | The token to be used for the next set of paginated results.+batchGetAssetPropertyAggregates_nextToken :: Lens.Lens' BatchGetAssetPropertyAggregates (Prelude.Maybe Prelude.Text)+batchGetAssetPropertyAggregates_nextToken = Lens.lens (\BatchGetAssetPropertyAggregates' {nextToken} -> nextToken) (\s@BatchGetAssetPropertyAggregates' {} a -> s {nextToken = a} :: BatchGetAssetPropertyAggregates)++-- | The list of asset property aggregate entries for the batch get request.+-- You can specify up to 16 entries per request.+batchGetAssetPropertyAggregates_entries :: Lens.Lens' BatchGetAssetPropertyAggregates [BatchGetAssetPropertyAggregatesEntry]+batchGetAssetPropertyAggregates_entries = Lens.lens (\BatchGetAssetPropertyAggregates' {entries} -> entries) (\s@BatchGetAssetPropertyAggregates' {} a -> s {entries = a} :: BatchGetAssetPropertyAggregates) Prelude.. Lens.coerced++instance+ Core.AWSRequest+ BatchGetAssetPropertyAggregates+ where+ type+ AWSResponse BatchGetAssetPropertyAggregates =+ BatchGetAssetPropertyAggregatesResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ BatchGetAssetPropertyAggregatesResponse'+ Prelude.<$> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..?> "errorEntries" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "successEntries" Core..!@ Prelude.mempty)+ Prelude.<*> ( x+ Data..?> "skippedEntries"+ Core..!@ Prelude.mempty+ )+ )++instance+ Prelude.Hashable+ BatchGetAssetPropertyAggregates+ where+ hashWithSalt+ _salt+ BatchGetAssetPropertyAggregates' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` entries++instance+ Prelude.NFData+ BatchGetAssetPropertyAggregates+ where+ rnf BatchGetAssetPropertyAggregates' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf entries++instance+ Data.ToHeaders+ BatchGetAssetPropertyAggregates+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON BatchGetAssetPropertyAggregates where+ toJSON BatchGetAssetPropertyAggregates' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("maxResults" Data..=) Prelude.<$> maxResults,+ ("nextToken" Data..=) Prelude.<$> nextToken,+ Prelude.Just ("entries" Data..= entries)+ ]+ )++instance Data.ToPath BatchGetAssetPropertyAggregates where+ toPath = Prelude.const "/properties/batch/aggregates"++instance Data.ToQuery BatchGetAssetPropertyAggregates where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newBatchGetAssetPropertyAggregatesResponse' smart constructor.+data BatchGetAssetPropertyAggregatesResponse = BatchGetAssetPropertyAggregatesResponse'+ { -- | The token for the next set of results, or null if there are no+ -- additional results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | A list of the errors (if any) associated with the batch request. Each+ -- error entry contains the @entryId@ of the entry that failed.+ errorEntries :: [BatchGetAssetPropertyAggregatesErrorEntry],+ -- | 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.+ successEntries :: [BatchGetAssetPropertyAggregatesSuccessEntry],+ -- | 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.+ skippedEntries :: [BatchGetAssetPropertyAggregatesSkippedEntry]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchGetAssetPropertyAggregatesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'batchGetAssetPropertyAggregatesResponse_nextToken' - The token for the next set of results, or null if there are no+-- additional results.+--+-- 'httpStatus', 'batchGetAssetPropertyAggregatesResponse_httpStatus' - The response's http status code.+--+-- 'errorEntries', 'batchGetAssetPropertyAggregatesResponse_errorEntries' - A list of the errors (if any) associated with the batch request. Each+-- error entry contains the @entryId@ of the entry that failed.+--+-- 'successEntries', 'batchGetAssetPropertyAggregatesResponse_successEntries' - 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.+--+-- 'skippedEntries', 'batchGetAssetPropertyAggregatesResponse_skippedEntries' - 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.+newBatchGetAssetPropertyAggregatesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ BatchGetAssetPropertyAggregatesResponse+newBatchGetAssetPropertyAggregatesResponse+ pHttpStatus_ =+ BatchGetAssetPropertyAggregatesResponse'+ { nextToken =+ Prelude.Nothing,+ httpStatus = pHttpStatus_,+ errorEntries = Prelude.mempty,+ successEntries = Prelude.mempty,+ skippedEntries = Prelude.mempty+ }++-- | The token for the next set of results, or null if there are no+-- additional results.+batchGetAssetPropertyAggregatesResponse_nextToken :: Lens.Lens' BatchGetAssetPropertyAggregatesResponse (Prelude.Maybe Prelude.Text)+batchGetAssetPropertyAggregatesResponse_nextToken = Lens.lens (\BatchGetAssetPropertyAggregatesResponse' {nextToken} -> nextToken) (\s@BatchGetAssetPropertyAggregatesResponse' {} a -> s {nextToken = a} :: BatchGetAssetPropertyAggregatesResponse)++-- | The response's http status code.+batchGetAssetPropertyAggregatesResponse_httpStatus :: Lens.Lens' BatchGetAssetPropertyAggregatesResponse Prelude.Int+batchGetAssetPropertyAggregatesResponse_httpStatus = Lens.lens (\BatchGetAssetPropertyAggregatesResponse' {httpStatus} -> httpStatus) (\s@BatchGetAssetPropertyAggregatesResponse' {} a -> s {httpStatus = a} :: BatchGetAssetPropertyAggregatesResponse)++-- | A list of the errors (if any) associated with the batch request. Each+-- error entry contains the @entryId@ of the entry that failed.+batchGetAssetPropertyAggregatesResponse_errorEntries :: Lens.Lens' BatchGetAssetPropertyAggregatesResponse [BatchGetAssetPropertyAggregatesErrorEntry]+batchGetAssetPropertyAggregatesResponse_errorEntries = Lens.lens (\BatchGetAssetPropertyAggregatesResponse' {errorEntries} -> errorEntries) (\s@BatchGetAssetPropertyAggregatesResponse' {} a -> s {errorEntries = a} :: BatchGetAssetPropertyAggregatesResponse) Prelude.. Lens.coerced++-- | 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.+batchGetAssetPropertyAggregatesResponse_successEntries :: Lens.Lens' BatchGetAssetPropertyAggregatesResponse [BatchGetAssetPropertyAggregatesSuccessEntry]+batchGetAssetPropertyAggregatesResponse_successEntries = Lens.lens (\BatchGetAssetPropertyAggregatesResponse' {successEntries} -> successEntries) (\s@BatchGetAssetPropertyAggregatesResponse' {} a -> s {successEntries = a} :: BatchGetAssetPropertyAggregatesResponse) Prelude.. Lens.coerced++-- | 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.+batchGetAssetPropertyAggregatesResponse_skippedEntries :: Lens.Lens' BatchGetAssetPropertyAggregatesResponse [BatchGetAssetPropertyAggregatesSkippedEntry]+batchGetAssetPropertyAggregatesResponse_skippedEntries = Lens.lens (\BatchGetAssetPropertyAggregatesResponse' {skippedEntries} -> skippedEntries) (\s@BatchGetAssetPropertyAggregatesResponse' {} a -> s {skippedEntries = a} :: BatchGetAssetPropertyAggregatesResponse) Prelude.. Lens.coerced++instance+ Prelude.NFData+ BatchGetAssetPropertyAggregatesResponse+ where+ rnf BatchGetAssetPropertyAggregatesResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf errorEntries+ `Prelude.seq` Prelude.rnf successEntries+ `Prelude.seq` Prelude.rnf skippedEntries
+ gen/Amazonka/IoTSiteWise/BatchGetAssetPropertyValue.hs view
@@ -0,0 +1,250 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.BatchGetAssetPropertyValue+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets the current value for one or more asset properties. For more+-- information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/query-industrial-data.html#current-values Querying current values>+-- in the /IoT SiteWise User Guide/.+module Amazonka.IoTSiteWise.BatchGetAssetPropertyValue+ ( -- * Creating a Request+ BatchGetAssetPropertyValue (..),+ newBatchGetAssetPropertyValue,++ -- * Request Lenses+ batchGetAssetPropertyValue_nextToken,+ batchGetAssetPropertyValue_entries,++ -- * Destructuring the Response+ BatchGetAssetPropertyValueResponse (..),+ newBatchGetAssetPropertyValueResponse,++ -- * Response Lenses+ batchGetAssetPropertyValueResponse_nextToken,+ batchGetAssetPropertyValueResponse_httpStatus,+ batchGetAssetPropertyValueResponse_errorEntries,+ batchGetAssetPropertyValueResponse_successEntries,+ batchGetAssetPropertyValueResponse_skippedEntries,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newBatchGetAssetPropertyValue' smart constructor.+data BatchGetAssetPropertyValue = BatchGetAssetPropertyValue'+ { -- | The token to be used for the next set of paginated results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The list of asset property value entries for the batch get request. You+ -- can specify up to 16 entries per request.+ entries :: [BatchGetAssetPropertyValueEntry]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchGetAssetPropertyValue' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'batchGetAssetPropertyValue_nextToken' - The token to be used for the next set of paginated results.+--+-- 'entries', 'batchGetAssetPropertyValue_entries' - The list of asset property value entries for the batch get request. You+-- can specify up to 16 entries per request.+newBatchGetAssetPropertyValue ::+ BatchGetAssetPropertyValue+newBatchGetAssetPropertyValue =+ BatchGetAssetPropertyValue'+ { nextToken =+ Prelude.Nothing,+ entries = Prelude.mempty+ }++-- | The token to be used for the next set of paginated results.+batchGetAssetPropertyValue_nextToken :: Lens.Lens' BatchGetAssetPropertyValue (Prelude.Maybe Prelude.Text)+batchGetAssetPropertyValue_nextToken = Lens.lens (\BatchGetAssetPropertyValue' {nextToken} -> nextToken) (\s@BatchGetAssetPropertyValue' {} a -> s {nextToken = a} :: BatchGetAssetPropertyValue)++-- | The list of asset property value entries for the batch get request. You+-- can specify up to 16 entries per request.+batchGetAssetPropertyValue_entries :: Lens.Lens' BatchGetAssetPropertyValue [BatchGetAssetPropertyValueEntry]+batchGetAssetPropertyValue_entries = Lens.lens (\BatchGetAssetPropertyValue' {entries} -> entries) (\s@BatchGetAssetPropertyValue' {} a -> s {entries = a} :: BatchGetAssetPropertyValue) Prelude.. Lens.coerced++instance Core.AWSRequest BatchGetAssetPropertyValue where+ type+ AWSResponse BatchGetAssetPropertyValue =+ BatchGetAssetPropertyValueResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ BatchGetAssetPropertyValueResponse'+ Prelude.<$> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..?> "errorEntries" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "successEntries" Core..!@ Prelude.mempty)+ Prelude.<*> ( x+ Data..?> "skippedEntries"+ Core..!@ Prelude.mempty+ )+ )++instance Prelude.Hashable BatchGetAssetPropertyValue where+ hashWithSalt _salt BatchGetAssetPropertyValue' {..} =+ _salt+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` entries++instance Prelude.NFData BatchGetAssetPropertyValue where+ rnf BatchGetAssetPropertyValue' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf entries++instance Data.ToHeaders BatchGetAssetPropertyValue where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON BatchGetAssetPropertyValue where+ toJSON BatchGetAssetPropertyValue' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("nextToken" Data..=) Prelude.<$> nextToken,+ Prelude.Just ("entries" Data..= entries)+ ]+ )++instance Data.ToPath BatchGetAssetPropertyValue where+ toPath = Prelude.const "/properties/batch/latest"++instance Data.ToQuery BatchGetAssetPropertyValue where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newBatchGetAssetPropertyValueResponse' smart constructor.+data BatchGetAssetPropertyValueResponse = BatchGetAssetPropertyValueResponse'+ { -- | The token for the next set of results, or null if there are no+ -- additional results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | A list of the errors (if any) associated with the batch request. Each+ -- error entry contains the @entryId@ of the entry that failed.+ errorEntries :: [BatchGetAssetPropertyValueErrorEntry],+ -- | 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.+ successEntries :: [BatchGetAssetPropertyValueSuccessEntry],+ -- | 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.+ skippedEntries :: [BatchGetAssetPropertyValueSkippedEntry]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchGetAssetPropertyValueResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'batchGetAssetPropertyValueResponse_nextToken' - The token for the next set of results, or null if there are no+-- additional results.+--+-- 'httpStatus', 'batchGetAssetPropertyValueResponse_httpStatus' - The response's http status code.+--+-- 'errorEntries', 'batchGetAssetPropertyValueResponse_errorEntries' - A list of the errors (if any) associated with the batch request. Each+-- error entry contains the @entryId@ of the entry that failed.+--+-- 'successEntries', 'batchGetAssetPropertyValueResponse_successEntries' - 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.+--+-- 'skippedEntries', 'batchGetAssetPropertyValueResponse_skippedEntries' - 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.+newBatchGetAssetPropertyValueResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ BatchGetAssetPropertyValueResponse+newBatchGetAssetPropertyValueResponse pHttpStatus_ =+ BatchGetAssetPropertyValueResponse'+ { nextToken =+ Prelude.Nothing,+ httpStatus = pHttpStatus_,+ errorEntries = Prelude.mempty,+ successEntries = Prelude.mempty,+ skippedEntries = Prelude.mempty+ }++-- | The token for the next set of results, or null if there are no+-- additional results.+batchGetAssetPropertyValueResponse_nextToken :: Lens.Lens' BatchGetAssetPropertyValueResponse (Prelude.Maybe Prelude.Text)+batchGetAssetPropertyValueResponse_nextToken = Lens.lens (\BatchGetAssetPropertyValueResponse' {nextToken} -> nextToken) (\s@BatchGetAssetPropertyValueResponse' {} a -> s {nextToken = a} :: BatchGetAssetPropertyValueResponse)++-- | The response's http status code.+batchGetAssetPropertyValueResponse_httpStatus :: Lens.Lens' BatchGetAssetPropertyValueResponse Prelude.Int+batchGetAssetPropertyValueResponse_httpStatus = Lens.lens (\BatchGetAssetPropertyValueResponse' {httpStatus} -> httpStatus) (\s@BatchGetAssetPropertyValueResponse' {} a -> s {httpStatus = a} :: BatchGetAssetPropertyValueResponse)++-- | A list of the errors (if any) associated with the batch request. Each+-- error entry contains the @entryId@ of the entry that failed.+batchGetAssetPropertyValueResponse_errorEntries :: Lens.Lens' BatchGetAssetPropertyValueResponse [BatchGetAssetPropertyValueErrorEntry]+batchGetAssetPropertyValueResponse_errorEntries = Lens.lens (\BatchGetAssetPropertyValueResponse' {errorEntries} -> errorEntries) (\s@BatchGetAssetPropertyValueResponse' {} a -> s {errorEntries = a} :: BatchGetAssetPropertyValueResponse) Prelude.. Lens.coerced++-- | 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.+batchGetAssetPropertyValueResponse_successEntries :: Lens.Lens' BatchGetAssetPropertyValueResponse [BatchGetAssetPropertyValueSuccessEntry]+batchGetAssetPropertyValueResponse_successEntries = Lens.lens (\BatchGetAssetPropertyValueResponse' {successEntries} -> successEntries) (\s@BatchGetAssetPropertyValueResponse' {} a -> s {successEntries = a} :: BatchGetAssetPropertyValueResponse) Prelude.. Lens.coerced++-- | 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.+batchGetAssetPropertyValueResponse_skippedEntries :: Lens.Lens' BatchGetAssetPropertyValueResponse [BatchGetAssetPropertyValueSkippedEntry]+batchGetAssetPropertyValueResponse_skippedEntries = Lens.lens (\BatchGetAssetPropertyValueResponse' {skippedEntries} -> skippedEntries) (\s@BatchGetAssetPropertyValueResponse' {} a -> s {skippedEntries = a} :: BatchGetAssetPropertyValueResponse) Prelude.. Lens.coerced++instance+ Prelude.NFData+ BatchGetAssetPropertyValueResponse+ where+ rnf BatchGetAssetPropertyValueResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf errorEntries+ `Prelude.seq` Prelude.rnf successEntries+ `Prelude.seq` Prelude.rnf skippedEntries
+ gen/Amazonka/IoTSiteWise/BatchGetAssetPropertyValueHistory.hs view
@@ -0,0 +1,305 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.BatchGetAssetPropertyValueHistory+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets the historical values for one or more asset properties. For more+-- information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/query-industrial-data.html#historical-values Querying historical values>+-- in the /IoT SiteWise User Guide/.+module Amazonka.IoTSiteWise.BatchGetAssetPropertyValueHistory+ ( -- * Creating a Request+ BatchGetAssetPropertyValueHistory (..),+ newBatchGetAssetPropertyValueHistory,++ -- * Request Lenses+ batchGetAssetPropertyValueHistory_maxResults,+ batchGetAssetPropertyValueHistory_nextToken,+ batchGetAssetPropertyValueHistory_entries,++ -- * Destructuring the Response+ BatchGetAssetPropertyValueHistoryResponse (..),+ newBatchGetAssetPropertyValueHistoryResponse,++ -- * Response Lenses+ batchGetAssetPropertyValueHistoryResponse_nextToken,+ batchGetAssetPropertyValueHistoryResponse_httpStatus,+ batchGetAssetPropertyValueHistoryResponse_errorEntries,+ batchGetAssetPropertyValueHistoryResponse_successEntries,+ batchGetAssetPropertyValueHistoryResponse_skippedEntries,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newBatchGetAssetPropertyValueHistory' smart constructor.+data BatchGetAssetPropertyValueHistory = BatchGetAssetPropertyValueHistory'+ { -- | 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 less than 1 MB.+ --+ -- - The number of data points in the result set is less than the value+ -- of @maxResults@. The maximum value of @maxResults@ is 4000.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The token to be used for the next set of paginated results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The list of asset property historical value entries for the batch get+ -- request. You can specify up to 16 entries per request.+ entries :: [BatchGetAssetPropertyValueHistoryEntry]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchGetAssetPropertyValueHistory' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'batchGetAssetPropertyValueHistory_maxResults' - 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 less than 1 MB.+--+-- - The number of data points in the result set is less than the value+-- of @maxResults@. The maximum value of @maxResults@ is 4000.+--+-- 'nextToken', 'batchGetAssetPropertyValueHistory_nextToken' - The token to be used for the next set of paginated results.+--+-- 'entries', 'batchGetAssetPropertyValueHistory_entries' - The list of asset property historical value entries for the batch get+-- request. You can specify up to 16 entries per request.+newBatchGetAssetPropertyValueHistory ::+ BatchGetAssetPropertyValueHistory+newBatchGetAssetPropertyValueHistory =+ BatchGetAssetPropertyValueHistory'+ { maxResults =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ entries = Prelude.mempty+ }++-- | 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 less than 1 MB.+--+-- - The number of data points in the result set is less than the value+-- of @maxResults@. The maximum value of @maxResults@ is 4000.+batchGetAssetPropertyValueHistory_maxResults :: Lens.Lens' BatchGetAssetPropertyValueHistory (Prelude.Maybe Prelude.Natural)+batchGetAssetPropertyValueHistory_maxResults = Lens.lens (\BatchGetAssetPropertyValueHistory' {maxResults} -> maxResults) (\s@BatchGetAssetPropertyValueHistory' {} a -> s {maxResults = a} :: BatchGetAssetPropertyValueHistory)++-- | The token to be used for the next set of paginated results.+batchGetAssetPropertyValueHistory_nextToken :: Lens.Lens' BatchGetAssetPropertyValueHistory (Prelude.Maybe Prelude.Text)+batchGetAssetPropertyValueHistory_nextToken = Lens.lens (\BatchGetAssetPropertyValueHistory' {nextToken} -> nextToken) (\s@BatchGetAssetPropertyValueHistory' {} a -> s {nextToken = a} :: BatchGetAssetPropertyValueHistory)++-- | The list of asset property historical value entries for the batch get+-- request. You can specify up to 16 entries per request.+batchGetAssetPropertyValueHistory_entries :: Lens.Lens' BatchGetAssetPropertyValueHistory [BatchGetAssetPropertyValueHistoryEntry]+batchGetAssetPropertyValueHistory_entries = Lens.lens (\BatchGetAssetPropertyValueHistory' {entries} -> entries) (\s@BatchGetAssetPropertyValueHistory' {} a -> s {entries = a} :: BatchGetAssetPropertyValueHistory) Prelude.. Lens.coerced++instance+ Core.AWSRequest+ BatchGetAssetPropertyValueHistory+ where+ type+ AWSResponse BatchGetAssetPropertyValueHistory =+ BatchGetAssetPropertyValueHistoryResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ BatchGetAssetPropertyValueHistoryResponse'+ Prelude.<$> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..?> "errorEntries" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "successEntries" Core..!@ Prelude.mempty)+ Prelude.<*> ( x+ Data..?> "skippedEntries"+ Core..!@ Prelude.mempty+ )+ )++instance+ Prelude.Hashable+ BatchGetAssetPropertyValueHistory+ where+ hashWithSalt+ _salt+ BatchGetAssetPropertyValueHistory' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` entries++instance+ Prelude.NFData+ BatchGetAssetPropertyValueHistory+ where+ rnf BatchGetAssetPropertyValueHistory' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf entries++instance+ Data.ToHeaders+ BatchGetAssetPropertyValueHistory+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToJSON+ BatchGetAssetPropertyValueHistory+ where+ toJSON BatchGetAssetPropertyValueHistory' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("maxResults" Data..=) Prelude.<$> maxResults,+ ("nextToken" Data..=) Prelude.<$> nextToken,+ Prelude.Just ("entries" Data..= entries)+ ]+ )++instance+ Data.ToPath+ BatchGetAssetPropertyValueHistory+ where+ toPath = Prelude.const "/properties/batch/history"++instance+ Data.ToQuery+ BatchGetAssetPropertyValueHistory+ where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newBatchGetAssetPropertyValueHistoryResponse' smart constructor.+data BatchGetAssetPropertyValueHistoryResponse = BatchGetAssetPropertyValueHistoryResponse'+ { -- | The token for the next set of results, or null if there are no+ -- additional results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | A list of the errors (if any) associated with the batch request. Each+ -- error entry contains the @entryId@ of the entry that failed.+ errorEntries :: [BatchGetAssetPropertyValueHistoryErrorEntry],+ -- | 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.+ successEntries :: [BatchGetAssetPropertyValueHistorySuccessEntry],+ -- | 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.+ skippedEntries :: [BatchGetAssetPropertyValueHistorySkippedEntry]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchGetAssetPropertyValueHistoryResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'batchGetAssetPropertyValueHistoryResponse_nextToken' - The token for the next set of results, or null if there are no+-- additional results.+--+-- 'httpStatus', 'batchGetAssetPropertyValueHistoryResponse_httpStatus' - The response's http status code.+--+-- 'errorEntries', 'batchGetAssetPropertyValueHistoryResponse_errorEntries' - A list of the errors (if any) associated with the batch request. Each+-- error entry contains the @entryId@ of the entry that failed.+--+-- 'successEntries', 'batchGetAssetPropertyValueHistoryResponse_successEntries' - 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.+--+-- 'skippedEntries', 'batchGetAssetPropertyValueHistoryResponse_skippedEntries' - 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.+newBatchGetAssetPropertyValueHistoryResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ BatchGetAssetPropertyValueHistoryResponse+newBatchGetAssetPropertyValueHistoryResponse+ pHttpStatus_ =+ BatchGetAssetPropertyValueHistoryResponse'+ { nextToken =+ Prelude.Nothing,+ httpStatus = pHttpStatus_,+ errorEntries = Prelude.mempty,+ successEntries = Prelude.mempty,+ skippedEntries = Prelude.mempty+ }++-- | The token for the next set of results, or null if there are no+-- additional results.+batchGetAssetPropertyValueHistoryResponse_nextToken :: Lens.Lens' BatchGetAssetPropertyValueHistoryResponse (Prelude.Maybe Prelude.Text)+batchGetAssetPropertyValueHistoryResponse_nextToken = Lens.lens (\BatchGetAssetPropertyValueHistoryResponse' {nextToken} -> nextToken) (\s@BatchGetAssetPropertyValueHistoryResponse' {} a -> s {nextToken = a} :: BatchGetAssetPropertyValueHistoryResponse)++-- | The response's http status code.+batchGetAssetPropertyValueHistoryResponse_httpStatus :: Lens.Lens' BatchGetAssetPropertyValueHistoryResponse Prelude.Int+batchGetAssetPropertyValueHistoryResponse_httpStatus = Lens.lens (\BatchGetAssetPropertyValueHistoryResponse' {httpStatus} -> httpStatus) (\s@BatchGetAssetPropertyValueHistoryResponse' {} a -> s {httpStatus = a} :: BatchGetAssetPropertyValueHistoryResponse)++-- | A list of the errors (if any) associated with the batch request. Each+-- error entry contains the @entryId@ of the entry that failed.+batchGetAssetPropertyValueHistoryResponse_errorEntries :: Lens.Lens' BatchGetAssetPropertyValueHistoryResponse [BatchGetAssetPropertyValueHistoryErrorEntry]+batchGetAssetPropertyValueHistoryResponse_errorEntries = Lens.lens (\BatchGetAssetPropertyValueHistoryResponse' {errorEntries} -> errorEntries) (\s@BatchGetAssetPropertyValueHistoryResponse' {} a -> s {errorEntries = a} :: BatchGetAssetPropertyValueHistoryResponse) Prelude.. Lens.coerced++-- | 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.+batchGetAssetPropertyValueHistoryResponse_successEntries :: Lens.Lens' BatchGetAssetPropertyValueHistoryResponse [BatchGetAssetPropertyValueHistorySuccessEntry]+batchGetAssetPropertyValueHistoryResponse_successEntries = Lens.lens (\BatchGetAssetPropertyValueHistoryResponse' {successEntries} -> successEntries) (\s@BatchGetAssetPropertyValueHistoryResponse' {} a -> s {successEntries = a} :: BatchGetAssetPropertyValueHistoryResponse) Prelude.. Lens.coerced++-- | 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.+batchGetAssetPropertyValueHistoryResponse_skippedEntries :: Lens.Lens' BatchGetAssetPropertyValueHistoryResponse [BatchGetAssetPropertyValueHistorySkippedEntry]+batchGetAssetPropertyValueHistoryResponse_skippedEntries = Lens.lens (\BatchGetAssetPropertyValueHistoryResponse' {skippedEntries} -> skippedEntries) (\s@BatchGetAssetPropertyValueHistoryResponse' {} a -> s {skippedEntries = a} :: BatchGetAssetPropertyValueHistoryResponse) Prelude.. Lens.coerced++instance+ Prelude.NFData+ BatchGetAssetPropertyValueHistoryResponse+ where+ rnf BatchGetAssetPropertyValueHistoryResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf errorEntries+ `Prelude.seq` Prelude.rnf successEntries+ `Prelude.seq` Prelude.rnf skippedEntries
+ gen/Amazonka/IoTSiteWise/BatchPutAssetPropertyValue.hs view
@@ -0,0 +1,203 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.BatchPutAssetPropertyValue+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Sends a list of asset property values to IoT SiteWise. Each value is a+-- timestamp-quality-value (TQV) data point. For more information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/ingest-api.html 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetProperty.html 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/security_iam_service-with-iam.html#security_iam_service-with-iam-id-based-policies-batchputassetpropertyvalue-action BatchPutAssetPropertyValue authorization>+-- in the /IoT SiteWise User Guide/.+module Amazonka.IoTSiteWise.BatchPutAssetPropertyValue+ ( -- * Creating a Request+ BatchPutAssetPropertyValue (..),+ newBatchPutAssetPropertyValue,++ -- * Request Lenses+ batchPutAssetPropertyValue_entries,++ -- * Destructuring the Response+ BatchPutAssetPropertyValueResponse (..),+ newBatchPutAssetPropertyValueResponse,++ -- * Response Lenses+ batchPutAssetPropertyValueResponse_httpStatus,+ batchPutAssetPropertyValueResponse_errorEntries,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newBatchPutAssetPropertyValue' smart constructor.+data BatchPutAssetPropertyValue = BatchPutAssetPropertyValue'+ { -- | The list of asset property value entries for the batch put request. You+ -- can specify up to 10 entries per request.+ entries :: [PutAssetPropertyValueEntry]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchPutAssetPropertyValue' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'entries', 'batchPutAssetPropertyValue_entries' - The list of asset property value entries for the batch put request. You+-- can specify up to 10 entries per request.+newBatchPutAssetPropertyValue ::+ BatchPutAssetPropertyValue+newBatchPutAssetPropertyValue =+ BatchPutAssetPropertyValue'+ { entries =+ Prelude.mempty+ }++-- | The list of asset property value entries for the batch put request. You+-- can specify up to 10 entries per request.+batchPutAssetPropertyValue_entries :: Lens.Lens' BatchPutAssetPropertyValue [PutAssetPropertyValueEntry]+batchPutAssetPropertyValue_entries = Lens.lens (\BatchPutAssetPropertyValue' {entries} -> entries) (\s@BatchPutAssetPropertyValue' {} a -> s {entries = a} :: BatchPutAssetPropertyValue) Prelude.. Lens.coerced++instance Core.AWSRequest BatchPutAssetPropertyValue where+ type+ AWSResponse BatchPutAssetPropertyValue =+ BatchPutAssetPropertyValueResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ BatchPutAssetPropertyValueResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..?> "errorEntries" Core..!@ Prelude.mempty)+ )++instance Prelude.Hashable BatchPutAssetPropertyValue where+ hashWithSalt _salt BatchPutAssetPropertyValue' {..} =+ _salt `Prelude.hashWithSalt` entries++instance Prelude.NFData BatchPutAssetPropertyValue where+ rnf BatchPutAssetPropertyValue' {..} =+ Prelude.rnf entries++instance Data.ToHeaders BatchPutAssetPropertyValue where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON BatchPutAssetPropertyValue where+ toJSON BatchPutAssetPropertyValue' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("entries" Data..= entries)]+ )++instance Data.ToPath BatchPutAssetPropertyValue where+ toPath = Prelude.const "/properties"++instance Data.ToQuery BatchPutAssetPropertyValue where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newBatchPutAssetPropertyValueResponse' smart constructor.+data BatchPutAssetPropertyValueResponse = BatchPutAssetPropertyValueResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | A list of the errors (if any) associated with the batch put request.+ -- Each error entry contains the @entryId@ of the entry that failed.+ errorEntries :: [BatchPutAssetPropertyErrorEntry]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchPutAssetPropertyValueResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'batchPutAssetPropertyValueResponse_httpStatus' - The response's http status code.+--+-- 'errorEntries', 'batchPutAssetPropertyValueResponse_errorEntries' - A list of the errors (if any) associated with the batch put request.+-- Each error entry contains the @entryId@ of the entry that failed.+newBatchPutAssetPropertyValueResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ BatchPutAssetPropertyValueResponse+newBatchPutAssetPropertyValueResponse pHttpStatus_ =+ BatchPutAssetPropertyValueResponse'+ { httpStatus =+ pHttpStatus_,+ errorEntries = Prelude.mempty+ }++-- | The response's http status code.+batchPutAssetPropertyValueResponse_httpStatus :: Lens.Lens' BatchPutAssetPropertyValueResponse Prelude.Int+batchPutAssetPropertyValueResponse_httpStatus = Lens.lens (\BatchPutAssetPropertyValueResponse' {httpStatus} -> httpStatus) (\s@BatchPutAssetPropertyValueResponse' {} a -> s {httpStatus = a} :: 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.+batchPutAssetPropertyValueResponse_errorEntries :: Lens.Lens' BatchPutAssetPropertyValueResponse [BatchPutAssetPropertyErrorEntry]+batchPutAssetPropertyValueResponse_errorEntries = Lens.lens (\BatchPutAssetPropertyValueResponse' {errorEntries} -> errorEntries) (\s@BatchPutAssetPropertyValueResponse' {} a -> s {errorEntries = a} :: BatchPutAssetPropertyValueResponse) Prelude.. Lens.coerced++instance+ Prelude.NFData+ BatchPutAssetPropertyValueResponse+ where+ rnf BatchPutAssetPropertyValueResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf errorEntries
+ gen/Amazonka/IoTSiteWise/CreateAccessPolicy.hs view
@@ -0,0 +1,294 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.CreateAccessPolicy+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- 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.+module Amazonka.IoTSiteWise.CreateAccessPolicy+ ( -- * Creating a Request+ CreateAccessPolicy (..),+ newCreateAccessPolicy,++ -- * Request Lenses+ createAccessPolicy_clientToken,+ createAccessPolicy_tags,+ createAccessPolicy_accessPolicyIdentity,+ createAccessPolicy_accessPolicyResource,+ createAccessPolicy_accessPolicyPermission,++ -- * Destructuring the Response+ CreateAccessPolicyResponse (..),+ newCreateAccessPolicyResponse,++ -- * Response Lenses+ createAccessPolicyResponse_httpStatus,+ createAccessPolicyResponse_accessPolicyId,+ createAccessPolicyResponse_accessPolicyArn,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateAccessPolicy' smart constructor.+data CreateAccessPolicy = CreateAccessPolicy'+ { -- | 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.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | A list of key-value pairs that contain metadata for the access policy.+ -- For more information, see+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html Tagging your IoT SiteWise resources>+ -- in the /IoT SiteWise User Guide/.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The identity for this access policy. Choose an IAM Identity Center user,+ -- an IAM Identity Center group, or an IAM user.+ accessPolicyIdentity :: Identity,+ -- | The IoT SiteWise Monitor resource for this access policy. Choose either+ -- a portal or a project.+ accessPolicyResource :: Resource,+ -- | The permission level for this access policy. Note that a project+ -- @ADMINISTRATOR@ is also known as a project owner.+ accessPolicyPermission :: Permission+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateAccessPolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'createAccessPolicy_clientToken' - A unique case-sensitive identifier that you can provide to ensure the+-- idempotency of the request. Don\'t reuse this client token if a new+-- idempotent request is required.+--+-- 'tags', 'createAccessPolicy_tags' - A list of key-value pairs that contain metadata for the access policy.+-- For more information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html Tagging your IoT SiteWise resources>+-- in the /IoT SiteWise User Guide/.+--+-- 'accessPolicyIdentity', 'createAccessPolicy_accessPolicyIdentity' - The identity for this access policy. Choose an IAM Identity Center user,+-- an IAM Identity Center group, or an IAM user.+--+-- 'accessPolicyResource', 'createAccessPolicy_accessPolicyResource' - The IoT SiteWise Monitor resource for this access policy. Choose either+-- a portal or a project.+--+-- 'accessPolicyPermission', 'createAccessPolicy_accessPolicyPermission' - The permission level for this access policy. Note that a project+-- @ADMINISTRATOR@ is also known as a project owner.+newCreateAccessPolicy ::+ -- | 'accessPolicyIdentity'+ Identity ->+ -- | 'accessPolicyResource'+ Resource ->+ -- | 'accessPolicyPermission'+ Permission ->+ CreateAccessPolicy+newCreateAccessPolicy+ pAccessPolicyIdentity_+ pAccessPolicyResource_+ pAccessPolicyPermission_ =+ CreateAccessPolicy'+ { clientToken = Prelude.Nothing,+ tags = Prelude.Nothing,+ accessPolicyIdentity = pAccessPolicyIdentity_,+ accessPolicyResource = pAccessPolicyResource_,+ accessPolicyPermission = pAccessPolicyPermission_+ }++-- | 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.+createAccessPolicy_clientToken :: Lens.Lens' CreateAccessPolicy (Prelude.Maybe Prelude.Text)+createAccessPolicy_clientToken = Lens.lens (\CreateAccessPolicy' {clientToken} -> clientToken) (\s@CreateAccessPolicy' {} a -> s {clientToken = a} :: CreateAccessPolicy)++-- | A list of key-value pairs that contain metadata for the access policy.+-- For more information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html Tagging your IoT SiteWise resources>+-- in the /IoT SiteWise User Guide/.+createAccessPolicy_tags :: Lens.Lens' CreateAccessPolicy (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createAccessPolicy_tags = Lens.lens (\CreateAccessPolicy' {tags} -> tags) (\s@CreateAccessPolicy' {} a -> s {tags = a} :: CreateAccessPolicy) Prelude.. Lens.mapping Lens.coerced++-- | The identity for this access policy. Choose an IAM Identity Center user,+-- an IAM Identity Center group, or an IAM user.+createAccessPolicy_accessPolicyIdentity :: Lens.Lens' CreateAccessPolicy Identity+createAccessPolicy_accessPolicyIdentity = Lens.lens (\CreateAccessPolicy' {accessPolicyIdentity} -> accessPolicyIdentity) (\s@CreateAccessPolicy' {} a -> s {accessPolicyIdentity = a} :: CreateAccessPolicy)++-- | The IoT SiteWise Monitor resource for this access policy. Choose either+-- a portal or a project.+createAccessPolicy_accessPolicyResource :: Lens.Lens' CreateAccessPolicy Resource+createAccessPolicy_accessPolicyResource = Lens.lens (\CreateAccessPolicy' {accessPolicyResource} -> accessPolicyResource) (\s@CreateAccessPolicy' {} a -> s {accessPolicyResource = a} :: CreateAccessPolicy)++-- | The permission level for this access policy. Note that a project+-- @ADMINISTRATOR@ is also known as a project owner.+createAccessPolicy_accessPolicyPermission :: Lens.Lens' CreateAccessPolicy Permission+createAccessPolicy_accessPolicyPermission = Lens.lens (\CreateAccessPolicy' {accessPolicyPermission} -> accessPolicyPermission) (\s@CreateAccessPolicy' {} a -> s {accessPolicyPermission = a} :: CreateAccessPolicy)++instance Core.AWSRequest CreateAccessPolicy where+ type+ AWSResponse CreateAccessPolicy =+ CreateAccessPolicyResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateAccessPolicyResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "accessPolicyId")+ Prelude.<*> (x Data..:> "accessPolicyArn")+ )++instance Prelude.Hashable CreateAccessPolicy where+ hashWithSalt _salt CreateAccessPolicy' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` accessPolicyIdentity+ `Prelude.hashWithSalt` accessPolicyResource+ `Prelude.hashWithSalt` accessPolicyPermission++instance Prelude.NFData CreateAccessPolicy where+ rnf CreateAccessPolicy' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf accessPolicyIdentity+ `Prelude.seq` Prelude.rnf accessPolicyResource+ `Prelude.seq` Prelude.rnf accessPolicyPermission++instance Data.ToHeaders CreateAccessPolicy where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateAccessPolicy where+ toJSON CreateAccessPolicy' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("clientToken" Data..=) Prelude.<$> clientToken,+ ("tags" Data..=) Prelude.<$> tags,+ Prelude.Just+ ( "accessPolicyIdentity"+ Data..= accessPolicyIdentity+ ),+ Prelude.Just+ ( "accessPolicyResource"+ Data..= accessPolicyResource+ ),+ Prelude.Just+ ( "accessPolicyPermission"+ Data..= accessPolicyPermission+ )+ ]+ )++instance Data.ToPath CreateAccessPolicy where+ toPath = Prelude.const "/access-policies"++instance Data.ToQuery CreateAccessPolicy where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateAccessPolicyResponse' smart constructor.+data CreateAccessPolicyResponse = CreateAccessPolicyResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The ID of the access policy.+ accessPolicyId :: Prelude.Text,+ -- | The+ -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+ -- of the access policy, which has the following format.+ --+ -- @arn:${Partition}:iotsitewise:${Region}:${Account}:access-policy\/${AccessPolicyId}@+ accessPolicyArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateAccessPolicyResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'createAccessPolicyResponse_httpStatus' - The response's http status code.+--+-- 'accessPolicyId', 'createAccessPolicyResponse_accessPolicyId' - The ID of the access policy.+--+-- 'accessPolicyArn', 'createAccessPolicyResponse_accessPolicyArn' - The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of the access policy, which has the following format.+--+-- @arn:${Partition}:iotsitewise:${Region}:${Account}:access-policy\/${AccessPolicyId}@+newCreateAccessPolicyResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'accessPolicyId'+ Prelude.Text ->+ -- | 'accessPolicyArn'+ Prelude.Text ->+ CreateAccessPolicyResponse+newCreateAccessPolicyResponse+ pHttpStatus_+ pAccessPolicyId_+ pAccessPolicyArn_ =+ CreateAccessPolicyResponse'+ { httpStatus =+ pHttpStatus_,+ accessPolicyId = pAccessPolicyId_,+ accessPolicyArn = pAccessPolicyArn_+ }++-- | The response's http status code.+createAccessPolicyResponse_httpStatus :: Lens.Lens' CreateAccessPolicyResponse Prelude.Int+createAccessPolicyResponse_httpStatus = Lens.lens (\CreateAccessPolicyResponse' {httpStatus} -> httpStatus) (\s@CreateAccessPolicyResponse' {} a -> s {httpStatus = a} :: CreateAccessPolicyResponse)++-- | The ID of the access policy.+createAccessPolicyResponse_accessPolicyId :: Lens.Lens' CreateAccessPolicyResponse Prelude.Text+createAccessPolicyResponse_accessPolicyId = Lens.lens (\CreateAccessPolicyResponse' {accessPolicyId} -> accessPolicyId) (\s@CreateAccessPolicyResponse' {} a -> s {accessPolicyId = a} :: CreateAccessPolicyResponse)++-- | The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of the access policy, which has the following format.+--+-- @arn:${Partition}:iotsitewise:${Region}:${Account}:access-policy\/${AccessPolicyId}@+createAccessPolicyResponse_accessPolicyArn :: Lens.Lens' CreateAccessPolicyResponse Prelude.Text+createAccessPolicyResponse_accessPolicyArn = Lens.lens (\CreateAccessPolicyResponse' {accessPolicyArn} -> accessPolicyArn) (\s@CreateAccessPolicyResponse' {} a -> s {accessPolicyArn = a} :: CreateAccessPolicyResponse)++instance Prelude.NFData CreateAccessPolicyResponse where+ rnf CreateAccessPolicyResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf accessPolicyId+ `Prelude.seq` Prelude.rnf accessPolicyArn
+ gen/Amazonka/IoTSiteWise/CreateAsset.hs view
@@ -0,0 +1,290 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.CreateAsset+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates an asset from an existing asset model. For more information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/create-assets.html Creating assets>+-- in the /IoT SiteWise User Guide/.+module Amazonka.IoTSiteWise.CreateAsset+ ( -- * Creating a Request+ CreateAsset (..),+ newCreateAsset,++ -- * Request Lenses+ createAsset_assetDescription,+ createAsset_clientToken,+ createAsset_tags,+ createAsset_assetName,+ createAsset_assetModelId,++ -- * Destructuring the Response+ CreateAssetResponse (..),+ newCreateAssetResponse,++ -- * Response Lenses+ createAssetResponse_httpStatus,+ createAssetResponse_assetId,+ createAssetResponse_assetArn,+ createAssetResponse_assetStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateAsset' smart constructor.+data CreateAsset = CreateAsset'+ { -- | A description for the asset.+ assetDescription :: Prelude.Maybe Prelude.Text,+ -- | 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.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | A list of key-value pairs that contain metadata for the asset. For more+ -- information, see+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html Tagging your IoT SiteWise resources>+ -- in the /IoT SiteWise User Guide/.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | A friendly name for the asset.+ assetName :: Prelude.Text,+ -- | The ID of the asset model from which to create the asset.+ assetModelId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateAsset' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'assetDescription', 'createAsset_assetDescription' - A description for the asset.+--+-- 'clientToken', 'createAsset_clientToken' - A unique case-sensitive identifier that you can provide to ensure the+-- idempotency of the request. Don\'t reuse this client token if a new+-- idempotent request is required.+--+-- 'tags', 'createAsset_tags' - A list of key-value pairs that contain metadata for the asset. For more+-- information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html Tagging your IoT SiteWise resources>+-- in the /IoT SiteWise User Guide/.+--+-- 'assetName', 'createAsset_assetName' - A friendly name for the asset.+--+-- 'assetModelId', 'createAsset_assetModelId' - The ID of the asset model from which to create the asset.+newCreateAsset ::+ -- | 'assetName'+ Prelude.Text ->+ -- | 'assetModelId'+ Prelude.Text ->+ CreateAsset+newCreateAsset pAssetName_ pAssetModelId_ =+ CreateAsset'+ { assetDescription = Prelude.Nothing,+ clientToken = Prelude.Nothing,+ tags = Prelude.Nothing,+ assetName = pAssetName_,+ assetModelId = pAssetModelId_+ }++-- | A description for the asset.+createAsset_assetDescription :: Lens.Lens' CreateAsset (Prelude.Maybe Prelude.Text)+createAsset_assetDescription = Lens.lens (\CreateAsset' {assetDescription} -> assetDescription) (\s@CreateAsset' {} a -> s {assetDescription = a} :: CreateAsset)++-- | 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.+createAsset_clientToken :: Lens.Lens' CreateAsset (Prelude.Maybe Prelude.Text)+createAsset_clientToken = Lens.lens (\CreateAsset' {clientToken} -> clientToken) (\s@CreateAsset' {} a -> s {clientToken = a} :: CreateAsset)++-- | A list of key-value pairs that contain metadata for the asset. For more+-- information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html Tagging your IoT SiteWise resources>+-- in the /IoT SiteWise User Guide/.+createAsset_tags :: Lens.Lens' CreateAsset (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createAsset_tags = Lens.lens (\CreateAsset' {tags} -> tags) (\s@CreateAsset' {} a -> s {tags = a} :: CreateAsset) Prelude.. Lens.mapping Lens.coerced++-- | A friendly name for the asset.+createAsset_assetName :: Lens.Lens' CreateAsset Prelude.Text+createAsset_assetName = Lens.lens (\CreateAsset' {assetName} -> assetName) (\s@CreateAsset' {} a -> s {assetName = a} :: CreateAsset)++-- | The ID of the asset model from which to create the asset.+createAsset_assetModelId :: Lens.Lens' CreateAsset Prelude.Text+createAsset_assetModelId = Lens.lens (\CreateAsset' {assetModelId} -> assetModelId) (\s@CreateAsset' {} a -> s {assetModelId = a} :: CreateAsset)++instance Core.AWSRequest CreateAsset where+ type AWSResponse CreateAsset = CreateAssetResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateAssetResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "assetId")+ Prelude.<*> (x Data..:> "assetArn")+ Prelude.<*> (x Data..:> "assetStatus")+ )++instance Prelude.Hashable CreateAsset where+ hashWithSalt _salt CreateAsset' {..} =+ _salt+ `Prelude.hashWithSalt` assetDescription+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` assetName+ `Prelude.hashWithSalt` assetModelId++instance Prelude.NFData CreateAsset where+ rnf CreateAsset' {..} =+ Prelude.rnf assetDescription+ `Prelude.seq` Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf assetName+ `Prelude.seq` Prelude.rnf assetModelId++instance Data.ToHeaders CreateAsset where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateAsset where+ toJSON CreateAsset' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("assetDescription" Data..=)+ Prelude.<$> assetDescription,+ ("clientToken" Data..=) Prelude.<$> clientToken,+ ("tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("assetName" Data..= assetName),+ Prelude.Just ("assetModelId" Data..= assetModelId)+ ]+ )++instance Data.ToPath CreateAsset where+ toPath = Prelude.const "/assets"++instance Data.ToQuery CreateAsset where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateAssetResponse' smart constructor.+data CreateAssetResponse = CreateAssetResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The ID of the asset. This ID uniquely identifies the asset within IoT+ -- SiteWise and can be used with other IoT SiteWise APIs.+ assetId :: Prelude.Text,+ -- | The+ -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+ -- of the asset, which has the following format.+ --+ -- @arn:${Partition}:iotsitewise:${Region}:${Account}:asset\/${AssetId}@+ assetArn :: Prelude.Text,+ -- | The status of the asset, which contains a state (@CREATING@ after+ -- successfully calling this operation) and any error message.+ assetStatus :: AssetStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateAssetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'createAssetResponse_httpStatus' - The response's http status code.+--+-- 'assetId', 'createAssetResponse_assetId' - The ID of the asset. This ID uniquely identifies the asset within IoT+-- SiteWise and can be used with other IoT SiteWise APIs.+--+-- 'assetArn', 'createAssetResponse_assetArn' - The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of the asset, which has the following format.+--+-- @arn:${Partition}:iotsitewise:${Region}:${Account}:asset\/${AssetId}@+--+-- 'assetStatus', 'createAssetResponse_assetStatus' - The status of the asset, which contains a state (@CREATING@ after+-- successfully calling this operation) and any error message.+newCreateAssetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'assetId'+ Prelude.Text ->+ -- | 'assetArn'+ Prelude.Text ->+ -- | 'assetStatus'+ AssetStatus ->+ CreateAssetResponse+newCreateAssetResponse+ pHttpStatus_+ pAssetId_+ pAssetArn_+ pAssetStatus_ =+ CreateAssetResponse'+ { httpStatus = pHttpStatus_,+ assetId = pAssetId_,+ assetArn = pAssetArn_,+ assetStatus = pAssetStatus_+ }++-- | The response's http status code.+createAssetResponse_httpStatus :: Lens.Lens' CreateAssetResponse Prelude.Int+createAssetResponse_httpStatus = Lens.lens (\CreateAssetResponse' {httpStatus} -> httpStatus) (\s@CreateAssetResponse' {} a -> s {httpStatus = a} :: CreateAssetResponse)++-- | The ID of the asset. This ID uniquely identifies the asset within IoT+-- SiteWise and can be used with other IoT SiteWise APIs.+createAssetResponse_assetId :: Lens.Lens' CreateAssetResponse Prelude.Text+createAssetResponse_assetId = Lens.lens (\CreateAssetResponse' {assetId} -> assetId) (\s@CreateAssetResponse' {} a -> s {assetId = a} :: CreateAssetResponse)++-- | The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of the asset, which has the following format.+--+-- @arn:${Partition}:iotsitewise:${Region}:${Account}:asset\/${AssetId}@+createAssetResponse_assetArn :: Lens.Lens' CreateAssetResponse Prelude.Text+createAssetResponse_assetArn = Lens.lens (\CreateAssetResponse' {assetArn} -> assetArn) (\s@CreateAssetResponse' {} a -> s {assetArn = a} :: CreateAssetResponse)++-- | The status of the asset, which contains a state (@CREATING@ after+-- successfully calling this operation) and any error message.+createAssetResponse_assetStatus :: Lens.Lens' CreateAssetResponse AssetStatus+createAssetResponse_assetStatus = Lens.lens (\CreateAssetResponse' {assetStatus} -> assetStatus) (\s@CreateAssetResponse' {} a -> s {assetStatus = a} :: CreateAssetResponse)++instance Prelude.NFData CreateAssetResponse where+ rnf CreateAssetResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf assetId+ `Prelude.seq` Prelude.rnf assetArn+ `Prelude.seq` Prelude.rnf assetStatus
+ gen/Amazonka/IoTSiteWise/CreateAssetModel.hs view
@@ -0,0 +1,386 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.CreateAssetModel+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/define-models.html Defining asset models>+-- in the /IoT SiteWise User Guide/.+module Amazonka.IoTSiteWise.CreateAssetModel+ ( -- * Creating a Request+ CreateAssetModel (..),+ newCreateAssetModel,++ -- * Request Lenses+ createAssetModel_assetModelCompositeModels,+ createAssetModel_assetModelDescription,+ createAssetModel_assetModelHierarchies,+ createAssetModel_assetModelProperties,+ createAssetModel_clientToken,+ createAssetModel_tags,+ createAssetModel_assetModelName,++ -- * Destructuring the Response+ CreateAssetModelResponse (..),+ newCreateAssetModelResponse,++ -- * Response Lenses+ createAssetModelResponse_httpStatus,+ createAssetModelResponse_assetModelId,+ createAssetModelResponse_assetModelArn,+ createAssetModelResponse_assetModelStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateAssetModel' smart constructor.+data CreateAssetModel = CreateAssetModel'+ { -- | 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 :: Prelude.Maybe [AssetModelCompositeModelDefinition],+ -- | A description for the asset model.+ assetModelDescription :: Prelude.Maybe Prelude.Text,+ -- | 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+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html Asset hierarchies>+ -- in the /IoT SiteWise User Guide/.+ --+ -- You can specify up to 10 hierarchies per asset model. For more+ -- information, see+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html Quotas>+ -- in the /IoT SiteWise User Guide/.+ assetModelHierarchies :: Prelude.Maybe [AssetModelHierarchyDefinition],+ -- | The property definitions of the asset model. For more information, see+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-properties.html Asset properties>+ -- in the /IoT SiteWise User Guide/.+ --+ -- You can specify up to 200 properties per asset model. For more+ -- information, see+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html Quotas>+ -- in the /IoT SiteWise User Guide/.+ assetModelProperties :: Prelude.Maybe [AssetModelPropertyDefinition],+ -- | 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.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | A list of key-value pairs that contain metadata for the asset model. For+ -- more information, see+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html Tagging your IoT SiteWise resources>+ -- in the /IoT SiteWise User Guide/.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | A unique, friendly name for the asset model.+ assetModelName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateAssetModel' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'assetModelCompositeModels', 'createAssetModel_assetModelCompositeModels' - The composite asset models that are part of this asset model. Composite+-- asset models are asset models that contain specific properties. Each+-- composite model has a type that defines the properties that the+-- composite model supports. Use composite asset models to define alarms on+-- this asset model.+--+-- 'assetModelDescription', 'createAssetModel_assetModelDescription' - A description for the asset model.+--+-- 'assetModelHierarchies', 'createAssetModel_assetModelHierarchies' - The hierarchy definitions of the asset model. Each hierarchy specifies+-- an asset model whose assets can be children of any other assets created+-- from this asset model. For more information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html Asset hierarchies>+-- in the /IoT SiteWise User Guide/.+--+-- You can specify up to 10 hierarchies per asset model. For more+-- information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html Quotas>+-- in the /IoT SiteWise User Guide/.+--+-- 'assetModelProperties', 'createAssetModel_assetModelProperties' - The property definitions of the asset model. For more information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-properties.html Asset properties>+-- in the /IoT SiteWise User Guide/.+--+-- You can specify up to 200 properties per asset model. For more+-- information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html Quotas>+-- in the /IoT SiteWise User Guide/.+--+-- 'clientToken', 'createAssetModel_clientToken' - A unique case-sensitive identifier that you can provide to ensure the+-- idempotency of the request. Don\'t reuse this client token if a new+-- idempotent request is required.+--+-- 'tags', 'createAssetModel_tags' - A list of key-value pairs that contain metadata for the asset model. For+-- more information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html Tagging your IoT SiteWise resources>+-- in the /IoT SiteWise User Guide/.+--+-- 'assetModelName', 'createAssetModel_assetModelName' - A unique, friendly name for the asset model.+newCreateAssetModel ::+ -- | 'assetModelName'+ Prelude.Text ->+ CreateAssetModel+newCreateAssetModel pAssetModelName_ =+ CreateAssetModel'+ { assetModelCompositeModels =+ Prelude.Nothing,+ assetModelDescription = Prelude.Nothing,+ assetModelHierarchies = Prelude.Nothing,+ assetModelProperties = Prelude.Nothing,+ clientToken = Prelude.Nothing,+ tags = Prelude.Nothing,+ assetModelName = pAssetModelName_+ }++-- | 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.+createAssetModel_assetModelCompositeModels :: Lens.Lens' CreateAssetModel (Prelude.Maybe [AssetModelCompositeModelDefinition])+createAssetModel_assetModelCompositeModels = Lens.lens (\CreateAssetModel' {assetModelCompositeModels} -> assetModelCompositeModels) (\s@CreateAssetModel' {} a -> s {assetModelCompositeModels = a} :: CreateAssetModel) Prelude.. Lens.mapping Lens.coerced++-- | A description for the asset model.+createAssetModel_assetModelDescription :: Lens.Lens' CreateAssetModel (Prelude.Maybe Prelude.Text)+createAssetModel_assetModelDescription = Lens.lens (\CreateAssetModel' {assetModelDescription} -> assetModelDescription) (\s@CreateAssetModel' {} a -> s {assetModelDescription = a} :: CreateAssetModel)++-- | 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html Asset hierarchies>+-- in the /IoT SiteWise User Guide/.+--+-- You can specify up to 10 hierarchies per asset model. For more+-- information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html Quotas>+-- in the /IoT SiteWise User Guide/.+createAssetModel_assetModelHierarchies :: Lens.Lens' CreateAssetModel (Prelude.Maybe [AssetModelHierarchyDefinition])+createAssetModel_assetModelHierarchies = Lens.lens (\CreateAssetModel' {assetModelHierarchies} -> assetModelHierarchies) (\s@CreateAssetModel' {} a -> s {assetModelHierarchies = a} :: CreateAssetModel) Prelude.. Lens.mapping Lens.coerced++-- | The property definitions of the asset model. For more information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-properties.html Asset properties>+-- in the /IoT SiteWise User Guide/.+--+-- You can specify up to 200 properties per asset model. For more+-- information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html Quotas>+-- in the /IoT SiteWise User Guide/.+createAssetModel_assetModelProperties :: Lens.Lens' CreateAssetModel (Prelude.Maybe [AssetModelPropertyDefinition])+createAssetModel_assetModelProperties = Lens.lens (\CreateAssetModel' {assetModelProperties} -> assetModelProperties) (\s@CreateAssetModel' {} a -> s {assetModelProperties = a} :: CreateAssetModel) Prelude.. Lens.mapping Lens.coerced++-- | 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.+createAssetModel_clientToken :: Lens.Lens' CreateAssetModel (Prelude.Maybe Prelude.Text)+createAssetModel_clientToken = Lens.lens (\CreateAssetModel' {clientToken} -> clientToken) (\s@CreateAssetModel' {} a -> s {clientToken = a} :: CreateAssetModel)++-- | A list of key-value pairs that contain metadata for the asset model. For+-- more information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html Tagging your IoT SiteWise resources>+-- in the /IoT SiteWise User Guide/.+createAssetModel_tags :: Lens.Lens' CreateAssetModel (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createAssetModel_tags = Lens.lens (\CreateAssetModel' {tags} -> tags) (\s@CreateAssetModel' {} a -> s {tags = a} :: CreateAssetModel) Prelude.. Lens.mapping Lens.coerced++-- | A unique, friendly name for the asset model.+createAssetModel_assetModelName :: Lens.Lens' CreateAssetModel Prelude.Text+createAssetModel_assetModelName = Lens.lens (\CreateAssetModel' {assetModelName} -> assetModelName) (\s@CreateAssetModel' {} a -> s {assetModelName = a} :: CreateAssetModel)++instance Core.AWSRequest CreateAssetModel where+ type+ AWSResponse CreateAssetModel =+ CreateAssetModelResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateAssetModelResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "assetModelId")+ Prelude.<*> (x Data..:> "assetModelArn")+ Prelude.<*> (x Data..:> "assetModelStatus")+ )++instance Prelude.Hashable CreateAssetModel where+ hashWithSalt _salt CreateAssetModel' {..} =+ _salt+ `Prelude.hashWithSalt` assetModelCompositeModels+ `Prelude.hashWithSalt` assetModelDescription+ `Prelude.hashWithSalt` assetModelHierarchies+ `Prelude.hashWithSalt` assetModelProperties+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` assetModelName++instance Prelude.NFData CreateAssetModel where+ rnf CreateAssetModel' {..} =+ Prelude.rnf assetModelCompositeModels+ `Prelude.seq` Prelude.rnf assetModelDescription+ `Prelude.seq` Prelude.rnf assetModelHierarchies+ `Prelude.seq` Prelude.rnf assetModelProperties+ `Prelude.seq` Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf assetModelName++instance Data.ToHeaders CreateAssetModel where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateAssetModel where+ toJSON CreateAssetModel' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("assetModelCompositeModels" Data..=)+ Prelude.<$> assetModelCompositeModels,+ ("assetModelDescription" Data..=)+ Prelude.<$> assetModelDescription,+ ("assetModelHierarchies" Data..=)+ Prelude.<$> assetModelHierarchies,+ ("assetModelProperties" Data..=)+ Prelude.<$> assetModelProperties,+ ("clientToken" Data..=) Prelude.<$> clientToken,+ ("tags" Data..=) Prelude.<$> tags,+ Prelude.Just+ ("assetModelName" Data..= assetModelName)+ ]+ )++instance Data.ToPath CreateAssetModel where+ toPath = Prelude.const "/asset-models"++instance Data.ToQuery CreateAssetModel where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateAssetModelResponse' smart constructor.+data CreateAssetModelResponse = CreateAssetModelResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The ID of the asset model. You can use this ID when you call other IoT+ -- SiteWise APIs.+ assetModelId :: Prelude.Text,+ -- | The+ -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+ -- of the asset model, which has the following format.+ --+ -- @arn:${Partition}:iotsitewise:${Region}:${Account}:asset-model\/${AssetModelId}@+ assetModelArn :: Prelude.Text,+ -- | The status of the asset model, which contains a state (@CREATING@ after+ -- successfully calling this operation) and any error message.+ assetModelStatus :: AssetModelStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateAssetModelResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'createAssetModelResponse_httpStatus' - The response's http status code.+--+-- 'assetModelId', 'createAssetModelResponse_assetModelId' - The ID of the asset model. You can use this ID when you call other IoT+-- SiteWise APIs.+--+-- 'assetModelArn', 'createAssetModelResponse_assetModelArn' - The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of the asset model, which has the following format.+--+-- @arn:${Partition}:iotsitewise:${Region}:${Account}:asset-model\/${AssetModelId}@+--+-- 'assetModelStatus', 'createAssetModelResponse_assetModelStatus' - The status of the asset model, which contains a state (@CREATING@ after+-- successfully calling this operation) and any error message.+newCreateAssetModelResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'assetModelId'+ Prelude.Text ->+ -- | 'assetModelArn'+ Prelude.Text ->+ -- | 'assetModelStatus'+ AssetModelStatus ->+ CreateAssetModelResponse+newCreateAssetModelResponse+ pHttpStatus_+ pAssetModelId_+ pAssetModelArn_+ pAssetModelStatus_ =+ CreateAssetModelResponse'+ { httpStatus =+ pHttpStatus_,+ assetModelId = pAssetModelId_,+ assetModelArn = pAssetModelArn_,+ assetModelStatus = pAssetModelStatus_+ }++-- | The response's http status code.+createAssetModelResponse_httpStatus :: Lens.Lens' CreateAssetModelResponse Prelude.Int+createAssetModelResponse_httpStatus = Lens.lens (\CreateAssetModelResponse' {httpStatus} -> httpStatus) (\s@CreateAssetModelResponse' {} a -> s {httpStatus = a} :: CreateAssetModelResponse)++-- | The ID of the asset model. You can use this ID when you call other IoT+-- SiteWise APIs.+createAssetModelResponse_assetModelId :: Lens.Lens' CreateAssetModelResponse Prelude.Text+createAssetModelResponse_assetModelId = Lens.lens (\CreateAssetModelResponse' {assetModelId} -> assetModelId) (\s@CreateAssetModelResponse' {} a -> s {assetModelId = a} :: CreateAssetModelResponse)++-- | The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of the asset model, which has the following format.+--+-- @arn:${Partition}:iotsitewise:${Region}:${Account}:asset-model\/${AssetModelId}@+createAssetModelResponse_assetModelArn :: Lens.Lens' CreateAssetModelResponse Prelude.Text+createAssetModelResponse_assetModelArn = Lens.lens (\CreateAssetModelResponse' {assetModelArn} -> assetModelArn) (\s@CreateAssetModelResponse' {} a -> s {assetModelArn = a} :: CreateAssetModelResponse)++-- | The status of the asset model, which contains a state (@CREATING@ after+-- successfully calling this operation) and any error message.+createAssetModelResponse_assetModelStatus :: Lens.Lens' CreateAssetModelResponse AssetModelStatus+createAssetModelResponse_assetModelStatus = Lens.lens (\CreateAssetModelResponse' {assetModelStatus} -> assetModelStatus) (\s@CreateAssetModelResponse' {} a -> s {assetModelStatus = a} :: CreateAssetModelResponse)++instance Prelude.NFData CreateAssetModelResponse where+ rnf CreateAssetModelResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf assetModelId+ `Prelude.seq` Prelude.rnf assetModelArn+ `Prelude.seq` Prelude.rnf assetModelStatus
+ gen/Amazonka/IoTSiteWise/CreateBulkImportJob.hs view
@@ -0,0 +1,347 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.CreateBulkImportJob+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Defines a job to ingest data to IoT SiteWise from Amazon S3. For more+-- information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/CreateBulkImportJob.html 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_PutStorageConfiguration.html PutStorageConfiguration>.+module Amazonka.IoTSiteWise.CreateBulkImportJob+ ( -- * Creating a Request+ CreateBulkImportJob (..),+ newCreateBulkImportJob,++ -- * Request Lenses+ createBulkImportJob_jobName,+ createBulkImportJob_jobRoleArn,+ createBulkImportJob_files,+ createBulkImportJob_errorReportLocation,+ createBulkImportJob_jobConfiguration,++ -- * Destructuring the Response+ CreateBulkImportJobResponse (..),+ newCreateBulkImportJobResponse,++ -- * Response Lenses+ createBulkImportJobResponse_httpStatus,+ createBulkImportJobResponse_jobId,+ createBulkImportJobResponse_jobName,+ createBulkImportJobResponse_jobStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateBulkImportJob' smart constructor.+data CreateBulkImportJob = CreateBulkImportJob'+ { -- | The unique name that helps identify the job request.+ jobName :: Prelude.Text,+ -- | The+ -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+ -- of the IAM role that allows IoT SiteWise to read Amazon S3 data.+ jobRoleArn :: Prelude.Text,+ -- | The files in the specified Amazon S3 bucket that contain your data.+ files :: [File],+ -- | The Amazon S3 destination where errors associated with the job creation+ -- request are saved.+ errorReportLocation :: ErrorReportLocation,+ -- | Contains the configuration information of a job, such as the file format+ -- used to save data in Amazon S3.+ jobConfiguration :: JobConfiguration+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateBulkImportJob' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'jobName', 'createBulkImportJob_jobName' - The unique name that helps identify the job request.+--+-- 'jobRoleArn', 'createBulkImportJob_jobRoleArn' - The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of the IAM role that allows IoT SiteWise to read Amazon S3 data.+--+-- 'files', 'createBulkImportJob_files' - The files in the specified Amazon S3 bucket that contain your data.+--+-- 'errorReportLocation', 'createBulkImportJob_errorReportLocation' - The Amazon S3 destination where errors associated with the job creation+-- request are saved.+--+-- 'jobConfiguration', 'createBulkImportJob_jobConfiguration' - Contains the configuration information of a job, such as the file format+-- used to save data in Amazon S3.+newCreateBulkImportJob ::+ -- | 'jobName'+ Prelude.Text ->+ -- | 'jobRoleArn'+ Prelude.Text ->+ -- | 'errorReportLocation'+ ErrorReportLocation ->+ -- | 'jobConfiguration'+ JobConfiguration ->+ CreateBulkImportJob+newCreateBulkImportJob+ pJobName_+ pJobRoleArn_+ pErrorReportLocation_+ pJobConfiguration_ =+ CreateBulkImportJob'+ { jobName = pJobName_,+ jobRoleArn = pJobRoleArn_,+ files = Prelude.mempty,+ errorReportLocation = pErrorReportLocation_,+ jobConfiguration = pJobConfiguration_+ }++-- | The unique name that helps identify the job request.+createBulkImportJob_jobName :: Lens.Lens' CreateBulkImportJob Prelude.Text+createBulkImportJob_jobName = Lens.lens (\CreateBulkImportJob' {jobName} -> jobName) (\s@CreateBulkImportJob' {} a -> s {jobName = a} :: CreateBulkImportJob)++-- | The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of the IAM role that allows IoT SiteWise to read Amazon S3 data.+createBulkImportJob_jobRoleArn :: Lens.Lens' CreateBulkImportJob Prelude.Text+createBulkImportJob_jobRoleArn = Lens.lens (\CreateBulkImportJob' {jobRoleArn} -> jobRoleArn) (\s@CreateBulkImportJob' {} a -> s {jobRoleArn = a} :: CreateBulkImportJob)++-- | The files in the specified Amazon S3 bucket that contain your data.+createBulkImportJob_files :: Lens.Lens' CreateBulkImportJob [File]+createBulkImportJob_files = Lens.lens (\CreateBulkImportJob' {files} -> files) (\s@CreateBulkImportJob' {} a -> s {files = a} :: CreateBulkImportJob) Prelude.. Lens.coerced++-- | The Amazon S3 destination where errors associated with the job creation+-- request are saved.+createBulkImportJob_errorReportLocation :: Lens.Lens' CreateBulkImportJob ErrorReportLocation+createBulkImportJob_errorReportLocation = Lens.lens (\CreateBulkImportJob' {errorReportLocation} -> errorReportLocation) (\s@CreateBulkImportJob' {} a -> s {errorReportLocation = a} :: CreateBulkImportJob)++-- | Contains the configuration information of a job, such as the file format+-- used to save data in Amazon S3.+createBulkImportJob_jobConfiguration :: Lens.Lens' CreateBulkImportJob JobConfiguration+createBulkImportJob_jobConfiguration = Lens.lens (\CreateBulkImportJob' {jobConfiguration} -> jobConfiguration) (\s@CreateBulkImportJob' {} a -> s {jobConfiguration = a} :: CreateBulkImportJob)++instance Core.AWSRequest CreateBulkImportJob where+ type+ AWSResponse CreateBulkImportJob =+ CreateBulkImportJobResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateBulkImportJobResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "jobId")+ Prelude.<*> (x Data..:> "jobName")+ Prelude.<*> (x Data..:> "jobStatus")+ )++instance Prelude.Hashable CreateBulkImportJob where+ hashWithSalt _salt CreateBulkImportJob' {..} =+ _salt+ `Prelude.hashWithSalt` jobName+ `Prelude.hashWithSalt` jobRoleArn+ `Prelude.hashWithSalt` files+ `Prelude.hashWithSalt` errorReportLocation+ `Prelude.hashWithSalt` jobConfiguration++instance Prelude.NFData CreateBulkImportJob where+ rnf CreateBulkImportJob' {..} =+ Prelude.rnf jobName+ `Prelude.seq` Prelude.rnf jobRoleArn+ `Prelude.seq` Prelude.rnf files+ `Prelude.seq` Prelude.rnf errorReportLocation+ `Prelude.seq` Prelude.rnf jobConfiguration++instance Data.ToHeaders CreateBulkImportJob where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateBulkImportJob where+ toJSON CreateBulkImportJob' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("jobName" Data..= jobName),+ Prelude.Just ("jobRoleArn" Data..= jobRoleArn),+ Prelude.Just ("files" Data..= files),+ Prelude.Just+ ("errorReportLocation" Data..= errorReportLocation),+ Prelude.Just+ ("jobConfiguration" Data..= jobConfiguration)+ ]+ )++instance Data.ToPath CreateBulkImportJob where+ toPath = Prelude.const "/jobs"++instance Data.ToQuery CreateBulkImportJob where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateBulkImportJobResponse' smart constructor.+data CreateBulkImportJobResponse = CreateBulkImportJobResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The ID of the job.+ jobId :: Prelude.Text,+ -- | The unique name that helps identify the job request.+ jobName :: Prelude.Text,+ -- | 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.+ jobStatus :: JobStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateBulkImportJobResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'createBulkImportJobResponse_httpStatus' - The response's http status code.+--+-- 'jobId', 'createBulkImportJobResponse_jobId' - The ID of the job.+--+-- 'jobName', 'createBulkImportJobResponse_jobName' - The unique name that helps identify the job request.+--+-- 'jobStatus', 'createBulkImportJobResponse_jobStatus' - 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.+newCreateBulkImportJobResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'jobId'+ Prelude.Text ->+ -- | 'jobName'+ Prelude.Text ->+ -- | 'jobStatus'+ JobStatus ->+ CreateBulkImportJobResponse+newCreateBulkImportJobResponse+ pHttpStatus_+ pJobId_+ pJobName_+ pJobStatus_ =+ CreateBulkImportJobResponse'+ { httpStatus =+ pHttpStatus_,+ jobId = pJobId_,+ jobName = pJobName_,+ jobStatus = pJobStatus_+ }++-- | The response's http status code.+createBulkImportJobResponse_httpStatus :: Lens.Lens' CreateBulkImportJobResponse Prelude.Int+createBulkImportJobResponse_httpStatus = Lens.lens (\CreateBulkImportJobResponse' {httpStatus} -> httpStatus) (\s@CreateBulkImportJobResponse' {} a -> s {httpStatus = a} :: CreateBulkImportJobResponse)++-- | The ID of the job.+createBulkImportJobResponse_jobId :: Lens.Lens' CreateBulkImportJobResponse Prelude.Text+createBulkImportJobResponse_jobId = Lens.lens (\CreateBulkImportJobResponse' {jobId} -> jobId) (\s@CreateBulkImportJobResponse' {} a -> s {jobId = a} :: CreateBulkImportJobResponse)++-- | The unique name that helps identify the job request.+createBulkImportJobResponse_jobName :: Lens.Lens' CreateBulkImportJobResponse Prelude.Text+createBulkImportJobResponse_jobName = Lens.lens (\CreateBulkImportJobResponse' {jobName} -> jobName) (\s@CreateBulkImportJobResponse' {} a -> s {jobName = a} :: CreateBulkImportJobResponse)++-- | 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.+createBulkImportJobResponse_jobStatus :: Lens.Lens' CreateBulkImportJobResponse JobStatus+createBulkImportJobResponse_jobStatus = Lens.lens (\CreateBulkImportJobResponse' {jobStatus} -> jobStatus) (\s@CreateBulkImportJobResponse' {} a -> s {jobStatus = a} :: CreateBulkImportJobResponse)++instance Prelude.NFData CreateBulkImportJobResponse where+ rnf CreateBulkImportJobResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf jobId+ `Prelude.seq` Prelude.rnf jobName+ `Prelude.seq` Prelude.rnf jobStatus
+ gen/Amazonka/IoTSiteWise/CreateDashboard.hs view
@@ -0,0 +1,297 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.CreateDashboard+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a dashboard in an IoT SiteWise Monitor project.+module Amazonka.IoTSiteWise.CreateDashboard+ ( -- * Creating a Request+ CreateDashboard (..),+ newCreateDashboard,++ -- * Request Lenses+ createDashboard_clientToken,+ createDashboard_dashboardDescription,+ createDashboard_tags,+ createDashboard_projectId,+ createDashboard_dashboardName,+ createDashboard_dashboardDefinition,++ -- * Destructuring the Response+ CreateDashboardResponse (..),+ newCreateDashboardResponse,++ -- * Response Lenses+ createDashboardResponse_httpStatus,+ createDashboardResponse_dashboardId,+ createDashboardResponse_dashboardArn,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateDashboard' smart constructor.+data CreateDashboard = CreateDashboard'+ { -- | 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.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | A description for the dashboard.+ dashboardDescription :: Prelude.Maybe Prelude.Text,+ -- | A list of key-value pairs that contain metadata for the dashboard. For+ -- more information, see+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html Tagging your IoT SiteWise resources>+ -- in the /IoT SiteWise User Guide/.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The ID of the project in which to create the dashboard.+ projectId :: Prelude.Text,+ -- | A friendly name for the dashboard.+ dashboardName :: Prelude.Text,+ -- | The dashboard definition specified in a JSON literal. For detailed+ -- information, see+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/create-dashboards-using-aws-cli.html Creating dashboards (CLI)>+ -- in the /IoT SiteWise User Guide/.+ dashboardDefinition :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDashboard' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'createDashboard_clientToken' - A unique case-sensitive identifier that you can provide to ensure the+-- idempotency of the request. Don\'t reuse this client token if a new+-- idempotent request is required.+--+-- 'dashboardDescription', 'createDashboard_dashboardDescription' - A description for the dashboard.+--+-- 'tags', 'createDashboard_tags' - A list of key-value pairs that contain metadata for the dashboard. For+-- more information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html Tagging your IoT SiteWise resources>+-- in the /IoT SiteWise User Guide/.+--+-- 'projectId', 'createDashboard_projectId' - The ID of the project in which to create the dashboard.+--+-- 'dashboardName', 'createDashboard_dashboardName' - A friendly name for the dashboard.+--+-- 'dashboardDefinition', 'createDashboard_dashboardDefinition' - The dashboard definition specified in a JSON literal. For detailed+-- information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/create-dashboards-using-aws-cli.html Creating dashboards (CLI)>+-- in the /IoT SiteWise User Guide/.+newCreateDashboard ::+ -- | 'projectId'+ Prelude.Text ->+ -- | 'dashboardName'+ Prelude.Text ->+ -- | 'dashboardDefinition'+ Prelude.Text ->+ CreateDashboard+newCreateDashboard+ pProjectId_+ pDashboardName_+ pDashboardDefinition_ =+ CreateDashboard'+ { clientToken = Prelude.Nothing,+ dashboardDescription = Prelude.Nothing,+ tags = Prelude.Nothing,+ projectId = pProjectId_,+ dashboardName = pDashboardName_,+ dashboardDefinition = pDashboardDefinition_+ }++-- | 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.+createDashboard_clientToken :: Lens.Lens' CreateDashboard (Prelude.Maybe Prelude.Text)+createDashboard_clientToken = Lens.lens (\CreateDashboard' {clientToken} -> clientToken) (\s@CreateDashboard' {} a -> s {clientToken = a} :: CreateDashboard)++-- | A description for the dashboard.+createDashboard_dashboardDescription :: Lens.Lens' CreateDashboard (Prelude.Maybe Prelude.Text)+createDashboard_dashboardDescription = Lens.lens (\CreateDashboard' {dashboardDescription} -> dashboardDescription) (\s@CreateDashboard' {} a -> s {dashboardDescription = a} :: CreateDashboard)++-- | A list of key-value pairs that contain metadata for the dashboard. For+-- more information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html Tagging your IoT SiteWise resources>+-- in the /IoT SiteWise User Guide/.+createDashboard_tags :: Lens.Lens' CreateDashboard (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createDashboard_tags = Lens.lens (\CreateDashboard' {tags} -> tags) (\s@CreateDashboard' {} a -> s {tags = a} :: CreateDashboard) Prelude.. Lens.mapping Lens.coerced++-- | The ID of the project in which to create the dashboard.+createDashboard_projectId :: Lens.Lens' CreateDashboard Prelude.Text+createDashboard_projectId = Lens.lens (\CreateDashboard' {projectId} -> projectId) (\s@CreateDashboard' {} a -> s {projectId = a} :: CreateDashboard)++-- | A friendly name for the dashboard.+createDashboard_dashboardName :: Lens.Lens' CreateDashboard Prelude.Text+createDashboard_dashboardName = Lens.lens (\CreateDashboard' {dashboardName} -> dashboardName) (\s@CreateDashboard' {} a -> s {dashboardName = a} :: CreateDashboard)++-- | The dashboard definition specified in a JSON literal. For detailed+-- information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/create-dashboards-using-aws-cli.html Creating dashboards (CLI)>+-- in the /IoT SiteWise User Guide/.+createDashboard_dashboardDefinition :: Lens.Lens' CreateDashboard Prelude.Text+createDashboard_dashboardDefinition = Lens.lens (\CreateDashboard' {dashboardDefinition} -> dashboardDefinition) (\s@CreateDashboard' {} a -> s {dashboardDefinition = a} :: CreateDashboard)++instance Core.AWSRequest CreateDashboard where+ type+ AWSResponse CreateDashboard =+ CreateDashboardResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateDashboardResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "dashboardId")+ Prelude.<*> (x Data..:> "dashboardArn")+ )++instance Prelude.Hashable CreateDashboard where+ hashWithSalt _salt CreateDashboard' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` dashboardDescription+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` projectId+ `Prelude.hashWithSalt` dashboardName+ `Prelude.hashWithSalt` dashboardDefinition++instance Prelude.NFData CreateDashboard where+ rnf CreateDashboard' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf dashboardDescription+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf projectId+ `Prelude.seq` Prelude.rnf dashboardName+ `Prelude.seq` Prelude.rnf dashboardDefinition++instance Data.ToHeaders CreateDashboard where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateDashboard where+ toJSON CreateDashboard' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("clientToken" Data..=) Prelude.<$> clientToken,+ ("dashboardDescription" Data..=)+ Prelude.<$> dashboardDescription,+ ("tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("projectId" Data..= projectId),+ Prelude.Just ("dashboardName" Data..= dashboardName),+ Prelude.Just+ ("dashboardDefinition" Data..= dashboardDefinition)+ ]+ )++instance Data.ToPath CreateDashboard where+ toPath = Prelude.const "/dashboards"++instance Data.ToQuery CreateDashboard where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateDashboardResponse' smart constructor.+data CreateDashboardResponse = CreateDashboardResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The ID of the dashboard.+ dashboardId :: Prelude.Text,+ -- | The+ -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+ -- of the dashboard, which has the following format.+ --+ -- @arn:${Partition}:iotsitewise:${Region}:${Account}:dashboard\/${DashboardId}@+ dashboardArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDashboardResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'createDashboardResponse_httpStatus' - The response's http status code.+--+-- 'dashboardId', 'createDashboardResponse_dashboardId' - The ID of the dashboard.+--+-- 'dashboardArn', 'createDashboardResponse_dashboardArn' - The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of the dashboard, which has the following format.+--+-- @arn:${Partition}:iotsitewise:${Region}:${Account}:dashboard\/${DashboardId}@+newCreateDashboardResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'dashboardId'+ Prelude.Text ->+ -- | 'dashboardArn'+ Prelude.Text ->+ CreateDashboardResponse+newCreateDashboardResponse+ pHttpStatus_+ pDashboardId_+ pDashboardArn_ =+ CreateDashboardResponse'+ { httpStatus = pHttpStatus_,+ dashboardId = pDashboardId_,+ dashboardArn = pDashboardArn_+ }++-- | The response's http status code.+createDashboardResponse_httpStatus :: Lens.Lens' CreateDashboardResponse Prelude.Int+createDashboardResponse_httpStatus = Lens.lens (\CreateDashboardResponse' {httpStatus} -> httpStatus) (\s@CreateDashboardResponse' {} a -> s {httpStatus = a} :: CreateDashboardResponse)++-- | The ID of the dashboard.+createDashboardResponse_dashboardId :: Lens.Lens' CreateDashboardResponse Prelude.Text+createDashboardResponse_dashboardId = Lens.lens (\CreateDashboardResponse' {dashboardId} -> dashboardId) (\s@CreateDashboardResponse' {} a -> s {dashboardId = a} :: CreateDashboardResponse)++-- | The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of the dashboard, which has the following format.+--+-- @arn:${Partition}:iotsitewise:${Region}:${Account}:dashboard\/${DashboardId}@+createDashboardResponse_dashboardArn :: Lens.Lens' CreateDashboardResponse Prelude.Text+createDashboardResponse_dashboardArn = Lens.lens (\CreateDashboardResponse' {dashboardArn} -> dashboardArn) (\s@CreateDashboardResponse' {} a -> s {dashboardArn = a} :: CreateDashboardResponse)++instance Prelude.NFData CreateDashboardResponse where+ rnf CreateDashboardResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf dashboardId+ `Prelude.seq` Prelude.rnf dashboardArn
+ gen/Amazonka/IoTSiteWise/CreateGateway.hs view
@@ -0,0 +1,244 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.CreateGateway+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/gateway-connector.html Ingesting data using a gateway>+-- in the /IoT SiteWise User Guide/.+module Amazonka.IoTSiteWise.CreateGateway+ ( -- * Creating a Request+ CreateGateway (..),+ newCreateGateway,++ -- * Request Lenses+ createGateway_tags,+ createGateway_gatewayName,+ createGateway_gatewayPlatform,++ -- * Destructuring the Response+ CreateGatewayResponse (..),+ newCreateGatewayResponse,++ -- * Response Lenses+ createGatewayResponse_httpStatus,+ createGatewayResponse_gatewayId,+ createGatewayResponse_gatewayArn,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateGateway' smart constructor.+data CreateGateway = CreateGateway'+ { -- | A list of key-value pairs that contain metadata for the gateway. For+ -- more information, see+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html Tagging your IoT SiteWise resources>+ -- in the /IoT SiteWise User Guide/.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | A unique, friendly name for the gateway.+ gatewayName :: Prelude.Text,+ -- | The gateway\'s platform. You can only specify one platform in a gateway.+ gatewayPlatform :: GatewayPlatform+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateGateway' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tags', 'createGateway_tags' - A list of key-value pairs that contain metadata for the gateway. For+-- more information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html Tagging your IoT SiteWise resources>+-- in the /IoT SiteWise User Guide/.+--+-- 'gatewayName', 'createGateway_gatewayName' - A unique, friendly name for the gateway.+--+-- 'gatewayPlatform', 'createGateway_gatewayPlatform' - The gateway\'s platform. You can only specify one platform in a gateway.+newCreateGateway ::+ -- | 'gatewayName'+ Prelude.Text ->+ -- | 'gatewayPlatform'+ GatewayPlatform ->+ CreateGateway+newCreateGateway pGatewayName_ pGatewayPlatform_ =+ CreateGateway'+ { tags = Prelude.Nothing,+ gatewayName = pGatewayName_,+ gatewayPlatform = pGatewayPlatform_+ }++-- | A list of key-value pairs that contain metadata for the gateway. For+-- more information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html Tagging your IoT SiteWise resources>+-- in the /IoT SiteWise User Guide/.+createGateway_tags :: Lens.Lens' CreateGateway (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createGateway_tags = Lens.lens (\CreateGateway' {tags} -> tags) (\s@CreateGateway' {} a -> s {tags = a} :: CreateGateway) Prelude.. Lens.mapping Lens.coerced++-- | A unique, friendly name for the gateway.+createGateway_gatewayName :: Lens.Lens' CreateGateway Prelude.Text+createGateway_gatewayName = Lens.lens (\CreateGateway' {gatewayName} -> gatewayName) (\s@CreateGateway' {} a -> s {gatewayName = a} :: CreateGateway)++-- | The gateway\'s platform. You can only specify one platform in a gateway.+createGateway_gatewayPlatform :: Lens.Lens' CreateGateway GatewayPlatform+createGateway_gatewayPlatform = Lens.lens (\CreateGateway' {gatewayPlatform} -> gatewayPlatform) (\s@CreateGateway' {} a -> s {gatewayPlatform = a} :: CreateGateway)++instance Core.AWSRequest CreateGateway where+ type+ AWSResponse CreateGateway =+ CreateGatewayResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateGatewayResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "gatewayId")+ Prelude.<*> (x Data..:> "gatewayArn")+ )++instance Prelude.Hashable CreateGateway where+ hashWithSalt _salt CreateGateway' {..} =+ _salt+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` gatewayName+ `Prelude.hashWithSalt` gatewayPlatform++instance Prelude.NFData CreateGateway where+ rnf CreateGateway' {..} =+ Prelude.rnf tags+ `Prelude.seq` Prelude.rnf gatewayName+ `Prelude.seq` Prelude.rnf gatewayPlatform++instance Data.ToHeaders CreateGateway where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateGateway where+ toJSON CreateGateway' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("gatewayName" Data..= gatewayName),+ Prelude.Just+ ("gatewayPlatform" Data..= gatewayPlatform)+ ]+ )++instance Data.ToPath CreateGateway where+ toPath = Prelude.const "/20200301/gateways"++instance Data.ToQuery CreateGateway where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateGatewayResponse' smart constructor.+data CreateGatewayResponse = CreateGatewayResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The ID of the gateway device. You can use this ID when you call other+ -- IoT SiteWise APIs.+ gatewayId :: Prelude.Text,+ -- | The+ -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+ -- of the gateway, which has the following format.+ --+ -- @arn:${Partition}:iotsitewise:${Region}:${Account}:gateway\/${GatewayId}@+ gatewayArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateGatewayResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'createGatewayResponse_httpStatus' - The response's http status code.+--+-- 'gatewayId', 'createGatewayResponse_gatewayId' - The ID of the gateway device. You can use this ID when you call other+-- IoT SiteWise APIs.+--+-- 'gatewayArn', 'createGatewayResponse_gatewayArn' - The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of the gateway, which has the following format.+--+-- @arn:${Partition}:iotsitewise:${Region}:${Account}:gateway\/${GatewayId}@+newCreateGatewayResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'gatewayId'+ Prelude.Text ->+ -- | 'gatewayArn'+ Prelude.Text ->+ CreateGatewayResponse+newCreateGatewayResponse+ pHttpStatus_+ pGatewayId_+ pGatewayArn_ =+ CreateGatewayResponse'+ { httpStatus = pHttpStatus_,+ gatewayId = pGatewayId_,+ gatewayArn = pGatewayArn_+ }++-- | The response's http status code.+createGatewayResponse_httpStatus :: Lens.Lens' CreateGatewayResponse Prelude.Int+createGatewayResponse_httpStatus = Lens.lens (\CreateGatewayResponse' {httpStatus} -> httpStatus) (\s@CreateGatewayResponse' {} a -> s {httpStatus = a} :: CreateGatewayResponse)++-- | The ID of the gateway device. You can use this ID when you call other+-- IoT SiteWise APIs.+createGatewayResponse_gatewayId :: Lens.Lens' CreateGatewayResponse Prelude.Text+createGatewayResponse_gatewayId = Lens.lens (\CreateGatewayResponse' {gatewayId} -> gatewayId) (\s@CreateGatewayResponse' {} a -> s {gatewayId = a} :: CreateGatewayResponse)++-- | The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of the gateway, which has the following format.+--+-- @arn:${Partition}:iotsitewise:${Region}:${Account}:gateway\/${GatewayId}@+createGatewayResponse_gatewayArn :: Lens.Lens' CreateGatewayResponse Prelude.Text+createGatewayResponse_gatewayArn = Lens.lens (\CreateGatewayResponse' {gatewayArn} -> gatewayArn) (\s@CreateGatewayResponse' {} a -> s {gatewayArn = a} :: CreateGatewayResponse)++instance Prelude.NFData CreateGatewayResponse where+ rnf CreateGatewayResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf gatewayId+ `Prelude.seq` Prelude.rnf gatewayArn
+ gen/Amazonka/IoTSiteWise/CreatePortal.hs view
@@ -0,0 +1,504 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.CreatePortal+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/administer-portals.html#portal-change-admins Adding or removing portal administrators>+-- in the /IoT SiteWise User Guide/.+module Amazonka.IoTSiteWise.CreatePortal+ ( -- * Creating a Request+ CreatePortal (..),+ newCreatePortal,++ -- * Request Lenses+ createPortal_alarms,+ createPortal_clientToken,+ createPortal_notificationSenderEmail,+ createPortal_portalAuthMode,+ createPortal_portalDescription,+ createPortal_portalLogoImageFile,+ createPortal_tags,+ createPortal_portalName,+ createPortal_portalContactEmail,+ createPortal_roleArn,++ -- * Destructuring the Response+ CreatePortalResponse (..),+ newCreatePortalResponse,++ -- * Response Lenses+ createPortalResponse_httpStatus,+ createPortalResponse_portalId,+ createPortalResponse_portalArn,+ createPortalResponse_portalStartUrl,+ createPortalResponse_portalStatus,+ createPortalResponse_ssoApplicationId,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreatePortal' smart constructor.+data CreatePortal = CreatePortal'+ { -- | 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+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/appguide/monitor-alarms.html Monitoring with alarms>+ -- in the /IoT SiteWise Application Guide/.+ alarms :: Prelude.Maybe Alarms,+ -- | 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.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The email address that sends alarm notifications.+ --+ -- If you use the+ -- <https://docs.aws.amazon.com/iotevents/latest/developerguide/lambda-support.html IoT Events managed Lambda function>+ -- to manage your emails, you must+ -- <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-email-addresses.html verify the sender email address in Amazon SES>.+ notificationSenderEmail :: Prelude.Maybe Prelude.Text,+ -- | 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+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/monitor-get-started.html#mon-gs-sso 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 :: Prelude.Maybe AuthMode,+ -- | A description for the portal.+ portalDescription :: Prelude.Maybe Prelude.Text,+ -- | A logo image to display in the portal. Upload a square, high-resolution+ -- image. The image is displayed on a dark background.+ portalLogoImageFile :: Prelude.Maybe ImageFile,+ -- | A list of key-value pairs that contain metadata for the portal. For more+ -- information, see+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html Tagging your IoT SiteWise resources>+ -- in the /IoT SiteWise User Guide/.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | A friendly name for the portal.+ portalName :: Prelude.Text,+ -- | The Amazon Web Services administrator\'s contact email address.+ portalContactEmail :: Prelude.Text,+ -- | The+ -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+ -- of a service role that allows the portal\'s users to access your IoT+ -- SiteWise resources on your behalf. For more information, see+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/monitor-service-role.html Using service roles for IoT SiteWise Monitor>+ -- in the /IoT SiteWise User Guide/.+ roleArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreatePortal' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'alarms', 'createPortal_alarms' - 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/appguide/monitor-alarms.html Monitoring with alarms>+-- in the /IoT SiteWise Application Guide/.+--+-- 'clientToken', 'createPortal_clientToken' - A unique case-sensitive identifier that you can provide to ensure the+-- idempotency of the request. Don\'t reuse this client token if a new+-- idempotent request is required.+--+-- 'notificationSenderEmail', 'createPortal_notificationSenderEmail' - The email address that sends alarm notifications.+--+-- If you use the+-- <https://docs.aws.amazon.com/iotevents/latest/developerguide/lambda-support.html IoT Events managed Lambda function>+-- to manage your emails, you must+-- <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-email-addresses.html verify the sender email address in Amazon SES>.+--+-- 'portalAuthMode', 'createPortal_portalAuthMode' - 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/monitor-get-started.html#mon-gs-sso 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@+--+-- 'portalDescription', 'createPortal_portalDescription' - A description for the portal.+--+-- 'portalLogoImageFile', 'createPortal_portalLogoImageFile' - A logo image to display in the portal. Upload a square, high-resolution+-- image. The image is displayed on a dark background.+--+-- 'tags', 'createPortal_tags' - A list of key-value pairs that contain metadata for the portal. For more+-- information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html Tagging your IoT SiteWise resources>+-- in the /IoT SiteWise User Guide/.+--+-- 'portalName', 'createPortal_portalName' - A friendly name for the portal.+--+-- 'portalContactEmail', 'createPortal_portalContactEmail' - The Amazon Web Services administrator\'s contact email address.+--+-- 'roleArn', 'createPortal_roleArn' - The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of a service role that allows the portal\'s users to access your IoT+-- SiteWise resources on your behalf. For more information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/monitor-service-role.html Using service roles for IoT SiteWise Monitor>+-- in the /IoT SiteWise User Guide/.+newCreatePortal ::+ -- | 'portalName'+ Prelude.Text ->+ -- | 'portalContactEmail'+ Prelude.Text ->+ -- | 'roleArn'+ Prelude.Text ->+ CreatePortal+newCreatePortal+ pPortalName_+ pPortalContactEmail_+ pRoleArn_ =+ CreatePortal'+ { alarms = Prelude.Nothing,+ clientToken = Prelude.Nothing,+ notificationSenderEmail = Prelude.Nothing,+ portalAuthMode = Prelude.Nothing,+ portalDescription = Prelude.Nothing,+ portalLogoImageFile = Prelude.Nothing,+ tags = Prelude.Nothing,+ portalName = pPortalName_,+ portalContactEmail = pPortalContactEmail_,+ roleArn = pRoleArn_+ }++-- | 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/appguide/monitor-alarms.html Monitoring with alarms>+-- in the /IoT SiteWise Application Guide/.+createPortal_alarms :: Lens.Lens' CreatePortal (Prelude.Maybe Alarms)+createPortal_alarms = Lens.lens (\CreatePortal' {alarms} -> alarms) (\s@CreatePortal' {} a -> s {alarms = a} :: CreatePortal)++-- | 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.+createPortal_clientToken :: Lens.Lens' CreatePortal (Prelude.Maybe Prelude.Text)+createPortal_clientToken = Lens.lens (\CreatePortal' {clientToken} -> clientToken) (\s@CreatePortal' {} a -> s {clientToken = a} :: CreatePortal)++-- | The email address that sends alarm notifications.+--+-- If you use the+-- <https://docs.aws.amazon.com/iotevents/latest/developerguide/lambda-support.html IoT Events managed Lambda function>+-- to manage your emails, you must+-- <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-email-addresses.html verify the sender email address in Amazon SES>.+createPortal_notificationSenderEmail :: Lens.Lens' CreatePortal (Prelude.Maybe Prelude.Text)+createPortal_notificationSenderEmail = Lens.lens (\CreatePortal' {notificationSenderEmail} -> notificationSenderEmail) (\s@CreatePortal' {} a -> s {notificationSenderEmail = a} :: CreatePortal)++-- | 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/monitor-get-started.html#mon-gs-sso 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@+createPortal_portalAuthMode :: Lens.Lens' CreatePortal (Prelude.Maybe AuthMode)+createPortal_portalAuthMode = Lens.lens (\CreatePortal' {portalAuthMode} -> portalAuthMode) (\s@CreatePortal' {} a -> s {portalAuthMode = a} :: CreatePortal)++-- | A description for the portal.+createPortal_portalDescription :: Lens.Lens' CreatePortal (Prelude.Maybe Prelude.Text)+createPortal_portalDescription = Lens.lens (\CreatePortal' {portalDescription} -> portalDescription) (\s@CreatePortal' {} a -> s {portalDescription = a} :: CreatePortal)++-- | A logo image to display in the portal. Upload a square, high-resolution+-- image. The image is displayed on a dark background.+createPortal_portalLogoImageFile :: Lens.Lens' CreatePortal (Prelude.Maybe ImageFile)+createPortal_portalLogoImageFile = Lens.lens (\CreatePortal' {portalLogoImageFile} -> portalLogoImageFile) (\s@CreatePortal' {} a -> s {portalLogoImageFile = a} :: CreatePortal)++-- | A list of key-value pairs that contain metadata for the portal. For more+-- information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html Tagging your IoT SiteWise resources>+-- in the /IoT SiteWise User Guide/.+createPortal_tags :: Lens.Lens' CreatePortal (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createPortal_tags = Lens.lens (\CreatePortal' {tags} -> tags) (\s@CreatePortal' {} a -> s {tags = a} :: CreatePortal) Prelude.. Lens.mapping Lens.coerced++-- | A friendly name for the portal.+createPortal_portalName :: Lens.Lens' CreatePortal Prelude.Text+createPortal_portalName = Lens.lens (\CreatePortal' {portalName} -> portalName) (\s@CreatePortal' {} a -> s {portalName = a} :: CreatePortal)++-- | The Amazon Web Services administrator\'s contact email address.+createPortal_portalContactEmail :: Lens.Lens' CreatePortal Prelude.Text+createPortal_portalContactEmail = Lens.lens (\CreatePortal' {portalContactEmail} -> portalContactEmail) (\s@CreatePortal' {} a -> s {portalContactEmail = a} :: CreatePortal)++-- | The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of a service role that allows the portal\'s users to access your IoT+-- SiteWise resources on your behalf. For more information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/monitor-service-role.html Using service roles for IoT SiteWise Monitor>+-- in the /IoT SiteWise User Guide/.+createPortal_roleArn :: Lens.Lens' CreatePortal Prelude.Text+createPortal_roleArn = Lens.lens (\CreatePortal' {roleArn} -> roleArn) (\s@CreatePortal' {} a -> s {roleArn = a} :: CreatePortal)++instance Core.AWSRequest CreatePortal where+ type AWSResponse CreatePortal = CreatePortalResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreatePortalResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "portalId")+ Prelude.<*> (x Data..:> "portalArn")+ Prelude.<*> (x Data..:> "portalStartUrl")+ Prelude.<*> (x Data..:> "portalStatus")+ Prelude.<*> (x Data..:> "ssoApplicationId")+ )++instance Prelude.Hashable CreatePortal where+ hashWithSalt _salt CreatePortal' {..} =+ _salt+ `Prelude.hashWithSalt` alarms+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` notificationSenderEmail+ `Prelude.hashWithSalt` portalAuthMode+ `Prelude.hashWithSalt` portalDescription+ `Prelude.hashWithSalt` portalLogoImageFile+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` portalName+ `Prelude.hashWithSalt` portalContactEmail+ `Prelude.hashWithSalt` roleArn++instance Prelude.NFData CreatePortal where+ rnf CreatePortal' {..} =+ Prelude.rnf alarms+ `Prelude.seq` Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf notificationSenderEmail+ `Prelude.seq` Prelude.rnf portalAuthMode+ `Prelude.seq` Prelude.rnf portalDescription+ `Prelude.seq` Prelude.rnf portalLogoImageFile+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf portalName+ `Prelude.seq` Prelude.rnf portalContactEmail+ `Prelude.seq` Prelude.rnf roleArn++instance Data.ToHeaders CreatePortal where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreatePortal where+ toJSON CreatePortal' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("alarms" Data..=) Prelude.<$> alarms,+ ("clientToken" Data..=) Prelude.<$> clientToken,+ ("notificationSenderEmail" Data..=)+ Prelude.<$> notificationSenderEmail,+ ("portalAuthMode" Data..=)+ Prelude.<$> portalAuthMode,+ ("portalDescription" Data..=)+ Prelude.<$> portalDescription,+ ("portalLogoImageFile" Data..=)+ Prelude.<$> portalLogoImageFile,+ ("tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("portalName" Data..= portalName),+ Prelude.Just+ ("portalContactEmail" Data..= portalContactEmail),+ Prelude.Just ("roleArn" Data..= roleArn)+ ]+ )++instance Data.ToPath CreatePortal where+ toPath = Prelude.const "/portals"++instance Data.ToQuery CreatePortal where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreatePortalResponse' smart constructor.+data CreatePortalResponse = CreatePortalResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The ID of the created portal.+ portalId :: Prelude.Text,+ -- | The+ -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+ -- of the portal, which has the following format.+ --+ -- @arn:${Partition}:iotsitewise:${Region}:${Account}:portal\/${PortalId}@+ portalArn :: Prelude.Text,+ -- | 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.+ portalStartUrl :: Prelude.Text,+ -- | The status of the portal, which contains a state (@CREATING@ after+ -- successfully calling this operation) and any error message.+ portalStatus :: PortalStatus,+ -- | The associated IAM Identity Center application ID, if the portal uses+ -- IAM Identity Center.+ ssoApplicationId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreatePortalResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'createPortalResponse_httpStatus' - The response's http status code.+--+-- 'portalId', 'createPortalResponse_portalId' - The ID of the created portal.+--+-- 'portalArn', 'createPortalResponse_portalArn' - The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of the portal, which has the following format.+--+-- @arn:${Partition}:iotsitewise:${Region}:${Account}:portal\/${PortalId}@+--+-- 'portalStartUrl', 'createPortalResponse_portalStartUrl' - 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.+--+-- 'portalStatus', 'createPortalResponse_portalStatus' - The status of the portal, which contains a state (@CREATING@ after+-- successfully calling this operation) and any error message.+--+-- 'ssoApplicationId', 'createPortalResponse_ssoApplicationId' - The associated IAM Identity Center application ID, if the portal uses+-- IAM Identity Center.+newCreatePortalResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'portalId'+ Prelude.Text ->+ -- | 'portalArn'+ Prelude.Text ->+ -- | 'portalStartUrl'+ Prelude.Text ->+ -- | 'portalStatus'+ PortalStatus ->+ -- | 'ssoApplicationId'+ Prelude.Text ->+ CreatePortalResponse+newCreatePortalResponse+ pHttpStatus_+ pPortalId_+ pPortalArn_+ pPortalStartUrl_+ pPortalStatus_+ pSsoApplicationId_ =+ CreatePortalResponse'+ { httpStatus = pHttpStatus_,+ portalId = pPortalId_,+ portalArn = pPortalArn_,+ portalStartUrl = pPortalStartUrl_,+ portalStatus = pPortalStatus_,+ ssoApplicationId = pSsoApplicationId_+ }++-- | The response's http status code.+createPortalResponse_httpStatus :: Lens.Lens' CreatePortalResponse Prelude.Int+createPortalResponse_httpStatus = Lens.lens (\CreatePortalResponse' {httpStatus} -> httpStatus) (\s@CreatePortalResponse' {} a -> s {httpStatus = a} :: CreatePortalResponse)++-- | The ID of the created portal.+createPortalResponse_portalId :: Lens.Lens' CreatePortalResponse Prelude.Text+createPortalResponse_portalId = Lens.lens (\CreatePortalResponse' {portalId} -> portalId) (\s@CreatePortalResponse' {} a -> s {portalId = a} :: CreatePortalResponse)++-- | The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of the portal, which has the following format.+--+-- @arn:${Partition}:iotsitewise:${Region}:${Account}:portal\/${PortalId}@+createPortalResponse_portalArn :: Lens.Lens' CreatePortalResponse Prelude.Text+createPortalResponse_portalArn = Lens.lens (\CreatePortalResponse' {portalArn} -> portalArn) (\s@CreatePortalResponse' {} a -> s {portalArn = a} :: CreatePortalResponse)++-- | 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.+createPortalResponse_portalStartUrl :: Lens.Lens' CreatePortalResponse Prelude.Text+createPortalResponse_portalStartUrl = Lens.lens (\CreatePortalResponse' {portalStartUrl} -> portalStartUrl) (\s@CreatePortalResponse' {} a -> s {portalStartUrl = a} :: CreatePortalResponse)++-- | The status of the portal, which contains a state (@CREATING@ after+-- successfully calling this operation) and any error message.+createPortalResponse_portalStatus :: Lens.Lens' CreatePortalResponse PortalStatus+createPortalResponse_portalStatus = Lens.lens (\CreatePortalResponse' {portalStatus} -> portalStatus) (\s@CreatePortalResponse' {} a -> s {portalStatus = a} :: CreatePortalResponse)++-- | The associated IAM Identity Center application ID, if the portal uses+-- IAM Identity Center.+createPortalResponse_ssoApplicationId :: Lens.Lens' CreatePortalResponse Prelude.Text+createPortalResponse_ssoApplicationId = Lens.lens (\CreatePortalResponse' {ssoApplicationId} -> ssoApplicationId) (\s@CreatePortalResponse' {} a -> s {ssoApplicationId = a} :: CreatePortalResponse)++instance Prelude.NFData CreatePortalResponse where+ rnf CreatePortalResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf portalId+ `Prelude.seq` Prelude.rnf portalArn+ `Prelude.seq` Prelude.rnf portalStartUrl+ `Prelude.seq` Prelude.rnf portalStatus+ `Prelude.seq` Prelude.rnf ssoApplicationId
+ gen/Amazonka/IoTSiteWise/CreateProject.hs view
@@ -0,0 +1,272 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.CreateProject+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a project in the specified portal.+--+-- Make sure that the project name and description don\'t contain+-- confidential information.+module Amazonka.IoTSiteWise.CreateProject+ ( -- * Creating a Request+ CreateProject (..),+ newCreateProject,++ -- * Request Lenses+ createProject_clientToken,+ createProject_projectDescription,+ createProject_tags,+ createProject_portalId,+ createProject_projectName,++ -- * Destructuring the Response+ CreateProjectResponse (..),+ newCreateProjectResponse,++ -- * Response Lenses+ createProjectResponse_httpStatus,+ createProjectResponse_projectId,+ createProjectResponse_projectArn,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateProject' smart constructor.+data CreateProject = CreateProject'+ { -- | 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.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | A description for the project.+ projectDescription :: Prelude.Maybe Prelude.Text,+ -- | A list of key-value pairs that contain metadata for the project. For+ -- more information, see+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html Tagging your IoT SiteWise resources>+ -- in the /IoT SiteWise User Guide/.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The ID of the portal in which to create the project.+ portalId :: Prelude.Text,+ -- | A friendly name for the project.+ projectName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateProject' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'createProject_clientToken' - A unique case-sensitive identifier that you can provide to ensure the+-- idempotency of the request. Don\'t reuse this client token if a new+-- idempotent request is required.+--+-- 'projectDescription', 'createProject_projectDescription' - A description for the project.+--+-- 'tags', 'createProject_tags' - A list of key-value pairs that contain metadata for the project. For+-- more information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html Tagging your IoT SiteWise resources>+-- in the /IoT SiteWise User Guide/.+--+-- 'portalId', 'createProject_portalId' - The ID of the portal in which to create the project.+--+-- 'projectName', 'createProject_projectName' - A friendly name for the project.+newCreateProject ::+ -- | 'portalId'+ Prelude.Text ->+ -- | 'projectName'+ Prelude.Text ->+ CreateProject+newCreateProject pPortalId_ pProjectName_ =+ CreateProject'+ { clientToken = Prelude.Nothing,+ projectDescription = Prelude.Nothing,+ tags = Prelude.Nothing,+ portalId = pPortalId_,+ projectName = pProjectName_+ }++-- | 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.+createProject_clientToken :: Lens.Lens' CreateProject (Prelude.Maybe Prelude.Text)+createProject_clientToken = Lens.lens (\CreateProject' {clientToken} -> clientToken) (\s@CreateProject' {} a -> s {clientToken = a} :: CreateProject)++-- | A description for the project.+createProject_projectDescription :: Lens.Lens' CreateProject (Prelude.Maybe Prelude.Text)+createProject_projectDescription = Lens.lens (\CreateProject' {projectDescription} -> projectDescription) (\s@CreateProject' {} a -> s {projectDescription = a} :: CreateProject)++-- | A list of key-value pairs that contain metadata for the project. For+-- more information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html Tagging your IoT SiteWise resources>+-- in the /IoT SiteWise User Guide/.+createProject_tags :: Lens.Lens' CreateProject (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createProject_tags = Lens.lens (\CreateProject' {tags} -> tags) (\s@CreateProject' {} a -> s {tags = a} :: CreateProject) Prelude.. Lens.mapping Lens.coerced++-- | The ID of the portal in which to create the project.+createProject_portalId :: Lens.Lens' CreateProject Prelude.Text+createProject_portalId = Lens.lens (\CreateProject' {portalId} -> portalId) (\s@CreateProject' {} a -> s {portalId = a} :: CreateProject)++-- | A friendly name for the project.+createProject_projectName :: Lens.Lens' CreateProject Prelude.Text+createProject_projectName = Lens.lens (\CreateProject' {projectName} -> projectName) (\s@CreateProject' {} a -> s {projectName = a} :: CreateProject)++instance Core.AWSRequest CreateProject where+ type+ AWSResponse CreateProject =+ CreateProjectResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateProjectResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "projectId")+ Prelude.<*> (x Data..:> "projectArn")+ )++instance Prelude.Hashable CreateProject where+ hashWithSalt _salt CreateProject' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` projectDescription+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` portalId+ `Prelude.hashWithSalt` projectName++instance Prelude.NFData CreateProject where+ rnf CreateProject' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf projectDescription+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf portalId+ `Prelude.seq` Prelude.rnf projectName++instance Data.ToHeaders CreateProject where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateProject where+ toJSON CreateProject' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("clientToken" Data..=) Prelude.<$> clientToken,+ ("projectDescription" Data..=)+ Prelude.<$> projectDescription,+ ("tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("portalId" Data..= portalId),+ Prelude.Just ("projectName" Data..= projectName)+ ]+ )++instance Data.ToPath CreateProject where+ toPath = Prelude.const "/projects"++instance Data.ToQuery CreateProject where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateProjectResponse' smart constructor.+data CreateProjectResponse = CreateProjectResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The ID of the project.+ projectId :: Prelude.Text,+ -- | The+ -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+ -- of the project, which has the following format.+ --+ -- @arn:${Partition}:iotsitewise:${Region}:${Account}:project\/${ProjectId}@+ projectArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateProjectResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'createProjectResponse_httpStatus' - The response's http status code.+--+-- 'projectId', 'createProjectResponse_projectId' - The ID of the project.+--+-- 'projectArn', 'createProjectResponse_projectArn' - The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of the project, which has the following format.+--+-- @arn:${Partition}:iotsitewise:${Region}:${Account}:project\/${ProjectId}@+newCreateProjectResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'projectId'+ Prelude.Text ->+ -- | 'projectArn'+ Prelude.Text ->+ CreateProjectResponse+newCreateProjectResponse+ pHttpStatus_+ pProjectId_+ pProjectArn_ =+ CreateProjectResponse'+ { httpStatus = pHttpStatus_,+ projectId = pProjectId_,+ projectArn = pProjectArn_+ }++-- | The response's http status code.+createProjectResponse_httpStatus :: Lens.Lens' CreateProjectResponse Prelude.Int+createProjectResponse_httpStatus = Lens.lens (\CreateProjectResponse' {httpStatus} -> httpStatus) (\s@CreateProjectResponse' {} a -> s {httpStatus = a} :: CreateProjectResponse)++-- | The ID of the project.+createProjectResponse_projectId :: Lens.Lens' CreateProjectResponse Prelude.Text+createProjectResponse_projectId = Lens.lens (\CreateProjectResponse' {projectId} -> projectId) (\s@CreateProjectResponse' {} a -> s {projectId = a} :: CreateProjectResponse)++-- | The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of the project, which has the following format.+--+-- @arn:${Partition}:iotsitewise:${Region}:${Account}:project\/${ProjectId}@+createProjectResponse_projectArn :: Lens.Lens' CreateProjectResponse Prelude.Text+createProjectResponse_projectArn = Lens.lens (\CreateProjectResponse' {projectArn} -> projectArn) (\s@CreateProjectResponse' {} a -> s {projectArn = a} :: CreateProjectResponse)++instance Prelude.NFData CreateProjectResponse where+ rnf CreateProjectResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf projectId+ `Prelude.seq` Prelude.rnf projectArn
+ gen/Amazonka/IoTSiteWise/DeleteAccessPolicy.hs view
@@ -0,0 +1,172 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.DeleteAccessPolicy+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- 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.+module Amazonka.IoTSiteWise.DeleteAccessPolicy+ ( -- * Creating a Request+ DeleteAccessPolicy (..),+ newDeleteAccessPolicy,++ -- * Request Lenses+ deleteAccessPolicy_clientToken,+ deleteAccessPolicy_accessPolicyId,++ -- * Destructuring the Response+ DeleteAccessPolicyResponse (..),+ newDeleteAccessPolicyResponse,++ -- * Response Lenses+ deleteAccessPolicyResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteAccessPolicy' smart constructor.+data DeleteAccessPolicy = DeleteAccessPolicy'+ { -- | 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.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The ID of the access policy to be deleted.+ accessPolicyId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAccessPolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'deleteAccessPolicy_clientToken' - A unique case-sensitive identifier that you can provide to ensure the+-- idempotency of the request. Don\'t reuse this client token if a new+-- idempotent request is required.+--+-- 'accessPolicyId', 'deleteAccessPolicy_accessPolicyId' - The ID of the access policy to be deleted.+newDeleteAccessPolicy ::+ -- | 'accessPolicyId'+ Prelude.Text ->+ DeleteAccessPolicy+newDeleteAccessPolicy pAccessPolicyId_ =+ DeleteAccessPolicy'+ { clientToken = Prelude.Nothing,+ accessPolicyId = pAccessPolicyId_+ }++-- | 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.+deleteAccessPolicy_clientToken :: Lens.Lens' DeleteAccessPolicy (Prelude.Maybe Prelude.Text)+deleteAccessPolicy_clientToken = Lens.lens (\DeleteAccessPolicy' {clientToken} -> clientToken) (\s@DeleteAccessPolicy' {} a -> s {clientToken = a} :: DeleteAccessPolicy)++-- | The ID of the access policy to be deleted.+deleteAccessPolicy_accessPolicyId :: Lens.Lens' DeleteAccessPolicy Prelude.Text+deleteAccessPolicy_accessPolicyId = Lens.lens (\DeleteAccessPolicy' {accessPolicyId} -> accessPolicyId) (\s@DeleteAccessPolicy' {} a -> s {accessPolicyId = a} :: DeleteAccessPolicy)++instance Core.AWSRequest DeleteAccessPolicy where+ type+ AWSResponse DeleteAccessPolicy =+ DeleteAccessPolicyResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeleteAccessPolicyResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteAccessPolicy where+ hashWithSalt _salt DeleteAccessPolicy' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` accessPolicyId++instance Prelude.NFData DeleteAccessPolicy where+ rnf DeleteAccessPolicy' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf accessPolicyId++instance Data.ToHeaders DeleteAccessPolicy where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DeleteAccessPolicy where+ toPath DeleteAccessPolicy' {..} =+ Prelude.mconcat+ ["/access-policies/", Data.toBS accessPolicyId]++instance Data.ToQuery DeleteAccessPolicy where+ toQuery DeleteAccessPolicy' {..} =+ Prelude.mconcat ["clientToken" Data.=: clientToken]++-- | /See:/ 'newDeleteAccessPolicyResponse' smart constructor.+data DeleteAccessPolicyResponse = DeleteAccessPolicyResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAccessPolicyResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'deleteAccessPolicyResponse_httpStatus' - The response's http status code.+newDeleteAccessPolicyResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteAccessPolicyResponse+newDeleteAccessPolicyResponse pHttpStatus_ =+ DeleteAccessPolicyResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+deleteAccessPolicyResponse_httpStatus :: Lens.Lens' DeleteAccessPolicyResponse Prelude.Int+deleteAccessPolicyResponse_httpStatus = Lens.lens (\DeleteAccessPolicyResponse' {httpStatus} -> httpStatus) (\s@DeleteAccessPolicyResponse' {} a -> s {httpStatus = a} :: DeleteAccessPolicyResponse)++instance Prelude.NFData DeleteAccessPolicyResponse where+ rnf DeleteAccessPolicyResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/IoTSiteWise/DeleteAsset.hs view
@@ -0,0 +1,190 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.DeleteAsset+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes an asset. This action can\'t be undone. For more information,+-- see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/delete-assets-and-models.html 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DisassociateAssets.html DisassociateAssets>.+module Amazonka.IoTSiteWise.DeleteAsset+ ( -- * Creating a Request+ DeleteAsset (..),+ newDeleteAsset,++ -- * Request Lenses+ deleteAsset_clientToken,+ deleteAsset_assetId,++ -- * Destructuring the Response+ DeleteAssetResponse (..),+ newDeleteAssetResponse,++ -- * Response Lenses+ deleteAssetResponse_httpStatus,+ deleteAssetResponse_assetStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteAsset' smart constructor.+data DeleteAsset = DeleteAsset'+ { -- | 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.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The ID of the asset to delete.+ assetId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAsset' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'deleteAsset_clientToken' - A unique case-sensitive identifier that you can provide to ensure the+-- idempotency of the request. Don\'t reuse this client token if a new+-- idempotent request is required.+--+-- 'assetId', 'deleteAsset_assetId' - The ID of the asset to delete.+newDeleteAsset ::+ -- | 'assetId'+ Prelude.Text ->+ DeleteAsset+newDeleteAsset pAssetId_ =+ DeleteAsset'+ { clientToken = Prelude.Nothing,+ assetId = pAssetId_+ }++-- | 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.+deleteAsset_clientToken :: Lens.Lens' DeleteAsset (Prelude.Maybe Prelude.Text)+deleteAsset_clientToken = Lens.lens (\DeleteAsset' {clientToken} -> clientToken) (\s@DeleteAsset' {} a -> s {clientToken = a} :: DeleteAsset)++-- | The ID of the asset to delete.+deleteAsset_assetId :: Lens.Lens' DeleteAsset Prelude.Text+deleteAsset_assetId = Lens.lens (\DeleteAsset' {assetId} -> assetId) (\s@DeleteAsset' {} a -> s {assetId = a} :: DeleteAsset)++instance Core.AWSRequest DeleteAsset where+ type AWSResponse DeleteAsset = DeleteAssetResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeleteAssetResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "assetStatus")+ )++instance Prelude.Hashable DeleteAsset where+ hashWithSalt _salt DeleteAsset' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` assetId++instance Prelude.NFData DeleteAsset where+ rnf DeleteAsset' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf assetId++instance Data.ToHeaders DeleteAsset where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DeleteAsset where+ toPath DeleteAsset' {..} =+ Prelude.mconcat ["/assets/", Data.toBS assetId]++instance Data.ToQuery DeleteAsset where+ toQuery DeleteAsset' {..} =+ Prelude.mconcat ["clientToken" Data.=: clientToken]++-- | /See:/ 'newDeleteAssetResponse' smart constructor.+data DeleteAssetResponse = DeleteAssetResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The status of the asset, which contains a state (@DELETING@ after+ -- successfully calling this operation) and any error message.+ assetStatus :: AssetStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAssetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'deleteAssetResponse_httpStatus' - The response's http status code.+--+-- 'assetStatus', 'deleteAssetResponse_assetStatus' - The status of the asset, which contains a state (@DELETING@ after+-- successfully calling this operation) and any error message.+newDeleteAssetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'assetStatus'+ AssetStatus ->+ DeleteAssetResponse+newDeleteAssetResponse pHttpStatus_ pAssetStatus_ =+ DeleteAssetResponse'+ { httpStatus = pHttpStatus_,+ assetStatus = pAssetStatus_+ }++-- | The response's http status code.+deleteAssetResponse_httpStatus :: Lens.Lens' DeleteAssetResponse Prelude.Int+deleteAssetResponse_httpStatus = Lens.lens (\DeleteAssetResponse' {httpStatus} -> httpStatus) (\s@DeleteAssetResponse' {} a -> s {httpStatus = a} :: DeleteAssetResponse)++-- | The status of the asset, which contains a state (@DELETING@ after+-- successfully calling this operation) and any error message.+deleteAssetResponse_assetStatus :: Lens.Lens' DeleteAssetResponse AssetStatus+deleteAssetResponse_assetStatus = Lens.lens (\DeleteAssetResponse' {assetStatus} -> assetStatus) (\s@DeleteAssetResponse' {} a -> s {assetStatus = a} :: DeleteAssetResponse)++instance Prelude.NFData DeleteAssetResponse where+ rnf DeleteAssetResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf assetStatus
+ gen/Amazonka/IoTSiteWise/DeleteAssetModel.hs view
@@ -0,0 +1,195 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.DeleteAssetModel+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/delete-assets-and-models.html Deleting assets and models>+-- in the /IoT SiteWise User Guide/.+module Amazonka.IoTSiteWise.DeleteAssetModel+ ( -- * Creating a Request+ DeleteAssetModel (..),+ newDeleteAssetModel,++ -- * Request Lenses+ deleteAssetModel_clientToken,+ deleteAssetModel_assetModelId,++ -- * Destructuring the Response+ DeleteAssetModelResponse (..),+ newDeleteAssetModelResponse,++ -- * Response Lenses+ deleteAssetModelResponse_httpStatus,+ deleteAssetModelResponse_assetModelStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteAssetModel' smart constructor.+data DeleteAssetModel = DeleteAssetModel'+ { -- | 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.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The ID of the asset model to delete.+ assetModelId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAssetModel' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'deleteAssetModel_clientToken' - A unique case-sensitive identifier that you can provide to ensure the+-- idempotency of the request. Don\'t reuse this client token if a new+-- idempotent request is required.+--+-- 'assetModelId', 'deleteAssetModel_assetModelId' - The ID of the asset model to delete.+newDeleteAssetModel ::+ -- | 'assetModelId'+ Prelude.Text ->+ DeleteAssetModel+newDeleteAssetModel pAssetModelId_ =+ DeleteAssetModel'+ { clientToken = Prelude.Nothing,+ assetModelId = pAssetModelId_+ }++-- | 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.+deleteAssetModel_clientToken :: Lens.Lens' DeleteAssetModel (Prelude.Maybe Prelude.Text)+deleteAssetModel_clientToken = Lens.lens (\DeleteAssetModel' {clientToken} -> clientToken) (\s@DeleteAssetModel' {} a -> s {clientToken = a} :: DeleteAssetModel)++-- | The ID of the asset model to delete.+deleteAssetModel_assetModelId :: Lens.Lens' DeleteAssetModel Prelude.Text+deleteAssetModel_assetModelId = Lens.lens (\DeleteAssetModel' {assetModelId} -> assetModelId) (\s@DeleteAssetModel' {} a -> s {assetModelId = a} :: DeleteAssetModel)++instance Core.AWSRequest DeleteAssetModel where+ type+ AWSResponse DeleteAssetModel =+ DeleteAssetModelResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeleteAssetModelResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "assetModelStatus")+ )++instance Prelude.Hashable DeleteAssetModel where+ hashWithSalt _salt DeleteAssetModel' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` assetModelId++instance Prelude.NFData DeleteAssetModel where+ rnf DeleteAssetModel' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf assetModelId++instance Data.ToHeaders DeleteAssetModel where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DeleteAssetModel where+ toPath DeleteAssetModel' {..} =+ Prelude.mconcat+ ["/asset-models/", Data.toBS assetModelId]++instance Data.ToQuery DeleteAssetModel where+ toQuery DeleteAssetModel' {..} =+ Prelude.mconcat ["clientToken" Data.=: clientToken]++-- | /See:/ 'newDeleteAssetModelResponse' smart constructor.+data DeleteAssetModelResponse = DeleteAssetModelResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The status of the asset model, which contains a state (@DELETING@ after+ -- successfully calling this operation) and any error message.+ assetModelStatus :: AssetModelStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAssetModelResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'deleteAssetModelResponse_httpStatus' - The response's http status code.+--+-- 'assetModelStatus', 'deleteAssetModelResponse_assetModelStatus' - The status of the asset model, which contains a state (@DELETING@ after+-- successfully calling this operation) and any error message.+newDeleteAssetModelResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'assetModelStatus'+ AssetModelStatus ->+ DeleteAssetModelResponse+newDeleteAssetModelResponse+ pHttpStatus_+ pAssetModelStatus_ =+ DeleteAssetModelResponse'+ { httpStatus =+ pHttpStatus_,+ assetModelStatus = pAssetModelStatus_+ }++-- | The response's http status code.+deleteAssetModelResponse_httpStatus :: Lens.Lens' DeleteAssetModelResponse Prelude.Int+deleteAssetModelResponse_httpStatus = Lens.lens (\DeleteAssetModelResponse' {httpStatus} -> httpStatus) (\s@DeleteAssetModelResponse' {} a -> s {httpStatus = a} :: DeleteAssetModelResponse)++-- | The status of the asset model, which contains a state (@DELETING@ after+-- successfully calling this operation) and any error message.+deleteAssetModelResponse_assetModelStatus :: Lens.Lens' DeleteAssetModelResponse AssetModelStatus+deleteAssetModelResponse_assetModelStatus = Lens.lens (\DeleteAssetModelResponse' {assetModelStatus} -> assetModelStatus) (\s@DeleteAssetModelResponse' {} a -> s {assetModelStatus = a} :: DeleteAssetModelResponse)++instance Prelude.NFData DeleteAssetModelResponse where+ rnf DeleteAssetModelResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf assetModelStatus
+ gen/Amazonka/IoTSiteWise/DeleteDashboard.hs view
@@ -0,0 +1,167 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.DeleteDashboard+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a dashboard from IoT SiteWise Monitor.+module Amazonka.IoTSiteWise.DeleteDashboard+ ( -- * Creating a Request+ DeleteDashboard (..),+ newDeleteDashboard,++ -- * Request Lenses+ deleteDashboard_clientToken,+ deleteDashboard_dashboardId,++ -- * Destructuring the Response+ DeleteDashboardResponse (..),+ newDeleteDashboardResponse,++ -- * Response Lenses+ deleteDashboardResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteDashboard' smart constructor.+data DeleteDashboard = DeleteDashboard'+ { -- | 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.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The ID of the dashboard to delete.+ dashboardId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDashboard' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'deleteDashboard_clientToken' - A unique case-sensitive identifier that you can provide to ensure the+-- idempotency of the request. Don\'t reuse this client token if a new+-- idempotent request is required.+--+-- 'dashboardId', 'deleteDashboard_dashboardId' - The ID of the dashboard to delete.+newDeleteDashboard ::+ -- | 'dashboardId'+ Prelude.Text ->+ DeleteDashboard+newDeleteDashboard pDashboardId_ =+ DeleteDashboard'+ { clientToken = Prelude.Nothing,+ dashboardId = pDashboardId_+ }++-- | 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.+deleteDashboard_clientToken :: Lens.Lens' DeleteDashboard (Prelude.Maybe Prelude.Text)+deleteDashboard_clientToken = Lens.lens (\DeleteDashboard' {clientToken} -> clientToken) (\s@DeleteDashboard' {} a -> s {clientToken = a} :: DeleteDashboard)++-- | The ID of the dashboard to delete.+deleteDashboard_dashboardId :: Lens.Lens' DeleteDashboard Prelude.Text+deleteDashboard_dashboardId = Lens.lens (\DeleteDashboard' {dashboardId} -> dashboardId) (\s@DeleteDashboard' {} a -> s {dashboardId = a} :: DeleteDashboard)++instance Core.AWSRequest DeleteDashboard where+ type+ AWSResponse DeleteDashboard =+ DeleteDashboardResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeleteDashboardResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteDashboard where+ hashWithSalt _salt DeleteDashboard' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` dashboardId++instance Prelude.NFData DeleteDashboard where+ rnf DeleteDashboard' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf dashboardId++instance Data.ToHeaders DeleteDashboard where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DeleteDashboard where+ toPath DeleteDashboard' {..} =+ Prelude.mconcat+ ["/dashboards/", Data.toBS dashboardId]++instance Data.ToQuery DeleteDashboard where+ toQuery DeleteDashboard' {..} =+ Prelude.mconcat ["clientToken" Data.=: clientToken]++-- | /See:/ 'newDeleteDashboardResponse' smart constructor.+data DeleteDashboardResponse = DeleteDashboardResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDashboardResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'deleteDashboardResponse_httpStatus' - The response's http status code.+newDeleteDashboardResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteDashboardResponse+newDeleteDashboardResponse pHttpStatus_ =+ DeleteDashboardResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+deleteDashboardResponse_httpStatus :: Lens.Lens' DeleteDashboardResponse Prelude.Int+deleteDashboardResponse_httpStatus = Lens.lens (\DeleteDashboardResponse' {httpStatus} -> httpStatus) (\s@DeleteDashboardResponse' {} a -> s {httpStatus = a} :: DeleteDashboardResponse)++instance Prelude.NFData DeleteDashboardResponse where+ rnf DeleteDashboardResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/IoTSiteWise/DeleteGateway.hs view
@@ -0,0 +1,124 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.DeleteGateway+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a gateway from IoT SiteWise. When you delete a gateway, some of+-- the gateway\'s files remain in your gateway\'s file system.+module Amazonka.IoTSiteWise.DeleteGateway+ ( -- * Creating a Request+ DeleteGateway (..),+ newDeleteGateway,++ -- * Request Lenses+ deleteGateway_gatewayId,++ -- * Destructuring the Response+ DeleteGatewayResponse (..),+ newDeleteGatewayResponse,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteGateway' smart constructor.+data DeleteGateway = DeleteGateway'+ { -- | The ID of the gateway to delete.+ gatewayId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteGateway' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'gatewayId', 'deleteGateway_gatewayId' - The ID of the gateway to delete.+newDeleteGateway ::+ -- | 'gatewayId'+ Prelude.Text ->+ DeleteGateway+newDeleteGateway pGatewayId_ =+ DeleteGateway' {gatewayId = pGatewayId_}++-- | The ID of the gateway to delete.+deleteGateway_gatewayId :: Lens.Lens' DeleteGateway Prelude.Text+deleteGateway_gatewayId = Lens.lens (\DeleteGateway' {gatewayId} -> gatewayId) (\s@DeleteGateway' {} a -> s {gatewayId = a} :: DeleteGateway)++instance Core.AWSRequest DeleteGateway where+ type+ AWSResponse DeleteGateway =+ DeleteGatewayResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveNull DeleteGatewayResponse'++instance Prelude.Hashable DeleteGateway where+ hashWithSalt _salt DeleteGateway' {..} =+ _salt `Prelude.hashWithSalt` gatewayId++instance Prelude.NFData DeleteGateway where+ rnf DeleteGateway' {..} = Prelude.rnf gatewayId++instance Data.ToHeaders DeleteGateway where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DeleteGateway where+ toPath DeleteGateway' {..} =+ Prelude.mconcat+ ["/20200301/gateways/", Data.toBS gatewayId]++instance Data.ToQuery DeleteGateway where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteGatewayResponse' smart constructor.+data DeleteGatewayResponse = DeleteGatewayResponse'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteGatewayResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newDeleteGatewayResponse ::+ DeleteGatewayResponse+newDeleteGatewayResponse = DeleteGatewayResponse'++instance Prelude.NFData DeleteGatewayResponse where+ rnf _ = ()
+ gen/Amazonka/IoTSiteWise/DeletePortal.hs view
@@ -0,0 +1,183 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.DeletePortal+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a portal from IoT SiteWise Monitor.+module Amazonka.IoTSiteWise.DeletePortal+ ( -- * Creating a Request+ DeletePortal (..),+ newDeletePortal,++ -- * Request Lenses+ deletePortal_clientToken,+ deletePortal_portalId,++ -- * Destructuring the Response+ DeletePortalResponse (..),+ newDeletePortalResponse,++ -- * Response Lenses+ deletePortalResponse_httpStatus,+ deletePortalResponse_portalStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeletePortal' smart constructor.+data DeletePortal = DeletePortal'+ { -- | 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.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The ID of the portal to delete.+ portalId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeletePortal' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'deletePortal_clientToken' - A unique case-sensitive identifier that you can provide to ensure the+-- idempotency of the request. Don\'t reuse this client token if a new+-- idempotent request is required.+--+-- 'portalId', 'deletePortal_portalId' - The ID of the portal to delete.+newDeletePortal ::+ -- | 'portalId'+ Prelude.Text ->+ DeletePortal+newDeletePortal pPortalId_ =+ DeletePortal'+ { clientToken = Prelude.Nothing,+ portalId = pPortalId_+ }++-- | 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.+deletePortal_clientToken :: Lens.Lens' DeletePortal (Prelude.Maybe Prelude.Text)+deletePortal_clientToken = Lens.lens (\DeletePortal' {clientToken} -> clientToken) (\s@DeletePortal' {} a -> s {clientToken = a} :: DeletePortal)++-- | The ID of the portal to delete.+deletePortal_portalId :: Lens.Lens' DeletePortal Prelude.Text+deletePortal_portalId = Lens.lens (\DeletePortal' {portalId} -> portalId) (\s@DeletePortal' {} a -> s {portalId = a} :: DeletePortal)++instance Core.AWSRequest DeletePortal where+ type AWSResponse DeletePortal = DeletePortalResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeletePortalResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "portalStatus")+ )++instance Prelude.Hashable DeletePortal where+ hashWithSalt _salt DeletePortal' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` portalId++instance Prelude.NFData DeletePortal where+ rnf DeletePortal' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf portalId++instance Data.ToHeaders DeletePortal where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DeletePortal where+ toPath DeletePortal' {..} =+ Prelude.mconcat ["/portals/", Data.toBS portalId]++instance Data.ToQuery DeletePortal where+ toQuery DeletePortal' {..} =+ Prelude.mconcat ["clientToken" Data.=: clientToken]++-- | /See:/ 'newDeletePortalResponse' smart constructor.+data DeletePortalResponse = DeletePortalResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The status of the portal, which contains a state (@DELETING@ after+ -- successfully calling this operation) and any error message.+ portalStatus :: PortalStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeletePortalResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'deletePortalResponse_httpStatus' - The response's http status code.+--+-- 'portalStatus', 'deletePortalResponse_portalStatus' - The status of the portal, which contains a state (@DELETING@ after+-- successfully calling this operation) and any error message.+newDeletePortalResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'portalStatus'+ PortalStatus ->+ DeletePortalResponse+newDeletePortalResponse pHttpStatus_ pPortalStatus_ =+ DeletePortalResponse'+ { httpStatus = pHttpStatus_,+ portalStatus = pPortalStatus_+ }++-- | The response's http status code.+deletePortalResponse_httpStatus :: Lens.Lens' DeletePortalResponse Prelude.Int+deletePortalResponse_httpStatus = Lens.lens (\DeletePortalResponse' {httpStatus} -> httpStatus) (\s@DeletePortalResponse' {} a -> s {httpStatus = a} :: DeletePortalResponse)++-- | The status of the portal, which contains a state (@DELETING@ after+-- successfully calling this operation) and any error message.+deletePortalResponse_portalStatus :: Lens.Lens' DeletePortalResponse PortalStatus+deletePortalResponse_portalStatus = Lens.lens (\DeletePortalResponse' {portalStatus} -> portalStatus) (\s@DeletePortalResponse' {} a -> s {portalStatus = a} :: DeletePortalResponse)++instance Prelude.NFData DeletePortalResponse where+ rnf DeletePortalResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf portalStatus
+ gen/Amazonka/IoTSiteWise/DeleteProject.hs view
@@ -0,0 +1,166 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.DeleteProject+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a project from IoT SiteWise Monitor.+module Amazonka.IoTSiteWise.DeleteProject+ ( -- * Creating a Request+ DeleteProject (..),+ newDeleteProject,++ -- * Request Lenses+ deleteProject_clientToken,+ deleteProject_projectId,++ -- * Destructuring the Response+ DeleteProjectResponse (..),+ newDeleteProjectResponse,++ -- * Response Lenses+ deleteProjectResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteProject' smart constructor.+data DeleteProject = DeleteProject'+ { -- | 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.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The ID of the project.+ projectId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteProject' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'deleteProject_clientToken' - A unique case-sensitive identifier that you can provide to ensure the+-- idempotency of the request. Don\'t reuse this client token if a new+-- idempotent request is required.+--+-- 'projectId', 'deleteProject_projectId' - The ID of the project.+newDeleteProject ::+ -- | 'projectId'+ Prelude.Text ->+ DeleteProject+newDeleteProject pProjectId_ =+ DeleteProject'+ { clientToken = Prelude.Nothing,+ projectId = pProjectId_+ }++-- | 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.+deleteProject_clientToken :: Lens.Lens' DeleteProject (Prelude.Maybe Prelude.Text)+deleteProject_clientToken = Lens.lens (\DeleteProject' {clientToken} -> clientToken) (\s@DeleteProject' {} a -> s {clientToken = a} :: DeleteProject)++-- | The ID of the project.+deleteProject_projectId :: Lens.Lens' DeleteProject Prelude.Text+deleteProject_projectId = Lens.lens (\DeleteProject' {projectId} -> projectId) (\s@DeleteProject' {} a -> s {projectId = a} :: DeleteProject)++instance Core.AWSRequest DeleteProject where+ type+ AWSResponse DeleteProject =+ DeleteProjectResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeleteProjectResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteProject where+ hashWithSalt _salt DeleteProject' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` projectId++instance Prelude.NFData DeleteProject where+ rnf DeleteProject' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf projectId++instance Data.ToHeaders DeleteProject where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DeleteProject where+ toPath DeleteProject' {..} =+ Prelude.mconcat ["/projects/", Data.toBS projectId]++instance Data.ToQuery DeleteProject where+ toQuery DeleteProject' {..} =+ Prelude.mconcat ["clientToken" Data.=: clientToken]++-- | /See:/ 'newDeleteProjectResponse' smart constructor.+data DeleteProjectResponse = DeleteProjectResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteProjectResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'deleteProjectResponse_httpStatus' - The response's http status code.+newDeleteProjectResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteProjectResponse+newDeleteProjectResponse pHttpStatus_ =+ DeleteProjectResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+deleteProjectResponse_httpStatus :: Lens.Lens' DeleteProjectResponse Prelude.Int+deleteProjectResponse_httpStatus = Lens.lens (\DeleteProjectResponse' {httpStatus} -> httpStatus) (\s@DeleteProjectResponse' {} a -> s {httpStatus = a} :: DeleteProjectResponse)++instance Prelude.NFData DeleteProjectResponse where+ rnf DeleteProjectResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/IoTSiteWise/DeleteTimeSeries.hs view
@@ -0,0 +1,193 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.DeleteTimeSeries+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- 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.+module Amazonka.IoTSiteWise.DeleteTimeSeries+ ( -- * Creating a Request+ DeleteTimeSeries (..),+ newDeleteTimeSeries,++ -- * Request Lenses+ deleteTimeSeries_alias,+ deleteTimeSeries_assetId,+ deleteTimeSeries_clientToken,+ deleteTimeSeries_propertyId,++ -- * Destructuring the Response+ DeleteTimeSeriesResponse (..),+ newDeleteTimeSeriesResponse,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteTimeSeries' smart constructor.+data DeleteTimeSeries = DeleteTimeSeries'+ { -- | The alias that identifies the time series.+ alias :: Prelude.Maybe Prelude.Text,+ -- | The ID of the asset in which the asset property was created.+ assetId :: Prelude.Maybe Prelude.Text,+ -- | 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.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The ID of the asset property.+ propertyId :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteTimeSeries' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'alias', 'deleteTimeSeries_alias' - The alias that identifies the time series.+--+-- 'assetId', 'deleteTimeSeries_assetId' - The ID of the asset in which the asset property was created.+--+-- 'clientToken', 'deleteTimeSeries_clientToken' - A unique case-sensitive identifier that you can provide to ensure the+-- idempotency of the request. Don\'t reuse this client token if a new+-- idempotent request is required.+--+-- 'propertyId', 'deleteTimeSeries_propertyId' - The ID of the asset property.+newDeleteTimeSeries ::+ DeleteTimeSeries+newDeleteTimeSeries =+ DeleteTimeSeries'+ { alias = Prelude.Nothing,+ assetId = Prelude.Nothing,+ clientToken = Prelude.Nothing,+ propertyId = Prelude.Nothing+ }++-- | The alias that identifies the time series.+deleteTimeSeries_alias :: Lens.Lens' DeleteTimeSeries (Prelude.Maybe Prelude.Text)+deleteTimeSeries_alias = Lens.lens (\DeleteTimeSeries' {alias} -> alias) (\s@DeleteTimeSeries' {} a -> s {alias = a} :: DeleteTimeSeries)++-- | The ID of the asset in which the asset property was created.+deleteTimeSeries_assetId :: Lens.Lens' DeleteTimeSeries (Prelude.Maybe Prelude.Text)+deleteTimeSeries_assetId = Lens.lens (\DeleteTimeSeries' {assetId} -> assetId) (\s@DeleteTimeSeries' {} a -> s {assetId = a} :: DeleteTimeSeries)++-- | 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.+deleteTimeSeries_clientToken :: Lens.Lens' DeleteTimeSeries (Prelude.Maybe Prelude.Text)+deleteTimeSeries_clientToken = Lens.lens (\DeleteTimeSeries' {clientToken} -> clientToken) (\s@DeleteTimeSeries' {} a -> s {clientToken = a} :: DeleteTimeSeries)++-- | The ID of the asset property.+deleteTimeSeries_propertyId :: Lens.Lens' DeleteTimeSeries (Prelude.Maybe Prelude.Text)+deleteTimeSeries_propertyId = Lens.lens (\DeleteTimeSeries' {propertyId} -> propertyId) (\s@DeleteTimeSeries' {} a -> s {propertyId = a} :: DeleteTimeSeries)++instance Core.AWSRequest DeleteTimeSeries where+ type+ AWSResponse DeleteTimeSeries =+ DeleteTimeSeriesResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveNull DeleteTimeSeriesResponse'++instance Prelude.Hashable DeleteTimeSeries where+ hashWithSalt _salt DeleteTimeSeries' {..} =+ _salt+ `Prelude.hashWithSalt` alias+ `Prelude.hashWithSalt` assetId+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` propertyId++instance Prelude.NFData DeleteTimeSeries where+ rnf DeleteTimeSeries' {..} =+ Prelude.rnf alias+ `Prelude.seq` Prelude.rnf assetId+ `Prelude.seq` Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf propertyId++instance Data.ToHeaders DeleteTimeSeries where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeleteTimeSeries where+ toJSON DeleteTimeSeries' {..} =+ Data.object+ ( Prelude.catMaybes+ [("clientToken" Data..=) Prelude.<$> clientToken]+ )++instance Data.ToPath DeleteTimeSeries where+ toPath = Prelude.const "/timeseries/delete/"++instance Data.ToQuery DeleteTimeSeries where+ toQuery DeleteTimeSeries' {..} =+ Prelude.mconcat+ [ "alias" Data.=: alias,+ "assetId" Data.=: assetId,+ "propertyId" Data.=: propertyId+ ]++-- | /See:/ 'newDeleteTimeSeriesResponse' smart constructor.+data DeleteTimeSeriesResponse = DeleteTimeSeriesResponse'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteTimeSeriesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newDeleteTimeSeriesResponse ::+ DeleteTimeSeriesResponse+newDeleteTimeSeriesResponse =+ DeleteTimeSeriesResponse'++instance Prelude.NFData DeleteTimeSeriesResponse where+ rnf _ = ()
+ gen/Amazonka/IoTSiteWise/DescribeAccessPolicy.hs view
@@ -0,0 +1,284 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.DescribeAccessPolicy+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes an access policy, which specifies an identity\'s access to an+-- IoT SiteWise Monitor portal or project.+module Amazonka.IoTSiteWise.DescribeAccessPolicy+ ( -- * Creating a Request+ DescribeAccessPolicy (..),+ newDescribeAccessPolicy,++ -- * Request Lenses+ describeAccessPolicy_accessPolicyId,++ -- * Destructuring the Response+ DescribeAccessPolicyResponse (..),+ newDescribeAccessPolicyResponse,++ -- * Response Lenses+ describeAccessPolicyResponse_httpStatus,+ describeAccessPolicyResponse_accessPolicyId,+ describeAccessPolicyResponse_accessPolicyArn,+ describeAccessPolicyResponse_accessPolicyIdentity,+ describeAccessPolicyResponse_accessPolicyResource,+ describeAccessPolicyResponse_accessPolicyPermission,+ describeAccessPolicyResponse_accessPolicyCreationDate,+ describeAccessPolicyResponse_accessPolicyLastUpdateDate,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeAccessPolicy' smart constructor.+data DescribeAccessPolicy = DescribeAccessPolicy'+ { -- | The ID of the access policy.+ accessPolicyId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeAccessPolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accessPolicyId', 'describeAccessPolicy_accessPolicyId' - The ID of the access policy.+newDescribeAccessPolicy ::+ -- | 'accessPolicyId'+ Prelude.Text ->+ DescribeAccessPolicy+newDescribeAccessPolicy pAccessPolicyId_ =+ DescribeAccessPolicy'+ { accessPolicyId =+ pAccessPolicyId_+ }++-- | The ID of the access policy.+describeAccessPolicy_accessPolicyId :: Lens.Lens' DescribeAccessPolicy Prelude.Text+describeAccessPolicy_accessPolicyId = Lens.lens (\DescribeAccessPolicy' {accessPolicyId} -> accessPolicyId) (\s@DescribeAccessPolicy' {} a -> s {accessPolicyId = a} :: DescribeAccessPolicy)++instance Core.AWSRequest DescribeAccessPolicy where+ type+ AWSResponse DescribeAccessPolicy =+ DescribeAccessPolicyResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeAccessPolicyResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "accessPolicyId")+ Prelude.<*> (x Data..:> "accessPolicyArn")+ Prelude.<*> (x Data..:> "accessPolicyIdentity")+ Prelude.<*> (x Data..:> "accessPolicyResource")+ Prelude.<*> (x Data..:> "accessPolicyPermission")+ Prelude.<*> (x Data..:> "accessPolicyCreationDate")+ Prelude.<*> (x Data..:> "accessPolicyLastUpdateDate")+ )++instance Prelude.Hashable DescribeAccessPolicy where+ hashWithSalt _salt DescribeAccessPolicy' {..} =+ _salt `Prelude.hashWithSalt` accessPolicyId++instance Prelude.NFData DescribeAccessPolicy where+ rnf DescribeAccessPolicy' {..} =+ Prelude.rnf accessPolicyId++instance Data.ToHeaders DescribeAccessPolicy where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DescribeAccessPolicy where+ toPath DescribeAccessPolicy' {..} =+ Prelude.mconcat+ ["/access-policies/", Data.toBS accessPolicyId]++instance Data.ToQuery DescribeAccessPolicy where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeAccessPolicyResponse' smart constructor.+data DescribeAccessPolicyResponse = DescribeAccessPolicyResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The ID of the access policy.+ accessPolicyId :: Prelude.Text,+ -- | The+ -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+ -- of the access policy, which has the following format.+ --+ -- @arn:${Partition}:iotsitewise:${Region}:${Account}:access-policy\/${AccessPolicyId}@+ accessPolicyArn :: Prelude.Text,+ -- | The identity (IAM Identity Center user, IAM Identity Center group, or+ -- IAM user) to which this access policy applies.+ accessPolicyIdentity :: Identity,+ -- | The IoT SiteWise Monitor resource (portal or project) to which this+ -- access policy provides access.+ accessPolicyResource :: Resource,+ -- | The access policy permission. Note that a project @ADMINISTRATOR@ is+ -- also known as a project owner.+ accessPolicyPermission :: Permission,+ -- | The date the access policy was created, in Unix epoch time.+ accessPolicyCreationDate :: Data.POSIX,+ -- | The date the access policy was last updated, in Unix epoch time.+ accessPolicyLastUpdateDate :: Data.POSIX+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeAccessPolicyResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'describeAccessPolicyResponse_httpStatus' - The response's http status code.+--+-- 'accessPolicyId', 'describeAccessPolicyResponse_accessPolicyId' - The ID of the access policy.+--+-- 'accessPolicyArn', 'describeAccessPolicyResponse_accessPolicyArn' - The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of the access policy, which has the following format.+--+-- @arn:${Partition}:iotsitewise:${Region}:${Account}:access-policy\/${AccessPolicyId}@+--+-- 'accessPolicyIdentity', 'describeAccessPolicyResponse_accessPolicyIdentity' - The identity (IAM Identity Center user, IAM Identity Center group, or+-- IAM user) to which this access policy applies.+--+-- 'accessPolicyResource', 'describeAccessPolicyResponse_accessPolicyResource' - The IoT SiteWise Monitor resource (portal or project) to which this+-- access policy provides access.+--+-- 'accessPolicyPermission', 'describeAccessPolicyResponse_accessPolicyPermission' - The access policy permission. Note that a project @ADMINISTRATOR@ is+-- also known as a project owner.+--+-- 'accessPolicyCreationDate', 'describeAccessPolicyResponse_accessPolicyCreationDate' - The date the access policy was created, in Unix epoch time.+--+-- 'accessPolicyLastUpdateDate', 'describeAccessPolicyResponse_accessPolicyLastUpdateDate' - The date the access policy was last updated, in Unix epoch time.+newDescribeAccessPolicyResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'accessPolicyId'+ Prelude.Text ->+ -- | 'accessPolicyArn'+ Prelude.Text ->+ -- | 'accessPolicyIdentity'+ Identity ->+ -- | 'accessPolicyResource'+ Resource ->+ -- | 'accessPolicyPermission'+ Permission ->+ -- | 'accessPolicyCreationDate'+ Prelude.UTCTime ->+ -- | 'accessPolicyLastUpdateDate'+ Prelude.UTCTime ->+ DescribeAccessPolicyResponse+newDescribeAccessPolicyResponse+ pHttpStatus_+ pAccessPolicyId_+ pAccessPolicyArn_+ pAccessPolicyIdentity_+ pAccessPolicyResource_+ pAccessPolicyPermission_+ pAccessPolicyCreationDate_+ pAccessPolicyLastUpdateDate_ =+ DescribeAccessPolicyResponse'+ { httpStatus =+ pHttpStatus_,+ accessPolicyId = pAccessPolicyId_,+ accessPolicyArn = pAccessPolicyArn_,+ accessPolicyIdentity = pAccessPolicyIdentity_,+ accessPolicyResource = pAccessPolicyResource_,+ accessPolicyPermission =+ pAccessPolicyPermission_,+ accessPolicyCreationDate =+ Data._Time+ Lens.# pAccessPolicyCreationDate_,+ accessPolicyLastUpdateDate =+ Data._Time+ Lens.# pAccessPolicyLastUpdateDate_+ }++-- | The response's http status code.+describeAccessPolicyResponse_httpStatus :: Lens.Lens' DescribeAccessPolicyResponse Prelude.Int+describeAccessPolicyResponse_httpStatus = Lens.lens (\DescribeAccessPolicyResponse' {httpStatus} -> httpStatus) (\s@DescribeAccessPolicyResponse' {} a -> s {httpStatus = a} :: DescribeAccessPolicyResponse)++-- | The ID of the access policy.+describeAccessPolicyResponse_accessPolicyId :: Lens.Lens' DescribeAccessPolicyResponse Prelude.Text+describeAccessPolicyResponse_accessPolicyId = Lens.lens (\DescribeAccessPolicyResponse' {accessPolicyId} -> accessPolicyId) (\s@DescribeAccessPolicyResponse' {} a -> s {accessPolicyId = a} :: DescribeAccessPolicyResponse)++-- | The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of the access policy, which has the following format.+--+-- @arn:${Partition}:iotsitewise:${Region}:${Account}:access-policy\/${AccessPolicyId}@+describeAccessPolicyResponse_accessPolicyArn :: Lens.Lens' DescribeAccessPolicyResponse Prelude.Text+describeAccessPolicyResponse_accessPolicyArn = Lens.lens (\DescribeAccessPolicyResponse' {accessPolicyArn} -> accessPolicyArn) (\s@DescribeAccessPolicyResponse' {} a -> s {accessPolicyArn = a} :: DescribeAccessPolicyResponse)++-- | The identity (IAM Identity Center user, IAM Identity Center group, or+-- IAM user) to which this access policy applies.+describeAccessPolicyResponse_accessPolicyIdentity :: Lens.Lens' DescribeAccessPolicyResponse Identity+describeAccessPolicyResponse_accessPolicyIdentity = Lens.lens (\DescribeAccessPolicyResponse' {accessPolicyIdentity} -> accessPolicyIdentity) (\s@DescribeAccessPolicyResponse' {} a -> s {accessPolicyIdentity = a} :: DescribeAccessPolicyResponse)++-- | The IoT SiteWise Monitor resource (portal or project) to which this+-- access policy provides access.+describeAccessPolicyResponse_accessPolicyResource :: Lens.Lens' DescribeAccessPolicyResponse Resource+describeAccessPolicyResponse_accessPolicyResource = Lens.lens (\DescribeAccessPolicyResponse' {accessPolicyResource} -> accessPolicyResource) (\s@DescribeAccessPolicyResponse' {} a -> s {accessPolicyResource = a} :: DescribeAccessPolicyResponse)++-- | The access policy permission. Note that a project @ADMINISTRATOR@ is+-- also known as a project owner.+describeAccessPolicyResponse_accessPolicyPermission :: Lens.Lens' DescribeAccessPolicyResponse Permission+describeAccessPolicyResponse_accessPolicyPermission = Lens.lens (\DescribeAccessPolicyResponse' {accessPolicyPermission} -> accessPolicyPermission) (\s@DescribeAccessPolicyResponse' {} a -> s {accessPolicyPermission = a} :: DescribeAccessPolicyResponse)++-- | The date the access policy was created, in Unix epoch time.+describeAccessPolicyResponse_accessPolicyCreationDate :: Lens.Lens' DescribeAccessPolicyResponse Prelude.UTCTime+describeAccessPolicyResponse_accessPolicyCreationDate = Lens.lens (\DescribeAccessPolicyResponse' {accessPolicyCreationDate} -> accessPolicyCreationDate) (\s@DescribeAccessPolicyResponse' {} a -> s {accessPolicyCreationDate = a} :: DescribeAccessPolicyResponse) Prelude.. Data._Time++-- | The date the access policy was last updated, in Unix epoch time.+describeAccessPolicyResponse_accessPolicyLastUpdateDate :: Lens.Lens' DescribeAccessPolicyResponse Prelude.UTCTime+describeAccessPolicyResponse_accessPolicyLastUpdateDate = Lens.lens (\DescribeAccessPolicyResponse' {accessPolicyLastUpdateDate} -> accessPolicyLastUpdateDate) (\s@DescribeAccessPolicyResponse' {} a -> s {accessPolicyLastUpdateDate = a} :: DescribeAccessPolicyResponse) Prelude.. Data._Time++instance Prelude.NFData DescribeAccessPolicyResponse where+ rnf DescribeAccessPolicyResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf accessPolicyId+ `Prelude.seq` Prelude.rnf accessPolicyArn+ `Prelude.seq` Prelude.rnf accessPolicyIdentity+ `Prelude.seq` Prelude.rnf accessPolicyResource+ `Prelude.seq` Prelude.rnf accessPolicyPermission+ `Prelude.seq` Prelude.rnf accessPolicyCreationDate+ `Prelude.seq` Prelude.rnf accessPolicyLastUpdateDate
+ gen/Amazonka/IoTSiteWise/DescribeAsset.hs view
@@ -0,0 +1,359 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.DescribeAsset+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves information about an asset.+module Amazonka.IoTSiteWise.DescribeAsset+ ( -- * Creating a Request+ DescribeAsset (..),+ newDescribeAsset,++ -- * Request Lenses+ describeAsset_excludeProperties,+ describeAsset_assetId,++ -- * Destructuring the Response+ DescribeAssetResponse (..),+ newDescribeAssetResponse,++ -- * Response Lenses+ describeAssetResponse_assetCompositeModels,+ describeAssetResponse_assetDescription,+ describeAssetResponse_httpStatus,+ describeAssetResponse_assetId,+ describeAssetResponse_assetArn,+ describeAssetResponse_assetName,+ describeAssetResponse_assetModelId,+ describeAssetResponse_assetProperties,+ describeAssetResponse_assetHierarchies,+ describeAssetResponse_assetCreationDate,+ describeAssetResponse_assetLastUpdateDate,+ describeAssetResponse_assetStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeAsset' smart constructor.+data DescribeAsset = DescribeAsset'+ { -- | Whether or not to exclude asset properties from the response.+ excludeProperties :: Prelude.Maybe Prelude.Bool,+ -- | The ID of the asset.+ assetId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeAsset' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'excludeProperties', 'describeAsset_excludeProperties' - Whether or not to exclude asset properties from the response.+--+-- 'assetId', 'describeAsset_assetId' - The ID of the asset.+newDescribeAsset ::+ -- | 'assetId'+ Prelude.Text ->+ DescribeAsset+newDescribeAsset pAssetId_ =+ DescribeAsset'+ { excludeProperties = Prelude.Nothing,+ assetId = pAssetId_+ }++-- | Whether or not to exclude asset properties from the response.+describeAsset_excludeProperties :: Lens.Lens' DescribeAsset (Prelude.Maybe Prelude.Bool)+describeAsset_excludeProperties = Lens.lens (\DescribeAsset' {excludeProperties} -> excludeProperties) (\s@DescribeAsset' {} a -> s {excludeProperties = a} :: DescribeAsset)++-- | The ID of the asset.+describeAsset_assetId :: Lens.Lens' DescribeAsset Prelude.Text+describeAsset_assetId = Lens.lens (\DescribeAsset' {assetId} -> assetId) (\s@DescribeAsset' {} a -> s {assetId = a} :: DescribeAsset)++instance Core.AWSRequest DescribeAsset where+ type+ AWSResponse DescribeAsset =+ DescribeAssetResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeAssetResponse'+ Prelude.<$> ( x+ Data..?> "assetCompositeModels"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "assetDescription")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "assetId")+ Prelude.<*> (x Data..:> "assetArn")+ Prelude.<*> (x Data..:> "assetName")+ Prelude.<*> (x Data..:> "assetModelId")+ Prelude.<*> ( x+ Data..?> "assetProperties"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> ( x+ Data..?> "assetHierarchies"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..:> "assetCreationDate")+ Prelude.<*> (x Data..:> "assetLastUpdateDate")+ Prelude.<*> (x Data..:> "assetStatus")+ )++instance Prelude.Hashable DescribeAsset where+ hashWithSalt _salt DescribeAsset' {..} =+ _salt+ `Prelude.hashWithSalt` excludeProperties+ `Prelude.hashWithSalt` assetId++instance Prelude.NFData DescribeAsset where+ rnf DescribeAsset' {..} =+ Prelude.rnf excludeProperties+ `Prelude.seq` Prelude.rnf assetId++instance Data.ToHeaders DescribeAsset where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DescribeAsset where+ toPath DescribeAsset' {..} =+ Prelude.mconcat ["/assets/", Data.toBS assetId]++instance Data.ToQuery DescribeAsset where+ toQuery DescribeAsset' {..} =+ Prelude.mconcat+ ["excludeProperties" Data.=: excludeProperties]++-- | /See:/ 'newDescribeAssetResponse' smart constructor.+data DescribeAssetResponse = DescribeAssetResponse'+ { -- | The composite models for the asset.+ assetCompositeModels :: Prelude.Maybe [AssetCompositeModel],+ -- | A description for the asset.+ assetDescription :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The ID of the asset.+ assetId :: Prelude.Text,+ -- | The+ -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+ -- of the asset, which has the following format.+ --+ -- @arn:${Partition}:iotsitewise:${Region}:${Account}:asset\/${AssetId}@+ assetArn :: Prelude.Text,+ -- | The name of the asset.+ assetName :: Prelude.Text,+ -- | The ID of the asset model that was used to create the asset.+ assetModelId :: Prelude.Text,+ -- | 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.+ assetProperties :: [AssetProperty],+ -- | A list of asset hierarchies that each contain a @hierarchyId@. A+ -- hierarchy specifies allowed parent\/child asset relationships.+ assetHierarchies :: [AssetHierarchy],+ -- | The date the asset was created, in Unix epoch time.+ assetCreationDate :: Data.POSIX,+ -- | The date the asset was last updated, in Unix epoch time.+ assetLastUpdateDate :: Data.POSIX,+ -- | The current status of the asset, which contains a state and any error+ -- message.+ assetStatus :: AssetStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeAssetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'assetCompositeModels', 'describeAssetResponse_assetCompositeModels' - The composite models for the asset.+--+-- 'assetDescription', 'describeAssetResponse_assetDescription' - A description for the asset.+--+-- 'httpStatus', 'describeAssetResponse_httpStatus' - The response's http status code.+--+-- 'assetId', 'describeAssetResponse_assetId' - The ID of the asset.+--+-- 'assetArn', 'describeAssetResponse_assetArn' - The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of the asset, which has the following format.+--+-- @arn:${Partition}:iotsitewise:${Region}:${Account}:asset\/${AssetId}@+--+-- 'assetName', 'describeAssetResponse_assetName' - The name of the asset.+--+-- 'assetModelId', 'describeAssetResponse_assetModelId' - The ID of the asset model that was used to create the asset.+--+-- 'assetProperties', 'describeAssetResponse_assetProperties' - 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.+--+-- 'assetHierarchies', 'describeAssetResponse_assetHierarchies' - A list of asset hierarchies that each contain a @hierarchyId@. A+-- hierarchy specifies allowed parent\/child asset relationships.+--+-- 'assetCreationDate', 'describeAssetResponse_assetCreationDate' - The date the asset was created, in Unix epoch time.+--+-- 'assetLastUpdateDate', 'describeAssetResponse_assetLastUpdateDate' - The date the asset was last updated, in Unix epoch time.+--+-- 'assetStatus', 'describeAssetResponse_assetStatus' - The current status of the asset, which contains a state and any error+-- message.+newDescribeAssetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'assetId'+ Prelude.Text ->+ -- | 'assetArn'+ Prelude.Text ->+ -- | 'assetName'+ Prelude.Text ->+ -- | 'assetModelId'+ Prelude.Text ->+ -- | 'assetCreationDate'+ Prelude.UTCTime ->+ -- | 'assetLastUpdateDate'+ Prelude.UTCTime ->+ -- | 'assetStatus'+ AssetStatus ->+ DescribeAssetResponse+newDescribeAssetResponse+ pHttpStatus_+ pAssetId_+ pAssetArn_+ pAssetName_+ pAssetModelId_+ pAssetCreationDate_+ pAssetLastUpdateDate_+ pAssetStatus_ =+ DescribeAssetResponse'+ { assetCompositeModels =+ Prelude.Nothing,+ assetDescription = Prelude.Nothing,+ httpStatus = pHttpStatus_,+ assetId = pAssetId_,+ assetArn = pAssetArn_,+ assetName = pAssetName_,+ assetModelId = pAssetModelId_,+ assetProperties = Prelude.mempty,+ assetHierarchies = Prelude.mempty,+ assetCreationDate =+ Data._Time Lens.# pAssetCreationDate_,+ assetLastUpdateDate =+ Data._Time Lens.# pAssetLastUpdateDate_,+ assetStatus = pAssetStatus_+ }++-- | The composite models for the asset.+describeAssetResponse_assetCompositeModels :: Lens.Lens' DescribeAssetResponse (Prelude.Maybe [AssetCompositeModel])+describeAssetResponse_assetCompositeModels = Lens.lens (\DescribeAssetResponse' {assetCompositeModels} -> assetCompositeModels) (\s@DescribeAssetResponse' {} a -> s {assetCompositeModels = a} :: DescribeAssetResponse) Prelude.. Lens.mapping Lens.coerced++-- | A description for the asset.+describeAssetResponse_assetDescription :: Lens.Lens' DescribeAssetResponse (Prelude.Maybe Prelude.Text)+describeAssetResponse_assetDescription = Lens.lens (\DescribeAssetResponse' {assetDescription} -> assetDescription) (\s@DescribeAssetResponse' {} a -> s {assetDescription = a} :: DescribeAssetResponse)++-- | The response's http status code.+describeAssetResponse_httpStatus :: Lens.Lens' DescribeAssetResponse Prelude.Int+describeAssetResponse_httpStatus = Lens.lens (\DescribeAssetResponse' {httpStatus} -> httpStatus) (\s@DescribeAssetResponse' {} a -> s {httpStatus = a} :: DescribeAssetResponse)++-- | The ID of the asset.+describeAssetResponse_assetId :: Lens.Lens' DescribeAssetResponse Prelude.Text+describeAssetResponse_assetId = Lens.lens (\DescribeAssetResponse' {assetId} -> assetId) (\s@DescribeAssetResponse' {} a -> s {assetId = a} :: DescribeAssetResponse)++-- | The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of the asset, which has the following format.+--+-- @arn:${Partition}:iotsitewise:${Region}:${Account}:asset\/${AssetId}@+describeAssetResponse_assetArn :: Lens.Lens' DescribeAssetResponse Prelude.Text+describeAssetResponse_assetArn = Lens.lens (\DescribeAssetResponse' {assetArn} -> assetArn) (\s@DescribeAssetResponse' {} a -> s {assetArn = a} :: DescribeAssetResponse)++-- | The name of the asset.+describeAssetResponse_assetName :: Lens.Lens' DescribeAssetResponse Prelude.Text+describeAssetResponse_assetName = Lens.lens (\DescribeAssetResponse' {assetName} -> assetName) (\s@DescribeAssetResponse' {} a -> s {assetName = a} :: DescribeAssetResponse)++-- | The ID of the asset model that was used to create the asset.+describeAssetResponse_assetModelId :: Lens.Lens' DescribeAssetResponse Prelude.Text+describeAssetResponse_assetModelId = Lens.lens (\DescribeAssetResponse' {assetModelId} -> assetModelId) (\s@DescribeAssetResponse' {} a -> s {assetModelId = a} :: DescribeAssetResponse)++-- | 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.+describeAssetResponse_assetProperties :: Lens.Lens' DescribeAssetResponse [AssetProperty]+describeAssetResponse_assetProperties = Lens.lens (\DescribeAssetResponse' {assetProperties} -> assetProperties) (\s@DescribeAssetResponse' {} a -> s {assetProperties = a} :: DescribeAssetResponse) Prelude.. Lens.coerced++-- | A list of asset hierarchies that each contain a @hierarchyId@. A+-- hierarchy specifies allowed parent\/child asset relationships.+describeAssetResponse_assetHierarchies :: Lens.Lens' DescribeAssetResponse [AssetHierarchy]+describeAssetResponse_assetHierarchies = Lens.lens (\DescribeAssetResponse' {assetHierarchies} -> assetHierarchies) (\s@DescribeAssetResponse' {} a -> s {assetHierarchies = a} :: DescribeAssetResponse) Prelude.. Lens.coerced++-- | The date the asset was created, in Unix epoch time.+describeAssetResponse_assetCreationDate :: Lens.Lens' DescribeAssetResponse Prelude.UTCTime+describeAssetResponse_assetCreationDate = Lens.lens (\DescribeAssetResponse' {assetCreationDate} -> assetCreationDate) (\s@DescribeAssetResponse' {} a -> s {assetCreationDate = a} :: DescribeAssetResponse) Prelude.. Data._Time++-- | The date the asset was last updated, in Unix epoch time.+describeAssetResponse_assetLastUpdateDate :: Lens.Lens' DescribeAssetResponse Prelude.UTCTime+describeAssetResponse_assetLastUpdateDate = Lens.lens (\DescribeAssetResponse' {assetLastUpdateDate} -> assetLastUpdateDate) (\s@DescribeAssetResponse' {} a -> s {assetLastUpdateDate = a} :: DescribeAssetResponse) Prelude.. Data._Time++-- | The current status of the asset, which contains a state and any error+-- message.+describeAssetResponse_assetStatus :: Lens.Lens' DescribeAssetResponse AssetStatus+describeAssetResponse_assetStatus = Lens.lens (\DescribeAssetResponse' {assetStatus} -> assetStatus) (\s@DescribeAssetResponse' {} a -> s {assetStatus = a} :: DescribeAssetResponse)++instance Prelude.NFData DescribeAssetResponse where+ rnf DescribeAssetResponse' {..} =+ Prelude.rnf assetCompositeModels+ `Prelude.seq` Prelude.rnf assetDescription+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf assetId+ `Prelude.seq` Prelude.rnf assetArn+ `Prelude.seq` Prelude.rnf assetName+ `Prelude.seq` Prelude.rnf assetModelId+ `Prelude.seq` Prelude.rnf assetProperties+ `Prelude.seq` Prelude.rnf assetHierarchies+ `Prelude.seq` Prelude.rnf assetCreationDate+ `Prelude.seq` Prelude.rnf assetLastUpdateDate+ `Prelude.seq` Prelude.rnf assetStatus
+ gen/Amazonka/IoTSiteWise/DescribeAssetModel.hs view
@@ -0,0 +1,352 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.DescribeAssetModel+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves information about an asset model.+module Amazonka.IoTSiteWise.DescribeAssetModel+ ( -- * Creating a Request+ DescribeAssetModel (..),+ newDescribeAssetModel,++ -- * Request Lenses+ describeAssetModel_excludeProperties,+ describeAssetModel_assetModelId,++ -- * Destructuring the Response+ DescribeAssetModelResponse (..),+ newDescribeAssetModelResponse,++ -- * Response Lenses+ describeAssetModelResponse_assetModelCompositeModels,+ describeAssetModelResponse_httpStatus,+ describeAssetModelResponse_assetModelId,+ describeAssetModelResponse_assetModelArn,+ describeAssetModelResponse_assetModelName,+ describeAssetModelResponse_assetModelDescription,+ describeAssetModelResponse_assetModelProperties,+ describeAssetModelResponse_assetModelHierarchies,+ describeAssetModelResponse_assetModelCreationDate,+ describeAssetModelResponse_assetModelLastUpdateDate,+ describeAssetModelResponse_assetModelStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeAssetModel' smart constructor.+data DescribeAssetModel = DescribeAssetModel'+ { -- | Whether or not to exclude asset model properties from the response.+ excludeProperties :: Prelude.Maybe Prelude.Bool,+ -- | The ID of the asset model.+ assetModelId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeAssetModel' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'excludeProperties', 'describeAssetModel_excludeProperties' - Whether or not to exclude asset model properties from the response.+--+-- 'assetModelId', 'describeAssetModel_assetModelId' - The ID of the asset model.+newDescribeAssetModel ::+ -- | 'assetModelId'+ Prelude.Text ->+ DescribeAssetModel+newDescribeAssetModel pAssetModelId_ =+ DescribeAssetModel'+ { excludeProperties =+ Prelude.Nothing,+ assetModelId = pAssetModelId_+ }++-- | Whether or not to exclude asset model properties from the response.+describeAssetModel_excludeProperties :: Lens.Lens' DescribeAssetModel (Prelude.Maybe Prelude.Bool)+describeAssetModel_excludeProperties = Lens.lens (\DescribeAssetModel' {excludeProperties} -> excludeProperties) (\s@DescribeAssetModel' {} a -> s {excludeProperties = a} :: DescribeAssetModel)++-- | The ID of the asset model.+describeAssetModel_assetModelId :: Lens.Lens' DescribeAssetModel Prelude.Text+describeAssetModel_assetModelId = Lens.lens (\DescribeAssetModel' {assetModelId} -> assetModelId) (\s@DescribeAssetModel' {} a -> s {assetModelId = a} :: DescribeAssetModel)++instance Core.AWSRequest DescribeAssetModel where+ type+ AWSResponse DescribeAssetModel =+ DescribeAssetModelResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeAssetModelResponse'+ Prelude.<$> ( x+ Data..?> "assetModelCompositeModels"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "assetModelId")+ Prelude.<*> (x Data..:> "assetModelArn")+ Prelude.<*> (x Data..:> "assetModelName")+ Prelude.<*> (x Data..:> "assetModelDescription")+ Prelude.<*> ( x+ Data..?> "assetModelProperties"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> ( x+ Data..?> "assetModelHierarchies"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..:> "assetModelCreationDate")+ Prelude.<*> (x Data..:> "assetModelLastUpdateDate")+ Prelude.<*> (x Data..:> "assetModelStatus")+ )++instance Prelude.Hashable DescribeAssetModel where+ hashWithSalt _salt DescribeAssetModel' {..} =+ _salt+ `Prelude.hashWithSalt` excludeProperties+ `Prelude.hashWithSalt` assetModelId++instance Prelude.NFData DescribeAssetModel where+ rnf DescribeAssetModel' {..} =+ Prelude.rnf excludeProperties+ `Prelude.seq` Prelude.rnf assetModelId++instance Data.ToHeaders DescribeAssetModel where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DescribeAssetModel where+ toPath DescribeAssetModel' {..} =+ Prelude.mconcat+ ["/asset-models/", Data.toBS assetModelId]++instance Data.ToQuery DescribeAssetModel where+ toQuery DescribeAssetModel' {..} =+ Prelude.mconcat+ ["excludeProperties" Data.=: excludeProperties]++-- | /See:/ 'newDescribeAssetModelResponse' smart constructor.+data DescribeAssetModelResponse = DescribeAssetModelResponse'+ { -- | The list of composite asset models for the asset model.+ assetModelCompositeModels :: Prelude.Maybe [AssetModelCompositeModel],+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The ID of the asset model.+ assetModelId :: Prelude.Text,+ -- | The+ -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+ -- of the asset model, which has the following format.+ --+ -- @arn:${Partition}:iotsitewise:${Region}:${Account}:asset-model\/${AssetModelId}@+ assetModelArn :: Prelude.Text,+ -- | The name of the asset model.+ assetModelName :: Prelude.Text,+ -- | The asset model\'s description.+ assetModelDescription :: Prelude.Text,+ -- | 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.+ assetModelProperties :: [AssetModelProperty],+ -- | 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.+ assetModelHierarchies :: [AssetModelHierarchy],+ -- | The date the asset model was created, in Unix epoch time.+ assetModelCreationDate :: Data.POSIX,+ -- | The date the asset model was last updated, in Unix epoch time.+ assetModelLastUpdateDate :: Data.POSIX,+ -- | The current status of the asset model, which contains a state and any+ -- error message.+ assetModelStatus :: AssetModelStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeAssetModelResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'assetModelCompositeModels', 'describeAssetModelResponse_assetModelCompositeModels' - The list of composite asset models for the asset model.+--+-- 'httpStatus', 'describeAssetModelResponse_httpStatus' - The response's http status code.+--+-- 'assetModelId', 'describeAssetModelResponse_assetModelId' - The ID of the asset model.+--+-- 'assetModelArn', 'describeAssetModelResponse_assetModelArn' - The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of the asset model, which has the following format.+--+-- @arn:${Partition}:iotsitewise:${Region}:${Account}:asset-model\/${AssetModelId}@+--+-- 'assetModelName', 'describeAssetModelResponse_assetModelName' - The name of the asset model.+--+-- 'assetModelDescription', 'describeAssetModelResponse_assetModelDescription' - The asset model\'s description.+--+-- 'assetModelProperties', 'describeAssetModelResponse_assetModelProperties' - 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.+--+-- 'assetModelHierarchies', 'describeAssetModelResponse_assetModelHierarchies' - 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.+--+-- 'assetModelCreationDate', 'describeAssetModelResponse_assetModelCreationDate' - The date the asset model was created, in Unix epoch time.+--+-- 'assetModelLastUpdateDate', 'describeAssetModelResponse_assetModelLastUpdateDate' - The date the asset model was last updated, in Unix epoch time.+--+-- 'assetModelStatus', 'describeAssetModelResponse_assetModelStatus' - The current status of the asset model, which contains a state and any+-- error message.+newDescribeAssetModelResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'assetModelId'+ Prelude.Text ->+ -- | 'assetModelArn'+ Prelude.Text ->+ -- | 'assetModelName'+ Prelude.Text ->+ -- | 'assetModelDescription'+ Prelude.Text ->+ -- | 'assetModelCreationDate'+ Prelude.UTCTime ->+ -- | 'assetModelLastUpdateDate'+ Prelude.UTCTime ->+ -- | 'assetModelStatus'+ AssetModelStatus ->+ DescribeAssetModelResponse+newDescribeAssetModelResponse+ pHttpStatus_+ pAssetModelId_+ pAssetModelArn_+ pAssetModelName_+ pAssetModelDescription_+ pAssetModelCreationDate_+ pAssetModelLastUpdateDate_+ pAssetModelStatus_ =+ DescribeAssetModelResponse'+ { assetModelCompositeModels =+ Prelude.Nothing,+ httpStatus = pHttpStatus_,+ assetModelId = pAssetModelId_,+ assetModelArn = pAssetModelArn_,+ assetModelName = pAssetModelName_,+ assetModelDescription = pAssetModelDescription_,+ assetModelProperties = Prelude.mempty,+ assetModelHierarchies = Prelude.mempty,+ assetModelCreationDate =+ Data._Time Lens.# pAssetModelCreationDate_,+ assetModelLastUpdateDate =+ Data._Time Lens.# pAssetModelLastUpdateDate_,+ assetModelStatus = pAssetModelStatus_+ }++-- | The list of composite asset models for the asset model.+describeAssetModelResponse_assetModelCompositeModels :: Lens.Lens' DescribeAssetModelResponse (Prelude.Maybe [AssetModelCompositeModel])+describeAssetModelResponse_assetModelCompositeModels = Lens.lens (\DescribeAssetModelResponse' {assetModelCompositeModels} -> assetModelCompositeModels) (\s@DescribeAssetModelResponse' {} a -> s {assetModelCompositeModels = a} :: DescribeAssetModelResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+describeAssetModelResponse_httpStatus :: Lens.Lens' DescribeAssetModelResponse Prelude.Int+describeAssetModelResponse_httpStatus = Lens.lens (\DescribeAssetModelResponse' {httpStatus} -> httpStatus) (\s@DescribeAssetModelResponse' {} a -> s {httpStatus = a} :: DescribeAssetModelResponse)++-- | The ID of the asset model.+describeAssetModelResponse_assetModelId :: Lens.Lens' DescribeAssetModelResponse Prelude.Text+describeAssetModelResponse_assetModelId = Lens.lens (\DescribeAssetModelResponse' {assetModelId} -> assetModelId) (\s@DescribeAssetModelResponse' {} a -> s {assetModelId = a} :: DescribeAssetModelResponse)++-- | The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of the asset model, which has the following format.+--+-- @arn:${Partition}:iotsitewise:${Region}:${Account}:asset-model\/${AssetModelId}@+describeAssetModelResponse_assetModelArn :: Lens.Lens' DescribeAssetModelResponse Prelude.Text+describeAssetModelResponse_assetModelArn = Lens.lens (\DescribeAssetModelResponse' {assetModelArn} -> assetModelArn) (\s@DescribeAssetModelResponse' {} a -> s {assetModelArn = a} :: DescribeAssetModelResponse)++-- | The name of the asset model.+describeAssetModelResponse_assetModelName :: Lens.Lens' DescribeAssetModelResponse Prelude.Text+describeAssetModelResponse_assetModelName = Lens.lens (\DescribeAssetModelResponse' {assetModelName} -> assetModelName) (\s@DescribeAssetModelResponse' {} a -> s {assetModelName = a} :: DescribeAssetModelResponse)++-- | The asset model\'s description.+describeAssetModelResponse_assetModelDescription :: Lens.Lens' DescribeAssetModelResponse Prelude.Text+describeAssetModelResponse_assetModelDescription = Lens.lens (\DescribeAssetModelResponse' {assetModelDescription} -> assetModelDescription) (\s@DescribeAssetModelResponse' {} a -> s {assetModelDescription = a} :: DescribeAssetModelResponse)++-- | 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.+describeAssetModelResponse_assetModelProperties :: Lens.Lens' DescribeAssetModelResponse [AssetModelProperty]+describeAssetModelResponse_assetModelProperties = Lens.lens (\DescribeAssetModelResponse' {assetModelProperties} -> assetModelProperties) (\s@DescribeAssetModelResponse' {} a -> s {assetModelProperties = a} :: DescribeAssetModelResponse) Prelude.. Lens.coerced++-- | 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.+describeAssetModelResponse_assetModelHierarchies :: Lens.Lens' DescribeAssetModelResponse [AssetModelHierarchy]+describeAssetModelResponse_assetModelHierarchies = Lens.lens (\DescribeAssetModelResponse' {assetModelHierarchies} -> assetModelHierarchies) (\s@DescribeAssetModelResponse' {} a -> s {assetModelHierarchies = a} :: DescribeAssetModelResponse) Prelude.. Lens.coerced++-- | The date the asset model was created, in Unix epoch time.+describeAssetModelResponse_assetModelCreationDate :: Lens.Lens' DescribeAssetModelResponse Prelude.UTCTime+describeAssetModelResponse_assetModelCreationDate = Lens.lens (\DescribeAssetModelResponse' {assetModelCreationDate} -> assetModelCreationDate) (\s@DescribeAssetModelResponse' {} a -> s {assetModelCreationDate = a} :: DescribeAssetModelResponse) Prelude.. Data._Time++-- | The date the asset model was last updated, in Unix epoch time.+describeAssetModelResponse_assetModelLastUpdateDate :: Lens.Lens' DescribeAssetModelResponse Prelude.UTCTime+describeAssetModelResponse_assetModelLastUpdateDate = Lens.lens (\DescribeAssetModelResponse' {assetModelLastUpdateDate} -> assetModelLastUpdateDate) (\s@DescribeAssetModelResponse' {} a -> s {assetModelLastUpdateDate = a} :: DescribeAssetModelResponse) Prelude.. Data._Time++-- | The current status of the asset model, which contains a state and any+-- error message.+describeAssetModelResponse_assetModelStatus :: Lens.Lens' DescribeAssetModelResponse AssetModelStatus+describeAssetModelResponse_assetModelStatus = Lens.lens (\DescribeAssetModelResponse' {assetModelStatus} -> assetModelStatus) (\s@DescribeAssetModelResponse' {} a -> s {assetModelStatus = a} :: DescribeAssetModelResponse)++instance Prelude.NFData DescribeAssetModelResponse where+ rnf DescribeAssetModelResponse' {..} =+ Prelude.rnf assetModelCompositeModels+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf assetModelId+ `Prelude.seq` Prelude.rnf assetModelArn+ `Prelude.seq` Prelude.rnf assetModelName+ `Prelude.seq` Prelude.rnf assetModelDescription+ `Prelude.seq` Prelude.rnf assetModelProperties+ `Prelude.seq` Prelude.rnf assetModelHierarchies+ `Prelude.seq` Prelude.rnf assetModelCreationDate+ `Prelude.seq` Prelude.rnf assetModelLastUpdateDate+ `Prelude.seq` Prelude.rnf assetModelStatus
+ gen/Amazonka/IoTSiteWise/DescribeAssetProperty.hs view
@@ -0,0 +1,263 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.DescribeAssetProperty+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_GetAssetPropertyValue.html GetAssetPropertyValue>.+module Amazonka.IoTSiteWise.DescribeAssetProperty+ ( -- * Creating a Request+ DescribeAssetProperty (..),+ newDescribeAssetProperty,++ -- * Request Lenses+ describeAssetProperty_assetId,+ describeAssetProperty_propertyId,++ -- * Destructuring the Response+ DescribeAssetPropertyResponse (..),+ newDescribeAssetPropertyResponse,++ -- * Response Lenses+ describeAssetPropertyResponse_assetProperty,+ describeAssetPropertyResponse_compositeModel,+ describeAssetPropertyResponse_httpStatus,+ describeAssetPropertyResponse_assetId,+ describeAssetPropertyResponse_assetName,+ describeAssetPropertyResponse_assetModelId,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeAssetProperty' smart constructor.+data DescribeAssetProperty = DescribeAssetProperty'+ { -- | The ID of the asset.+ assetId :: Prelude.Text,+ -- | The ID of the asset property.+ propertyId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeAssetProperty' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'assetId', 'describeAssetProperty_assetId' - The ID of the asset.+--+-- 'propertyId', 'describeAssetProperty_propertyId' - The ID of the asset property.+newDescribeAssetProperty ::+ -- | 'assetId'+ Prelude.Text ->+ -- | 'propertyId'+ Prelude.Text ->+ DescribeAssetProperty+newDescribeAssetProperty pAssetId_ pPropertyId_ =+ DescribeAssetProperty'+ { assetId = pAssetId_,+ propertyId = pPropertyId_+ }++-- | The ID of the asset.+describeAssetProperty_assetId :: Lens.Lens' DescribeAssetProperty Prelude.Text+describeAssetProperty_assetId = Lens.lens (\DescribeAssetProperty' {assetId} -> assetId) (\s@DescribeAssetProperty' {} a -> s {assetId = a} :: DescribeAssetProperty)++-- | The ID of the asset property.+describeAssetProperty_propertyId :: Lens.Lens' DescribeAssetProperty Prelude.Text+describeAssetProperty_propertyId = Lens.lens (\DescribeAssetProperty' {propertyId} -> propertyId) (\s@DescribeAssetProperty' {} a -> s {propertyId = a} :: DescribeAssetProperty)++instance Core.AWSRequest DescribeAssetProperty where+ type+ AWSResponse DescribeAssetProperty =+ DescribeAssetPropertyResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeAssetPropertyResponse'+ Prelude.<$> (x Data..?> "assetProperty")+ Prelude.<*> (x Data..?> "compositeModel")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "assetId")+ Prelude.<*> (x Data..:> "assetName")+ Prelude.<*> (x Data..:> "assetModelId")+ )++instance Prelude.Hashable DescribeAssetProperty where+ hashWithSalt _salt DescribeAssetProperty' {..} =+ _salt+ `Prelude.hashWithSalt` assetId+ `Prelude.hashWithSalt` propertyId++instance Prelude.NFData DescribeAssetProperty where+ rnf DescribeAssetProperty' {..} =+ Prelude.rnf assetId+ `Prelude.seq` Prelude.rnf propertyId++instance Data.ToHeaders DescribeAssetProperty where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DescribeAssetProperty where+ toPath DescribeAssetProperty' {..} =+ Prelude.mconcat+ [ "/assets/",+ Data.toBS assetId,+ "/properties/",+ Data.toBS propertyId+ ]++instance Data.ToQuery DescribeAssetProperty where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeAssetPropertyResponse' smart constructor.+data DescribeAssetPropertyResponse = DescribeAssetPropertyResponse'+ { -- | 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 :: Prelude.Maybe Property,+ -- | The composite asset model that declares this asset property, if this+ -- asset property exists in a composite model.+ compositeModel :: Prelude.Maybe CompositeModelProperty,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The ID of the asset.+ assetId :: Prelude.Text,+ -- | The name of the asset.+ assetName :: Prelude.Text,+ -- | The ID of the asset model.+ assetModelId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeAssetPropertyResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'assetProperty', 'describeAssetPropertyResponse_assetProperty' - 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@.+--+-- 'compositeModel', 'describeAssetPropertyResponse_compositeModel' - The composite asset model that declares this asset property, if this+-- asset property exists in a composite model.+--+-- 'httpStatus', 'describeAssetPropertyResponse_httpStatus' - The response's http status code.+--+-- 'assetId', 'describeAssetPropertyResponse_assetId' - The ID of the asset.+--+-- 'assetName', 'describeAssetPropertyResponse_assetName' - The name of the asset.+--+-- 'assetModelId', 'describeAssetPropertyResponse_assetModelId' - The ID of the asset model.+newDescribeAssetPropertyResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'assetId'+ Prelude.Text ->+ -- | 'assetName'+ Prelude.Text ->+ -- | 'assetModelId'+ Prelude.Text ->+ DescribeAssetPropertyResponse+newDescribeAssetPropertyResponse+ pHttpStatus_+ pAssetId_+ pAssetName_+ pAssetModelId_ =+ DescribeAssetPropertyResponse'+ { assetProperty =+ Prelude.Nothing,+ compositeModel = Prelude.Nothing,+ httpStatus = pHttpStatus_,+ assetId = pAssetId_,+ assetName = pAssetName_,+ assetModelId = pAssetModelId_+ }++-- | 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@.+describeAssetPropertyResponse_assetProperty :: Lens.Lens' DescribeAssetPropertyResponse (Prelude.Maybe Property)+describeAssetPropertyResponse_assetProperty = Lens.lens (\DescribeAssetPropertyResponse' {assetProperty} -> assetProperty) (\s@DescribeAssetPropertyResponse' {} a -> s {assetProperty = a} :: DescribeAssetPropertyResponse)++-- | The composite asset model that declares this asset property, if this+-- asset property exists in a composite model.+describeAssetPropertyResponse_compositeModel :: Lens.Lens' DescribeAssetPropertyResponse (Prelude.Maybe CompositeModelProperty)+describeAssetPropertyResponse_compositeModel = Lens.lens (\DescribeAssetPropertyResponse' {compositeModel} -> compositeModel) (\s@DescribeAssetPropertyResponse' {} a -> s {compositeModel = a} :: DescribeAssetPropertyResponse)++-- | The response's http status code.+describeAssetPropertyResponse_httpStatus :: Lens.Lens' DescribeAssetPropertyResponse Prelude.Int+describeAssetPropertyResponse_httpStatus = Lens.lens (\DescribeAssetPropertyResponse' {httpStatus} -> httpStatus) (\s@DescribeAssetPropertyResponse' {} a -> s {httpStatus = a} :: DescribeAssetPropertyResponse)++-- | The ID of the asset.+describeAssetPropertyResponse_assetId :: Lens.Lens' DescribeAssetPropertyResponse Prelude.Text+describeAssetPropertyResponse_assetId = Lens.lens (\DescribeAssetPropertyResponse' {assetId} -> assetId) (\s@DescribeAssetPropertyResponse' {} a -> s {assetId = a} :: DescribeAssetPropertyResponse)++-- | The name of the asset.+describeAssetPropertyResponse_assetName :: Lens.Lens' DescribeAssetPropertyResponse Prelude.Text+describeAssetPropertyResponse_assetName = Lens.lens (\DescribeAssetPropertyResponse' {assetName} -> assetName) (\s@DescribeAssetPropertyResponse' {} a -> s {assetName = a} :: DescribeAssetPropertyResponse)++-- | The ID of the asset model.+describeAssetPropertyResponse_assetModelId :: Lens.Lens' DescribeAssetPropertyResponse Prelude.Text+describeAssetPropertyResponse_assetModelId = Lens.lens (\DescribeAssetPropertyResponse' {assetModelId} -> assetModelId) (\s@DescribeAssetPropertyResponse' {} a -> s {assetModelId = a} :: DescribeAssetPropertyResponse)++instance Prelude.NFData DescribeAssetPropertyResponse where+ rnf DescribeAssetPropertyResponse' {..} =+ Prelude.rnf assetProperty+ `Prelude.seq` Prelude.rnf compositeModel+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf assetId+ `Prelude.seq` Prelude.rnf assetName+ `Prelude.seq` Prelude.rnf assetModelId
+ gen/Amazonka/IoTSiteWise/DescribeBulkImportJob.hs view
@@ -0,0 +1,356 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.DescribeBulkImportJob+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves information about a bulk import job request. For more+-- information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/DescribeBulkImportJob.html Describe a bulk import job (CLI)>+-- in the /Amazon Simple Storage Service User Guide/.+module Amazonka.IoTSiteWise.DescribeBulkImportJob+ ( -- * Creating a Request+ DescribeBulkImportJob (..),+ newDescribeBulkImportJob,++ -- * Request Lenses+ describeBulkImportJob_jobId,++ -- * Destructuring the Response+ DescribeBulkImportJobResponse (..),+ newDescribeBulkImportJobResponse,++ -- * Response Lenses+ describeBulkImportJobResponse_httpStatus,+ describeBulkImportJobResponse_jobId,+ describeBulkImportJobResponse_jobName,+ describeBulkImportJobResponse_jobStatus,+ describeBulkImportJobResponse_jobRoleArn,+ describeBulkImportJobResponse_files,+ describeBulkImportJobResponse_errorReportLocation,+ describeBulkImportJobResponse_jobConfiguration,+ describeBulkImportJobResponse_jobCreationDate,+ describeBulkImportJobResponse_jobLastUpdateDate,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeBulkImportJob' smart constructor.+data DescribeBulkImportJob = DescribeBulkImportJob'+ { -- | The ID of the job.+ jobId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeBulkImportJob' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'jobId', 'describeBulkImportJob_jobId' - The ID of the job.+newDescribeBulkImportJob ::+ -- | 'jobId'+ Prelude.Text ->+ DescribeBulkImportJob+newDescribeBulkImportJob pJobId_ =+ DescribeBulkImportJob' {jobId = pJobId_}++-- | The ID of the job.+describeBulkImportJob_jobId :: Lens.Lens' DescribeBulkImportJob Prelude.Text+describeBulkImportJob_jobId = Lens.lens (\DescribeBulkImportJob' {jobId} -> jobId) (\s@DescribeBulkImportJob' {} a -> s {jobId = a} :: DescribeBulkImportJob)++instance Core.AWSRequest DescribeBulkImportJob where+ type+ AWSResponse DescribeBulkImportJob =+ DescribeBulkImportJobResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeBulkImportJobResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "jobId")+ Prelude.<*> (x Data..:> "jobName")+ Prelude.<*> (x Data..:> "jobStatus")+ Prelude.<*> (x Data..:> "jobRoleArn")+ Prelude.<*> (x Data..?> "files" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..:> "errorReportLocation")+ Prelude.<*> (x Data..:> "jobConfiguration")+ Prelude.<*> (x Data..:> "jobCreationDate")+ Prelude.<*> (x Data..:> "jobLastUpdateDate")+ )++instance Prelude.Hashable DescribeBulkImportJob where+ hashWithSalt _salt DescribeBulkImportJob' {..} =+ _salt `Prelude.hashWithSalt` jobId++instance Prelude.NFData DescribeBulkImportJob where+ rnf DescribeBulkImportJob' {..} = Prelude.rnf jobId++instance Data.ToHeaders DescribeBulkImportJob where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DescribeBulkImportJob where+ toPath DescribeBulkImportJob' {..} =+ Prelude.mconcat ["/jobs/", Data.toBS jobId]++instance Data.ToQuery DescribeBulkImportJob where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeBulkImportJobResponse' smart constructor.+data DescribeBulkImportJobResponse = DescribeBulkImportJobResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The ID of the job.+ jobId :: Prelude.Text,+ -- | The unique name that helps identify the job request.+ jobName :: Prelude.Text,+ -- | 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.+ jobStatus :: JobStatus,+ -- | The+ -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+ -- of the IAM role that allows IoT SiteWise to read Amazon S3 data.+ jobRoleArn :: Prelude.Text,+ -- | The files in the specified Amazon S3 bucket that contain your data.+ files :: [File],+ -- | The Amazon S3 destination where errors associated with the job creation+ -- request are saved.+ errorReportLocation :: ErrorReportLocation,+ -- | Contains the configuration information of a job, such as the file format+ -- used to save data in Amazon S3.+ jobConfiguration :: JobConfiguration,+ -- | The date the job was created, in Unix epoch TIME.+ jobCreationDate :: Data.POSIX,+ -- | The date the job was last updated, in Unix epoch time.+ jobLastUpdateDate :: Data.POSIX+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeBulkImportJobResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'describeBulkImportJobResponse_httpStatus' - The response's http status code.+--+-- 'jobId', 'describeBulkImportJobResponse_jobId' - The ID of the job.+--+-- 'jobName', 'describeBulkImportJobResponse_jobName' - The unique name that helps identify the job request.+--+-- 'jobStatus', 'describeBulkImportJobResponse_jobStatus' - 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.+--+-- 'jobRoleArn', 'describeBulkImportJobResponse_jobRoleArn' - The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of the IAM role that allows IoT SiteWise to read Amazon S3 data.+--+-- 'files', 'describeBulkImportJobResponse_files' - The files in the specified Amazon S3 bucket that contain your data.+--+-- 'errorReportLocation', 'describeBulkImportJobResponse_errorReportLocation' - The Amazon S3 destination where errors associated with the job creation+-- request are saved.+--+-- 'jobConfiguration', 'describeBulkImportJobResponse_jobConfiguration' - Contains the configuration information of a job, such as the file format+-- used to save data in Amazon S3.+--+-- 'jobCreationDate', 'describeBulkImportJobResponse_jobCreationDate' - The date the job was created, in Unix epoch TIME.+--+-- 'jobLastUpdateDate', 'describeBulkImportJobResponse_jobLastUpdateDate' - The date the job was last updated, in Unix epoch time.+newDescribeBulkImportJobResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'jobId'+ Prelude.Text ->+ -- | 'jobName'+ Prelude.Text ->+ -- | 'jobStatus'+ JobStatus ->+ -- | 'jobRoleArn'+ Prelude.Text ->+ -- | 'errorReportLocation'+ ErrorReportLocation ->+ -- | 'jobConfiguration'+ JobConfiguration ->+ -- | 'jobCreationDate'+ Prelude.UTCTime ->+ -- | 'jobLastUpdateDate'+ Prelude.UTCTime ->+ DescribeBulkImportJobResponse+newDescribeBulkImportJobResponse+ pHttpStatus_+ pJobId_+ pJobName_+ pJobStatus_+ pJobRoleArn_+ pErrorReportLocation_+ pJobConfiguration_+ pJobCreationDate_+ pJobLastUpdateDate_ =+ DescribeBulkImportJobResponse'+ { httpStatus =+ pHttpStatus_,+ jobId = pJobId_,+ jobName = pJobName_,+ jobStatus = pJobStatus_,+ jobRoleArn = pJobRoleArn_,+ files = Prelude.mempty,+ errorReportLocation = pErrorReportLocation_,+ jobConfiguration = pJobConfiguration_,+ jobCreationDate =+ Data._Time Lens.# pJobCreationDate_,+ jobLastUpdateDate =+ Data._Time Lens.# pJobLastUpdateDate_+ }++-- | The response's http status code.+describeBulkImportJobResponse_httpStatus :: Lens.Lens' DescribeBulkImportJobResponse Prelude.Int+describeBulkImportJobResponse_httpStatus = Lens.lens (\DescribeBulkImportJobResponse' {httpStatus} -> httpStatus) (\s@DescribeBulkImportJobResponse' {} a -> s {httpStatus = a} :: DescribeBulkImportJobResponse)++-- | The ID of the job.+describeBulkImportJobResponse_jobId :: Lens.Lens' DescribeBulkImportJobResponse Prelude.Text+describeBulkImportJobResponse_jobId = Lens.lens (\DescribeBulkImportJobResponse' {jobId} -> jobId) (\s@DescribeBulkImportJobResponse' {} a -> s {jobId = a} :: DescribeBulkImportJobResponse)++-- | The unique name that helps identify the job request.+describeBulkImportJobResponse_jobName :: Lens.Lens' DescribeBulkImportJobResponse Prelude.Text+describeBulkImportJobResponse_jobName = Lens.lens (\DescribeBulkImportJobResponse' {jobName} -> jobName) (\s@DescribeBulkImportJobResponse' {} a -> s {jobName = a} :: DescribeBulkImportJobResponse)++-- | 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.+describeBulkImportJobResponse_jobStatus :: Lens.Lens' DescribeBulkImportJobResponse JobStatus+describeBulkImportJobResponse_jobStatus = Lens.lens (\DescribeBulkImportJobResponse' {jobStatus} -> jobStatus) (\s@DescribeBulkImportJobResponse' {} a -> s {jobStatus = a} :: DescribeBulkImportJobResponse)++-- | The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of the IAM role that allows IoT SiteWise to read Amazon S3 data.+describeBulkImportJobResponse_jobRoleArn :: Lens.Lens' DescribeBulkImportJobResponse Prelude.Text+describeBulkImportJobResponse_jobRoleArn = Lens.lens (\DescribeBulkImportJobResponse' {jobRoleArn} -> jobRoleArn) (\s@DescribeBulkImportJobResponse' {} a -> s {jobRoleArn = a} :: DescribeBulkImportJobResponse)++-- | The files in the specified Amazon S3 bucket that contain your data.+describeBulkImportJobResponse_files :: Lens.Lens' DescribeBulkImportJobResponse [File]+describeBulkImportJobResponse_files = Lens.lens (\DescribeBulkImportJobResponse' {files} -> files) (\s@DescribeBulkImportJobResponse' {} a -> s {files = a} :: DescribeBulkImportJobResponse) Prelude.. Lens.coerced++-- | The Amazon S3 destination where errors associated with the job creation+-- request are saved.+describeBulkImportJobResponse_errorReportLocation :: Lens.Lens' DescribeBulkImportJobResponse ErrorReportLocation+describeBulkImportJobResponse_errorReportLocation = Lens.lens (\DescribeBulkImportJobResponse' {errorReportLocation} -> errorReportLocation) (\s@DescribeBulkImportJobResponse' {} a -> s {errorReportLocation = a} :: DescribeBulkImportJobResponse)++-- | Contains the configuration information of a job, such as the file format+-- used to save data in Amazon S3.+describeBulkImportJobResponse_jobConfiguration :: Lens.Lens' DescribeBulkImportJobResponse JobConfiguration+describeBulkImportJobResponse_jobConfiguration = Lens.lens (\DescribeBulkImportJobResponse' {jobConfiguration} -> jobConfiguration) (\s@DescribeBulkImportJobResponse' {} a -> s {jobConfiguration = a} :: DescribeBulkImportJobResponse)++-- | The date the job was created, in Unix epoch TIME.+describeBulkImportJobResponse_jobCreationDate :: Lens.Lens' DescribeBulkImportJobResponse Prelude.UTCTime+describeBulkImportJobResponse_jobCreationDate = Lens.lens (\DescribeBulkImportJobResponse' {jobCreationDate} -> jobCreationDate) (\s@DescribeBulkImportJobResponse' {} a -> s {jobCreationDate = a} :: DescribeBulkImportJobResponse) Prelude.. Data._Time++-- | The date the job was last updated, in Unix epoch time.+describeBulkImportJobResponse_jobLastUpdateDate :: Lens.Lens' DescribeBulkImportJobResponse Prelude.UTCTime+describeBulkImportJobResponse_jobLastUpdateDate = Lens.lens (\DescribeBulkImportJobResponse' {jobLastUpdateDate} -> jobLastUpdateDate) (\s@DescribeBulkImportJobResponse' {} a -> s {jobLastUpdateDate = a} :: DescribeBulkImportJobResponse) Prelude.. Data._Time++instance Prelude.NFData DescribeBulkImportJobResponse where+ rnf DescribeBulkImportJobResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf jobId+ `Prelude.seq` Prelude.rnf jobName+ `Prelude.seq` Prelude.rnf jobStatus+ `Prelude.seq` Prelude.rnf jobRoleArn+ `Prelude.seq` Prelude.rnf files+ `Prelude.seq` Prelude.rnf errorReportLocation+ `Prelude.seq` Prelude.rnf jobConfiguration+ `Prelude.seq` Prelude.rnf jobCreationDate+ `Prelude.seq` Prelude.rnf jobLastUpdateDate
+ gen/Amazonka/IoTSiteWise/DescribeDashboard.hs view
@@ -0,0 +1,285 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.DescribeDashboard+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves information about a dashboard.+module Amazonka.IoTSiteWise.DescribeDashboard+ ( -- * Creating a Request+ DescribeDashboard (..),+ newDescribeDashboard,++ -- * Request Lenses+ describeDashboard_dashboardId,++ -- * Destructuring the Response+ DescribeDashboardResponse (..),+ newDescribeDashboardResponse,++ -- * Response Lenses+ describeDashboardResponse_dashboardDescription,+ describeDashboardResponse_httpStatus,+ describeDashboardResponse_dashboardId,+ describeDashboardResponse_dashboardArn,+ describeDashboardResponse_dashboardName,+ describeDashboardResponse_projectId,+ describeDashboardResponse_dashboardDefinition,+ describeDashboardResponse_dashboardCreationDate,+ describeDashboardResponse_dashboardLastUpdateDate,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeDashboard' smart constructor.+data DescribeDashboard = DescribeDashboard'+ { -- | The ID of the dashboard.+ dashboardId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeDashboard' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dashboardId', 'describeDashboard_dashboardId' - The ID of the dashboard.+newDescribeDashboard ::+ -- | 'dashboardId'+ Prelude.Text ->+ DescribeDashboard+newDescribeDashboard pDashboardId_ =+ DescribeDashboard' {dashboardId = pDashboardId_}++-- | The ID of the dashboard.+describeDashboard_dashboardId :: Lens.Lens' DescribeDashboard Prelude.Text+describeDashboard_dashboardId = Lens.lens (\DescribeDashboard' {dashboardId} -> dashboardId) (\s@DescribeDashboard' {} a -> s {dashboardId = a} :: DescribeDashboard)++instance Core.AWSRequest DescribeDashboard where+ type+ AWSResponse DescribeDashboard =+ DescribeDashboardResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeDashboardResponse'+ Prelude.<$> (x Data..?> "dashboardDescription")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "dashboardId")+ Prelude.<*> (x Data..:> "dashboardArn")+ Prelude.<*> (x Data..:> "dashboardName")+ Prelude.<*> (x Data..:> "projectId")+ Prelude.<*> (x Data..:> "dashboardDefinition")+ Prelude.<*> (x Data..:> "dashboardCreationDate")+ Prelude.<*> (x Data..:> "dashboardLastUpdateDate")+ )++instance Prelude.Hashable DescribeDashboard where+ hashWithSalt _salt DescribeDashboard' {..} =+ _salt `Prelude.hashWithSalt` dashboardId++instance Prelude.NFData DescribeDashboard where+ rnf DescribeDashboard' {..} = Prelude.rnf dashboardId++instance Data.ToHeaders DescribeDashboard where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DescribeDashboard where+ toPath DescribeDashboard' {..} =+ Prelude.mconcat+ ["/dashboards/", Data.toBS dashboardId]++instance Data.ToQuery DescribeDashboard where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeDashboardResponse' smart constructor.+data DescribeDashboardResponse = DescribeDashboardResponse'+ { -- | The dashboard\'s description.+ dashboardDescription :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The ID of the dashboard.+ dashboardId :: Prelude.Text,+ -- | The+ -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+ -- of the dashboard, which has the following format.+ --+ -- @arn:${Partition}:iotsitewise:${Region}:${Account}:dashboard\/${DashboardId}@+ dashboardArn :: Prelude.Text,+ -- | The name of the dashboard.+ dashboardName :: Prelude.Text,+ -- | The ID of the project that the dashboard is in.+ projectId :: Prelude.Text,+ -- | The dashboard\'s definition JSON literal. For detailed information, see+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/create-dashboards-using-aws-cli.html Creating dashboards (CLI)>+ -- in the /IoT SiteWise User Guide/.+ dashboardDefinition :: Prelude.Text,+ -- | The date the dashboard was created, in Unix epoch time.+ dashboardCreationDate :: Data.POSIX,+ -- | The date the dashboard was last updated, in Unix epoch time.+ dashboardLastUpdateDate :: Data.POSIX+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeDashboardResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dashboardDescription', 'describeDashboardResponse_dashboardDescription' - The dashboard\'s description.+--+-- 'httpStatus', 'describeDashboardResponse_httpStatus' - The response's http status code.+--+-- 'dashboardId', 'describeDashboardResponse_dashboardId' - The ID of the dashboard.+--+-- 'dashboardArn', 'describeDashboardResponse_dashboardArn' - The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of the dashboard, which has the following format.+--+-- @arn:${Partition}:iotsitewise:${Region}:${Account}:dashboard\/${DashboardId}@+--+-- 'dashboardName', 'describeDashboardResponse_dashboardName' - The name of the dashboard.+--+-- 'projectId', 'describeDashboardResponse_projectId' - The ID of the project that the dashboard is in.+--+-- 'dashboardDefinition', 'describeDashboardResponse_dashboardDefinition' - The dashboard\'s definition JSON literal. For detailed information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/create-dashboards-using-aws-cli.html Creating dashboards (CLI)>+-- in the /IoT SiteWise User Guide/.+--+-- 'dashboardCreationDate', 'describeDashboardResponse_dashboardCreationDate' - The date the dashboard was created, in Unix epoch time.+--+-- 'dashboardLastUpdateDate', 'describeDashboardResponse_dashboardLastUpdateDate' - The date the dashboard was last updated, in Unix epoch time.+newDescribeDashboardResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'dashboardId'+ Prelude.Text ->+ -- | 'dashboardArn'+ Prelude.Text ->+ -- | 'dashboardName'+ Prelude.Text ->+ -- | 'projectId'+ Prelude.Text ->+ -- | 'dashboardDefinition'+ Prelude.Text ->+ -- | 'dashboardCreationDate'+ Prelude.UTCTime ->+ -- | 'dashboardLastUpdateDate'+ Prelude.UTCTime ->+ DescribeDashboardResponse+newDescribeDashboardResponse+ pHttpStatus_+ pDashboardId_+ pDashboardArn_+ pDashboardName_+ pProjectId_+ pDashboardDefinition_+ pDashboardCreationDate_+ pDashboardLastUpdateDate_ =+ DescribeDashboardResponse'+ { dashboardDescription =+ Prelude.Nothing,+ httpStatus = pHttpStatus_,+ dashboardId = pDashboardId_,+ dashboardArn = pDashboardArn_,+ dashboardName = pDashboardName_,+ projectId = pProjectId_,+ dashboardDefinition = pDashboardDefinition_,+ dashboardCreationDate =+ Data._Time Lens.# pDashboardCreationDate_,+ dashboardLastUpdateDate =+ Data._Time Lens.# pDashboardLastUpdateDate_+ }++-- | The dashboard\'s description.+describeDashboardResponse_dashboardDescription :: Lens.Lens' DescribeDashboardResponse (Prelude.Maybe Prelude.Text)+describeDashboardResponse_dashboardDescription = Lens.lens (\DescribeDashboardResponse' {dashboardDescription} -> dashboardDescription) (\s@DescribeDashboardResponse' {} a -> s {dashboardDescription = a} :: DescribeDashboardResponse)++-- | The response's http status code.+describeDashboardResponse_httpStatus :: Lens.Lens' DescribeDashboardResponse Prelude.Int+describeDashboardResponse_httpStatus = Lens.lens (\DescribeDashboardResponse' {httpStatus} -> httpStatus) (\s@DescribeDashboardResponse' {} a -> s {httpStatus = a} :: DescribeDashboardResponse)++-- | The ID of the dashboard.+describeDashboardResponse_dashboardId :: Lens.Lens' DescribeDashboardResponse Prelude.Text+describeDashboardResponse_dashboardId = Lens.lens (\DescribeDashboardResponse' {dashboardId} -> dashboardId) (\s@DescribeDashboardResponse' {} a -> s {dashboardId = a} :: DescribeDashboardResponse)++-- | The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of the dashboard, which has the following format.+--+-- @arn:${Partition}:iotsitewise:${Region}:${Account}:dashboard\/${DashboardId}@+describeDashboardResponse_dashboardArn :: Lens.Lens' DescribeDashboardResponse Prelude.Text+describeDashboardResponse_dashboardArn = Lens.lens (\DescribeDashboardResponse' {dashboardArn} -> dashboardArn) (\s@DescribeDashboardResponse' {} a -> s {dashboardArn = a} :: DescribeDashboardResponse)++-- | The name of the dashboard.+describeDashboardResponse_dashboardName :: Lens.Lens' DescribeDashboardResponse Prelude.Text+describeDashboardResponse_dashboardName = Lens.lens (\DescribeDashboardResponse' {dashboardName} -> dashboardName) (\s@DescribeDashboardResponse' {} a -> s {dashboardName = a} :: DescribeDashboardResponse)++-- | The ID of the project that the dashboard is in.+describeDashboardResponse_projectId :: Lens.Lens' DescribeDashboardResponse Prelude.Text+describeDashboardResponse_projectId = Lens.lens (\DescribeDashboardResponse' {projectId} -> projectId) (\s@DescribeDashboardResponse' {} a -> s {projectId = a} :: DescribeDashboardResponse)++-- | The dashboard\'s definition JSON literal. For detailed information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/create-dashboards-using-aws-cli.html Creating dashboards (CLI)>+-- in the /IoT SiteWise User Guide/.+describeDashboardResponse_dashboardDefinition :: Lens.Lens' DescribeDashboardResponse Prelude.Text+describeDashboardResponse_dashboardDefinition = Lens.lens (\DescribeDashboardResponse' {dashboardDefinition} -> dashboardDefinition) (\s@DescribeDashboardResponse' {} a -> s {dashboardDefinition = a} :: DescribeDashboardResponse)++-- | The date the dashboard was created, in Unix epoch time.+describeDashboardResponse_dashboardCreationDate :: Lens.Lens' DescribeDashboardResponse Prelude.UTCTime+describeDashboardResponse_dashboardCreationDate = Lens.lens (\DescribeDashboardResponse' {dashboardCreationDate} -> dashboardCreationDate) (\s@DescribeDashboardResponse' {} a -> s {dashboardCreationDate = a} :: DescribeDashboardResponse) Prelude.. Data._Time++-- | The date the dashboard was last updated, in Unix epoch time.+describeDashboardResponse_dashboardLastUpdateDate :: Lens.Lens' DescribeDashboardResponse Prelude.UTCTime+describeDashboardResponse_dashboardLastUpdateDate = Lens.lens (\DescribeDashboardResponse' {dashboardLastUpdateDate} -> dashboardLastUpdateDate) (\s@DescribeDashboardResponse' {} a -> s {dashboardLastUpdateDate = a} :: DescribeDashboardResponse) Prelude.. Data._Time++instance Prelude.NFData DescribeDashboardResponse where+ rnf DescribeDashboardResponse' {..} =+ Prelude.rnf dashboardDescription+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf dashboardId+ `Prelude.seq` Prelude.rnf dashboardArn+ `Prelude.seq` Prelude.rnf dashboardName+ `Prelude.seq` Prelude.rnf projectId+ `Prelude.seq` Prelude.rnf dashboardDefinition+ `Prelude.seq` Prelude.rnf dashboardCreationDate+ `Prelude.seq` Prelude.rnf dashboardLastUpdateDate
+ gen/Amazonka/IoTSiteWise/DescribeDefaultEncryptionConfiguration.hs view
@@ -0,0 +1,212 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.DescribeDefaultEncryptionConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves information about the default encryption configuration for the+-- Amazon Web Services account in the default or specified Region. For more+-- information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/key-management.html Key management>+-- in the /IoT SiteWise User Guide/.+module Amazonka.IoTSiteWise.DescribeDefaultEncryptionConfiguration+ ( -- * Creating a Request+ DescribeDefaultEncryptionConfiguration (..),+ newDescribeDefaultEncryptionConfiguration,++ -- * Destructuring the Response+ DescribeDefaultEncryptionConfigurationResponse (..),+ newDescribeDefaultEncryptionConfigurationResponse,++ -- * Response Lenses+ describeDefaultEncryptionConfigurationResponse_kmsKeyArn,+ describeDefaultEncryptionConfigurationResponse_httpStatus,+ describeDefaultEncryptionConfigurationResponse_encryptionType,+ describeDefaultEncryptionConfigurationResponse_configurationStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeDefaultEncryptionConfiguration' smart constructor.+data DescribeDefaultEncryptionConfiguration = DescribeDefaultEncryptionConfiguration'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeDefaultEncryptionConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newDescribeDefaultEncryptionConfiguration ::+ DescribeDefaultEncryptionConfiguration+newDescribeDefaultEncryptionConfiguration =+ DescribeDefaultEncryptionConfiguration'++instance+ Core.AWSRequest+ DescribeDefaultEncryptionConfiguration+ where+ type+ AWSResponse+ DescribeDefaultEncryptionConfiguration =+ DescribeDefaultEncryptionConfigurationResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeDefaultEncryptionConfigurationResponse'+ Prelude.<$> (x Data..?> "kmsKeyArn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "encryptionType")+ Prelude.<*> (x Data..:> "configurationStatus")+ )++instance+ Prelude.Hashable+ DescribeDefaultEncryptionConfiguration+ where+ hashWithSalt _salt _ =+ _salt `Prelude.hashWithSalt` ()++instance+ Prelude.NFData+ DescribeDefaultEncryptionConfiguration+ where+ rnf _ = ()++instance+ Data.ToHeaders+ DescribeDefaultEncryptionConfiguration+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToPath+ DescribeDefaultEncryptionConfiguration+ where+ toPath =+ Prelude.const "/configuration/account/encryption"++instance+ Data.ToQuery+ DescribeDefaultEncryptionConfiguration+ where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeDefaultEncryptionConfigurationResponse' smart constructor.+data DescribeDefaultEncryptionConfigurationResponse = DescribeDefaultEncryptionConfigurationResponse'+ { -- | The key ARN of the customer managed key used for KMS encryption if you+ -- use @KMS_BASED_ENCRYPTION@.+ kmsKeyArn :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The type of encryption used for the encryption configuration.+ encryptionType :: EncryptionType,+ -- | The status of the account configuration. This contains the+ -- @ConfigurationState@. If there\'s an error, it also contains the+ -- @ErrorDetails@.+ configurationStatus :: ConfigurationStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeDefaultEncryptionConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'kmsKeyArn', 'describeDefaultEncryptionConfigurationResponse_kmsKeyArn' - The key ARN of the customer managed key used for KMS encryption if you+-- use @KMS_BASED_ENCRYPTION@.+--+-- 'httpStatus', 'describeDefaultEncryptionConfigurationResponse_httpStatus' - The response's http status code.+--+-- 'encryptionType', 'describeDefaultEncryptionConfigurationResponse_encryptionType' - The type of encryption used for the encryption configuration.+--+-- 'configurationStatus', 'describeDefaultEncryptionConfigurationResponse_configurationStatus' - The status of the account configuration. This contains the+-- @ConfigurationState@. If there\'s an error, it also contains the+-- @ErrorDetails@.+newDescribeDefaultEncryptionConfigurationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'encryptionType'+ EncryptionType ->+ -- | 'configurationStatus'+ ConfigurationStatus ->+ DescribeDefaultEncryptionConfigurationResponse+newDescribeDefaultEncryptionConfigurationResponse+ pHttpStatus_+ pEncryptionType_+ pConfigurationStatus_ =+ DescribeDefaultEncryptionConfigurationResponse'+ { kmsKeyArn =+ Prelude.Nothing,+ httpStatus = pHttpStatus_,+ encryptionType =+ pEncryptionType_,+ configurationStatus =+ pConfigurationStatus_+ }++-- | The key ARN of the customer managed key used for KMS encryption if you+-- use @KMS_BASED_ENCRYPTION@.+describeDefaultEncryptionConfigurationResponse_kmsKeyArn :: Lens.Lens' DescribeDefaultEncryptionConfigurationResponse (Prelude.Maybe Prelude.Text)+describeDefaultEncryptionConfigurationResponse_kmsKeyArn = Lens.lens (\DescribeDefaultEncryptionConfigurationResponse' {kmsKeyArn} -> kmsKeyArn) (\s@DescribeDefaultEncryptionConfigurationResponse' {} a -> s {kmsKeyArn = a} :: DescribeDefaultEncryptionConfigurationResponse)++-- | The response's http status code.+describeDefaultEncryptionConfigurationResponse_httpStatus :: Lens.Lens' DescribeDefaultEncryptionConfigurationResponse Prelude.Int+describeDefaultEncryptionConfigurationResponse_httpStatus = Lens.lens (\DescribeDefaultEncryptionConfigurationResponse' {httpStatus} -> httpStatus) (\s@DescribeDefaultEncryptionConfigurationResponse' {} a -> s {httpStatus = a} :: DescribeDefaultEncryptionConfigurationResponse)++-- | The type of encryption used for the encryption configuration.+describeDefaultEncryptionConfigurationResponse_encryptionType :: Lens.Lens' DescribeDefaultEncryptionConfigurationResponse EncryptionType+describeDefaultEncryptionConfigurationResponse_encryptionType = Lens.lens (\DescribeDefaultEncryptionConfigurationResponse' {encryptionType} -> encryptionType) (\s@DescribeDefaultEncryptionConfigurationResponse' {} a -> s {encryptionType = a} :: DescribeDefaultEncryptionConfigurationResponse)++-- | The status of the account configuration. This contains the+-- @ConfigurationState@. If there\'s an error, it also contains the+-- @ErrorDetails@.+describeDefaultEncryptionConfigurationResponse_configurationStatus :: Lens.Lens' DescribeDefaultEncryptionConfigurationResponse ConfigurationStatus+describeDefaultEncryptionConfigurationResponse_configurationStatus = Lens.lens (\DescribeDefaultEncryptionConfigurationResponse' {configurationStatus} -> configurationStatus) (\s@DescribeDefaultEncryptionConfigurationResponse' {} a -> s {configurationStatus = a} :: DescribeDefaultEncryptionConfigurationResponse)++instance+ Prelude.NFData+ DescribeDefaultEncryptionConfigurationResponse+ where+ rnf+ DescribeDefaultEncryptionConfigurationResponse' {..} =+ Prelude.rnf kmsKeyArn+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf encryptionType+ `Prelude.seq` Prelude.rnf configurationStatus
+ gen/Amazonka/IoTSiteWise/DescribeGateway.hs view
@@ -0,0 +1,272 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.DescribeGateway+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves information about a gateway.+module Amazonka.IoTSiteWise.DescribeGateway+ ( -- * Creating a Request+ DescribeGateway (..),+ newDescribeGateway,++ -- * Request Lenses+ describeGateway_gatewayId,++ -- * Destructuring the Response+ DescribeGatewayResponse (..),+ newDescribeGatewayResponse,++ -- * Response Lenses+ describeGatewayResponse_gatewayPlatform,+ describeGatewayResponse_httpStatus,+ describeGatewayResponse_gatewayId,+ describeGatewayResponse_gatewayName,+ describeGatewayResponse_gatewayArn,+ describeGatewayResponse_gatewayCapabilitySummaries,+ describeGatewayResponse_creationDate,+ describeGatewayResponse_lastUpdateDate,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeGateway' smart constructor.+data DescribeGateway = DescribeGateway'+ { -- | The ID of the gateway device.+ gatewayId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeGateway' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'gatewayId', 'describeGateway_gatewayId' - The ID of the gateway device.+newDescribeGateway ::+ -- | 'gatewayId'+ Prelude.Text ->+ DescribeGateway+newDescribeGateway pGatewayId_ =+ DescribeGateway' {gatewayId = pGatewayId_}++-- | The ID of the gateway device.+describeGateway_gatewayId :: Lens.Lens' DescribeGateway Prelude.Text+describeGateway_gatewayId = Lens.lens (\DescribeGateway' {gatewayId} -> gatewayId) (\s@DescribeGateway' {} a -> s {gatewayId = a} :: DescribeGateway)++instance Core.AWSRequest DescribeGateway where+ type+ AWSResponse DescribeGateway =+ DescribeGatewayResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeGatewayResponse'+ Prelude.<$> (x Data..?> "gatewayPlatform")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "gatewayId")+ Prelude.<*> (x Data..:> "gatewayName")+ Prelude.<*> (x Data..:> "gatewayArn")+ Prelude.<*> ( x+ Data..?> "gatewayCapabilitySummaries"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..:> "creationDate")+ Prelude.<*> (x Data..:> "lastUpdateDate")+ )++instance Prelude.Hashable DescribeGateway where+ hashWithSalt _salt DescribeGateway' {..} =+ _salt `Prelude.hashWithSalt` gatewayId++instance Prelude.NFData DescribeGateway where+ rnf DescribeGateway' {..} = Prelude.rnf gatewayId++instance Data.ToHeaders DescribeGateway where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DescribeGateway where+ toPath DescribeGateway' {..} =+ Prelude.mconcat+ ["/20200301/gateways/", Data.toBS gatewayId]++instance Data.ToQuery DescribeGateway where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeGatewayResponse' smart constructor.+data DescribeGatewayResponse = DescribeGatewayResponse'+ { -- | The gateway\'s platform.+ gatewayPlatform :: Prelude.Maybe GatewayPlatform,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The ID of the gateway device.+ gatewayId :: Prelude.Text,+ -- | The name of the gateway.+ gatewayName :: Prelude.Text,+ -- | The+ -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+ -- of the gateway, which has the following format.+ --+ -- @arn:${Partition}:iotsitewise:${Region}:${Account}:gateway\/${GatewayId}@+ gatewayArn :: Prelude.Text,+ -- | 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+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeGatewayCapabilityConfiguration.html DescribeGatewayCapabilityConfiguration>.+ gatewayCapabilitySummaries :: [GatewayCapabilitySummary],+ -- | The date the gateway was created, in Unix epoch time.+ creationDate :: Data.POSIX,+ -- | The date the gateway was last updated, in Unix epoch time.+ lastUpdateDate :: Data.POSIX+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeGatewayResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'gatewayPlatform', 'describeGatewayResponse_gatewayPlatform' - The gateway\'s platform.+--+-- 'httpStatus', 'describeGatewayResponse_httpStatus' - The response's http status code.+--+-- 'gatewayId', 'describeGatewayResponse_gatewayId' - The ID of the gateway device.+--+-- 'gatewayName', 'describeGatewayResponse_gatewayName' - The name of the gateway.+--+-- 'gatewayArn', 'describeGatewayResponse_gatewayArn' - The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of the gateway, which has the following format.+--+-- @arn:${Partition}:iotsitewise:${Region}:${Account}:gateway\/${GatewayId}@+--+-- 'gatewayCapabilitySummaries', 'describeGatewayResponse_gatewayCapabilitySummaries' - 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeGatewayCapabilityConfiguration.html DescribeGatewayCapabilityConfiguration>.+--+-- 'creationDate', 'describeGatewayResponse_creationDate' - The date the gateway was created, in Unix epoch time.+--+-- 'lastUpdateDate', 'describeGatewayResponse_lastUpdateDate' - The date the gateway was last updated, in Unix epoch time.+newDescribeGatewayResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'gatewayId'+ Prelude.Text ->+ -- | 'gatewayName'+ Prelude.Text ->+ -- | 'gatewayArn'+ Prelude.Text ->+ -- | 'creationDate'+ Prelude.UTCTime ->+ -- | 'lastUpdateDate'+ Prelude.UTCTime ->+ DescribeGatewayResponse+newDescribeGatewayResponse+ pHttpStatus_+ pGatewayId_+ pGatewayName_+ pGatewayArn_+ pCreationDate_+ pLastUpdateDate_ =+ DescribeGatewayResponse'+ { gatewayPlatform =+ Prelude.Nothing,+ httpStatus = pHttpStatus_,+ gatewayId = pGatewayId_,+ gatewayName = pGatewayName_,+ gatewayArn = pGatewayArn_,+ gatewayCapabilitySummaries = Prelude.mempty,+ creationDate = Data._Time Lens.# pCreationDate_,+ lastUpdateDate =+ Data._Time Lens.# pLastUpdateDate_+ }++-- | The gateway\'s platform.+describeGatewayResponse_gatewayPlatform :: Lens.Lens' DescribeGatewayResponse (Prelude.Maybe GatewayPlatform)+describeGatewayResponse_gatewayPlatform = Lens.lens (\DescribeGatewayResponse' {gatewayPlatform} -> gatewayPlatform) (\s@DescribeGatewayResponse' {} a -> s {gatewayPlatform = a} :: DescribeGatewayResponse)++-- | The response's http status code.+describeGatewayResponse_httpStatus :: Lens.Lens' DescribeGatewayResponse Prelude.Int+describeGatewayResponse_httpStatus = Lens.lens (\DescribeGatewayResponse' {httpStatus} -> httpStatus) (\s@DescribeGatewayResponse' {} a -> s {httpStatus = a} :: DescribeGatewayResponse)++-- | The ID of the gateway device.+describeGatewayResponse_gatewayId :: Lens.Lens' DescribeGatewayResponse Prelude.Text+describeGatewayResponse_gatewayId = Lens.lens (\DescribeGatewayResponse' {gatewayId} -> gatewayId) (\s@DescribeGatewayResponse' {} a -> s {gatewayId = a} :: DescribeGatewayResponse)++-- | The name of the gateway.+describeGatewayResponse_gatewayName :: Lens.Lens' DescribeGatewayResponse Prelude.Text+describeGatewayResponse_gatewayName = Lens.lens (\DescribeGatewayResponse' {gatewayName} -> gatewayName) (\s@DescribeGatewayResponse' {} a -> s {gatewayName = a} :: DescribeGatewayResponse)++-- | The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of the gateway, which has the following format.+--+-- @arn:${Partition}:iotsitewise:${Region}:${Account}:gateway\/${GatewayId}@+describeGatewayResponse_gatewayArn :: Lens.Lens' DescribeGatewayResponse Prelude.Text+describeGatewayResponse_gatewayArn = Lens.lens (\DescribeGatewayResponse' {gatewayArn} -> gatewayArn) (\s@DescribeGatewayResponse' {} a -> s {gatewayArn = a} :: DescribeGatewayResponse)++-- | 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeGatewayCapabilityConfiguration.html DescribeGatewayCapabilityConfiguration>.+describeGatewayResponse_gatewayCapabilitySummaries :: Lens.Lens' DescribeGatewayResponse [GatewayCapabilitySummary]+describeGatewayResponse_gatewayCapabilitySummaries = Lens.lens (\DescribeGatewayResponse' {gatewayCapabilitySummaries} -> gatewayCapabilitySummaries) (\s@DescribeGatewayResponse' {} a -> s {gatewayCapabilitySummaries = a} :: DescribeGatewayResponse) Prelude.. Lens.coerced++-- | The date the gateway was created, in Unix epoch time.+describeGatewayResponse_creationDate :: Lens.Lens' DescribeGatewayResponse Prelude.UTCTime+describeGatewayResponse_creationDate = Lens.lens (\DescribeGatewayResponse' {creationDate} -> creationDate) (\s@DescribeGatewayResponse' {} a -> s {creationDate = a} :: DescribeGatewayResponse) Prelude.. Data._Time++-- | The date the gateway was last updated, in Unix epoch time.+describeGatewayResponse_lastUpdateDate :: Lens.Lens' DescribeGatewayResponse Prelude.UTCTime+describeGatewayResponse_lastUpdateDate = Lens.lens (\DescribeGatewayResponse' {lastUpdateDate} -> lastUpdateDate) (\s@DescribeGatewayResponse' {} a -> s {lastUpdateDate = a} :: DescribeGatewayResponse) Prelude.. Data._Time++instance Prelude.NFData DescribeGatewayResponse where+ rnf DescribeGatewayResponse' {..} =+ Prelude.rnf gatewayPlatform+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf gatewayId+ `Prelude.seq` Prelude.rnf gatewayName+ `Prelude.seq` Prelude.rnf gatewayArn+ `Prelude.seq` Prelude.rnf gatewayCapabilitySummaries+ `Prelude.seq` Prelude.rnf creationDate+ `Prelude.seq` Prelude.rnf lastUpdateDate
+ gen/Amazonka/IoTSiteWise/DescribeGatewayCapabilityConfiguration.hs view
@@ -0,0 +1,313 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.DescribeGatewayCapabilityConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeGateway.html DescribeGateway>.+module Amazonka.IoTSiteWise.DescribeGatewayCapabilityConfiguration+ ( -- * Creating a Request+ DescribeGatewayCapabilityConfiguration (..),+ newDescribeGatewayCapabilityConfiguration,++ -- * Request Lenses+ describeGatewayCapabilityConfiguration_gatewayId,+ describeGatewayCapabilityConfiguration_capabilityNamespace,++ -- * Destructuring the Response+ DescribeGatewayCapabilityConfigurationResponse (..),+ newDescribeGatewayCapabilityConfigurationResponse,++ -- * Response Lenses+ describeGatewayCapabilityConfigurationResponse_httpStatus,+ describeGatewayCapabilityConfigurationResponse_gatewayId,+ describeGatewayCapabilityConfigurationResponse_capabilityNamespace,+ describeGatewayCapabilityConfigurationResponse_capabilityConfiguration,+ describeGatewayCapabilityConfigurationResponse_capabilitySyncStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeGatewayCapabilityConfiguration' smart constructor.+data DescribeGatewayCapabilityConfiguration = DescribeGatewayCapabilityConfiguration'+ { -- | The ID of the gateway that defines the capability configuration.+ gatewayId :: Prelude.Text,+ -- | 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@.+ capabilityNamespace :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeGatewayCapabilityConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'gatewayId', 'describeGatewayCapabilityConfiguration_gatewayId' - The ID of the gateway that defines the capability configuration.+--+-- 'capabilityNamespace', 'describeGatewayCapabilityConfiguration_capabilityNamespace' - 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@.+newDescribeGatewayCapabilityConfiguration ::+ -- | 'gatewayId'+ Prelude.Text ->+ -- | 'capabilityNamespace'+ Prelude.Text ->+ DescribeGatewayCapabilityConfiguration+newDescribeGatewayCapabilityConfiguration+ pGatewayId_+ pCapabilityNamespace_ =+ DescribeGatewayCapabilityConfiguration'+ { gatewayId =+ pGatewayId_,+ capabilityNamespace =+ pCapabilityNamespace_+ }++-- | The ID of the gateway that defines the capability configuration.+describeGatewayCapabilityConfiguration_gatewayId :: Lens.Lens' DescribeGatewayCapabilityConfiguration Prelude.Text+describeGatewayCapabilityConfiguration_gatewayId = Lens.lens (\DescribeGatewayCapabilityConfiguration' {gatewayId} -> gatewayId) (\s@DescribeGatewayCapabilityConfiguration' {} a -> s {gatewayId = a} :: DescribeGatewayCapabilityConfiguration)++-- | 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@.+describeGatewayCapabilityConfiguration_capabilityNamespace :: Lens.Lens' DescribeGatewayCapabilityConfiguration Prelude.Text+describeGatewayCapabilityConfiguration_capabilityNamespace = Lens.lens (\DescribeGatewayCapabilityConfiguration' {capabilityNamespace} -> capabilityNamespace) (\s@DescribeGatewayCapabilityConfiguration' {} a -> s {capabilityNamespace = a} :: DescribeGatewayCapabilityConfiguration)++instance+ Core.AWSRequest+ DescribeGatewayCapabilityConfiguration+ where+ type+ AWSResponse+ DescribeGatewayCapabilityConfiguration =+ DescribeGatewayCapabilityConfigurationResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeGatewayCapabilityConfigurationResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "gatewayId")+ Prelude.<*> (x Data..:> "capabilityNamespace")+ Prelude.<*> (x Data..:> "capabilityConfiguration")+ Prelude.<*> (x Data..:> "capabilitySyncStatus")+ )++instance+ Prelude.Hashable+ DescribeGatewayCapabilityConfiguration+ where+ hashWithSalt+ _salt+ DescribeGatewayCapabilityConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` gatewayId+ `Prelude.hashWithSalt` capabilityNamespace++instance+ Prelude.NFData+ DescribeGatewayCapabilityConfiguration+ where+ rnf DescribeGatewayCapabilityConfiguration' {..} =+ Prelude.rnf gatewayId+ `Prelude.seq` Prelude.rnf capabilityNamespace++instance+ Data.ToHeaders+ DescribeGatewayCapabilityConfiguration+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToPath+ DescribeGatewayCapabilityConfiguration+ where+ toPath DescribeGatewayCapabilityConfiguration' {..} =+ Prelude.mconcat+ [ "/20200301/gateways/",+ Data.toBS gatewayId,+ "/capability/",+ Data.toBS capabilityNamespace+ ]++instance+ Data.ToQuery+ DescribeGatewayCapabilityConfiguration+ where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeGatewayCapabilityConfigurationResponse' smart constructor.+data DescribeGatewayCapabilityConfigurationResponse = DescribeGatewayCapabilityConfigurationResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The ID of the gateway that defines the capability configuration.+ gatewayId :: Prelude.Text,+ -- | The namespace of the gateway capability.+ capabilityNamespace :: Prelude.Text,+ -- | The JSON document that defines the gateway capability\'s configuration.+ -- For more information, see+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/configure-sources.html#configure-source-cli Configuring data sources (CLI)>+ -- in the /IoT SiteWise User Guide/.+ capabilityConfiguration :: Prelude.Text,+ -- | 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.+ capabilitySyncStatus :: CapabilitySyncStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeGatewayCapabilityConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'describeGatewayCapabilityConfigurationResponse_httpStatus' - The response's http status code.+--+-- 'gatewayId', 'describeGatewayCapabilityConfigurationResponse_gatewayId' - The ID of the gateway that defines the capability configuration.+--+-- 'capabilityNamespace', 'describeGatewayCapabilityConfigurationResponse_capabilityNamespace' - The namespace of the gateway capability.+--+-- 'capabilityConfiguration', 'describeGatewayCapabilityConfigurationResponse_capabilityConfiguration' - The JSON document that defines the gateway capability\'s configuration.+-- For more information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/configure-sources.html#configure-source-cli Configuring data sources (CLI)>+-- in the /IoT SiteWise User Guide/.+--+-- 'capabilitySyncStatus', 'describeGatewayCapabilityConfigurationResponse_capabilitySyncStatus' - 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.+newDescribeGatewayCapabilityConfigurationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'gatewayId'+ Prelude.Text ->+ -- | 'capabilityNamespace'+ Prelude.Text ->+ -- | 'capabilityConfiguration'+ Prelude.Text ->+ -- | 'capabilitySyncStatus'+ CapabilitySyncStatus ->+ DescribeGatewayCapabilityConfigurationResponse+newDescribeGatewayCapabilityConfigurationResponse+ pHttpStatus_+ pGatewayId_+ pCapabilityNamespace_+ pCapabilityConfiguration_+ pCapabilitySyncStatus_ =+ DescribeGatewayCapabilityConfigurationResponse'+ { httpStatus =+ pHttpStatus_,+ gatewayId = pGatewayId_,+ capabilityNamespace =+ pCapabilityNamespace_,+ capabilityConfiguration =+ pCapabilityConfiguration_,+ capabilitySyncStatus =+ pCapabilitySyncStatus_+ }++-- | The response's http status code.+describeGatewayCapabilityConfigurationResponse_httpStatus :: Lens.Lens' DescribeGatewayCapabilityConfigurationResponse Prelude.Int+describeGatewayCapabilityConfigurationResponse_httpStatus = Lens.lens (\DescribeGatewayCapabilityConfigurationResponse' {httpStatus} -> httpStatus) (\s@DescribeGatewayCapabilityConfigurationResponse' {} a -> s {httpStatus = a} :: DescribeGatewayCapabilityConfigurationResponse)++-- | The ID of the gateway that defines the capability configuration.+describeGatewayCapabilityConfigurationResponse_gatewayId :: Lens.Lens' DescribeGatewayCapabilityConfigurationResponse Prelude.Text+describeGatewayCapabilityConfigurationResponse_gatewayId = Lens.lens (\DescribeGatewayCapabilityConfigurationResponse' {gatewayId} -> gatewayId) (\s@DescribeGatewayCapabilityConfigurationResponse' {} a -> s {gatewayId = a} :: DescribeGatewayCapabilityConfigurationResponse)++-- | The namespace of the gateway capability.+describeGatewayCapabilityConfigurationResponse_capabilityNamespace :: Lens.Lens' DescribeGatewayCapabilityConfigurationResponse Prelude.Text+describeGatewayCapabilityConfigurationResponse_capabilityNamespace = Lens.lens (\DescribeGatewayCapabilityConfigurationResponse' {capabilityNamespace} -> capabilityNamespace) (\s@DescribeGatewayCapabilityConfigurationResponse' {} a -> s {capabilityNamespace = a} :: DescribeGatewayCapabilityConfigurationResponse)++-- | The JSON document that defines the gateway capability\'s configuration.+-- For more information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/configure-sources.html#configure-source-cli Configuring data sources (CLI)>+-- in the /IoT SiteWise User Guide/.+describeGatewayCapabilityConfigurationResponse_capabilityConfiguration :: Lens.Lens' DescribeGatewayCapabilityConfigurationResponse Prelude.Text+describeGatewayCapabilityConfigurationResponse_capabilityConfiguration = Lens.lens (\DescribeGatewayCapabilityConfigurationResponse' {capabilityConfiguration} -> capabilityConfiguration) (\s@DescribeGatewayCapabilityConfigurationResponse' {} a -> s {capabilityConfiguration = a} :: DescribeGatewayCapabilityConfigurationResponse)++-- | 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.+describeGatewayCapabilityConfigurationResponse_capabilitySyncStatus :: Lens.Lens' DescribeGatewayCapabilityConfigurationResponse CapabilitySyncStatus+describeGatewayCapabilityConfigurationResponse_capabilitySyncStatus = Lens.lens (\DescribeGatewayCapabilityConfigurationResponse' {capabilitySyncStatus} -> capabilitySyncStatus) (\s@DescribeGatewayCapabilityConfigurationResponse' {} a -> s {capabilitySyncStatus = a} :: DescribeGatewayCapabilityConfigurationResponse)++instance+ Prelude.NFData+ DescribeGatewayCapabilityConfigurationResponse+ where+ rnf+ DescribeGatewayCapabilityConfigurationResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf gatewayId+ `Prelude.seq` Prelude.rnf capabilityNamespace+ `Prelude.seq` Prelude.rnf capabilityConfiguration+ `Prelude.seq` Prelude.rnf capabilitySyncStatus
+ gen/Amazonka/IoTSiteWise/DescribeLoggingOptions.hs view
@@ -0,0 +1,148 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.DescribeLoggingOptions+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the current IoT SiteWise logging options.+module Amazonka.IoTSiteWise.DescribeLoggingOptions+ ( -- * Creating a Request+ DescribeLoggingOptions (..),+ newDescribeLoggingOptions,++ -- * Destructuring the Response+ DescribeLoggingOptionsResponse (..),+ newDescribeLoggingOptionsResponse,++ -- * Response Lenses+ describeLoggingOptionsResponse_httpStatus,+ describeLoggingOptionsResponse_loggingOptions,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeLoggingOptions' smart constructor.+data DescribeLoggingOptions = DescribeLoggingOptions'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeLoggingOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newDescribeLoggingOptions ::+ DescribeLoggingOptions+newDescribeLoggingOptions = DescribeLoggingOptions'++instance Core.AWSRequest DescribeLoggingOptions where+ type+ AWSResponse DescribeLoggingOptions =+ DescribeLoggingOptionsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeLoggingOptionsResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "loggingOptions")+ )++instance Prelude.Hashable DescribeLoggingOptions where+ hashWithSalt _salt _ =+ _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData DescribeLoggingOptions where+ rnf _ = ()++instance Data.ToHeaders DescribeLoggingOptions where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DescribeLoggingOptions where+ toPath = Prelude.const "/logging"++instance Data.ToQuery DescribeLoggingOptions where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeLoggingOptionsResponse' smart constructor.+data DescribeLoggingOptionsResponse = DescribeLoggingOptionsResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The current logging options.+ loggingOptions :: LoggingOptions+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeLoggingOptionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'describeLoggingOptionsResponse_httpStatus' - The response's http status code.+--+-- 'loggingOptions', 'describeLoggingOptionsResponse_loggingOptions' - The current logging options.+newDescribeLoggingOptionsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'loggingOptions'+ LoggingOptions ->+ DescribeLoggingOptionsResponse+newDescribeLoggingOptionsResponse+ pHttpStatus_+ pLoggingOptions_ =+ DescribeLoggingOptionsResponse'+ { httpStatus =+ pHttpStatus_,+ loggingOptions = pLoggingOptions_+ }++-- | The response's http status code.+describeLoggingOptionsResponse_httpStatus :: Lens.Lens' DescribeLoggingOptionsResponse Prelude.Int+describeLoggingOptionsResponse_httpStatus = Lens.lens (\DescribeLoggingOptionsResponse' {httpStatus} -> httpStatus) (\s@DescribeLoggingOptionsResponse' {} a -> s {httpStatus = a} :: DescribeLoggingOptionsResponse)++-- | The current logging options.+describeLoggingOptionsResponse_loggingOptions :: Lens.Lens' DescribeLoggingOptionsResponse LoggingOptions+describeLoggingOptionsResponse_loggingOptions = Lens.lens (\DescribeLoggingOptionsResponse' {loggingOptions} -> loggingOptions) (\s@DescribeLoggingOptionsResponse' {} a -> s {loggingOptions = a} :: DescribeLoggingOptionsResponse)++instance+ Prelude.NFData+ DescribeLoggingOptionsResponse+ where+ rnf DescribeLoggingOptionsResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf loggingOptions
+ gen/Amazonka/IoTSiteWise/DescribePortal.hs view
@@ -0,0 +1,403 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.DescribePortal+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves information about a portal.+module Amazonka.IoTSiteWise.DescribePortal+ ( -- * Creating a Request+ DescribePortal (..),+ newDescribePortal,++ -- * Request Lenses+ describePortal_portalId,++ -- * Destructuring the Response+ DescribePortalResponse (..),+ newDescribePortalResponse,++ -- * Response Lenses+ describePortalResponse_alarms,+ describePortalResponse_notificationSenderEmail,+ describePortalResponse_portalAuthMode,+ describePortalResponse_portalDescription,+ describePortalResponse_portalLogoImageLocation,+ describePortalResponse_roleArn,+ describePortalResponse_httpStatus,+ describePortalResponse_portalId,+ describePortalResponse_portalArn,+ describePortalResponse_portalName,+ describePortalResponse_portalClientId,+ describePortalResponse_portalStartUrl,+ describePortalResponse_portalContactEmail,+ describePortalResponse_portalStatus,+ describePortalResponse_portalCreationDate,+ describePortalResponse_portalLastUpdateDate,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribePortal' smart constructor.+data DescribePortal = DescribePortal'+ { -- | The ID of the portal.+ portalId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribePortal' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'portalId', 'describePortal_portalId' - The ID of the portal.+newDescribePortal ::+ -- | 'portalId'+ Prelude.Text ->+ DescribePortal+newDescribePortal pPortalId_ =+ DescribePortal' {portalId = pPortalId_}++-- | The ID of the portal.+describePortal_portalId :: Lens.Lens' DescribePortal Prelude.Text+describePortal_portalId = Lens.lens (\DescribePortal' {portalId} -> portalId) (\s@DescribePortal' {} a -> s {portalId = a} :: DescribePortal)++instance Core.AWSRequest DescribePortal where+ type+ AWSResponse DescribePortal =+ DescribePortalResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribePortalResponse'+ Prelude.<$> (x Data..?> "alarms")+ Prelude.<*> (x Data..?> "notificationSenderEmail")+ Prelude.<*> (x Data..?> "portalAuthMode")+ Prelude.<*> (x Data..?> "portalDescription")+ Prelude.<*> (x Data..?> "portalLogoImageLocation")+ Prelude.<*> (x Data..?> "roleArn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "portalId")+ Prelude.<*> (x Data..:> "portalArn")+ Prelude.<*> (x Data..:> "portalName")+ Prelude.<*> (x Data..:> "portalClientId")+ Prelude.<*> (x Data..:> "portalStartUrl")+ Prelude.<*> (x Data..:> "portalContactEmail")+ Prelude.<*> (x Data..:> "portalStatus")+ Prelude.<*> (x Data..:> "portalCreationDate")+ Prelude.<*> (x Data..:> "portalLastUpdateDate")+ )++instance Prelude.Hashable DescribePortal where+ hashWithSalt _salt DescribePortal' {..} =+ _salt `Prelude.hashWithSalt` portalId++instance Prelude.NFData DescribePortal where+ rnf DescribePortal' {..} = Prelude.rnf portalId++instance Data.ToHeaders DescribePortal where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DescribePortal where+ toPath DescribePortal' {..} =+ Prelude.mconcat ["/portals/", Data.toBS portalId]++instance Data.ToQuery DescribePortal where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribePortalResponse' smart constructor.+data DescribePortalResponse = DescribePortalResponse'+ { -- | Contains the configuration information of an alarm created in an IoT+ -- SiteWise Monitor portal.+ alarms :: Prelude.Maybe Alarms,+ -- | The email address that sends alarm notifications.+ notificationSenderEmail :: Prelude.Maybe Prelude.Text,+ -- | The service to use to authenticate users to the portal.+ portalAuthMode :: Prelude.Maybe AuthMode,+ -- | The portal\'s description.+ portalDescription :: Prelude.Maybe Prelude.Text,+ -- | The portal\'s logo image, which is available at a URL.+ portalLogoImageLocation :: Prelude.Maybe ImageLocation,+ -- | The+ -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+ -- of the service role that allows the portal\'s users to access your IoT+ -- SiteWise resources on your behalf. For more information, see+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/monitor-service-role.html Using service roles for IoT SiteWise Monitor>+ -- in the /IoT SiteWise User Guide/.+ roleArn :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The ID of the portal.+ portalId :: Prelude.Text,+ -- | The+ -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+ -- of the portal, which has the following format.+ --+ -- @arn:${Partition}:iotsitewise:${Region}:${Account}:portal\/${PortalId}@+ portalArn :: Prelude.Text,+ -- | The name of the portal.+ portalName :: Prelude.Text,+ -- | 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.+ portalClientId :: Prelude.Text,+ -- | 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.+ portalStartUrl :: Prelude.Text,+ -- | The Amazon Web Services administrator\'s contact email address.+ portalContactEmail :: Prelude.Text,+ -- | The current status of the portal, which contains a state and any error+ -- message.+ portalStatus :: PortalStatus,+ -- | The date the portal was created, in Unix epoch time.+ portalCreationDate :: Data.POSIX,+ -- | The date the portal was last updated, in Unix epoch time.+ portalLastUpdateDate :: Data.POSIX+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribePortalResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'alarms', 'describePortalResponse_alarms' - Contains the configuration information of an alarm created in an IoT+-- SiteWise Monitor portal.+--+-- 'notificationSenderEmail', 'describePortalResponse_notificationSenderEmail' - The email address that sends alarm notifications.+--+-- 'portalAuthMode', 'describePortalResponse_portalAuthMode' - The service to use to authenticate users to the portal.+--+-- 'portalDescription', 'describePortalResponse_portalDescription' - The portal\'s description.+--+-- 'portalLogoImageLocation', 'describePortalResponse_portalLogoImageLocation' - The portal\'s logo image, which is available at a URL.+--+-- 'roleArn', 'describePortalResponse_roleArn' - The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of the service role that allows the portal\'s users to access your IoT+-- SiteWise resources on your behalf. For more information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/monitor-service-role.html Using service roles for IoT SiteWise Monitor>+-- in the /IoT SiteWise User Guide/.+--+-- 'httpStatus', 'describePortalResponse_httpStatus' - The response's http status code.+--+-- 'portalId', 'describePortalResponse_portalId' - The ID of the portal.+--+-- 'portalArn', 'describePortalResponse_portalArn' - The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of the portal, which has the following format.+--+-- @arn:${Partition}:iotsitewise:${Region}:${Account}:portal\/${PortalId}@+--+-- 'portalName', 'describePortalResponse_portalName' - The name of the portal.+--+-- 'portalClientId', 'describePortalResponse_portalClientId' - 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.+--+-- 'portalStartUrl', 'describePortalResponse_portalStartUrl' - 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.+--+-- 'portalContactEmail', 'describePortalResponse_portalContactEmail' - The Amazon Web Services administrator\'s contact email address.+--+-- 'portalStatus', 'describePortalResponse_portalStatus' - The current status of the portal, which contains a state and any error+-- message.+--+-- 'portalCreationDate', 'describePortalResponse_portalCreationDate' - The date the portal was created, in Unix epoch time.+--+-- 'portalLastUpdateDate', 'describePortalResponse_portalLastUpdateDate' - The date the portal was last updated, in Unix epoch time.+newDescribePortalResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'portalId'+ Prelude.Text ->+ -- | 'portalArn'+ Prelude.Text ->+ -- | 'portalName'+ Prelude.Text ->+ -- | 'portalClientId'+ Prelude.Text ->+ -- | 'portalStartUrl'+ Prelude.Text ->+ -- | 'portalContactEmail'+ Prelude.Text ->+ -- | 'portalStatus'+ PortalStatus ->+ -- | 'portalCreationDate'+ Prelude.UTCTime ->+ -- | 'portalLastUpdateDate'+ Prelude.UTCTime ->+ DescribePortalResponse+newDescribePortalResponse+ pHttpStatus_+ pPortalId_+ pPortalArn_+ pPortalName_+ pPortalClientId_+ pPortalStartUrl_+ pPortalContactEmail_+ pPortalStatus_+ pPortalCreationDate_+ pPortalLastUpdateDate_ =+ DescribePortalResponse'+ { alarms = Prelude.Nothing,+ notificationSenderEmail = Prelude.Nothing,+ portalAuthMode = Prelude.Nothing,+ portalDescription = Prelude.Nothing,+ portalLogoImageLocation = Prelude.Nothing,+ roleArn = Prelude.Nothing,+ httpStatus = pHttpStatus_,+ portalId = pPortalId_,+ portalArn = pPortalArn_,+ portalName = pPortalName_,+ portalClientId = pPortalClientId_,+ portalStartUrl = pPortalStartUrl_,+ portalContactEmail = pPortalContactEmail_,+ portalStatus = pPortalStatus_,+ portalCreationDate =+ Data._Time Lens.# pPortalCreationDate_,+ portalLastUpdateDate =+ Data._Time Lens.# pPortalLastUpdateDate_+ }++-- | Contains the configuration information of an alarm created in an IoT+-- SiteWise Monitor portal.+describePortalResponse_alarms :: Lens.Lens' DescribePortalResponse (Prelude.Maybe Alarms)+describePortalResponse_alarms = Lens.lens (\DescribePortalResponse' {alarms} -> alarms) (\s@DescribePortalResponse' {} a -> s {alarms = a} :: DescribePortalResponse)++-- | The email address that sends alarm notifications.+describePortalResponse_notificationSenderEmail :: Lens.Lens' DescribePortalResponse (Prelude.Maybe Prelude.Text)+describePortalResponse_notificationSenderEmail = Lens.lens (\DescribePortalResponse' {notificationSenderEmail} -> notificationSenderEmail) (\s@DescribePortalResponse' {} a -> s {notificationSenderEmail = a} :: DescribePortalResponse)++-- | The service to use to authenticate users to the portal.+describePortalResponse_portalAuthMode :: Lens.Lens' DescribePortalResponse (Prelude.Maybe AuthMode)+describePortalResponse_portalAuthMode = Lens.lens (\DescribePortalResponse' {portalAuthMode} -> portalAuthMode) (\s@DescribePortalResponse' {} a -> s {portalAuthMode = a} :: DescribePortalResponse)++-- | The portal\'s description.+describePortalResponse_portalDescription :: Lens.Lens' DescribePortalResponse (Prelude.Maybe Prelude.Text)+describePortalResponse_portalDescription = Lens.lens (\DescribePortalResponse' {portalDescription} -> portalDescription) (\s@DescribePortalResponse' {} a -> s {portalDescription = a} :: DescribePortalResponse)++-- | The portal\'s logo image, which is available at a URL.+describePortalResponse_portalLogoImageLocation :: Lens.Lens' DescribePortalResponse (Prelude.Maybe ImageLocation)+describePortalResponse_portalLogoImageLocation = Lens.lens (\DescribePortalResponse' {portalLogoImageLocation} -> portalLogoImageLocation) (\s@DescribePortalResponse' {} a -> s {portalLogoImageLocation = a} :: DescribePortalResponse)++-- | The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of the service role that allows the portal\'s users to access your IoT+-- SiteWise resources on your behalf. For more information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/monitor-service-role.html Using service roles for IoT SiteWise Monitor>+-- in the /IoT SiteWise User Guide/.+describePortalResponse_roleArn :: Lens.Lens' DescribePortalResponse (Prelude.Maybe Prelude.Text)+describePortalResponse_roleArn = Lens.lens (\DescribePortalResponse' {roleArn} -> roleArn) (\s@DescribePortalResponse' {} a -> s {roleArn = a} :: DescribePortalResponse)++-- | The response's http status code.+describePortalResponse_httpStatus :: Lens.Lens' DescribePortalResponse Prelude.Int+describePortalResponse_httpStatus = Lens.lens (\DescribePortalResponse' {httpStatus} -> httpStatus) (\s@DescribePortalResponse' {} a -> s {httpStatus = a} :: DescribePortalResponse)++-- | The ID of the portal.+describePortalResponse_portalId :: Lens.Lens' DescribePortalResponse Prelude.Text+describePortalResponse_portalId = Lens.lens (\DescribePortalResponse' {portalId} -> portalId) (\s@DescribePortalResponse' {} a -> s {portalId = a} :: DescribePortalResponse)++-- | The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of the portal, which has the following format.+--+-- @arn:${Partition}:iotsitewise:${Region}:${Account}:portal\/${PortalId}@+describePortalResponse_portalArn :: Lens.Lens' DescribePortalResponse Prelude.Text+describePortalResponse_portalArn = Lens.lens (\DescribePortalResponse' {portalArn} -> portalArn) (\s@DescribePortalResponse' {} a -> s {portalArn = a} :: DescribePortalResponse)++-- | The name of the portal.+describePortalResponse_portalName :: Lens.Lens' DescribePortalResponse Prelude.Text+describePortalResponse_portalName = Lens.lens (\DescribePortalResponse' {portalName} -> portalName) (\s@DescribePortalResponse' {} a -> s {portalName = a} :: DescribePortalResponse)++-- | 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.+describePortalResponse_portalClientId :: Lens.Lens' DescribePortalResponse Prelude.Text+describePortalResponse_portalClientId = Lens.lens (\DescribePortalResponse' {portalClientId} -> portalClientId) (\s@DescribePortalResponse' {} a -> s {portalClientId = a} :: DescribePortalResponse)++-- | 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.+describePortalResponse_portalStartUrl :: Lens.Lens' DescribePortalResponse Prelude.Text+describePortalResponse_portalStartUrl = Lens.lens (\DescribePortalResponse' {portalStartUrl} -> portalStartUrl) (\s@DescribePortalResponse' {} a -> s {portalStartUrl = a} :: DescribePortalResponse)++-- | The Amazon Web Services administrator\'s contact email address.+describePortalResponse_portalContactEmail :: Lens.Lens' DescribePortalResponse Prelude.Text+describePortalResponse_portalContactEmail = Lens.lens (\DescribePortalResponse' {portalContactEmail} -> portalContactEmail) (\s@DescribePortalResponse' {} a -> s {portalContactEmail = a} :: DescribePortalResponse)++-- | The current status of the portal, which contains a state and any error+-- message.+describePortalResponse_portalStatus :: Lens.Lens' DescribePortalResponse PortalStatus+describePortalResponse_portalStatus = Lens.lens (\DescribePortalResponse' {portalStatus} -> portalStatus) (\s@DescribePortalResponse' {} a -> s {portalStatus = a} :: DescribePortalResponse)++-- | The date the portal was created, in Unix epoch time.+describePortalResponse_portalCreationDate :: Lens.Lens' DescribePortalResponse Prelude.UTCTime+describePortalResponse_portalCreationDate = Lens.lens (\DescribePortalResponse' {portalCreationDate} -> portalCreationDate) (\s@DescribePortalResponse' {} a -> s {portalCreationDate = a} :: DescribePortalResponse) Prelude.. Data._Time++-- | The date the portal was last updated, in Unix epoch time.+describePortalResponse_portalLastUpdateDate :: Lens.Lens' DescribePortalResponse Prelude.UTCTime+describePortalResponse_portalLastUpdateDate = Lens.lens (\DescribePortalResponse' {portalLastUpdateDate} -> portalLastUpdateDate) (\s@DescribePortalResponse' {} a -> s {portalLastUpdateDate = a} :: DescribePortalResponse) Prelude.. Data._Time++instance Prelude.NFData DescribePortalResponse where+ rnf DescribePortalResponse' {..} =+ Prelude.rnf alarms+ `Prelude.seq` Prelude.rnf notificationSenderEmail+ `Prelude.seq` Prelude.rnf portalAuthMode+ `Prelude.seq` Prelude.rnf portalDescription+ `Prelude.seq` Prelude.rnf portalLogoImageLocation+ `Prelude.seq` Prelude.rnf roleArn+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf portalId+ `Prelude.seq` Prelude.rnf portalArn+ `Prelude.seq` Prelude.rnf portalName+ `Prelude.seq` Prelude.rnf portalClientId+ `Prelude.seq` Prelude.rnf portalStartUrl+ `Prelude.seq` Prelude.rnf portalContactEmail+ `Prelude.seq` Prelude.rnf portalStatus+ `Prelude.seq` Prelude.rnf portalCreationDate+ `Prelude.seq` Prelude.rnf portalLastUpdateDate
+ gen/Amazonka/IoTSiteWise/DescribeProject.hs view
@@ -0,0 +1,263 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.DescribeProject+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves information about a project.+module Amazonka.IoTSiteWise.DescribeProject+ ( -- * Creating a Request+ DescribeProject (..),+ newDescribeProject,++ -- * Request Lenses+ describeProject_projectId,++ -- * Destructuring the Response+ DescribeProjectResponse (..),+ newDescribeProjectResponse,++ -- * Response Lenses+ describeProjectResponse_projectDescription,+ describeProjectResponse_httpStatus,+ describeProjectResponse_projectId,+ describeProjectResponse_projectArn,+ describeProjectResponse_projectName,+ describeProjectResponse_portalId,+ describeProjectResponse_projectCreationDate,+ describeProjectResponse_projectLastUpdateDate,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeProject' smart constructor.+data DescribeProject = DescribeProject'+ { -- | The ID of the project.+ projectId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeProject' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'projectId', 'describeProject_projectId' - The ID of the project.+newDescribeProject ::+ -- | 'projectId'+ Prelude.Text ->+ DescribeProject+newDescribeProject pProjectId_ =+ DescribeProject' {projectId = pProjectId_}++-- | The ID of the project.+describeProject_projectId :: Lens.Lens' DescribeProject Prelude.Text+describeProject_projectId = Lens.lens (\DescribeProject' {projectId} -> projectId) (\s@DescribeProject' {} a -> s {projectId = a} :: DescribeProject)++instance Core.AWSRequest DescribeProject where+ type+ AWSResponse DescribeProject =+ DescribeProjectResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeProjectResponse'+ Prelude.<$> (x Data..?> "projectDescription")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "projectId")+ Prelude.<*> (x Data..:> "projectArn")+ Prelude.<*> (x Data..:> "projectName")+ Prelude.<*> (x Data..:> "portalId")+ Prelude.<*> (x Data..:> "projectCreationDate")+ Prelude.<*> (x Data..:> "projectLastUpdateDate")+ )++instance Prelude.Hashable DescribeProject where+ hashWithSalt _salt DescribeProject' {..} =+ _salt `Prelude.hashWithSalt` projectId++instance Prelude.NFData DescribeProject where+ rnf DescribeProject' {..} = Prelude.rnf projectId++instance Data.ToHeaders DescribeProject where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DescribeProject where+ toPath DescribeProject' {..} =+ Prelude.mconcat ["/projects/", Data.toBS projectId]++instance Data.ToQuery DescribeProject where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeProjectResponse' smart constructor.+data DescribeProjectResponse = DescribeProjectResponse'+ { -- | The project\'s description.+ projectDescription :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The ID of the project.+ projectId :: Prelude.Text,+ -- | The+ -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+ -- of the project, which has the following format.+ --+ -- @arn:${Partition}:iotsitewise:${Region}:${Account}:project\/${ProjectId}@+ projectArn :: Prelude.Text,+ -- | The name of the project.+ projectName :: Prelude.Text,+ -- | The ID of the portal that the project is in.+ portalId :: Prelude.Text,+ -- | The date the project was created, in Unix epoch time.+ projectCreationDate :: Data.POSIX,+ -- | The date the project was last updated, in Unix epoch time.+ projectLastUpdateDate :: Data.POSIX+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeProjectResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'projectDescription', 'describeProjectResponse_projectDescription' - The project\'s description.+--+-- 'httpStatus', 'describeProjectResponse_httpStatus' - The response's http status code.+--+-- 'projectId', 'describeProjectResponse_projectId' - The ID of the project.+--+-- 'projectArn', 'describeProjectResponse_projectArn' - The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of the project, which has the following format.+--+-- @arn:${Partition}:iotsitewise:${Region}:${Account}:project\/${ProjectId}@+--+-- 'projectName', 'describeProjectResponse_projectName' - The name of the project.+--+-- 'portalId', 'describeProjectResponse_portalId' - The ID of the portal that the project is in.+--+-- 'projectCreationDate', 'describeProjectResponse_projectCreationDate' - The date the project was created, in Unix epoch time.+--+-- 'projectLastUpdateDate', 'describeProjectResponse_projectLastUpdateDate' - The date the project was last updated, in Unix epoch time.+newDescribeProjectResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'projectId'+ Prelude.Text ->+ -- | 'projectArn'+ Prelude.Text ->+ -- | 'projectName'+ Prelude.Text ->+ -- | 'portalId'+ Prelude.Text ->+ -- | 'projectCreationDate'+ Prelude.UTCTime ->+ -- | 'projectLastUpdateDate'+ Prelude.UTCTime ->+ DescribeProjectResponse+newDescribeProjectResponse+ pHttpStatus_+ pProjectId_+ pProjectArn_+ pProjectName_+ pPortalId_+ pProjectCreationDate_+ pProjectLastUpdateDate_ =+ DescribeProjectResponse'+ { projectDescription =+ Prelude.Nothing,+ httpStatus = pHttpStatus_,+ projectId = pProjectId_,+ projectArn = pProjectArn_,+ projectName = pProjectName_,+ portalId = pPortalId_,+ projectCreationDate =+ Data._Time Lens.# pProjectCreationDate_,+ projectLastUpdateDate =+ Data._Time Lens.# pProjectLastUpdateDate_+ }++-- | The project\'s description.+describeProjectResponse_projectDescription :: Lens.Lens' DescribeProjectResponse (Prelude.Maybe Prelude.Text)+describeProjectResponse_projectDescription = Lens.lens (\DescribeProjectResponse' {projectDescription} -> projectDescription) (\s@DescribeProjectResponse' {} a -> s {projectDescription = a} :: DescribeProjectResponse)++-- | The response's http status code.+describeProjectResponse_httpStatus :: Lens.Lens' DescribeProjectResponse Prelude.Int+describeProjectResponse_httpStatus = Lens.lens (\DescribeProjectResponse' {httpStatus} -> httpStatus) (\s@DescribeProjectResponse' {} a -> s {httpStatus = a} :: DescribeProjectResponse)++-- | The ID of the project.+describeProjectResponse_projectId :: Lens.Lens' DescribeProjectResponse Prelude.Text+describeProjectResponse_projectId = Lens.lens (\DescribeProjectResponse' {projectId} -> projectId) (\s@DescribeProjectResponse' {} a -> s {projectId = a} :: DescribeProjectResponse)++-- | The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of the project, which has the following format.+--+-- @arn:${Partition}:iotsitewise:${Region}:${Account}:project\/${ProjectId}@+describeProjectResponse_projectArn :: Lens.Lens' DescribeProjectResponse Prelude.Text+describeProjectResponse_projectArn = Lens.lens (\DescribeProjectResponse' {projectArn} -> projectArn) (\s@DescribeProjectResponse' {} a -> s {projectArn = a} :: DescribeProjectResponse)++-- | The name of the project.+describeProjectResponse_projectName :: Lens.Lens' DescribeProjectResponse Prelude.Text+describeProjectResponse_projectName = Lens.lens (\DescribeProjectResponse' {projectName} -> projectName) (\s@DescribeProjectResponse' {} a -> s {projectName = a} :: DescribeProjectResponse)++-- | The ID of the portal that the project is in.+describeProjectResponse_portalId :: Lens.Lens' DescribeProjectResponse Prelude.Text+describeProjectResponse_portalId = Lens.lens (\DescribeProjectResponse' {portalId} -> portalId) (\s@DescribeProjectResponse' {} a -> s {portalId = a} :: DescribeProjectResponse)++-- | The date the project was created, in Unix epoch time.+describeProjectResponse_projectCreationDate :: Lens.Lens' DescribeProjectResponse Prelude.UTCTime+describeProjectResponse_projectCreationDate = Lens.lens (\DescribeProjectResponse' {projectCreationDate} -> projectCreationDate) (\s@DescribeProjectResponse' {} a -> s {projectCreationDate = a} :: DescribeProjectResponse) Prelude.. Data._Time++-- | The date the project was last updated, in Unix epoch time.+describeProjectResponse_projectLastUpdateDate :: Lens.Lens' DescribeProjectResponse Prelude.UTCTime+describeProjectResponse_projectLastUpdateDate = Lens.lens (\DescribeProjectResponse' {projectLastUpdateDate} -> projectLastUpdateDate) (\s@DescribeProjectResponse' {} a -> s {projectLastUpdateDate = a} :: DescribeProjectResponse) Prelude.. Data._Time++instance Prelude.NFData DescribeProjectResponse where+ rnf DescribeProjectResponse' {..} =+ Prelude.rnf projectDescription+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf projectId+ `Prelude.seq` Prelude.rnf projectArn+ `Prelude.seq` Prelude.rnf projectName+ `Prelude.seq` Prelude.rnf portalId+ `Prelude.seq` Prelude.rnf projectCreationDate+ `Prelude.seq` Prelude.rnf projectLastUpdateDate
+ gen/Amazonka/IoTSiteWise/DescribeStorageConfiguration.hs view
@@ -0,0 +1,288 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.DescribeStorageConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves information about the storage configuration for IoT SiteWise.+module Amazonka.IoTSiteWise.DescribeStorageConfiguration+ ( -- * Creating a Request+ DescribeStorageConfiguration (..),+ newDescribeStorageConfiguration,++ -- * Destructuring the Response+ DescribeStorageConfigurationResponse (..),+ newDescribeStorageConfigurationResponse,++ -- * Response Lenses+ describeStorageConfigurationResponse_disassociatedDataStorage,+ describeStorageConfigurationResponse_lastUpdateDate,+ describeStorageConfigurationResponse_multiLayerStorage,+ describeStorageConfigurationResponse_retentionPeriod,+ describeStorageConfigurationResponse_httpStatus,+ describeStorageConfigurationResponse_storageType,+ describeStorageConfigurationResponse_configurationStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeStorageConfiguration' smart constructor.+data DescribeStorageConfiguration = DescribeStorageConfiguration'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeStorageConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newDescribeStorageConfiguration ::+ DescribeStorageConfiguration+newDescribeStorageConfiguration =+ DescribeStorageConfiguration'++instance Core.AWSRequest DescribeStorageConfiguration where+ type+ AWSResponse DescribeStorageConfiguration =+ DescribeStorageConfigurationResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeStorageConfigurationResponse'+ Prelude.<$> (x Data..?> "disassociatedDataStorage")+ Prelude.<*> (x Data..?> "lastUpdateDate")+ Prelude.<*> (x Data..?> "multiLayerStorage")+ Prelude.<*> (x Data..?> "retentionPeriod")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "storageType")+ Prelude.<*> (x Data..:> "configurationStatus")+ )++instance+ Prelude.Hashable+ DescribeStorageConfiguration+ where+ hashWithSalt _salt _ =+ _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData DescribeStorageConfiguration where+ rnf _ = ()++instance Data.ToHeaders DescribeStorageConfiguration where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DescribeStorageConfiguration where+ toPath =+ Prelude.const "/configuration/account/storage"++instance Data.ToQuery DescribeStorageConfiguration where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeStorageConfigurationResponse' smart constructor.+data DescribeStorageConfigurationResponse = DescribeStorageConfigurationResponse'+ { -- | 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+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/data-streams.html Data streams>+ -- in the /IoT SiteWise User Guide/.+ disassociatedDataStorage :: Prelude.Maybe DisassociatedDataStorageState,+ -- | The date the storage configuration was last updated, in Unix epoch time.+ lastUpdateDate :: Prelude.Maybe Data.POSIX,+ -- | Contains information about the storage destination.+ multiLayerStorage :: Prelude.Maybe MultiLayerStorage,+ -- | How many days your data is kept in the hot tier. By default, your data+ -- is kept indefinitely in the hot tier.+ retentionPeriod :: Prelude.Maybe RetentionPeriod,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | 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.+ storageType :: StorageType,+ configurationStatus :: ConfigurationStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeStorageConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'disassociatedDataStorage', 'describeStorageConfigurationResponse_disassociatedDataStorage' - 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/data-streams.html Data streams>+-- in the /IoT SiteWise User Guide/.+--+-- 'lastUpdateDate', 'describeStorageConfigurationResponse_lastUpdateDate' - The date the storage configuration was last updated, in Unix epoch time.+--+-- 'multiLayerStorage', 'describeStorageConfigurationResponse_multiLayerStorage' - Contains information about the storage destination.+--+-- 'retentionPeriod', 'describeStorageConfigurationResponse_retentionPeriod' - How many days your data is kept in the hot tier. By default, your data+-- is kept indefinitely in the hot tier.+--+-- 'httpStatus', 'describeStorageConfigurationResponse_httpStatus' - The response's http status code.+--+-- 'storageType', 'describeStorageConfigurationResponse_storageType' - 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.+--+-- 'configurationStatus', 'describeStorageConfigurationResponse_configurationStatus' - Undocumented member.+newDescribeStorageConfigurationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'storageType'+ StorageType ->+ -- | 'configurationStatus'+ ConfigurationStatus ->+ DescribeStorageConfigurationResponse+newDescribeStorageConfigurationResponse+ pHttpStatus_+ pStorageType_+ pConfigurationStatus_ =+ DescribeStorageConfigurationResponse'+ { disassociatedDataStorage =+ Prelude.Nothing,+ lastUpdateDate = Prelude.Nothing,+ multiLayerStorage = Prelude.Nothing,+ retentionPeriod = Prelude.Nothing,+ httpStatus = pHttpStatus_,+ storageType = pStorageType_,+ configurationStatus =+ pConfigurationStatus_+ }++-- | 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/data-streams.html Data streams>+-- in the /IoT SiteWise User Guide/.+describeStorageConfigurationResponse_disassociatedDataStorage :: Lens.Lens' DescribeStorageConfigurationResponse (Prelude.Maybe DisassociatedDataStorageState)+describeStorageConfigurationResponse_disassociatedDataStorage = Lens.lens (\DescribeStorageConfigurationResponse' {disassociatedDataStorage} -> disassociatedDataStorage) (\s@DescribeStorageConfigurationResponse' {} a -> s {disassociatedDataStorage = a} :: DescribeStorageConfigurationResponse)++-- | The date the storage configuration was last updated, in Unix epoch time.+describeStorageConfigurationResponse_lastUpdateDate :: Lens.Lens' DescribeStorageConfigurationResponse (Prelude.Maybe Prelude.UTCTime)+describeStorageConfigurationResponse_lastUpdateDate = Lens.lens (\DescribeStorageConfigurationResponse' {lastUpdateDate} -> lastUpdateDate) (\s@DescribeStorageConfigurationResponse' {} a -> s {lastUpdateDate = a} :: DescribeStorageConfigurationResponse) Prelude.. Lens.mapping Data._Time++-- | Contains information about the storage destination.+describeStorageConfigurationResponse_multiLayerStorage :: Lens.Lens' DescribeStorageConfigurationResponse (Prelude.Maybe MultiLayerStorage)+describeStorageConfigurationResponse_multiLayerStorage = Lens.lens (\DescribeStorageConfigurationResponse' {multiLayerStorage} -> multiLayerStorage) (\s@DescribeStorageConfigurationResponse' {} a -> s {multiLayerStorage = a} :: DescribeStorageConfigurationResponse)++-- | How many days your data is kept in the hot tier. By default, your data+-- is kept indefinitely in the hot tier.+describeStorageConfigurationResponse_retentionPeriod :: Lens.Lens' DescribeStorageConfigurationResponse (Prelude.Maybe RetentionPeriod)+describeStorageConfigurationResponse_retentionPeriod = Lens.lens (\DescribeStorageConfigurationResponse' {retentionPeriod} -> retentionPeriod) (\s@DescribeStorageConfigurationResponse' {} a -> s {retentionPeriod = a} :: DescribeStorageConfigurationResponse)++-- | The response's http status code.+describeStorageConfigurationResponse_httpStatus :: Lens.Lens' DescribeStorageConfigurationResponse Prelude.Int+describeStorageConfigurationResponse_httpStatus = Lens.lens (\DescribeStorageConfigurationResponse' {httpStatus} -> httpStatus) (\s@DescribeStorageConfigurationResponse' {} a -> s {httpStatus = a} :: 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.+describeStorageConfigurationResponse_storageType :: Lens.Lens' DescribeStorageConfigurationResponse StorageType+describeStorageConfigurationResponse_storageType = Lens.lens (\DescribeStorageConfigurationResponse' {storageType} -> storageType) (\s@DescribeStorageConfigurationResponse' {} a -> s {storageType = a} :: DescribeStorageConfigurationResponse)++-- | Undocumented member.+describeStorageConfigurationResponse_configurationStatus :: Lens.Lens' DescribeStorageConfigurationResponse ConfigurationStatus+describeStorageConfigurationResponse_configurationStatus = Lens.lens (\DescribeStorageConfigurationResponse' {configurationStatus} -> configurationStatus) (\s@DescribeStorageConfigurationResponse' {} a -> s {configurationStatus = a} :: DescribeStorageConfigurationResponse)++instance+ Prelude.NFData+ DescribeStorageConfigurationResponse+ where+ rnf DescribeStorageConfigurationResponse' {..} =+ Prelude.rnf disassociatedDataStorage+ `Prelude.seq` Prelude.rnf lastUpdateDate+ `Prelude.seq` Prelude.rnf multiLayerStorage+ `Prelude.seq` Prelude.rnf retentionPeriod+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf storageType+ `Prelude.seq` Prelude.rnf configurationStatus
+ gen/Amazonka/IoTSiteWise/DescribeTimeSeries.hs view
@@ -0,0 +1,327 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.DescribeTimeSeries+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- 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.+module Amazonka.IoTSiteWise.DescribeTimeSeries+ ( -- * Creating a Request+ DescribeTimeSeries (..),+ newDescribeTimeSeries,++ -- * Request Lenses+ describeTimeSeries_alias,+ describeTimeSeries_assetId,+ describeTimeSeries_propertyId,++ -- * Destructuring the Response+ DescribeTimeSeriesResponse (..),+ newDescribeTimeSeriesResponse,++ -- * Response Lenses+ describeTimeSeriesResponse_alias,+ describeTimeSeriesResponse_assetId,+ describeTimeSeriesResponse_dataTypeSpec,+ describeTimeSeriesResponse_propertyId,+ describeTimeSeriesResponse_httpStatus,+ describeTimeSeriesResponse_timeSeriesId,+ describeTimeSeriesResponse_dataType,+ describeTimeSeriesResponse_timeSeriesCreationDate,+ describeTimeSeriesResponse_timeSeriesLastUpdateDate,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeTimeSeries' smart constructor.+data DescribeTimeSeries = DescribeTimeSeries'+ { -- | The alias that identifies the time series.+ alias :: Prelude.Maybe Prelude.Text,+ -- | The ID of the asset in which the asset property was created.+ assetId :: Prelude.Maybe Prelude.Text,+ -- | The ID of the asset property.+ propertyId :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeTimeSeries' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'alias', 'describeTimeSeries_alias' - The alias that identifies the time series.+--+-- 'assetId', 'describeTimeSeries_assetId' - The ID of the asset in which the asset property was created.+--+-- 'propertyId', 'describeTimeSeries_propertyId' - The ID of the asset property.+newDescribeTimeSeries ::+ DescribeTimeSeries+newDescribeTimeSeries =+ DescribeTimeSeries'+ { alias = Prelude.Nothing,+ assetId = Prelude.Nothing,+ propertyId = Prelude.Nothing+ }++-- | The alias that identifies the time series.+describeTimeSeries_alias :: Lens.Lens' DescribeTimeSeries (Prelude.Maybe Prelude.Text)+describeTimeSeries_alias = Lens.lens (\DescribeTimeSeries' {alias} -> alias) (\s@DescribeTimeSeries' {} a -> s {alias = a} :: DescribeTimeSeries)++-- | The ID of the asset in which the asset property was created.+describeTimeSeries_assetId :: Lens.Lens' DescribeTimeSeries (Prelude.Maybe Prelude.Text)+describeTimeSeries_assetId = Lens.lens (\DescribeTimeSeries' {assetId} -> assetId) (\s@DescribeTimeSeries' {} a -> s {assetId = a} :: DescribeTimeSeries)++-- | The ID of the asset property.+describeTimeSeries_propertyId :: Lens.Lens' DescribeTimeSeries (Prelude.Maybe Prelude.Text)+describeTimeSeries_propertyId = Lens.lens (\DescribeTimeSeries' {propertyId} -> propertyId) (\s@DescribeTimeSeries' {} a -> s {propertyId = a} :: DescribeTimeSeries)++instance Core.AWSRequest DescribeTimeSeries where+ type+ AWSResponse DescribeTimeSeries =+ DescribeTimeSeriesResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeTimeSeriesResponse'+ Prelude.<$> (x Data..?> "alias")+ Prelude.<*> (x Data..?> "assetId")+ Prelude.<*> (x Data..?> "dataTypeSpec")+ Prelude.<*> (x Data..?> "propertyId")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "timeSeriesId")+ Prelude.<*> (x Data..:> "dataType")+ Prelude.<*> (x Data..:> "timeSeriesCreationDate")+ Prelude.<*> (x Data..:> "timeSeriesLastUpdateDate")+ )++instance Prelude.Hashable DescribeTimeSeries where+ hashWithSalt _salt DescribeTimeSeries' {..} =+ _salt+ `Prelude.hashWithSalt` alias+ `Prelude.hashWithSalt` assetId+ `Prelude.hashWithSalt` propertyId++instance Prelude.NFData DescribeTimeSeries where+ rnf DescribeTimeSeries' {..} =+ Prelude.rnf alias+ `Prelude.seq` Prelude.rnf assetId+ `Prelude.seq` Prelude.rnf propertyId++instance Data.ToHeaders DescribeTimeSeries where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DescribeTimeSeries where+ toPath = Prelude.const "/timeseries/describe/"++instance Data.ToQuery DescribeTimeSeries where+ toQuery DescribeTimeSeries' {..} =+ Prelude.mconcat+ [ "alias" Data.=: alias,+ "assetId" Data.=: assetId,+ "propertyId" Data.=: propertyId+ ]++-- | /See:/ 'newDescribeTimeSeriesResponse' smart constructor.+data DescribeTimeSeriesResponse = DescribeTimeSeriesResponse'+ { -- | The alias that identifies the time series.+ alias :: Prelude.Maybe Prelude.Text,+ -- | The ID of the asset in which the asset property was created.+ assetId :: Prelude.Maybe Prelude.Text,+ -- | 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 :: Prelude.Maybe Prelude.Text,+ -- | The ID of the asset property.+ propertyId :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The ID of the time series.+ timeSeriesId :: Prelude.Text,+ -- | 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.+ dataType :: PropertyDataType,+ -- | The date that the time series was created, in Unix epoch time.+ timeSeriesCreationDate :: Data.POSIX,+ -- | The date that the time series was last updated, in Unix epoch time.+ timeSeriesLastUpdateDate :: Data.POSIX+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeTimeSeriesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'alias', 'describeTimeSeriesResponse_alias' - The alias that identifies the time series.+--+-- 'assetId', 'describeTimeSeriesResponse_assetId' - The ID of the asset in which the asset property was created.+--+-- 'dataTypeSpec', 'describeTimeSeriesResponse_dataTypeSpec' - 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.+--+-- 'propertyId', 'describeTimeSeriesResponse_propertyId' - The ID of the asset property.+--+-- 'httpStatus', 'describeTimeSeriesResponse_httpStatus' - The response's http status code.+--+-- 'timeSeriesId', 'describeTimeSeriesResponse_timeSeriesId' - The ID of the time series.+--+-- 'dataType', 'describeTimeSeriesResponse_dataType' - 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.+--+-- 'timeSeriesCreationDate', 'describeTimeSeriesResponse_timeSeriesCreationDate' - The date that the time series was created, in Unix epoch time.+--+-- 'timeSeriesLastUpdateDate', 'describeTimeSeriesResponse_timeSeriesLastUpdateDate' - The date that the time series was last updated, in Unix epoch time.+newDescribeTimeSeriesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'timeSeriesId'+ Prelude.Text ->+ -- | 'dataType'+ PropertyDataType ->+ -- | 'timeSeriesCreationDate'+ Prelude.UTCTime ->+ -- | 'timeSeriesLastUpdateDate'+ Prelude.UTCTime ->+ DescribeTimeSeriesResponse+newDescribeTimeSeriesResponse+ pHttpStatus_+ pTimeSeriesId_+ pDataType_+ pTimeSeriesCreationDate_+ pTimeSeriesLastUpdateDate_ =+ DescribeTimeSeriesResponse'+ { alias =+ Prelude.Nothing,+ assetId = Prelude.Nothing,+ dataTypeSpec = Prelude.Nothing,+ propertyId = Prelude.Nothing,+ httpStatus = pHttpStatus_,+ timeSeriesId = pTimeSeriesId_,+ dataType = pDataType_,+ timeSeriesCreationDate =+ Data._Time Lens.# pTimeSeriesCreationDate_,+ timeSeriesLastUpdateDate =+ Data._Time Lens.# pTimeSeriesLastUpdateDate_+ }++-- | The alias that identifies the time series.+describeTimeSeriesResponse_alias :: Lens.Lens' DescribeTimeSeriesResponse (Prelude.Maybe Prelude.Text)+describeTimeSeriesResponse_alias = Lens.lens (\DescribeTimeSeriesResponse' {alias} -> alias) (\s@DescribeTimeSeriesResponse' {} a -> s {alias = a} :: DescribeTimeSeriesResponse)++-- | The ID of the asset in which the asset property was created.+describeTimeSeriesResponse_assetId :: Lens.Lens' DescribeTimeSeriesResponse (Prelude.Maybe Prelude.Text)+describeTimeSeriesResponse_assetId = Lens.lens (\DescribeTimeSeriesResponse' {assetId} -> assetId) (\s@DescribeTimeSeriesResponse' {} a -> s {assetId = a} :: DescribeTimeSeriesResponse)++-- | 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.+describeTimeSeriesResponse_dataTypeSpec :: Lens.Lens' DescribeTimeSeriesResponse (Prelude.Maybe Prelude.Text)+describeTimeSeriesResponse_dataTypeSpec = Lens.lens (\DescribeTimeSeriesResponse' {dataTypeSpec} -> dataTypeSpec) (\s@DescribeTimeSeriesResponse' {} a -> s {dataTypeSpec = a} :: DescribeTimeSeriesResponse)++-- | The ID of the asset property.+describeTimeSeriesResponse_propertyId :: Lens.Lens' DescribeTimeSeriesResponse (Prelude.Maybe Prelude.Text)+describeTimeSeriesResponse_propertyId = Lens.lens (\DescribeTimeSeriesResponse' {propertyId} -> propertyId) (\s@DescribeTimeSeriesResponse' {} a -> s {propertyId = a} :: DescribeTimeSeriesResponse)++-- | The response's http status code.+describeTimeSeriesResponse_httpStatus :: Lens.Lens' DescribeTimeSeriesResponse Prelude.Int+describeTimeSeriesResponse_httpStatus = Lens.lens (\DescribeTimeSeriesResponse' {httpStatus} -> httpStatus) (\s@DescribeTimeSeriesResponse' {} a -> s {httpStatus = a} :: DescribeTimeSeriesResponse)++-- | The ID of the time series.+describeTimeSeriesResponse_timeSeriesId :: Lens.Lens' DescribeTimeSeriesResponse Prelude.Text+describeTimeSeriesResponse_timeSeriesId = Lens.lens (\DescribeTimeSeriesResponse' {timeSeriesId} -> timeSeriesId) (\s@DescribeTimeSeriesResponse' {} a -> s {timeSeriesId = a} :: DescribeTimeSeriesResponse)++-- | 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.+describeTimeSeriesResponse_dataType :: Lens.Lens' DescribeTimeSeriesResponse PropertyDataType+describeTimeSeriesResponse_dataType = Lens.lens (\DescribeTimeSeriesResponse' {dataType} -> dataType) (\s@DescribeTimeSeriesResponse' {} a -> s {dataType = a} :: DescribeTimeSeriesResponse)++-- | The date that the time series was created, in Unix epoch time.+describeTimeSeriesResponse_timeSeriesCreationDate :: Lens.Lens' DescribeTimeSeriesResponse Prelude.UTCTime+describeTimeSeriesResponse_timeSeriesCreationDate = Lens.lens (\DescribeTimeSeriesResponse' {timeSeriesCreationDate} -> timeSeriesCreationDate) (\s@DescribeTimeSeriesResponse' {} a -> s {timeSeriesCreationDate = a} :: DescribeTimeSeriesResponse) Prelude.. Data._Time++-- | The date that the time series was last updated, in Unix epoch time.+describeTimeSeriesResponse_timeSeriesLastUpdateDate :: Lens.Lens' DescribeTimeSeriesResponse Prelude.UTCTime+describeTimeSeriesResponse_timeSeriesLastUpdateDate = Lens.lens (\DescribeTimeSeriesResponse' {timeSeriesLastUpdateDate} -> timeSeriesLastUpdateDate) (\s@DescribeTimeSeriesResponse' {} a -> s {timeSeriesLastUpdateDate = a} :: DescribeTimeSeriesResponse) Prelude.. Data._Time++instance Prelude.NFData DescribeTimeSeriesResponse where+ rnf DescribeTimeSeriesResponse' {..} =+ Prelude.rnf alias+ `Prelude.seq` Prelude.rnf assetId+ `Prelude.seq` Prelude.rnf dataTypeSpec+ `Prelude.seq` Prelude.rnf propertyId+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf timeSeriesId+ `Prelude.seq` Prelude.rnf dataType+ `Prelude.seq` Prelude.rnf timeSeriesCreationDate+ `Prelude.seq` Prelude.rnf timeSeriesLastUpdateDate
+ gen/Amazonka/IoTSiteWise/DisassociateAssets.hs view
@@ -0,0 +1,203 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.DisassociateAssets+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Disassociates a child asset from the given parent asset through a+-- hierarchy defined in the parent asset\'s model.+module Amazonka.IoTSiteWise.DisassociateAssets+ ( -- * Creating a Request+ DisassociateAssets (..),+ newDisassociateAssets,++ -- * Request Lenses+ disassociateAssets_clientToken,+ disassociateAssets_assetId,+ disassociateAssets_hierarchyId,+ disassociateAssets_childAssetId,++ -- * Destructuring the Response+ DisassociateAssetsResponse (..),+ newDisassociateAssetsResponse,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDisassociateAssets' smart constructor.+data DisassociateAssets = DisassociateAssets'+ { -- | 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.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The ID of the parent asset from which to disassociate the child asset.+ assetId :: Prelude.Text,+ -- | 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+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html Asset hierarchies>+ -- in the /IoT SiteWise User Guide/.+ hierarchyId :: Prelude.Text,+ -- | The ID of the child asset to disassociate.+ childAssetId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateAssets' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'disassociateAssets_clientToken' - A unique case-sensitive identifier that you can provide to ensure the+-- idempotency of the request. Don\'t reuse this client token if a new+-- idempotent request is required.+--+-- 'assetId', 'disassociateAssets_assetId' - The ID of the parent asset from which to disassociate the child asset.+--+-- 'hierarchyId', 'disassociateAssets_hierarchyId' - 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html Asset hierarchies>+-- in the /IoT SiteWise User Guide/.+--+-- 'childAssetId', 'disassociateAssets_childAssetId' - The ID of the child asset to disassociate.+newDisassociateAssets ::+ -- | 'assetId'+ Prelude.Text ->+ -- | 'hierarchyId'+ Prelude.Text ->+ -- | 'childAssetId'+ Prelude.Text ->+ DisassociateAssets+newDisassociateAssets+ pAssetId_+ pHierarchyId_+ pChildAssetId_ =+ DisassociateAssets'+ { clientToken = Prelude.Nothing,+ assetId = pAssetId_,+ hierarchyId = pHierarchyId_,+ childAssetId = pChildAssetId_+ }++-- | 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.+disassociateAssets_clientToken :: Lens.Lens' DisassociateAssets (Prelude.Maybe Prelude.Text)+disassociateAssets_clientToken = Lens.lens (\DisassociateAssets' {clientToken} -> clientToken) (\s@DisassociateAssets' {} a -> s {clientToken = a} :: DisassociateAssets)++-- | The ID of the parent asset from which to disassociate the child asset.+disassociateAssets_assetId :: Lens.Lens' DisassociateAssets Prelude.Text+disassociateAssets_assetId = Lens.lens (\DisassociateAssets' {assetId} -> assetId) (\s@DisassociateAssets' {} a -> s {assetId = a} :: DisassociateAssets)++-- | 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html Asset hierarchies>+-- in the /IoT SiteWise User Guide/.+disassociateAssets_hierarchyId :: Lens.Lens' DisassociateAssets Prelude.Text+disassociateAssets_hierarchyId = Lens.lens (\DisassociateAssets' {hierarchyId} -> hierarchyId) (\s@DisassociateAssets' {} a -> s {hierarchyId = a} :: DisassociateAssets)++-- | The ID of the child asset to disassociate.+disassociateAssets_childAssetId :: Lens.Lens' DisassociateAssets Prelude.Text+disassociateAssets_childAssetId = Lens.lens (\DisassociateAssets' {childAssetId} -> childAssetId) (\s@DisassociateAssets' {} a -> s {childAssetId = a} :: DisassociateAssets)++instance Core.AWSRequest DisassociateAssets where+ type+ AWSResponse DisassociateAssets =+ DisassociateAssetsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveNull DisassociateAssetsResponse'++instance Prelude.Hashable DisassociateAssets where+ hashWithSalt _salt DisassociateAssets' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` assetId+ `Prelude.hashWithSalt` hierarchyId+ `Prelude.hashWithSalt` childAssetId++instance Prelude.NFData DisassociateAssets where+ rnf DisassociateAssets' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf assetId+ `Prelude.seq` Prelude.rnf hierarchyId+ `Prelude.seq` Prelude.rnf childAssetId++instance Data.ToHeaders DisassociateAssets where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DisassociateAssets where+ toJSON DisassociateAssets' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("clientToken" Data..=) Prelude.<$> clientToken,+ Prelude.Just ("hierarchyId" Data..= hierarchyId),+ Prelude.Just ("childAssetId" Data..= childAssetId)+ ]+ )++instance Data.ToPath DisassociateAssets where+ toPath DisassociateAssets' {..} =+ Prelude.mconcat+ ["/assets/", Data.toBS assetId, "/disassociate"]++instance Data.ToQuery DisassociateAssets where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDisassociateAssetsResponse' smart constructor.+data DisassociateAssetsResponse = DisassociateAssetsResponse'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateAssetsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newDisassociateAssetsResponse ::+ DisassociateAssetsResponse+newDisassociateAssetsResponse =+ DisassociateAssetsResponse'++instance Prelude.NFData DisassociateAssetsResponse where+ rnf _ = ()
+ gen/Amazonka/IoTSiteWise/DisassociateTimeSeriesFromAssetProperty.hs view
@@ -0,0 +1,216 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.DisassociateTimeSeriesFromAssetProperty+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Disassociates a time series (data stream) from an asset property.+module Amazonka.IoTSiteWise.DisassociateTimeSeriesFromAssetProperty+ ( -- * Creating a Request+ DisassociateTimeSeriesFromAssetProperty (..),+ newDisassociateTimeSeriesFromAssetProperty,++ -- * Request Lenses+ disassociateTimeSeriesFromAssetProperty_clientToken,+ disassociateTimeSeriesFromAssetProperty_alias,+ disassociateTimeSeriesFromAssetProperty_assetId,+ disassociateTimeSeriesFromAssetProperty_propertyId,++ -- * Destructuring the Response+ DisassociateTimeSeriesFromAssetPropertyResponse (..),+ newDisassociateTimeSeriesFromAssetPropertyResponse,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDisassociateTimeSeriesFromAssetProperty' smart constructor.+data DisassociateTimeSeriesFromAssetProperty = DisassociateTimeSeriesFromAssetProperty'+ { -- | 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.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The alias that identifies the time series.+ alias :: Prelude.Text,+ -- | The ID of the asset in which the asset property was created.+ assetId :: Prelude.Text,+ -- | The ID of the asset property.+ propertyId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateTimeSeriesFromAssetProperty' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'disassociateTimeSeriesFromAssetProperty_clientToken' - A unique case-sensitive identifier that you can provide to ensure the+-- idempotency of the request. Don\'t reuse this client token if a new+-- idempotent request is required.+--+-- 'alias', 'disassociateTimeSeriesFromAssetProperty_alias' - The alias that identifies the time series.+--+-- 'assetId', 'disassociateTimeSeriesFromAssetProperty_assetId' - The ID of the asset in which the asset property was created.+--+-- 'propertyId', 'disassociateTimeSeriesFromAssetProperty_propertyId' - The ID of the asset property.+newDisassociateTimeSeriesFromAssetProperty ::+ -- | 'alias'+ Prelude.Text ->+ -- | 'assetId'+ Prelude.Text ->+ -- | 'propertyId'+ Prelude.Text ->+ DisassociateTimeSeriesFromAssetProperty+newDisassociateTimeSeriesFromAssetProperty+ pAlias_+ pAssetId_+ pPropertyId_ =+ DisassociateTimeSeriesFromAssetProperty'+ { clientToken =+ Prelude.Nothing,+ alias = pAlias_,+ assetId = pAssetId_,+ propertyId = pPropertyId_+ }++-- | 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.+disassociateTimeSeriesFromAssetProperty_clientToken :: Lens.Lens' DisassociateTimeSeriesFromAssetProperty (Prelude.Maybe Prelude.Text)+disassociateTimeSeriesFromAssetProperty_clientToken = Lens.lens (\DisassociateTimeSeriesFromAssetProperty' {clientToken} -> clientToken) (\s@DisassociateTimeSeriesFromAssetProperty' {} a -> s {clientToken = a} :: DisassociateTimeSeriesFromAssetProperty)++-- | The alias that identifies the time series.+disassociateTimeSeriesFromAssetProperty_alias :: Lens.Lens' DisassociateTimeSeriesFromAssetProperty Prelude.Text+disassociateTimeSeriesFromAssetProperty_alias = Lens.lens (\DisassociateTimeSeriesFromAssetProperty' {alias} -> alias) (\s@DisassociateTimeSeriesFromAssetProperty' {} a -> s {alias = a} :: DisassociateTimeSeriesFromAssetProperty)++-- | The ID of the asset in which the asset property was created.+disassociateTimeSeriesFromAssetProperty_assetId :: Lens.Lens' DisassociateTimeSeriesFromAssetProperty Prelude.Text+disassociateTimeSeriesFromAssetProperty_assetId = Lens.lens (\DisassociateTimeSeriesFromAssetProperty' {assetId} -> assetId) (\s@DisassociateTimeSeriesFromAssetProperty' {} a -> s {assetId = a} :: DisassociateTimeSeriesFromAssetProperty)++-- | The ID of the asset property.+disassociateTimeSeriesFromAssetProperty_propertyId :: Lens.Lens' DisassociateTimeSeriesFromAssetProperty Prelude.Text+disassociateTimeSeriesFromAssetProperty_propertyId = Lens.lens (\DisassociateTimeSeriesFromAssetProperty' {propertyId} -> propertyId) (\s@DisassociateTimeSeriesFromAssetProperty' {} a -> s {propertyId = a} :: DisassociateTimeSeriesFromAssetProperty)++instance+ Core.AWSRequest+ DisassociateTimeSeriesFromAssetProperty+ where+ type+ AWSResponse+ DisassociateTimeSeriesFromAssetProperty =+ DisassociateTimeSeriesFromAssetPropertyResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveNull+ DisassociateTimeSeriesFromAssetPropertyResponse'++instance+ Prelude.Hashable+ DisassociateTimeSeriesFromAssetProperty+ where+ hashWithSalt+ _salt+ DisassociateTimeSeriesFromAssetProperty' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` alias+ `Prelude.hashWithSalt` assetId+ `Prelude.hashWithSalt` propertyId++instance+ Prelude.NFData+ DisassociateTimeSeriesFromAssetProperty+ where+ rnf DisassociateTimeSeriesFromAssetProperty' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf alias+ `Prelude.seq` Prelude.rnf assetId+ `Prelude.seq` Prelude.rnf propertyId++instance+ Data.ToHeaders+ DisassociateTimeSeriesFromAssetProperty+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToJSON+ DisassociateTimeSeriesFromAssetProperty+ where+ toJSON DisassociateTimeSeriesFromAssetProperty' {..} =+ Data.object+ ( Prelude.catMaybes+ [("clientToken" Data..=) Prelude.<$> clientToken]+ )++instance+ Data.ToPath+ DisassociateTimeSeriesFromAssetProperty+ where+ toPath = Prelude.const "/timeseries/disassociate/"++instance+ Data.ToQuery+ DisassociateTimeSeriesFromAssetProperty+ where+ toQuery DisassociateTimeSeriesFromAssetProperty' {..} =+ Prelude.mconcat+ [ "alias" Data.=: alias,+ "assetId" Data.=: assetId,+ "propertyId" Data.=: propertyId+ ]++-- | /See:/ 'newDisassociateTimeSeriesFromAssetPropertyResponse' smart constructor.+data DisassociateTimeSeriesFromAssetPropertyResponse = DisassociateTimeSeriesFromAssetPropertyResponse'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateTimeSeriesFromAssetPropertyResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newDisassociateTimeSeriesFromAssetPropertyResponse ::+ DisassociateTimeSeriesFromAssetPropertyResponse+newDisassociateTimeSeriesFromAssetPropertyResponse =+ DisassociateTimeSeriesFromAssetPropertyResponse'++instance+ Prelude.NFData+ DisassociateTimeSeriesFromAssetPropertyResponse+ where+ rnf _ = ()
+ gen/Amazonka/IoTSiteWise/GetAssetPropertyAggregates.hs view
@@ -0,0 +1,397 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.GetAssetPropertyAggregates+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets aggregated values for an asset property. For more information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/query-industrial-data.html#aggregates 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetProperty.html UpdateAssetProperty>.+--+-- This operation returns paginated results.+module Amazonka.IoTSiteWise.GetAssetPropertyAggregates+ ( -- * Creating a Request+ GetAssetPropertyAggregates (..),+ newGetAssetPropertyAggregates,++ -- * Request Lenses+ getAssetPropertyAggregates_assetId,+ getAssetPropertyAggregates_maxResults,+ getAssetPropertyAggregates_nextToken,+ getAssetPropertyAggregates_propertyAlias,+ getAssetPropertyAggregates_propertyId,+ getAssetPropertyAggregates_qualities,+ getAssetPropertyAggregates_timeOrdering,+ getAssetPropertyAggregates_aggregateTypes,+ getAssetPropertyAggregates_resolution,+ getAssetPropertyAggregates_startDate,+ getAssetPropertyAggregates_endDate,++ -- * Destructuring the Response+ GetAssetPropertyAggregatesResponse (..),+ newGetAssetPropertyAggregatesResponse,++ -- * Response Lenses+ getAssetPropertyAggregatesResponse_nextToken,+ getAssetPropertyAggregatesResponse_httpStatus,+ getAssetPropertyAggregatesResponse_aggregatedValues,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetAssetPropertyAggregates' smart constructor.+data GetAssetPropertyAggregates = GetAssetPropertyAggregates'+ { -- | The ID of the asset.+ assetId :: Prelude.Maybe Prelude.Text,+ -- | The maximum number of results to return for each paginated request.+ --+ -- Default: 100+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The token to be used for the next set of paginated results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | 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+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html Mapping industrial data streams to asset properties>+ -- in the /IoT SiteWise User Guide/.+ propertyAlias :: Prelude.Maybe Prelude.Text,+ -- | The ID of the asset property.+ propertyId :: Prelude.Maybe Prelude.Text,+ -- | The quality by which to filter asset data.+ qualities :: Prelude.Maybe (Prelude.NonEmpty Quality),+ -- | The chronological sorting order of the requested information.+ --+ -- Default: @ASCENDING@+ timeOrdering :: Prelude.Maybe TimeOrdering,+ -- | The data aggregating function.+ aggregateTypes :: Prelude.NonEmpty AggregateType,+ -- | The time interval over which to aggregate data.+ resolution :: Prelude.Text,+ -- | The exclusive start of the range from which to query historical data,+ -- expressed in seconds in Unix epoch time.+ startDate :: Data.POSIX,+ -- | The inclusive end of the range from which to query historical data,+ -- expressed in seconds in Unix epoch time.+ endDate :: Data.POSIX+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetAssetPropertyAggregates' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'assetId', 'getAssetPropertyAggregates_assetId' - The ID of the asset.+--+-- 'maxResults', 'getAssetPropertyAggregates_maxResults' - The maximum number of results to return for each paginated request.+--+-- Default: 100+--+-- 'nextToken', 'getAssetPropertyAggregates_nextToken' - The token to be used for the next set of paginated results.+--+-- 'propertyAlias', 'getAssetPropertyAggregates_propertyAlias' - 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html Mapping industrial data streams to asset properties>+-- in the /IoT SiteWise User Guide/.+--+-- 'propertyId', 'getAssetPropertyAggregates_propertyId' - The ID of the asset property.+--+-- 'qualities', 'getAssetPropertyAggregates_qualities' - The quality by which to filter asset data.+--+-- 'timeOrdering', 'getAssetPropertyAggregates_timeOrdering' - The chronological sorting order of the requested information.+--+-- Default: @ASCENDING@+--+-- 'aggregateTypes', 'getAssetPropertyAggregates_aggregateTypes' - The data aggregating function.+--+-- 'resolution', 'getAssetPropertyAggregates_resolution' - The time interval over which to aggregate data.+--+-- 'startDate', 'getAssetPropertyAggregates_startDate' - The exclusive start of the range from which to query historical data,+-- expressed in seconds in Unix epoch time.+--+-- 'endDate', 'getAssetPropertyAggregates_endDate' - The inclusive end of the range from which to query historical data,+-- expressed in seconds in Unix epoch time.+newGetAssetPropertyAggregates ::+ -- | 'aggregateTypes'+ Prelude.NonEmpty AggregateType ->+ -- | 'resolution'+ Prelude.Text ->+ -- | 'startDate'+ Prelude.UTCTime ->+ -- | 'endDate'+ Prelude.UTCTime ->+ GetAssetPropertyAggregates+newGetAssetPropertyAggregates+ pAggregateTypes_+ pResolution_+ pStartDate_+ pEndDate_ =+ GetAssetPropertyAggregates'+ { assetId =+ Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ propertyAlias = Prelude.Nothing,+ propertyId = Prelude.Nothing,+ qualities = Prelude.Nothing,+ timeOrdering = Prelude.Nothing,+ aggregateTypes =+ Lens.coerced Lens.# pAggregateTypes_,+ resolution = pResolution_,+ startDate = Data._Time Lens.# pStartDate_,+ endDate = Data._Time Lens.# pEndDate_+ }++-- | The ID of the asset.+getAssetPropertyAggregates_assetId :: Lens.Lens' GetAssetPropertyAggregates (Prelude.Maybe Prelude.Text)+getAssetPropertyAggregates_assetId = Lens.lens (\GetAssetPropertyAggregates' {assetId} -> assetId) (\s@GetAssetPropertyAggregates' {} a -> s {assetId = a} :: GetAssetPropertyAggregates)++-- | The maximum number of results to return for each paginated request.+--+-- Default: 100+getAssetPropertyAggregates_maxResults :: Lens.Lens' GetAssetPropertyAggregates (Prelude.Maybe Prelude.Natural)+getAssetPropertyAggregates_maxResults = Lens.lens (\GetAssetPropertyAggregates' {maxResults} -> maxResults) (\s@GetAssetPropertyAggregates' {} a -> s {maxResults = a} :: GetAssetPropertyAggregates)++-- | The token to be used for the next set of paginated results.+getAssetPropertyAggregates_nextToken :: Lens.Lens' GetAssetPropertyAggregates (Prelude.Maybe Prelude.Text)+getAssetPropertyAggregates_nextToken = Lens.lens (\GetAssetPropertyAggregates' {nextToken} -> nextToken) (\s@GetAssetPropertyAggregates' {} a -> s {nextToken = a} :: GetAssetPropertyAggregates)++-- | 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html Mapping industrial data streams to asset properties>+-- in the /IoT SiteWise User Guide/.+getAssetPropertyAggregates_propertyAlias :: Lens.Lens' GetAssetPropertyAggregates (Prelude.Maybe Prelude.Text)+getAssetPropertyAggregates_propertyAlias = Lens.lens (\GetAssetPropertyAggregates' {propertyAlias} -> propertyAlias) (\s@GetAssetPropertyAggregates' {} a -> s {propertyAlias = a} :: GetAssetPropertyAggregates)++-- | The ID of the asset property.+getAssetPropertyAggregates_propertyId :: Lens.Lens' GetAssetPropertyAggregates (Prelude.Maybe Prelude.Text)+getAssetPropertyAggregates_propertyId = Lens.lens (\GetAssetPropertyAggregates' {propertyId} -> propertyId) (\s@GetAssetPropertyAggregates' {} a -> s {propertyId = a} :: GetAssetPropertyAggregates)++-- | The quality by which to filter asset data.+getAssetPropertyAggregates_qualities :: Lens.Lens' GetAssetPropertyAggregates (Prelude.Maybe (Prelude.NonEmpty Quality))+getAssetPropertyAggregates_qualities = Lens.lens (\GetAssetPropertyAggregates' {qualities} -> qualities) (\s@GetAssetPropertyAggregates' {} a -> s {qualities = a} :: GetAssetPropertyAggregates) Prelude.. Lens.mapping Lens.coerced++-- | The chronological sorting order of the requested information.+--+-- Default: @ASCENDING@+getAssetPropertyAggregates_timeOrdering :: Lens.Lens' GetAssetPropertyAggregates (Prelude.Maybe TimeOrdering)+getAssetPropertyAggregates_timeOrdering = Lens.lens (\GetAssetPropertyAggregates' {timeOrdering} -> timeOrdering) (\s@GetAssetPropertyAggregates' {} a -> s {timeOrdering = a} :: GetAssetPropertyAggregates)++-- | The data aggregating function.+getAssetPropertyAggregates_aggregateTypes :: Lens.Lens' GetAssetPropertyAggregates (Prelude.NonEmpty AggregateType)+getAssetPropertyAggregates_aggregateTypes = Lens.lens (\GetAssetPropertyAggregates' {aggregateTypes} -> aggregateTypes) (\s@GetAssetPropertyAggregates' {} a -> s {aggregateTypes = a} :: GetAssetPropertyAggregates) Prelude.. Lens.coerced++-- | The time interval over which to aggregate data.+getAssetPropertyAggregates_resolution :: Lens.Lens' GetAssetPropertyAggregates Prelude.Text+getAssetPropertyAggregates_resolution = Lens.lens (\GetAssetPropertyAggregates' {resolution} -> resolution) (\s@GetAssetPropertyAggregates' {} a -> s {resolution = a} :: GetAssetPropertyAggregates)++-- | The exclusive start of the range from which to query historical data,+-- expressed in seconds in Unix epoch time.+getAssetPropertyAggregates_startDate :: Lens.Lens' GetAssetPropertyAggregates Prelude.UTCTime+getAssetPropertyAggregates_startDate = Lens.lens (\GetAssetPropertyAggregates' {startDate} -> startDate) (\s@GetAssetPropertyAggregates' {} a -> s {startDate = a} :: GetAssetPropertyAggregates) Prelude.. Data._Time++-- | The inclusive end of the range from which to query historical data,+-- expressed in seconds in Unix epoch time.+getAssetPropertyAggregates_endDate :: Lens.Lens' GetAssetPropertyAggregates Prelude.UTCTime+getAssetPropertyAggregates_endDate = Lens.lens (\GetAssetPropertyAggregates' {endDate} -> endDate) (\s@GetAssetPropertyAggregates' {} a -> s {endDate = a} :: GetAssetPropertyAggregates) Prelude.. Data._Time++instance Core.AWSPager GetAssetPropertyAggregates where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? getAssetPropertyAggregatesResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^. getAssetPropertyAggregatesResponse_aggregatedValues+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& getAssetPropertyAggregates_nextToken+ Lens..~ rs+ Lens.^? getAssetPropertyAggregatesResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest GetAssetPropertyAggregates where+ type+ AWSResponse GetAssetPropertyAggregates =+ GetAssetPropertyAggregatesResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetAssetPropertyAggregatesResponse'+ Prelude.<$> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> ( x+ Data..?> "aggregatedValues"+ Core..!@ Prelude.mempty+ )+ )++instance Prelude.Hashable GetAssetPropertyAggregates where+ hashWithSalt _salt GetAssetPropertyAggregates' {..} =+ _salt+ `Prelude.hashWithSalt` assetId+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` propertyAlias+ `Prelude.hashWithSalt` propertyId+ `Prelude.hashWithSalt` qualities+ `Prelude.hashWithSalt` timeOrdering+ `Prelude.hashWithSalt` aggregateTypes+ `Prelude.hashWithSalt` resolution+ `Prelude.hashWithSalt` startDate+ `Prelude.hashWithSalt` endDate++instance Prelude.NFData GetAssetPropertyAggregates where+ rnf GetAssetPropertyAggregates' {..} =+ Prelude.rnf assetId+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf propertyAlias+ `Prelude.seq` Prelude.rnf propertyId+ `Prelude.seq` Prelude.rnf qualities+ `Prelude.seq` Prelude.rnf timeOrdering+ `Prelude.seq` Prelude.rnf aggregateTypes+ `Prelude.seq` Prelude.rnf resolution+ `Prelude.seq` Prelude.rnf startDate+ `Prelude.seq` Prelude.rnf endDate++instance Data.ToHeaders GetAssetPropertyAggregates where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetAssetPropertyAggregates where+ toPath = Prelude.const "/properties/aggregates"++instance Data.ToQuery GetAssetPropertyAggregates where+ toQuery GetAssetPropertyAggregates' {..} =+ Prelude.mconcat+ [ "assetId" Data.=: assetId,+ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken,+ "propertyAlias" Data.=: propertyAlias,+ "propertyId" Data.=: propertyId,+ "qualities"+ Data.=: Data.toQuery+ (Data.toQueryList "member" Prelude.<$> qualities),+ "timeOrdering" Data.=: timeOrdering,+ "aggregateTypes"+ Data.=: Data.toQueryList "member" aggregateTypes,+ "resolution" Data.=: resolution,+ "startDate" Data.=: startDate,+ "endDate" Data.=: endDate+ ]++-- | /See:/ 'newGetAssetPropertyAggregatesResponse' smart constructor.+data GetAssetPropertyAggregatesResponse = GetAssetPropertyAggregatesResponse'+ { -- | The token for the next set of results, or null if there are no+ -- additional results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The requested aggregated values.+ aggregatedValues :: [AggregatedValue]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetAssetPropertyAggregatesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'getAssetPropertyAggregatesResponse_nextToken' - The token for the next set of results, or null if there are no+-- additional results.+--+-- 'httpStatus', 'getAssetPropertyAggregatesResponse_httpStatus' - The response's http status code.+--+-- 'aggregatedValues', 'getAssetPropertyAggregatesResponse_aggregatedValues' - The requested aggregated values.+newGetAssetPropertyAggregatesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetAssetPropertyAggregatesResponse+newGetAssetPropertyAggregatesResponse pHttpStatus_ =+ GetAssetPropertyAggregatesResponse'+ { nextToken =+ Prelude.Nothing,+ httpStatus = pHttpStatus_,+ aggregatedValues = Prelude.mempty+ }++-- | The token for the next set of results, or null if there are no+-- additional results.+getAssetPropertyAggregatesResponse_nextToken :: Lens.Lens' GetAssetPropertyAggregatesResponse (Prelude.Maybe Prelude.Text)+getAssetPropertyAggregatesResponse_nextToken = Lens.lens (\GetAssetPropertyAggregatesResponse' {nextToken} -> nextToken) (\s@GetAssetPropertyAggregatesResponse' {} a -> s {nextToken = a} :: GetAssetPropertyAggregatesResponse)++-- | The response's http status code.+getAssetPropertyAggregatesResponse_httpStatus :: Lens.Lens' GetAssetPropertyAggregatesResponse Prelude.Int+getAssetPropertyAggregatesResponse_httpStatus = Lens.lens (\GetAssetPropertyAggregatesResponse' {httpStatus} -> httpStatus) (\s@GetAssetPropertyAggregatesResponse' {} a -> s {httpStatus = a} :: GetAssetPropertyAggregatesResponse)++-- | The requested aggregated values.+getAssetPropertyAggregatesResponse_aggregatedValues :: Lens.Lens' GetAssetPropertyAggregatesResponse [AggregatedValue]+getAssetPropertyAggregatesResponse_aggregatedValues = Lens.lens (\GetAssetPropertyAggregatesResponse' {aggregatedValues} -> aggregatedValues) (\s@GetAssetPropertyAggregatesResponse' {} a -> s {aggregatedValues = a} :: GetAssetPropertyAggregatesResponse) Prelude.. Lens.coerced++instance+ Prelude.NFData+ GetAssetPropertyAggregatesResponse+ where+ rnf GetAssetPropertyAggregatesResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf aggregatedValues
+ gen/Amazonka/IoTSiteWise/GetAssetPropertyValue.hs view
@@ -0,0 +1,214 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.GetAssetPropertyValue+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets an asset property\'s current value. For more information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/query-industrial-data.html#current-values 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetProperty.html UpdateAssetProperty>.+module Amazonka.IoTSiteWise.GetAssetPropertyValue+ ( -- * Creating a Request+ GetAssetPropertyValue (..),+ newGetAssetPropertyValue,++ -- * Request Lenses+ getAssetPropertyValue_assetId,+ getAssetPropertyValue_propertyAlias,+ getAssetPropertyValue_propertyId,++ -- * Destructuring the Response+ GetAssetPropertyValueResponse (..),+ newGetAssetPropertyValueResponse,++ -- * Response Lenses+ getAssetPropertyValueResponse_propertyValue,+ getAssetPropertyValueResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetAssetPropertyValue' smart constructor.+data GetAssetPropertyValue = GetAssetPropertyValue'+ { -- | The ID of the asset.+ assetId :: Prelude.Maybe Prelude.Text,+ -- | 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+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html Mapping industrial data streams to asset properties>+ -- in the /IoT SiteWise User Guide/.+ propertyAlias :: Prelude.Maybe Prelude.Text,+ -- | The ID of the asset property.+ propertyId :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetAssetPropertyValue' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'assetId', 'getAssetPropertyValue_assetId' - The ID of the asset.+--+-- 'propertyAlias', 'getAssetPropertyValue_propertyAlias' - 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html Mapping industrial data streams to asset properties>+-- in the /IoT SiteWise User Guide/.+--+-- 'propertyId', 'getAssetPropertyValue_propertyId' - The ID of the asset property.+newGetAssetPropertyValue ::+ GetAssetPropertyValue+newGetAssetPropertyValue =+ GetAssetPropertyValue'+ { assetId = Prelude.Nothing,+ propertyAlias = Prelude.Nothing,+ propertyId = Prelude.Nothing+ }++-- | The ID of the asset.+getAssetPropertyValue_assetId :: Lens.Lens' GetAssetPropertyValue (Prelude.Maybe Prelude.Text)+getAssetPropertyValue_assetId = Lens.lens (\GetAssetPropertyValue' {assetId} -> assetId) (\s@GetAssetPropertyValue' {} a -> s {assetId = a} :: GetAssetPropertyValue)++-- | 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html Mapping industrial data streams to asset properties>+-- in the /IoT SiteWise User Guide/.+getAssetPropertyValue_propertyAlias :: Lens.Lens' GetAssetPropertyValue (Prelude.Maybe Prelude.Text)+getAssetPropertyValue_propertyAlias = Lens.lens (\GetAssetPropertyValue' {propertyAlias} -> propertyAlias) (\s@GetAssetPropertyValue' {} a -> s {propertyAlias = a} :: GetAssetPropertyValue)++-- | The ID of the asset property.+getAssetPropertyValue_propertyId :: Lens.Lens' GetAssetPropertyValue (Prelude.Maybe Prelude.Text)+getAssetPropertyValue_propertyId = Lens.lens (\GetAssetPropertyValue' {propertyId} -> propertyId) (\s@GetAssetPropertyValue' {} a -> s {propertyId = a} :: GetAssetPropertyValue)++instance Core.AWSRequest GetAssetPropertyValue where+ type+ AWSResponse GetAssetPropertyValue =+ GetAssetPropertyValueResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetAssetPropertyValueResponse'+ Prelude.<$> (x Data..?> "propertyValue")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetAssetPropertyValue where+ hashWithSalt _salt GetAssetPropertyValue' {..} =+ _salt+ `Prelude.hashWithSalt` assetId+ `Prelude.hashWithSalt` propertyAlias+ `Prelude.hashWithSalt` propertyId++instance Prelude.NFData GetAssetPropertyValue where+ rnf GetAssetPropertyValue' {..} =+ Prelude.rnf assetId+ `Prelude.seq` Prelude.rnf propertyAlias+ `Prelude.seq` Prelude.rnf propertyId++instance Data.ToHeaders GetAssetPropertyValue where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetAssetPropertyValue where+ toPath = Prelude.const "/properties/latest"++instance Data.ToQuery GetAssetPropertyValue where+ toQuery GetAssetPropertyValue' {..} =+ Prelude.mconcat+ [ "assetId" Data.=: assetId,+ "propertyAlias" Data.=: propertyAlias,+ "propertyId" Data.=: propertyId+ ]++-- | /See:/ 'newGetAssetPropertyValueResponse' smart constructor.+data GetAssetPropertyValueResponse = GetAssetPropertyValueResponse'+ { -- | The current asset property value.+ propertyValue :: Prelude.Maybe AssetPropertyValue,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetAssetPropertyValueResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'propertyValue', 'getAssetPropertyValueResponse_propertyValue' - The current asset property value.+--+-- 'httpStatus', 'getAssetPropertyValueResponse_httpStatus' - The response's http status code.+newGetAssetPropertyValueResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetAssetPropertyValueResponse+newGetAssetPropertyValueResponse pHttpStatus_ =+ GetAssetPropertyValueResponse'+ { propertyValue =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The current asset property value.+getAssetPropertyValueResponse_propertyValue :: Lens.Lens' GetAssetPropertyValueResponse (Prelude.Maybe AssetPropertyValue)+getAssetPropertyValueResponse_propertyValue = Lens.lens (\GetAssetPropertyValueResponse' {propertyValue} -> propertyValue) (\s@GetAssetPropertyValueResponse' {} a -> s {propertyValue = a} :: GetAssetPropertyValueResponse)++-- | The response's http status code.+getAssetPropertyValueResponse_httpStatus :: Lens.Lens' GetAssetPropertyValueResponse Prelude.Int+getAssetPropertyValueResponse_httpStatus = Lens.lens (\GetAssetPropertyValueResponse' {httpStatus} -> httpStatus) (\s@GetAssetPropertyValueResponse' {} a -> s {httpStatus = a} :: GetAssetPropertyValueResponse)++instance Prelude.NFData GetAssetPropertyValueResponse where+ rnf GetAssetPropertyValueResponse' {..} =+ Prelude.rnf propertyValue+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTSiteWise/GetAssetPropertyValueHistory.hs view
@@ -0,0 +1,362 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.GetAssetPropertyValueHistory+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets the history of an asset property\'s values. For more information,+-- see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/query-industrial-data.html#historical-values 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetProperty.html UpdateAssetProperty>.+--+-- This operation returns paginated results.+module Amazonka.IoTSiteWise.GetAssetPropertyValueHistory+ ( -- * Creating a Request+ GetAssetPropertyValueHistory (..),+ newGetAssetPropertyValueHistory,++ -- * Request Lenses+ getAssetPropertyValueHistory_assetId,+ getAssetPropertyValueHistory_endDate,+ getAssetPropertyValueHistory_maxResults,+ getAssetPropertyValueHistory_nextToken,+ getAssetPropertyValueHistory_propertyAlias,+ getAssetPropertyValueHistory_propertyId,+ getAssetPropertyValueHistory_qualities,+ getAssetPropertyValueHistory_startDate,+ getAssetPropertyValueHistory_timeOrdering,++ -- * Destructuring the Response+ GetAssetPropertyValueHistoryResponse (..),+ newGetAssetPropertyValueHistoryResponse,++ -- * Response Lenses+ getAssetPropertyValueHistoryResponse_nextToken,+ getAssetPropertyValueHistoryResponse_httpStatus,+ getAssetPropertyValueHistoryResponse_assetPropertyValueHistory,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetAssetPropertyValueHistory' smart constructor.+data GetAssetPropertyValueHistory = GetAssetPropertyValueHistory'+ { -- | The ID of the asset.+ assetId :: Prelude.Maybe Prelude.Text,+ -- | The inclusive end of the range from which to query historical data,+ -- expressed in seconds in Unix epoch time.+ endDate :: Prelude.Maybe Data.POSIX,+ -- | The maximum number of results to return for each paginated request.+ --+ -- Default: 100+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The token to be used for the next set of paginated results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | 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+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html Mapping industrial data streams to asset properties>+ -- in the /IoT SiteWise User Guide/.+ propertyAlias :: Prelude.Maybe Prelude.Text,+ -- | The ID of the asset property.+ propertyId :: Prelude.Maybe Prelude.Text,+ -- | The quality by which to filter asset data.+ qualities :: Prelude.Maybe (Prelude.NonEmpty Quality),+ -- | The exclusive start of the range from which to query historical data,+ -- expressed in seconds in Unix epoch time.+ startDate :: Prelude.Maybe Data.POSIX,+ -- | The chronological sorting order of the requested information.+ --+ -- Default: @ASCENDING@+ timeOrdering :: Prelude.Maybe TimeOrdering+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetAssetPropertyValueHistory' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'assetId', 'getAssetPropertyValueHistory_assetId' - The ID of the asset.+--+-- 'endDate', 'getAssetPropertyValueHistory_endDate' - The inclusive end of the range from which to query historical data,+-- expressed in seconds in Unix epoch time.+--+-- 'maxResults', 'getAssetPropertyValueHistory_maxResults' - The maximum number of results to return for each paginated request.+--+-- Default: 100+--+-- 'nextToken', 'getAssetPropertyValueHistory_nextToken' - The token to be used for the next set of paginated results.+--+-- 'propertyAlias', 'getAssetPropertyValueHistory_propertyAlias' - 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html Mapping industrial data streams to asset properties>+-- in the /IoT SiteWise User Guide/.+--+-- 'propertyId', 'getAssetPropertyValueHistory_propertyId' - The ID of the asset property.+--+-- 'qualities', 'getAssetPropertyValueHistory_qualities' - The quality by which to filter asset data.+--+-- 'startDate', 'getAssetPropertyValueHistory_startDate' - The exclusive start of the range from which to query historical data,+-- expressed in seconds in Unix epoch time.+--+-- 'timeOrdering', 'getAssetPropertyValueHistory_timeOrdering' - The chronological sorting order of the requested information.+--+-- Default: @ASCENDING@+newGetAssetPropertyValueHistory ::+ GetAssetPropertyValueHistory+newGetAssetPropertyValueHistory =+ GetAssetPropertyValueHistory'+ { assetId =+ Prelude.Nothing,+ endDate = Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ propertyAlias = Prelude.Nothing,+ propertyId = Prelude.Nothing,+ qualities = Prelude.Nothing,+ startDate = Prelude.Nothing,+ timeOrdering = Prelude.Nothing+ }++-- | The ID of the asset.+getAssetPropertyValueHistory_assetId :: Lens.Lens' GetAssetPropertyValueHistory (Prelude.Maybe Prelude.Text)+getAssetPropertyValueHistory_assetId = Lens.lens (\GetAssetPropertyValueHistory' {assetId} -> assetId) (\s@GetAssetPropertyValueHistory' {} a -> s {assetId = a} :: GetAssetPropertyValueHistory)++-- | The inclusive end of the range from which to query historical data,+-- expressed in seconds in Unix epoch time.+getAssetPropertyValueHistory_endDate :: Lens.Lens' GetAssetPropertyValueHistory (Prelude.Maybe Prelude.UTCTime)+getAssetPropertyValueHistory_endDate = Lens.lens (\GetAssetPropertyValueHistory' {endDate} -> endDate) (\s@GetAssetPropertyValueHistory' {} a -> s {endDate = a} :: GetAssetPropertyValueHistory) Prelude.. Lens.mapping Data._Time++-- | The maximum number of results to return for each paginated request.+--+-- Default: 100+getAssetPropertyValueHistory_maxResults :: Lens.Lens' GetAssetPropertyValueHistory (Prelude.Maybe Prelude.Natural)+getAssetPropertyValueHistory_maxResults = Lens.lens (\GetAssetPropertyValueHistory' {maxResults} -> maxResults) (\s@GetAssetPropertyValueHistory' {} a -> s {maxResults = a} :: GetAssetPropertyValueHistory)++-- | The token to be used for the next set of paginated results.+getAssetPropertyValueHistory_nextToken :: Lens.Lens' GetAssetPropertyValueHistory (Prelude.Maybe Prelude.Text)+getAssetPropertyValueHistory_nextToken = Lens.lens (\GetAssetPropertyValueHistory' {nextToken} -> nextToken) (\s@GetAssetPropertyValueHistory' {} a -> s {nextToken = a} :: GetAssetPropertyValueHistory)++-- | 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html Mapping industrial data streams to asset properties>+-- in the /IoT SiteWise User Guide/.+getAssetPropertyValueHistory_propertyAlias :: Lens.Lens' GetAssetPropertyValueHistory (Prelude.Maybe Prelude.Text)+getAssetPropertyValueHistory_propertyAlias = Lens.lens (\GetAssetPropertyValueHistory' {propertyAlias} -> propertyAlias) (\s@GetAssetPropertyValueHistory' {} a -> s {propertyAlias = a} :: GetAssetPropertyValueHistory)++-- | The ID of the asset property.+getAssetPropertyValueHistory_propertyId :: Lens.Lens' GetAssetPropertyValueHistory (Prelude.Maybe Prelude.Text)+getAssetPropertyValueHistory_propertyId = Lens.lens (\GetAssetPropertyValueHistory' {propertyId} -> propertyId) (\s@GetAssetPropertyValueHistory' {} a -> s {propertyId = a} :: GetAssetPropertyValueHistory)++-- | The quality by which to filter asset data.+getAssetPropertyValueHistory_qualities :: Lens.Lens' GetAssetPropertyValueHistory (Prelude.Maybe (Prelude.NonEmpty Quality))+getAssetPropertyValueHistory_qualities = Lens.lens (\GetAssetPropertyValueHistory' {qualities} -> qualities) (\s@GetAssetPropertyValueHistory' {} a -> s {qualities = a} :: GetAssetPropertyValueHistory) Prelude.. Lens.mapping Lens.coerced++-- | The exclusive start of the range from which to query historical data,+-- expressed in seconds in Unix epoch time.+getAssetPropertyValueHistory_startDate :: Lens.Lens' GetAssetPropertyValueHistory (Prelude.Maybe Prelude.UTCTime)+getAssetPropertyValueHistory_startDate = Lens.lens (\GetAssetPropertyValueHistory' {startDate} -> startDate) (\s@GetAssetPropertyValueHistory' {} a -> s {startDate = a} :: GetAssetPropertyValueHistory) Prelude.. Lens.mapping Data._Time++-- | The chronological sorting order of the requested information.+--+-- Default: @ASCENDING@+getAssetPropertyValueHistory_timeOrdering :: Lens.Lens' GetAssetPropertyValueHistory (Prelude.Maybe TimeOrdering)+getAssetPropertyValueHistory_timeOrdering = Lens.lens (\GetAssetPropertyValueHistory' {timeOrdering} -> timeOrdering) (\s@GetAssetPropertyValueHistory' {} a -> s {timeOrdering = a} :: GetAssetPropertyValueHistory)++instance Core.AWSPager GetAssetPropertyValueHistory where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? getAssetPropertyValueHistoryResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^. getAssetPropertyValueHistoryResponse_assetPropertyValueHistory+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& getAssetPropertyValueHistory_nextToken+ Lens..~ rs+ Lens.^? getAssetPropertyValueHistoryResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest GetAssetPropertyValueHistory where+ type+ AWSResponse GetAssetPropertyValueHistory =+ GetAssetPropertyValueHistoryResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetAssetPropertyValueHistoryResponse'+ Prelude.<$> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> ( x+ Data..?> "assetPropertyValueHistory"+ Core..!@ Prelude.mempty+ )+ )++instance+ Prelude.Hashable+ GetAssetPropertyValueHistory+ where+ hashWithSalt _salt GetAssetPropertyValueHistory' {..} =+ _salt+ `Prelude.hashWithSalt` assetId+ `Prelude.hashWithSalt` endDate+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` propertyAlias+ `Prelude.hashWithSalt` propertyId+ `Prelude.hashWithSalt` qualities+ `Prelude.hashWithSalt` startDate+ `Prelude.hashWithSalt` timeOrdering++instance Prelude.NFData GetAssetPropertyValueHistory where+ rnf GetAssetPropertyValueHistory' {..} =+ Prelude.rnf assetId+ `Prelude.seq` Prelude.rnf endDate+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf propertyAlias+ `Prelude.seq` Prelude.rnf propertyId+ `Prelude.seq` Prelude.rnf qualities+ `Prelude.seq` Prelude.rnf startDate+ `Prelude.seq` Prelude.rnf timeOrdering++instance Data.ToHeaders GetAssetPropertyValueHistory where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetAssetPropertyValueHistory where+ toPath = Prelude.const "/properties/history"++instance Data.ToQuery GetAssetPropertyValueHistory where+ toQuery GetAssetPropertyValueHistory' {..} =+ Prelude.mconcat+ [ "assetId" Data.=: assetId,+ "endDate" Data.=: endDate,+ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken,+ "propertyAlias" Data.=: propertyAlias,+ "propertyId" Data.=: propertyId,+ "qualities"+ Data.=: Data.toQuery+ (Data.toQueryList "member" Prelude.<$> qualities),+ "startDate" Data.=: startDate,+ "timeOrdering" Data.=: timeOrdering+ ]++-- | /See:/ 'newGetAssetPropertyValueHistoryResponse' smart constructor.+data GetAssetPropertyValueHistoryResponse = GetAssetPropertyValueHistoryResponse'+ { -- | The token for the next set of results, or null if there are no+ -- additional results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The asset property\'s value history.+ assetPropertyValueHistory :: [AssetPropertyValue]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetAssetPropertyValueHistoryResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'getAssetPropertyValueHistoryResponse_nextToken' - The token for the next set of results, or null if there are no+-- additional results.+--+-- 'httpStatus', 'getAssetPropertyValueHistoryResponse_httpStatus' - The response's http status code.+--+-- 'assetPropertyValueHistory', 'getAssetPropertyValueHistoryResponse_assetPropertyValueHistory' - The asset property\'s value history.+newGetAssetPropertyValueHistoryResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetAssetPropertyValueHistoryResponse+newGetAssetPropertyValueHistoryResponse pHttpStatus_ =+ GetAssetPropertyValueHistoryResponse'+ { nextToken =+ Prelude.Nothing,+ httpStatus = pHttpStatus_,+ assetPropertyValueHistory =+ Prelude.mempty+ }++-- | The token for the next set of results, or null if there are no+-- additional results.+getAssetPropertyValueHistoryResponse_nextToken :: Lens.Lens' GetAssetPropertyValueHistoryResponse (Prelude.Maybe Prelude.Text)+getAssetPropertyValueHistoryResponse_nextToken = Lens.lens (\GetAssetPropertyValueHistoryResponse' {nextToken} -> nextToken) (\s@GetAssetPropertyValueHistoryResponse' {} a -> s {nextToken = a} :: GetAssetPropertyValueHistoryResponse)++-- | The response's http status code.+getAssetPropertyValueHistoryResponse_httpStatus :: Lens.Lens' GetAssetPropertyValueHistoryResponse Prelude.Int+getAssetPropertyValueHistoryResponse_httpStatus = Lens.lens (\GetAssetPropertyValueHistoryResponse' {httpStatus} -> httpStatus) (\s@GetAssetPropertyValueHistoryResponse' {} a -> s {httpStatus = a} :: GetAssetPropertyValueHistoryResponse)++-- | The asset property\'s value history.+getAssetPropertyValueHistoryResponse_assetPropertyValueHistory :: Lens.Lens' GetAssetPropertyValueHistoryResponse [AssetPropertyValue]+getAssetPropertyValueHistoryResponse_assetPropertyValueHistory = Lens.lens (\GetAssetPropertyValueHistoryResponse' {assetPropertyValueHistory} -> assetPropertyValueHistory) (\s@GetAssetPropertyValueHistoryResponse' {} a -> s {assetPropertyValueHistory = a} :: GetAssetPropertyValueHistoryResponse) Prelude.. Lens.coerced++instance+ Prelude.NFData+ GetAssetPropertyValueHistoryResponse+ where+ rnf GetAssetPropertyValueHistoryResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf assetPropertyValueHistory
+ gen/Amazonka/IoTSiteWise/GetInterpolatedAssetPropertyValues.hs view
@@ -0,0 +1,598 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.GetInterpolatedAssetPropertyValues+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetProperty.html UpdateAssetProperty>.+--+-- This operation returns paginated results.+module Amazonka.IoTSiteWise.GetInterpolatedAssetPropertyValues+ ( -- * Creating a Request+ GetInterpolatedAssetPropertyValues (..),+ newGetInterpolatedAssetPropertyValues,++ -- * Request Lenses+ getInterpolatedAssetPropertyValues_assetId,+ getInterpolatedAssetPropertyValues_endTimeOffsetInNanos,+ getInterpolatedAssetPropertyValues_intervalWindowInSeconds,+ getInterpolatedAssetPropertyValues_maxResults,+ getInterpolatedAssetPropertyValues_nextToken,+ getInterpolatedAssetPropertyValues_propertyAlias,+ getInterpolatedAssetPropertyValues_propertyId,+ getInterpolatedAssetPropertyValues_startTimeOffsetInNanos,+ getInterpolatedAssetPropertyValues_startTimeInSeconds,+ getInterpolatedAssetPropertyValues_endTimeInSeconds,+ getInterpolatedAssetPropertyValues_quality,+ getInterpolatedAssetPropertyValues_intervalInSeconds,+ getInterpolatedAssetPropertyValues_type,++ -- * Destructuring the Response+ GetInterpolatedAssetPropertyValuesResponse (..),+ newGetInterpolatedAssetPropertyValuesResponse,++ -- * Response Lenses+ getInterpolatedAssetPropertyValuesResponse_nextToken,+ getInterpolatedAssetPropertyValuesResponse_httpStatus,+ getInterpolatedAssetPropertyValuesResponse_interpolatedAssetPropertyValues,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetInterpolatedAssetPropertyValues' smart constructor.+data GetInterpolatedAssetPropertyValues = GetInterpolatedAssetPropertyValues'+ { -- | The ID of the asset.+ assetId :: Prelude.Maybe Prelude.Text,+ -- | The nanosecond offset converted from @endTimeInSeconds@.+ endTimeOffsetInNanos :: Prelude.Maybe Prelude.Natural,+ -- | 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.+ intervalWindowInSeconds :: Prelude.Maybe Prelude.Natural,+ -- | The maximum number of results to return for each paginated request. If+ -- not specified, the default value is 10.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The token to be used for the next set of paginated results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | 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+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html Mapping industrial data streams to asset properties>+ -- in the /IoT SiteWise User Guide/.+ propertyAlias :: Prelude.Maybe Prelude.Text,+ -- | The ID of the asset property.+ propertyId :: Prelude.Maybe Prelude.Text,+ -- | The nanosecond offset converted from @startTimeInSeconds@.+ startTimeOffsetInNanos :: Prelude.Maybe Prelude.Natural,+ -- | The exclusive start of the range from which to interpolate data,+ -- expressed in seconds in Unix epoch time.+ startTimeInSeconds :: Prelude.Natural,+ -- | The inclusive end of the range from which to interpolate data, expressed+ -- in seconds in Unix epoch time.+ endTimeInSeconds :: Prelude.Natural,+ -- | 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.+ quality :: Quality,+ -- | The time interval in seconds over which to interpolate data. Each+ -- interval starts when the previous one ends.+ intervalInSeconds :: Prelude.Natural,+ -- | The interpolation type.+ --+ -- Valid values: @LINEAR_INTERPOLATION | LOCF_INTERPOLATION@+ --+ -- - @LINEAR_INTERPOLATION@ – Estimates missing data using+ -- <https://en.wikipedia.org/wiki/Linear_interpolation 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.+ type' :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetInterpolatedAssetPropertyValues' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'assetId', 'getInterpolatedAssetPropertyValues_assetId' - The ID of the asset.+--+-- 'endTimeOffsetInNanos', 'getInterpolatedAssetPropertyValues_endTimeOffsetInNanos' - The nanosecond offset converted from @endTimeInSeconds@.+--+-- 'intervalWindowInSeconds', 'getInterpolatedAssetPropertyValues_intervalWindowInSeconds' - 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.+--+-- 'maxResults', 'getInterpolatedAssetPropertyValues_maxResults' - The maximum number of results to return for each paginated request. If+-- not specified, the default value is 10.+--+-- 'nextToken', 'getInterpolatedAssetPropertyValues_nextToken' - The token to be used for the next set of paginated results.+--+-- 'propertyAlias', 'getInterpolatedAssetPropertyValues_propertyAlias' - 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html Mapping industrial data streams to asset properties>+-- in the /IoT SiteWise User Guide/.+--+-- 'propertyId', 'getInterpolatedAssetPropertyValues_propertyId' - The ID of the asset property.+--+-- 'startTimeOffsetInNanos', 'getInterpolatedAssetPropertyValues_startTimeOffsetInNanos' - The nanosecond offset converted from @startTimeInSeconds@.+--+-- 'startTimeInSeconds', 'getInterpolatedAssetPropertyValues_startTimeInSeconds' - The exclusive start of the range from which to interpolate data,+-- expressed in seconds in Unix epoch time.+--+-- 'endTimeInSeconds', 'getInterpolatedAssetPropertyValues_endTimeInSeconds' - The inclusive end of the range from which to interpolate data, expressed+-- in seconds in Unix epoch time.+--+-- 'quality', 'getInterpolatedAssetPropertyValues_quality' - 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.+--+-- 'intervalInSeconds', 'getInterpolatedAssetPropertyValues_intervalInSeconds' - The time interval in seconds over which to interpolate data. Each+-- interval starts when the previous one ends.+--+-- 'type'', 'getInterpolatedAssetPropertyValues_type' - The interpolation type.+--+-- Valid values: @LINEAR_INTERPOLATION | LOCF_INTERPOLATION@+--+-- - @LINEAR_INTERPOLATION@ – Estimates missing data using+-- <https://en.wikipedia.org/wiki/Linear_interpolation 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.+newGetInterpolatedAssetPropertyValues ::+ -- | 'startTimeInSeconds'+ Prelude.Natural ->+ -- | 'endTimeInSeconds'+ Prelude.Natural ->+ -- | 'quality'+ Quality ->+ -- | 'intervalInSeconds'+ Prelude.Natural ->+ -- | 'type''+ Prelude.Text ->+ GetInterpolatedAssetPropertyValues+newGetInterpolatedAssetPropertyValues+ pStartTimeInSeconds_+ pEndTimeInSeconds_+ pQuality_+ pIntervalInSeconds_+ pType_ =+ GetInterpolatedAssetPropertyValues'+ { assetId =+ Prelude.Nothing,+ endTimeOffsetInNanos = Prelude.Nothing,+ intervalWindowInSeconds =+ Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ propertyAlias = Prelude.Nothing,+ propertyId = Prelude.Nothing,+ startTimeOffsetInNanos =+ Prelude.Nothing,+ startTimeInSeconds =+ pStartTimeInSeconds_,+ endTimeInSeconds = pEndTimeInSeconds_,+ quality = pQuality_,+ intervalInSeconds = pIntervalInSeconds_,+ type' = pType_+ }++-- | The ID of the asset.+getInterpolatedAssetPropertyValues_assetId :: Lens.Lens' GetInterpolatedAssetPropertyValues (Prelude.Maybe Prelude.Text)+getInterpolatedAssetPropertyValues_assetId = Lens.lens (\GetInterpolatedAssetPropertyValues' {assetId} -> assetId) (\s@GetInterpolatedAssetPropertyValues' {} a -> s {assetId = a} :: GetInterpolatedAssetPropertyValues)++-- | The nanosecond offset converted from @endTimeInSeconds@.+getInterpolatedAssetPropertyValues_endTimeOffsetInNanos :: Lens.Lens' GetInterpolatedAssetPropertyValues (Prelude.Maybe Prelude.Natural)+getInterpolatedAssetPropertyValues_endTimeOffsetInNanos = Lens.lens (\GetInterpolatedAssetPropertyValues' {endTimeOffsetInNanos} -> endTimeOffsetInNanos) (\s@GetInterpolatedAssetPropertyValues' {} a -> s {endTimeOffsetInNanos = a} :: GetInterpolatedAssetPropertyValues)++-- | 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.+getInterpolatedAssetPropertyValues_intervalWindowInSeconds :: Lens.Lens' GetInterpolatedAssetPropertyValues (Prelude.Maybe Prelude.Natural)+getInterpolatedAssetPropertyValues_intervalWindowInSeconds = Lens.lens (\GetInterpolatedAssetPropertyValues' {intervalWindowInSeconds} -> intervalWindowInSeconds) (\s@GetInterpolatedAssetPropertyValues' {} a -> s {intervalWindowInSeconds = a} :: GetInterpolatedAssetPropertyValues)++-- | The maximum number of results to return for each paginated request. If+-- not specified, the default value is 10.+getInterpolatedAssetPropertyValues_maxResults :: Lens.Lens' GetInterpolatedAssetPropertyValues (Prelude.Maybe Prelude.Natural)+getInterpolatedAssetPropertyValues_maxResults = Lens.lens (\GetInterpolatedAssetPropertyValues' {maxResults} -> maxResults) (\s@GetInterpolatedAssetPropertyValues' {} a -> s {maxResults = a} :: GetInterpolatedAssetPropertyValues)++-- | The token to be used for the next set of paginated results.+getInterpolatedAssetPropertyValues_nextToken :: Lens.Lens' GetInterpolatedAssetPropertyValues (Prelude.Maybe Prelude.Text)+getInterpolatedAssetPropertyValues_nextToken = Lens.lens (\GetInterpolatedAssetPropertyValues' {nextToken} -> nextToken) (\s@GetInterpolatedAssetPropertyValues' {} a -> s {nextToken = a} :: GetInterpolatedAssetPropertyValues)++-- | 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html Mapping industrial data streams to asset properties>+-- in the /IoT SiteWise User Guide/.+getInterpolatedAssetPropertyValues_propertyAlias :: Lens.Lens' GetInterpolatedAssetPropertyValues (Prelude.Maybe Prelude.Text)+getInterpolatedAssetPropertyValues_propertyAlias = Lens.lens (\GetInterpolatedAssetPropertyValues' {propertyAlias} -> propertyAlias) (\s@GetInterpolatedAssetPropertyValues' {} a -> s {propertyAlias = a} :: GetInterpolatedAssetPropertyValues)++-- | The ID of the asset property.+getInterpolatedAssetPropertyValues_propertyId :: Lens.Lens' GetInterpolatedAssetPropertyValues (Prelude.Maybe Prelude.Text)+getInterpolatedAssetPropertyValues_propertyId = Lens.lens (\GetInterpolatedAssetPropertyValues' {propertyId} -> propertyId) (\s@GetInterpolatedAssetPropertyValues' {} a -> s {propertyId = a} :: GetInterpolatedAssetPropertyValues)++-- | The nanosecond offset converted from @startTimeInSeconds@.+getInterpolatedAssetPropertyValues_startTimeOffsetInNanos :: Lens.Lens' GetInterpolatedAssetPropertyValues (Prelude.Maybe Prelude.Natural)+getInterpolatedAssetPropertyValues_startTimeOffsetInNanos = Lens.lens (\GetInterpolatedAssetPropertyValues' {startTimeOffsetInNanos} -> startTimeOffsetInNanos) (\s@GetInterpolatedAssetPropertyValues' {} a -> s {startTimeOffsetInNanos = a} :: GetInterpolatedAssetPropertyValues)++-- | The exclusive start of the range from which to interpolate data,+-- expressed in seconds in Unix epoch time.+getInterpolatedAssetPropertyValues_startTimeInSeconds :: Lens.Lens' GetInterpolatedAssetPropertyValues Prelude.Natural+getInterpolatedAssetPropertyValues_startTimeInSeconds = Lens.lens (\GetInterpolatedAssetPropertyValues' {startTimeInSeconds} -> startTimeInSeconds) (\s@GetInterpolatedAssetPropertyValues' {} a -> s {startTimeInSeconds = a} :: GetInterpolatedAssetPropertyValues)++-- | The inclusive end of the range from which to interpolate data, expressed+-- in seconds in Unix epoch time.+getInterpolatedAssetPropertyValues_endTimeInSeconds :: Lens.Lens' GetInterpolatedAssetPropertyValues Prelude.Natural+getInterpolatedAssetPropertyValues_endTimeInSeconds = Lens.lens (\GetInterpolatedAssetPropertyValues' {endTimeInSeconds} -> endTimeInSeconds) (\s@GetInterpolatedAssetPropertyValues' {} a -> s {endTimeInSeconds = a} :: GetInterpolatedAssetPropertyValues)++-- | 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.+getInterpolatedAssetPropertyValues_quality :: Lens.Lens' GetInterpolatedAssetPropertyValues Quality+getInterpolatedAssetPropertyValues_quality = Lens.lens (\GetInterpolatedAssetPropertyValues' {quality} -> quality) (\s@GetInterpolatedAssetPropertyValues' {} a -> s {quality = a} :: GetInterpolatedAssetPropertyValues)++-- | The time interval in seconds over which to interpolate data. Each+-- interval starts when the previous one ends.+getInterpolatedAssetPropertyValues_intervalInSeconds :: Lens.Lens' GetInterpolatedAssetPropertyValues Prelude.Natural+getInterpolatedAssetPropertyValues_intervalInSeconds = Lens.lens (\GetInterpolatedAssetPropertyValues' {intervalInSeconds} -> intervalInSeconds) (\s@GetInterpolatedAssetPropertyValues' {} a -> s {intervalInSeconds = a} :: GetInterpolatedAssetPropertyValues)++-- | The interpolation type.+--+-- Valid values: @LINEAR_INTERPOLATION | LOCF_INTERPOLATION@+--+-- - @LINEAR_INTERPOLATION@ – Estimates missing data using+-- <https://en.wikipedia.org/wiki/Linear_interpolation 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.+getInterpolatedAssetPropertyValues_type :: Lens.Lens' GetInterpolatedAssetPropertyValues Prelude.Text+getInterpolatedAssetPropertyValues_type = Lens.lens (\GetInterpolatedAssetPropertyValues' {type'} -> type') (\s@GetInterpolatedAssetPropertyValues' {} a -> s {type' = a} :: GetInterpolatedAssetPropertyValues)++instance+ Core.AWSPager+ GetInterpolatedAssetPropertyValues+ where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? getInterpolatedAssetPropertyValuesResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^. getInterpolatedAssetPropertyValuesResponse_interpolatedAssetPropertyValues+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& getInterpolatedAssetPropertyValues_nextToken+ Lens..~ rs+ Lens.^? getInterpolatedAssetPropertyValuesResponse_nextToken+ Prelude.. Lens._Just++instance+ Core.AWSRequest+ GetInterpolatedAssetPropertyValues+ where+ type+ AWSResponse GetInterpolatedAssetPropertyValues =+ GetInterpolatedAssetPropertyValuesResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetInterpolatedAssetPropertyValuesResponse'+ Prelude.<$> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> ( x+ Data..?> "interpolatedAssetPropertyValues"+ Core..!@ Prelude.mempty+ )+ )++instance+ Prelude.Hashable+ GetInterpolatedAssetPropertyValues+ where+ hashWithSalt+ _salt+ GetInterpolatedAssetPropertyValues' {..} =+ _salt+ `Prelude.hashWithSalt` assetId+ `Prelude.hashWithSalt` endTimeOffsetInNanos+ `Prelude.hashWithSalt` intervalWindowInSeconds+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` propertyAlias+ `Prelude.hashWithSalt` propertyId+ `Prelude.hashWithSalt` startTimeOffsetInNanos+ `Prelude.hashWithSalt` startTimeInSeconds+ `Prelude.hashWithSalt` endTimeInSeconds+ `Prelude.hashWithSalt` quality+ `Prelude.hashWithSalt` intervalInSeconds+ `Prelude.hashWithSalt` type'++instance+ Prelude.NFData+ GetInterpolatedAssetPropertyValues+ where+ rnf GetInterpolatedAssetPropertyValues' {..} =+ Prelude.rnf assetId+ `Prelude.seq` Prelude.rnf endTimeOffsetInNanos+ `Prelude.seq` Prelude.rnf intervalWindowInSeconds+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf propertyAlias+ `Prelude.seq` Prelude.rnf propertyId+ `Prelude.seq` Prelude.rnf startTimeOffsetInNanos+ `Prelude.seq` Prelude.rnf startTimeInSeconds+ `Prelude.seq` Prelude.rnf endTimeInSeconds+ `Prelude.seq` Prelude.rnf quality+ `Prelude.seq` Prelude.rnf intervalInSeconds+ `Prelude.seq` Prelude.rnf type'++instance+ Data.ToHeaders+ GetInterpolatedAssetPropertyValues+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToPath+ GetInterpolatedAssetPropertyValues+ where+ toPath = Prelude.const "/properties/interpolated"++instance+ Data.ToQuery+ GetInterpolatedAssetPropertyValues+ where+ toQuery GetInterpolatedAssetPropertyValues' {..} =+ Prelude.mconcat+ [ "assetId" Data.=: assetId,+ "endTimeOffsetInNanos" Data.=: endTimeOffsetInNanos,+ "intervalWindowInSeconds"+ Data.=: intervalWindowInSeconds,+ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken,+ "propertyAlias" Data.=: propertyAlias,+ "propertyId" Data.=: propertyId,+ "startTimeOffsetInNanos"+ Data.=: startTimeOffsetInNanos,+ "startTimeInSeconds" Data.=: startTimeInSeconds,+ "endTimeInSeconds" Data.=: endTimeInSeconds,+ "quality" Data.=: quality,+ "intervalInSeconds" Data.=: intervalInSeconds,+ "type" Data.=: type'+ ]++-- | /See:/ 'newGetInterpolatedAssetPropertyValuesResponse' smart constructor.+data GetInterpolatedAssetPropertyValuesResponse = GetInterpolatedAssetPropertyValuesResponse'+ { -- | The token for the next set of results, or null if there are no+ -- additional results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The requested interpolated values.+ interpolatedAssetPropertyValues :: [InterpolatedAssetPropertyValue]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetInterpolatedAssetPropertyValuesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'getInterpolatedAssetPropertyValuesResponse_nextToken' - The token for the next set of results, or null if there are no+-- additional results.+--+-- 'httpStatus', 'getInterpolatedAssetPropertyValuesResponse_httpStatus' - The response's http status code.+--+-- 'interpolatedAssetPropertyValues', 'getInterpolatedAssetPropertyValuesResponse_interpolatedAssetPropertyValues' - The requested interpolated values.+newGetInterpolatedAssetPropertyValuesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetInterpolatedAssetPropertyValuesResponse+newGetInterpolatedAssetPropertyValuesResponse+ pHttpStatus_ =+ GetInterpolatedAssetPropertyValuesResponse'+ { nextToken =+ Prelude.Nothing,+ httpStatus = pHttpStatus_,+ interpolatedAssetPropertyValues =+ Prelude.mempty+ }++-- | The token for the next set of results, or null if there are no+-- additional results.+getInterpolatedAssetPropertyValuesResponse_nextToken :: Lens.Lens' GetInterpolatedAssetPropertyValuesResponse (Prelude.Maybe Prelude.Text)+getInterpolatedAssetPropertyValuesResponse_nextToken = Lens.lens (\GetInterpolatedAssetPropertyValuesResponse' {nextToken} -> nextToken) (\s@GetInterpolatedAssetPropertyValuesResponse' {} a -> s {nextToken = a} :: GetInterpolatedAssetPropertyValuesResponse)++-- | The response's http status code.+getInterpolatedAssetPropertyValuesResponse_httpStatus :: Lens.Lens' GetInterpolatedAssetPropertyValuesResponse Prelude.Int+getInterpolatedAssetPropertyValuesResponse_httpStatus = Lens.lens (\GetInterpolatedAssetPropertyValuesResponse' {httpStatus} -> httpStatus) (\s@GetInterpolatedAssetPropertyValuesResponse' {} a -> s {httpStatus = a} :: GetInterpolatedAssetPropertyValuesResponse)++-- | The requested interpolated values.+getInterpolatedAssetPropertyValuesResponse_interpolatedAssetPropertyValues :: Lens.Lens' GetInterpolatedAssetPropertyValuesResponse [InterpolatedAssetPropertyValue]+getInterpolatedAssetPropertyValuesResponse_interpolatedAssetPropertyValues = Lens.lens (\GetInterpolatedAssetPropertyValuesResponse' {interpolatedAssetPropertyValues} -> interpolatedAssetPropertyValues) (\s@GetInterpolatedAssetPropertyValuesResponse' {} a -> s {interpolatedAssetPropertyValues = a} :: GetInterpolatedAssetPropertyValuesResponse) Prelude.. Lens.coerced++instance+ Prelude.NFData+ GetInterpolatedAssetPropertyValuesResponse+ where+ rnf GetInterpolatedAssetPropertyValuesResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf interpolatedAssetPropertyValues
+ gen/Amazonka/IoTSiteWise/Lens.hs view
@@ -0,0 +1,1341 @@+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Lens+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Lens+ ( -- * Operations++ -- ** AssociateAssets+ associateAssets_clientToken,+ associateAssets_assetId,+ associateAssets_hierarchyId,+ associateAssets_childAssetId,++ -- ** AssociateTimeSeriesToAssetProperty+ associateTimeSeriesToAssetProperty_clientToken,+ associateTimeSeriesToAssetProperty_alias,+ associateTimeSeriesToAssetProperty_assetId,+ associateTimeSeriesToAssetProperty_propertyId,++ -- ** BatchAssociateProjectAssets+ batchAssociateProjectAssets_clientToken,+ batchAssociateProjectAssets_projectId,+ batchAssociateProjectAssets_assetIds,+ batchAssociateProjectAssetsResponse_errors,+ batchAssociateProjectAssetsResponse_httpStatus,++ -- ** BatchDisassociateProjectAssets+ batchDisassociateProjectAssets_clientToken,+ batchDisassociateProjectAssets_projectId,+ batchDisassociateProjectAssets_assetIds,+ batchDisassociateProjectAssetsResponse_errors,+ batchDisassociateProjectAssetsResponse_httpStatus,++ -- ** BatchGetAssetPropertyAggregates+ batchGetAssetPropertyAggregates_maxResults,+ batchGetAssetPropertyAggregates_nextToken,+ batchGetAssetPropertyAggregates_entries,+ batchGetAssetPropertyAggregatesResponse_nextToken,+ batchGetAssetPropertyAggregatesResponse_httpStatus,+ batchGetAssetPropertyAggregatesResponse_errorEntries,+ batchGetAssetPropertyAggregatesResponse_successEntries,+ batchGetAssetPropertyAggregatesResponse_skippedEntries,++ -- ** BatchGetAssetPropertyValue+ batchGetAssetPropertyValue_nextToken,+ batchGetAssetPropertyValue_entries,+ batchGetAssetPropertyValueResponse_nextToken,+ batchGetAssetPropertyValueResponse_httpStatus,+ batchGetAssetPropertyValueResponse_errorEntries,+ batchGetAssetPropertyValueResponse_successEntries,+ batchGetAssetPropertyValueResponse_skippedEntries,++ -- ** BatchGetAssetPropertyValueHistory+ batchGetAssetPropertyValueHistory_maxResults,+ batchGetAssetPropertyValueHistory_nextToken,+ batchGetAssetPropertyValueHistory_entries,+ batchGetAssetPropertyValueHistoryResponse_nextToken,+ batchGetAssetPropertyValueHistoryResponse_httpStatus,+ batchGetAssetPropertyValueHistoryResponse_errorEntries,+ batchGetAssetPropertyValueHistoryResponse_successEntries,+ batchGetAssetPropertyValueHistoryResponse_skippedEntries,++ -- ** BatchPutAssetPropertyValue+ batchPutAssetPropertyValue_entries,+ batchPutAssetPropertyValueResponse_httpStatus,+ batchPutAssetPropertyValueResponse_errorEntries,++ -- ** CreateAccessPolicy+ createAccessPolicy_clientToken,+ createAccessPolicy_tags,+ createAccessPolicy_accessPolicyIdentity,+ createAccessPolicy_accessPolicyResource,+ createAccessPolicy_accessPolicyPermission,+ createAccessPolicyResponse_httpStatus,+ createAccessPolicyResponse_accessPolicyId,+ createAccessPolicyResponse_accessPolicyArn,++ -- ** CreateAsset+ createAsset_assetDescription,+ createAsset_clientToken,+ createAsset_tags,+ createAsset_assetName,+ createAsset_assetModelId,+ createAssetResponse_httpStatus,+ createAssetResponse_assetId,+ createAssetResponse_assetArn,+ createAssetResponse_assetStatus,++ -- ** CreateAssetModel+ createAssetModel_assetModelCompositeModels,+ createAssetModel_assetModelDescription,+ createAssetModel_assetModelHierarchies,+ createAssetModel_assetModelProperties,+ createAssetModel_clientToken,+ createAssetModel_tags,+ createAssetModel_assetModelName,+ createAssetModelResponse_httpStatus,+ createAssetModelResponse_assetModelId,+ createAssetModelResponse_assetModelArn,+ createAssetModelResponse_assetModelStatus,++ -- ** CreateBulkImportJob+ createBulkImportJob_jobName,+ createBulkImportJob_jobRoleArn,+ createBulkImportJob_files,+ createBulkImportJob_errorReportLocation,+ createBulkImportJob_jobConfiguration,+ createBulkImportJobResponse_httpStatus,+ createBulkImportJobResponse_jobId,+ createBulkImportJobResponse_jobName,+ createBulkImportJobResponse_jobStatus,++ -- ** CreateDashboard+ createDashboard_clientToken,+ createDashboard_dashboardDescription,+ createDashboard_tags,+ createDashboard_projectId,+ createDashboard_dashboardName,+ createDashboard_dashboardDefinition,+ createDashboardResponse_httpStatus,+ createDashboardResponse_dashboardId,+ createDashboardResponse_dashboardArn,++ -- ** CreateGateway+ createGateway_tags,+ createGateway_gatewayName,+ createGateway_gatewayPlatform,+ createGatewayResponse_httpStatus,+ createGatewayResponse_gatewayId,+ createGatewayResponse_gatewayArn,++ -- ** CreatePortal+ createPortal_alarms,+ createPortal_clientToken,+ createPortal_notificationSenderEmail,+ createPortal_portalAuthMode,+ createPortal_portalDescription,+ createPortal_portalLogoImageFile,+ createPortal_tags,+ createPortal_portalName,+ createPortal_portalContactEmail,+ createPortal_roleArn,+ createPortalResponse_httpStatus,+ createPortalResponse_portalId,+ createPortalResponse_portalArn,+ createPortalResponse_portalStartUrl,+ createPortalResponse_portalStatus,+ createPortalResponse_ssoApplicationId,++ -- ** CreateProject+ createProject_clientToken,+ createProject_projectDescription,+ createProject_tags,+ createProject_portalId,+ createProject_projectName,+ createProjectResponse_httpStatus,+ createProjectResponse_projectId,+ createProjectResponse_projectArn,++ -- ** DeleteAccessPolicy+ deleteAccessPolicy_clientToken,+ deleteAccessPolicy_accessPolicyId,+ deleteAccessPolicyResponse_httpStatus,++ -- ** DeleteAsset+ deleteAsset_clientToken,+ deleteAsset_assetId,+ deleteAssetResponse_httpStatus,+ deleteAssetResponse_assetStatus,++ -- ** DeleteAssetModel+ deleteAssetModel_clientToken,+ deleteAssetModel_assetModelId,+ deleteAssetModelResponse_httpStatus,+ deleteAssetModelResponse_assetModelStatus,++ -- ** DeleteDashboard+ deleteDashboard_clientToken,+ deleteDashboard_dashboardId,+ deleteDashboardResponse_httpStatus,++ -- ** DeleteGateway+ deleteGateway_gatewayId,++ -- ** DeletePortal+ deletePortal_clientToken,+ deletePortal_portalId,+ deletePortalResponse_httpStatus,+ deletePortalResponse_portalStatus,++ -- ** DeleteProject+ deleteProject_clientToken,+ deleteProject_projectId,+ deleteProjectResponse_httpStatus,++ -- ** DeleteTimeSeries+ deleteTimeSeries_alias,+ deleteTimeSeries_assetId,+ deleteTimeSeries_clientToken,+ deleteTimeSeries_propertyId,++ -- ** DescribeAccessPolicy+ describeAccessPolicy_accessPolicyId,+ describeAccessPolicyResponse_httpStatus,+ describeAccessPolicyResponse_accessPolicyId,+ describeAccessPolicyResponse_accessPolicyArn,+ describeAccessPolicyResponse_accessPolicyIdentity,+ describeAccessPolicyResponse_accessPolicyResource,+ describeAccessPolicyResponse_accessPolicyPermission,+ describeAccessPolicyResponse_accessPolicyCreationDate,+ describeAccessPolicyResponse_accessPolicyLastUpdateDate,++ -- ** DescribeAsset+ describeAsset_excludeProperties,+ describeAsset_assetId,+ describeAssetResponse_assetCompositeModels,+ describeAssetResponse_assetDescription,+ describeAssetResponse_httpStatus,+ describeAssetResponse_assetId,+ describeAssetResponse_assetArn,+ describeAssetResponse_assetName,+ describeAssetResponse_assetModelId,+ describeAssetResponse_assetProperties,+ describeAssetResponse_assetHierarchies,+ describeAssetResponse_assetCreationDate,+ describeAssetResponse_assetLastUpdateDate,+ describeAssetResponse_assetStatus,++ -- ** DescribeAssetModel+ describeAssetModel_excludeProperties,+ describeAssetModel_assetModelId,+ describeAssetModelResponse_assetModelCompositeModels,+ describeAssetModelResponse_httpStatus,+ describeAssetModelResponse_assetModelId,+ describeAssetModelResponse_assetModelArn,+ describeAssetModelResponse_assetModelName,+ describeAssetModelResponse_assetModelDescription,+ describeAssetModelResponse_assetModelProperties,+ describeAssetModelResponse_assetModelHierarchies,+ describeAssetModelResponse_assetModelCreationDate,+ describeAssetModelResponse_assetModelLastUpdateDate,+ describeAssetModelResponse_assetModelStatus,++ -- ** DescribeAssetProperty+ describeAssetProperty_assetId,+ describeAssetProperty_propertyId,+ describeAssetPropertyResponse_assetProperty,+ describeAssetPropertyResponse_compositeModel,+ describeAssetPropertyResponse_httpStatus,+ describeAssetPropertyResponse_assetId,+ describeAssetPropertyResponse_assetName,+ describeAssetPropertyResponse_assetModelId,++ -- ** DescribeBulkImportJob+ describeBulkImportJob_jobId,+ describeBulkImportJobResponse_httpStatus,+ describeBulkImportJobResponse_jobId,+ describeBulkImportJobResponse_jobName,+ describeBulkImportJobResponse_jobStatus,+ describeBulkImportJobResponse_jobRoleArn,+ describeBulkImportJobResponse_files,+ describeBulkImportJobResponse_errorReportLocation,+ describeBulkImportJobResponse_jobConfiguration,+ describeBulkImportJobResponse_jobCreationDate,+ describeBulkImportJobResponse_jobLastUpdateDate,++ -- ** DescribeDashboard+ describeDashboard_dashboardId,+ describeDashboardResponse_dashboardDescription,+ describeDashboardResponse_httpStatus,+ describeDashboardResponse_dashboardId,+ describeDashboardResponse_dashboardArn,+ describeDashboardResponse_dashboardName,+ describeDashboardResponse_projectId,+ describeDashboardResponse_dashboardDefinition,+ describeDashboardResponse_dashboardCreationDate,+ describeDashboardResponse_dashboardLastUpdateDate,++ -- ** DescribeDefaultEncryptionConfiguration+ describeDefaultEncryptionConfigurationResponse_kmsKeyArn,+ describeDefaultEncryptionConfigurationResponse_httpStatus,+ describeDefaultEncryptionConfigurationResponse_encryptionType,+ describeDefaultEncryptionConfigurationResponse_configurationStatus,++ -- ** DescribeGateway+ describeGateway_gatewayId,+ describeGatewayResponse_gatewayPlatform,+ describeGatewayResponse_httpStatus,+ describeGatewayResponse_gatewayId,+ describeGatewayResponse_gatewayName,+ describeGatewayResponse_gatewayArn,+ describeGatewayResponse_gatewayCapabilitySummaries,+ describeGatewayResponse_creationDate,+ describeGatewayResponse_lastUpdateDate,++ -- ** DescribeGatewayCapabilityConfiguration+ describeGatewayCapabilityConfiguration_gatewayId,+ describeGatewayCapabilityConfiguration_capabilityNamespace,+ describeGatewayCapabilityConfigurationResponse_httpStatus,+ describeGatewayCapabilityConfigurationResponse_gatewayId,+ describeGatewayCapabilityConfigurationResponse_capabilityNamespace,+ describeGatewayCapabilityConfigurationResponse_capabilityConfiguration,+ describeGatewayCapabilityConfigurationResponse_capabilitySyncStatus,++ -- ** DescribeLoggingOptions+ describeLoggingOptionsResponse_httpStatus,+ describeLoggingOptionsResponse_loggingOptions,++ -- ** DescribePortal+ describePortal_portalId,+ describePortalResponse_alarms,+ describePortalResponse_notificationSenderEmail,+ describePortalResponse_portalAuthMode,+ describePortalResponse_portalDescription,+ describePortalResponse_portalLogoImageLocation,+ describePortalResponse_roleArn,+ describePortalResponse_httpStatus,+ describePortalResponse_portalId,+ describePortalResponse_portalArn,+ describePortalResponse_portalName,+ describePortalResponse_portalClientId,+ describePortalResponse_portalStartUrl,+ describePortalResponse_portalContactEmail,+ describePortalResponse_portalStatus,+ describePortalResponse_portalCreationDate,+ describePortalResponse_portalLastUpdateDate,++ -- ** DescribeProject+ describeProject_projectId,+ describeProjectResponse_projectDescription,+ describeProjectResponse_httpStatus,+ describeProjectResponse_projectId,+ describeProjectResponse_projectArn,+ describeProjectResponse_projectName,+ describeProjectResponse_portalId,+ describeProjectResponse_projectCreationDate,+ describeProjectResponse_projectLastUpdateDate,++ -- ** DescribeStorageConfiguration+ describeStorageConfigurationResponse_disassociatedDataStorage,+ describeStorageConfigurationResponse_lastUpdateDate,+ describeStorageConfigurationResponse_multiLayerStorage,+ describeStorageConfigurationResponse_retentionPeriod,+ describeStorageConfigurationResponse_httpStatus,+ describeStorageConfigurationResponse_storageType,+ describeStorageConfigurationResponse_configurationStatus,++ -- ** DescribeTimeSeries+ describeTimeSeries_alias,+ describeTimeSeries_assetId,+ describeTimeSeries_propertyId,+ describeTimeSeriesResponse_alias,+ describeTimeSeriesResponse_assetId,+ describeTimeSeriesResponse_dataTypeSpec,+ describeTimeSeriesResponse_propertyId,+ describeTimeSeriesResponse_httpStatus,+ describeTimeSeriesResponse_timeSeriesId,+ describeTimeSeriesResponse_dataType,+ describeTimeSeriesResponse_timeSeriesCreationDate,+ describeTimeSeriesResponse_timeSeriesLastUpdateDate,++ -- ** DisassociateAssets+ disassociateAssets_clientToken,+ disassociateAssets_assetId,+ disassociateAssets_hierarchyId,+ disassociateAssets_childAssetId,++ -- ** DisassociateTimeSeriesFromAssetProperty+ disassociateTimeSeriesFromAssetProperty_clientToken,+ disassociateTimeSeriesFromAssetProperty_alias,+ disassociateTimeSeriesFromAssetProperty_assetId,+ disassociateTimeSeriesFromAssetProperty_propertyId,++ -- ** GetAssetPropertyAggregates+ getAssetPropertyAggregates_assetId,+ getAssetPropertyAggregates_maxResults,+ getAssetPropertyAggregates_nextToken,+ getAssetPropertyAggregates_propertyAlias,+ getAssetPropertyAggregates_propertyId,+ getAssetPropertyAggregates_qualities,+ getAssetPropertyAggregates_timeOrdering,+ getAssetPropertyAggregates_aggregateTypes,+ getAssetPropertyAggregates_resolution,+ getAssetPropertyAggregates_startDate,+ getAssetPropertyAggregates_endDate,+ getAssetPropertyAggregatesResponse_nextToken,+ getAssetPropertyAggregatesResponse_httpStatus,+ getAssetPropertyAggregatesResponse_aggregatedValues,++ -- ** GetAssetPropertyValue+ getAssetPropertyValue_assetId,+ getAssetPropertyValue_propertyAlias,+ getAssetPropertyValue_propertyId,+ getAssetPropertyValueResponse_propertyValue,+ getAssetPropertyValueResponse_httpStatus,++ -- ** GetAssetPropertyValueHistory+ getAssetPropertyValueHistory_assetId,+ getAssetPropertyValueHistory_endDate,+ getAssetPropertyValueHistory_maxResults,+ getAssetPropertyValueHistory_nextToken,+ getAssetPropertyValueHistory_propertyAlias,+ getAssetPropertyValueHistory_propertyId,+ getAssetPropertyValueHistory_qualities,+ getAssetPropertyValueHistory_startDate,+ getAssetPropertyValueHistory_timeOrdering,+ getAssetPropertyValueHistoryResponse_nextToken,+ getAssetPropertyValueHistoryResponse_httpStatus,+ getAssetPropertyValueHistoryResponse_assetPropertyValueHistory,++ -- ** GetInterpolatedAssetPropertyValues+ getInterpolatedAssetPropertyValues_assetId,+ getInterpolatedAssetPropertyValues_endTimeOffsetInNanos,+ getInterpolatedAssetPropertyValues_intervalWindowInSeconds,+ getInterpolatedAssetPropertyValues_maxResults,+ getInterpolatedAssetPropertyValues_nextToken,+ getInterpolatedAssetPropertyValues_propertyAlias,+ getInterpolatedAssetPropertyValues_propertyId,+ getInterpolatedAssetPropertyValues_startTimeOffsetInNanos,+ getInterpolatedAssetPropertyValues_startTimeInSeconds,+ getInterpolatedAssetPropertyValues_endTimeInSeconds,+ getInterpolatedAssetPropertyValues_quality,+ getInterpolatedAssetPropertyValues_intervalInSeconds,+ getInterpolatedAssetPropertyValues_type,+ getInterpolatedAssetPropertyValuesResponse_nextToken,+ getInterpolatedAssetPropertyValuesResponse_httpStatus,+ getInterpolatedAssetPropertyValuesResponse_interpolatedAssetPropertyValues,++ -- ** ListAccessPolicies+ listAccessPolicies_iamArn,+ listAccessPolicies_identityId,+ listAccessPolicies_identityType,+ listAccessPolicies_maxResults,+ listAccessPolicies_nextToken,+ listAccessPolicies_resourceId,+ listAccessPolicies_resourceType,+ listAccessPoliciesResponse_nextToken,+ listAccessPoliciesResponse_httpStatus,+ listAccessPoliciesResponse_accessPolicySummaries,++ -- ** ListAssetModelProperties+ listAssetModelProperties_filter,+ listAssetModelProperties_maxResults,+ listAssetModelProperties_nextToken,+ listAssetModelProperties_assetModelId,+ listAssetModelPropertiesResponse_nextToken,+ listAssetModelPropertiesResponse_httpStatus,+ listAssetModelPropertiesResponse_assetModelPropertySummaries,++ -- ** ListAssetModels+ listAssetModels_maxResults,+ listAssetModels_nextToken,+ listAssetModelsResponse_nextToken,+ listAssetModelsResponse_httpStatus,+ listAssetModelsResponse_assetModelSummaries,++ -- ** ListAssetProperties+ listAssetProperties_filter,+ listAssetProperties_maxResults,+ listAssetProperties_nextToken,+ listAssetProperties_assetId,+ listAssetPropertiesResponse_nextToken,+ listAssetPropertiesResponse_httpStatus,+ listAssetPropertiesResponse_assetPropertySummaries,++ -- ** ListAssetRelationships+ listAssetRelationships_maxResults,+ listAssetRelationships_nextToken,+ listAssetRelationships_assetId,+ listAssetRelationships_traversalType,+ listAssetRelationshipsResponse_nextToken,+ listAssetRelationshipsResponse_httpStatus,+ listAssetRelationshipsResponse_assetRelationshipSummaries,++ -- ** ListAssets+ listAssets_assetModelId,+ listAssets_filter,+ listAssets_maxResults,+ listAssets_nextToken,+ listAssetsResponse_nextToken,+ listAssetsResponse_httpStatus,+ listAssetsResponse_assetSummaries,++ -- ** ListAssociatedAssets+ listAssociatedAssets_hierarchyId,+ listAssociatedAssets_maxResults,+ listAssociatedAssets_nextToken,+ listAssociatedAssets_traversalDirection,+ listAssociatedAssets_assetId,+ listAssociatedAssetsResponse_nextToken,+ listAssociatedAssetsResponse_httpStatus,+ listAssociatedAssetsResponse_assetSummaries,++ -- ** ListBulkImportJobs+ listBulkImportJobs_filter,+ listBulkImportJobs_maxResults,+ listBulkImportJobs_nextToken,+ listBulkImportJobsResponse_nextToken,+ listBulkImportJobsResponse_httpStatus,+ listBulkImportJobsResponse_jobSummaries,++ -- ** ListDashboards+ listDashboards_maxResults,+ listDashboards_nextToken,+ listDashboards_projectId,+ listDashboardsResponse_nextToken,+ listDashboardsResponse_httpStatus,+ listDashboardsResponse_dashboardSummaries,++ -- ** ListGateways+ listGateways_maxResults,+ listGateways_nextToken,+ listGatewaysResponse_nextToken,+ listGatewaysResponse_httpStatus,+ listGatewaysResponse_gatewaySummaries,++ -- ** ListPortals+ listPortals_maxResults,+ listPortals_nextToken,+ listPortalsResponse_nextToken,+ listPortalsResponse_portalSummaries,+ listPortalsResponse_httpStatus,++ -- ** ListProjectAssets+ listProjectAssets_maxResults,+ listProjectAssets_nextToken,+ listProjectAssets_projectId,+ listProjectAssetsResponse_nextToken,+ listProjectAssetsResponse_httpStatus,+ listProjectAssetsResponse_assetIds,++ -- ** ListProjects+ listProjects_maxResults,+ listProjects_nextToken,+ listProjects_portalId,+ listProjectsResponse_nextToken,+ listProjectsResponse_httpStatus,+ listProjectsResponse_projectSummaries,++ -- ** ListTagsForResource+ listTagsForResource_resourceArn,+ listTagsForResourceResponse_tags,+ listTagsForResourceResponse_httpStatus,++ -- ** ListTimeSeries+ listTimeSeries_aliasPrefix,+ listTimeSeries_assetId,+ listTimeSeries_maxResults,+ listTimeSeries_nextToken,+ listTimeSeries_timeSeriesType,+ listTimeSeriesResponse_nextToken,+ listTimeSeriesResponse_httpStatus,+ listTimeSeriesResponse_timeSeriesSummaries,++ -- ** PutDefaultEncryptionConfiguration+ putDefaultEncryptionConfiguration_kmsKeyId,+ putDefaultEncryptionConfiguration_encryptionType,+ putDefaultEncryptionConfigurationResponse_kmsKeyArn,+ putDefaultEncryptionConfigurationResponse_httpStatus,+ putDefaultEncryptionConfigurationResponse_encryptionType,+ putDefaultEncryptionConfigurationResponse_configurationStatus,++ -- ** PutLoggingOptions+ putLoggingOptions_loggingOptions,+ putLoggingOptionsResponse_httpStatus,++ -- ** PutStorageConfiguration+ putStorageConfiguration_disassociatedDataStorage,+ putStorageConfiguration_multiLayerStorage,+ putStorageConfiguration_retentionPeriod,+ putStorageConfiguration_storageType,+ putStorageConfigurationResponse_disassociatedDataStorage,+ putStorageConfigurationResponse_multiLayerStorage,+ putStorageConfigurationResponse_retentionPeriod,+ putStorageConfigurationResponse_httpStatus,+ putStorageConfigurationResponse_storageType,+ putStorageConfigurationResponse_configurationStatus,++ -- ** TagResource+ tagResource_resourceArn,+ tagResource_tags,+ tagResourceResponse_httpStatus,++ -- ** UntagResource+ untagResource_resourceArn,+ untagResource_tagKeys,+ untagResourceResponse_httpStatus,++ -- ** UpdateAccessPolicy+ updateAccessPolicy_clientToken,+ updateAccessPolicy_accessPolicyId,+ updateAccessPolicy_accessPolicyIdentity,+ updateAccessPolicy_accessPolicyResource,+ updateAccessPolicy_accessPolicyPermission,+ updateAccessPolicyResponse_httpStatus,++ -- ** UpdateAsset+ updateAsset_assetDescription,+ updateAsset_clientToken,+ updateAsset_assetId,+ updateAsset_assetName,+ updateAssetResponse_httpStatus,+ updateAssetResponse_assetStatus,++ -- ** UpdateAssetModel+ updateAssetModel_assetModelCompositeModels,+ updateAssetModel_assetModelDescription,+ updateAssetModel_assetModelHierarchies,+ updateAssetModel_assetModelProperties,+ updateAssetModel_clientToken,+ updateAssetModel_assetModelId,+ updateAssetModel_assetModelName,+ updateAssetModelResponse_httpStatus,+ updateAssetModelResponse_assetModelStatus,++ -- ** UpdateAssetProperty+ updateAssetProperty_clientToken,+ updateAssetProperty_propertyAlias,+ updateAssetProperty_propertyNotificationState,+ updateAssetProperty_propertyUnit,+ updateAssetProperty_assetId,+ updateAssetProperty_propertyId,++ -- ** UpdateDashboard+ updateDashboard_clientToken,+ updateDashboard_dashboardDescription,+ updateDashboard_dashboardId,+ updateDashboard_dashboardName,+ updateDashboard_dashboardDefinition,+ updateDashboardResponse_httpStatus,++ -- ** UpdateGateway+ updateGateway_gatewayId,+ updateGateway_gatewayName,++ -- ** UpdateGatewayCapabilityConfiguration+ updateGatewayCapabilityConfiguration_gatewayId,+ updateGatewayCapabilityConfiguration_capabilityNamespace,+ updateGatewayCapabilityConfiguration_capabilityConfiguration,+ updateGatewayCapabilityConfigurationResponse_httpStatus,+ updateGatewayCapabilityConfigurationResponse_capabilityNamespace,+ updateGatewayCapabilityConfigurationResponse_capabilitySyncStatus,++ -- ** UpdatePortal+ updatePortal_alarms,+ updatePortal_clientToken,+ updatePortal_notificationSenderEmail,+ updatePortal_portalDescription,+ updatePortal_portalLogoImage,+ updatePortal_portalId,+ updatePortal_portalName,+ updatePortal_portalContactEmail,+ updatePortal_roleArn,+ updatePortalResponse_httpStatus,+ updatePortalResponse_portalStatus,++ -- ** UpdateProject+ updateProject_clientToken,+ updateProject_projectDescription,+ updateProject_projectId,+ updateProject_projectName,+ updateProjectResponse_httpStatus,++ -- * Types++ -- ** AccessPolicySummary+ accessPolicySummary_creationDate,+ accessPolicySummary_lastUpdateDate,+ accessPolicySummary_id,+ accessPolicySummary_identity,+ accessPolicySummary_resource,+ accessPolicySummary_permission,++ -- ** AggregatedValue+ aggregatedValue_quality,+ aggregatedValue_timestamp,+ aggregatedValue_value,++ -- ** Aggregates+ aggregates_average,+ aggregates_count,+ aggregates_maximum,+ aggregates_minimum,+ aggregates_standardDeviation,+ aggregates_sum,++ -- ** Alarms+ alarms_notificationLambdaArn,+ alarms_alarmRoleArn,++ -- ** AssetCompositeModel+ assetCompositeModel_description,+ assetCompositeModel_id,+ assetCompositeModel_name,+ assetCompositeModel_type,+ assetCompositeModel_properties,++ -- ** AssetErrorDetails+ assetErrorDetails_assetId,+ assetErrorDetails_code,+ assetErrorDetails_message,++ -- ** AssetHierarchy+ assetHierarchy_id,+ assetHierarchy_name,++ -- ** AssetHierarchyInfo+ assetHierarchyInfo_childAssetId,+ assetHierarchyInfo_parentAssetId,++ -- ** AssetModelCompositeModel+ assetModelCompositeModel_description,+ assetModelCompositeModel_id,+ assetModelCompositeModel_properties,+ assetModelCompositeModel_name,+ assetModelCompositeModel_type,++ -- ** AssetModelCompositeModelDefinition+ assetModelCompositeModelDefinition_description,+ assetModelCompositeModelDefinition_properties,+ assetModelCompositeModelDefinition_name,+ assetModelCompositeModelDefinition_type,++ -- ** AssetModelHierarchy+ assetModelHierarchy_id,+ assetModelHierarchy_name,+ assetModelHierarchy_childAssetModelId,++ -- ** AssetModelHierarchyDefinition+ assetModelHierarchyDefinition_name,+ assetModelHierarchyDefinition_childAssetModelId,++ -- ** AssetModelProperty+ assetModelProperty_dataTypeSpec,+ assetModelProperty_id,+ assetModelProperty_unit,+ assetModelProperty_name,+ assetModelProperty_dataType,+ assetModelProperty_type,++ -- ** AssetModelPropertyDefinition+ assetModelPropertyDefinition_dataTypeSpec,+ assetModelPropertyDefinition_unit,+ assetModelPropertyDefinition_name,+ assetModelPropertyDefinition_dataType,+ assetModelPropertyDefinition_type,++ -- ** AssetModelPropertySummary+ assetModelPropertySummary_assetModelCompositeModelId,+ assetModelPropertySummary_dataTypeSpec,+ assetModelPropertySummary_id,+ assetModelPropertySummary_unit,+ assetModelPropertySummary_name,+ assetModelPropertySummary_dataType,+ assetModelPropertySummary_type,++ -- ** AssetModelStatus+ assetModelStatus_error,+ assetModelStatus_state,++ -- ** AssetModelSummary+ assetModelSummary_id,+ assetModelSummary_arn,+ assetModelSummary_name,+ assetModelSummary_description,+ assetModelSummary_creationDate,+ assetModelSummary_lastUpdateDate,+ assetModelSummary_status,++ -- ** AssetProperty+ assetProperty_alias,+ assetProperty_dataTypeSpec,+ assetProperty_notification,+ assetProperty_unit,+ assetProperty_id,+ assetProperty_name,+ assetProperty_dataType,++ -- ** AssetPropertySummary+ assetPropertySummary_alias,+ assetPropertySummary_assetCompositeModelId,+ assetPropertySummary_id,+ assetPropertySummary_notification,+ assetPropertySummary_unit,++ -- ** AssetPropertyValue+ assetPropertyValue_quality,+ assetPropertyValue_value,+ assetPropertyValue_timestamp,++ -- ** AssetRelationshipSummary+ assetRelationshipSummary_hierarchyInfo,+ assetRelationshipSummary_relationshipType,++ -- ** AssetStatus+ assetStatus_error,+ assetStatus_state,++ -- ** AssetSummary+ assetSummary_description,+ assetSummary_id,+ assetSummary_arn,+ assetSummary_name,+ assetSummary_assetModelId,+ assetSummary_creationDate,+ assetSummary_lastUpdateDate,+ assetSummary_status,+ assetSummary_hierarchies,++ -- ** AssociatedAssetsSummary+ associatedAssetsSummary_description,+ associatedAssetsSummary_id,+ associatedAssetsSummary_arn,+ associatedAssetsSummary_name,+ associatedAssetsSummary_assetModelId,+ associatedAssetsSummary_creationDate,+ associatedAssetsSummary_lastUpdateDate,+ associatedAssetsSummary_status,+ associatedAssetsSummary_hierarchies,++ -- ** Attribute+ attribute_defaultValue,++ -- ** BatchGetAssetPropertyAggregatesEntry+ batchGetAssetPropertyAggregatesEntry_assetId,+ batchGetAssetPropertyAggregatesEntry_propertyAlias,+ batchGetAssetPropertyAggregatesEntry_propertyId,+ batchGetAssetPropertyAggregatesEntry_qualities,+ batchGetAssetPropertyAggregatesEntry_timeOrdering,+ batchGetAssetPropertyAggregatesEntry_entryId,+ batchGetAssetPropertyAggregatesEntry_aggregateTypes,+ batchGetAssetPropertyAggregatesEntry_resolution,+ batchGetAssetPropertyAggregatesEntry_startDate,+ batchGetAssetPropertyAggregatesEntry_endDate,++ -- ** BatchGetAssetPropertyAggregatesErrorEntry+ batchGetAssetPropertyAggregatesErrorEntry_errorCode,+ batchGetAssetPropertyAggregatesErrorEntry_errorMessage,+ batchGetAssetPropertyAggregatesErrorEntry_entryId,++ -- ** BatchGetAssetPropertyAggregatesErrorInfo+ batchGetAssetPropertyAggregatesErrorInfo_errorCode,+ batchGetAssetPropertyAggregatesErrorInfo_errorTimestamp,++ -- ** BatchGetAssetPropertyAggregatesSkippedEntry+ batchGetAssetPropertyAggregatesSkippedEntry_errorInfo,+ batchGetAssetPropertyAggregatesSkippedEntry_entryId,+ batchGetAssetPropertyAggregatesSkippedEntry_completionStatus,++ -- ** BatchGetAssetPropertyAggregatesSuccessEntry+ batchGetAssetPropertyAggregatesSuccessEntry_entryId,+ batchGetAssetPropertyAggregatesSuccessEntry_aggregatedValues,++ -- ** BatchGetAssetPropertyValueEntry+ batchGetAssetPropertyValueEntry_assetId,+ batchGetAssetPropertyValueEntry_propertyAlias,+ batchGetAssetPropertyValueEntry_propertyId,+ batchGetAssetPropertyValueEntry_entryId,++ -- ** BatchGetAssetPropertyValueErrorEntry+ batchGetAssetPropertyValueErrorEntry_errorCode,+ batchGetAssetPropertyValueErrorEntry_errorMessage,+ batchGetAssetPropertyValueErrorEntry_entryId,++ -- ** BatchGetAssetPropertyValueErrorInfo+ batchGetAssetPropertyValueErrorInfo_errorCode,+ batchGetAssetPropertyValueErrorInfo_errorTimestamp,++ -- ** BatchGetAssetPropertyValueHistoryEntry+ batchGetAssetPropertyValueHistoryEntry_assetId,+ batchGetAssetPropertyValueHistoryEntry_endDate,+ batchGetAssetPropertyValueHistoryEntry_propertyAlias,+ batchGetAssetPropertyValueHistoryEntry_propertyId,+ batchGetAssetPropertyValueHistoryEntry_qualities,+ batchGetAssetPropertyValueHistoryEntry_startDate,+ batchGetAssetPropertyValueHistoryEntry_timeOrdering,+ batchGetAssetPropertyValueHistoryEntry_entryId,++ -- ** BatchGetAssetPropertyValueHistoryErrorEntry+ batchGetAssetPropertyValueHistoryErrorEntry_errorCode,+ batchGetAssetPropertyValueHistoryErrorEntry_errorMessage,+ batchGetAssetPropertyValueHistoryErrorEntry_entryId,++ -- ** BatchGetAssetPropertyValueHistoryErrorInfo+ batchGetAssetPropertyValueHistoryErrorInfo_errorCode,+ batchGetAssetPropertyValueHistoryErrorInfo_errorTimestamp,++ -- ** BatchGetAssetPropertyValueHistorySkippedEntry+ batchGetAssetPropertyValueHistorySkippedEntry_errorInfo,+ batchGetAssetPropertyValueHistorySkippedEntry_entryId,+ batchGetAssetPropertyValueHistorySkippedEntry_completionStatus,++ -- ** BatchGetAssetPropertyValueHistorySuccessEntry+ batchGetAssetPropertyValueHistorySuccessEntry_entryId,+ batchGetAssetPropertyValueHistorySuccessEntry_assetPropertyValueHistory,++ -- ** BatchGetAssetPropertyValueSkippedEntry+ batchGetAssetPropertyValueSkippedEntry_errorInfo,+ batchGetAssetPropertyValueSkippedEntry_entryId,+ batchGetAssetPropertyValueSkippedEntry_completionStatus,++ -- ** BatchGetAssetPropertyValueSuccessEntry+ batchGetAssetPropertyValueSuccessEntry_assetPropertyValue,+ batchGetAssetPropertyValueSuccessEntry_entryId,++ -- ** BatchPutAssetPropertyError+ batchPutAssetPropertyError_errorCode,+ batchPutAssetPropertyError_errorMessage,+ batchPutAssetPropertyError_timestamps,++ -- ** BatchPutAssetPropertyErrorEntry+ batchPutAssetPropertyErrorEntry_entryId,+ batchPutAssetPropertyErrorEntry_errors,++ -- ** CompositeModelProperty+ compositeModelProperty_id,+ compositeModelProperty_name,+ compositeModelProperty_type,+ compositeModelProperty_assetProperty,++ -- ** ConfigurationErrorDetails+ configurationErrorDetails_code,+ configurationErrorDetails_message,++ -- ** ConfigurationStatus+ configurationStatus_error,+ configurationStatus_state,++ -- ** Csv+ csv_columnNames,++ -- ** CustomerManagedS3Storage+ customerManagedS3Storage_s3ResourceArn,+ customerManagedS3Storage_roleArn,++ -- ** DashboardSummary+ dashboardSummary_creationDate,+ dashboardSummary_description,+ dashboardSummary_lastUpdateDate,+ dashboardSummary_id,+ dashboardSummary_name,++ -- ** DetailedError+ detailedError_code,+ detailedError_message,++ -- ** ErrorDetails+ errorDetails_details,+ errorDetails_code,+ errorDetails_message,++ -- ** ErrorReportLocation+ errorReportLocation_bucket,+ errorReportLocation_prefix,++ -- ** ExpressionVariable+ expressionVariable_name,+ expressionVariable_value,++ -- ** File+ file_versionId,+ file_bucket,+ file_key,++ -- ** FileFormat+ fileFormat_csv,++ -- ** ForwardingConfig+ forwardingConfig_state,++ -- ** GatewayCapabilitySummary+ gatewayCapabilitySummary_capabilityNamespace,+ gatewayCapabilitySummary_capabilitySyncStatus,++ -- ** GatewayPlatform+ gatewayPlatform_greengrass,+ gatewayPlatform_greengrassV2,++ -- ** GatewaySummary+ gatewaySummary_gatewayCapabilitySummaries,+ gatewaySummary_gatewayPlatform,+ gatewaySummary_gatewayId,+ gatewaySummary_gatewayName,+ gatewaySummary_creationDate,+ gatewaySummary_lastUpdateDate,++ -- ** Greengrass+ greengrass_groupArn,++ -- ** GreengrassV2+ greengrassV2_coreDeviceThingName,++ -- ** GroupIdentity+ groupIdentity_id,++ -- ** IAMRoleIdentity+ iAMRoleIdentity_arn,++ -- ** IAMUserIdentity+ iAMUserIdentity_arn,++ -- ** Identity+ identity_group,+ identity_iamRole,+ identity_iamUser,+ identity_user,++ -- ** Image+ image_file,+ image_id,++ -- ** ImageFile+ imageFile_data,+ imageFile_type,++ -- ** ImageLocation+ imageLocation_id,+ imageLocation_url,++ -- ** InterpolatedAssetPropertyValue+ interpolatedAssetPropertyValue_timestamp,+ interpolatedAssetPropertyValue_value,++ -- ** JobConfiguration+ jobConfiguration_fileFormat,++ -- ** JobSummary+ jobSummary_id,+ jobSummary_name,+ jobSummary_status,++ -- ** LoggingOptions+ loggingOptions_level,++ -- ** Measurement+ measurement_processingConfig,++ -- ** MeasurementProcessingConfig+ measurementProcessingConfig_forwardingConfig,++ -- ** Metric+ metric_processingConfig,+ metric_expression,+ metric_variables,+ metric_window,++ -- ** MetricProcessingConfig+ metricProcessingConfig_computeLocation,++ -- ** MetricWindow+ metricWindow_tumbling,++ -- ** MonitorErrorDetails+ monitorErrorDetails_code,+ monitorErrorDetails_message,++ -- ** MultiLayerStorage+ multiLayerStorage_customerManagedS3Storage,++ -- ** PortalResource+ portalResource_id,++ -- ** PortalStatus+ portalStatus_error,+ portalStatus_state,++ -- ** PortalSummary+ portalSummary_creationDate,+ portalSummary_description,+ portalSummary_lastUpdateDate,+ portalSummary_roleArn,+ portalSummary_id,+ portalSummary_name,+ portalSummary_startUrl,+ portalSummary_status,++ -- ** ProjectResource+ projectResource_id,++ -- ** ProjectSummary+ projectSummary_creationDate,+ projectSummary_description,+ projectSummary_lastUpdateDate,+ projectSummary_id,+ projectSummary_name,++ -- ** Property+ property_alias,+ property_notification,+ property_type,+ property_unit,+ property_id,+ property_name,+ property_dataType,++ -- ** PropertyNotification+ propertyNotification_topic,+ propertyNotification_state,++ -- ** PropertyType+ propertyType_attribute,+ propertyType_measurement,+ propertyType_metric,+ propertyType_transform,++ -- ** PutAssetPropertyValueEntry+ putAssetPropertyValueEntry_assetId,+ putAssetPropertyValueEntry_propertyAlias,+ putAssetPropertyValueEntry_propertyId,+ putAssetPropertyValueEntry_entryId,+ putAssetPropertyValueEntry_propertyValues,++ -- ** Resource+ resource_portal,+ resource_project,++ -- ** RetentionPeriod+ retentionPeriod_numberOfDays,+ retentionPeriod_unlimited,++ -- ** TimeInNanos+ timeInNanos_offsetInNanos,+ timeInNanos_timeInSeconds,++ -- ** TimeSeriesSummary+ timeSeriesSummary_alias,+ timeSeriesSummary_assetId,+ timeSeriesSummary_dataTypeSpec,+ timeSeriesSummary_propertyId,+ timeSeriesSummary_timeSeriesId,+ timeSeriesSummary_dataType,+ timeSeriesSummary_timeSeriesCreationDate,+ timeSeriesSummary_timeSeriesLastUpdateDate,++ -- ** Transform+ transform_processingConfig,+ transform_expression,+ transform_variables,++ -- ** TransformProcessingConfig+ transformProcessingConfig_forwardingConfig,+ transformProcessingConfig_computeLocation,++ -- ** TumblingWindow+ tumblingWindow_offset,+ tumblingWindow_interval,++ -- ** UserIdentity+ userIdentity_id,++ -- ** VariableValue+ variableValue_hierarchyId,+ variableValue_propertyId,++ -- ** Variant+ variant_booleanValue,+ variant_doubleValue,+ variant_integerValue,+ variant_stringValue,+ )+where++import Amazonka.IoTSiteWise.AssociateAssets+import Amazonka.IoTSiteWise.AssociateTimeSeriesToAssetProperty+import Amazonka.IoTSiteWise.BatchAssociateProjectAssets+import Amazonka.IoTSiteWise.BatchDisassociateProjectAssets+import Amazonka.IoTSiteWise.BatchGetAssetPropertyAggregates+import Amazonka.IoTSiteWise.BatchGetAssetPropertyValue+import Amazonka.IoTSiteWise.BatchGetAssetPropertyValueHistory+import Amazonka.IoTSiteWise.BatchPutAssetPropertyValue+import Amazonka.IoTSiteWise.CreateAccessPolicy+import Amazonka.IoTSiteWise.CreateAsset+import Amazonka.IoTSiteWise.CreateAssetModel+import Amazonka.IoTSiteWise.CreateBulkImportJob+import Amazonka.IoTSiteWise.CreateDashboard+import Amazonka.IoTSiteWise.CreateGateway+import Amazonka.IoTSiteWise.CreatePortal+import Amazonka.IoTSiteWise.CreateProject+import Amazonka.IoTSiteWise.DeleteAccessPolicy+import Amazonka.IoTSiteWise.DeleteAsset+import Amazonka.IoTSiteWise.DeleteAssetModel+import Amazonka.IoTSiteWise.DeleteDashboard+import Amazonka.IoTSiteWise.DeleteGateway+import Amazonka.IoTSiteWise.DeletePortal+import Amazonka.IoTSiteWise.DeleteProject+import Amazonka.IoTSiteWise.DeleteTimeSeries+import Amazonka.IoTSiteWise.DescribeAccessPolicy+import Amazonka.IoTSiteWise.DescribeAsset+import Amazonka.IoTSiteWise.DescribeAssetModel+import Amazonka.IoTSiteWise.DescribeAssetProperty+import Amazonka.IoTSiteWise.DescribeBulkImportJob+import Amazonka.IoTSiteWise.DescribeDashboard+import Amazonka.IoTSiteWise.DescribeDefaultEncryptionConfiguration+import Amazonka.IoTSiteWise.DescribeGateway+import Amazonka.IoTSiteWise.DescribeGatewayCapabilityConfiguration+import Amazonka.IoTSiteWise.DescribeLoggingOptions+import Amazonka.IoTSiteWise.DescribePortal+import Amazonka.IoTSiteWise.DescribeProject+import Amazonka.IoTSiteWise.DescribeStorageConfiguration+import Amazonka.IoTSiteWise.DescribeTimeSeries+import Amazonka.IoTSiteWise.DisassociateAssets+import Amazonka.IoTSiteWise.DisassociateTimeSeriesFromAssetProperty+import Amazonka.IoTSiteWise.GetAssetPropertyAggregates+import Amazonka.IoTSiteWise.GetAssetPropertyValue+import Amazonka.IoTSiteWise.GetAssetPropertyValueHistory+import Amazonka.IoTSiteWise.GetInterpolatedAssetPropertyValues+import Amazonka.IoTSiteWise.ListAccessPolicies+import Amazonka.IoTSiteWise.ListAssetModelProperties+import Amazonka.IoTSiteWise.ListAssetModels+import Amazonka.IoTSiteWise.ListAssetProperties+import Amazonka.IoTSiteWise.ListAssetRelationships+import Amazonka.IoTSiteWise.ListAssets+import Amazonka.IoTSiteWise.ListAssociatedAssets+import Amazonka.IoTSiteWise.ListBulkImportJobs+import Amazonka.IoTSiteWise.ListDashboards+import Amazonka.IoTSiteWise.ListGateways+import Amazonka.IoTSiteWise.ListPortals+import Amazonka.IoTSiteWise.ListProjectAssets+import Amazonka.IoTSiteWise.ListProjects+import Amazonka.IoTSiteWise.ListTagsForResource+import Amazonka.IoTSiteWise.ListTimeSeries+import Amazonka.IoTSiteWise.PutDefaultEncryptionConfiguration+import Amazonka.IoTSiteWise.PutLoggingOptions+import Amazonka.IoTSiteWise.PutStorageConfiguration+import Amazonka.IoTSiteWise.TagResource+import Amazonka.IoTSiteWise.Types.AccessPolicySummary+import Amazonka.IoTSiteWise.Types.AggregatedValue+import Amazonka.IoTSiteWise.Types.Aggregates+import Amazonka.IoTSiteWise.Types.Alarms+import Amazonka.IoTSiteWise.Types.AssetCompositeModel+import Amazonka.IoTSiteWise.Types.AssetErrorDetails+import Amazonka.IoTSiteWise.Types.AssetHierarchy+import Amazonka.IoTSiteWise.Types.AssetHierarchyInfo+import Amazonka.IoTSiteWise.Types.AssetModelCompositeModel+import Amazonka.IoTSiteWise.Types.AssetModelCompositeModelDefinition+import Amazonka.IoTSiteWise.Types.AssetModelHierarchy+import Amazonka.IoTSiteWise.Types.AssetModelHierarchyDefinition+import Amazonka.IoTSiteWise.Types.AssetModelProperty+import Amazonka.IoTSiteWise.Types.AssetModelPropertyDefinition+import Amazonka.IoTSiteWise.Types.AssetModelPropertySummary+import Amazonka.IoTSiteWise.Types.AssetModelStatus+import Amazonka.IoTSiteWise.Types.AssetModelSummary+import Amazonka.IoTSiteWise.Types.AssetProperty+import Amazonka.IoTSiteWise.Types.AssetPropertySummary+import Amazonka.IoTSiteWise.Types.AssetPropertyValue+import Amazonka.IoTSiteWise.Types.AssetRelationshipSummary+import Amazonka.IoTSiteWise.Types.AssetStatus+import Amazonka.IoTSiteWise.Types.AssetSummary+import Amazonka.IoTSiteWise.Types.AssociatedAssetsSummary+import Amazonka.IoTSiteWise.Types.Attribute+import Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyAggregatesEntry+import Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyAggregatesErrorEntry+import Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyAggregatesErrorInfo+import Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyAggregatesSkippedEntry+import Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyAggregatesSuccessEntry+import Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueEntry+import Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueErrorEntry+import Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueErrorInfo+import Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueHistoryEntry+import Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueHistoryErrorEntry+import Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueHistoryErrorInfo+import Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueHistorySkippedEntry+import Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueHistorySuccessEntry+import Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueSkippedEntry+import Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueSuccessEntry+import Amazonka.IoTSiteWise.Types.BatchPutAssetPropertyError+import Amazonka.IoTSiteWise.Types.BatchPutAssetPropertyErrorEntry+import Amazonka.IoTSiteWise.Types.CompositeModelProperty+import Amazonka.IoTSiteWise.Types.ConfigurationErrorDetails+import Amazonka.IoTSiteWise.Types.ConfigurationStatus+import Amazonka.IoTSiteWise.Types.Csv+import Amazonka.IoTSiteWise.Types.CustomerManagedS3Storage+import Amazonka.IoTSiteWise.Types.DashboardSummary+import Amazonka.IoTSiteWise.Types.DetailedError+import Amazonka.IoTSiteWise.Types.ErrorDetails+import Amazonka.IoTSiteWise.Types.ErrorReportLocation+import Amazonka.IoTSiteWise.Types.ExpressionVariable+import Amazonka.IoTSiteWise.Types.File+import Amazonka.IoTSiteWise.Types.FileFormat+import Amazonka.IoTSiteWise.Types.ForwardingConfig+import Amazonka.IoTSiteWise.Types.GatewayCapabilitySummary+import Amazonka.IoTSiteWise.Types.GatewayPlatform+import Amazonka.IoTSiteWise.Types.GatewaySummary+import Amazonka.IoTSiteWise.Types.Greengrass+import Amazonka.IoTSiteWise.Types.GreengrassV2+import Amazonka.IoTSiteWise.Types.GroupIdentity+import Amazonka.IoTSiteWise.Types.IAMRoleIdentity+import Amazonka.IoTSiteWise.Types.IAMUserIdentity+import Amazonka.IoTSiteWise.Types.Identity+import Amazonka.IoTSiteWise.Types.Image+import Amazonka.IoTSiteWise.Types.ImageFile+import Amazonka.IoTSiteWise.Types.ImageLocation+import Amazonka.IoTSiteWise.Types.InterpolatedAssetPropertyValue+import Amazonka.IoTSiteWise.Types.JobConfiguration+import Amazonka.IoTSiteWise.Types.JobSummary+import Amazonka.IoTSiteWise.Types.LoggingOptions+import Amazonka.IoTSiteWise.Types.Measurement+import Amazonka.IoTSiteWise.Types.MeasurementProcessingConfig+import Amazonka.IoTSiteWise.Types.Metric+import Amazonka.IoTSiteWise.Types.MetricProcessingConfig+import Amazonka.IoTSiteWise.Types.MetricWindow+import Amazonka.IoTSiteWise.Types.MonitorErrorDetails+import Amazonka.IoTSiteWise.Types.MultiLayerStorage+import Amazonka.IoTSiteWise.Types.PortalResource+import Amazonka.IoTSiteWise.Types.PortalStatus+import Amazonka.IoTSiteWise.Types.PortalSummary+import Amazonka.IoTSiteWise.Types.ProjectResource+import Amazonka.IoTSiteWise.Types.ProjectSummary+import Amazonka.IoTSiteWise.Types.Property+import Amazonka.IoTSiteWise.Types.PropertyNotification+import Amazonka.IoTSiteWise.Types.PropertyType+import Amazonka.IoTSiteWise.Types.PutAssetPropertyValueEntry+import Amazonka.IoTSiteWise.Types.Resource+import Amazonka.IoTSiteWise.Types.RetentionPeriod+import Amazonka.IoTSiteWise.Types.TimeInNanos+import Amazonka.IoTSiteWise.Types.TimeSeriesSummary+import Amazonka.IoTSiteWise.Types.Transform+import Amazonka.IoTSiteWise.Types.TransformProcessingConfig+import Amazonka.IoTSiteWise.Types.TumblingWindow+import Amazonka.IoTSiteWise.Types.UserIdentity+import Amazonka.IoTSiteWise.Types.VariableValue+import Amazonka.IoTSiteWise.Types.Variant+import Amazonka.IoTSiteWise.UntagResource+import Amazonka.IoTSiteWise.UpdateAccessPolicy+import Amazonka.IoTSiteWise.UpdateAsset+import Amazonka.IoTSiteWise.UpdateAssetModel+import Amazonka.IoTSiteWise.UpdateAssetProperty+import Amazonka.IoTSiteWise.UpdateDashboard+import Amazonka.IoTSiteWise.UpdateGateway+import Amazonka.IoTSiteWise.UpdateGatewayCapabilityConfiguration+import Amazonka.IoTSiteWise.UpdatePortal+import Amazonka.IoTSiteWise.UpdateProject
+ gen/Amazonka/IoTSiteWise/ListAccessPolicies.hs view
@@ -0,0 +1,313 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.ListAccessPolicies+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- 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).+--+-- This operation returns paginated results.+module Amazonka.IoTSiteWise.ListAccessPolicies+ ( -- * Creating a Request+ ListAccessPolicies (..),+ newListAccessPolicies,++ -- * Request Lenses+ listAccessPolicies_iamArn,+ listAccessPolicies_identityId,+ listAccessPolicies_identityType,+ listAccessPolicies_maxResults,+ listAccessPolicies_nextToken,+ listAccessPolicies_resourceId,+ listAccessPolicies_resourceType,++ -- * Destructuring the Response+ ListAccessPoliciesResponse (..),+ newListAccessPoliciesResponse,++ -- * Response Lenses+ listAccessPoliciesResponse_nextToken,+ listAccessPoliciesResponse_httpStatus,+ listAccessPoliciesResponse_accessPolicySummaries,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListAccessPolicies' smart constructor.+data ListAccessPolicies = ListAccessPolicies'+ { -- | The ARN of the IAM user. For more information, see+ -- <https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html IAM ARNs>+ -- in the /IAM User Guide/. This parameter is required if you specify @IAM@+ -- for @identityType@.+ iamArn :: Prelude.Maybe Prelude.Text,+ -- | The ID of the identity. This parameter is required if you specify @USER@+ -- or @GROUP@ for @identityType@.+ identityId :: Prelude.Maybe Prelude.Text,+ -- | The type of identity (IAM Identity Center user, IAM Identity Center+ -- group, or IAM user). This parameter is required if you specify+ -- @identityId@.+ identityType :: Prelude.Maybe IdentityType,+ -- | The maximum number of results to return for each paginated request.+ --+ -- Default: 50+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The token to be used for the next set of paginated results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The ID of the resource. This parameter is required if you specify+ -- @resourceType@.+ resourceId :: Prelude.Maybe Prelude.Text,+ -- | The type of resource (portal or project). This parameter is required if+ -- you specify @resourceId@.+ resourceType :: Prelude.Maybe ResourceType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAccessPolicies' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'iamArn', 'listAccessPolicies_iamArn' - The ARN of the IAM user. For more information, see+-- <https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html IAM ARNs>+-- in the /IAM User Guide/. This parameter is required if you specify @IAM@+-- for @identityType@.+--+-- 'identityId', 'listAccessPolicies_identityId' - The ID of the identity. This parameter is required if you specify @USER@+-- or @GROUP@ for @identityType@.+--+-- 'identityType', 'listAccessPolicies_identityType' - The type of identity (IAM Identity Center user, IAM Identity Center+-- group, or IAM user). This parameter is required if you specify+-- @identityId@.+--+-- 'maxResults', 'listAccessPolicies_maxResults' - The maximum number of results to return for each paginated request.+--+-- Default: 50+--+-- 'nextToken', 'listAccessPolicies_nextToken' - The token to be used for the next set of paginated results.+--+-- 'resourceId', 'listAccessPolicies_resourceId' - The ID of the resource. This parameter is required if you specify+-- @resourceType@.+--+-- 'resourceType', 'listAccessPolicies_resourceType' - The type of resource (portal or project). This parameter is required if+-- you specify @resourceId@.+newListAccessPolicies ::+ ListAccessPolicies+newListAccessPolicies =+ ListAccessPolicies'+ { iamArn = Prelude.Nothing,+ identityId = Prelude.Nothing,+ identityType = Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ resourceId = Prelude.Nothing,+ resourceType = Prelude.Nothing+ }++-- | The ARN of the IAM user. For more information, see+-- <https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html IAM ARNs>+-- in the /IAM User Guide/. This parameter is required if you specify @IAM@+-- for @identityType@.+listAccessPolicies_iamArn :: Lens.Lens' ListAccessPolicies (Prelude.Maybe Prelude.Text)+listAccessPolicies_iamArn = Lens.lens (\ListAccessPolicies' {iamArn} -> iamArn) (\s@ListAccessPolicies' {} a -> s {iamArn = a} :: ListAccessPolicies)++-- | The ID of the identity. This parameter is required if you specify @USER@+-- or @GROUP@ for @identityType@.+listAccessPolicies_identityId :: Lens.Lens' ListAccessPolicies (Prelude.Maybe Prelude.Text)+listAccessPolicies_identityId = Lens.lens (\ListAccessPolicies' {identityId} -> identityId) (\s@ListAccessPolicies' {} a -> s {identityId = a} :: ListAccessPolicies)++-- | The type of identity (IAM Identity Center user, IAM Identity Center+-- group, or IAM user). This parameter is required if you specify+-- @identityId@.+listAccessPolicies_identityType :: Lens.Lens' ListAccessPolicies (Prelude.Maybe IdentityType)+listAccessPolicies_identityType = Lens.lens (\ListAccessPolicies' {identityType} -> identityType) (\s@ListAccessPolicies' {} a -> s {identityType = a} :: ListAccessPolicies)++-- | The maximum number of results to return for each paginated request.+--+-- Default: 50+listAccessPolicies_maxResults :: Lens.Lens' ListAccessPolicies (Prelude.Maybe Prelude.Natural)+listAccessPolicies_maxResults = Lens.lens (\ListAccessPolicies' {maxResults} -> maxResults) (\s@ListAccessPolicies' {} a -> s {maxResults = a} :: ListAccessPolicies)++-- | The token to be used for the next set of paginated results.+listAccessPolicies_nextToken :: Lens.Lens' ListAccessPolicies (Prelude.Maybe Prelude.Text)+listAccessPolicies_nextToken = Lens.lens (\ListAccessPolicies' {nextToken} -> nextToken) (\s@ListAccessPolicies' {} a -> s {nextToken = a} :: ListAccessPolicies)++-- | The ID of the resource. This parameter is required if you specify+-- @resourceType@.+listAccessPolicies_resourceId :: Lens.Lens' ListAccessPolicies (Prelude.Maybe Prelude.Text)+listAccessPolicies_resourceId = Lens.lens (\ListAccessPolicies' {resourceId} -> resourceId) (\s@ListAccessPolicies' {} a -> s {resourceId = a} :: ListAccessPolicies)++-- | The type of resource (portal or project). This parameter is required if+-- you specify @resourceId@.+listAccessPolicies_resourceType :: Lens.Lens' ListAccessPolicies (Prelude.Maybe ResourceType)+listAccessPolicies_resourceType = Lens.lens (\ListAccessPolicies' {resourceType} -> resourceType) (\s@ListAccessPolicies' {} a -> s {resourceType = a} :: ListAccessPolicies)++instance Core.AWSPager ListAccessPolicies where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listAccessPoliciesResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^. listAccessPoliciesResponse_accessPolicySummaries+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listAccessPolicies_nextToken+ Lens..~ rs+ Lens.^? listAccessPoliciesResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListAccessPolicies where+ type+ AWSResponse ListAccessPolicies =+ ListAccessPoliciesResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListAccessPoliciesResponse'+ Prelude.<$> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> ( x+ Data..?> "accessPolicySummaries"+ Core..!@ Prelude.mempty+ )+ )++instance Prelude.Hashable ListAccessPolicies where+ hashWithSalt _salt ListAccessPolicies' {..} =+ _salt+ `Prelude.hashWithSalt` iamArn+ `Prelude.hashWithSalt` identityId+ `Prelude.hashWithSalt` identityType+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` resourceId+ `Prelude.hashWithSalt` resourceType++instance Prelude.NFData ListAccessPolicies where+ rnf ListAccessPolicies' {..} =+ Prelude.rnf iamArn+ `Prelude.seq` Prelude.rnf identityId+ `Prelude.seq` Prelude.rnf identityType+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf resourceId+ `Prelude.seq` Prelude.rnf resourceType++instance Data.ToHeaders ListAccessPolicies where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListAccessPolicies where+ toPath = Prelude.const "/access-policies"++instance Data.ToQuery ListAccessPolicies where+ toQuery ListAccessPolicies' {..} =+ Prelude.mconcat+ [ "iamArn" Data.=: iamArn,+ "identityId" Data.=: identityId,+ "identityType" Data.=: identityType,+ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken,+ "resourceId" Data.=: resourceId,+ "resourceType" Data.=: resourceType+ ]++-- | /See:/ 'newListAccessPoliciesResponse' smart constructor.+data ListAccessPoliciesResponse = ListAccessPoliciesResponse'+ { -- | The token for the next set of results, or null if there are no+ -- additional results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | A list that summarizes each access policy.+ accessPolicySummaries :: [AccessPolicySummary]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAccessPoliciesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listAccessPoliciesResponse_nextToken' - The token for the next set of results, or null if there are no+-- additional results.+--+-- 'httpStatus', 'listAccessPoliciesResponse_httpStatus' - The response's http status code.+--+-- 'accessPolicySummaries', 'listAccessPoliciesResponse_accessPolicySummaries' - A list that summarizes each access policy.+newListAccessPoliciesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListAccessPoliciesResponse+newListAccessPoliciesResponse pHttpStatus_ =+ ListAccessPoliciesResponse'+ { nextToken =+ Prelude.Nothing,+ httpStatus = pHttpStatus_,+ accessPolicySummaries = Prelude.mempty+ }++-- | The token for the next set of results, or null if there are no+-- additional results.+listAccessPoliciesResponse_nextToken :: Lens.Lens' ListAccessPoliciesResponse (Prelude.Maybe Prelude.Text)+listAccessPoliciesResponse_nextToken = Lens.lens (\ListAccessPoliciesResponse' {nextToken} -> nextToken) (\s@ListAccessPoliciesResponse' {} a -> s {nextToken = a} :: ListAccessPoliciesResponse)++-- | The response's http status code.+listAccessPoliciesResponse_httpStatus :: Lens.Lens' ListAccessPoliciesResponse Prelude.Int+listAccessPoliciesResponse_httpStatus = Lens.lens (\ListAccessPoliciesResponse' {httpStatus} -> httpStatus) (\s@ListAccessPoliciesResponse' {} a -> s {httpStatus = a} :: ListAccessPoliciesResponse)++-- | A list that summarizes each access policy.+listAccessPoliciesResponse_accessPolicySummaries :: Lens.Lens' ListAccessPoliciesResponse [AccessPolicySummary]+listAccessPoliciesResponse_accessPolicySummaries = Lens.lens (\ListAccessPoliciesResponse' {accessPolicySummaries} -> accessPolicySummaries) (\s@ListAccessPoliciesResponse' {} a -> s {accessPolicySummaries = a} :: ListAccessPoliciesResponse) Prelude.. Lens.coerced++instance Prelude.NFData ListAccessPoliciesResponse where+ rnf ListAccessPoliciesResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf accessPolicySummaries
+ gen/Amazonka/IoTSiteWise/ListAssetModelProperties.hs view
@@ -0,0 +1,288 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.ListAssetModelProperties+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- 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.+--+-- This operation returns paginated results.+module Amazonka.IoTSiteWise.ListAssetModelProperties+ ( -- * Creating a Request+ ListAssetModelProperties (..),+ newListAssetModelProperties,++ -- * Request Lenses+ listAssetModelProperties_filter,+ listAssetModelProperties_maxResults,+ listAssetModelProperties_nextToken,+ listAssetModelProperties_assetModelId,++ -- * Destructuring the Response+ ListAssetModelPropertiesResponse (..),+ newListAssetModelPropertiesResponse,++ -- * Response Lenses+ listAssetModelPropertiesResponse_nextToken,+ listAssetModelPropertiesResponse_httpStatus,+ listAssetModelPropertiesResponse_assetModelPropertySummaries,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListAssetModelProperties' smart constructor.+data ListAssetModelProperties = ListAssetModelProperties'+ { -- | 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@+ filter' :: Prelude.Maybe ListAssetModelPropertiesFilter,+ -- | The maximum number of results to return for each paginated request. If+ -- not specified, the default value is 50.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The token to be used for the next set of paginated results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The ID of the asset model.+ assetModelId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAssetModelProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'filter'', 'listAssetModelProperties_filter' - 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@+--+-- 'maxResults', 'listAssetModelProperties_maxResults' - The maximum number of results to return for each paginated request. If+-- not specified, the default value is 50.+--+-- 'nextToken', 'listAssetModelProperties_nextToken' - The token to be used for the next set of paginated results.+--+-- 'assetModelId', 'listAssetModelProperties_assetModelId' - The ID of the asset model.+newListAssetModelProperties ::+ -- | 'assetModelId'+ Prelude.Text ->+ ListAssetModelProperties+newListAssetModelProperties pAssetModelId_ =+ ListAssetModelProperties'+ { filter' =+ Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ assetModelId = pAssetModelId_+ }++-- | 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@+listAssetModelProperties_filter :: Lens.Lens' ListAssetModelProperties (Prelude.Maybe ListAssetModelPropertiesFilter)+listAssetModelProperties_filter = Lens.lens (\ListAssetModelProperties' {filter'} -> filter') (\s@ListAssetModelProperties' {} a -> s {filter' = a} :: ListAssetModelProperties)++-- | The maximum number of results to return for each paginated request. If+-- not specified, the default value is 50.+listAssetModelProperties_maxResults :: Lens.Lens' ListAssetModelProperties (Prelude.Maybe Prelude.Natural)+listAssetModelProperties_maxResults = Lens.lens (\ListAssetModelProperties' {maxResults} -> maxResults) (\s@ListAssetModelProperties' {} a -> s {maxResults = a} :: ListAssetModelProperties)++-- | The token to be used for the next set of paginated results.+listAssetModelProperties_nextToken :: Lens.Lens' ListAssetModelProperties (Prelude.Maybe Prelude.Text)+listAssetModelProperties_nextToken = Lens.lens (\ListAssetModelProperties' {nextToken} -> nextToken) (\s@ListAssetModelProperties' {} a -> s {nextToken = a} :: ListAssetModelProperties)++-- | The ID of the asset model.+listAssetModelProperties_assetModelId :: Lens.Lens' ListAssetModelProperties Prelude.Text+listAssetModelProperties_assetModelId = Lens.lens (\ListAssetModelProperties' {assetModelId} -> assetModelId) (\s@ListAssetModelProperties' {} a -> s {assetModelId = a} :: ListAssetModelProperties)++instance Core.AWSPager ListAssetModelProperties where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listAssetModelPropertiesResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^. listAssetModelPropertiesResponse_assetModelPropertySummaries+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listAssetModelProperties_nextToken+ Lens..~ rs+ Lens.^? listAssetModelPropertiesResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListAssetModelProperties where+ type+ AWSResponse ListAssetModelProperties =+ ListAssetModelPropertiesResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListAssetModelPropertiesResponse'+ Prelude.<$> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> ( x+ Data..?> "assetModelPropertySummaries"+ Core..!@ Prelude.mempty+ )+ )++instance Prelude.Hashable ListAssetModelProperties where+ hashWithSalt _salt ListAssetModelProperties' {..} =+ _salt+ `Prelude.hashWithSalt` filter'+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` assetModelId++instance Prelude.NFData ListAssetModelProperties where+ rnf ListAssetModelProperties' {..} =+ Prelude.rnf filter'+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf assetModelId++instance Data.ToHeaders ListAssetModelProperties where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListAssetModelProperties where+ toPath ListAssetModelProperties' {..} =+ Prelude.mconcat+ [ "/asset-models/",+ Data.toBS assetModelId,+ "/properties"+ ]++instance Data.ToQuery ListAssetModelProperties where+ toQuery ListAssetModelProperties' {..} =+ Prelude.mconcat+ [ "filter" Data.=: filter',+ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken+ ]++-- | /See:/ 'newListAssetModelPropertiesResponse' smart constructor.+data ListAssetModelPropertiesResponse = ListAssetModelPropertiesResponse'+ { -- | The token for the next set of results, or null if there are no+ -- additional results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | A list that summarizes the properties associated with the specified+ -- asset model.+ assetModelPropertySummaries :: [AssetModelPropertySummary]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAssetModelPropertiesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listAssetModelPropertiesResponse_nextToken' - The token for the next set of results, or null if there are no+-- additional results.+--+-- 'httpStatus', 'listAssetModelPropertiesResponse_httpStatus' - The response's http status code.+--+-- 'assetModelPropertySummaries', 'listAssetModelPropertiesResponse_assetModelPropertySummaries' - A list that summarizes the properties associated with the specified+-- asset model.+newListAssetModelPropertiesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListAssetModelPropertiesResponse+newListAssetModelPropertiesResponse pHttpStatus_ =+ ListAssetModelPropertiesResponse'+ { nextToken =+ Prelude.Nothing,+ httpStatus = pHttpStatus_,+ assetModelPropertySummaries =+ Prelude.mempty+ }++-- | The token for the next set of results, or null if there are no+-- additional results.+listAssetModelPropertiesResponse_nextToken :: Lens.Lens' ListAssetModelPropertiesResponse (Prelude.Maybe Prelude.Text)+listAssetModelPropertiesResponse_nextToken = Lens.lens (\ListAssetModelPropertiesResponse' {nextToken} -> nextToken) (\s@ListAssetModelPropertiesResponse' {} a -> s {nextToken = a} :: ListAssetModelPropertiesResponse)++-- | The response's http status code.+listAssetModelPropertiesResponse_httpStatus :: Lens.Lens' ListAssetModelPropertiesResponse Prelude.Int+listAssetModelPropertiesResponse_httpStatus = Lens.lens (\ListAssetModelPropertiesResponse' {httpStatus} -> httpStatus) (\s@ListAssetModelPropertiesResponse' {} a -> s {httpStatus = a} :: ListAssetModelPropertiesResponse)++-- | A list that summarizes the properties associated with the specified+-- asset model.+listAssetModelPropertiesResponse_assetModelPropertySummaries :: Lens.Lens' ListAssetModelPropertiesResponse [AssetModelPropertySummary]+listAssetModelPropertiesResponse_assetModelPropertySummaries = Lens.lens (\ListAssetModelPropertiesResponse' {assetModelPropertySummaries} -> assetModelPropertySummaries) (\s@ListAssetModelPropertiesResponse' {} a -> s {assetModelPropertySummaries = a} :: ListAssetModelPropertiesResponse) Prelude.. Lens.coerced++instance+ Prelude.NFData+ ListAssetModelPropertiesResponse+ where+ rnf ListAssetModelPropertiesResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf assetModelPropertySummaries
+ gen/Amazonka/IoTSiteWise/ListAssetModels.hs view
@@ -0,0 +1,222 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.ListAssetModels+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves a paginated list of summaries of all asset models.+--+-- This operation returns paginated results.+module Amazonka.IoTSiteWise.ListAssetModels+ ( -- * Creating a Request+ ListAssetModels (..),+ newListAssetModels,++ -- * Request Lenses+ listAssetModels_maxResults,+ listAssetModels_nextToken,++ -- * Destructuring the Response+ ListAssetModelsResponse (..),+ newListAssetModelsResponse,++ -- * Response Lenses+ listAssetModelsResponse_nextToken,+ listAssetModelsResponse_httpStatus,+ listAssetModelsResponse_assetModelSummaries,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListAssetModels' smart constructor.+data ListAssetModels = ListAssetModels'+ { -- | The maximum number of results to return for each paginated request.+ --+ -- Default: 50+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The token to be used for the next set of paginated results.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAssetModels' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listAssetModels_maxResults' - The maximum number of results to return for each paginated request.+--+-- Default: 50+--+-- 'nextToken', 'listAssetModels_nextToken' - The token to be used for the next set of paginated results.+newListAssetModels ::+ ListAssetModels+newListAssetModels =+ ListAssetModels'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | The maximum number of results to return for each paginated request.+--+-- Default: 50+listAssetModels_maxResults :: Lens.Lens' ListAssetModels (Prelude.Maybe Prelude.Natural)+listAssetModels_maxResults = Lens.lens (\ListAssetModels' {maxResults} -> maxResults) (\s@ListAssetModels' {} a -> s {maxResults = a} :: ListAssetModels)++-- | The token to be used for the next set of paginated results.+listAssetModels_nextToken :: Lens.Lens' ListAssetModels (Prelude.Maybe Prelude.Text)+listAssetModels_nextToken = Lens.lens (\ListAssetModels' {nextToken} -> nextToken) (\s@ListAssetModels' {} a -> s {nextToken = a} :: ListAssetModels)++instance Core.AWSPager ListAssetModels where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listAssetModelsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^. listAssetModelsResponse_assetModelSummaries+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listAssetModels_nextToken+ Lens..~ rs+ Lens.^? listAssetModelsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListAssetModels where+ type+ AWSResponse ListAssetModels =+ ListAssetModelsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListAssetModelsResponse'+ Prelude.<$> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> ( x+ Data..?> "assetModelSummaries"+ Core..!@ Prelude.mempty+ )+ )++instance Prelude.Hashable ListAssetModels where+ hashWithSalt _salt ListAssetModels' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListAssetModels where+ rnf ListAssetModels' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListAssetModels where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListAssetModels where+ toPath = Prelude.const "/asset-models"++instance Data.ToQuery ListAssetModels where+ toQuery ListAssetModels' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken+ ]++-- | /See:/ 'newListAssetModelsResponse' smart constructor.+data ListAssetModelsResponse = ListAssetModelsResponse'+ { -- | The token for the next set of results, or null if there are no+ -- additional results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | A list that summarizes each asset model.+ assetModelSummaries :: [AssetModelSummary]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAssetModelsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listAssetModelsResponse_nextToken' - The token for the next set of results, or null if there are no+-- additional results.+--+-- 'httpStatus', 'listAssetModelsResponse_httpStatus' - The response's http status code.+--+-- 'assetModelSummaries', 'listAssetModelsResponse_assetModelSummaries' - A list that summarizes each asset model.+newListAssetModelsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListAssetModelsResponse+newListAssetModelsResponse pHttpStatus_ =+ ListAssetModelsResponse'+ { nextToken =+ Prelude.Nothing,+ httpStatus = pHttpStatus_,+ assetModelSummaries = Prelude.mempty+ }++-- | The token for the next set of results, or null if there are no+-- additional results.+listAssetModelsResponse_nextToken :: Lens.Lens' ListAssetModelsResponse (Prelude.Maybe Prelude.Text)+listAssetModelsResponse_nextToken = Lens.lens (\ListAssetModelsResponse' {nextToken} -> nextToken) (\s@ListAssetModelsResponse' {} a -> s {nextToken = a} :: ListAssetModelsResponse)++-- | The response's http status code.+listAssetModelsResponse_httpStatus :: Lens.Lens' ListAssetModelsResponse Prelude.Int+listAssetModelsResponse_httpStatus = Lens.lens (\ListAssetModelsResponse' {httpStatus} -> httpStatus) (\s@ListAssetModelsResponse' {} a -> s {httpStatus = a} :: ListAssetModelsResponse)++-- | A list that summarizes each asset model.+listAssetModelsResponse_assetModelSummaries :: Lens.Lens' ListAssetModelsResponse [AssetModelSummary]+listAssetModelsResponse_assetModelSummaries = Lens.lens (\ListAssetModelsResponse' {assetModelSummaries} -> assetModelSummaries) (\s@ListAssetModelsResponse' {} a -> s {assetModelSummaries = a} :: ListAssetModelsResponse) Prelude.. Lens.coerced++instance Prelude.NFData ListAssetModelsResponse where+ rnf ListAssetModelsResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf assetModelSummaries
+ gen/Amazonka/IoTSiteWise/ListAssetProperties.hs view
@@ -0,0 +1,280 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.ListAssetProperties+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- 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.+--+-- This operation returns paginated results.+module Amazonka.IoTSiteWise.ListAssetProperties+ ( -- * Creating a Request+ ListAssetProperties (..),+ newListAssetProperties,++ -- * Request Lenses+ listAssetProperties_filter,+ listAssetProperties_maxResults,+ listAssetProperties_nextToken,+ listAssetProperties_assetId,++ -- * Destructuring the Response+ ListAssetPropertiesResponse (..),+ newListAssetPropertiesResponse,++ -- * Response Lenses+ listAssetPropertiesResponse_nextToken,+ listAssetPropertiesResponse_httpStatus,+ listAssetPropertiesResponse_assetPropertySummaries,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListAssetProperties' smart constructor.+data ListAssetProperties = ListAssetProperties'+ { -- | 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@+ filter' :: Prelude.Maybe ListAssetPropertiesFilter,+ -- | The maximum number of results to return for each paginated request. If+ -- not specified, the default value is 50.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The token to be used for the next set of paginated results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The ID of the asset.+ assetId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAssetProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'filter'', 'listAssetProperties_filter' - 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@+--+-- 'maxResults', 'listAssetProperties_maxResults' - The maximum number of results to return for each paginated request. If+-- not specified, the default value is 50.+--+-- 'nextToken', 'listAssetProperties_nextToken' - The token to be used for the next set of paginated results.+--+-- 'assetId', 'listAssetProperties_assetId' - The ID of the asset.+newListAssetProperties ::+ -- | 'assetId'+ Prelude.Text ->+ ListAssetProperties+newListAssetProperties pAssetId_ =+ ListAssetProperties'+ { filter' = Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ assetId = pAssetId_+ }++-- | 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@+listAssetProperties_filter :: Lens.Lens' ListAssetProperties (Prelude.Maybe ListAssetPropertiesFilter)+listAssetProperties_filter = Lens.lens (\ListAssetProperties' {filter'} -> filter') (\s@ListAssetProperties' {} a -> s {filter' = a} :: ListAssetProperties)++-- | The maximum number of results to return for each paginated request. If+-- not specified, the default value is 50.+listAssetProperties_maxResults :: Lens.Lens' ListAssetProperties (Prelude.Maybe Prelude.Natural)+listAssetProperties_maxResults = Lens.lens (\ListAssetProperties' {maxResults} -> maxResults) (\s@ListAssetProperties' {} a -> s {maxResults = a} :: ListAssetProperties)++-- | The token to be used for the next set of paginated results.+listAssetProperties_nextToken :: Lens.Lens' ListAssetProperties (Prelude.Maybe Prelude.Text)+listAssetProperties_nextToken = Lens.lens (\ListAssetProperties' {nextToken} -> nextToken) (\s@ListAssetProperties' {} a -> s {nextToken = a} :: ListAssetProperties)++-- | The ID of the asset.+listAssetProperties_assetId :: Lens.Lens' ListAssetProperties Prelude.Text+listAssetProperties_assetId = Lens.lens (\ListAssetProperties' {assetId} -> assetId) (\s@ListAssetProperties' {} a -> s {assetId = a} :: ListAssetProperties)++instance Core.AWSPager ListAssetProperties where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listAssetPropertiesResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^. listAssetPropertiesResponse_assetPropertySummaries+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listAssetProperties_nextToken+ Lens..~ rs+ Lens.^? listAssetPropertiesResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListAssetProperties where+ type+ AWSResponse ListAssetProperties =+ ListAssetPropertiesResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListAssetPropertiesResponse'+ Prelude.<$> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> ( x+ Data..?> "assetPropertySummaries"+ Core..!@ Prelude.mempty+ )+ )++instance Prelude.Hashable ListAssetProperties where+ hashWithSalt _salt ListAssetProperties' {..} =+ _salt+ `Prelude.hashWithSalt` filter'+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` assetId++instance Prelude.NFData ListAssetProperties where+ rnf ListAssetProperties' {..} =+ Prelude.rnf filter'+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf assetId++instance Data.ToHeaders ListAssetProperties where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListAssetProperties where+ toPath ListAssetProperties' {..} =+ Prelude.mconcat+ ["/assets/", Data.toBS assetId, "/properties"]++instance Data.ToQuery ListAssetProperties where+ toQuery ListAssetProperties' {..} =+ Prelude.mconcat+ [ "filter" Data.=: filter',+ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken+ ]++-- | /See:/ 'newListAssetPropertiesResponse' smart constructor.+data ListAssetPropertiesResponse = ListAssetPropertiesResponse'+ { -- | The token for the next set of results, or null if there are no+ -- additional results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | A list that summarizes the properties associated with the specified+ -- asset.+ assetPropertySummaries :: [AssetPropertySummary]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAssetPropertiesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listAssetPropertiesResponse_nextToken' - The token for the next set of results, or null if there are no+-- additional results.+--+-- 'httpStatus', 'listAssetPropertiesResponse_httpStatus' - The response's http status code.+--+-- 'assetPropertySummaries', 'listAssetPropertiesResponse_assetPropertySummaries' - A list that summarizes the properties associated with the specified+-- asset.+newListAssetPropertiesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListAssetPropertiesResponse+newListAssetPropertiesResponse pHttpStatus_ =+ ListAssetPropertiesResponse'+ { nextToken =+ Prelude.Nothing,+ httpStatus = pHttpStatus_,+ assetPropertySummaries = Prelude.mempty+ }++-- | The token for the next set of results, or null if there are no+-- additional results.+listAssetPropertiesResponse_nextToken :: Lens.Lens' ListAssetPropertiesResponse (Prelude.Maybe Prelude.Text)+listAssetPropertiesResponse_nextToken = Lens.lens (\ListAssetPropertiesResponse' {nextToken} -> nextToken) (\s@ListAssetPropertiesResponse' {} a -> s {nextToken = a} :: ListAssetPropertiesResponse)++-- | The response's http status code.+listAssetPropertiesResponse_httpStatus :: Lens.Lens' ListAssetPropertiesResponse Prelude.Int+listAssetPropertiesResponse_httpStatus = Lens.lens (\ListAssetPropertiesResponse' {httpStatus} -> httpStatus) (\s@ListAssetPropertiesResponse' {} a -> s {httpStatus = a} :: ListAssetPropertiesResponse)++-- | A list that summarizes the properties associated with the specified+-- asset.+listAssetPropertiesResponse_assetPropertySummaries :: Lens.Lens' ListAssetPropertiesResponse [AssetPropertySummary]+listAssetPropertiesResponse_assetPropertySummaries = Lens.lens (\ListAssetPropertiesResponse' {assetPropertySummaries} -> assetPropertySummaries) (\s@ListAssetPropertiesResponse' {} a -> s {assetPropertySummaries = a} :: ListAssetPropertiesResponse) Prelude.. Lens.coerced++instance Prelude.NFData ListAssetPropertiesResponse where+ rnf ListAssetPropertiesResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf assetPropertySummaries
+ gen/Amazonka/IoTSiteWise/ListAssetRelationships.hs view
@@ -0,0 +1,274 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.ListAssetRelationships+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- 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.+--+-- This operation returns paginated results.+module Amazonka.IoTSiteWise.ListAssetRelationships+ ( -- * Creating a Request+ ListAssetRelationships (..),+ newListAssetRelationships,++ -- * Request Lenses+ listAssetRelationships_maxResults,+ listAssetRelationships_nextToken,+ listAssetRelationships_assetId,+ listAssetRelationships_traversalType,++ -- * Destructuring the Response+ ListAssetRelationshipsResponse (..),+ newListAssetRelationshipsResponse,++ -- * Response Lenses+ listAssetRelationshipsResponse_nextToken,+ listAssetRelationshipsResponse_httpStatus,+ listAssetRelationshipsResponse_assetRelationshipSummaries,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListAssetRelationships' smart constructor.+data ListAssetRelationships = ListAssetRelationships'+ { -- | The maximum number of results to return for each paginated request.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The token to be used for the next set of paginated results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The ID of the asset.+ assetId :: Prelude.Text,+ -- | 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.+ traversalType :: TraversalType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAssetRelationships' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listAssetRelationships_maxResults' - The maximum number of results to return for each paginated request.+--+-- 'nextToken', 'listAssetRelationships_nextToken' - The token to be used for the next set of paginated results.+--+-- 'assetId', 'listAssetRelationships_assetId' - The ID of the asset.+--+-- 'traversalType', 'listAssetRelationships_traversalType' - 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.+newListAssetRelationships ::+ -- | 'assetId'+ Prelude.Text ->+ -- | 'traversalType'+ TraversalType ->+ ListAssetRelationships+newListAssetRelationships pAssetId_ pTraversalType_ =+ ListAssetRelationships'+ { maxResults =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ assetId = pAssetId_,+ traversalType = pTraversalType_+ }++-- | The maximum number of results to return for each paginated request.+listAssetRelationships_maxResults :: Lens.Lens' ListAssetRelationships (Prelude.Maybe Prelude.Natural)+listAssetRelationships_maxResults = Lens.lens (\ListAssetRelationships' {maxResults} -> maxResults) (\s@ListAssetRelationships' {} a -> s {maxResults = a} :: ListAssetRelationships)++-- | The token to be used for the next set of paginated results.+listAssetRelationships_nextToken :: Lens.Lens' ListAssetRelationships (Prelude.Maybe Prelude.Text)+listAssetRelationships_nextToken = Lens.lens (\ListAssetRelationships' {nextToken} -> nextToken) (\s@ListAssetRelationships' {} a -> s {nextToken = a} :: ListAssetRelationships)++-- | The ID of the asset.+listAssetRelationships_assetId :: Lens.Lens' ListAssetRelationships Prelude.Text+listAssetRelationships_assetId = Lens.lens (\ListAssetRelationships' {assetId} -> assetId) (\s@ListAssetRelationships' {} a -> s {assetId = a} :: ListAssetRelationships)++-- | 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.+listAssetRelationships_traversalType :: Lens.Lens' ListAssetRelationships TraversalType+listAssetRelationships_traversalType = Lens.lens (\ListAssetRelationships' {traversalType} -> traversalType) (\s@ListAssetRelationships' {} a -> s {traversalType = a} :: ListAssetRelationships)++instance Core.AWSPager ListAssetRelationships where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listAssetRelationshipsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^. listAssetRelationshipsResponse_assetRelationshipSummaries+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listAssetRelationships_nextToken+ Lens..~ rs+ Lens.^? listAssetRelationshipsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListAssetRelationships where+ type+ AWSResponse ListAssetRelationships =+ ListAssetRelationshipsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListAssetRelationshipsResponse'+ Prelude.<$> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> ( x+ Data..?> "assetRelationshipSummaries"+ Core..!@ Prelude.mempty+ )+ )++instance Prelude.Hashable ListAssetRelationships where+ hashWithSalt _salt ListAssetRelationships' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` assetId+ `Prelude.hashWithSalt` traversalType++instance Prelude.NFData ListAssetRelationships where+ rnf ListAssetRelationships' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf assetId+ `Prelude.seq` Prelude.rnf traversalType++instance Data.ToHeaders ListAssetRelationships where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListAssetRelationships where+ toPath ListAssetRelationships' {..} =+ Prelude.mconcat+ [ "/assets/",+ Data.toBS assetId,+ "/assetRelationships"+ ]++instance Data.ToQuery ListAssetRelationships where+ toQuery ListAssetRelationships' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken,+ "traversalType" Data.=: traversalType+ ]++-- | /See:/ 'newListAssetRelationshipsResponse' smart constructor.+data ListAssetRelationshipsResponse = ListAssetRelationshipsResponse'+ { -- | The token for the next set of results, or null if there are no+ -- additional results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | A list that summarizes each asset relationship.+ assetRelationshipSummaries :: [AssetRelationshipSummary]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAssetRelationshipsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listAssetRelationshipsResponse_nextToken' - The token for the next set of results, or null if there are no+-- additional results.+--+-- 'httpStatus', 'listAssetRelationshipsResponse_httpStatus' - The response's http status code.+--+-- 'assetRelationshipSummaries', 'listAssetRelationshipsResponse_assetRelationshipSummaries' - A list that summarizes each asset relationship.+newListAssetRelationshipsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListAssetRelationshipsResponse+newListAssetRelationshipsResponse pHttpStatus_ =+ ListAssetRelationshipsResponse'+ { nextToken =+ Prelude.Nothing,+ httpStatus = pHttpStatus_,+ assetRelationshipSummaries = Prelude.mempty+ }++-- | The token for the next set of results, or null if there are no+-- additional results.+listAssetRelationshipsResponse_nextToken :: Lens.Lens' ListAssetRelationshipsResponse (Prelude.Maybe Prelude.Text)+listAssetRelationshipsResponse_nextToken = Lens.lens (\ListAssetRelationshipsResponse' {nextToken} -> nextToken) (\s@ListAssetRelationshipsResponse' {} a -> s {nextToken = a} :: ListAssetRelationshipsResponse)++-- | The response's http status code.+listAssetRelationshipsResponse_httpStatus :: Lens.Lens' ListAssetRelationshipsResponse Prelude.Int+listAssetRelationshipsResponse_httpStatus = Lens.lens (\ListAssetRelationshipsResponse' {httpStatus} -> httpStatus) (\s@ListAssetRelationshipsResponse' {} a -> s {httpStatus = a} :: ListAssetRelationshipsResponse)++-- | A list that summarizes each asset relationship.+listAssetRelationshipsResponse_assetRelationshipSummaries :: Lens.Lens' ListAssetRelationshipsResponse [AssetRelationshipSummary]+listAssetRelationshipsResponse_assetRelationshipSummaries = Lens.lens (\ListAssetRelationshipsResponse' {assetRelationshipSummaries} -> assetRelationshipSummaries) (\s@ListAssetRelationshipsResponse' {} a -> s {assetRelationshipSummaries = a} :: ListAssetRelationshipsResponse) Prelude.. Lens.coerced++instance+ Prelude.NFData+ ListAssetRelationshipsResponse+ where+ rnf ListAssetRelationshipsResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf assetRelationshipSummaries
+ gen/Amazonka/IoTSiteWise/ListAssets.hs view
@@ -0,0 +1,285 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.ListAssets+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_ListAssetModels.html ListAssetModels>+-- to get all of your asset model IDs. Then, use ListAssets to get all+-- assets for each asset model.+--+-- This operation returns paginated results.+module Amazonka.IoTSiteWise.ListAssets+ ( -- * Creating a Request+ ListAssets (..),+ newListAssets,++ -- * Request Lenses+ listAssets_assetModelId,+ listAssets_filter,+ listAssets_maxResults,+ listAssets_nextToken,++ -- * Destructuring the Response+ ListAssetsResponse (..),+ newListAssetsResponse,++ -- * Response Lenses+ listAssetsResponse_nextToken,+ listAssetsResponse_httpStatus,+ listAssetsResponse_assetSummaries,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListAssets' smart constructor.+data ListAssets = ListAssets'+ { -- | The ID of the asset model by which to filter the list of assets. This+ -- parameter is required if you choose @ALL@ for @filter@.+ assetModelId :: Prelude.Maybe Prelude.Text,+ -- | 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@+ filter' :: Prelude.Maybe ListAssetsFilter,+ -- | The maximum number of results to return for each paginated request.+ --+ -- Default: 50+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The token to be used for the next set of paginated results.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAssets' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'assetModelId', 'listAssets_assetModelId' - The ID of the asset model by which to filter the list of assets. This+-- parameter is required if you choose @ALL@ for @filter@.+--+-- 'filter'', 'listAssets_filter' - 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@+--+-- 'maxResults', 'listAssets_maxResults' - The maximum number of results to return for each paginated request.+--+-- Default: 50+--+-- 'nextToken', 'listAssets_nextToken' - The token to be used for the next set of paginated results.+newListAssets ::+ ListAssets+newListAssets =+ ListAssets'+ { assetModelId = Prelude.Nothing,+ filter' = Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | The ID of the asset model by which to filter the list of assets. This+-- parameter is required if you choose @ALL@ for @filter@.+listAssets_assetModelId :: Lens.Lens' ListAssets (Prelude.Maybe Prelude.Text)+listAssets_assetModelId = Lens.lens (\ListAssets' {assetModelId} -> assetModelId) (\s@ListAssets' {} a -> s {assetModelId = a} :: ListAssets)++-- | 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@+listAssets_filter :: Lens.Lens' ListAssets (Prelude.Maybe ListAssetsFilter)+listAssets_filter = Lens.lens (\ListAssets' {filter'} -> filter') (\s@ListAssets' {} a -> s {filter' = a} :: ListAssets)++-- | The maximum number of results to return for each paginated request.+--+-- Default: 50+listAssets_maxResults :: Lens.Lens' ListAssets (Prelude.Maybe Prelude.Natural)+listAssets_maxResults = Lens.lens (\ListAssets' {maxResults} -> maxResults) (\s@ListAssets' {} a -> s {maxResults = a} :: ListAssets)++-- | The token to be used for the next set of paginated results.+listAssets_nextToken :: Lens.Lens' ListAssets (Prelude.Maybe Prelude.Text)+listAssets_nextToken = Lens.lens (\ListAssets' {nextToken} -> nextToken) (\s@ListAssets' {} a -> s {nextToken = a} :: ListAssets)++instance Core.AWSPager ListAssets where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listAssetsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ (rs Lens.^. listAssetsResponse_assetSummaries) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listAssets_nextToken+ Lens..~ rs+ Lens.^? listAssetsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListAssets where+ type AWSResponse ListAssets = ListAssetsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListAssetsResponse'+ Prelude.<$> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> ( x+ Data..?> "assetSummaries"+ Core..!@ Prelude.mempty+ )+ )++instance Prelude.Hashable ListAssets where+ hashWithSalt _salt ListAssets' {..} =+ _salt+ `Prelude.hashWithSalt` assetModelId+ `Prelude.hashWithSalt` filter'+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListAssets where+ rnf ListAssets' {..} =+ Prelude.rnf assetModelId+ `Prelude.seq` Prelude.rnf filter'+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListAssets where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListAssets where+ toPath = Prelude.const "/assets"++instance Data.ToQuery ListAssets where+ toQuery ListAssets' {..} =+ Prelude.mconcat+ [ "assetModelId" Data.=: assetModelId,+ "filter" Data.=: filter',+ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken+ ]++-- | /See:/ 'newListAssetsResponse' smart constructor.+data ListAssetsResponse = ListAssetsResponse'+ { -- | The token for the next set of results, or null if there are no+ -- additional results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | A list that summarizes each asset.+ assetSummaries :: [AssetSummary]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAssetsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listAssetsResponse_nextToken' - The token for the next set of results, or null if there are no+-- additional results.+--+-- 'httpStatus', 'listAssetsResponse_httpStatus' - The response's http status code.+--+-- 'assetSummaries', 'listAssetsResponse_assetSummaries' - A list that summarizes each asset.+newListAssetsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListAssetsResponse+newListAssetsResponse pHttpStatus_ =+ ListAssetsResponse'+ { nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_,+ assetSummaries = Prelude.mempty+ }++-- | The token for the next set of results, or null if there are no+-- additional results.+listAssetsResponse_nextToken :: Lens.Lens' ListAssetsResponse (Prelude.Maybe Prelude.Text)+listAssetsResponse_nextToken = Lens.lens (\ListAssetsResponse' {nextToken} -> nextToken) (\s@ListAssetsResponse' {} a -> s {nextToken = a} :: ListAssetsResponse)++-- | The response's http status code.+listAssetsResponse_httpStatus :: Lens.Lens' ListAssetsResponse Prelude.Int+listAssetsResponse_httpStatus = Lens.lens (\ListAssetsResponse' {httpStatus} -> httpStatus) (\s@ListAssetsResponse' {} a -> s {httpStatus = a} :: ListAssetsResponse)++-- | A list that summarizes each asset.+listAssetsResponse_assetSummaries :: Lens.Lens' ListAssetsResponse [AssetSummary]+listAssetsResponse_assetSummaries = Lens.lens (\ListAssetsResponse' {assetSummaries} -> assetSummaries) (\s@ListAssetsResponse' {} a -> s {assetSummaries = a} :: ListAssetsResponse) Prelude.. Lens.coerced++instance Prelude.NFData ListAssetsResponse where+ rnf ListAssetsResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf assetSummaries
+ gen/Amazonka/IoTSiteWise/ListAssociatedAssets.hs view
@@ -0,0 +1,329 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.ListAssociatedAssets+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- 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.+--+-- This operation returns paginated results.+module Amazonka.IoTSiteWise.ListAssociatedAssets+ ( -- * Creating a Request+ ListAssociatedAssets (..),+ newListAssociatedAssets,++ -- * Request Lenses+ listAssociatedAssets_hierarchyId,+ listAssociatedAssets_maxResults,+ listAssociatedAssets_nextToken,+ listAssociatedAssets_traversalDirection,+ listAssociatedAssets_assetId,++ -- * Destructuring the Response+ ListAssociatedAssetsResponse (..),+ newListAssociatedAssetsResponse,++ -- * Response Lenses+ listAssociatedAssetsResponse_nextToken,+ listAssociatedAssetsResponse_httpStatus,+ listAssociatedAssetsResponse_assetSummaries,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListAssociatedAssets' smart constructor.+data ListAssociatedAssets = ListAssociatedAssets'+ { -- | The ID of the hierarchy by which child assets are associated to the+ -- asset. To find a hierarchy ID, use the+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeAsset.html DescribeAsset>+ -- or+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeAssetModel.html DescribeAssetModel>+ -- operations. This parameter is required if you choose @CHILD@ for+ -- @traversalDirection@.+ --+ -- For more information, see+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html Asset hierarchies>+ -- in the /IoT SiteWise User Guide/.+ hierarchyId :: Prelude.Maybe Prelude.Text,+ -- | The maximum number of results to return for each paginated request.+ --+ -- Default: 50+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The token to be used for the next set of paginated results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | 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@+ traversalDirection :: Prelude.Maybe TraversalDirection,+ -- | The ID of the asset to query.+ assetId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAssociatedAssets' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'hierarchyId', 'listAssociatedAssets_hierarchyId' - The ID of the hierarchy by which child assets are associated to the+-- asset. To find a hierarchy ID, use the+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeAsset.html DescribeAsset>+-- or+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeAssetModel.html DescribeAssetModel>+-- operations. This parameter is required if you choose @CHILD@ for+-- @traversalDirection@.+--+-- For more information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html Asset hierarchies>+-- in the /IoT SiteWise User Guide/.+--+-- 'maxResults', 'listAssociatedAssets_maxResults' - The maximum number of results to return for each paginated request.+--+-- Default: 50+--+-- 'nextToken', 'listAssociatedAssets_nextToken' - The token to be used for the next set of paginated results.+--+-- 'traversalDirection', 'listAssociatedAssets_traversalDirection' - 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@+--+-- 'assetId', 'listAssociatedAssets_assetId' - The ID of the asset to query.+newListAssociatedAssets ::+ -- | 'assetId'+ Prelude.Text ->+ ListAssociatedAssets+newListAssociatedAssets pAssetId_ =+ ListAssociatedAssets'+ { hierarchyId =+ Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ traversalDirection = Prelude.Nothing,+ assetId = pAssetId_+ }++-- | The ID of the hierarchy by which child assets are associated to the+-- asset. To find a hierarchy ID, use the+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeAsset.html DescribeAsset>+-- or+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeAssetModel.html DescribeAssetModel>+-- operations. This parameter is required if you choose @CHILD@ for+-- @traversalDirection@.+--+-- For more information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html Asset hierarchies>+-- in the /IoT SiteWise User Guide/.+listAssociatedAssets_hierarchyId :: Lens.Lens' ListAssociatedAssets (Prelude.Maybe Prelude.Text)+listAssociatedAssets_hierarchyId = Lens.lens (\ListAssociatedAssets' {hierarchyId} -> hierarchyId) (\s@ListAssociatedAssets' {} a -> s {hierarchyId = a} :: ListAssociatedAssets)++-- | The maximum number of results to return for each paginated request.+--+-- Default: 50+listAssociatedAssets_maxResults :: Lens.Lens' ListAssociatedAssets (Prelude.Maybe Prelude.Natural)+listAssociatedAssets_maxResults = Lens.lens (\ListAssociatedAssets' {maxResults} -> maxResults) (\s@ListAssociatedAssets' {} a -> s {maxResults = a} :: ListAssociatedAssets)++-- | The token to be used for the next set of paginated results.+listAssociatedAssets_nextToken :: Lens.Lens' ListAssociatedAssets (Prelude.Maybe Prelude.Text)+listAssociatedAssets_nextToken = Lens.lens (\ListAssociatedAssets' {nextToken} -> nextToken) (\s@ListAssociatedAssets' {} a -> s {nextToken = a} :: ListAssociatedAssets)++-- | 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@+listAssociatedAssets_traversalDirection :: Lens.Lens' ListAssociatedAssets (Prelude.Maybe TraversalDirection)+listAssociatedAssets_traversalDirection = Lens.lens (\ListAssociatedAssets' {traversalDirection} -> traversalDirection) (\s@ListAssociatedAssets' {} a -> s {traversalDirection = a} :: ListAssociatedAssets)++-- | The ID of the asset to query.+listAssociatedAssets_assetId :: Lens.Lens' ListAssociatedAssets Prelude.Text+listAssociatedAssets_assetId = Lens.lens (\ListAssociatedAssets' {assetId} -> assetId) (\s@ListAssociatedAssets' {} a -> s {assetId = a} :: ListAssociatedAssets)++instance Core.AWSPager ListAssociatedAssets where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listAssociatedAssetsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^. listAssociatedAssetsResponse_assetSummaries+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listAssociatedAssets_nextToken+ Lens..~ rs+ Lens.^? listAssociatedAssetsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListAssociatedAssets where+ type+ AWSResponse ListAssociatedAssets =+ ListAssociatedAssetsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListAssociatedAssetsResponse'+ Prelude.<$> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> ( x+ Data..?> "assetSummaries"+ Core..!@ Prelude.mempty+ )+ )++instance Prelude.Hashable ListAssociatedAssets where+ hashWithSalt _salt ListAssociatedAssets' {..} =+ _salt+ `Prelude.hashWithSalt` hierarchyId+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` traversalDirection+ `Prelude.hashWithSalt` assetId++instance Prelude.NFData ListAssociatedAssets where+ rnf ListAssociatedAssets' {..} =+ Prelude.rnf hierarchyId+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf traversalDirection+ `Prelude.seq` Prelude.rnf assetId++instance Data.ToHeaders ListAssociatedAssets where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListAssociatedAssets where+ toPath ListAssociatedAssets' {..} =+ Prelude.mconcat+ ["/assets/", Data.toBS assetId, "/hierarchies"]++instance Data.ToQuery ListAssociatedAssets where+ toQuery ListAssociatedAssets' {..} =+ Prelude.mconcat+ [ "hierarchyId" Data.=: hierarchyId,+ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken,+ "traversalDirection" Data.=: traversalDirection+ ]++-- | /See:/ 'newListAssociatedAssetsResponse' smart constructor.+data ListAssociatedAssetsResponse = ListAssociatedAssetsResponse'+ { -- | The token for the next set of results, or null if there are no+ -- additional results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | A list that summarizes the associated assets.+ assetSummaries :: [AssociatedAssetsSummary]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAssociatedAssetsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listAssociatedAssetsResponse_nextToken' - The token for the next set of results, or null if there are no+-- additional results.+--+-- 'httpStatus', 'listAssociatedAssetsResponse_httpStatus' - The response's http status code.+--+-- 'assetSummaries', 'listAssociatedAssetsResponse_assetSummaries' - A list that summarizes the associated assets.+newListAssociatedAssetsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListAssociatedAssetsResponse+newListAssociatedAssetsResponse pHttpStatus_ =+ ListAssociatedAssetsResponse'+ { nextToken =+ Prelude.Nothing,+ httpStatus = pHttpStatus_,+ assetSummaries = Prelude.mempty+ }++-- | The token for the next set of results, or null if there are no+-- additional results.+listAssociatedAssetsResponse_nextToken :: Lens.Lens' ListAssociatedAssetsResponse (Prelude.Maybe Prelude.Text)+listAssociatedAssetsResponse_nextToken = Lens.lens (\ListAssociatedAssetsResponse' {nextToken} -> nextToken) (\s@ListAssociatedAssetsResponse' {} a -> s {nextToken = a} :: ListAssociatedAssetsResponse)++-- | The response's http status code.+listAssociatedAssetsResponse_httpStatus :: Lens.Lens' ListAssociatedAssetsResponse Prelude.Int+listAssociatedAssetsResponse_httpStatus = Lens.lens (\ListAssociatedAssetsResponse' {httpStatus} -> httpStatus) (\s@ListAssociatedAssetsResponse' {} a -> s {httpStatus = a} :: ListAssociatedAssetsResponse)++-- | A list that summarizes the associated assets.+listAssociatedAssetsResponse_assetSummaries :: Lens.Lens' ListAssociatedAssetsResponse [AssociatedAssetsSummary]+listAssociatedAssetsResponse_assetSummaries = Lens.lens (\ListAssociatedAssetsResponse' {assetSummaries} -> assetSummaries) (\s@ListAssociatedAssetsResponse' {} a -> s {assetSummaries = a} :: ListAssociatedAssetsResponse) Prelude.. Lens.coerced++instance Prelude.NFData ListAssociatedAssetsResponse where+ rnf ListAssociatedAssetsResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf assetSummaries
+ gen/Amazonka/IoTSiteWise/ListBulkImportJobs.hs view
@@ -0,0 +1,230 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.ListBulkImportJobs+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves a paginated list of bulk import job requests. For more+-- information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/ListBulkImportJobs.html List bulk import jobs (CLI)>+-- in the /IoT SiteWise User Guide/.+--+-- This operation returns paginated results.+module Amazonka.IoTSiteWise.ListBulkImportJobs+ ( -- * Creating a Request+ ListBulkImportJobs (..),+ newListBulkImportJobs,++ -- * Request Lenses+ listBulkImportJobs_filter,+ listBulkImportJobs_maxResults,+ listBulkImportJobs_nextToken,++ -- * Destructuring the Response+ ListBulkImportJobsResponse (..),+ newListBulkImportJobsResponse,++ -- * Response Lenses+ listBulkImportJobsResponse_nextToken,+ listBulkImportJobsResponse_httpStatus,+ listBulkImportJobsResponse_jobSummaries,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListBulkImportJobs' smart constructor.+data ListBulkImportJobs = ListBulkImportJobs'+ { -- | You can use a filter to select the bulk import jobs that you want to+ -- retrieve.+ filter' :: Prelude.Maybe ListBulkImportJobsFilter,+ -- | The maximum number of results to return for each paginated request.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The token to be used for the next set of paginated results.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListBulkImportJobs' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'filter'', 'listBulkImportJobs_filter' - You can use a filter to select the bulk import jobs that you want to+-- retrieve.+--+-- 'maxResults', 'listBulkImportJobs_maxResults' - The maximum number of results to return for each paginated request.+--+-- 'nextToken', 'listBulkImportJobs_nextToken' - The token to be used for the next set of paginated results.+newListBulkImportJobs ::+ ListBulkImportJobs+newListBulkImportJobs =+ ListBulkImportJobs'+ { filter' = Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | You can use a filter to select the bulk import jobs that you want to+-- retrieve.+listBulkImportJobs_filter :: Lens.Lens' ListBulkImportJobs (Prelude.Maybe ListBulkImportJobsFilter)+listBulkImportJobs_filter = Lens.lens (\ListBulkImportJobs' {filter'} -> filter') (\s@ListBulkImportJobs' {} a -> s {filter' = a} :: ListBulkImportJobs)++-- | The maximum number of results to return for each paginated request.+listBulkImportJobs_maxResults :: Lens.Lens' ListBulkImportJobs (Prelude.Maybe Prelude.Natural)+listBulkImportJobs_maxResults = Lens.lens (\ListBulkImportJobs' {maxResults} -> maxResults) (\s@ListBulkImportJobs' {} a -> s {maxResults = a} :: ListBulkImportJobs)++-- | The token to be used for the next set of paginated results.+listBulkImportJobs_nextToken :: Lens.Lens' ListBulkImportJobs (Prelude.Maybe Prelude.Text)+listBulkImportJobs_nextToken = Lens.lens (\ListBulkImportJobs' {nextToken} -> nextToken) (\s@ListBulkImportJobs' {} a -> s {nextToken = a} :: ListBulkImportJobs)++instance Core.AWSPager ListBulkImportJobs where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listBulkImportJobsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ (rs Lens.^. listBulkImportJobsResponse_jobSummaries) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listBulkImportJobs_nextToken+ Lens..~ rs+ Lens.^? listBulkImportJobsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListBulkImportJobs where+ type+ AWSResponse ListBulkImportJobs =+ ListBulkImportJobsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListBulkImportJobsResponse'+ Prelude.<$> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..?> "jobSummaries" Core..!@ Prelude.mempty)+ )++instance Prelude.Hashable ListBulkImportJobs where+ hashWithSalt _salt ListBulkImportJobs' {..} =+ _salt+ `Prelude.hashWithSalt` filter'+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListBulkImportJobs where+ rnf ListBulkImportJobs' {..} =+ Prelude.rnf filter'+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListBulkImportJobs where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListBulkImportJobs where+ toPath = Prelude.const "/jobs"++instance Data.ToQuery ListBulkImportJobs where+ toQuery ListBulkImportJobs' {..} =+ Prelude.mconcat+ [ "filter" Data.=: filter',+ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken+ ]++-- | /See:/ 'newListBulkImportJobsResponse' smart constructor.+data ListBulkImportJobsResponse = ListBulkImportJobsResponse'+ { -- | The token for the next set of results, or null if there are no+ -- additional results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | One or more job summaries to list.+ jobSummaries :: [JobSummary]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListBulkImportJobsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listBulkImportJobsResponse_nextToken' - The token for the next set of results, or null if there are no+-- additional results.+--+-- 'httpStatus', 'listBulkImportJobsResponse_httpStatus' - The response's http status code.+--+-- 'jobSummaries', 'listBulkImportJobsResponse_jobSummaries' - One or more job summaries to list.+newListBulkImportJobsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListBulkImportJobsResponse+newListBulkImportJobsResponse pHttpStatus_ =+ ListBulkImportJobsResponse'+ { nextToken =+ Prelude.Nothing,+ httpStatus = pHttpStatus_,+ jobSummaries = Prelude.mempty+ }++-- | The token for the next set of results, or null if there are no+-- additional results.+listBulkImportJobsResponse_nextToken :: Lens.Lens' ListBulkImportJobsResponse (Prelude.Maybe Prelude.Text)+listBulkImportJobsResponse_nextToken = Lens.lens (\ListBulkImportJobsResponse' {nextToken} -> nextToken) (\s@ListBulkImportJobsResponse' {} a -> s {nextToken = a} :: ListBulkImportJobsResponse)++-- | The response's http status code.+listBulkImportJobsResponse_httpStatus :: Lens.Lens' ListBulkImportJobsResponse Prelude.Int+listBulkImportJobsResponse_httpStatus = Lens.lens (\ListBulkImportJobsResponse' {httpStatus} -> httpStatus) (\s@ListBulkImportJobsResponse' {} a -> s {httpStatus = a} :: ListBulkImportJobsResponse)++-- | One or more job summaries to list.+listBulkImportJobsResponse_jobSummaries :: Lens.Lens' ListBulkImportJobsResponse [JobSummary]+listBulkImportJobsResponse_jobSummaries = Lens.lens (\ListBulkImportJobsResponse' {jobSummaries} -> jobSummaries) (\s@ListBulkImportJobsResponse' {} a -> s {jobSummaries = a} :: ListBulkImportJobsResponse) Prelude.. Lens.coerced++instance Prelude.NFData ListBulkImportJobsResponse where+ rnf ListBulkImportJobsResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf jobSummaries
+ gen/Amazonka/IoTSiteWise/ListDashboards.hs view
@@ -0,0 +1,238 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.ListDashboards+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves a paginated list of dashboards for an IoT SiteWise Monitor+-- project.+--+-- This operation returns paginated results.+module Amazonka.IoTSiteWise.ListDashboards+ ( -- * Creating a Request+ ListDashboards (..),+ newListDashboards,++ -- * Request Lenses+ listDashboards_maxResults,+ listDashboards_nextToken,+ listDashboards_projectId,++ -- * Destructuring the Response+ ListDashboardsResponse (..),+ newListDashboardsResponse,++ -- * Response Lenses+ listDashboardsResponse_nextToken,+ listDashboardsResponse_httpStatus,+ listDashboardsResponse_dashboardSummaries,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListDashboards' smart constructor.+data ListDashboards = ListDashboards'+ { -- | The maximum number of results to return for each paginated request.+ --+ -- Default: 50+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The token to be used for the next set of paginated results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The ID of the project.+ projectId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDashboards' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listDashboards_maxResults' - The maximum number of results to return for each paginated request.+--+-- Default: 50+--+-- 'nextToken', 'listDashboards_nextToken' - The token to be used for the next set of paginated results.+--+-- 'projectId', 'listDashboards_projectId' - The ID of the project.+newListDashboards ::+ -- | 'projectId'+ Prelude.Text ->+ ListDashboards+newListDashboards pProjectId_ =+ ListDashboards'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ projectId = pProjectId_+ }++-- | The maximum number of results to return for each paginated request.+--+-- Default: 50+listDashboards_maxResults :: Lens.Lens' ListDashboards (Prelude.Maybe Prelude.Natural)+listDashboards_maxResults = Lens.lens (\ListDashboards' {maxResults} -> maxResults) (\s@ListDashboards' {} a -> s {maxResults = a} :: ListDashboards)++-- | The token to be used for the next set of paginated results.+listDashboards_nextToken :: Lens.Lens' ListDashboards (Prelude.Maybe Prelude.Text)+listDashboards_nextToken = Lens.lens (\ListDashboards' {nextToken} -> nextToken) (\s@ListDashboards' {} a -> s {nextToken = a} :: ListDashboards)++-- | The ID of the project.+listDashboards_projectId :: Lens.Lens' ListDashboards Prelude.Text+listDashboards_projectId = Lens.lens (\ListDashboards' {projectId} -> projectId) (\s@ListDashboards' {} a -> s {projectId = a} :: ListDashboards)++instance Core.AWSPager ListDashboards where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listDashboardsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^. listDashboardsResponse_dashboardSummaries+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listDashboards_nextToken+ Lens..~ rs+ Lens.^? listDashboardsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListDashboards where+ type+ AWSResponse ListDashboards =+ ListDashboardsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListDashboardsResponse'+ Prelude.<$> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> ( x+ Data..?> "dashboardSummaries"+ Core..!@ Prelude.mempty+ )+ )++instance Prelude.Hashable ListDashboards where+ hashWithSalt _salt ListDashboards' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` projectId++instance Prelude.NFData ListDashboards where+ rnf ListDashboards' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf projectId++instance Data.ToHeaders ListDashboards where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListDashboards where+ toPath = Prelude.const "/dashboards"++instance Data.ToQuery ListDashboards where+ toQuery ListDashboards' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken,+ "projectId" Data.=: projectId+ ]++-- | /See:/ 'newListDashboardsResponse' smart constructor.+data ListDashboardsResponse = ListDashboardsResponse'+ { -- | The token for the next set of results, or null if there are no+ -- additional results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | A list that summarizes each dashboard in the project.+ dashboardSummaries :: [DashboardSummary]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDashboardsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listDashboardsResponse_nextToken' - The token for the next set of results, or null if there are no+-- additional results.+--+-- 'httpStatus', 'listDashboardsResponse_httpStatus' - The response's http status code.+--+-- 'dashboardSummaries', 'listDashboardsResponse_dashboardSummaries' - A list that summarizes each dashboard in the project.+newListDashboardsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListDashboardsResponse+newListDashboardsResponse pHttpStatus_ =+ ListDashboardsResponse'+ { nextToken =+ Prelude.Nothing,+ httpStatus = pHttpStatus_,+ dashboardSummaries = Prelude.mempty+ }++-- | The token for the next set of results, or null if there are no+-- additional results.+listDashboardsResponse_nextToken :: Lens.Lens' ListDashboardsResponse (Prelude.Maybe Prelude.Text)+listDashboardsResponse_nextToken = Lens.lens (\ListDashboardsResponse' {nextToken} -> nextToken) (\s@ListDashboardsResponse' {} a -> s {nextToken = a} :: ListDashboardsResponse)++-- | The response's http status code.+listDashboardsResponse_httpStatus :: Lens.Lens' ListDashboardsResponse Prelude.Int+listDashboardsResponse_httpStatus = Lens.lens (\ListDashboardsResponse' {httpStatus} -> httpStatus) (\s@ListDashboardsResponse' {} a -> s {httpStatus = a} :: ListDashboardsResponse)++-- | A list that summarizes each dashboard in the project.+listDashboardsResponse_dashboardSummaries :: Lens.Lens' ListDashboardsResponse [DashboardSummary]+listDashboardsResponse_dashboardSummaries = Lens.lens (\ListDashboardsResponse' {dashboardSummaries} -> dashboardSummaries) (\s@ListDashboardsResponse' {} a -> s {dashboardSummaries = a} :: ListDashboardsResponse) Prelude.. Lens.coerced++instance Prelude.NFData ListDashboardsResponse where+ rnf ListDashboardsResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf dashboardSummaries
+ gen/Amazonka/IoTSiteWise/ListGateways.hs view
@@ -0,0 +1,217 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.ListGateways+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves a paginated list of gateways.+--+-- This operation returns paginated results.+module Amazonka.IoTSiteWise.ListGateways+ ( -- * Creating a Request+ ListGateways (..),+ newListGateways,++ -- * Request Lenses+ listGateways_maxResults,+ listGateways_nextToken,++ -- * Destructuring the Response+ ListGatewaysResponse (..),+ newListGatewaysResponse,++ -- * Response Lenses+ listGatewaysResponse_nextToken,+ listGatewaysResponse_httpStatus,+ listGatewaysResponse_gatewaySummaries,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListGateways' smart constructor.+data ListGateways = ListGateways'+ { -- | The maximum number of results to return for each paginated request.+ --+ -- Default: 50+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The token to be used for the next set of paginated results.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListGateways' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listGateways_maxResults' - The maximum number of results to return for each paginated request.+--+-- Default: 50+--+-- 'nextToken', 'listGateways_nextToken' - The token to be used for the next set of paginated results.+newListGateways ::+ ListGateways+newListGateways =+ ListGateways'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | The maximum number of results to return for each paginated request.+--+-- Default: 50+listGateways_maxResults :: Lens.Lens' ListGateways (Prelude.Maybe Prelude.Natural)+listGateways_maxResults = Lens.lens (\ListGateways' {maxResults} -> maxResults) (\s@ListGateways' {} a -> s {maxResults = a} :: ListGateways)++-- | The token to be used for the next set of paginated results.+listGateways_nextToken :: Lens.Lens' ListGateways (Prelude.Maybe Prelude.Text)+listGateways_nextToken = Lens.lens (\ListGateways' {nextToken} -> nextToken) (\s@ListGateways' {} a -> s {nextToken = a} :: ListGateways)++instance Core.AWSPager ListGateways where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listGatewaysResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ (rs Lens.^. listGatewaysResponse_gatewaySummaries) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listGateways_nextToken+ Lens..~ rs+ Lens.^? listGatewaysResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListGateways where+ type AWSResponse ListGateways = ListGatewaysResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListGatewaysResponse'+ Prelude.<$> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> ( x+ Data..?> "gatewaySummaries"+ Core..!@ Prelude.mempty+ )+ )++instance Prelude.Hashable ListGateways where+ hashWithSalt _salt ListGateways' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListGateways where+ rnf ListGateways' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListGateways where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListGateways where+ toPath = Prelude.const "/20200301/gateways"++instance Data.ToQuery ListGateways where+ toQuery ListGateways' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken+ ]++-- | /See:/ 'newListGatewaysResponse' smart constructor.+data ListGatewaysResponse = ListGatewaysResponse'+ { -- | The token for the next set of results, or null if there are no+ -- additional results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | A list that summarizes each gateway.+ gatewaySummaries :: [GatewaySummary]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListGatewaysResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listGatewaysResponse_nextToken' - The token for the next set of results, or null if there are no+-- additional results.+--+-- 'httpStatus', 'listGatewaysResponse_httpStatus' - The response's http status code.+--+-- 'gatewaySummaries', 'listGatewaysResponse_gatewaySummaries' - A list that summarizes each gateway.+newListGatewaysResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListGatewaysResponse+newListGatewaysResponse pHttpStatus_ =+ ListGatewaysResponse'+ { nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_,+ gatewaySummaries = Prelude.mempty+ }++-- | The token for the next set of results, or null if there are no+-- additional results.+listGatewaysResponse_nextToken :: Lens.Lens' ListGatewaysResponse (Prelude.Maybe Prelude.Text)+listGatewaysResponse_nextToken = Lens.lens (\ListGatewaysResponse' {nextToken} -> nextToken) (\s@ListGatewaysResponse' {} a -> s {nextToken = a} :: ListGatewaysResponse)++-- | The response's http status code.+listGatewaysResponse_httpStatus :: Lens.Lens' ListGatewaysResponse Prelude.Int+listGatewaysResponse_httpStatus = Lens.lens (\ListGatewaysResponse' {httpStatus} -> httpStatus) (\s@ListGatewaysResponse' {} a -> s {httpStatus = a} :: ListGatewaysResponse)++-- | A list that summarizes each gateway.+listGatewaysResponse_gatewaySummaries :: Lens.Lens' ListGatewaysResponse [GatewaySummary]+listGatewaysResponse_gatewaySummaries = Lens.lens (\ListGatewaysResponse' {gatewaySummaries} -> gatewaySummaries) (\s@ListGatewaysResponse' {} a -> s {gatewaySummaries = a} :: ListGatewaysResponse) Prelude.. Lens.coerced++instance Prelude.NFData ListGatewaysResponse where+ rnf ListGatewaysResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf gatewaySummaries
+ gen/Amazonka/IoTSiteWise/ListPortals.hs view
@@ -0,0 +1,220 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.ListPortals+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves a paginated list of IoT SiteWise Monitor portals.+--+-- This operation returns paginated results.+module Amazonka.IoTSiteWise.ListPortals+ ( -- * Creating a Request+ ListPortals (..),+ newListPortals,++ -- * Request Lenses+ listPortals_maxResults,+ listPortals_nextToken,++ -- * Destructuring the Response+ ListPortalsResponse (..),+ newListPortalsResponse,++ -- * Response Lenses+ listPortalsResponse_nextToken,+ listPortalsResponse_portalSummaries,+ listPortalsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListPortals' smart constructor.+data ListPortals = ListPortals'+ { -- | The maximum number of results to return for each paginated request.+ --+ -- Default: 50+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The token to be used for the next set of paginated results.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListPortals' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listPortals_maxResults' - The maximum number of results to return for each paginated request.+--+-- Default: 50+--+-- 'nextToken', 'listPortals_nextToken' - The token to be used for the next set of paginated results.+newListPortals ::+ ListPortals+newListPortals =+ ListPortals'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | The maximum number of results to return for each paginated request.+--+-- Default: 50+listPortals_maxResults :: Lens.Lens' ListPortals (Prelude.Maybe Prelude.Natural)+listPortals_maxResults = Lens.lens (\ListPortals' {maxResults} -> maxResults) (\s@ListPortals' {} a -> s {maxResults = a} :: ListPortals)++-- | The token to be used for the next set of paginated results.+listPortals_nextToken :: Lens.Lens' ListPortals (Prelude.Maybe Prelude.Text)+listPortals_nextToken = Lens.lens (\ListPortals' {nextToken} -> nextToken) (\s@ListPortals' {} a -> s {nextToken = a} :: ListPortals)++instance Core.AWSPager ListPortals where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listPortalsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listPortalsResponse_portalSummaries+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listPortals_nextToken+ Lens..~ rs+ Lens.^? listPortalsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListPortals where+ type AWSResponse ListPortals = ListPortalsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListPortalsResponse'+ Prelude.<$> (x Data..?> "nextToken")+ Prelude.<*> ( x+ Data..?> "portalSummaries"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListPortals where+ hashWithSalt _salt ListPortals' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListPortals where+ rnf ListPortals' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListPortals where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListPortals where+ toPath = Prelude.const "/portals"++instance Data.ToQuery ListPortals where+ toQuery ListPortals' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken+ ]++-- | /See:/ 'newListPortalsResponse' smart constructor.+data ListPortalsResponse = ListPortalsResponse'+ { -- | The token for the next set of results, or null if there are no+ -- additional results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | A list that summarizes each portal.+ portalSummaries :: Prelude.Maybe [PortalSummary],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListPortalsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listPortalsResponse_nextToken' - The token for the next set of results, or null if there are no+-- additional results.+--+-- 'portalSummaries', 'listPortalsResponse_portalSummaries' - A list that summarizes each portal.+--+-- 'httpStatus', 'listPortalsResponse_httpStatus' - The response's http status code.+newListPortalsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListPortalsResponse+newListPortalsResponse pHttpStatus_ =+ ListPortalsResponse'+ { nextToken = Prelude.Nothing,+ portalSummaries = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The token for the next set of results, or null if there are no+-- additional results.+listPortalsResponse_nextToken :: Lens.Lens' ListPortalsResponse (Prelude.Maybe Prelude.Text)+listPortalsResponse_nextToken = Lens.lens (\ListPortalsResponse' {nextToken} -> nextToken) (\s@ListPortalsResponse' {} a -> s {nextToken = a} :: ListPortalsResponse)++-- | A list that summarizes each portal.+listPortalsResponse_portalSummaries :: Lens.Lens' ListPortalsResponse (Prelude.Maybe [PortalSummary])+listPortalsResponse_portalSummaries = Lens.lens (\ListPortalsResponse' {portalSummaries} -> portalSummaries) (\s@ListPortalsResponse' {} a -> s {portalSummaries = a} :: ListPortalsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listPortalsResponse_httpStatus :: Lens.Lens' ListPortalsResponse Prelude.Int+listPortalsResponse_httpStatus = Lens.lens (\ListPortalsResponse' {httpStatus} -> httpStatus) (\s@ListPortalsResponse' {} a -> s {httpStatus = a} :: ListPortalsResponse)++instance Prelude.NFData ListPortalsResponse where+ rnf ListPortalsResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf portalSummaries+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTSiteWise/ListProjectAssets.hs view
@@ -0,0 +1,234 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.ListProjectAssets+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves a paginated list of assets associated with an IoT SiteWise+-- Monitor project.+--+-- This operation returns paginated results.+module Amazonka.IoTSiteWise.ListProjectAssets+ ( -- * Creating a Request+ ListProjectAssets (..),+ newListProjectAssets,++ -- * Request Lenses+ listProjectAssets_maxResults,+ listProjectAssets_nextToken,+ listProjectAssets_projectId,++ -- * Destructuring the Response+ ListProjectAssetsResponse (..),+ newListProjectAssetsResponse,++ -- * Response Lenses+ listProjectAssetsResponse_nextToken,+ listProjectAssetsResponse_httpStatus,+ listProjectAssetsResponse_assetIds,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListProjectAssets' smart constructor.+data ListProjectAssets = ListProjectAssets'+ { -- | The maximum number of results to return for each paginated request.+ --+ -- Default: 50+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The token to be used for the next set of paginated results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The ID of the project.+ projectId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListProjectAssets' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listProjectAssets_maxResults' - The maximum number of results to return for each paginated request.+--+-- Default: 50+--+-- 'nextToken', 'listProjectAssets_nextToken' - The token to be used for the next set of paginated results.+--+-- 'projectId', 'listProjectAssets_projectId' - The ID of the project.+newListProjectAssets ::+ -- | 'projectId'+ Prelude.Text ->+ ListProjectAssets+newListProjectAssets pProjectId_ =+ ListProjectAssets'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ projectId = pProjectId_+ }++-- | The maximum number of results to return for each paginated request.+--+-- Default: 50+listProjectAssets_maxResults :: Lens.Lens' ListProjectAssets (Prelude.Maybe Prelude.Natural)+listProjectAssets_maxResults = Lens.lens (\ListProjectAssets' {maxResults} -> maxResults) (\s@ListProjectAssets' {} a -> s {maxResults = a} :: ListProjectAssets)++-- | The token to be used for the next set of paginated results.+listProjectAssets_nextToken :: Lens.Lens' ListProjectAssets (Prelude.Maybe Prelude.Text)+listProjectAssets_nextToken = Lens.lens (\ListProjectAssets' {nextToken} -> nextToken) (\s@ListProjectAssets' {} a -> s {nextToken = a} :: ListProjectAssets)++-- | The ID of the project.+listProjectAssets_projectId :: Lens.Lens' ListProjectAssets Prelude.Text+listProjectAssets_projectId = Lens.lens (\ListProjectAssets' {projectId} -> projectId) (\s@ListProjectAssets' {} a -> s {projectId = a} :: ListProjectAssets)++instance Core.AWSPager ListProjectAssets where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listProjectAssetsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ (rs Lens.^. listProjectAssetsResponse_assetIds) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listProjectAssets_nextToken+ Lens..~ rs+ Lens.^? listProjectAssetsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListProjectAssets where+ type+ AWSResponse ListProjectAssets =+ ListProjectAssetsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListProjectAssetsResponse'+ Prelude.<$> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..?> "assetIds" Core..!@ Prelude.mempty)+ )++instance Prelude.Hashable ListProjectAssets where+ hashWithSalt _salt ListProjectAssets' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` projectId++instance Prelude.NFData ListProjectAssets where+ rnf ListProjectAssets' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf projectId++instance Data.ToHeaders ListProjectAssets where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListProjectAssets where+ toPath ListProjectAssets' {..} =+ Prelude.mconcat+ ["/projects/", Data.toBS projectId, "/assets"]++instance Data.ToQuery ListProjectAssets where+ toQuery ListProjectAssets' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken+ ]++-- | /See:/ 'newListProjectAssetsResponse' smart constructor.+data ListProjectAssetsResponse = ListProjectAssetsResponse'+ { -- | The token for the next set of results, or null if there are no+ -- additional results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | A list that contains the IDs of each asset associated with the project.+ assetIds :: [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListProjectAssetsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listProjectAssetsResponse_nextToken' - The token for the next set of results, or null if there are no+-- additional results.+--+-- 'httpStatus', 'listProjectAssetsResponse_httpStatus' - The response's http status code.+--+-- 'assetIds', 'listProjectAssetsResponse_assetIds' - A list that contains the IDs of each asset associated with the project.+newListProjectAssetsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListProjectAssetsResponse+newListProjectAssetsResponse pHttpStatus_ =+ ListProjectAssetsResponse'+ { nextToken =+ Prelude.Nothing,+ httpStatus = pHttpStatus_,+ assetIds = Prelude.mempty+ }++-- | The token for the next set of results, or null if there are no+-- additional results.+listProjectAssetsResponse_nextToken :: Lens.Lens' ListProjectAssetsResponse (Prelude.Maybe Prelude.Text)+listProjectAssetsResponse_nextToken = Lens.lens (\ListProjectAssetsResponse' {nextToken} -> nextToken) (\s@ListProjectAssetsResponse' {} a -> s {nextToken = a} :: ListProjectAssetsResponse)++-- | The response's http status code.+listProjectAssetsResponse_httpStatus :: Lens.Lens' ListProjectAssetsResponse Prelude.Int+listProjectAssetsResponse_httpStatus = Lens.lens (\ListProjectAssetsResponse' {httpStatus} -> httpStatus) (\s@ListProjectAssetsResponse' {} a -> s {httpStatus = a} :: ListProjectAssetsResponse)++-- | A list that contains the IDs of each asset associated with the project.+listProjectAssetsResponse_assetIds :: Lens.Lens' ListProjectAssetsResponse [Prelude.Text]+listProjectAssetsResponse_assetIds = Lens.lens (\ListProjectAssetsResponse' {assetIds} -> assetIds) (\s@ListProjectAssetsResponse' {} a -> s {assetIds = a} :: ListProjectAssetsResponse) Prelude.. Lens.coerced++instance Prelude.NFData ListProjectAssetsResponse where+ rnf ListProjectAssetsResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf assetIds
+ gen/Amazonka/IoTSiteWise/ListProjects.hs view
@@ -0,0 +1,233 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.ListProjects+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves a paginated list of projects for an IoT SiteWise Monitor+-- portal.+--+-- This operation returns paginated results.+module Amazonka.IoTSiteWise.ListProjects+ ( -- * Creating a Request+ ListProjects (..),+ newListProjects,++ -- * Request Lenses+ listProjects_maxResults,+ listProjects_nextToken,+ listProjects_portalId,++ -- * Destructuring the Response+ ListProjectsResponse (..),+ newListProjectsResponse,++ -- * Response Lenses+ listProjectsResponse_nextToken,+ listProjectsResponse_httpStatus,+ listProjectsResponse_projectSummaries,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListProjects' smart constructor.+data ListProjects = ListProjects'+ { -- | The maximum number of results to return for each paginated request.+ --+ -- Default: 50+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The token to be used for the next set of paginated results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The ID of the portal.+ portalId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListProjects' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listProjects_maxResults' - The maximum number of results to return for each paginated request.+--+-- Default: 50+--+-- 'nextToken', 'listProjects_nextToken' - The token to be used for the next set of paginated results.+--+-- 'portalId', 'listProjects_portalId' - The ID of the portal.+newListProjects ::+ -- | 'portalId'+ Prelude.Text ->+ ListProjects+newListProjects pPortalId_ =+ ListProjects'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ portalId = pPortalId_+ }++-- | The maximum number of results to return for each paginated request.+--+-- Default: 50+listProjects_maxResults :: Lens.Lens' ListProjects (Prelude.Maybe Prelude.Natural)+listProjects_maxResults = Lens.lens (\ListProjects' {maxResults} -> maxResults) (\s@ListProjects' {} a -> s {maxResults = a} :: ListProjects)++-- | The token to be used for the next set of paginated results.+listProjects_nextToken :: Lens.Lens' ListProjects (Prelude.Maybe Prelude.Text)+listProjects_nextToken = Lens.lens (\ListProjects' {nextToken} -> nextToken) (\s@ListProjects' {} a -> s {nextToken = a} :: ListProjects)++-- | The ID of the portal.+listProjects_portalId :: Lens.Lens' ListProjects Prelude.Text+listProjects_portalId = Lens.lens (\ListProjects' {portalId} -> portalId) (\s@ListProjects' {} a -> s {portalId = a} :: ListProjects)++instance Core.AWSPager ListProjects where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listProjectsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ (rs Lens.^. listProjectsResponse_projectSummaries) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listProjects_nextToken+ Lens..~ rs+ Lens.^? listProjectsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListProjects where+ type AWSResponse ListProjects = ListProjectsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListProjectsResponse'+ Prelude.<$> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> ( x+ Data..?> "projectSummaries"+ Core..!@ Prelude.mempty+ )+ )++instance Prelude.Hashable ListProjects where+ hashWithSalt _salt ListProjects' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` portalId++instance Prelude.NFData ListProjects where+ rnf ListProjects' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf portalId++instance Data.ToHeaders ListProjects where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListProjects where+ toPath = Prelude.const "/projects"++instance Data.ToQuery ListProjects where+ toQuery ListProjects' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken,+ "portalId" Data.=: portalId+ ]++-- | /See:/ 'newListProjectsResponse' smart constructor.+data ListProjectsResponse = ListProjectsResponse'+ { -- | The token for the next set of results, or null if there are no+ -- additional results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | A list that summarizes each project in the portal.+ projectSummaries :: [ProjectSummary]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListProjectsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listProjectsResponse_nextToken' - The token for the next set of results, or null if there are no+-- additional results.+--+-- 'httpStatus', 'listProjectsResponse_httpStatus' - The response's http status code.+--+-- 'projectSummaries', 'listProjectsResponse_projectSummaries' - A list that summarizes each project in the portal.+newListProjectsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListProjectsResponse+newListProjectsResponse pHttpStatus_ =+ ListProjectsResponse'+ { nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_,+ projectSummaries = Prelude.mempty+ }++-- | The token for the next set of results, or null if there are no+-- additional results.+listProjectsResponse_nextToken :: Lens.Lens' ListProjectsResponse (Prelude.Maybe Prelude.Text)+listProjectsResponse_nextToken = Lens.lens (\ListProjectsResponse' {nextToken} -> nextToken) (\s@ListProjectsResponse' {} a -> s {nextToken = a} :: ListProjectsResponse)++-- | The response's http status code.+listProjectsResponse_httpStatus :: Lens.Lens' ListProjectsResponse Prelude.Int+listProjectsResponse_httpStatus = Lens.lens (\ListProjectsResponse' {httpStatus} -> httpStatus) (\s@ListProjectsResponse' {} a -> s {httpStatus = a} :: ListProjectsResponse)++-- | A list that summarizes each project in the portal.+listProjectsResponse_projectSummaries :: Lens.Lens' ListProjectsResponse [ProjectSummary]+listProjectsResponse_projectSummaries = Lens.lens (\ListProjectsResponse' {projectSummaries} -> projectSummaries) (\s@ListProjectsResponse' {} a -> s {projectSummaries = a} :: ListProjectsResponse) Prelude.. Lens.coerced++instance Prelude.NFData ListProjectsResponse where+ rnf ListProjectsResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf projectSummaries
+ gen/Amazonka/IoTSiteWise/ListTagsForResource.hs view
@@ -0,0 +1,174 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.ListTagsForResource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the list of tags for an IoT SiteWise resource.+module Amazonka.IoTSiteWise.ListTagsForResource+ ( -- * Creating a Request+ ListTagsForResource (..),+ newListTagsForResource,++ -- * Request Lenses+ listTagsForResource_resourceArn,++ -- * Destructuring the Response+ ListTagsForResourceResponse (..),+ newListTagsForResourceResponse,++ -- * Response Lenses+ listTagsForResourceResponse_tags,+ listTagsForResourceResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListTagsForResource' smart constructor.+data ListTagsForResource = ListTagsForResource'+ { -- | The+ -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+ -- of the resource.+ resourceArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'listTagsForResource_resourceArn' - The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of the resource.+newListTagsForResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ ListTagsForResource+newListTagsForResource pResourceArn_ =+ ListTagsForResource' {resourceArn = pResourceArn_}++-- | The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of the resource.+listTagsForResource_resourceArn :: Lens.Lens' ListTagsForResource Prelude.Text+listTagsForResource_resourceArn = Lens.lens (\ListTagsForResource' {resourceArn} -> resourceArn) (\s@ListTagsForResource' {} a -> s {resourceArn = a} :: ListTagsForResource)++instance Core.AWSRequest ListTagsForResource where+ type+ AWSResponse ListTagsForResource =+ ListTagsForResourceResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListTagsForResourceResponse'+ Prelude.<$> (x Data..?> "tags" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListTagsForResource where+ hashWithSalt _salt ListTagsForResource' {..} =+ _salt `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData ListTagsForResource where+ rnf ListTagsForResource' {..} =+ Prelude.rnf resourceArn++instance Data.ToHeaders ListTagsForResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListTagsForResource where+ toPath = Prelude.const "/tags"++instance Data.ToQuery ListTagsForResource where+ toQuery ListTagsForResource' {..} =+ Prelude.mconcat ["resourceArn" Data.=: resourceArn]++-- | /See:/ 'newListTagsForResourceResponse' smart constructor.+data ListTagsForResourceResponse = ListTagsForResourceResponse'+ { -- | The list of key-value pairs that contain metadata for the resource. For+ -- more information, see+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html Tagging your IoT SiteWise resources>+ -- in the /IoT SiteWise User Guide/.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tags', 'listTagsForResourceResponse_tags' - The list of key-value pairs that contain metadata for the resource. For+-- more information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html Tagging your IoT SiteWise resources>+-- in the /IoT SiteWise User Guide/.+--+-- 'httpStatus', 'listTagsForResourceResponse_httpStatus' - The response's http status code.+newListTagsForResourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListTagsForResourceResponse+newListTagsForResourceResponse pHttpStatus_ =+ ListTagsForResourceResponse'+ { tags =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The list of key-value pairs that contain metadata for the resource. For+-- more information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html Tagging your IoT SiteWise resources>+-- in the /IoT SiteWise User Guide/.+listTagsForResourceResponse_tags :: Lens.Lens' ListTagsForResourceResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+listTagsForResourceResponse_tags = Lens.lens (\ListTagsForResourceResponse' {tags} -> tags) (\s@ListTagsForResourceResponse' {} a -> s {tags = a} :: ListTagsForResourceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listTagsForResourceResponse_httpStatus :: Lens.Lens' ListTagsForResourceResponse Prelude.Int+listTagsForResourceResponse_httpStatus = Lens.lens (\ListTagsForResourceResponse' {httpStatus} -> httpStatus) (\s@ListTagsForResourceResponse' {} a -> s {httpStatus = a} :: ListTagsForResourceResponse)++instance Prelude.NFData ListTagsForResourceResponse where+ rnf ListTagsForResourceResponse' {..} =+ Prelude.rnf tags+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTSiteWise/ListTimeSeries.hs view
@@ -0,0 +1,273 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.ListTimeSeries+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves a paginated list of time series (data streams).+--+-- This operation returns paginated results.+module Amazonka.IoTSiteWise.ListTimeSeries+ ( -- * Creating a Request+ ListTimeSeries (..),+ newListTimeSeries,++ -- * Request Lenses+ listTimeSeries_aliasPrefix,+ listTimeSeries_assetId,+ listTimeSeries_maxResults,+ listTimeSeries_nextToken,+ listTimeSeries_timeSeriesType,++ -- * Destructuring the Response+ ListTimeSeriesResponse (..),+ newListTimeSeriesResponse,++ -- * Response Lenses+ listTimeSeriesResponse_nextToken,+ listTimeSeriesResponse_httpStatus,+ listTimeSeriesResponse_timeSeriesSummaries,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListTimeSeries' smart constructor.+data ListTimeSeries = ListTimeSeries'+ { -- | The alias prefix of the time series.+ aliasPrefix :: Prelude.Maybe Prelude.Text,+ -- | The ID of the asset in which the asset property was created.+ assetId :: Prelude.Maybe Prelude.Text,+ -- | The maximum number of results to return for each paginated request.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The token to be used for the next set of paginated results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | 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.+ timeSeriesType :: Prelude.Maybe ListTimeSeriesType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTimeSeries' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'aliasPrefix', 'listTimeSeries_aliasPrefix' - The alias prefix of the time series.+--+-- 'assetId', 'listTimeSeries_assetId' - The ID of the asset in which the asset property was created.+--+-- 'maxResults', 'listTimeSeries_maxResults' - The maximum number of results to return for each paginated request.+--+-- 'nextToken', 'listTimeSeries_nextToken' - The token to be used for the next set of paginated results.+--+-- 'timeSeriesType', 'listTimeSeries_timeSeriesType' - 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.+newListTimeSeries ::+ ListTimeSeries+newListTimeSeries =+ ListTimeSeries'+ { aliasPrefix = Prelude.Nothing,+ assetId = Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ timeSeriesType = Prelude.Nothing+ }++-- | The alias prefix of the time series.+listTimeSeries_aliasPrefix :: Lens.Lens' ListTimeSeries (Prelude.Maybe Prelude.Text)+listTimeSeries_aliasPrefix = Lens.lens (\ListTimeSeries' {aliasPrefix} -> aliasPrefix) (\s@ListTimeSeries' {} a -> s {aliasPrefix = a} :: ListTimeSeries)++-- | The ID of the asset in which the asset property was created.+listTimeSeries_assetId :: Lens.Lens' ListTimeSeries (Prelude.Maybe Prelude.Text)+listTimeSeries_assetId = Lens.lens (\ListTimeSeries' {assetId} -> assetId) (\s@ListTimeSeries' {} a -> s {assetId = a} :: ListTimeSeries)++-- | The maximum number of results to return for each paginated request.+listTimeSeries_maxResults :: Lens.Lens' ListTimeSeries (Prelude.Maybe Prelude.Natural)+listTimeSeries_maxResults = Lens.lens (\ListTimeSeries' {maxResults} -> maxResults) (\s@ListTimeSeries' {} a -> s {maxResults = a} :: ListTimeSeries)++-- | The token to be used for the next set of paginated results.+listTimeSeries_nextToken :: Lens.Lens' ListTimeSeries (Prelude.Maybe Prelude.Text)+listTimeSeries_nextToken = Lens.lens (\ListTimeSeries' {nextToken} -> nextToken) (\s@ListTimeSeries' {} a -> s {nextToken = a} :: ListTimeSeries)++-- | 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.+listTimeSeries_timeSeriesType :: Lens.Lens' ListTimeSeries (Prelude.Maybe ListTimeSeriesType)+listTimeSeries_timeSeriesType = Lens.lens (\ListTimeSeries' {timeSeriesType} -> timeSeriesType) (\s@ListTimeSeries' {} a -> s {timeSeriesType = a} :: ListTimeSeries)++instance Core.AWSPager ListTimeSeries where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listTimeSeriesResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^. listTimeSeriesResponse_timeSeriesSummaries+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listTimeSeries_nextToken+ Lens..~ rs+ Lens.^? listTimeSeriesResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListTimeSeries where+ type+ AWSResponse ListTimeSeries =+ ListTimeSeriesResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListTimeSeriesResponse'+ Prelude.<$> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> ( x+ Data..?> "TimeSeriesSummaries"+ Core..!@ Prelude.mempty+ )+ )++instance Prelude.Hashable ListTimeSeries where+ hashWithSalt _salt ListTimeSeries' {..} =+ _salt+ `Prelude.hashWithSalt` aliasPrefix+ `Prelude.hashWithSalt` assetId+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` timeSeriesType++instance Prelude.NFData ListTimeSeries where+ rnf ListTimeSeries' {..} =+ Prelude.rnf aliasPrefix+ `Prelude.seq` Prelude.rnf assetId+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf timeSeriesType++instance Data.ToHeaders ListTimeSeries where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListTimeSeries where+ toPath = Prelude.const "/timeseries/"++instance Data.ToQuery ListTimeSeries where+ toQuery ListTimeSeries' {..} =+ Prelude.mconcat+ [ "aliasPrefix" Data.=: aliasPrefix,+ "assetId" Data.=: assetId,+ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken,+ "timeSeriesType" Data.=: timeSeriesType+ ]++-- | /See:/ 'newListTimeSeriesResponse' smart constructor.+data ListTimeSeriesResponse = ListTimeSeriesResponse'+ { -- | The token for the next set of results, or null if there are no+ -- additional results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | One or more time series summaries to list.+ timeSeriesSummaries :: [TimeSeriesSummary]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTimeSeriesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listTimeSeriesResponse_nextToken' - The token for the next set of results, or null if there are no+-- additional results.+--+-- 'httpStatus', 'listTimeSeriesResponse_httpStatus' - The response's http status code.+--+-- 'timeSeriesSummaries', 'listTimeSeriesResponse_timeSeriesSummaries' - One or more time series summaries to list.+newListTimeSeriesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListTimeSeriesResponse+newListTimeSeriesResponse pHttpStatus_ =+ ListTimeSeriesResponse'+ { nextToken =+ Prelude.Nothing,+ httpStatus = pHttpStatus_,+ timeSeriesSummaries = Prelude.mempty+ }++-- | The token for the next set of results, or null if there are no+-- additional results.+listTimeSeriesResponse_nextToken :: Lens.Lens' ListTimeSeriesResponse (Prelude.Maybe Prelude.Text)+listTimeSeriesResponse_nextToken = Lens.lens (\ListTimeSeriesResponse' {nextToken} -> nextToken) (\s@ListTimeSeriesResponse' {} a -> s {nextToken = a} :: ListTimeSeriesResponse)++-- | The response's http status code.+listTimeSeriesResponse_httpStatus :: Lens.Lens' ListTimeSeriesResponse Prelude.Int+listTimeSeriesResponse_httpStatus = Lens.lens (\ListTimeSeriesResponse' {httpStatus} -> httpStatus) (\s@ListTimeSeriesResponse' {} a -> s {httpStatus = a} :: ListTimeSeriesResponse)++-- | One or more time series summaries to list.+listTimeSeriesResponse_timeSeriesSummaries :: Lens.Lens' ListTimeSeriesResponse [TimeSeriesSummary]+listTimeSeriesResponse_timeSeriesSummaries = Lens.lens (\ListTimeSeriesResponse' {timeSeriesSummaries} -> timeSeriesSummaries) (\s@ListTimeSeriesResponse' {} a -> s {timeSeriesSummaries = a} :: ListTimeSeriesResponse) Prelude.. Lens.coerced++instance Prelude.NFData ListTimeSeriesResponse where+ rnf ListTimeSeriesResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf timeSeriesSummaries
+ gen/Amazonka/IoTSiteWise/PutDefaultEncryptionConfiguration.hs view
@@ -0,0 +1,259 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.PutDefaultEncryptionConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Sets the default encryption configuration for the Amazon Web Services+-- account. For more information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/key-management.html Key management>+-- in the /IoT SiteWise User Guide/.+module Amazonka.IoTSiteWise.PutDefaultEncryptionConfiguration+ ( -- * Creating a Request+ PutDefaultEncryptionConfiguration (..),+ newPutDefaultEncryptionConfiguration,++ -- * Request Lenses+ putDefaultEncryptionConfiguration_kmsKeyId,+ putDefaultEncryptionConfiguration_encryptionType,++ -- * Destructuring the Response+ PutDefaultEncryptionConfigurationResponse (..),+ newPutDefaultEncryptionConfigurationResponse,++ -- * Response Lenses+ putDefaultEncryptionConfigurationResponse_kmsKeyArn,+ putDefaultEncryptionConfigurationResponse_httpStatus,+ putDefaultEncryptionConfigurationResponse_encryptionType,+ putDefaultEncryptionConfigurationResponse_configurationStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newPutDefaultEncryptionConfiguration' smart constructor.+data PutDefaultEncryptionConfiguration = PutDefaultEncryptionConfiguration'+ { -- | The Key ID of the customer managed key used for KMS encryption. This is+ -- required if you use @KMS_BASED_ENCRYPTION@.+ kmsKeyId :: Prelude.Maybe Prelude.Text,+ -- | The type of encryption used for the encryption configuration.+ encryptionType :: EncryptionType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutDefaultEncryptionConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'kmsKeyId', 'putDefaultEncryptionConfiguration_kmsKeyId' - The Key ID of the customer managed key used for KMS encryption. This is+-- required if you use @KMS_BASED_ENCRYPTION@.+--+-- 'encryptionType', 'putDefaultEncryptionConfiguration_encryptionType' - The type of encryption used for the encryption configuration.+newPutDefaultEncryptionConfiguration ::+ -- | 'encryptionType'+ EncryptionType ->+ PutDefaultEncryptionConfiguration+newPutDefaultEncryptionConfiguration pEncryptionType_ =+ PutDefaultEncryptionConfiguration'+ { kmsKeyId =+ Prelude.Nothing,+ encryptionType = pEncryptionType_+ }++-- | The Key ID of the customer managed key used for KMS encryption. This is+-- required if you use @KMS_BASED_ENCRYPTION@.+putDefaultEncryptionConfiguration_kmsKeyId :: Lens.Lens' PutDefaultEncryptionConfiguration (Prelude.Maybe Prelude.Text)+putDefaultEncryptionConfiguration_kmsKeyId = Lens.lens (\PutDefaultEncryptionConfiguration' {kmsKeyId} -> kmsKeyId) (\s@PutDefaultEncryptionConfiguration' {} a -> s {kmsKeyId = a} :: PutDefaultEncryptionConfiguration)++-- | The type of encryption used for the encryption configuration.+putDefaultEncryptionConfiguration_encryptionType :: Lens.Lens' PutDefaultEncryptionConfiguration EncryptionType+putDefaultEncryptionConfiguration_encryptionType = Lens.lens (\PutDefaultEncryptionConfiguration' {encryptionType} -> encryptionType) (\s@PutDefaultEncryptionConfiguration' {} a -> s {encryptionType = a} :: PutDefaultEncryptionConfiguration)++instance+ Core.AWSRequest+ PutDefaultEncryptionConfiguration+ where+ type+ AWSResponse PutDefaultEncryptionConfiguration =+ PutDefaultEncryptionConfigurationResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ PutDefaultEncryptionConfigurationResponse'+ Prelude.<$> (x Data..?> "kmsKeyArn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "encryptionType")+ Prelude.<*> (x Data..:> "configurationStatus")+ )++instance+ Prelude.Hashable+ PutDefaultEncryptionConfiguration+ where+ hashWithSalt+ _salt+ PutDefaultEncryptionConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` kmsKeyId+ `Prelude.hashWithSalt` encryptionType++instance+ Prelude.NFData+ PutDefaultEncryptionConfiguration+ where+ rnf PutDefaultEncryptionConfiguration' {..} =+ Prelude.rnf kmsKeyId+ `Prelude.seq` Prelude.rnf encryptionType++instance+ Data.ToHeaders+ PutDefaultEncryptionConfiguration+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToJSON+ PutDefaultEncryptionConfiguration+ where+ toJSON PutDefaultEncryptionConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("kmsKeyId" Data..=) Prelude.<$> kmsKeyId,+ Prelude.Just+ ("encryptionType" Data..= encryptionType)+ ]+ )++instance+ Data.ToPath+ PutDefaultEncryptionConfiguration+ where+ toPath =+ Prelude.const "/configuration/account/encryption"++instance+ Data.ToQuery+ PutDefaultEncryptionConfiguration+ where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newPutDefaultEncryptionConfigurationResponse' smart constructor.+data PutDefaultEncryptionConfigurationResponse = PutDefaultEncryptionConfigurationResponse'+ { -- | The Key ARN of the KMS key used for KMS encryption if you use+ -- @KMS_BASED_ENCRYPTION@.+ kmsKeyArn :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The type of encryption used for the encryption configuration.+ encryptionType :: EncryptionType,+ -- | The status of the account configuration. This contains the+ -- @ConfigurationState@. If there is an error, it also contains the+ -- @ErrorDetails@.+ configurationStatus :: ConfigurationStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutDefaultEncryptionConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'kmsKeyArn', 'putDefaultEncryptionConfigurationResponse_kmsKeyArn' - The Key ARN of the KMS key used for KMS encryption if you use+-- @KMS_BASED_ENCRYPTION@.+--+-- 'httpStatus', 'putDefaultEncryptionConfigurationResponse_httpStatus' - The response's http status code.+--+-- 'encryptionType', 'putDefaultEncryptionConfigurationResponse_encryptionType' - The type of encryption used for the encryption configuration.+--+-- 'configurationStatus', 'putDefaultEncryptionConfigurationResponse_configurationStatus' - The status of the account configuration. This contains the+-- @ConfigurationState@. If there is an error, it also contains the+-- @ErrorDetails@.+newPutDefaultEncryptionConfigurationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'encryptionType'+ EncryptionType ->+ -- | 'configurationStatus'+ ConfigurationStatus ->+ PutDefaultEncryptionConfigurationResponse+newPutDefaultEncryptionConfigurationResponse+ pHttpStatus_+ pEncryptionType_+ pConfigurationStatus_ =+ PutDefaultEncryptionConfigurationResponse'+ { kmsKeyArn =+ Prelude.Nothing,+ httpStatus = pHttpStatus_,+ encryptionType =+ pEncryptionType_,+ configurationStatus =+ pConfigurationStatus_+ }++-- | The Key ARN of the KMS key used for KMS encryption if you use+-- @KMS_BASED_ENCRYPTION@.+putDefaultEncryptionConfigurationResponse_kmsKeyArn :: Lens.Lens' PutDefaultEncryptionConfigurationResponse (Prelude.Maybe Prelude.Text)+putDefaultEncryptionConfigurationResponse_kmsKeyArn = Lens.lens (\PutDefaultEncryptionConfigurationResponse' {kmsKeyArn} -> kmsKeyArn) (\s@PutDefaultEncryptionConfigurationResponse' {} a -> s {kmsKeyArn = a} :: PutDefaultEncryptionConfigurationResponse)++-- | The response's http status code.+putDefaultEncryptionConfigurationResponse_httpStatus :: Lens.Lens' PutDefaultEncryptionConfigurationResponse Prelude.Int+putDefaultEncryptionConfigurationResponse_httpStatus = Lens.lens (\PutDefaultEncryptionConfigurationResponse' {httpStatus} -> httpStatus) (\s@PutDefaultEncryptionConfigurationResponse' {} a -> s {httpStatus = a} :: PutDefaultEncryptionConfigurationResponse)++-- | The type of encryption used for the encryption configuration.+putDefaultEncryptionConfigurationResponse_encryptionType :: Lens.Lens' PutDefaultEncryptionConfigurationResponse EncryptionType+putDefaultEncryptionConfigurationResponse_encryptionType = Lens.lens (\PutDefaultEncryptionConfigurationResponse' {encryptionType} -> encryptionType) (\s@PutDefaultEncryptionConfigurationResponse' {} a -> s {encryptionType = a} :: PutDefaultEncryptionConfigurationResponse)++-- | The status of the account configuration. This contains the+-- @ConfigurationState@. If there is an error, it also contains the+-- @ErrorDetails@.+putDefaultEncryptionConfigurationResponse_configurationStatus :: Lens.Lens' PutDefaultEncryptionConfigurationResponse ConfigurationStatus+putDefaultEncryptionConfigurationResponse_configurationStatus = Lens.lens (\PutDefaultEncryptionConfigurationResponse' {configurationStatus} -> configurationStatus) (\s@PutDefaultEncryptionConfigurationResponse' {} a -> s {configurationStatus = a} :: PutDefaultEncryptionConfigurationResponse)++instance+ Prelude.NFData+ PutDefaultEncryptionConfigurationResponse+ where+ rnf PutDefaultEncryptionConfigurationResponse' {..} =+ Prelude.rnf kmsKeyArn+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf encryptionType+ `Prelude.seq` Prelude.rnf configurationStatus
+ gen/Amazonka/IoTSiteWise/PutLoggingOptions.hs view
@@ -0,0 +1,158 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.PutLoggingOptions+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Sets logging options for IoT SiteWise.+module Amazonka.IoTSiteWise.PutLoggingOptions+ ( -- * Creating a Request+ PutLoggingOptions (..),+ newPutLoggingOptions,++ -- * Request Lenses+ putLoggingOptions_loggingOptions,++ -- * Destructuring the Response+ PutLoggingOptionsResponse (..),+ newPutLoggingOptionsResponse,++ -- * Response Lenses+ putLoggingOptionsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newPutLoggingOptions' smart constructor.+data PutLoggingOptions = PutLoggingOptions'+ { -- | The logging options to set.+ loggingOptions :: LoggingOptions+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutLoggingOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'loggingOptions', 'putLoggingOptions_loggingOptions' - The logging options to set.+newPutLoggingOptions ::+ -- | 'loggingOptions'+ LoggingOptions ->+ PutLoggingOptions+newPutLoggingOptions pLoggingOptions_ =+ PutLoggingOptions'+ { loggingOptions =+ pLoggingOptions_+ }++-- | The logging options to set.+putLoggingOptions_loggingOptions :: Lens.Lens' PutLoggingOptions LoggingOptions+putLoggingOptions_loggingOptions = Lens.lens (\PutLoggingOptions' {loggingOptions} -> loggingOptions) (\s@PutLoggingOptions' {} a -> s {loggingOptions = a} :: PutLoggingOptions)++instance Core.AWSRequest PutLoggingOptions where+ type+ AWSResponse PutLoggingOptions =+ PutLoggingOptionsResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ PutLoggingOptionsResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable PutLoggingOptions where+ hashWithSalt _salt PutLoggingOptions' {..} =+ _salt `Prelude.hashWithSalt` loggingOptions++instance Prelude.NFData PutLoggingOptions where+ rnf PutLoggingOptions' {..} =+ Prelude.rnf loggingOptions++instance Data.ToHeaders PutLoggingOptions where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON PutLoggingOptions where+ toJSON PutLoggingOptions' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("loggingOptions" Data..= loggingOptions)+ ]+ )++instance Data.ToPath PutLoggingOptions where+ toPath = Prelude.const "/logging"++instance Data.ToQuery PutLoggingOptions where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newPutLoggingOptionsResponse' smart constructor.+data PutLoggingOptionsResponse = PutLoggingOptionsResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutLoggingOptionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'putLoggingOptionsResponse_httpStatus' - The response's http status code.+newPutLoggingOptionsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ PutLoggingOptionsResponse+newPutLoggingOptionsResponse pHttpStatus_ =+ PutLoggingOptionsResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+putLoggingOptionsResponse_httpStatus :: Lens.Lens' PutLoggingOptionsResponse Prelude.Int+putLoggingOptionsResponse_httpStatus = Lens.lens (\PutLoggingOptionsResponse' {httpStatus} -> httpStatus) (\s@PutLoggingOptionsResponse' {} a -> s {httpStatus = a} :: PutLoggingOptionsResponse)++instance Prelude.NFData PutLoggingOptionsResponse where+ rnf PutLoggingOptionsResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/IoTSiteWise/PutStorageConfiguration.hs view
@@ -0,0 +1,410 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.PutStorageConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Configures storage settings for IoT SiteWise.+module Amazonka.IoTSiteWise.PutStorageConfiguration+ ( -- * Creating a Request+ PutStorageConfiguration (..),+ newPutStorageConfiguration,++ -- * Request Lenses+ putStorageConfiguration_disassociatedDataStorage,+ putStorageConfiguration_multiLayerStorage,+ putStorageConfiguration_retentionPeriod,+ putStorageConfiguration_storageType,++ -- * Destructuring the Response+ PutStorageConfigurationResponse (..),+ newPutStorageConfigurationResponse,++ -- * Response Lenses+ putStorageConfigurationResponse_disassociatedDataStorage,+ putStorageConfigurationResponse_multiLayerStorage,+ putStorageConfigurationResponse_retentionPeriod,+ putStorageConfigurationResponse_httpStatus,+ putStorageConfigurationResponse_storageType,+ putStorageConfigurationResponse_configurationStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newPutStorageConfiguration' smart constructor.+data PutStorageConfiguration = PutStorageConfiguration'+ { -- | 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+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/data-streams.html Data streams>+ -- in the /IoT SiteWise User Guide/.+ disassociatedDataStorage :: Prelude.Maybe DisassociatedDataStorageState,+ -- | Identifies a storage destination. If you specified @MULTI_LAYER_STORAGE@+ -- for the storage type, you must specify a @MultiLayerStorage@ object.+ multiLayerStorage :: Prelude.Maybe MultiLayerStorage,+ retentionPeriod :: Prelude.Maybe RetentionPeriod,+ -- | 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.+ storageType :: StorageType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutStorageConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'disassociatedDataStorage', 'putStorageConfiguration_disassociatedDataStorage' - 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/data-streams.html Data streams>+-- in the /IoT SiteWise User Guide/.+--+-- 'multiLayerStorage', 'putStorageConfiguration_multiLayerStorage' - Identifies a storage destination. If you specified @MULTI_LAYER_STORAGE@+-- for the storage type, you must specify a @MultiLayerStorage@ object.+--+-- 'retentionPeriod', 'putStorageConfiguration_retentionPeriod' - Undocumented member.+--+-- 'storageType', 'putStorageConfiguration_storageType' - 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.+newPutStorageConfiguration ::+ -- | 'storageType'+ StorageType ->+ PutStorageConfiguration+newPutStorageConfiguration pStorageType_ =+ PutStorageConfiguration'+ { disassociatedDataStorage =+ Prelude.Nothing,+ multiLayerStorage = Prelude.Nothing,+ retentionPeriod = Prelude.Nothing,+ storageType = pStorageType_+ }++-- | 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/data-streams.html Data streams>+-- in the /IoT SiteWise User Guide/.+putStorageConfiguration_disassociatedDataStorage :: Lens.Lens' PutStorageConfiguration (Prelude.Maybe DisassociatedDataStorageState)+putStorageConfiguration_disassociatedDataStorage = Lens.lens (\PutStorageConfiguration' {disassociatedDataStorage} -> disassociatedDataStorage) (\s@PutStorageConfiguration' {} a -> s {disassociatedDataStorage = a} :: PutStorageConfiguration)++-- | Identifies a storage destination. If you specified @MULTI_LAYER_STORAGE@+-- for the storage type, you must specify a @MultiLayerStorage@ object.+putStorageConfiguration_multiLayerStorage :: Lens.Lens' PutStorageConfiguration (Prelude.Maybe MultiLayerStorage)+putStorageConfiguration_multiLayerStorage = Lens.lens (\PutStorageConfiguration' {multiLayerStorage} -> multiLayerStorage) (\s@PutStorageConfiguration' {} a -> s {multiLayerStorage = a} :: PutStorageConfiguration)++-- | Undocumented member.+putStorageConfiguration_retentionPeriod :: Lens.Lens' PutStorageConfiguration (Prelude.Maybe RetentionPeriod)+putStorageConfiguration_retentionPeriod = Lens.lens (\PutStorageConfiguration' {retentionPeriod} -> retentionPeriod) (\s@PutStorageConfiguration' {} a -> s {retentionPeriod = a} :: PutStorageConfiguration)++-- | 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.+putStorageConfiguration_storageType :: Lens.Lens' PutStorageConfiguration StorageType+putStorageConfiguration_storageType = Lens.lens (\PutStorageConfiguration' {storageType} -> storageType) (\s@PutStorageConfiguration' {} a -> s {storageType = a} :: PutStorageConfiguration)++instance Core.AWSRequest PutStorageConfiguration where+ type+ AWSResponse PutStorageConfiguration =+ PutStorageConfigurationResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ PutStorageConfigurationResponse'+ Prelude.<$> (x Data..?> "disassociatedDataStorage")+ Prelude.<*> (x Data..?> "multiLayerStorage")+ Prelude.<*> (x Data..?> "retentionPeriod")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "storageType")+ Prelude.<*> (x Data..:> "configurationStatus")+ )++instance Prelude.Hashable PutStorageConfiguration where+ hashWithSalt _salt PutStorageConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` disassociatedDataStorage+ `Prelude.hashWithSalt` multiLayerStorage+ `Prelude.hashWithSalt` retentionPeriod+ `Prelude.hashWithSalt` storageType++instance Prelude.NFData PutStorageConfiguration where+ rnf PutStorageConfiguration' {..} =+ Prelude.rnf disassociatedDataStorage+ `Prelude.seq` Prelude.rnf multiLayerStorage+ `Prelude.seq` Prelude.rnf retentionPeriod+ `Prelude.seq` Prelude.rnf storageType++instance Data.ToHeaders PutStorageConfiguration where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON PutStorageConfiguration where+ toJSON PutStorageConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("disassociatedDataStorage" Data..=)+ Prelude.<$> disassociatedDataStorage,+ ("multiLayerStorage" Data..=)+ Prelude.<$> multiLayerStorage,+ ("retentionPeriod" Data..=)+ Prelude.<$> retentionPeriod,+ Prelude.Just ("storageType" Data..= storageType)+ ]+ )++instance Data.ToPath PutStorageConfiguration where+ toPath =+ Prelude.const "/configuration/account/storage"++instance Data.ToQuery PutStorageConfiguration where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newPutStorageConfigurationResponse' smart constructor.+data PutStorageConfigurationResponse = PutStorageConfigurationResponse'+ { -- | 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+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/data-streams.html Data streams>+ -- in the /IoT SiteWise User Guide/.+ disassociatedDataStorage :: Prelude.Maybe DisassociatedDataStorageState,+ -- | Contains information about the storage destination.+ multiLayerStorage :: Prelude.Maybe MultiLayerStorage,+ retentionPeriod :: Prelude.Maybe RetentionPeriod,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | 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.+ storageType :: StorageType,+ configurationStatus :: ConfigurationStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutStorageConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'disassociatedDataStorage', 'putStorageConfigurationResponse_disassociatedDataStorage' - 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/data-streams.html Data streams>+-- in the /IoT SiteWise User Guide/.+--+-- 'multiLayerStorage', 'putStorageConfigurationResponse_multiLayerStorage' - Contains information about the storage destination.+--+-- 'retentionPeriod', 'putStorageConfigurationResponse_retentionPeriod' - Undocumented member.+--+-- 'httpStatus', 'putStorageConfigurationResponse_httpStatus' - The response's http status code.+--+-- 'storageType', 'putStorageConfigurationResponse_storageType' - 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.+--+-- 'configurationStatus', 'putStorageConfigurationResponse_configurationStatus' - Undocumented member.+newPutStorageConfigurationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'storageType'+ StorageType ->+ -- | 'configurationStatus'+ ConfigurationStatus ->+ PutStorageConfigurationResponse+newPutStorageConfigurationResponse+ pHttpStatus_+ pStorageType_+ pConfigurationStatus_ =+ PutStorageConfigurationResponse'+ { disassociatedDataStorage =+ Prelude.Nothing,+ multiLayerStorage = Prelude.Nothing,+ retentionPeriod = Prelude.Nothing,+ httpStatus = pHttpStatus_,+ storageType = pStorageType_,+ configurationStatus =+ pConfigurationStatus_+ }++-- | 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/data-streams.html Data streams>+-- in the /IoT SiteWise User Guide/.+putStorageConfigurationResponse_disassociatedDataStorage :: Lens.Lens' PutStorageConfigurationResponse (Prelude.Maybe DisassociatedDataStorageState)+putStorageConfigurationResponse_disassociatedDataStorage = Lens.lens (\PutStorageConfigurationResponse' {disassociatedDataStorage} -> disassociatedDataStorage) (\s@PutStorageConfigurationResponse' {} a -> s {disassociatedDataStorage = a} :: PutStorageConfigurationResponse)++-- | Contains information about the storage destination.+putStorageConfigurationResponse_multiLayerStorage :: Lens.Lens' PutStorageConfigurationResponse (Prelude.Maybe MultiLayerStorage)+putStorageConfigurationResponse_multiLayerStorage = Lens.lens (\PutStorageConfigurationResponse' {multiLayerStorage} -> multiLayerStorage) (\s@PutStorageConfigurationResponse' {} a -> s {multiLayerStorage = a} :: PutStorageConfigurationResponse)++-- | Undocumented member.+putStorageConfigurationResponse_retentionPeriod :: Lens.Lens' PutStorageConfigurationResponse (Prelude.Maybe RetentionPeriod)+putStorageConfigurationResponse_retentionPeriod = Lens.lens (\PutStorageConfigurationResponse' {retentionPeriod} -> retentionPeriod) (\s@PutStorageConfigurationResponse' {} a -> s {retentionPeriod = a} :: PutStorageConfigurationResponse)++-- | The response's http status code.+putStorageConfigurationResponse_httpStatus :: Lens.Lens' PutStorageConfigurationResponse Prelude.Int+putStorageConfigurationResponse_httpStatus = Lens.lens (\PutStorageConfigurationResponse' {httpStatus} -> httpStatus) (\s@PutStorageConfigurationResponse' {} a -> s {httpStatus = a} :: 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.+putStorageConfigurationResponse_storageType :: Lens.Lens' PutStorageConfigurationResponse StorageType+putStorageConfigurationResponse_storageType = Lens.lens (\PutStorageConfigurationResponse' {storageType} -> storageType) (\s@PutStorageConfigurationResponse' {} a -> s {storageType = a} :: PutStorageConfigurationResponse)++-- | Undocumented member.+putStorageConfigurationResponse_configurationStatus :: Lens.Lens' PutStorageConfigurationResponse ConfigurationStatus+putStorageConfigurationResponse_configurationStatus = Lens.lens (\PutStorageConfigurationResponse' {configurationStatus} -> configurationStatus) (\s@PutStorageConfigurationResponse' {} a -> s {configurationStatus = a} :: PutStorageConfigurationResponse)++instance+ Prelude.NFData+ PutStorageConfigurationResponse+ where+ rnf PutStorageConfigurationResponse' {..} =+ Prelude.rnf disassociatedDataStorage+ `Prelude.seq` Prelude.rnf multiLayerStorage+ `Prelude.seq` Prelude.rnf retentionPeriod+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf storageType+ `Prelude.seq` Prelude.rnf configurationStatus
+ gen/Amazonka/IoTSiteWise/TagResource.hs view
@@ -0,0 +1,179 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.TagResource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Adds tags to an IoT SiteWise resource. If a tag already exists for the+-- resource, this operation updates the tag\'s value.+module Amazonka.IoTSiteWise.TagResource+ ( -- * Creating a Request+ TagResource (..),+ newTagResource,++ -- * Request Lenses+ tagResource_resourceArn,+ tagResource_tags,++ -- * Destructuring the Response+ TagResourceResponse (..),+ newTagResourceResponse,++ -- * Response Lenses+ tagResourceResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newTagResource' smart constructor.+data TagResource = TagResource'+ { -- | The+ -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+ -- of the resource to tag.+ resourceArn :: Prelude.Text,+ -- | A list of key-value pairs that contain metadata for the resource. For+ -- more information, see+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html Tagging your IoT SiteWise resources>+ -- in the /IoT SiteWise User Guide/.+ tags :: Prelude.HashMap Prelude.Text Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'tagResource_resourceArn' - The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of the resource to tag.+--+-- 'tags', 'tagResource_tags' - A list of key-value pairs that contain metadata for the resource. For+-- more information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html Tagging your IoT SiteWise resources>+-- in the /IoT SiteWise User Guide/.+newTagResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ TagResource+newTagResource pResourceArn_ =+ TagResource'+ { resourceArn = pResourceArn_,+ tags = Prelude.mempty+ }++-- | The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of the resource to tag.+tagResource_resourceArn :: Lens.Lens' TagResource Prelude.Text+tagResource_resourceArn = Lens.lens (\TagResource' {resourceArn} -> resourceArn) (\s@TagResource' {} a -> s {resourceArn = a} :: TagResource)++-- | A list of key-value pairs that contain metadata for the resource. For+-- more information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html Tagging your IoT SiteWise resources>+-- in the /IoT SiteWise User Guide/.+tagResource_tags :: Lens.Lens' TagResource (Prelude.HashMap Prelude.Text Prelude.Text)+tagResource_tags = Lens.lens (\TagResource' {tags} -> tags) (\s@TagResource' {} a -> s {tags = a} :: TagResource) Prelude.. Lens.coerced++instance Core.AWSRequest TagResource where+ type AWSResponse TagResource = TagResourceResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ TagResourceResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable TagResource where+ hashWithSalt _salt TagResource' {..} =+ _salt+ `Prelude.hashWithSalt` resourceArn+ `Prelude.hashWithSalt` tags++instance Prelude.NFData TagResource where+ rnf TagResource' {..} =+ Prelude.rnf resourceArn+ `Prelude.seq` Prelude.rnf tags++instance Data.ToHeaders TagResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON TagResource where+ toJSON TagResource' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("tags" Data..= tags)]+ )++instance Data.ToPath TagResource where+ toPath = Prelude.const "/tags"++instance Data.ToQuery TagResource where+ toQuery TagResource' {..} =+ Prelude.mconcat ["resourceArn" Data.=: resourceArn]++-- | /See:/ 'newTagResourceResponse' smart constructor.+data TagResourceResponse = TagResourceResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'tagResourceResponse_httpStatus' - The response's http status code.+newTagResourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ TagResourceResponse+newTagResourceResponse pHttpStatus_ =+ TagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+tagResourceResponse_httpStatus :: Lens.Lens' TagResourceResponse Prelude.Int+tagResourceResponse_httpStatus = Lens.lens (\TagResourceResponse' {httpStatus} -> httpStatus) (\s@TagResourceResponse' {} a -> s {httpStatus = a} :: TagResourceResponse)++instance Prelude.NFData TagResourceResponse where+ rnf TagResourceResponse' {..} = Prelude.rnf httpStatus
+ gen/Amazonka/IoTSiteWise/Types.hs view
@@ -0,0 +1,1153 @@+{-# LANGUAGE DisambiguateRecordFields #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ _ConflictingOperationException,+ _InternalFailureException,+ _InvalidRequestException,+ _LimitExceededException,+ _ResourceAlreadyExistsException,+ _ResourceNotFoundException,+ _ServiceUnavailableException,+ _ThrottlingException,+ _TooManyTagsException,+ _UnauthorizedException,++ -- * AggregateType+ AggregateType (..),++ -- * AssetErrorCode+ AssetErrorCode (..),++ -- * AssetModelState+ AssetModelState (..),++ -- * AssetRelationshipType+ AssetRelationshipType (..),++ -- * AssetState+ AssetState (..),++ -- * AuthMode+ AuthMode (..),++ -- * BatchEntryCompletionStatus+ BatchEntryCompletionStatus (..),++ -- * BatchGetAssetPropertyAggregatesErrorCode+ BatchGetAssetPropertyAggregatesErrorCode (..),++ -- * BatchGetAssetPropertyValueErrorCode+ BatchGetAssetPropertyValueErrorCode (..),++ -- * BatchGetAssetPropertyValueHistoryErrorCode+ BatchGetAssetPropertyValueHistoryErrorCode (..),++ -- * BatchPutAssetPropertyValueErrorCode+ BatchPutAssetPropertyValueErrorCode (..),++ -- * CapabilitySyncStatus+ CapabilitySyncStatus (..),++ -- * ColumnName+ ColumnName (..),++ -- * ComputeLocation+ ComputeLocation (..),++ -- * ConfigurationState+ ConfigurationState (..),++ -- * DetailedErrorCode+ DetailedErrorCode (..),++ -- * DisassociatedDataStorageState+ DisassociatedDataStorageState (..),++ -- * EncryptionType+ EncryptionType (..),++ -- * ErrorCode+ ErrorCode (..),++ -- * ForwardingConfigState+ ForwardingConfigState (..),++ -- * IdentityType+ IdentityType (..),++ -- * ImageFileType+ ImageFileType (..),++ -- * JobStatus+ JobStatus (..),++ -- * ListAssetModelPropertiesFilter+ ListAssetModelPropertiesFilter (..),++ -- * ListAssetPropertiesFilter+ ListAssetPropertiesFilter (..),++ -- * ListAssetsFilter+ ListAssetsFilter (..),++ -- * ListBulkImportJobsFilter+ ListBulkImportJobsFilter (..),++ -- * ListTimeSeriesType+ ListTimeSeriesType (..),++ -- * LoggingLevel+ LoggingLevel (..),++ -- * MonitorErrorCode+ MonitorErrorCode (..),++ -- * Permission+ Permission (..),++ -- * PortalState+ PortalState (..),++ -- * PropertyDataType+ PropertyDataType (..),++ -- * PropertyNotificationState+ PropertyNotificationState (..),++ -- * Quality+ Quality (..),++ -- * ResourceType+ ResourceType (..),++ -- * StorageType+ StorageType (..),++ -- * TimeOrdering+ TimeOrdering (..),++ -- * TraversalDirection+ TraversalDirection (..),++ -- * TraversalType+ TraversalType (..),++ -- * AccessPolicySummary+ AccessPolicySummary (..),+ newAccessPolicySummary,+ accessPolicySummary_creationDate,+ accessPolicySummary_lastUpdateDate,+ accessPolicySummary_id,+ accessPolicySummary_identity,+ accessPolicySummary_resource,+ accessPolicySummary_permission,++ -- * AggregatedValue+ AggregatedValue (..),+ newAggregatedValue,+ aggregatedValue_quality,+ aggregatedValue_timestamp,+ aggregatedValue_value,++ -- * Aggregates+ Aggregates (..),+ newAggregates,+ aggregates_average,+ aggregates_count,+ aggregates_maximum,+ aggregates_minimum,+ aggregates_standardDeviation,+ aggregates_sum,++ -- * Alarms+ Alarms (..),+ newAlarms,+ alarms_notificationLambdaArn,+ alarms_alarmRoleArn,++ -- * AssetCompositeModel+ AssetCompositeModel (..),+ newAssetCompositeModel,+ assetCompositeModel_description,+ assetCompositeModel_id,+ assetCompositeModel_name,+ assetCompositeModel_type,+ assetCompositeModel_properties,++ -- * AssetErrorDetails+ AssetErrorDetails (..),+ newAssetErrorDetails,+ assetErrorDetails_assetId,+ assetErrorDetails_code,+ assetErrorDetails_message,++ -- * AssetHierarchy+ AssetHierarchy (..),+ newAssetHierarchy,+ assetHierarchy_id,+ assetHierarchy_name,++ -- * AssetHierarchyInfo+ AssetHierarchyInfo (..),+ newAssetHierarchyInfo,+ assetHierarchyInfo_childAssetId,+ assetHierarchyInfo_parentAssetId,++ -- * AssetModelCompositeModel+ AssetModelCompositeModel (..),+ newAssetModelCompositeModel,+ assetModelCompositeModel_description,+ assetModelCompositeModel_id,+ assetModelCompositeModel_properties,+ assetModelCompositeModel_name,+ assetModelCompositeModel_type,++ -- * AssetModelCompositeModelDefinition+ AssetModelCompositeModelDefinition (..),+ newAssetModelCompositeModelDefinition,+ assetModelCompositeModelDefinition_description,+ assetModelCompositeModelDefinition_properties,+ assetModelCompositeModelDefinition_name,+ assetModelCompositeModelDefinition_type,++ -- * AssetModelHierarchy+ AssetModelHierarchy (..),+ newAssetModelHierarchy,+ assetModelHierarchy_id,+ assetModelHierarchy_name,+ assetModelHierarchy_childAssetModelId,++ -- * AssetModelHierarchyDefinition+ AssetModelHierarchyDefinition (..),+ newAssetModelHierarchyDefinition,+ assetModelHierarchyDefinition_name,+ assetModelHierarchyDefinition_childAssetModelId,++ -- * AssetModelProperty+ AssetModelProperty (..),+ newAssetModelProperty,+ assetModelProperty_dataTypeSpec,+ assetModelProperty_id,+ assetModelProperty_unit,+ assetModelProperty_name,+ assetModelProperty_dataType,+ assetModelProperty_type,++ -- * AssetModelPropertyDefinition+ AssetModelPropertyDefinition (..),+ newAssetModelPropertyDefinition,+ assetModelPropertyDefinition_dataTypeSpec,+ assetModelPropertyDefinition_unit,+ assetModelPropertyDefinition_name,+ assetModelPropertyDefinition_dataType,+ assetModelPropertyDefinition_type,++ -- * AssetModelPropertySummary+ AssetModelPropertySummary (..),+ newAssetModelPropertySummary,+ assetModelPropertySummary_assetModelCompositeModelId,+ assetModelPropertySummary_dataTypeSpec,+ assetModelPropertySummary_id,+ assetModelPropertySummary_unit,+ assetModelPropertySummary_name,+ assetModelPropertySummary_dataType,+ assetModelPropertySummary_type,++ -- * AssetModelStatus+ AssetModelStatus (..),+ newAssetModelStatus,+ assetModelStatus_error,+ assetModelStatus_state,++ -- * AssetModelSummary+ AssetModelSummary (..),+ newAssetModelSummary,+ assetModelSummary_id,+ assetModelSummary_arn,+ assetModelSummary_name,+ assetModelSummary_description,+ assetModelSummary_creationDate,+ assetModelSummary_lastUpdateDate,+ assetModelSummary_status,++ -- * AssetProperty+ AssetProperty (..),+ newAssetProperty,+ assetProperty_alias,+ assetProperty_dataTypeSpec,+ assetProperty_notification,+ assetProperty_unit,+ assetProperty_id,+ assetProperty_name,+ assetProperty_dataType,++ -- * AssetPropertySummary+ AssetPropertySummary (..),+ newAssetPropertySummary,+ assetPropertySummary_alias,+ assetPropertySummary_assetCompositeModelId,+ assetPropertySummary_id,+ assetPropertySummary_notification,+ assetPropertySummary_unit,++ -- * AssetPropertyValue+ AssetPropertyValue (..),+ newAssetPropertyValue,+ assetPropertyValue_quality,+ assetPropertyValue_value,+ assetPropertyValue_timestamp,++ -- * AssetRelationshipSummary+ AssetRelationshipSummary (..),+ newAssetRelationshipSummary,+ assetRelationshipSummary_hierarchyInfo,+ assetRelationshipSummary_relationshipType,++ -- * AssetStatus+ AssetStatus (..),+ newAssetStatus,+ assetStatus_error,+ assetStatus_state,++ -- * AssetSummary+ AssetSummary (..),+ newAssetSummary,+ assetSummary_description,+ assetSummary_id,+ assetSummary_arn,+ assetSummary_name,+ assetSummary_assetModelId,+ assetSummary_creationDate,+ assetSummary_lastUpdateDate,+ assetSummary_status,+ assetSummary_hierarchies,++ -- * AssociatedAssetsSummary+ AssociatedAssetsSummary (..),+ newAssociatedAssetsSummary,+ associatedAssetsSummary_description,+ associatedAssetsSummary_id,+ associatedAssetsSummary_arn,+ associatedAssetsSummary_name,+ associatedAssetsSummary_assetModelId,+ associatedAssetsSummary_creationDate,+ associatedAssetsSummary_lastUpdateDate,+ associatedAssetsSummary_status,+ associatedAssetsSummary_hierarchies,++ -- * Attribute+ Attribute (..),+ newAttribute,+ attribute_defaultValue,++ -- * BatchGetAssetPropertyAggregatesEntry+ BatchGetAssetPropertyAggregatesEntry (..),+ newBatchGetAssetPropertyAggregatesEntry,+ batchGetAssetPropertyAggregatesEntry_assetId,+ batchGetAssetPropertyAggregatesEntry_propertyAlias,+ batchGetAssetPropertyAggregatesEntry_propertyId,+ batchGetAssetPropertyAggregatesEntry_qualities,+ batchGetAssetPropertyAggregatesEntry_timeOrdering,+ batchGetAssetPropertyAggregatesEntry_entryId,+ batchGetAssetPropertyAggregatesEntry_aggregateTypes,+ batchGetAssetPropertyAggregatesEntry_resolution,+ batchGetAssetPropertyAggregatesEntry_startDate,+ batchGetAssetPropertyAggregatesEntry_endDate,++ -- * BatchGetAssetPropertyAggregatesErrorEntry+ BatchGetAssetPropertyAggregatesErrorEntry (..),+ newBatchGetAssetPropertyAggregatesErrorEntry,+ batchGetAssetPropertyAggregatesErrorEntry_errorCode,+ batchGetAssetPropertyAggregatesErrorEntry_errorMessage,+ batchGetAssetPropertyAggregatesErrorEntry_entryId,++ -- * BatchGetAssetPropertyAggregatesErrorInfo+ BatchGetAssetPropertyAggregatesErrorInfo (..),+ newBatchGetAssetPropertyAggregatesErrorInfo,+ batchGetAssetPropertyAggregatesErrorInfo_errorCode,+ batchGetAssetPropertyAggregatesErrorInfo_errorTimestamp,++ -- * BatchGetAssetPropertyAggregatesSkippedEntry+ BatchGetAssetPropertyAggregatesSkippedEntry (..),+ newBatchGetAssetPropertyAggregatesSkippedEntry,+ batchGetAssetPropertyAggregatesSkippedEntry_errorInfo,+ batchGetAssetPropertyAggregatesSkippedEntry_entryId,+ batchGetAssetPropertyAggregatesSkippedEntry_completionStatus,++ -- * BatchGetAssetPropertyAggregatesSuccessEntry+ BatchGetAssetPropertyAggregatesSuccessEntry (..),+ newBatchGetAssetPropertyAggregatesSuccessEntry,+ batchGetAssetPropertyAggregatesSuccessEntry_entryId,+ batchGetAssetPropertyAggregatesSuccessEntry_aggregatedValues,++ -- * BatchGetAssetPropertyValueEntry+ BatchGetAssetPropertyValueEntry (..),+ newBatchGetAssetPropertyValueEntry,+ batchGetAssetPropertyValueEntry_assetId,+ batchGetAssetPropertyValueEntry_propertyAlias,+ batchGetAssetPropertyValueEntry_propertyId,+ batchGetAssetPropertyValueEntry_entryId,++ -- * BatchGetAssetPropertyValueErrorEntry+ BatchGetAssetPropertyValueErrorEntry (..),+ newBatchGetAssetPropertyValueErrorEntry,+ batchGetAssetPropertyValueErrorEntry_errorCode,+ batchGetAssetPropertyValueErrorEntry_errorMessage,+ batchGetAssetPropertyValueErrorEntry_entryId,++ -- * BatchGetAssetPropertyValueErrorInfo+ BatchGetAssetPropertyValueErrorInfo (..),+ newBatchGetAssetPropertyValueErrorInfo,+ batchGetAssetPropertyValueErrorInfo_errorCode,+ batchGetAssetPropertyValueErrorInfo_errorTimestamp,++ -- * BatchGetAssetPropertyValueHistoryEntry+ BatchGetAssetPropertyValueHistoryEntry (..),+ newBatchGetAssetPropertyValueHistoryEntry,+ batchGetAssetPropertyValueHistoryEntry_assetId,+ batchGetAssetPropertyValueHistoryEntry_endDate,+ batchGetAssetPropertyValueHistoryEntry_propertyAlias,+ batchGetAssetPropertyValueHistoryEntry_propertyId,+ batchGetAssetPropertyValueHistoryEntry_qualities,+ batchGetAssetPropertyValueHistoryEntry_startDate,+ batchGetAssetPropertyValueHistoryEntry_timeOrdering,+ batchGetAssetPropertyValueHistoryEntry_entryId,++ -- * BatchGetAssetPropertyValueHistoryErrorEntry+ BatchGetAssetPropertyValueHistoryErrorEntry (..),+ newBatchGetAssetPropertyValueHistoryErrorEntry,+ batchGetAssetPropertyValueHistoryErrorEntry_errorCode,+ batchGetAssetPropertyValueHistoryErrorEntry_errorMessage,+ batchGetAssetPropertyValueHistoryErrorEntry_entryId,++ -- * BatchGetAssetPropertyValueHistoryErrorInfo+ BatchGetAssetPropertyValueHistoryErrorInfo (..),+ newBatchGetAssetPropertyValueHistoryErrorInfo,+ batchGetAssetPropertyValueHistoryErrorInfo_errorCode,+ batchGetAssetPropertyValueHistoryErrorInfo_errorTimestamp,++ -- * BatchGetAssetPropertyValueHistorySkippedEntry+ BatchGetAssetPropertyValueHistorySkippedEntry (..),+ newBatchGetAssetPropertyValueHistorySkippedEntry,+ batchGetAssetPropertyValueHistorySkippedEntry_errorInfo,+ batchGetAssetPropertyValueHistorySkippedEntry_entryId,+ batchGetAssetPropertyValueHistorySkippedEntry_completionStatus,++ -- * BatchGetAssetPropertyValueHistorySuccessEntry+ BatchGetAssetPropertyValueHistorySuccessEntry (..),+ newBatchGetAssetPropertyValueHistorySuccessEntry,+ batchGetAssetPropertyValueHistorySuccessEntry_entryId,+ batchGetAssetPropertyValueHistorySuccessEntry_assetPropertyValueHistory,++ -- * BatchGetAssetPropertyValueSkippedEntry+ BatchGetAssetPropertyValueSkippedEntry (..),+ newBatchGetAssetPropertyValueSkippedEntry,+ batchGetAssetPropertyValueSkippedEntry_errorInfo,+ batchGetAssetPropertyValueSkippedEntry_entryId,+ batchGetAssetPropertyValueSkippedEntry_completionStatus,++ -- * BatchGetAssetPropertyValueSuccessEntry+ BatchGetAssetPropertyValueSuccessEntry (..),+ newBatchGetAssetPropertyValueSuccessEntry,+ batchGetAssetPropertyValueSuccessEntry_assetPropertyValue,+ batchGetAssetPropertyValueSuccessEntry_entryId,++ -- * BatchPutAssetPropertyError+ BatchPutAssetPropertyError (..),+ newBatchPutAssetPropertyError,+ batchPutAssetPropertyError_errorCode,+ batchPutAssetPropertyError_errorMessage,+ batchPutAssetPropertyError_timestamps,++ -- * BatchPutAssetPropertyErrorEntry+ BatchPutAssetPropertyErrorEntry (..),+ newBatchPutAssetPropertyErrorEntry,+ batchPutAssetPropertyErrorEntry_entryId,+ batchPutAssetPropertyErrorEntry_errors,++ -- * CompositeModelProperty+ CompositeModelProperty (..),+ newCompositeModelProperty,+ compositeModelProperty_id,+ compositeModelProperty_name,+ compositeModelProperty_type,+ compositeModelProperty_assetProperty,++ -- * ConfigurationErrorDetails+ ConfigurationErrorDetails (..),+ newConfigurationErrorDetails,+ configurationErrorDetails_code,+ configurationErrorDetails_message,++ -- * ConfigurationStatus+ ConfigurationStatus (..),+ newConfigurationStatus,+ configurationStatus_error,+ configurationStatus_state,++ -- * Csv+ Csv (..),+ newCsv,+ csv_columnNames,++ -- * CustomerManagedS3Storage+ CustomerManagedS3Storage (..),+ newCustomerManagedS3Storage,+ customerManagedS3Storage_s3ResourceArn,+ customerManagedS3Storage_roleArn,++ -- * DashboardSummary+ DashboardSummary (..),+ newDashboardSummary,+ dashboardSummary_creationDate,+ dashboardSummary_description,+ dashboardSummary_lastUpdateDate,+ dashboardSummary_id,+ dashboardSummary_name,++ -- * DetailedError+ DetailedError (..),+ newDetailedError,+ detailedError_code,+ detailedError_message,++ -- * ErrorDetails+ ErrorDetails (..),+ newErrorDetails,+ errorDetails_details,+ errorDetails_code,+ errorDetails_message,++ -- * ErrorReportLocation+ ErrorReportLocation (..),+ newErrorReportLocation,+ errorReportLocation_bucket,+ errorReportLocation_prefix,++ -- * ExpressionVariable+ ExpressionVariable (..),+ newExpressionVariable,+ expressionVariable_name,+ expressionVariable_value,++ -- * File+ File (..),+ newFile,+ file_versionId,+ file_bucket,+ file_key,++ -- * FileFormat+ FileFormat (..),+ newFileFormat,+ fileFormat_csv,++ -- * ForwardingConfig+ ForwardingConfig (..),+ newForwardingConfig,+ forwardingConfig_state,++ -- * GatewayCapabilitySummary+ GatewayCapabilitySummary (..),+ newGatewayCapabilitySummary,+ gatewayCapabilitySummary_capabilityNamespace,+ gatewayCapabilitySummary_capabilitySyncStatus,++ -- * GatewayPlatform+ GatewayPlatform (..),+ newGatewayPlatform,+ gatewayPlatform_greengrass,+ gatewayPlatform_greengrassV2,++ -- * GatewaySummary+ GatewaySummary (..),+ newGatewaySummary,+ gatewaySummary_gatewayCapabilitySummaries,+ gatewaySummary_gatewayPlatform,+ gatewaySummary_gatewayId,+ gatewaySummary_gatewayName,+ gatewaySummary_creationDate,+ gatewaySummary_lastUpdateDate,++ -- * Greengrass+ Greengrass (..),+ newGreengrass,+ greengrass_groupArn,++ -- * GreengrassV2+ GreengrassV2 (..),+ newGreengrassV2,+ greengrassV2_coreDeviceThingName,++ -- * GroupIdentity+ GroupIdentity (..),+ newGroupIdentity,+ groupIdentity_id,++ -- * IAMRoleIdentity+ IAMRoleIdentity (..),+ newIAMRoleIdentity,+ iAMRoleIdentity_arn,++ -- * IAMUserIdentity+ IAMUserIdentity (..),+ newIAMUserIdentity,+ iAMUserIdentity_arn,++ -- * Identity+ Identity (..),+ newIdentity,+ identity_group,+ identity_iamRole,+ identity_iamUser,+ identity_user,++ -- * Image+ Image (..),+ newImage,+ image_file,+ image_id,++ -- * ImageFile+ ImageFile (..),+ newImageFile,+ imageFile_data,+ imageFile_type,++ -- * ImageLocation+ ImageLocation (..),+ newImageLocation,+ imageLocation_id,+ imageLocation_url,++ -- * InterpolatedAssetPropertyValue+ InterpolatedAssetPropertyValue (..),+ newInterpolatedAssetPropertyValue,+ interpolatedAssetPropertyValue_timestamp,+ interpolatedAssetPropertyValue_value,++ -- * JobConfiguration+ JobConfiguration (..),+ newJobConfiguration,+ jobConfiguration_fileFormat,++ -- * JobSummary+ JobSummary (..),+ newJobSummary,+ jobSummary_id,+ jobSummary_name,+ jobSummary_status,++ -- * LoggingOptions+ LoggingOptions (..),+ newLoggingOptions,+ loggingOptions_level,++ -- * Measurement+ Measurement (..),+ newMeasurement,+ measurement_processingConfig,++ -- * MeasurementProcessingConfig+ MeasurementProcessingConfig (..),+ newMeasurementProcessingConfig,+ measurementProcessingConfig_forwardingConfig,++ -- * Metric+ Metric (..),+ newMetric,+ metric_processingConfig,+ metric_expression,+ metric_variables,+ metric_window,++ -- * MetricProcessingConfig+ MetricProcessingConfig (..),+ newMetricProcessingConfig,+ metricProcessingConfig_computeLocation,++ -- * MetricWindow+ MetricWindow (..),+ newMetricWindow,+ metricWindow_tumbling,++ -- * MonitorErrorDetails+ MonitorErrorDetails (..),+ newMonitorErrorDetails,+ monitorErrorDetails_code,+ monitorErrorDetails_message,++ -- * MultiLayerStorage+ MultiLayerStorage (..),+ newMultiLayerStorage,+ multiLayerStorage_customerManagedS3Storage,++ -- * PortalResource+ PortalResource (..),+ newPortalResource,+ portalResource_id,++ -- * PortalStatus+ PortalStatus (..),+ newPortalStatus,+ portalStatus_error,+ portalStatus_state,++ -- * PortalSummary+ PortalSummary (..),+ newPortalSummary,+ portalSummary_creationDate,+ portalSummary_description,+ portalSummary_lastUpdateDate,+ portalSummary_roleArn,+ portalSummary_id,+ portalSummary_name,+ portalSummary_startUrl,+ portalSummary_status,++ -- * ProjectResource+ ProjectResource (..),+ newProjectResource,+ projectResource_id,++ -- * ProjectSummary+ ProjectSummary (..),+ newProjectSummary,+ projectSummary_creationDate,+ projectSummary_description,+ projectSummary_lastUpdateDate,+ projectSummary_id,+ projectSummary_name,++ -- * Property+ Property (..),+ newProperty,+ property_alias,+ property_notification,+ property_type,+ property_unit,+ property_id,+ property_name,+ property_dataType,++ -- * PropertyNotification+ PropertyNotification (..),+ newPropertyNotification,+ propertyNotification_topic,+ propertyNotification_state,++ -- * PropertyType+ PropertyType (..),+ newPropertyType,+ propertyType_attribute,+ propertyType_measurement,+ propertyType_metric,+ propertyType_transform,++ -- * PutAssetPropertyValueEntry+ PutAssetPropertyValueEntry (..),+ newPutAssetPropertyValueEntry,+ putAssetPropertyValueEntry_assetId,+ putAssetPropertyValueEntry_propertyAlias,+ putAssetPropertyValueEntry_propertyId,+ putAssetPropertyValueEntry_entryId,+ putAssetPropertyValueEntry_propertyValues,++ -- * Resource+ Resource (..),+ newResource,+ resource_portal,+ resource_project,++ -- * RetentionPeriod+ RetentionPeriod (..),+ newRetentionPeriod,+ retentionPeriod_numberOfDays,+ retentionPeriod_unlimited,++ -- * TimeInNanos+ TimeInNanos (..),+ newTimeInNanos,+ timeInNanos_offsetInNanos,+ timeInNanos_timeInSeconds,++ -- * TimeSeriesSummary+ TimeSeriesSummary (..),+ newTimeSeriesSummary,+ timeSeriesSummary_alias,+ timeSeriesSummary_assetId,+ timeSeriesSummary_dataTypeSpec,+ timeSeriesSummary_propertyId,+ timeSeriesSummary_timeSeriesId,+ timeSeriesSummary_dataType,+ timeSeriesSummary_timeSeriesCreationDate,+ timeSeriesSummary_timeSeriesLastUpdateDate,++ -- * Transform+ Transform (..),+ newTransform,+ transform_processingConfig,+ transform_expression,+ transform_variables,++ -- * TransformProcessingConfig+ TransformProcessingConfig (..),+ newTransformProcessingConfig,+ transformProcessingConfig_forwardingConfig,+ transformProcessingConfig_computeLocation,++ -- * TumblingWindow+ TumblingWindow (..),+ newTumblingWindow,+ tumblingWindow_offset,+ tumblingWindow_interval,++ -- * UserIdentity+ UserIdentity (..),+ newUserIdentity,+ userIdentity_id,++ -- * VariableValue+ VariableValue (..),+ newVariableValue,+ variableValue_hierarchyId,+ variableValue_propertyId,++ -- * Variant+ Variant (..),+ newVariant,+ variant_booleanValue,+ variant_doubleValue,+ variant_integerValue,+ variant_stringValue,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import Amazonka.IoTSiteWise.Types.AccessPolicySummary+import Amazonka.IoTSiteWise.Types.AggregateType+import Amazonka.IoTSiteWise.Types.AggregatedValue+import Amazonka.IoTSiteWise.Types.Aggregates+import Amazonka.IoTSiteWise.Types.Alarms+import Amazonka.IoTSiteWise.Types.AssetCompositeModel+import Amazonka.IoTSiteWise.Types.AssetErrorCode+import Amazonka.IoTSiteWise.Types.AssetErrorDetails+import Amazonka.IoTSiteWise.Types.AssetHierarchy+import Amazonka.IoTSiteWise.Types.AssetHierarchyInfo+import Amazonka.IoTSiteWise.Types.AssetModelCompositeModel+import Amazonka.IoTSiteWise.Types.AssetModelCompositeModelDefinition+import Amazonka.IoTSiteWise.Types.AssetModelHierarchy+import Amazonka.IoTSiteWise.Types.AssetModelHierarchyDefinition+import Amazonka.IoTSiteWise.Types.AssetModelProperty+import Amazonka.IoTSiteWise.Types.AssetModelPropertyDefinition+import Amazonka.IoTSiteWise.Types.AssetModelPropertySummary+import Amazonka.IoTSiteWise.Types.AssetModelState+import Amazonka.IoTSiteWise.Types.AssetModelStatus+import Amazonka.IoTSiteWise.Types.AssetModelSummary+import Amazonka.IoTSiteWise.Types.AssetProperty+import Amazonka.IoTSiteWise.Types.AssetPropertySummary+import Amazonka.IoTSiteWise.Types.AssetPropertyValue+import Amazonka.IoTSiteWise.Types.AssetRelationshipSummary+import Amazonka.IoTSiteWise.Types.AssetRelationshipType+import Amazonka.IoTSiteWise.Types.AssetState+import Amazonka.IoTSiteWise.Types.AssetStatus+import Amazonka.IoTSiteWise.Types.AssetSummary+import Amazonka.IoTSiteWise.Types.AssociatedAssetsSummary+import Amazonka.IoTSiteWise.Types.Attribute+import Amazonka.IoTSiteWise.Types.AuthMode+import Amazonka.IoTSiteWise.Types.BatchEntryCompletionStatus+import Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyAggregatesEntry+import Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyAggregatesErrorCode+import Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyAggregatesErrorEntry+import Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyAggregatesErrorInfo+import Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyAggregatesSkippedEntry+import Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyAggregatesSuccessEntry+import Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueEntry+import Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueErrorCode+import Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueErrorEntry+import Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueErrorInfo+import Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueHistoryEntry+import Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueHistoryErrorCode+import Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueHistoryErrorEntry+import Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueHistoryErrorInfo+import Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueHistorySkippedEntry+import Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueHistorySuccessEntry+import Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueSkippedEntry+import Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueSuccessEntry+import Amazonka.IoTSiteWise.Types.BatchPutAssetPropertyError+import Amazonka.IoTSiteWise.Types.BatchPutAssetPropertyErrorEntry+import Amazonka.IoTSiteWise.Types.BatchPutAssetPropertyValueErrorCode+import Amazonka.IoTSiteWise.Types.CapabilitySyncStatus+import Amazonka.IoTSiteWise.Types.ColumnName+import Amazonka.IoTSiteWise.Types.CompositeModelProperty+import Amazonka.IoTSiteWise.Types.ComputeLocation+import Amazonka.IoTSiteWise.Types.ConfigurationErrorDetails+import Amazonka.IoTSiteWise.Types.ConfigurationState+import Amazonka.IoTSiteWise.Types.ConfigurationStatus+import Amazonka.IoTSiteWise.Types.Csv+import Amazonka.IoTSiteWise.Types.CustomerManagedS3Storage+import Amazonka.IoTSiteWise.Types.DashboardSummary+import Amazonka.IoTSiteWise.Types.DetailedError+import Amazonka.IoTSiteWise.Types.DetailedErrorCode+import Amazonka.IoTSiteWise.Types.DisassociatedDataStorageState+import Amazonka.IoTSiteWise.Types.EncryptionType+import Amazonka.IoTSiteWise.Types.ErrorCode+import Amazonka.IoTSiteWise.Types.ErrorDetails+import Amazonka.IoTSiteWise.Types.ErrorReportLocation+import Amazonka.IoTSiteWise.Types.ExpressionVariable+import Amazonka.IoTSiteWise.Types.File+import Amazonka.IoTSiteWise.Types.FileFormat+import Amazonka.IoTSiteWise.Types.ForwardingConfig+import Amazonka.IoTSiteWise.Types.ForwardingConfigState+import Amazonka.IoTSiteWise.Types.GatewayCapabilitySummary+import Amazonka.IoTSiteWise.Types.GatewayPlatform+import Amazonka.IoTSiteWise.Types.GatewaySummary+import Amazonka.IoTSiteWise.Types.Greengrass+import Amazonka.IoTSiteWise.Types.GreengrassV2+import Amazonka.IoTSiteWise.Types.GroupIdentity+import Amazonka.IoTSiteWise.Types.IAMRoleIdentity+import Amazonka.IoTSiteWise.Types.IAMUserIdentity+import Amazonka.IoTSiteWise.Types.Identity+import Amazonka.IoTSiteWise.Types.IdentityType+import Amazonka.IoTSiteWise.Types.Image+import Amazonka.IoTSiteWise.Types.ImageFile+import Amazonka.IoTSiteWise.Types.ImageFileType+import Amazonka.IoTSiteWise.Types.ImageLocation+import Amazonka.IoTSiteWise.Types.InterpolatedAssetPropertyValue+import Amazonka.IoTSiteWise.Types.JobConfiguration+import Amazonka.IoTSiteWise.Types.JobStatus+import Amazonka.IoTSiteWise.Types.JobSummary+import Amazonka.IoTSiteWise.Types.ListAssetModelPropertiesFilter+import Amazonka.IoTSiteWise.Types.ListAssetPropertiesFilter+import Amazonka.IoTSiteWise.Types.ListAssetsFilter+import Amazonka.IoTSiteWise.Types.ListBulkImportJobsFilter+import Amazonka.IoTSiteWise.Types.ListTimeSeriesType+import Amazonka.IoTSiteWise.Types.LoggingLevel+import Amazonka.IoTSiteWise.Types.LoggingOptions+import Amazonka.IoTSiteWise.Types.Measurement+import Amazonka.IoTSiteWise.Types.MeasurementProcessingConfig+import Amazonka.IoTSiteWise.Types.Metric+import Amazonka.IoTSiteWise.Types.MetricProcessingConfig+import Amazonka.IoTSiteWise.Types.MetricWindow+import Amazonka.IoTSiteWise.Types.MonitorErrorCode+import Amazonka.IoTSiteWise.Types.MonitorErrorDetails+import Amazonka.IoTSiteWise.Types.MultiLayerStorage+import Amazonka.IoTSiteWise.Types.Permission+import Amazonka.IoTSiteWise.Types.PortalResource+import Amazonka.IoTSiteWise.Types.PortalState+import Amazonka.IoTSiteWise.Types.PortalStatus+import Amazonka.IoTSiteWise.Types.PortalSummary+import Amazonka.IoTSiteWise.Types.ProjectResource+import Amazonka.IoTSiteWise.Types.ProjectSummary+import Amazonka.IoTSiteWise.Types.Property+import Amazonka.IoTSiteWise.Types.PropertyDataType+import Amazonka.IoTSiteWise.Types.PropertyNotification+import Amazonka.IoTSiteWise.Types.PropertyNotificationState+import Amazonka.IoTSiteWise.Types.PropertyType+import Amazonka.IoTSiteWise.Types.PutAssetPropertyValueEntry+import Amazonka.IoTSiteWise.Types.Quality+import Amazonka.IoTSiteWise.Types.Resource+import Amazonka.IoTSiteWise.Types.ResourceType+import Amazonka.IoTSiteWise.Types.RetentionPeriod+import Amazonka.IoTSiteWise.Types.StorageType+import Amazonka.IoTSiteWise.Types.TimeInNanos+import Amazonka.IoTSiteWise.Types.TimeOrdering+import Amazonka.IoTSiteWise.Types.TimeSeriesSummary+import Amazonka.IoTSiteWise.Types.Transform+import Amazonka.IoTSiteWise.Types.TransformProcessingConfig+import Amazonka.IoTSiteWise.Types.TraversalDirection+import Amazonka.IoTSiteWise.Types.TraversalType+import Amazonka.IoTSiteWise.Types.TumblingWindow+import Amazonka.IoTSiteWise.Types.UserIdentity+import Amazonka.IoTSiteWise.Types.VariableValue+import Amazonka.IoTSiteWise.Types.Variant+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Sign.V4 as Sign++-- | API version @2019-12-02@ of the Amazon IoT SiteWise SDK configuration.+defaultService :: Core.Service+defaultService =+ Core.Service+ { Core.abbrev = "IoTSiteWise",+ Core.signer = Sign.v4,+ Core.endpointPrefix = "iotsitewise",+ Core.signingName = "iotsitewise",+ Core.version = "2019-12-02",+ Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+ Core.endpoint = Core.defaultEndpoint defaultService,+ Core.timeout = Prelude.Just 70,+ Core.check = Core.statusSuccess,+ Core.error = Core.parseJSONError "IoTSiteWise",+ Core.retry = retry+ }+ where+ retry =+ Core.Exponential+ { Core.base = 5.0e-2,+ Core.growth = 2,+ Core.attempts = 5,+ Core.check = check+ }+ check e+ | Lens.has (Core.hasStatus 502) e =+ Prelude.Just "bad_gateway"+ | Lens.has (Core.hasStatus 504) e =+ Prelude.Just "gateway_timeout"+ | Lens.has (Core.hasStatus 500) e =+ Prelude.Just "general_server_error"+ | Lens.has (Core.hasStatus 509) e =+ Prelude.Just "limit_exceeded"+ | Lens.has+ ( Core.hasCode "RequestThrottledException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "request_throttled_exception"+ | Lens.has (Core.hasStatus 503) e =+ Prelude.Just "service_unavailable"+ | Lens.has+ ( Core.hasCode "ThrottledException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttled_exception"+ | Lens.has+ ( Core.hasCode "Throttling"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttling"+ | Lens.has+ ( Core.hasCode "ThrottlingException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttling_exception"+ | Lens.has+ ( Core.hasCode+ "ProvisionedThroughputExceededException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throughput_exceeded"+ | Lens.has (Core.hasStatus 429) e =+ Prelude.Just "too_many_requests"+ | Prelude.otherwise = Prelude.Nothing++-- | 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.+_ConflictingOperationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ConflictingOperationException =+ Core._MatchServiceError+ defaultService+ "ConflictingOperationException"+ Prelude.. Core.hasStatus 409++-- | IoT SiteWise can\'t process your request right now. Try again later.+_InternalFailureException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InternalFailureException =+ Core._MatchServiceError+ defaultService+ "InternalFailureException"+ Prelude.. Core.hasStatus 500++-- | The request isn\'t valid. This can occur if your request contains+-- malformed JSON or unsupported characters. Check your request and try+-- again.+_InvalidRequestException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InvalidRequestException =+ Core._MatchServiceError+ defaultService+ "InvalidRequestException"+ Prelude.. Core.hasStatus 400++-- | 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html Quotas>+-- in the /IoT SiteWise User Guide/.+_LimitExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_LimitExceededException =+ Core._MatchServiceError+ defaultService+ "LimitExceededException"+ Prelude.. Core.hasStatus 410++-- | The resource already exists.+_ResourceAlreadyExistsException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceAlreadyExistsException =+ Core._MatchServiceError+ defaultService+ "ResourceAlreadyExistsException"+ Prelude.. Core.hasStatus 409++-- | The requested resource can\'t be found.+_ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceNotFoundException =+ Core._MatchServiceError+ defaultService+ "ResourceNotFoundException"+ Prelude.. Core.hasStatus 404++-- | The requested service is unavailable.+_ServiceUnavailableException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ServiceUnavailableException =+ Core._MatchServiceError+ defaultService+ "ServiceUnavailableException"+ Prelude.. Core.hasStatus 503++-- | 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html Quotas>+-- in the /IoT SiteWise User Guide/.+_ThrottlingException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ThrottlingException =+ Core._MatchServiceError+ defaultService+ "ThrottlingException"+ Prelude.. Core.hasStatus 429++-- | You\'ve reached the limit for the number of tags allowed for a resource.+-- For more information, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html#tag-conventions Tag naming limits and requirements>+-- in the /Amazon Web Services General Reference/.+_TooManyTagsException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_TooManyTagsException =+ Core._MatchServiceError+ defaultService+ "TooManyTagsException"+ Prelude.. Core.hasStatus 400++-- | You are not authorized.+_UnauthorizedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_UnauthorizedException =+ Core._MatchServiceError+ defaultService+ "UnauthorizedException"+ Prelude.. Core.hasStatus 401
+ gen/Amazonka/IoTSiteWise/Types/AccessPolicySummary.hs view
@@ -0,0 +1,155 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.AccessPolicySummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.AccessPolicySummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.Identity+import Amazonka.IoTSiteWise.Types.Permission+import Amazonka.IoTSiteWise.Types.Resource+import qualified Amazonka.Prelude as Prelude++-- | Contains an access policy that defines an identity\'s access to an IoT+-- SiteWise Monitor resource.+--+-- /See:/ 'newAccessPolicySummary' smart constructor.+data AccessPolicySummary = AccessPolicySummary'+ { -- | The date the access policy was created, in Unix epoch time.+ creationDate :: Prelude.Maybe Data.POSIX,+ -- | The date the access policy was last updated, in Unix epoch time.+ lastUpdateDate :: Prelude.Maybe Data.POSIX,+ -- | The ID of the access policy.+ id :: Prelude.Text,+ -- | The identity (an IAM Identity Center user, an IAM Identity Center group,+ -- or an IAM user).+ identity :: Identity,+ -- | The IoT SiteWise Monitor resource (a portal or project).+ resource :: Resource,+ -- | The permissions for the access policy. Note that a project+ -- @ADMINISTRATOR@ is also known as a project owner.+ permission :: Permission+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AccessPolicySummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'creationDate', 'accessPolicySummary_creationDate' - The date the access policy was created, in Unix epoch time.+--+-- 'lastUpdateDate', 'accessPolicySummary_lastUpdateDate' - The date the access policy was last updated, in Unix epoch time.+--+-- 'id', 'accessPolicySummary_id' - The ID of the access policy.+--+-- 'identity', 'accessPolicySummary_identity' - The identity (an IAM Identity Center user, an IAM Identity Center group,+-- or an IAM user).+--+-- 'resource', 'accessPolicySummary_resource' - The IoT SiteWise Monitor resource (a portal or project).+--+-- 'permission', 'accessPolicySummary_permission' - The permissions for the access policy. Note that a project+-- @ADMINISTRATOR@ is also known as a project owner.+newAccessPolicySummary ::+ -- | 'id'+ Prelude.Text ->+ -- | 'identity'+ Identity ->+ -- | 'resource'+ Resource ->+ -- | 'permission'+ Permission ->+ AccessPolicySummary+newAccessPolicySummary+ pId_+ pIdentity_+ pResource_+ pPermission_ =+ AccessPolicySummary'+ { creationDate =+ Prelude.Nothing,+ lastUpdateDate = Prelude.Nothing,+ id = pId_,+ identity = pIdentity_,+ resource = pResource_,+ permission = pPermission_+ }++-- | The date the access policy was created, in Unix epoch time.+accessPolicySummary_creationDate :: Lens.Lens' AccessPolicySummary (Prelude.Maybe Prelude.UTCTime)+accessPolicySummary_creationDate = Lens.lens (\AccessPolicySummary' {creationDate} -> creationDate) (\s@AccessPolicySummary' {} a -> s {creationDate = a} :: AccessPolicySummary) Prelude.. Lens.mapping Data._Time++-- | The date the access policy was last updated, in Unix epoch time.+accessPolicySummary_lastUpdateDate :: Lens.Lens' AccessPolicySummary (Prelude.Maybe Prelude.UTCTime)+accessPolicySummary_lastUpdateDate = Lens.lens (\AccessPolicySummary' {lastUpdateDate} -> lastUpdateDate) (\s@AccessPolicySummary' {} a -> s {lastUpdateDate = a} :: AccessPolicySummary) Prelude.. Lens.mapping Data._Time++-- | The ID of the access policy.+accessPolicySummary_id :: Lens.Lens' AccessPolicySummary Prelude.Text+accessPolicySummary_id = Lens.lens (\AccessPolicySummary' {id} -> id) (\s@AccessPolicySummary' {} a -> s {id = a} :: AccessPolicySummary)++-- | The identity (an IAM Identity Center user, an IAM Identity Center group,+-- or an IAM user).+accessPolicySummary_identity :: Lens.Lens' AccessPolicySummary Identity+accessPolicySummary_identity = Lens.lens (\AccessPolicySummary' {identity} -> identity) (\s@AccessPolicySummary' {} a -> s {identity = a} :: AccessPolicySummary)++-- | The IoT SiteWise Monitor resource (a portal or project).+accessPolicySummary_resource :: Lens.Lens' AccessPolicySummary Resource+accessPolicySummary_resource = Lens.lens (\AccessPolicySummary' {resource} -> resource) (\s@AccessPolicySummary' {} a -> s {resource = a} :: AccessPolicySummary)++-- | The permissions for the access policy. Note that a project+-- @ADMINISTRATOR@ is also known as a project owner.+accessPolicySummary_permission :: Lens.Lens' AccessPolicySummary Permission+accessPolicySummary_permission = Lens.lens (\AccessPolicySummary' {permission} -> permission) (\s@AccessPolicySummary' {} a -> s {permission = a} :: AccessPolicySummary)++instance Data.FromJSON AccessPolicySummary where+ parseJSON =+ Data.withObject+ "AccessPolicySummary"+ ( \x ->+ AccessPolicySummary'+ Prelude.<$> (x Data..:? "creationDate")+ Prelude.<*> (x Data..:? "lastUpdateDate")+ Prelude.<*> (x Data..: "id")+ Prelude.<*> (x Data..: "identity")+ Prelude.<*> (x Data..: "resource")+ Prelude.<*> (x Data..: "permission")+ )++instance Prelude.Hashable AccessPolicySummary where+ hashWithSalt _salt AccessPolicySummary' {..} =+ _salt+ `Prelude.hashWithSalt` creationDate+ `Prelude.hashWithSalt` lastUpdateDate+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` identity+ `Prelude.hashWithSalt` resource+ `Prelude.hashWithSalt` permission++instance Prelude.NFData AccessPolicySummary where+ rnf AccessPolicySummary' {..} =+ Prelude.rnf creationDate+ `Prelude.seq` Prelude.rnf lastUpdateDate+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf identity+ `Prelude.seq` Prelude.rnf resource+ `Prelude.seq` Prelude.rnf permission
+ gen/Amazonka/IoTSiteWise/Types/AggregateType.hs view
@@ -0,0 +1,91 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.AggregateType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.AggregateType+ ( AggregateType+ ( ..,+ AggregateType_AVERAGE,+ AggregateType_COUNT,+ AggregateType_MAXIMUM,+ AggregateType_MINIMUM,+ AggregateType_STANDARD_DEVIATION,+ AggregateType_SUM+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AggregateType = AggregateType'+ { fromAggregateType ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern AggregateType_AVERAGE :: AggregateType+pattern AggregateType_AVERAGE = AggregateType' "AVERAGE"++pattern AggregateType_COUNT :: AggregateType+pattern AggregateType_COUNT = AggregateType' "COUNT"++pattern AggregateType_MAXIMUM :: AggregateType+pattern AggregateType_MAXIMUM = AggregateType' "MAXIMUM"++pattern AggregateType_MINIMUM :: AggregateType+pattern AggregateType_MINIMUM = AggregateType' "MINIMUM"++pattern AggregateType_STANDARD_DEVIATION :: AggregateType+pattern AggregateType_STANDARD_DEVIATION = AggregateType' "STANDARD_DEVIATION"++pattern AggregateType_SUM :: AggregateType+pattern AggregateType_SUM = AggregateType' "SUM"++{-# COMPLETE+ AggregateType_AVERAGE,+ AggregateType_COUNT,+ AggregateType_MAXIMUM,+ AggregateType_MINIMUM,+ AggregateType_STANDARD_DEVIATION,+ AggregateType_SUM,+ AggregateType'+ #-}
+ gen/Amazonka/IoTSiteWise/Types/AggregatedValue.hs view
@@ -0,0 +1,103 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.AggregatedValue+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.AggregatedValue where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.Aggregates+import Amazonka.IoTSiteWise.Types.Quality+import qualified Amazonka.Prelude as Prelude++-- | Contains aggregated asset property values (for example, average,+-- minimum, and maximum).+--+-- /See:/ 'newAggregatedValue' smart constructor.+data AggregatedValue = AggregatedValue'+ { -- | The quality of the aggregated data.+ quality :: Prelude.Maybe Quality,+ -- | The date the aggregating computations occurred, in Unix epoch time.+ timestamp :: Data.POSIX,+ -- | The value of the aggregates.+ value :: Aggregates+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AggregatedValue' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'quality', 'aggregatedValue_quality' - The quality of the aggregated data.+--+-- 'timestamp', 'aggregatedValue_timestamp' - The date the aggregating computations occurred, in Unix epoch time.+--+-- 'value', 'aggregatedValue_value' - The value of the aggregates.+newAggregatedValue ::+ -- | 'timestamp'+ Prelude.UTCTime ->+ -- | 'value'+ Aggregates ->+ AggregatedValue+newAggregatedValue pTimestamp_ pValue_ =+ AggregatedValue'+ { quality = Prelude.Nothing,+ timestamp = Data._Time Lens.# pTimestamp_,+ value = pValue_+ }++-- | The quality of the aggregated data.+aggregatedValue_quality :: Lens.Lens' AggregatedValue (Prelude.Maybe Quality)+aggregatedValue_quality = Lens.lens (\AggregatedValue' {quality} -> quality) (\s@AggregatedValue' {} a -> s {quality = a} :: AggregatedValue)++-- | The date the aggregating computations occurred, in Unix epoch time.+aggregatedValue_timestamp :: Lens.Lens' AggregatedValue Prelude.UTCTime+aggregatedValue_timestamp = Lens.lens (\AggregatedValue' {timestamp} -> timestamp) (\s@AggregatedValue' {} a -> s {timestamp = a} :: AggregatedValue) Prelude.. Data._Time++-- | The value of the aggregates.+aggregatedValue_value :: Lens.Lens' AggregatedValue Aggregates+aggregatedValue_value = Lens.lens (\AggregatedValue' {value} -> value) (\s@AggregatedValue' {} a -> s {value = a} :: AggregatedValue)++instance Data.FromJSON AggregatedValue where+ parseJSON =+ Data.withObject+ "AggregatedValue"+ ( \x ->+ AggregatedValue'+ Prelude.<$> (x Data..:? "quality")+ Prelude.<*> (x Data..: "timestamp")+ Prelude.<*> (x Data..: "value")+ )++instance Prelude.Hashable AggregatedValue where+ hashWithSalt _salt AggregatedValue' {..} =+ _salt+ `Prelude.hashWithSalt` quality+ `Prelude.hashWithSalt` timestamp+ `Prelude.hashWithSalt` value++instance Prelude.NFData AggregatedValue where+ rnf AggregatedValue' {..} =+ Prelude.rnf quality+ `Prelude.seq` Prelude.rnf timestamp+ `Prelude.seq` Prelude.rnf value
+ gen/Amazonka/IoTSiteWise/Types/Aggregates.hs view
@@ -0,0 +1,132 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.Aggregates+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.Aggregates where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Contains the (pre-calculated) aggregate values for an asset property.+--+-- /See:/ 'newAggregates' smart constructor.+data Aggregates = Aggregates'+ { -- | The average (mean) value of the time series over a time interval window.+ average :: Prelude.Maybe Prelude.Double,+ -- | The count of data points in the time series over a time interval window.+ count :: Prelude.Maybe Prelude.Double,+ -- | The maximum value of the time series over a time interval window.+ maximum :: Prelude.Maybe Prelude.Double,+ -- | The minimum value of the time series over a time interval window.+ minimum :: Prelude.Maybe Prelude.Double,+ -- | The standard deviation of the time series over a time interval window.+ standardDeviation :: Prelude.Maybe Prelude.Double,+ -- | The sum of the time series over a time interval window.+ sum :: Prelude.Maybe Prelude.Double+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Aggregates' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'average', 'aggregates_average' - The average (mean) value of the time series over a time interval window.+--+-- 'count', 'aggregates_count' - The count of data points in the time series over a time interval window.+--+-- 'maximum', 'aggregates_maximum' - The maximum value of the time series over a time interval window.+--+-- 'minimum', 'aggregates_minimum' - The minimum value of the time series over a time interval window.+--+-- 'standardDeviation', 'aggregates_standardDeviation' - The standard deviation of the time series over a time interval window.+--+-- 'sum', 'aggregates_sum' - The sum of the time series over a time interval window.+newAggregates ::+ Aggregates+newAggregates =+ Aggregates'+ { average = Prelude.Nothing,+ count = Prelude.Nothing,+ maximum = Prelude.Nothing,+ minimum = Prelude.Nothing,+ standardDeviation = Prelude.Nothing,+ sum = Prelude.Nothing+ }++-- | The average (mean) value of the time series over a time interval window.+aggregates_average :: Lens.Lens' Aggregates (Prelude.Maybe Prelude.Double)+aggregates_average = Lens.lens (\Aggregates' {average} -> average) (\s@Aggregates' {} a -> s {average = a} :: Aggregates)++-- | The count of data points in the time series over a time interval window.+aggregates_count :: Lens.Lens' Aggregates (Prelude.Maybe Prelude.Double)+aggregates_count = Lens.lens (\Aggregates' {count} -> count) (\s@Aggregates' {} a -> s {count = a} :: Aggregates)++-- | The maximum value of the time series over a time interval window.+aggregates_maximum :: Lens.Lens' Aggregates (Prelude.Maybe Prelude.Double)+aggregates_maximum = Lens.lens (\Aggregates' {maximum} -> maximum) (\s@Aggregates' {} a -> s {maximum = a} :: Aggregates)++-- | The minimum value of the time series over a time interval window.+aggregates_minimum :: Lens.Lens' Aggregates (Prelude.Maybe Prelude.Double)+aggregates_minimum = Lens.lens (\Aggregates' {minimum} -> minimum) (\s@Aggregates' {} a -> s {minimum = a} :: Aggregates)++-- | The standard deviation of the time series over a time interval window.+aggregates_standardDeviation :: Lens.Lens' Aggregates (Prelude.Maybe Prelude.Double)+aggregates_standardDeviation = Lens.lens (\Aggregates' {standardDeviation} -> standardDeviation) (\s@Aggregates' {} a -> s {standardDeviation = a} :: Aggregates)++-- | The sum of the time series over a time interval window.+aggregates_sum :: Lens.Lens' Aggregates (Prelude.Maybe Prelude.Double)+aggregates_sum = Lens.lens (\Aggregates' {sum} -> sum) (\s@Aggregates' {} a -> s {sum = a} :: Aggregates)++instance Data.FromJSON Aggregates where+ parseJSON =+ Data.withObject+ "Aggregates"+ ( \x ->+ Aggregates'+ Prelude.<$> (x Data..:? "average")+ Prelude.<*> (x Data..:? "count")+ Prelude.<*> (x Data..:? "maximum")+ Prelude.<*> (x Data..:? "minimum")+ Prelude.<*> (x Data..:? "standardDeviation")+ Prelude.<*> (x Data..:? "sum")+ )++instance Prelude.Hashable Aggregates where+ hashWithSalt _salt Aggregates' {..} =+ _salt+ `Prelude.hashWithSalt` average+ `Prelude.hashWithSalt` count+ `Prelude.hashWithSalt` maximum+ `Prelude.hashWithSalt` minimum+ `Prelude.hashWithSalt` standardDeviation+ `Prelude.hashWithSalt` sum++instance Prelude.NFData Aggregates where+ rnf Aggregates' {..} =+ Prelude.rnf average+ `Prelude.seq` Prelude.rnf count+ `Prelude.seq` Prelude.rnf maximum+ `Prelude.seq` Prelude.rnf minimum+ `Prelude.seq` Prelude.rnf standardDeviation+ `Prelude.seq` Prelude.rnf sum
+ gen/Amazonka/IoTSiteWise/Types/Alarms.hs view
@@ -0,0 +1,125 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.Alarms+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.Alarms where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/appguide/monitor-alarms.html Monitoring with alarms>+-- in the /IoT SiteWise Application Guide/.+--+-- /See:/ 'newAlarms' smart constructor.+data Alarms = Alarms'+ { -- | The+ -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+ -- of the Lambda function that manages alarm notifications. For more+ -- information, see+ -- <https://docs.aws.amazon.com/iotevents/latest/developerguide/lambda-support.html Managing alarm notifications>+ -- in the /IoT Events Developer Guide/.+ notificationLambdaArn :: Prelude.Maybe Prelude.Text,+ -- | The+ -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+ -- of the IAM role that allows the alarm to perform actions and access+ -- Amazon Web Services resources and services, such as IoT Events.+ alarmRoleArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Alarms' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'notificationLambdaArn', 'alarms_notificationLambdaArn' - The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of the Lambda function that manages alarm notifications. For more+-- information, see+-- <https://docs.aws.amazon.com/iotevents/latest/developerguide/lambda-support.html Managing alarm notifications>+-- in the /IoT Events Developer Guide/.+--+-- 'alarmRoleArn', 'alarms_alarmRoleArn' - The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of the IAM role that allows the alarm to perform actions and access+-- Amazon Web Services resources and services, such as IoT Events.+newAlarms ::+ -- | 'alarmRoleArn'+ Prelude.Text ->+ Alarms+newAlarms pAlarmRoleArn_ =+ Alarms'+ { notificationLambdaArn = Prelude.Nothing,+ alarmRoleArn = pAlarmRoleArn_+ }++-- | The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of the Lambda function that manages alarm notifications. For more+-- information, see+-- <https://docs.aws.amazon.com/iotevents/latest/developerguide/lambda-support.html Managing alarm notifications>+-- in the /IoT Events Developer Guide/.+alarms_notificationLambdaArn :: Lens.Lens' Alarms (Prelude.Maybe Prelude.Text)+alarms_notificationLambdaArn = Lens.lens (\Alarms' {notificationLambdaArn} -> notificationLambdaArn) (\s@Alarms' {} a -> s {notificationLambdaArn = a} :: Alarms)++-- | The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of the IAM role that allows the alarm to perform actions and access+-- Amazon Web Services resources and services, such as IoT Events.+alarms_alarmRoleArn :: Lens.Lens' Alarms Prelude.Text+alarms_alarmRoleArn = Lens.lens (\Alarms' {alarmRoleArn} -> alarmRoleArn) (\s@Alarms' {} a -> s {alarmRoleArn = a} :: Alarms)++instance Data.FromJSON Alarms where+ parseJSON =+ Data.withObject+ "Alarms"+ ( \x ->+ Alarms'+ Prelude.<$> (x Data..:? "notificationLambdaArn")+ Prelude.<*> (x Data..: "alarmRoleArn")+ )++instance Prelude.Hashable Alarms where+ hashWithSalt _salt Alarms' {..} =+ _salt+ `Prelude.hashWithSalt` notificationLambdaArn+ `Prelude.hashWithSalt` alarmRoleArn++instance Prelude.NFData Alarms where+ rnf Alarms' {..} =+ Prelude.rnf notificationLambdaArn+ `Prelude.seq` Prelude.rnf alarmRoleArn++instance Data.ToJSON Alarms where+ toJSON Alarms' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("notificationLambdaArn" Data..=)+ Prelude.<$> notificationLambdaArn,+ Prelude.Just ("alarmRoleArn" Data..= alarmRoleArn)+ ]+ )
+ gen/Amazonka/IoTSiteWise/Types/AssetCompositeModel.hs view
@@ -0,0 +1,129 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.AssetCompositeModel+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.AssetCompositeModel where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.AssetProperty+import qualified Amazonka.Prelude as Prelude++-- | Contains information about a composite model in an asset. This object+-- contains the asset\'s properties that you define in the composite model.+--+-- /See:/ 'newAssetCompositeModel' smart constructor.+data AssetCompositeModel = AssetCompositeModel'+ { -- | The description of the composite model.+ description :: Prelude.Maybe Prelude.Text,+ -- | The ID of the asset composite model.+ id :: Prelude.Maybe Prelude.Text,+ -- | The name of the composite model.+ name :: Prelude.Text,+ -- | The type of the composite model. For alarm composite models, this type+ -- is @AWS\/ALARM@.+ type' :: Prelude.Text,+ -- | The asset properties that this composite model defines.+ properties :: [AssetProperty]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssetCompositeModel' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'assetCompositeModel_description' - The description of the composite model.+--+-- 'id', 'assetCompositeModel_id' - The ID of the asset composite model.+--+-- 'name', 'assetCompositeModel_name' - The name of the composite model.+--+-- 'type'', 'assetCompositeModel_type' - The type of the composite model. For alarm composite models, this type+-- is @AWS\/ALARM@.+--+-- 'properties', 'assetCompositeModel_properties' - The asset properties that this composite model defines.+newAssetCompositeModel ::+ -- | 'name'+ Prelude.Text ->+ -- | 'type''+ Prelude.Text ->+ AssetCompositeModel+newAssetCompositeModel pName_ pType_ =+ AssetCompositeModel'+ { description = Prelude.Nothing,+ id = Prelude.Nothing,+ name = pName_,+ type' = pType_,+ properties = Prelude.mempty+ }++-- | The description of the composite model.+assetCompositeModel_description :: Lens.Lens' AssetCompositeModel (Prelude.Maybe Prelude.Text)+assetCompositeModel_description = Lens.lens (\AssetCompositeModel' {description} -> description) (\s@AssetCompositeModel' {} a -> s {description = a} :: AssetCompositeModel)++-- | The ID of the asset composite model.+assetCompositeModel_id :: Lens.Lens' AssetCompositeModel (Prelude.Maybe Prelude.Text)+assetCompositeModel_id = Lens.lens (\AssetCompositeModel' {id} -> id) (\s@AssetCompositeModel' {} a -> s {id = a} :: AssetCompositeModel)++-- | The name of the composite model.+assetCompositeModel_name :: Lens.Lens' AssetCompositeModel Prelude.Text+assetCompositeModel_name = Lens.lens (\AssetCompositeModel' {name} -> name) (\s@AssetCompositeModel' {} a -> s {name = a} :: AssetCompositeModel)++-- | The type of the composite model. For alarm composite models, this type+-- is @AWS\/ALARM@.+assetCompositeModel_type :: Lens.Lens' AssetCompositeModel Prelude.Text+assetCompositeModel_type = Lens.lens (\AssetCompositeModel' {type'} -> type') (\s@AssetCompositeModel' {} a -> s {type' = a} :: AssetCompositeModel)++-- | The asset properties that this composite model defines.+assetCompositeModel_properties :: Lens.Lens' AssetCompositeModel [AssetProperty]+assetCompositeModel_properties = Lens.lens (\AssetCompositeModel' {properties} -> properties) (\s@AssetCompositeModel' {} a -> s {properties = a} :: AssetCompositeModel) Prelude.. Lens.coerced++instance Data.FromJSON AssetCompositeModel where+ parseJSON =+ Data.withObject+ "AssetCompositeModel"+ ( \x ->+ AssetCompositeModel'+ Prelude.<$> (x Data..:? "description")+ Prelude.<*> (x Data..:? "id")+ Prelude.<*> (x Data..: "name")+ Prelude.<*> (x Data..: "type")+ Prelude.<*> (x Data..:? "properties" Data..!= Prelude.mempty)+ )++instance Prelude.Hashable AssetCompositeModel where+ hashWithSalt _salt AssetCompositeModel' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` type'+ `Prelude.hashWithSalt` properties++instance Prelude.NFData AssetCompositeModel where+ rnf AssetCompositeModel' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf type'+ `Prelude.seq` Prelude.rnf properties
+ gen/Amazonka/IoTSiteWise/Types/AssetErrorCode.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.AssetErrorCode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.AssetErrorCode+ ( AssetErrorCode+ ( ..,+ AssetErrorCode_INTERNAL_FAILURE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AssetErrorCode = AssetErrorCode'+ { fromAssetErrorCode ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern AssetErrorCode_INTERNAL_FAILURE :: AssetErrorCode+pattern AssetErrorCode_INTERNAL_FAILURE = AssetErrorCode' "INTERNAL_FAILURE"++{-# COMPLETE+ AssetErrorCode_INTERNAL_FAILURE,+ AssetErrorCode'+ #-}
+ gen/Amazonka/IoTSiteWise/Types/AssetErrorDetails.hs view
@@ -0,0 +1,103 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.AssetErrorDetails+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.AssetErrorDetails where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.AssetErrorCode+import qualified Amazonka.Prelude as Prelude++-- | Contains error details for the requested associate project asset action.+--+-- /See:/ 'newAssetErrorDetails' smart constructor.+data AssetErrorDetails = AssetErrorDetails'+ { -- | The ID of the asset.+ assetId :: Prelude.Text,+ -- | The error code.+ code :: AssetErrorCode,+ -- | The error message.+ message :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssetErrorDetails' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'assetId', 'assetErrorDetails_assetId' - The ID of the asset.+--+-- 'code', 'assetErrorDetails_code' - The error code.+--+-- 'message', 'assetErrorDetails_message' - The error message.+newAssetErrorDetails ::+ -- | 'assetId'+ Prelude.Text ->+ -- | 'code'+ AssetErrorCode ->+ -- | 'message'+ Prelude.Text ->+ AssetErrorDetails+newAssetErrorDetails pAssetId_ pCode_ pMessage_ =+ AssetErrorDetails'+ { assetId = pAssetId_,+ code = pCode_,+ message = pMessage_+ }++-- | The ID of the asset.+assetErrorDetails_assetId :: Lens.Lens' AssetErrorDetails Prelude.Text+assetErrorDetails_assetId = Lens.lens (\AssetErrorDetails' {assetId} -> assetId) (\s@AssetErrorDetails' {} a -> s {assetId = a} :: AssetErrorDetails)++-- | The error code.+assetErrorDetails_code :: Lens.Lens' AssetErrorDetails AssetErrorCode+assetErrorDetails_code = Lens.lens (\AssetErrorDetails' {code} -> code) (\s@AssetErrorDetails' {} a -> s {code = a} :: AssetErrorDetails)++-- | The error message.+assetErrorDetails_message :: Lens.Lens' AssetErrorDetails Prelude.Text+assetErrorDetails_message = Lens.lens (\AssetErrorDetails' {message} -> message) (\s@AssetErrorDetails' {} a -> s {message = a} :: AssetErrorDetails)++instance Data.FromJSON AssetErrorDetails where+ parseJSON =+ Data.withObject+ "AssetErrorDetails"+ ( \x ->+ AssetErrorDetails'+ Prelude.<$> (x Data..: "assetId")+ Prelude.<*> (x Data..: "code")+ Prelude.<*> (x Data..: "message")+ )++instance Prelude.Hashable AssetErrorDetails where+ hashWithSalt _salt AssetErrorDetails' {..} =+ _salt+ `Prelude.hashWithSalt` assetId+ `Prelude.hashWithSalt` code+ `Prelude.hashWithSalt` message++instance Prelude.NFData AssetErrorDetails where+ rnf AssetErrorDetails' {..} =+ Prelude.rnf assetId+ `Prelude.seq` Prelude.rnf code+ `Prelude.seq` Prelude.rnf message
+ gen/Amazonka/IoTSiteWise/Types/AssetHierarchy.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.AssetHierarchy+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.AssetHierarchy where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Describes an asset hierarchy that contains a hierarchy\'s name and ID.+--+-- /See:/ 'newAssetHierarchy' smart constructor.+data AssetHierarchy = AssetHierarchy'+ { -- | The ID of the hierarchy. This ID is a @hierarchyId@.+ id :: Prelude.Maybe Prelude.Text,+ -- | The hierarchy name provided in the+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModel.html CreateAssetModel>+ -- or+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModel.html UpdateAssetModel>+ -- API operation.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssetHierarchy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'assetHierarchy_id' - The ID of the hierarchy. This ID is a @hierarchyId@.+--+-- 'name', 'assetHierarchy_name' - The hierarchy name provided in the+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModel.html CreateAssetModel>+-- or+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModel.html UpdateAssetModel>+-- API operation.+newAssetHierarchy ::+ -- | 'name'+ Prelude.Text ->+ AssetHierarchy+newAssetHierarchy pName_ =+ AssetHierarchy'+ { id = Prelude.Nothing,+ name = pName_+ }++-- | The ID of the hierarchy. This ID is a @hierarchyId@.+assetHierarchy_id :: Lens.Lens' AssetHierarchy (Prelude.Maybe Prelude.Text)+assetHierarchy_id = Lens.lens (\AssetHierarchy' {id} -> id) (\s@AssetHierarchy' {} a -> s {id = a} :: AssetHierarchy)++-- | The hierarchy name provided in the+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModel.html CreateAssetModel>+-- or+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModel.html UpdateAssetModel>+-- API operation.+assetHierarchy_name :: Lens.Lens' AssetHierarchy Prelude.Text+assetHierarchy_name = Lens.lens (\AssetHierarchy' {name} -> name) (\s@AssetHierarchy' {} a -> s {name = a} :: AssetHierarchy)++instance Data.FromJSON AssetHierarchy where+ parseJSON =+ Data.withObject+ "AssetHierarchy"+ ( \x ->+ AssetHierarchy'+ Prelude.<$> (x Data..:? "id")+ Prelude.<*> (x Data..: "name")+ )++instance Prelude.Hashable AssetHierarchy where+ hashWithSalt _salt AssetHierarchy' {..} =+ _salt+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` name++instance Prelude.NFData AssetHierarchy where+ rnf AssetHierarchy' {..} =+ Prelude.rnf id `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/IoTSiteWise/Types/AssetHierarchyInfo.hs view
@@ -0,0 +1,85 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.AssetHierarchyInfo+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.AssetHierarchyInfo where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Contains information about a parent asset and a child asset that are+-- related through an asset hierarchy.+--+-- /See:/ 'newAssetHierarchyInfo' smart constructor.+data AssetHierarchyInfo = AssetHierarchyInfo'+ { -- | The ID of the child asset in this asset relationship.+ childAssetId :: Prelude.Maybe Prelude.Text,+ -- | The ID of the parent asset in this asset relationship.+ parentAssetId :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssetHierarchyInfo' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'childAssetId', 'assetHierarchyInfo_childAssetId' - The ID of the child asset in this asset relationship.+--+-- 'parentAssetId', 'assetHierarchyInfo_parentAssetId' - The ID of the parent asset in this asset relationship.+newAssetHierarchyInfo ::+ AssetHierarchyInfo+newAssetHierarchyInfo =+ AssetHierarchyInfo'+ { childAssetId = Prelude.Nothing,+ parentAssetId = Prelude.Nothing+ }++-- | The ID of the child asset in this asset relationship.+assetHierarchyInfo_childAssetId :: Lens.Lens' AssetHierarchyInfo (Prelude.Maybe Prelude.Text)+assetHierarchyInfo_childAssetId = Lens.lens (\AssetHierarchyInfo' {childAssetId} -> childAssetId) (\s@AssetHierarchyInfo' {} a -> s {childAssetId = a} :: AssetHierarchyInfo)++-- | The ID of the parent asset in this asset relationship.+assetHierarchyInfo_parentAssetId :: Lens.Lens' AssetHierarchyInfo (Prelude.Maybe Prelude.Text)+assetHierarchyInfo_parentAssetId = Lens.lens (\AssetHierarchyInfo' {parentAssetId} -> parentAssetId) (\s@AssetHierarchyInfo' {} a -> s {parentAssetId = a} :: AssetHierarchyInfo)++instance Data.FromJSON AssetHierarchyInfo where+ parseJSON =+ Data.withObject+ "AssetHierarchyInfo"+ ( \x ->+ AssetHierarchyInfo'+ Prelude.<$> (x Data..:? "childAssetId")+ Prelude.<*> (x Data..:? "parentAssetId")+ )++instance Prelude.Hashable AssetHierarchyInfo where+ hashWithSalt _salt AssetHierarchyInfo' {..} =+ _salt+ `Prelude.hashWithSalt` childAssetId+ `Prelude.hashWithSalt` parentAssetId++instance Prelude.NFData AssetHierarchyInfo where+ rnf AssetHierarchyInfo' {..} =+ Prelude.rnf childAssetId+ `Prelude.seq` Prelude.rnf parentAssetId
+ gen/Amazonka/IoTSiteWise/Types/AssetModelCompositeModel.hs view
@@ -0,0 +1,143 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.AssetModelCompositeModel+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.AssetModelCompositeModel where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.AssetModelProperty+import qualified Amazonka.Prelude as Prelude++-- | Contains information about a composite model in an asset model. This+-- object contains the asset property definitions that you define in the+-- composite model.+--+-- /See:/ 'newAssetModelCompositeModel' smart constructor.+data AssetModelCompositeModel = AssetModelCompositeModel'+ { -- | The description of the composite model.+ description :: Prelude.Maybe Prelude.Text,+ -- | The ID of the asset model composite model.+ id :: Prelude.Maybe Prelude.Text,+ -- | The asset property definitions for this composite model.+ properties :: Prelude.Maybe [AssetModelProperty],+ -- | The name of the composite model.+ name :: Prelude.Text,+ -- | The type of the composite model. For alarm composite models, this type+ -- is @AWS\/ALARM@.+ type' :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssetModelCompositeModel' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'assetModelCompositeModel_description' - The description of the composite model.+--+-- 'id', 'assetModelCompositeModel_id' - The ID of the asset model composite model.+--+-- 'properties', 'assetModelCompositeModel_properties' - The asset property definitions for this composite model.+--+-- 'name', 'assetModelCompositeModel_name' - The name of the composite model.+--+-- 'type'', 'assetModelCompositeModel_type' - The type of the composite model. For alarm composite models, this type+-- is @AWS\/ALARM@.+newAssetModelCompositeModel ::+ -- | 'name'+ Prelude.Text ->+ -- | 'type''+ Prelude.Text ->+ AssetModelCompositeModel+newAssetModelCompositeModel pName_ pType_ =+ AssetModelCompositeModel'+ { description =+ Prelude.Nothing,+ id = Prelude.Nothing,+ properties = Prelude.Nothing,+ name = pName_,+ type' = pType_+ }++-- | The description of the composite model.+assetModelCompositeModel_description :: Lens.Lens' AssetModelCompositeModel (Prelude.Maybe Prelude.Text)+assetModelCompositeModel_description = Lens.lens (\AssetModelCompositeModel' {description} -> description) (\s@AssetModelCompositeModel' {} a -> s {description = a} :: AssetModelCompositeModel)++-- | The ID of the asset model composite model.+assetModelCompositeModel_id :: Lens.Lens' AssetModelCompositeModel (Prelude.Maybe Prelude.Text)+assetModelCompositeModel_id = Lens.lens (\AssetModelCompositeModel' {id} -> id) (\s@AssetModelCompositeModel' {} a -> s {id = a} :: AssetModelCompositeModel)++-- | The asset property definitions for this composite model.+assetModelCompositeModel_properties :: Lens.Lens' AssetModelCompositeModel (Prelude.Maybe [AssetModelProperty])+assetModelCompositeModel_properties = Lens.lens (\AssetModelCompositeModel' {properties} -> properties) (\s@AssetModelCompositeModel' {} a -> s {properties = a} :: AssetModelCompositeModel) Prelude.. Lens.mapping Lens.coerced++-- | The name of the composite model.+assetModelCompositeModel_name :: Lens.Lens' AssetModelCompositeModel Prelude.Text+assetModelCompositeModel_name = Lens.lens (\AssetModelCompositeModel' {name} -> name) (\s@AssetModelCompositeModel' {} a -> s {name = a} :: AssetModelCompositeModel)++-- | The type of the composite model. For alarm composite models, this type+-- is @AWS\/ALARM@.+assetModelCompositeModel_type :: Lens.Lens' AssetModelCompositeModel Prelude.Text+assetModelCompositeModel_type = Lens.lens (\AssetModelCompositeModel' {type'} -> type') (\s@AssetModelCompositeModel' {} a -> s {type' = a} :: AssetModelCompositeModel)++instance Data.FromJSON AssetModelCompositeModel where+ parseJSON =+ Data.withObject+ "AssetModelCompositeModel"+ ( \x ->+ AssetModelCompositeModel'+ Prelude.<$> (x Data..:? "description")+ Prelude.<*> (x Data..:? "id")+ Prelude.<*> (x Data..:? "properties" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..: "name")+ Prelude.<*> (x Data..: "type")+ )++instance Prelude.Hashable AssetModelCompositeModel where+ hashWithSalt _salt AssetModelCompositeModel' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` properties+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` type'++instance Prelude.NFData AssetModelCompositeModel where+ rnf AssetModelCompositeModel' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf properties+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf type'++instance Data.ToJSON AssetModelCompositeModel where+ toJSON AssetModelCompositeModel' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("description" Data..=) Prelude.<$> description,+ ("id" Data..=) Prelude.<$> id,+ ("properties" Data..=) Prelude.<$> properties,+ Prelude.Just ("name" Data..= name),+ Prelude.Just ("type" Data..= type')+ ]+ )
+ gen/Amazonka/IoTSiteWise/Types/AssetModelCompositeModelDefinition.hs view
@@ -0,0 +1,128 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.AssetModelCompositeModelDefinition+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.AssetModelCompositeModelDefinition where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.AssetModelPropertyDefinition+import qualified Amazonka.Prelude as Prelude++-- | Contains a composite model definition in an asset model. This composite+-- model definition is applied to all assets created from the asset model.+--+-- /See:/ 'newAssetModelCompositeModelDefinition' smart constructor.+data AssetModelCompositeModelDefinition = AssetModelCompositeModelDefinition'+ { -- | The description of the composite model.+ description :: Prelude.Maybe Prelude.Text,+ -- | The asset property definitions for this composite model.+ properties :: Prelude.Maybe [AssetModelPropertyDefinition],+ -- | The name of the composite model.+ name :: Prelude.Text,+ -- | The type of the composite model. For alarm composite models, this type+ -- is @AWS\/ALARM@.+ type' :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssetModelCompositeModelDefinition' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'assetModelCompositeModelDefinition_description' - The description of the composite model.+--+-- 'properties', 'assetModelCompositeModelDefinition_properties' - The asset property definitions for this composite model.+--+-- 'name', 'assetModelCompositeModelDefinition_name' - The name of the composite model.+--+-- 'type'', 'assetModelCompositeModelDefinition_type' - The type of the composite model. For alarm composite models, this type+-- is @AWS\/ALARM@.+newAssetModelCompositeModelDefinition ::+ -- | 'name'+ Prelude.Text ->+ -- | 'type''+ Prelude.Text ->+ AssetModelCompositeModelDefinition+newAssetModelCompositeModelDefinition pName_ pType_ =+ AssetModelCompositeModelDefinition'+ { description =+ Prelude.Nothing,+ properties = Prelude.Nothing,+ name = pName_,+ type' = pType_+ }++-- | The description of the composite model.+assetModelCompositeModelDefinition_description :: Lens.Lens' AssetModelCompositeModelDefinition (Prelude.Maybe Prelude.Text)+assetModelCompositeModelDefinition_description = Lens.lens (\AssetModelCompositeModelDefinition' {description} -> description) (\s@AssetModelCompositeModelDefinition' {} a -> s {description = a} :: AssetModelCompositeModelDefinition)++-- | The asset property definitions for this composite model.+assetModelCompositeModelDefinition_properties :: Lens.Lens' AssetModelCompositeModelDefinition (Prelude.Maybe [AssetModelPropertyDefinition])+assetModelCompositeModelDefinition_properties = Lens.lens (\AssetModelCompositeModelDefinition' {properties} -> properties) (\s@AssetModelCompositeModelDefinition' {} a -> s {properties = a} :: AssetModelCompositeModelDefinition) Prelude.. Lens.mapping Lens.coerced++-- | The name of the composite model.+assetModelCompositeModelDefinition_name :: Lens.Lens' AssetModelCompositeModelDefinition Prelude.Text+assetModelCompositeModelDefinition_name = Lens.lens (\AssetModelCompositeModelDefinition' {name} -> name) (\s@AssetModelCompositeModelDefinition' {} a -> s {name = a} :: AssetModelCompositeModelDefinition)++-- | The type of the composite model. For alarm composite models, this type+-- is @AWS\/ALARM@.+assetModelCompositeModelDefinition_type :: Lens.Lens' AssetModelCompositeModelDefinition Prelude.Text+assetModelCompositeModelDefinition_type = Lens.lens (\AssetModelCompositeModelDefinition' {type'} -> type') (\s@AssetModelCompositeModelDefinition' {} a -> s {type' = a} :: AssetModelCompositeModelDefinition)++instance+ Prelude.Hashable+ AssetModelCompositeModelDefinition+ where+ hashWithSalt+ _salt+ AssetModelCompositeModelDefinition' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` properties+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` type'++instance+ Prelude.NFData+ AssetModelCompositeModelDefinition+ where+ rnf AssetModelCompositeModelDefinition' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf properties+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf type'++instance+ Data.ToJSON+ AssetModelCompositeModelDefinition+ where+ toJSON AssetModelCompositeModelDefinition' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("description" Data..=) Prelude.<$> description,+ ("properties" Data..=) Prelude.<$> properties,+ Prelude.Just ("name" Data..= name),+ Prelude.Just ("type" Data..= type')+ ]+ )
+ gen/Amazonka/IoTSiteWise/Types/AssetModelHierarchy.hs view
@@ -0,0 +1,128 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.AssetModelHierarchy+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.AssetModelHierarchy where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | 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.+--+-- /See:/ 'newAssetModelHierarchy' smart constructor.+data AssetModelHierarchy = AssetModelHierarchy'+ { -- | The ID of the asset model hierarchy. This ID is a @hierarchyId@.+ id :: Prelude.Maybe Prelude.Text,+ -- | The name of the asset model hierarchy that you specify by using the+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModel.html CreateAssetModel>+ -- or+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModel.html UpdateAssetModel>+ -- API operation.+ name :: Prelude.Text,+ -- | The ID of the asset model. All assets in this hierarchy must be+ -- instances of the @childAssetModelId@ asset model.+ childAssetModelId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssetModelHierarchy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'assetModelHierarchy_id' - The ID of the asset model hierarchy. This ID is a @hierarchyId@.+--+-- 'name', 'assetModelHierarchy_name' - The name of the asset model hierarchy that you specify by using the+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModel.html CreateAssetModel>+-- or+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModel.html UpdateAssetModel>+-- API operation.+--+-- 'childAssetModelId', 'assetModelHierarchy_childAssetModelId' - The ID of the asset model. All assets in this hierarchy must be+-- instances of the @childAssetModelId@ asset model.+newAssetModelHierarchy ::+ -- | 'name'+ Prelude.Text ->+ -- | 'childAssetModelId'+ Prelude.Text ->+ AssetModelHierarchy+newAssetModelHierarchy pName_ pChildAssetModelId_ =+ AssetModelHierarchy'+ { id = Prelude.Nothing,+ name = pName_,+ childAssetModelId = pChildAssetModelId_+ }++-- | The ID of the asset model hierarchy. This ID is a @hierarchyId@.+assetModelHierarchy_id :: Lens.Lens' AssetModelHierarchy (Prelude.Maybe Prelude.Text)+assetModelHierarchy_id = Lens.lens (\AssetModelHierarchy' {id} -> id) (\s@AssetModelHierarchy' {} a -> s {id = a} :: AssetModelHierarchy)++-- | The name of the asset model hierarchy that you specify by using the+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModel.html CreateAssetModel>+-- or+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModel.html UpdateAssetModel>+-- API operation.+assetModelHierarchy_name :: Lens.Lens' AssetModelHierarchy Prelude.Text+assetModelHierarchy_name = Lens.lens (\AssetModelHierarchy' {name} -> name) (\s@AssetModelHierarchy' {} a -> s {name = a} :: AssetModelHierarchy)++-- | The ID of the asset model. All assets in this hierarchy must be+-- instances of the @childAssetModelId@ asset model.+assetModelHierarchy_childAssetModelId :: Lens.Lens' AssetModelHierarchy Prelude.Text+assetModelHierarchy_childAssetModelId = Lens.lens (\AssetModelHierarchy' {childAssetModelId} -> childAssetModelId) (\s@AssetModelHierarchy' {} a -> s {childAssetModelId = a} :: AssetModelHierarchy)++instance Data.FromJSON AssetModelHierarchy where+ parseJSON =+ Data.withObject+ "AssetModelHierarchy"+ ( \x ->+ AssetModelHierarchy'+ Prelude.<$> (x Data..:? "id")+ Prelude.<*> (x Data..: "name")+ Prelude.<*> (x Data..: "childAssetModelId")+ )++instance Prelude.Hashable AssetModelHierarchy where+ hashWithSalt _salt AssetModelHierarchy' {..} =+ _salt+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` childAssetModelId++instance Prelude.NFData AssetModelHierarchy where+ rnf AssetModelHierarchy' {..} =+ Prelude.rnf id+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf childAssetModelId++instance Data.ToJSON AssetModelHierarchy where+ toJSON AssetModelHierarchy' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("id" Data..=) Prelude.<$> id,+ Prelude.Just ("name" Data..= name),+ Prelude.Just+ ("childAssetModelId" Data..= childAssetModelId)+ ]+ )
+ gen/Amazonka/IoTSiteWise/Types/AssetModelHierarchyDefinition.hs view
@@ -0,0 +1,107 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.AssetModelHierarchyDefinition+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.AssetModelHierarchyDefinition where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | 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.+--+-- /See:/ 'newAssetModelHierarchyDefinition' smart constructor.+data AssetModelHierarchyDefinition = AssetModelHierarchyDefinition'+ { -- | The name of the asset model hierarchy definition (as specified in the+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModel.html CreateAssetModel>+ -- or+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModel.html UpdateAssetModel>+ -- API operation).+ name :: Prelude.Text,+ -- | The ID of an asset model for this hierarchy.+ childAssetModelId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssetModelHierarchyDefinition' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'assetModelHierarchyDefinition_name' - The name of the asset model hierarchy definition (as specified in the+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModel.html CreateAssetModel>+-- or+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModel.html UpdateAssetModel>+-- API operation).+--+-- 'childAssetModelId', 'assetModelHierarchyDefinition_childAssetModelId' - The ID of an asset model for this hierarchy.+newAssetModelHierarchyDefinition ::+ -- | 'name'+ Prelude.Text ->+ -- | 'childAssetModelId'+ Prelude.Text ->+ AssetModelHierarchyDefinition+newAssetModelHierarchyDefinition+ pName_+ pChildAssetModelId_ =+ AssetModelHierarchyDefinition'+ { name = pName_,+ childAssetModelId = pChildAssetModelId_+ }++-- | The name of the asset model hierarchy definition (as specified in the+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModel.html CreateAssetModel>+-- or+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModel.html UpdateAssetModel>+-- API operation).+assetModelHierarchyDefinition_name :: Lens.Lens' AssetModelHierarchyDefinition Prelude.Text+assetModelHierarchyDefinition_name = Lens.lens (\AssetModelHierarchyDefinition' {name} -> name) (\s@AssetModelHierarchyDefinition' {} a -> s {name = a} :: AssetModelHierarchyDefinition)++-- | The ID of an asset model for this hierarchy.+assetModelHierarchyDefinition_childAssetModelId :: Lens.Lens' AssetModelHierarchyDefinition Prelude.Text+assetModelHierarchyDefinition_childAssetModelId = Lens.lens (\AssetModelHierarchyDefinition' {childAssetModelId} -> childAssetModelId) (\s@AssetModelHierarchyDefinition' {} a -> s {childAssetModelId = a} :: AssetModelHierarchyDefinition)++instance+ Prelude.Hashable+ AssetModelHierarchyDefinition+ where+ hashWithSalt _salt AssetModelHierarchyDefinition' {..} =+ _salt+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` childAssetModelId++instance Prelude.NFData AssetModelHierarchyDefinition where+ rnf AssetModelHierarchyDefinition' {..} =+ Prelude.rnf name+ `Prelude.seq` Prelude.rnf childAssetModelId++instance Data.ToJSON AssetModelHierarchyDefinition where+ toJSON AssetModelHierarchyDefinition' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("name" Data..= name),+ Prelude.Just+ ("childAssetModelId" Data..= childAssetModelId)+ ]+ )
+ gen/Amazonka/IoTSiteWise/Types/AssetModelProperty.hs view
@@ -0,0 +1,156 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.AssetModelProperty+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.AssetModelProperty where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.PropertyDataType+import Amazonka.IoTSiteWise.Types.PropertyType+import qualified Amazonka.Prelude as Prelude++-- | Contains information about an asset model property.+--+-- /See:/ 'newAssetModelProperty' smart constructor.+data AssetModelProperty = AssetModelProperty'+ { -- | The data type of the structure for this property. This parameter exists+ -- on properties that have the @STRUCT@ data type.+ dataTypeSpec :: Prelude.Maybe Prelude.Text,+ -- | The ID of the asset model property.+ id :: Prelude.Maybe Prelude.Text,+ -- | The unit of the asset model property, such as @Newtons@ or @RPM@.+ unit :: Prelude.Maybe Prelude.Text,+ -- | The name of the asset model property.+ name :: Prelude.Text,+ -- | The data type of the asset model property.+ dataType :: PropertyDataType,+ -- | The property type (see @PropertyType@).+ type' :: PropertyType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssetModelProperty' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataTypeSpec', 'assetModelProperty_dataTypeSpec' - The data type of the structure for this property. This parameter exists+-- on properties that have the @STRUCT@ data type.+--+-- 'id', 'assetModelProperty_id' - The ID of the asset model property.+--+-- 'unit', 'assetModelProperty_unit' - The unit of the asset model property, such as @Newtons@ or @RPM@.+--+-- 'name', 'assetModelProperty_name' - The name of the asset model property.+--+-- 'dataType', 'assetModelProperty_dataType' - The data type of the asset model property.+--+-- 'type'', 'assetModelProperty_type' - The property type (see @PropertyType@).+newAssetModelProperty ::+ -- | 'name'+ Prelude.Text ->+ -- | 'dataType'+ PropertyDataType ->+ -- | 'type''+ PropertyType ->+ AssetModelProperty+newAssetModelProperty pName_ pDataType_ pType_ =+ AssetModelProperty'+ { dataTypeSpec = Prelude.Nothing,+ id = Prelude.Nothing,+ unit = Prelude.Nothing,+ name = pName_,+ dataType = pDataType_,+ type' = pType_+ }++-- | The data type of the structure for this property. This parameter exists+-- on properties that have the @STRUCT@ data type.+assetModelProperty_dataTypeSpec :: Lens.Lens' AssetModelProperty (Prelude.Maybe Prelude.Text)+assetModelProperty_dataTypeSpec = Lens.lens (\AssetModelProperty' {dataTypeSpec} -> dataTypeSpec) (\s@AssetModelProperty' {} a -> s {dataTypeSpec = a} :: AssetModelProperty)++-- | The ID of the asset model property.+assetModelProperty_id :: Lens.Lens' AssetModelProperty (Prelude.Maybe Prelude.Text)+assetModelProperty_id = Lens.lens (\AssetModelProperty' {id} -> id) (\s@AssetModelProperty' {} a -> s {id = a} :: AssetModelProperty)++-- | The unit of the asset model property, such as @Newtons@ or @RPM@.+assetModelProperty_unit :: Lens.Lens' AssetModelProperty (Prelude.Maybe Prelude.Text)+assetModelProperty_unit = Lens.lens (\AssetModelProperty' {unit} -> unit) (\s@AssetModelProperty' {} a -> s {unit = a} :: AssetModelProperty)++-- | The name of the asset model property.+assetModelProperty_name :: Lens.Lens' AssetModelProperty Prelude.Text+assetModelProperty_name = Lens.lens (\AssetModelProperty' {name} -> name) (\s@AssetModelProperty' {} a -> s {name = a} :: AssetModelProperty)++-- | The data type of the asset model property.+assetModelProperty_dataType :: Lens.Lens' AssetModelProperty PropertyDataType+assetModelProperty_dataType = Lens.lens (\AssetModelProperty' {dataType} -> dataType) (\s@AssetModelProperty' {} a -> s {dataType = a} :: AssetModelProperty)++-- | The property type (see @PropertyType@).+assetModelProperty_type :: Lens.Lens' AssetModelProperty PropertyType+assetModelProperty_type = Lens.lens (\AssetModelProperty' {type'} -> type') (\s@AssetModelProperty' {} a -> s {type' = a} :: AssetModelProperty)++instance Data.FromJSON AssetModelProperty where+ parseJSON =+ Data.withObject+ "AssetModelProperty"+ ( \x ->+ AssetModelProperty'+ Prelude.<$> (x Data..:? "dataTypeSpec")+ Prelude.<*> (x Data..:? "id")+ Prelude.<*> (x Data..:? "unit")+ Prelude.<*> (x Data..: "name")+ Prelude.<*> (x Data..: "dataType")+ Prelude.<*> (x Data..: "type")+ )++instance Prelude.Hashable AssetModelProperty where+ hashWithSalt _salt AssetModelProperty' {..} =+ _salt+ `Prelude.hashWithSalt` dataTypeSpec+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` unit+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` dataType+ `Prelude.hashWithSalt` type'++instance Prelude.NFData AssetModelProperty where+ rnf AssetModelProperty' {..} =+ Prelude.rnf dataTypeSpec+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf unit+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf dataType+ `Prelude.seq` Prelude.rnf type'++instance Data.ToJSON AssetModelProperty where+ toJSON AssetModelProperty' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("dataTypeSpec" Data..=) Prelude.<$> dataTypeSpec,+ ("id" Data..=) Prelude.<$> id,+ ("unit" Data..=) Prelude.<$> unit,+ Prelude.Just ("name" Data..= name),+ Prelude.Just ("dataType" Data..= dataType),+ Prelude.Just ("type" Data..= type')+ ]+ )
+ gen/Amazonka/IoTSiteWise/Types/AssetModelPropertyDefinition.hs view
@@ -0,0 +1,162 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.AssetModelPropertyDefinition+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.AssetModelPropertyDefinition where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.PropertyDataType+import Amazonka.IoTSiteWise.Types.PropertyType+import qualified Amazonka.Prelude as Prelude++-- | Contains an asset model property definition. This property definition is+-- applied to all assets created from the asset model.+--+-- /See:/ 'newAssetModelPropertyDefinition' smart constructor.+data AssetModelPropertyDefinition = AssetModelPropertyDefinition'+ { -- | 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 :: Prelude.Maybe Prelude.Text,+ -- | The unit of the property definition, such as @Newtons@ or @RPM@.+ unit :: Prelude.Maybe Prelude.Text,+ -- | The name of the property definition.+ name :: Prelude.Text,+ -- | 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.+ dataType :: PropertyDataType,+ -- | The property definition type (see @PropertyType@). You can only specify+ -- one type in a property definition.+ type' :: PropertyType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssetModelPropertyDefinition' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataTypeSpec', 'assetModelPropertyDefinition_dataTypeSpec' - 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.+--+-- 'unit', 'assetModelPropertyDefinition_unit' - The unit of the property definition, such as @Newtons@ or @RPM@.+--+-- 'name', 'assetModelPropertyDefinition_name' - The name of the property definition.+--+-- 'dataType', 'assetModelPropertyDefinition_dataType' - 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.+--+-- 'type'', 'assetModelPropertyDefinition_type' - The property definition type (see @PropertyType@). You can only specify+-- one type in a property definition.+newAssetModelPropertyDefinition ::+ -- | 'name'+ Prelude.Text ->+ -- | 'dataType'+ PropertyDataType ->+ -- | 'type''+ PropertyType ->+ AssetModelPropertyDefinition+newAssetModelPropertyDefinition+ pName_+ pDataType_+ pType_ =+ AssetModelPropertyDefinition'+ { dataTypeSpec =+ Prelude.Nothing,+ unit = Prelude.Nothing,+ name = pName_,+ dataType = pDataType_,+ type' = pType_+ }++-- | 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.+assetModelPropertyDefinition_dataTypeSpec :: Lens.Lens' AssetModelPropertyDefinition (Prelude.Maybe Prelude.Text)+assetModelPropertyDefinition_dataTypeSpec = Lens.lens (\AssetModelPropertyDefinition' {dataTypeSpec} -> dataTypeSpec) (\s@AssetModelPropertyDefinition' {} a -> s {dataTypeSpec = a} :: AssetModelPropertyDefinition)++-- | The unit of the property definition, such as @Newtons@ or @RPM@.+assetModelPropertyDefinition_unit :: Lens.Lens' AssetModelPropertyDefinition (Prelude.Maybe Prelude.Text)+assetModelPropertyDefinition_unit = Lens.lens (\AssetModelPropertyDefinition' {unit} -> unit) (\s@AssetModelPropertyDefinition' {} a -> s {unit = a} :: AssetModelPropertyDefinition)++-- | The name of the property definition.+assetModelPropertyDefinition_name :: Lens.Lens' AssetModelPropertyDefinition Prelude.Text+assetModelPropertyDefinition_name = Lens.lens (\AssetModelPropertyDefinition' {name} -> name) (\s@AssetModelPropertyDefinition' {} a -> s {name = a} :: AssetModelPropertyDefinition)++-- | 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.+assetModelPropertyDefinition_dataType :: Lens.Lens' AssetModelPropertyDefinition PropertyDataType+assetModelPropertyDefinition_dataType = Lens.lens (\AssetModelPropertyDefinition' {dataType} -> dataType) (\s@AssetModelPropertyDefinition' {} a -> s {dataType = a} :: AssetModelPropertyDefinition)++-- | The property definition type (see @PropertyType@). You can only specify+-- one type in a property definition.+assetModelPropertyDefinition_type :: Lens.Lens' AssetModelPropertyDefinition PropertyType+assetModelPropertyDefinition_type = Lens.lens (\AssetModelPropertyDefinition' {type'} -> type') (\s@AssetModelPropertyDefinition' {} a -> s {type' = a} :: AssetModelPropertyDefinition)++instance+ Prelude.Hashable+ AssetModelPropertyDefinition+ where+ hashWithSalt _salt AssetModelPropertyDefinition' {..} =+ _salt+ `Prelude.hashWithSalt` dataTypeSpec+ `Prelude.hashWithSalt` unit+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` dataType+ `Prelude.hashWithSalt` type'++instance Prelude.NFData AssetModelPropertyDefinition where+ rnf AssetModelPropertyDefinition' {..} =+ Prelude.rnf dataTypeSpec+ `Prelude.seq` Prelude.rnf unit+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf dataType+ `Prelude.seq` Prelude.rnf type'++instance Data.ToJSON AssetModelPropertyDefinition where+ toJSON AssetModelPropertyDefinition' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("dataTypeSpec" Data..=) Prelude.<$> dataTypeSpec,+ ("unit" Data..=) Prelude.<$> unit,+ Prelude.Just ("name" Data..= name),+ Prelude.Just ("dataType" Data..= dataType),+ Prelude.Just ("type" Data..= type')+ ]+ )
+ gen/Amazonka/IoTSiteWise/Types/AssetModelPropertySummary.hs view
@@ -0,0 +1,155 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.AssetModelPropertySummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.AssetModelPropertySummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.PropertyDataType+import Amazonka.IoTSiteWise.Types.PropertyType+import qualified Amazonka.Prelude as Prelude++-- | Contains a summary of a property associated with a model.+--+-- /See:/ 'newAssetModelPropertySummary' smart constructor.+data AssetModelPropertySummary = AssetModelPropertySummary'+ { -- | The ID of the composite model that contains the asset model property.+ assetModelCompositeModelId :: Prelude.Maybe Prelude.Text,+ -- | The data type of the structure for this property. This parameter exists+ -- on properties that have the @STRUCT@ data type.+ dataTypeSpec :: Prelude.Maybe Prelude.Text,+ -- | The ID of the property.+ id :: Prelude.Maybe Prelude.Text,+ -- | The unit (such as @Newtons@ or @RPM@) of the property.+ unit :: Prelude.Maybe Prelude.Text,+ -- | The name of the property.+ name :: Prelude.Text,+ -- | The data type of the property.+ dataType :: PropertyDataType,+ type' :: PropertyType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssetModelPropertySummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'assetModelCompositeModelId', 'assetModelPropertySummary_assetModelCompositeModelId' - The ID of the composite model that contains the asset model property.+--+-- 'dataTypeSpec', 'assetModelPropertySummary_dataTypeSpec' - The data type of the structure for this property. This parameter exists+-- on properties that have the @STRUCT@ data type.+--+-- 'id', 'assetModelPropertySummary_id' - The ID of the property.+--+-- 'unit', 'assetModelPropertySummary_unit' - The unit (such as @Newtons@ or @RPM@) of the property.+--+-- 'name', 'assetModelPropertySummary_name' - The name of the property.+--+-- 'dataType', 'assetModelPropertySummary_dataType' - The data type of the property.+--+-- 'type'', 'assetModelPropertySummary_type' - Undocumented member.+newAssetModelPropertySummary ::+ -- | 'name'+ Prelude.Text ->+ -- | 'dataType'+ PropertyDataType ->+ -- | 'type''+ PropertyType ->+ AssetModelPropertySummary+newAssetModelPropertySummary pName_ pDataType_ pType_ =+ AssetModelPropertySummary'+ { assetModelCompositeModelId =+ Prelude.Nothing,+ dataTypeSpec = Prelude.Nothing,+ id = Prelude.Nothing,+ unit = Prelude.Nothing,+ name = pName_,+ dataType = pDataType_,+ type' = pType_+ }++-- | The ID of the composite model that contains the asset model property.+assetModelPropertySummary_assetModelCompositeModelId :: Lens.Lens' AssetModelPropertySummary (Prelude.Maybe Prelude.Text)+assetModelPropertySummary_assetModelCompositeModelId = Lens.lens (\AssetModelPropertySummary' {assetModelCompositeModelId} -> assetModelCompositeModelId) (\s@AssetModelPropertySummary' {} a -> s {assetModelCompositeModelId = a} :: AssetModelPropertySummary)++-- | The data type of the structure for this property. This parameter exists+-- on properties that have the @STRUCT@ data type.+assetModelPropertySummary_dataTypeSpec :: Lens.Lens' AssetModelPropertySummary (Prelude.Maybe Prelude.Text)+assetModelPropertySummary_dataTypeSpec = Lens.lens (\AssetModelPropertySummary' {dataTypeSpec} -> dataTypeSpec) (\s@AssetModelPropertySummary' {} a -> s {dataTypeSpec = a} :: AssetModelPropertySummary)++-- | The ID of the property.+assetModelPropertySummary_id :: Lens.Lens' AssetModelPropertySummary (Prelude.Maybe Prelude.Text)+assetModelPropertySummary_id = Lens.lens (\AssetModelPropertySummary' {id} -> id) (\s@AssetModelPropertySummary' {} a -> s {id = a} :: AssetModelPropertySummary)++-- | The unit (such as @Newtons@ or @RPM@) of the property.+assetModelPropertySummary_unit :: Lens.Lens' AssetModelPropertySummary (Prelude.Maybe Prelude.Text)+assetModelPropertySummary_unit = Lens.lens (\AssetModelPropertySummary' {unit} -> unit) (\s@AssetModelPropertySummary' {} a -> s {unit = a} :: AssetModelPropertySummary)++-- | The name of the property.+assetModelPropertySummary_name :: Lens.Lens' AssetModelPropertySummary Prelude.Text+assetModelPropertySummary_name = Lens.lens (\AssetModelPropertySummary' {name} -> name) (\s@AssetModelPropertySummary' {} a -> s {name = a} :: AssetModelPropertySummary)++-- | The data type of the property.+assetModelPropertySummary_dataType :: Lens.Lens' AssetModelPropertySummary PropertyDataType+assetModelPropertySummary_dataType = Lens.lens (\AssetModelPropertySummary' {dataType} -> dataType) (\s@AssetModelPropertySummary' {} a -> s {dataType = a} :: AssetModelPropertySummary)++-- | Undocumented member.+assetModelPropertySummary_type :: Lens.Lens' AssetModelPropertySummary PropertyType+assetModelPropertySummary_type = Lens.lens (\AssetModelPropertySummary' {type'} -> type') (\s@AssetModelPropertySummary' {} a -> s {type' = a} :: AssetModelPropertySummary)++instance Data.FromJSON AssetModelPropertySummary where+ parseJSON =+ Data.withObject+ "AssetModelPropertySummary"+ ( \x ->+ AssetModelPropertySummary'+ Prelude.<$> (x Data..:? "assetModelCompositeModelId")+ Prelude.<*> (x Data..:? "dataTypeSpec")+ Prelude.<*> (x Data..:? "id")+ Prelude.<*> (x Data..:? "unit")+ Prelude.<*> (x Data..: "name")+ Prelude.<*> (x Data..: "dataType")+ Prelude.<*> (x Data..: "type")+ )++instance Prelude.Hashable AssetModelPropertySummary where+ hashWithSalt _salt AssetModelPropertySummary' {..} =+ _salt+ `Prelude.hashWithSalt` assetModelCompositeModelId+ `Prelude.hashWithSalt` dataTypeSpec+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` unit+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` dataType+ `Prelude.hashWithSalt` type'++instance Prelude.NFData AssetModelPropertySummary where+ rnf AssetModelPropertySummary' {..} =+ Prelude.rnf assetModelCompositeModelId+ `Prelude.seq` Prelude.rnf dataTypeSpec+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf unit+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf dataType+ `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/IoTSiteWise/Types/AssetModelState.hs view
@@ -0,0 +1,91 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.AssetModelState+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.AssetModelState+ ( AssetModelState+ ( ..,+ AssetModelState_ACTIVE,+ AssetModelState_CREATING,+ AssetModelState_DELETING,+ AssetModelState_FAILED,+ AssetModelState_PROPAGATING,+ AssetModelState_UPDATING+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AssetModelState = AssetModelState'+ { fromAssetModelState ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern AssetModelState_ACTIVE :: AssetModelState+pattern AssetModelState_ACTIVE = AssetModelState' "ACTIVE"++pattern AssetModelState_CREATING :: AssetModelState+pattern AssetModelState_CREATING = AssetModelState' "CREATING"++pattern AssetModelState_DELETING :: AssetModelState+pattern AssetModelState_DELETING = AssetModelState' "DELETING"++pattern AssetModelState_FAILED :: AssetModelState+pattern AssetModelState_FAILED = AssetModelState' "FAILED"++pattern AssetModelState_PROPAGATING :: AssetModelState+pattern AssetModelState_PROPAGATING = AssetModelState' "PROPAGATING"++pattern AssetModelState_UPDATING :: AssetModelState+pattern AssetModelState_UPDATING = AssetModelState' "UPDATING"++{-# COMPLETE+ AssetModelState_ACTIVE,+ AssetModelState_CREATING,+ AssetModelState_DELETING,+ AssetModelState_FAILED,+ AssetModelState_PROPAGATING,+ AssetModelState_UPDATING,+ AssetModelState'+ #-}
+ gen/Amazonka/IoTSiteWise/Types/AssetModelStatus.hs view
@@ -0,0 +1,90 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.AssetModelStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.AssetModelStatus where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.AssetModelState+import Amazonka.IoTSiteWise.Types.ErrorDetails+import qualified Amazonka.Prelude as Prelude++-- | Contains current status information for an asset model. For more+-- information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-and-model-states.html Asset and model states>+-- in the /IoT SiteWise User Guide/.+--+-- /See:/ 'newAssetModelStatus' smart constructor.+data AssetModelStatus = AssetModelStatus'+ { -- | Contains associated error information, if any.+ error :: Prelude.Maybe ErrorDetails,+ -- | The current state of the asset model.+ state :: AssetModelState+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssetModelStatus' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'error', 'assetModelStatus_error' - Contains associated error information, if any.+--+-- 'state', 'assetModelStatus_state' - The current state of the asset model.+newAssetModelStatus ::+ -- | 'state'+ AssetModelState ->+ AssetModelStatus+newAssetModelStatus pState_ =+ AssetModelStatus'+ { error = Prelude.Nothing,+ state = pState_+ }++-- | Contains associated error information, if any.+assetModelStatus_error :: Lens.Lens' AssetModelStatus (Prelude.Maybe ErrorDetails)+assetModelStatus_error = Lens.lens (\AssetModelStatus' {error} -> error) (\s@AssetModelStatus' {} a -> s {error = a} :: AssetModelStatus)++-- | The current state of the asset model.+assetModelStatus_state :: Lens.Lens' AssetModelStatus AssetModelState+assetModelStatus_state = Lens.lens (\AssetModelStatus' {state} -> state) (\s@AssetModelStatus' {} a -> s {state = a} :: AssetModelStatus)++instance Data.FromJSON AssetModelStatus where+ parseJSON =+ Data.withObject+ "AssetModelStatus"+ ( \x ->+ AssetModelStatus'+ Prelude.<$> (x Data..:? "error")+ Prelude.<*> (x Data..: "state")+ )++instance Prelude.Hashable AssetModelStatus where+ hashWithSalt _salt AssetModelStatus' {..} =+ _salt+ `Prelude.hashWithSalt` error+ `Prelude.hashWithSalt` state++instance Prelude.NFData AssetModelStatus where+ rnf AssetModelStatus' {..} =+ Prelude.rnf error `Prelude.seq` Prelude.rnf state
+ gen/Amazonka/IoTSiteWise/Types/AssetModelSummary.hs view
@@ -0,0 +1,178 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.AssetModelSummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.AssetModelSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.AssetModelStatus+import qualified Amazonka.Prelude as Prelude++-- | Contains a summary of an asset model.+--+-- /See:/ 'newAssetModelSummary' smart constructor.+data AssetModelSummary = AssetModelSummary'+ { -- | The ID of the asset model (used with IoT SiteWise APIs).+ id :: Prelude.Text,+ -- | The+ -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+ -- of the asset model, which has the following format.+ --+ -- @arn:${Partition}:iotsitewise:${Region}:${Account}:asset-model\/${AssetModelId}@+ arn :: Prelude.Text,+ -- | The name of the asset model.+ name :: Prelude.Text,+ -- | The asset model description.+ description :: Prelude.Text,+ -- | The date the asset model was created, in Unix epoch time.+ creationDate :: Data.POSIX,+ -- | The date the asset model was last updated, in Unix epoch time.+ lastUpdateDate :: Data.POSIX,+ -- | The current status of the asset model.+ status :: AssetModelStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssetModelSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'assetModelSummary_id' - The ID of the asset model (used with IoT SiteWise APIs).+--+-- 'arn', 'assetModelSummary_arn' - The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of the asset model, which has the following format.+--+-- @arn:${Partition}:iotsitewise:${Region}:${Account}:asset-model\/${AssetModelId}@+--+-- 'name', 'assetModelSummary_name' - The name of the asset model.+--+-- 'description', 'assetModelSummary_description' - The asset model description.+--+-- 'creationDate', 'assetModelSummary_creationDate' - The date the asset model was created, in Unix epoch time.+--+-- 'lastUpdateDate', 'assetModelSummary_lastUpdateDate' - The date the asset model was last updated, in Unix epoch time.+--+-- 'status', 'assetModelSummary_status' - The current status of the asset model.+newAssetModelSummary ::+ -- | 'id'+ Prelude.Text ->+ -- | 'arn'+ Prelude.Text ->+ -- | 'name'+ Prelude.Text ->+ -- | 'description'+ Prelude.Text ->+ -- | 'creationDate'+ Prelude.UTCTime ->+ -- | 'lastUpdateDate'+ Prelude.UTCTime ->+ -- | 'status'+ AssetModelStatus ->+ AssetModelSummary+newAssetModelSummary+ pId_+ pArn_+ pName_+ pDescription_+ pCreationDate_+ pLastUpdateDate_+ pStatus_ =+ AssetModelSummary'+ { id = pId_,+ arn = pArn_,+ name = pName_,+ description = pDescription_,+ creationDate = Data._Time Lens.# pCreationDate_,+ lastUpdateDate = Data._Time Lens.# pLastUpdateDate_,+ status = pStatus_+ }++-- | The ID of the asset model (used with IoT SiteWise APIs).+assetModelSummary_id :: Lens.Lens' AssetModelSummary Prelude.Text+assetModelSummary_id = Lens.lens (\AssetModelSummary' {id} -> id) (\s@AssetModelSummary' {} a -> s {id = a} :: AssetModelSummary)++-- | The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of the asset model, which has the following format.+--+-- @arn:${Partition}:iotsitewise:${Region}:${Account}:asset-model\/${AssetModelId}@+assetModelSummary_arn :: Lens.Lens' AssetModelSummary Prelude.Text+assetModelSummary_arn = Lens.lens (\AssetModelSummary' {arn} -> arn) (\s@AssetModelSummary' {} a -> s {arn = a} :: AssetModelSummary)++-- | The name of the asset model.+assetModelSummary_name :: Lens.Lens' AssetModelSummary Prelude.Text+assetModelSummary_name = Lens.lens (\AssetModelSummary' {name} -> name) (\s@AssetModelSummary' {} a -> s {name = a} :: AssetModelSummary)++-- | The asset model description.+assetModelSummary_description :: Lens.Lens' AssetModelSummary Prelude.Text+assetModelSummary_description = Lens.lens (\AssetModelSummary' {description} -> description) (\s@AssetModelSummary' {} a -> s {description = a} :: AssetModelSummary)++-- | The date the asset model was created, in Unix epoch time.+assetModelSummary_creationDate :: Lens.Lens' AssetModelSummary Prelude.UTCTime+assetModelSummary_creationDate = Lens.lens (\AssetModelSummary' {creationDate} -> creationDate) (\s@AssetModelSummary' {} a -> s {creationDate = a} :: AssetModelSummary) Prelude.. Data._Time++-- | The date the asset model was last updated, in Unix epoch time.+assetModelSummary_lastUpdateDate :: Lens.Lens' AssetModelSummary Prelude.UTCTime+assetModelSummary_lastUpdateDate = Lens.lens (\AssetModelSummary' {lastUpdateDate} -> lastUpdateDate) (\s@AssetModelSummary' {} a -> s {lastUpdateDate = a} :: AssetModelSummary) Prelude.. Data._Time++-- | The current status of the asset model.+assetModelSummary_status :: Lens.Lens' AssetModelSummary AssetModelStatus+assetModelSummary_status = Lens.lens (\AssetModelSummary' {status} -> status) (\s@AssetModelSummary' {} a -> s {status = a} :: AssetModelSummary)++instance Data.FromJSON AssetModelSummary where+ parseJSON =+ Data.withObject+ "AssetModelSummary"+ ( \x ->+ AssetModelSummary'+ Prelude.<$> (x Data..: "id")+ Prelude.<*> (x Data..: "arn")+ Prelude.<*> (x Data..: "name")+ Prelude.<*> (x Data..: "description")+ Prelude.<*> (x Data..: "creationDate")+ Prelude.<*> (x Data..: "lastUpdateDate")+ Prelude.<*> (x Data..: "status")+ )++instance Prelude.Hashable AssetModelSummary where+ hashWithSalt _salt AssetModelSummary' {..} =+ _salt+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` creationDate+ `Prelude.hashWithSalt` lastUpdateDate+ `Prelude.hashWithSalt` status++instance Prelude.NFData AssetModelSummary where+ rnf AssetModelSummary' {..} =+ Prelude.rnf id+ `Prelude.seq` Prelude.rnf arn+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf creationDate+ `Prelude.seq` Prelude.rnf lastUpdateDate+ `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/IoTSiteWise/Types/AssetProperty.hs view
@@ -0,0 +1,176 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.AssetProperty+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.AssetProperty where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.PropertyDataType+import Amazonka.IoTSiteWise.Types.PropertyNotification+import qualified Amazonka.Prelude as Prelude++-- | Contains asset property information.+--+-- /See:/ 'newAssetProperty' smart constructor.+data AssetProperty = AssetProperty'+ { -- | 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+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html Mapping industrial data streams to asset properties>+ -- in the /IoT SiteWise User Guide/.+ alias :: Prelude.Maybe Prelude.Text,+ -- | The data type of the structure for this property. This parameter exists+ -- on properties that have the @STRUCT@ data type.+ dataTypeSpec :: Prelude.Maybe Prelude.Text,+ -- | The asset property\'s notification topic and state. For more+ -- information, see+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetProperty.html UpdateAssetProperty>.+ notification :: Prelude.Maybe PropertyNotification,+ -- | The unit (such as @Newtons@ or @RPM@) of the asset property.+ unit :: Prelude.Maybe Prelude.Text,+ -- | The ID of the asset property.+ id :: Prelude.Text,+ -- | The name of the property.+ name :: Prelude.Text,+ -- | The data type of the asset property.+ dataType :: PropertyDataType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssetProperty' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'alias', 'assetProperty_alias' - 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html Mapping industrial data streams to asset properties>+-- in the /IoT SiteWise User Guide/.+--+-- 'dataTypeSpec', 'assetProperty_dataTypeSpec' - The data type of the structure for this property. This parameter exists+-- on properties that have the @STRUCT@ data type.+--+-- 'notification', 'assetProperty_notification' - The asset property\'s notification topic and state. For more+-- information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetProperty.html UpdateAssetProperty>.+--+-- 'unit', 'assetProperty_unit' - The unit (such as @Newtons@ or @RPM@) of the asset property.+--+-- 'id', 'assetProperty_id' - The ID of the asset property.+--+-- 'name', 'assetProperty_name' - The name of the property.+--+-- 'dataType', 'assetProperty_dataType' - The data type of the asset property.+newAssetProperty ::+ -- | 'id'+ Prelude.Text ->+ -- | 'name'+ Prelude.Text ->+ -- | 'dataType'+ PropertyDataType ->+ AssetProperty+newAssetProperty pId_ pName_ pDataType_ =+ AssetProperty'+ { alias = Prelude.Nothing,+ dataTypeSpec = Prelude.Nothing,+ notification = Prelude.Nothing,+ unit = Prelude.Nothing,+ id = pId_,+ name = pName_,+ dataType = pDataType_+ }++-- | 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html Mapping industrial data streams to asset properties>+-- in the /IoT SiteWise User Guide/.+assetProperty_alias :: Lens.Lens' AssetProperty (Prelude.Maybe Prelude.Text)+assetProperty_alias = Lens.lens (\AssetProperty' {alias} -> alias) (\s@AssetProperty' {} a -> s {alias = a} :: AssetProperty)++-- | The data type of the structure for this property. This parameter exists+-- on properties that have the @STRUCT@ data type.+assetProperty_dataTypeSpec :: Lens.Lens' AssetProperty (Prelude.Maybe Prelude.Text)+assetProperty_dataTypeSpec = Lens.lens (\AssetProperty' {dataTypeSpec} -> dataTypeSpec) (\s@AssetProperty' {} a -> s {dataTypeSpec = a} :: AssetProperty)++-- | The asset property\'s notification topic and state. For more+-- information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetProperty.html UpdateAssetProperty>.+assetProperty_notification :: Lens.Lens' AssetProperty (Prelude.Maybe PropertyNotification)+assetProperty_notification = Lens.lens (\AssetProperty' {notification} -> notification) (\s@AssetProperty' {} a -> s {notification = a} :: AssetProperty)++-- | The unit (such as @Newtons@ or @RPM@) of the asset property.+assetProperty_unit :: Lens.Lens' AssetProperty (Prelude.Maybe Prelude.Text)+assetProperty_unit = Lens.lens (\AssetProperty' {unit} -> unit) (\s@AssetProperty' {} a -> s {unit = a} :: AssetProperty)++-- | The ID of the asset property.+assetProperty_id :: Lens.Lens' AssetProperty Prelude.Text+assetProperty_id = Lens.lens (\AssetProperty' {id} -> id) (\s@AssetProperty' {} a -> s {id = a} :: AssetProperty)++-- | The name of the property.+assetProperty_name :: Lens.Lens' AssetProperty Prelude.Text+assetProperty_name = Lens.lens (\AssetProperty' {name} -> name) (\s@AssetProperty' {} a -> s {name = a} :: AssetProperty)++-- | The data type of the asset property.+assetProperty_dataType :: Lens.Lens' AssetProperty PropertyDataType+assetProperty_dataType = Lens.lens (\AssetProperty' {dataType} -> dataType) (\s@AssetProperty' {} a -> s {dataType = a} :: AssetProperty)++instance Data.FromJSON AssetProperty where+ parseJSON =+ Data.withObject+ "AssetProperty"+ ( \x ->+ AssetProperty'+ Prelude.<$> (x Data..:? "alias")+ Prelude.<*> (x Data..:? "dataTypeSpec")+ Prelude.<*> (x Data..:? "notification")+ Prelude.<*> (x Data..:? "unit")+ Prelude.<*> (x Data..: "id")+ Prelude.<*> (x Data..: "name")+ Prelude.<*> (x Data..: "dataType")+ )++instance Prelude.Hashable AssetProperty where+ hashWithSalt _salt AssetProperty' {..} =+ _salt+ `Prelude.hashWithSalt` alias+ `Prelude.hashWithSalt` dataTypeSpec+ `Prelude.hashWithSalt` notification+ `Prelude.hashWithSalt` unit+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` dataType++instance Prelude.NFData AssetProperty where+ rnf AssetProperty' {..} =+ Prelude.rnf alias+ `Prelude.seq` Prelude.rnf dataTypeSpec+ `Prelude.seq` Prelude.rnf notification+ `Prelude.seq` Prelude.rnf unit+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf dataType
+ gen/Amazonka/IoTSiteWise/Types/AssetPropertySummary.hs view
@@ -0,0 +1,135 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.AssetPropertySummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.AssetPropertySummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.PropertyNotification+import qualified Amazonka.Prelude as Prelude++-- | Contains a summary of a property associated with an asset.+--+-- /See:/ 'newAssetPropertySummary' smart constructor.+data AssetPropertySummary = AssetPropertySummary'+ { -- | 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+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html Mapping industrial data streams to asset properties>+ -- in the /IoT SiteWise User Guide/.+ alias :: Prelude.Maybe Prelude.Text,+ -- | The ID of the composite model that contains the asset property.+ assetCompositeModelId :: Prelude.Maybe Prelude.Text,+ -- | The ID of the property.+ id :: Prelude.Maybe Prelude.Text,+ notification :: Prelude.Maybe PropertyNotification,+ -- | The unit of measure (such as Newtons or RPM) of the asset property.+ unit :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssetPropertySummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'alias', 'assetPropertySummary_alias' - 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html Mapping industrial data streams to asset properties>+-- in the /IoT SiteWise User Guide/.+--+-- 'assetCompositeModelId', 'assetPropertySummary_assetCompositeModelId' - The ID of the composite model that contains the asset property.+--+-- 'id', 'assetPropertySummary_id' - The ID of the property.+--+-- 'notification', 'assetPropertySummary_notification' - Undocumented member.+--+-- 'unit', 'assetPropertySummary_unit' - The unit of measure (such as Newtons or RPM) of the asset property.+newAssetPropertySummary ::+ AssetPropertySummary+newAssetPropertySummary =+ AssetPropertySummary'+ { alias = Prelude.Nothing,+ assetCompositeModelId = Prelude.Nothing,+ id = Prelude.Nothing,+ notification = Prelude.Nothing,+ unit = Prelude.Nothing+ }++-- | 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html Mapping industrial data streams to asset properties>+-- in the /IoT SiteWise User Guide/.+assetPropertySummary_alias :: Lens.Lens' AssetPropertySummary (Prelude.Maybe Prelude.Text)+assetPropertySummary_alias = Lens.lens (\AssetPropertySummary' {alias} -> alias) (\s@AssetPropertySummary' {} a -> s {alias = a} :: AssetPropertySummary)++-- | The ID of the composite model that contains the asset property.+assetPropertySummary_assetCompositeModelId :: Lens.Lens' AssetPropertySummary (Prelude.Maybe Prelude.Text)+assetPropertySummary_assetCompositeModelId = Lens.lens (\AssetPropertySummary' {assetCompositeModelId} -> assetCompositeModelId) (\s@AssetPropertySummary' {} a -> s {assetCompositeModelId = a} :: AssetPropertySummary)++-- | The ID of the property.+assetPropertySummary_id :: Lens.Lens' AssetPropertySummary (Prelude.Maybe Prelude.Text)+assetPropertySummary_id = Lens.lens (\AssetPropertySummary' {id} -> id) (\s@AssetPropertySummary' {} a -> s {id = a} :: AssetPropertySummary)++-- | Undocumented member.+assetPropertySummary_notification :: Lens.Lens' AssetPropertySummary (Prelude.Maybe PropertyNotification)+assetPropertySummary_notification = Lens.lens (\AssetPropertySummary' {notification} -> notification) (\s@AssetPropertySummary' {} a -> s {notification = a} :: AssetPropertySummary)++-- | The unit of measure (such as Newtons or RPM) of the asset property.+assetPropertySummary_unit :: Lens.Lens' AssetPropertySummary (Prelude.Maybe Prelude.Text)+assetPropertySummary_unit = Lens.lens (\AssetPropertySummary' {unit} -> unit) (\s@AssetPropertySummary' {} a -> s {unit = a} :: AssetPropertySummary)++instance Data.FromJSON AssetPropertySummary where+ parseJSON =+ Data.withObject+ "AssetPropertySummary"+ ( \x ->+ AssetPropertySummary'+ Prelude.<$> (x Data..:? "alias")+ Prelude.<*> (x Data..:? "assetCompositeModelId")+ Prelude.<*> (x Data..:? "id")+ Prelude.<*> (x Data..:? "notification")+ Prelude.<*> (x Data..:? "unit")+ )++instance Prelude.Hashable AssetPropertySummary where+ hashWithSalt _salt AssetPropertySummary' {..} =+ _salt+ `Prelude.hashWithSalt` alias+ `Prelude.hashWithSalt` assetCompositeModelId+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` notification+ `Prelude.hashWithSalt` unit++instance Prelude.NFData AssetPropertySummary where+ rnf AssetPropertySummary' {..} =+ Prelude.rnf alias+ `Prelude.seq` Prelude.rnf assetCompositeModelId+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf notification+ `Prelude.seq` Prelude.rnf unit
+ gen/Amazonka/IoTSiteWise/Types/AssetPropertyValue.hs view
@@ -0,0 +1,113 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.AssetPropertyValue+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.AssetPropertyValue where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.Quality+import Amazonka.IoTSiteWise.Types.TimeInNanos+import Amazonka.IoTSiteWise.Types.Variant+import qualified Amazonka.Prelude as Prelude++-- | Contains asset property value information.+--+-- /See:/ 'newAssetPropertyValue' smart constructor.+data AssetPropertyValue = AssetPropertyValue'+ { -- | The quality of the asset property value.+ quality :: Prelude.Maybe Quality,+ -- | The value of the asset property (see @Variant@).+ value :: Variant,+ -- | The timestamp of the asset property value.+ timestamp :: TimeInNanos+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssetPropertyValue' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'quality', 'assetPropertyValue_quality' - The quality of the asset property value.+--+-- 'value', 'assetPropertyValue_value' - The value of the asset property (see @Variant@).+--+-- 'timestamp', 'assetPropertyValue_timestamp' - The timestamp of the asset property value.+newAssetPropertyValue ::+ -- | 'value'+ Variant ->+ -- | 'timestamp'+ TimeInNanos ->+ AssetPropertyValue+newAssetPropertyValue pValue_ pTimestamp_ =+ AssetPropertyValue'+ { quality = Prelude.Nothing,+ value = pValue_,+ timestamp = pTimestamp_+ }++-- | The quality of the asset property value.+assetPropertyValue_quality :: Lens.Lens' AssetPropertyValue (Prelude.Maybe Quality)+assetPropertyValue_quality = Lens.lens (\AssetPropertyValue' {quality} -> quality) (\s@AssetPropertyValue' {} a -> s {quality = a} :: AssetPropertyValue)++-- | The value of the asset property (see @Variant@).+assetPropertyValue_value :: Lens.Lens' AssetPropertyValue Variant+assetPropertyValue_value = Lens.lens (\AssetPropertyValue' {value} -> value) (\s@AssetPropertyValue' {} a -> s {value = a} :: AssetPropertyValue)++-- | The timestamp of the asset property value.+assetPropertyValue_timestamp :: Lens.Lens' AssetPropertyValue TimeInNanos+assetPropertyValue_timestamp = Lens.lens (\AssetPropertyValue' {timestamp} -> timestamp) (\s@AssetPropertyValue' {} a -> s {timestamp = a} :: AssetPropertyValue)++instance Data.FromJSON AssetPropertyValue where+ parseJSON =+ Data.withObject+ "AssetPropertyValue"+ ( \x ->+ AssetPropertyValue'+ Prelude.<$> (x Data..:? "quality")+ Prelude.<*> (x Data..: "value")+ Prelude.<*> (x Data..: "timestamp")+ )++instance Prelude.Hashable AssetPropertyValue where+ hashWithSalt _salt AssetPropertyValue' {..} =+ _salt+ `Prelude.hashWithSalt` quality+ `Prelude.hashWithSalt` value+ `Prelude.hashWithSalt` timestamp++instance Prelude.NFData AssetPropertyValue where+ rnf AssetPropertyValue' {..} =+ Prelude.rnf quality+ `Prelude.seq` Prelude.rnf value+ `Prelude.seq` Prelude.rnf timestamp++instance Data.ToJSON AssetPropertyValue where+ toJSON AssetPropertyValue' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("quality" Data..=) Prelude.<$> quality,+ Prelude.Just ("value" Data..= value),+ Prelude.Just ("timestamp" Data..= timestamp)+ ]+ )
+ gen/Amazonka/IoTSiteWise/Types/AssetRelationshipSummary.hs view
@@ -0,0 +1,110 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.AssetRelationshipSummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.AssetRelationshipSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.AssetHierarchyInfo+import Amazonka.IoTSiteWise.Types.AssetRelationshipType+import qualified Amazonka.Prelude as Prelude++-- | Contains information about assets that are related to one another.+--+-- /See:/ 'newAssetRelationshipSummary' smart constructor.+data AssetRelationshipSummary = AssetRelationshipSummary'+ { -- | The assets that are related through an asset hierarchy.+ --+ -- This object is present if the @relationshipType@ is @HIERARCHY@.+ hierarchyInfo :: Prelude.Maybe 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.+ relationshipType :: AssetRelationshipType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssetRelationshipSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'hierarchyInfo', 'assetRelationshipSummary_hierarchyInfo' - The assets that are related through an asset hierarchy.+--+-- This object is present if the @relationshipType@ is @HIERARCHY@.+--+-- 'relationshipType', 'assetRelationshipSummary_relationshipType' - 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.+newAssetRelationshipSummary ::+ -- | 'relationshipType'+ AssetRelationshipType ->+ AssetRelationshipSummary+newAssetRelationshipSummary pRelationshipType_ =+ AssetRelationshipSummary'+ { hierarchyInfo =+ Prelude.Nothing,+ relationshipType = pRelationshipType_+ }++-- | The assets that are related through an asset hierarchy.+--+-- This object is present if the @relationshipType@ is @HIERARCHY@.+assetRelationshipSummary_hierarchyInfo :: Lens.Lens' AssetRelationshipSummary (Prelude.Maybe AssetHierarchyInfo)+assetRelationshipSummary_hierarchyInfo = Lens.lens (\AssetRelationshipSummary' {hierarchyInfo} -> hierarchyInfo) (\s@AssetRelationshipSummary' {} a -> s {hierarchyInfo = a} :: AssetRelationshipSummary)++-- | 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.+assetRelationshipSummary_relationshipType :: Lens.Lens' AssetRelationshipSummary AssetRelationshipType+assetRelationshipSummary_relationshipType = Lens.lens (\AssetRelationshipSummary' {relationshipType} -> relationshipType) (\s@AssetRelationshipSummary' {} a -> s {relationshipType = a} :: AssetRelationshipSummary)++instance Data.FromJSON AssetRelationshipSummary where+ parseJSON =+ Data.withObject+ "AssetRelationshipSummary"+ ( \x ->+ AssetRelationshipSummary'+ Prelude.<$> (x Data..:? "hierarchyInfo")+ Prelude.<*> (x Data..: "relationshipType")+ )++instance Prelude.Hashable AssetRelationshipSummary where+ hashWithSalt _salt AssetRelationshipSummary' {..} =+ _salt+ `Prelude.hashWithSalt` hierarchyInfo+ `Prelude.hashWithSalt` relationshipType++instance Prelude.NFData AssetRelationshipSummary where+ rnf AssetRelationshipSummary' {..} =+ Prelude.rnf hierarchyInfo+ `Prelude.seq` Prelude.rnf relationshipType
+ gen/Amazonka/IoTSiteWise/Types/AssetRelationshipType.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.AssetRelationshipType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.AssetRelationshipType+ ( AssetRelationshipType+ ( ..,+ AssetRelationshipType_HIERARCHY+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AssetRelationshipType = AssetRelationshipType'+ { fromAssetRelationshipType ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern AssetRelationshipType_HIERARCHY :: AssetRelationshipType+pattern AssetRelationshipType_HIERARCHY = AssetRelationshipType' "HIERARCHY"++{-# COMPLETE+ AssetRelationshipType_HIERARCHY,+ AssetRelationshipType'+ #-}
+ gen/Amazonka/IoTSiteWise/Types/AssetState.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.AssetState+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.AssetState+ ( AssetState+ ( ..,+ AssetState_ACTIVE,+ AssetState_CREATING,+ AssetState_DELETING,+ AssetState_FAILED,+ AssetState_UPDATING+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AssetState = AssetState'+ { fromAssetState ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern AssetState_ACTIVE :: AssetState+pattern AssetState_ACTIVE = AssetState' "ACTIVE"++pattern AssetState_CREATING :: AssetState+pattern AssetState_CREATING = AssetState' "CREATING"++pattern AssetState_DELETING :: AssetState+pattern AssetState_DELETING = AssetState' "DELETING"++pattern AssetState_FAILED :: AssetState+pattern AssetState_FAILED = AssetState' "FAILED"++pattern AssetState_UPDATING :: AssetState+pattern AssetState_UPDATING = AssetState' "UPDATING"++{-# COMPLETE+ AssetState_ACTIVE,+ AssetState_CREATING,+ AssetState_DELETING,+ AssetState_FAILED,+ AssetState_UPDATING,+ AssetState'+ #-}
+ gen/Amazonka/IoTSiteWise/Types/AssetStatus.hs view
@@ -0,0 +1,90 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.AssetStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.AssetStatus where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.AssetState+import Amazonka.IoTSiteWise.Types.ErrorDetails+import qualified Amazonka.Prelude as Prelude++-- | Contains information about the current status of an asset. For more+-- information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-and-model-states.html Asset and model states>+-- in the /IoT SiteWise User Guide/.+--+-- /See:/ 'newAssetStatus' smart constructor.+data AssetStatus = AssetStatus'+ { -- | Contains associated error information, if any.+ error :: Prelude.Maybe ErrorDetails,+ -- | The current status of the asset.+ state :: AssetState+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssetStatus' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'error', 'assetStatus_error' - Contains associated error information, if any.+--+-- 'state', 'assetStatus_state' - The current status of the asset.+newAssetStatus ::+ -- | 'state'+ AssetState ->+ AssetStatus+newAssetStatus pState_ =+ AssetStatus'+ { error = Prelude.Nothing,+ state = pState_+ }++-- | Contains associated error information, if any.+assetStatus_error :: Lens.Lens' AssetStatus (Prelude.Maybe ErrorDetails)+assetStatus_error = Lens.lens (\AssetStatus' {error} -> error) (\s@AssetStatus' {} a -> s {error = a} :: AssetStatus)++-- | The current status of the asset.+assetStatus_state :: Lens.Lens' AssetStatus AssetState+assetStatus_state = Lens.lens (\AssetStatus' {state} -> state) (\s@AssetStatus' {} a -> s {state = a} :: AssetStatus)++instance Data.FromJSON AssetStatus where+ parseJSON =+ Data.withObject+ "AssetStatus"+ ( \x ->+ AssetStatus'+ Prelude.<$> (x Data..:? "error")+ Prelude.<*> (x Data..: "state")+ )++instance Prelude.Hashable AssetStatus where+ hashWithSalt _salt AssetStatus' {..} =+ _salt+ `Prelude.hashWithSalt` error+ `Prelude.hashWithSalt` state++instance Prelude.NFData AssetStatus where+ rnf AssetStatus' {..} =+ Prelude.rnf error `Prelude.seq` Prelude.rnf state
+ gen/Amazonka/IoTSiteWise/Types/AssetSummary.hs view
@@ -0,0 +1,206 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.AssetSummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.AssetSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.AssetHierarchy+import Amazonka.IoTSiteWise.Types.AssetStatus+import qualified Amazonka.Prelude as Prelude++-- | Contains a summary of an asset.+--+-- /See:/ 'newAssetSummary' smart constructor.+data AssetSummary = AssetSummary'+ { -- | A description for the asset.+ description :: Prelude.Maybe Prelude.Text,+ -- | The ID of the asset.+ id :: Prelude.Text,+ -- | The+ -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+ -- of the asset, which has the following format.+ --+ -- @arn:${Partition}:iotsitewise:${Region}:${Account}:asset\/${AssetId}@+ arn :: Prelude.Text,+ -- | The name of the asset.+ name :: Prelude.Text,+ -- | The ID of the asset model used to create this asset.+ assetModelId :: Prelude.Text,+ -- | The date the asset was created, in Unix epoch time.+ creationDate :: Data.POSIX,+ -- | The date the asset was last updated, in Unix epoch time.+ lastUpdateDate :: Data.POSIX,+ -- | The current status of the asset.+ status :: AssetStatus,+ -- | A list of asset hierarchies that each contain a @hierarchyId@. A+ -- hierarchy specifies allowed parent\/child asset relationships.+ hierarchies :: [AssetHierarchy]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssetSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'assetSummary_description' - A description for the asset.+--+-- 'id', 'assetSummary_id' - The ID of the asset.+--+-- 'arn', 'assetSummary_arn' - The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of the asset, which has the following format.+--+-- @arn:${Partition}:iotsitewise:${Region}:${Account}:asset\/${AssetId}@+--+-- 'name', 'assetSummary_name' - The name of the asset.+--+-- 'assetModelId', 'assetSummary_assetModelId' - The ID of the asset model used to create this asset.+--+-- 'creationDate', 'assetSummary_creationDate' - The date the asset was created, in Unix epoch time.+--+-- 'lastUpdateDate', 'assetSummary_lastUpdateDate' - The date the asset was last updated, in Unix epoch time.+--+-- 'status', 'assetSummary_status' - The current status of the asset.+--+-- 'hierarchies', 'assetSummary_hierarchies' - A list of asset hierarchies that each contain a @hierarchyId@. A+-- hierarchy specifies allowed parent\/child asset relationships.+newAssetSummary ::+ -- | 'id'+ Prelude.Text ->+ -- | 'arn'+ Prelude.Text ->+ -- | 'name'+ Prelude.Text ->+ -- | 'assetModelId'+ Prelude.Text ->+ -- | 'creationDate'+ Prelude.UTCTime ->+ -- | 'lastUpdateDate'+ Prelude.UTCTime ->+ -- | 'status'+ AssetStatus ->+ AssetSummary+newAssetSummary+ pId_+ pArn_+ pName_+ pAssetModelId_+ pCreationDate_+ pLastUpdateDate_+ pStatus_ =+ AssetSummary'+ { description = Prelude.Nothing,+ id = pId_,+ arn = pArn_,+ name = pName_,+ assetModelId = pAssetModelId_,+ creationDate = Data._Time Lens.# pCreationDate_,+ lastUpdateDate = Data._Time Lens.# pLastUpdateDate_,+ status = pStatus_,+ hierarchies = Prelude.mempty+ }++-- | A description for the asset.+assetSummary_description :: Lens.Lens' AssetSummary (Prelude.Maybe Prelude.Text)+assetSummary_description = Lens.lens (\AssetSummary' {description} -> description) (\s@AssetSummary' {} a -> s {description = a} :: AssetSummary)++-- | The ID of the asset.+assetSummary_id :: Lens.Lens' AssetSummary Prelude.Text+assetSummary_id = Lens.lens (\AssetSummary' {id} -> id) (\s@AssetSummary' {} a -> s {id = a} :: AssetSummary)++-- | The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of the asset, which has the following format.+--+-- @arn:${Partition}:iotsitewise:${Region}:${Account}:asset\/${AssetId}@+assetSummary_arn :: Lens.Lens' AssetSummary Prelude.Text+assetSummary_arn = Lens.lens (\AssetSummary' {arn} -> arn) (\s@AssetSummary' {} a -> s {arn = a} :: AssetSummary)++-- | The name of the asset.+assetSummary_name :: Lens.Lens' AssetSummary Prelude.Text+assetSummary_name = Lens.lens (\AssetSummary' {name} -> name) (\s@AssetSummary' {} a -> s {name = a} :: AssetSummary)++-- | The ID of the asset model used to create this asset.+assetSummary_assetModelId :: Lens.Lens' AssetSummary Prelude.Text+assetSummary_assetModelId = Lens.lens (\AssetSummary' {assetModelId} -> assetModelId) (\s@AssetSummary' {} a -> s {assetModelId = a} :: AssetSummary)++-- | The date the asset was created, in Unix epoch time.+assetSummary_creationDate :: Lens.Lens' AssetSummary Prelude.UTCTime+assetSummary_creationDate = Lens.lens (\AssetSummary' {creationDate} -> creationDate) (\s@AssetSummary' {} a -> s {creationDate = a} :: AssetSummary) Prelude.. Data._Time++-- | The date the asset was last updated, in Unix epoch time.+assetSummary_lastUpdateDate :: Lens.Lens' AssetSummary Prelude.UTCTime+assetSummary_lastUpdateDate = Lens.lens (\AssetSummary' {lastUpdateDate} -> lastUpdateDate) (\s@AssetSummary' {} a -> s {lastUpdateDate = a} :: AssetSummary) Prelude.. Data._Time++-- | The current status of the asset.+assetSummary_status :: Lens.Lens' AssetSummary AssetStatus+assetSummary_status = Lens.lens (\AssetSummary' {status} -> status) (\s@AssetSummary' {} a -> s {status = a} :: AssetSummary)++-- | A list of asset hierarchies that each contain a @hierarchyId@. A+-- hierarchy specifies allowed parent\/child asset relationships.+assetSummary_hierarchies :: Lens.Lens' AssetSummary [AssetHierarchy]+assetSummary_hierarchies = Lens.lens (\AssetSummary' {hierarchies} -> hierarchies) (\s@AssetSummary' {} a -> s {hierarchies = a} :: AssetSummary) Prelude.. Lens.coerced++instance Data.FromJSON AssetSummary where+ parseJSON =+ Data.withObject+ "AssetSummary"+ ( \x ->+ AssetSummary'+ Prelude.<$> (x Data..:? "description")+ Prelude.<*> (x Data..: "id")+ Prelude.<*> (x Data..: "arn")+ Prelude.<*> (x Data..: "name")+ Prelude.<*> (x Data..: "assetModelId")+ Prelude.<*> (x Data..: "creationDate")+ Prelude.<*> (x Data..: "lastUpdateDate")+ Prelude.<*> (x Data..: "status")+ Prelude.<*> (x Data..:? "hierarchies" Data..!= Prelude.mempty)+ )++instance Prelude.Hashable AssetSummary where+ hashWithSalt _salt AssetSummary' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` assetModelId+ `Prelude.hashWithSalt` creationDate+ `Prelude.hashWithSalt` lastUpdateDate+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` hierarchies++instance Prelude.NFData AssetSummary where+ rnf AssetSummary' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf arn+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf assetModelId+ `Prelude.seq` Prelude.rnf creationDate+ `Prelude.seq` Prelude.rnf lastUpdateDate+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf hierarchies
+ gen/Amazonka/IoTSiteWise/Types/AssociatedAssetsSummary.hs view
@@ -0,0 +1,208 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.AssociatedAssetsSummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.AssociatedAssetsSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.AssetHierarchy+import Amazonka.IoTSiteWise.Types.AssetStatus+import qualified Amazonka.Prelude as Prelude++-- | Contains a summary of an associated asset.+--+-- /See:/ 'newAssociatedAssetsSummary' smart constructor.+data AssociatedAssetsSummary = AssociatedAssetsSummary'+ { -- | A description for the asset.+ description :: Prelude.Maybe Prelude.Text,+ -- | The ID of the asset.+ id :: Prelude.Text,+ -- | The+ -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+ -- of the asset, which has the following format.+ --+ -- @arn:${Partition}:iotsitewise:${Region}:${Account}:asset\/${AssetId}@+ arn :: Prelude.Text,+ -- | The name of the asset.+ name :: Prelude.Text,+ -- | The ID of the asset model used to create the asset.+ assetModelId :: Prelude.Text,+ -- | The date the asset was created, in Unix epoch time.+ creationDate :: Data.POSIX,+ -- | The date the asset was last updated, in Unix epoch time.+ lastUpdateDate :: Data.POSIX,+ -- | The current status of the asset.+ status :: AssetStatus,+ -- | A list of asset hierarchies that each contain a @hierarchyId@. A+ -- hierarchy specifies allowed parent\/child asset relationships.+ hierarchies :: [AssetHierarchy]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociatedAssetsSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'associatedAssetsSummary_description' - A description for the asset.+--+-- 'id', 'associatedAssetsSummary_id' - The ID of the asset.+--+-- 'arn', 'associatedAssetsSummary_arn' - The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of the asset, which has the following format.+--+-- @arn:${Partition}:iotsitewise:${Region}:${Account}:asset\/${AssetId}@+--+-- 'name', 'associatedAssetsSummary_name' - The name of the asset.+--+-- 'assetModelId', 'associatedAssetsSummary_assetModelId' - The ID of the asset model used to create the asset.+--+-- 'creationDate', 'associatedAssetsSummary_creationDate' - The date the asset was created, in Unix epoch time.+--+-- 'lastUpdateDate', 'associatedAssetsSummary_lastUpdateDate' - The date the asset was last updated, in Unix epoch time.+--+-- 'status', 'associatedAssetsSummary_status' - The current status of the asset.+--+-- 'hierarchies', 'associatedAssetsSummary_hierarchies' - A list of asset hierarchies that each contain a @hierarchyId@. A+-- hierarchy specifies allowed parent\/child asset relationships.+newAssociatedAssetsSummary ::+ -- | 'id'+ Prelude.Text ->+ -- | 'arn'+ Prelude.Text ->+ -- | 'name'+ Prelude.Text ->+ -- | 'assetModelId'+ Prelude.Text ->+ -- | 'creationDate'+ Prelude.UTCTime ->+ -- | 'lastUpdateDate'+ Prelude.UTCTime ->+ -- | 'status'+ AssetStatus ->+ AssociatedAssetsSummary+newAssociatedAssetsSummary+ pId_+ pArn_+ pName_+ pAssetModelId_+ pCreationDate_+ pLastUpdateDate_+ pStatus_ =+ AssociatedAssetsSummary'+ { description =+ Prelude.Nothing,+ id = pId_,+ arn = pArn_,+ name = pName_,+ assetModelId = pAssetModelId_,+ creationDate = Data._Time Lens.# pCreationDate_,+ lastUpdateDate =+ Data._Time Lens.# pLastUpdateDate_,+ status = pStatus_,+ hierarchies = Prelude.mempty+ }++-- | A description for the asset.+associatedAssetsSummary_description :: Lens.Lens' AssociatedAssetsSummary (Prelude.Maybe Prelude.Text)+associatedAssetsSummary_description = Lens.lens (\AssociatedAssetsSummary' {description} -> description) (\s@AssociatedAssetsSummary' {} a -> s {description = a} :: AssociatedAssetsSummary)++-- | The ID of the asset.+associatedAssetsSummary_id :: Lens.Lens' AssociatedAssetsSummary Prelude.Text+associatedAssetsSummary_id = Lens.lens (\AssociatedAssetsSummary' {id} -> id) (\s@AssociatedAssetsSummary' {} a -> s {id = a} :: AssociatedAssetsSummary)++-- | The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of the asset, which has the following format.+--+-- @arn:${Partition}:iotsitewise:${Region}:${Account}:asset\/${AssetId}@+associatedAssetsSummary_arn :: Lens.Lens' AssociatedAssetsSummary Prelude.Text+associatedAssetsSummary_arn = Lens.lens (\AssociatedAssetsSummary' {arn} -> arn) (\s@AssociatedAssetsSummary' {} a -> s {arn = a} :: AssociatedAssetsSummary)++-- | The name of the asset.+associatedAssetsSummary_name :: Lens.Lens' AssociatedAssetsSummary Prelude.Text+associatedAssetsSummary_name = Lens.lens (\AssociatedAssetsSummary' {name} -> name) (\s@AssociatedAssetsSummary' {} a -> s {name = a} :: AssociatedAssetsSummary)++-- | The ID of the asset model used to create the asset.+associatedAssetsSummary_assetModelId :: Lens.Lens' AssociatedAssetsSummary Prelude.Text+associatedAssetsSummary_assetModelId = Lens.lens (\AssociatedAssetsSummary' {assetModelId} -> assetModelId) (\s@AssociatedAssetsSummary' {} a -> s {assetModelId = a} :: AssociatedAssetsSummary)++-- | The date the asset was created, in Unix epoch time.+associatedAssetsSummary_creationDate :: Lens.Lens' AssociatedAssetsSummary Prelude.UTCTime+associatedAssetsSummary_creationDate = Lens.lens (\AssociatedAssetsSummary' {creationDate} -> creationDate) (\s@AssociatedAssetsSummary' {} a -> s {creationDate = a} :: AssociatedAssetsSummary) Prelude.. Data._Time++-- | The date the asset was last updated, in Unix epoch time.+associatedAssetsSummary_lastUpdateDate :: Lens.Lens' AssociatedAssetsSummary Prelude.UTCTime+associatedAssetsSummary_lastUpdateDate = Lens.lens (\AssociatedAssetsSummary' {lastUpdateDate} -> lastUpdateDate) (\s@AssociatedAssetsSummary' {} a -> s {lastUpdateDate = a} :: AssociatedAssetsSummary) Prelude.. Data._Time++-- | The current status of the asset.+associatedAssetsSummary_status :: Lens.Lens' AssociatedAssetsSummary AssetStatus+associatedAssetsSummary_status = Lens.lens (\AssociatedAssetsSummary' {status} -> status) (\s@AssociatedAssetsSummary' {} a -> s {status = a} :: AssociatedAssetsSummary)++-- | A list of asset hierarchies that each contain a @hierarchyId@. A+-- hierarchy specifies allowed parent\/child asset relationships.+associatedAssetsSummary_hierarchies :: Lens.Lens' AssociatedAssetsSummary [AssetHierarchy]+associatedAssetsSummary_hierarchies = Lens.lens (\AssociatedAssetsSummary' {hierarchies} -> hierarchies) (\s@AssociatedAssetsSummary' {} a -> s {hierarchies = a} :: AssociatedAssetsSummary) Prelude.. Lens.coerced++instance Data.FromJSON AssociatedAssetsSummary where+ parseJSON =+ Data.withObject+ "AssociatedAssetsSummary"+ ( \x ->+ AssociatedAssetsSummary'+ Prelude.<$> (x Data..:? "description")+ Prelude.<*> (x Data..: "id")+ Prelude.<*> (x Data..: "arn")+ Prelude.<*> (x Data..: "name")+ Prelude.<*> (x Data..: "assetModelId")+ Prelude.<*> (x Data..: "creationDate")+ Prelude.<*> (x Data..: "lastUpdateDate")+ Prelude.<*> (x Data..: "status")+ Prelude.<*> (x Data..:? "hierarchies" Data..!= Prelude.mempty)+ )++instance Prelude.Hashable AssociatedAssetsSummary where+ hashWithSalt _salt AssociatedAssetsSummary' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` assetModelId+ `Prelude.hashWithSalt` creationDate+ `Prelude.hashWithSalt` lastUpdateDate+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` hierarchies++instance Prelude.NFData AssociatedAssetsSummary where+ rnf AssociatedAssetsSummary' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf arn+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf assetModelId+ `Prelude.seq` Prelude.rnf creationDate+ `Prelude.seq` Prelude.rnf lastUpdateDate+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf hierarchies
+ gen/Amazonka/IoTSiteWise/Types/Attribute.hs view
@@ -0,0 +1,91 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.Attribute+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.Attribute where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Contains an asset attribute property. For more information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-properties.html#attributes Attributes>+-- in the /IoT SiteWise User Guide/.+--+-- /See:/ 'newAttribute' smart constructor.+data Attribute = 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+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/update-attribute-values.html Updating attribute values>+ -- in the /IoT SiteWise User Guide/.+ defaultValue :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Attribute' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'defaultValue', 'attribute_defaultValue' - 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/update-attribute-values.html Updating attribute values>+-- in the /IoT SiteWise User Guide/.+newAttribute ::+ Attribute+newAttribute =+ Attribute' {defaultValue = Prelude.Nothing}++-- | 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/update-attribute-values.html Updating attribute values>+-- in the /IoT SiteWise User Guide/.+attribute_defaultValue :: Lens.Lens' Attribute (Prelude.Maybe Prelude.Text)+attribute_defaultValue = Lens.lens (\Attribute' {defaultValue} -> defaultValue) (\s@Attribute' {} a -> s {defaultValue = a} :: Attribute)++instance Data.FromJSON Attribute where+ parseJSON =+ Data.withObject+ "Attribute"+ ( \x ->+ Attribute' Prelude.<$> (x Data..:? "defaultValue")+ )++instance Prelude.Hashable Attribute where+ hashWithSalt _salt Attribute' {..} =+ _salt `Prelude.hashWithSalt` defaultValue++instance Prelude.NFData Attribute where+ rnf Attribute' {..} = Prelude.rnf defaultValue++instance Data.ToJSON Attribute where+ toJSON Attribute' {..} =+ Data.object+ ( Prelude.catMaybes+ [("defaultValue" Data..=) Prelude.<$> defaultValue]+ )
+ gen/Amazonka/IoTSiteWise/Types/AuthMode.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.AuthMode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.AuthMode+ ( AuthMode+ ( ..,+ AuthMode_IAM,+ AuthMode_SSO+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AuthMode = AuthMode'+ { fromAuthMode ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern AuthMode_IAM :: AuthMode+pattern AuthMode_IAM = AuthMode' "IAM"++pattern AuthMode_SSO :: AuthMode+pattern AuthMode_SSO = AuthMode' "SSO"++{-# COMPLETE+ AuthMode_IAM,+ AuthMode_SSO,+ AuthMode'+ #-}
+ gen/Amazonka/IoTSiteWise/Types/BatchEntryCompletionStatus.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.BatchEntryCompletionStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.BatchEntryCompletionStatus+ ( BatchEntryCompletionStatus+ ( ..,+ BatchEntryCompletionStatus_ERROR,+ BatchEntryCompletionStatus_SUCCESS+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype BatchEntryCompletionStatus = BatchEntryCompletionStatus'+ { fromBatchEntryCompletionStatus ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern BatchEntryCompletionStatus_ERROR :: BatchEntryCompletionStatus+pattern BatchEntryCompletionStatus_ERROR = BatchEntryCompletionStatus' "ERROR"++pattern BatchEntryCompletionStatus_SUCCESS :: BatchEntryCompletionStatus+pattern BatchEntryCompletionStatus_SUCCESS = BatchEntryCompletionStatus' "SUCCESS"++{-# COMPLETE+ BatchEntryCompletionStatus_ERROR,+ BatchEntryCompletionStatus_SUCCESS,+ BatchEntryCompletionStatus'+ #-}
+ gen/Amazonka/IoTSiteWise/Types/BatchGetAssetPropertyAggregatesEntry.hs view
@@ -0,0 +1,252 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyAggregatesEntry+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyAggregatesEntry where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.AggregateType+import Amazonka.IoTSiteWise.Types.Quality+import Amazonka.IoTSiteWise.Types.TimeOrdering+import qualified Amazonka.Prelude as Prelude++-- | Contains information for an asset property aggregate entry that is+-- associated with the+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchGetAssetPropertyAggregates.html 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetProperty.html UpdateAssetProperty>.+--+-- /See:/ 'newBatchGetAssetPropertyAggregatesEntry' smart constructor.+data BatchGetAssetPropertyAggregatesEntry = BatchGetAssetPropertyAggregatesEntry'+ { -- | The ID of the asset in which the asset property was created.+ assetId :: Prelude.Maybe Prelude.Text,+ -- | 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+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html Mapping industrial data streams to asset properties>+ -- in the /IoT SiteWise User Guide/.+ propertyAlias :: Prelude.Maybe Prelude.Text,+ -- | The ID of the asset property.+ propertyId :: Prelude.Maybe Prelude.Text,+ -- | The quality by which to filter asset data.+ qualities :: Prelude.Maybe (Prelude.NonEmpty Quality),+ -- | The chronological sorting order of the requested information.+ --+ -- Default: @ASCENDING@+ timeOrdering :: Prelude.Maybe TimeOrdering,+ -- | The ID of the entry.+ entryId :: Prelude.Text,+ -- | The data aggregating function.+ aggregateTypes :: Prelude.NonEmpty AggregateType,+ -- | The time interval over which to aggregate data.+ resolution :: Prelude.Text,+ -- | The exclusive start of the range from which to query historical data,+ -- expressed in seconds in Unix epoch time.+ startDate :: Data.POSIX,+ -- | The inclusive end of the range from which to query historical data,+ -- expressed in seconds in Unix epoch time.+ endDate :: Data.POSIX+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchGetAssetPropertyAggregatesEntry' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'assetId', 'batchGetAssetPropertyAggregatesEntry_assetId' - The ID of the asset in which the asset property was created.+--+-- 'propertyAlias', 'batchGetAssetPropertyAggregatesEntry_propertyAlias' - 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html Mapping industrial data streams to asset properties>+-- in the /IoT SiteWise User Guide/.+--+-- 'propertyId', 'batchGetAssetPropertyAggregatesEntry_propertyId' - The ID of the asset property.+--+-- 'qualities', 'batchGetAssetPropertyAggregatesEntry_qualities' - The quality by which to filter asset data.+--+-- 'timeOrdering', 'batchGetAssetPropertyAggregatesEntry_timeOrdering' - The chronological sorting order of the requested information.+--+-- Default: @ASCENDING@+--+-- 'entryId', 'batchGetAssetPropertyAggregatesEntry_entryId' - The ID of the entry.+--+-- 'aggregateTypes', 'batchGetAssetPropertyAggregatesEntry_aggregateTypes' - The data aggregating function.+--+-- 'resolution', 'batchGetAssetPropertyAggregatesEntry_resolution' - The time interval over which to aggregate data.+--+-- 'startDate', 'batchGetAssetPropertyAggregatesEntry_startDate' - The exclusive start of the range from which to query historical data,+-- expressed in seconds in Unix epoch time.+--+-- 'endDate', 'batchGetAssetPropertyAggregatesEntry_endDate' - The inclusive end of the range from which to query historical data,+-- expressed in seconds in Unix epoch time.+newBatchGetAssetPropertyAggregatesEntry ::+ -- | 'entryId'+ Prelude.Text ->+ -- | 'aggregateTypes'+ Prelude.NonEmpty AggregateType ->+ -- | 'resolution'+ Prelude.Text ->+ -- | 'startDate'+ Prelude.UTCTime ->+ -- | 'endDate'+ Prelude.UTCTime ->+ BatchGetAssetPropertyAggregatesEntry+newBatchGetAssetPropertyAggregatesEntry+ pEntryId_+ pAggregateTypes_+ pResolution_+ pStartDate_+ pEndDate_ =+ BatchGetAssetPropertyAggregatesEntry'+ { assetId =+ Prelude.Nothing,+ propertyAlias = Prelude.Nothing,+ propertyId = Prelude.Nothing,+ qualities = Prelude.Nothing,+ timeOrdering = Prelude.Nothing,+ entryId = pEntryId_,+ aggregateTypes =+ Lens.coerced+ Lens.# pAggregateTypes_,+ resolution = pResolution_,+ startDate =+ Data._Time Lens.# pStartDate_,+ endDate = Data._Time Lens.# pEndDate_+ }++-- | The ID of the asset in which the asset property was created.+batchGetAssetPropertyAggregatesEntry_assetId :: Lens.Lens' BatchGetAssetPropertyAggregatesEntry (Prelude.Maybe Prelude.Text)+batchGetAssetPropertyAggregatesEntry_assetId = Lens.lens (\BatchGetAssetPropertyAggregatesEntry' {assetId} -> assetId) (\s@BatchGetAssetPropertyAggregatesEntry' {} a -> s {assetId = a} :: BatchGetAssetPropertyAggregatesEntry)++-- | 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html Mapping industrial data streams to asset properties>+-- in the /IoT SiteWise User Guide/.+batchGetAssetPropertyAggregatesEntry_propertyAlias :: Lens.Lens' BatchGetAssetPropertyAggregatesEntry (Prelude.Maybe Prelude.Text)+batchGetAssetPropertyAggregatesEntry_propertyAlias = Lens.lens (\BatchGetAssetPropertyAggregatesEntry' {propertyAlias} -> propertyAlias) (\s@BatchGetAssetPropertyAggregatesEntry' {} a -> s {propertyAlias = a} :: BatchGetAssetPropertyAggregatesEntry)++-- | The ID of the asset property.+batchGetAssetPropertyAggregatesEntry_propertyId :: Lens.Lens' BatchGetAssetPropertyAggregatesEntry (Prelude.Maybe Prelude.Text)+batchGetAssetPropertyAggregatesEntry_propertyId = Lens.lens (\BatchGetAssetPropertyAggregatesEntry' {propertyId} -> propertyId) (\s@BatchGetAssetPropertyAggregatesEntry' {} a -> s {propertyId = a} :: BatchGetAssetPropertyAggregatesEntry)++-- | The quality by which to filter asset data.+batchGetAssetPropertyAggregatesEntry_qualities :: Lens.Lens' BatchGetAssetPropertyAggregatesEntry (Prelude.Maybe (Prelude.NonEmpty Quality))+batchGetAssetPropertyAggregatesEntry_qualities = Lens.lens (\BatchGetAssetPropertyAggregatesEntry' {qualities} -> qualities) (\s@BatchGetAssetPropertyAggregatesEntry' {} a -> s {qualities = a} :: BatchGetAssetPropertyAggregatesEntry) Prelude.. Lens.mapping Lens.coerced++-- | The chronological sorting order of the requested information.+--+-- Default: @ASCENDING@+batchGetAssetPropertyAggregatesEntry_timeOrdering :: Lens.Lens' BatchGetAssetPropertyAggregatesEntry (Prelude.Maybe TimeOrdering)+batchGetAssetPropertyAggregatesEntry_timeOrdering = Lens.lens (\BatchGetAssetPropertyAggregatesEntry' {timeOrdering} -> timeOrdering) (\s@BatchGetAssetPropertyAggregatesEntry' {} a -> s {timeOrdering = a} :: BatchGetAssetPropertyAggregatesEntry)++-- | The ID of the entry.+batchGetAssetPropertyAggregatesEntry_entryId :: Lens.Lens' BatchGetAssetPropertyAggregatesEntry Prelude.Text+batchGetAssetPropertyAggregatesEntry_entryId = Lens.lens (\BatchGetAssetPropertyAggregatesEntry' {entryId} -> entryId) (\s@BatchGetAssetPropertyAggregatesEntry' {} a -> s {entryId = a} :: BatchGetAssetPropertyAggregatesEntry)++-- | The data aggregating function.+batchGetAssetPropertyAggregatesEntry_aggregateTypes :: Lens.Lens' BatchGetAssetPropertyAggregatesEntry (Prelude.NonEmpty AggregateType)+batchGetAssetPropertyAggregatesEntry_aggregateTypes = Lens.lens (\BatchGetAssetPropertyAggregatesEntry' {aggregateTypes} -> aggregateTypes) (\s@BatchGetAssetPropertyAggregatesEntry' {} a -> s {aggregateTypes = a} :: BatchGetAssetPropertyAggregatesEntry) Prelude.. Lens.coerced++-- | The time interval over which to aggregate data.+batchGetAssetPropertyAggregatesEntry_resolution :: Lens.Lens' BatchGetAssetPropertyAggregatesEntry Prelude.Text+batchGetAssetPropertyAggregatesEntry_resolution = Lens.lens (\BatchGetAssetPropertyAggregatesEntry' {resolution} -> resolution) (\s@BatchGetAssetPropertyAggregatesEntry' {} a -> s {resolution = a} :: BatchGetAssetPropertyAggregatesEntry)++-- | The exclusive start of the range from which to query historical data,+-- expressed in seconds in Unix epoch time.+batchGetAssetPropertyAggregatesEntry_startDate :: Lens.Lens' BatchGetAssetPropertyAggregatesEntry Prelude.UTCTime+batchGetAssetPropertyAggregatesEntry_startDate = Lens.lens (\BatchGetAssetPropertyAggregatesEntry' {startDate} -> startDate) (\s@BatchGetAssetPropertyAggregatesEntry' {} a -> s {startDate = a} :: BatchGetAssetPropertyAggregatesEntry) Prelude.. Data._Time++-- | The inclusive end of the range from which to query historical data,+-- expressed in seconds in Unix epoch time.+batchGetAssetPropertyAggregatesEntry_endDate :: Lens.Lens' BatchGetAssetPropertyAggregatesEntry Prelude.UTCTime+batchGetAssetPropertyAggregatesEntry_endDate = Lens.lens (\BatchGetAssetPropertyAggregatesEntry' {endDate} -> endDate) (\s@BatchGetAssetPropertyAggregatesEntry' {} a -> s {endDate = a} :: BatchGetAssetPropertyAggregatesEntry) Prelude.. Data._Time++instance+ Prelude.Hashable+ BatchGetAssetPropertyAggregatesEntry+ where+ hashWithSalt+ _salt+ BatchGetAssetPropertyAggregatesEntry' {..} =+ _salt+ `Prelude.hashWithSalt` assetId+ `Prelude.hashWithSalt` propertyAlias+ `Prelude.hashWithSalt` propertyId+ `Prelude.hashWithSalt` qualities+ `Prelude.hashWithSalt` timeOrdering+ `Prelude.hashWithSalt` entryId+ `Prelude.hashWithSalt` aggregateTypes+ `Prelude.hashWithSalt` resolution+ `Prelude.hashWithSalt` startDate+ `Prelude.hashWithSalt` endDate++instance+ Prelude.NFData+ BatchGetAssetPropertyAggregatesEntry+ where+ rnf BatchGetAssetPropertyAggregatesEntry' {..} =+ Prelude.rnf assetId+ `Prelude.seq` Prelude.rnf propertyAlias+ `Prelude.seq` Prelude.rnf propertyId+ `Prelude.seq` Prelude.rnf qualities+ `Prelude.seq` Prelude.rnf timeOrdering+ `Prelude.seq` Prelude.rnf entryId+ `Prelude.seq` Prelude.rnf aggregateTypes+ `Prelude.seq` Prelude.rnf resolution+ `Prelude.seq` Prelude.rnf startDate+ `Prelude.seq` Prelude.rnf endDate++instance+ Data.ToJSON+ BatchGetAssetPropertyAggregatesEntry+ where+ toJSON BatchGetAssetPropertyAggregatesEntry' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("assetId" Data..=) Prelude.<$> assetId,+ ("propertyAlias" Data..=) Prelude.<$> propertyAlias,+ ("propertyId" Data..=) Prelude.<$> propertyId,+ ("qualities" Data..=) Prelude.<$> qualities,+ ("timeOrdering" Data..=) Prelude.<$> timeOrdering,+ Prelude.Just ("entryId" Data..= entryId),+ Prelude.Just+ ("aggregateTypes" Data..= aggregateTypes),+ Prelude.Just ("resolution" Data..= resolution),+ Prelude.Just ("startDate" Data..= startDate),+ Prelude.Just ("endDate" Data..= endDate)+ ]+ )
+ gen/Amazonka/IoTSiteWise/Types/BatchGetAssetPropertyAggregatesErrorCode.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyAggregatesErrorCode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyAggregatesErrorCode+ ( BatchGetAssetPropertyAggregatesErrorCode+ ( ..,+ BatchGetAssetPropertyAggregatesErrorCode_AccessDeniedException,+ BatchGetAssetPropertyAggregatesErrorCode_InvalidRequestException,+ BatchGetAssetPropertyAggregatesErrorCode_ResourceNotFoundException+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype BatchGetAssetPropertyAggregatesErrorCode = BatchGetAssetPropertyAggregatesErrorCode'+ { fromBatchGetAssetPropertyAggregatesErrorCode ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern BatchGetAssetPropertyAggregatesErrorCode_AccessDeniedException :: BatchGetAssetPropertyAggregatesErrorCode+pattern BatchGetAssetPropertyAggregatesErrorCode_AccessDeniedException = BatchGetAssetPropertyAggregatesErrorCode' "AccessDeniedException"++pattern BatchGetAssetPropertyAggregatesErrorCode_InvalidRequestException :: BatchGetAssetPropertyAggregatesErrorCode+pattern BatchGetAssetPropertyAggregatesErrorCode_InvalidRequestException = BatchGetAssetPropertyAggregatesErrorCode' "InvalidRequestException"++pattern BatchGetAssetPropertyAggregatesErrorCode_ResourceNotFoundException :: BatchGetAssetPropertyAggregatesErrorCode+pattern BatchGetAssetPropertyAggregatesErrorCode_ResourceNotFoundException = BatchGetAssetPropertyAggregatesErrorCode' "ResourceNotFoundException"++{-# COMPLETE+ BatchGetAssetPropertyAggregatesErrorCode_AccessDeniedException,+ BatchGetAssetPropertyAggregatesErrorCode_InvalidRequestException,+ BatchGetAssetPropertyAggregatesErrorCode_ResourceNotFoundException,+ BatchGetAssetPropertyAggregatesErrorCode'+ #-}
+ gen/Amazonka/IoTSiteWise/Types/BatchGetAssetPropertyAggregatesErrorEntry.hs view
@@ -0,0 +1,121 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyAggregatesErrorEntry+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyAggregatesErrorEntry where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyAggregatesErrorCode+import qualified Amazonka.Prelude as Prelude++-- | Contains error information for an asset property aggregate entry that is+-- associated with the+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchGetAssetPropertyAggregates.html BatchGetAssetPropertyAggregates>+-- API.+--+-- /See:/ 'newBatchGetAssetPropertyAggregatesErrorEntry' smart constructor.+data BatchGetAssetPropertyAggregatesErrorEntry = BatchGetAssetPropertyAggregatesErrorEntry'+ { -- | The error code.+ errorCode :: BatchGetAssetPropertyAggregatesErrorCode,+ -- | The associated error message.+ errorMessage :: Prelude.Text,+ -- | The ID of the entry.+ entryId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchGetAssetPropertyAggregatesErrorEntry' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'errorCode', 'batchGetAssetPropertyAggregatesErrorEntry_errorCode' - The error code.+--+-- 'errorMessage', 'batchGetAssetPropertyAggregatesErrorEntry_errorMessage' - The associated error message.+--+-- 'entryId', 'batchGetAssetPropertyAggregatesErrorEntry_entryId' - The ID of the entry.+newBatchGetAssetPropertyAggregatesErrorEntry ::+ -- | 'errorCode'+ BatchGetAssetPropertyAggregatesErrorCode ->+ -- | 'errorMessage'+ Prelude.Text ->+ -- | 'entryId'+ Prelude.Text ->+ BatchGetAssetPropertyAggregatesErrorEntry+newBatchGetAssetPropertyAggregatesErrorEntry+ pErrorCode_+ pErrorMessage_+ pEntryId_ =+ BatchGetAssetPropertyAggregatesErrorEntry'+ { errorCode =+ pErrorCode_,+ errorMessage = pErrorMessage_,+ entryId = pEntryId_+ }++-- | The error code.+batchGetAssetPropertyAggregatesErrorEntry_errorCode :: Lens.Lens' BatchGetAssetPropertyAggregatesErrorEntry BatchGetAssetPropertyAggregatesErrorCode+batchGetAssetPropertyAggregatesErrorEntry_errorCode = Lens.lens (\BatchGetAssetPropertyAggregatesErrorEntry' {errorCode} -> errorCode) (\s@BatchGetAssetPropertyAggregatesErrorEntry' {} a -> s {errorCode = a} :: BatchGetAssetPropertyAggregatesErrorEntry)++-- | The associated error message.+batchGetAssetPropertyAggregatesErrorEntry_errorMessage :: Lens.Lens' BatchGetAssetPropertyAggregatesErrorEntry Prelude.Text+batchGetAssetPropertyAggregatesErrorEntry_errorMessage = Lens.lens (\BatchGetAssetPropertyAggregatesErrorEntry' {errorMessage} -> errorMessage) (\s@BatchGetAssetPropertyAggregatesErrorEntry' {} a -> s {errorMessage = a} :: BatchGetAssetPropertyAggregatesErrorEntry)++-- | The ID of the entry.+batchGetAssetPropertyAggregatesErrorEntry_entryId :: Lens.Lens' BatchGetAssetPropertyAggregatesErrorEntry Prelude.Text+batchGetAssetPropertyAggregatesErrorEntry_entryId = Lens.lens (\BatchGetAssetPropertyAggregatesErrorEntry' {entryId} -> entryId) (\s@BatchGetAssetPropertyAggregatesErrorEntry' {} a -> s {entryId = a} :: BatchGetAssetPropertyAggregatesErrorEntry)++instance+ Data.FromJSON+ BatchGetAssetPropertyAggregatesErrorEntry+ where+ parseJSON =+ Data.withObject+ "BatchGetAssetPropertyAggregatesErrorEntry"+ ( \x ->+ BatchGetAssetPropertyAggregatesErrorEntry'+ Prelude.<$> (x Data..: "errorCode")+ Prelude.<*> (x Data..: "errorMessage")+ Prelude.<*> (x Data..: "entryId")+ )++instance+ Prelude.Hashable+ BatchGetAssetPropertyAggregatesErrorEntry+ where+ hashWithSalt+ _salt+ BatchGetAssetPropertyAggregatesErrorEntry' {..} =+ _salt+ `Prelude.hashWithSalt` errorCode+ `Prelude.hashWithSalt` errorMessage+ `Prelude.hashWithSalt` entryId++instance+ Prelude.NFData+ BatchGetAssetPropertyAggregatesErrorEntry+ where+ rnf BatchGetAssetPropertyAggregatesErrorEntry' {..} =+ Prelude.rnf errorCode+ `Prelude.seq` Prelude.rnf errorMessage+ `Prelude.seq` Prelude.rnf entryId
+ gen/Amazonka/IoTSiteWise/Types/BatchGetAssetPropertyAggregatesErrorInfo.hs view
@@ -0,0 +1,108 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyAggregatesErrorInfo+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyAggregatesErrorInfo where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyAggregatesErrorCode+import qualified Amazonka.Prelude as Prelude++-- | Contains the error code and the timestamp for an asset property+-- aggregate entry that is associated with the+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchGetAssetPropertyAggregates.html BatchGetAssetPropertyAggregates>+-- API.+--+-- /See:/ 'newBatchGetAssetPropertyAggregatesErrorInfo' smart constructor.+data BatchGetAssetPropertyAggregatesErrorInfo = BatchGetAssetPropertyAggregatesErrorInfo'+ { -- | The error code.+ errorCode :: BatchGetAssetPropertyAggregatesErrorCode,+ -- | The date the error occurred, in Unix epoch time.+ errorTimestamp :: Data.POSIX+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchGetAssetPropertyAggregatesErrorInfo' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'errorCode', 'batchGetAssetPropertyAggregatesErrorInfo_errorCode' - The error code.+--+-- 'errorTimestamp', 'batchGetAssetPropertyAggregatesErrorInfo_errorTimestamp' - The date the error occurred, in Unix epoch time.+newBatchGetAssetPropertyAggregatesErrorInfo ::+ -- | 'errorCode'+ BatchGetAssetPropertyAggregatesErrorCode ->+ -- | 'errorTimestamp'+ Prelude.UTCTime ->+ BatchGetAssetPropertyAggregatesErrorInfo+newBatchGetAssetPropertyAggregatesErrorInfo+ pErrorCode_+ pErrorTimestamp_ =+ BatchGetAssetPropertyAggregatesErrorInfo'+ { errorCode =+ pErrorCode_,+ errorTimestamp =+ Data._Time+ Lens.# pErrorTimestamp_+ }++-- | The error code.+batchGetAssetPropertyAggregatesErrorInfo_errorCode :: Lens.Lens' BatchGetAssetPropertyAggregatesErrorInfo BatchGetAssetPropertyAggregatesErrorCode+batchGetAssetPropertyAggregatesErrorInfo_errorCode = Lens.lens (\BatchGetAssetPropertyAggregatesErrorInfo' {errorCode} -> errorCode) (\s@BatchGetAssetPropertyAggregatesErrorInfo' {} a -> s {errorCode = a} :: BatchGetAssetPropertyAggregatesErrorInfo)++-- | The date the error occurred, in Unix epoch time.+batchGetAssetPropertyAggregatesErrorInfo_errorTimestamp :: Lens.Lens' BatchGetAssetPropertyAggregatesErrorInfo Prelude.UTCTime+batchGetAssetPropertyAggregatesErrorInfo_errorTimestamp = Lens.lens (\BatchGetAssetPropertyAggregatesErrorInfo' {errorTimestamp} -> errorTimestamp) (\s@BatchGetAssetPropertyAggregatesErrorInfo' {} a -> s {errorTimestamp = a} :: BatchGetAssetPropertyAggregatesErrorInfo) Prelude.. Data._Time++instance+ Data.FromJSON+ BatchGetAssetPropertyAggregatesErrorInfo+ where+ parseJSON =+ Data.withObject+ "BatchGetAssetPropertyAggregatesErrorInfo"+ ( \x ->+ BatchGetAssetPropertyAggregatesErrorInfo'+ Prelude.<$> (x Data..: "errorCode")+ Prelude.<*> (x Data..: "errorTimestamp")+ )++instance+ Prelude.Hashable+ BatchGetAssetPropertyAggregatesErrorInfo+ where+ hashWithSalt+ _salt+ BatchGetAssetPropertyAggregatesErrorInfo' {..} =+ _salt+ `Prelude.hashWithSalt` errorCode+ `Prelude.hashWithSalt` errorTimestamp++instance+ Prelude.NFData+ BatchGetAssetPropertyAggregatesErrorInfo+ where+ rnf BatchGetAssetPropertyAggregatesErrorInfo' {..} =+ Prelude.rnf errorCode+ `Prelude.seq` Prelude.rnf errorTimestamp
+ gen/Amazonka/IoTSiteWise/Types/BatchGetAssetPropertyAggregatesSkippedEntry.hs view
@@ -0,0 +1,126 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyAggregatesSkippedEntry+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyAggregatesSkippedEntry where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.BatchEntryCompletionStatus+import Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyAggregatesErrorInfo+import qualified Amazonka.Prelude as Prelude++-- | Contains information for an entry that has been processed by the+-- previous+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchGetAssetPropertyAggregates.html BatchGetAssetPropertyAggregates>+-- request.+--+-- /See:/ 'newBatchGetAssetPropertyAggregatesSkippedEntry' smart constructor.+data BatchGetAssetPropertyAggregatesSkippedEntry = BatchGetAssetPropertyAggregatesSkippedEntry'+ { -- | The error information, such as the error code and the timestamp.+ errorInfo :: Prelude.Maybe BatchGetAssetPropertyAggregatesErrorInfo,+ -- | The ID of the entry.+ entryId :: Prelude.Text,+ -- | The completion status of each entry that is associated with the+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchGetAssetPropertyAggregates.html BatchGetAssetPropertyAggregates>+ -- API.+ completionStatus :: BatchEntryCompletionStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchGetAssetPropertyAggregatesSkippedEntry' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'errorInfo', 'batchGetAssetPropertyAggregatesSkippedEntry_errorInfo' - The error information, such as the error code and the timestamp.+--+-- 'entryId', 'batchGetAssetPropertyAggregatesSkippedEntry_entryId' - The ID of the entry.+--+-- 'completionStatus', 'batchGetAssetPropertyAggregatesSkippedEntry_completionStatus' - The completion status of each entry that is associated with the+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchGetAssetPropertyAggregates.html BatchGetAssetPropertyAggregates>+-- API.+newBatchGetAssetPropertyAggregatesSkippedEntry ::+ -- | 'entryId'+ Prelude.Text ->+ -- | 'completionStatus'+ BatchEntryCompletionStatus ->+ BatchGetAssetPropertyAggregatesSkippedEntry+newBatchGetAssetPropertyAggregatesSkippedEntry+ pEntryId_+ pCompletionStatus_ =+ BatchGetAssetPropertyAggregatesSkippedEntry'+ { errorInfo =+ Prelude.Nothing,+ entryId = pEntryId_,+ completionStatus =+ pCompletionStatus_+ }++-- | The error information, such as the error code and the timestamp.+batchGetAssetPropertyAggregatesSkippedEntry_errorInfo :: Lens.Lens' BatchGetAssetPropertyAggregatesSkippedEntry (Prelude.Maybe BatchGetAssetPropertyAggregatesErrorInfo)+batchGetAssetPropertyAggregatesSkippedEntry_errorInfo = Lens.lens (\BatchGetAssetPropertyAggregatesSkippedEntry' {errorInfo} -> errorInfo) (\s@BatchGetAssetPropertyAggregatesSkippedEntry' {} a -> s {errorInfo = a} :: BatchGetAssetPropertyAggregatesSkippedEntry)++-- | The ID of the entry.+batchGetAssetPropertyAggregatesSkippedEntry_entryId :: Lens.Lens' BatchGetAssetPropertyAggregatesSkippedEntry Prelude.Text+batchGetAssetPropertyAggregatesSkippedEntry_entryId = Lens.lens (\BatchGetAssetPropertyAggregatesSkippedEntry' {entryId} -> entryId) (\s@BatchGetAssetPropertyAggregatesSkippedEntry' {} a -> s {entryId = a} :: BatchGetAssetPropertyAggregatesSkippedEntry)++-- | The completion status of each entry that is associated with the+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchGetAssetPropertyAggregates.html BatchGetAssetPropertyAggregates>+-- API.+batchGetAssetPropertyAggregatesSkippedEntry_completionStatus :: Lens.Lens' BatchGetAssetPropertyAggregatesSkippedEntry BatchEntryCompletionStatus+batchGetAssetPropertyAggregatesSkippedEntry_completionStatus = Lens.lens (\BatchGetAssetPropertyAggregatesSkippedEntry' {completionStatus} -> completionStatus) (\s@BatchGetAssetPropertyAggregatesSkippedEntry' {} a -> s {completionStatus = a} :: BatchGetAssetPropertyAggregatesSkippedEntry)++instance+ Data.FromJSON+ BatchGetAssetPropertyAggregatesSkippedEntry+ where+ parseJSON =+ Data.withObject+ "BatchGetAssetPropertyAggregatesSkippedEntry"+ ( \x ->+ BatchGetAssetPropertyAggregatesSkippedEntry'+ Prelude.<$> (x Data..:? "errorInfo")+ Prelude.<*> (x Data..: "entryId")+ Prelude.<*> (x Data..: "completionStatus")+ )++instance+ Prelude.Hashable+ BatchGetAssetPropertyAggregatesSkippedEntry+ where+ hashWithSalt+ _salt+ BatchGetAssetPropertyAggregatesSkippedEntry' {..} =+ _salt+ `Prelude.hashWithSalt` errorInfo+ `Prelude.hashWithSalt` entryId+ `Prelude.hashWithSalt` completionStatus++instance+ Prelude.NFData+ BatchGetAssetPropertyAggregatesSkippedEntry+ where+ rnf BatchGetAssetPropertyAggregatesSkippedEntry' {..} =+ Prelude.rnf errorInfo+ `Prelude.seq` Prelude.rnf entryId+ `Prelude.seq` Prelude.rnf completionStatus
+ gen/Amazonka/IoTSiteWise/Types/BatchGetAssetPropertyAggregatesSuccessEntry.hs view
@@ -0,0 +1,109 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyAggregatesSuccessEntry+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyAggregatesSuccessEntry where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.AggregatedValue+import qualified Amazonka.Prelude as Prelude++-- | Contains success information for an entry that is associated with the+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchGetAssetPropertyAggregates.html BatchGetAssetPropertyAggregates>+-- API.+--+-- /See:/ 'newBatchGetAssetPropertyAggregatesSuccessEntry' smart constructor.+data BatchGetAssetPropertyAggregatesSuccessEntry = BatchGetAssetPropertyAggregatesSuccessEntry'+ { -- | The ID of the entry.+ entryId :: Prelude.Text,+ -- | The requested aggregated asset property values (for example, average,+ -- minimum, and maximum).+ aggregatedValues :: [AggregatedValue]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchGetAssetPropertyAggregatesSuccessEntry' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'entryId', 'batchGetAssetPropertyAggregatesSuccessEntry_entryId' - The ID of the entry.+--+-- 'aggregatedValues', 'batchGetAssetPropertyAggregatesSuccessEntry_aggregatedValues' - The requested aggregated asset property values (for example, average,+-- minimum, and maximum).+newBatchGetAssetPropertyAggregatesSuccessEntry ::+ -- | 'entryId'+ Prelude.Text ->+ BatchGetAssetPropertyAggregatesSuccessEntry+newBatchGetAssetPropertyAggregatesSuccessEntry+ pEntryId_ =+ BatchGetAssetPropertyAggregatesSuccessEntry'+ { entryId =+ pEntryId_,+ aggregatedValues =+ Prelude.mempty+ }++-- | The ID of the entry.+batchGetAssetPropertyAggregatesSuccessEntry_entryId :: Lens.Lens' BatchGetAssetPropertyAggregatesSuccessEntry Prelude.Text+batchGetAssetPropertyAggregatesSuccessEntry_entryId = Lens.lens (\BatchGetAssetPropertyAggregatesSuccessEntry' {entryId} -> entryId) (\s@BatchGetAssetPropertyAggregatesSuccessEntry' {} a -> s {entryId = a} :: BatchGetAssetPropertyAggregatesSuccessEntry)++-- | The requested aggregated asset property values (for example, average,+-- minimum, and maximum).+batchGetAssetPropertyAggregatesSuccessEntry_aggregatedValues :: Lens.Lens' BatchGetAssetPropertyAggregatesSuccessEntry [AggregatedValue]+batchGetAssetPropertyAggregatesSuccessEntry_aggregatedValues = Lens.lens (\BatchGetAssetPropertyAggregatesSuccessEntry' {aggregatedValues} -> aggregatedValues) (\s@BatchGetAssetPropertyAggregatesSuccessEntry' {} a -> s {aggregatedValues = a} :: BatchGetAssetPropertyAggregatesSuccessEntry) Prelude.. Lens.coerced++instance+ Data.FromJSON+ BatchGetAssetPropertyAggregatesSuccessEntry+ where+ parseJSON =+ Data.withObject+ "BatchGetAssetPropertyAggregatesSuccessEntry"+ ( \x ->+ BatchGetAssetPropertyAggregatesSuccessEntry'+ Prelude.<$> (x Data..: "entryId")+ Prelude.<*> ( x+ Data..:? "aggregatedValues"+ Data..!= Prelude.mempty+ )+ )++instance+ Prelude.Hashable+ BatchGetAssetPropertyAggregatesSuccessEntry+ where+ hashWithSalt+ _salt+ BatchGetAssetPropertyAggregatesSuccessEntry' {..} =+ _salt+ `Prelude.hashWithSalt` entryId+ `Prelude.hashWithSalt` aggregatedValues++instance+ Prelude.NFData+ BatchGetAssetPropertyAggregatesSuccessEntry+ where+ rnf BatchGetAssetPropertyAggregatesSuccessEntry' {..} =+ Prelude.rnf entryId+ `Prelude.seq` Prelude.rnf aggregatedValues
+ gen/Amazonka/IoTSiteWise/Types/BatchGetAssetPropertyValueEntry.hs view
@@ -0,0 +1,145 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueEntry+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueEntry where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Contains information for an asset property value entry that is+-- associated with the+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchGetAssetPropertyValue.html 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetProperty.html UpdateAssetProperty>.+--+-- /See:/ 'newBatchGetAssetPropertyValueEntry' smart constructor.+data BatchGetAssetPropertyValueEntry = BatchGetAssetPropertyValueEntry'+ { -- | The ID of the asset in which the asset property was created.+ assetId :: Prelude.Maybe Prelude.Text,+ -- | 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+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html Mapping industrial data streams to asset properties>+ -- in the /IoT SiteWise User Guide/.+ propertyAlias :: Prelude.Maybe Prelude.Text,+ -- | The ID of the asset property.+ propertyId :: Prelude.Maybe Prelude.Text,+ -- | The ID of the entry.+ entryId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchGetAssetPropertyValueEntry' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'assetId', 'batchGetAssetPropertyValueEntry_assetId' - The ID of the asset in which the asset property was created.+--+-- 'propertyAlias', 'batchGetAssetPropertyValueEntry_propertyAlias' - 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html Mapping industrial data streams to asset properties>+-- in the /IoT SiteWise User Guide/.+--+-- 'propertyId', 'batchGetAssetPropertyValueEntry_propertyId' - The ID of the asset property.+--+-- 'entryId', 'batchGetAssetPropertyValueEntry_entryId' - The ID of the entry.+newBatchGetAssetPropertyValueEntry ::+ -- | 'entryId'+ Prelude.Text ->+ BatchGetAssetPropertyValueEntry+newBatchGetAssetPropertyValueEntry pEntryId_ =+ BatchGetAssetPropertyValueEntry'+ { assetId =+ Prelude.Nothing,+ propertyAlias = Prelude.Nothing,+ propertyId = Prelude.Nothing,+ entryId = pEntryId_+ }++-- | The ID of the asset in which the asset property was created.+batchGetAssetPropertyValueEntry_assetId :: Lens.Lens' BatchGetAssetPropertyValueEntry (Prelude.Maybe Prelude.Text)+batchGetAssetPropertyValueEntry_assetId = Lens.lens (\BatchGetAssetPropertyValueEntry' {assetId} -> assetId) (\s@BatchGetAssetPropertyValueEntry' {} a -> s {assetId = a} :: BatchGetAssetPropertyValueEntry)++-- | 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html Mapping industrial data streams to asset properties>+-- in the /IoT SiteWise User Guide/.+batchGetAssetPropertyValueEntry_propertyAlias :: Lens.Lens' BatchGetAssetPropertyValueEntry (Prelude.Maybe Prelude.Text)+batchGetAssetPropertyValueEntry_propertyAlias = Lens.lens (\BatchGetAssetPropertyValueEntry' {propertyAlias} -> propertyAlias) (\s@BatchGetAssetPropertyValueEntry' {} a -> s {propertyAlias = a} :: BatchGetAssetPropertyValueEntry)++-- | The ID of the asset property.+batchGetAssetPropertyValueEntry_propertyId :: Lens.Lens' BatchGetAssetPropertyValueEntry (Prelude.Maybe Prelude.Text)+batchGetAssetPropertyValueEntry_propertyId = Lens.lens (\BatchGetAssetPropertyValueEntry' {propertyId} -> propertyId) (\s@BatchGetAssetPropertyValueEntry' {} a -> s {propertyId = a} :: BatchGetAssetPropertyValueEntry)++-- | The ID of the entry.+batchGetAssetPropertyValueEntry_entryId :: Lens.Lens' BatchGetAssetPropertyValueEntry Prelude.Text+batchGetAssetPropertyValueEntry_entryId = Lens.lens (\BatchGetAssetPropertyValueEntry' {entryId} -> entryId) (\s@BatchGetAssetPropertyValueEntry' {} a -> s {entryId = a} :: BatchGetAssetPropertyValueEntry)++instance+ Prelude.Hashable+ BatchGetAssetPropertyValueEntry+ where+ hashWithSalt+ _salt+ BatchGetAssetPropertyValueEntry' {..} =+ _salt+ `Prelude.hashWithSalt` assetId+ `Prelude.hashWithSalt` propertyAlias+ `Prelude.hashWithSalt` propertyId+ `Prelude.hashWithSalt` entryId++instance+ Prelude.NFData+ BatchGetAssetPropertyValueEntry+ where+ rnf BatchGetAssetPropertyValueEntry' {..} =+ Prelude.rnf assetId+ `Prelude.seq` Prelude.rnf propertyAlias+ `Prelude.seq` Prelude.rnf propertyId+ `Prelude.seq` Prelude.rnf entryId++instance Data.ToJSON BatchGetAssetPropertyValueEntry where+ toJSON BatchGetAssetPropertyValueEntry' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("assetId" Data..=) Prelude.<$> assetId,+ ("propertyAlias" Data..=) Prelude.<$> propertyAlias,+ ("propertyId" Data..=) Prelude.<$> propertyId,+ Prelude.Just ("entryId" Data..= entryId)+ ]+ )
+ gen/Amazonka/IoTSiteWise/Types/BatchGetAssetPropertyValueErrorCode.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueErrorCode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueErrorCode+ ( BatchGetAssetPropertyValueErrorCode+ ( ..,+ BatchGetAssetPropertyValueErrorCode_AccessDeniedException,+ BatchGetAssetPropertyValueErrorCode_InvalidRequestException,+ BatchGetAssetPropertyValueErrorCode_ResourceNotFoundException+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype BatchGetAssetPropertyValueErrorCode = BatchGetAssetPropertyValueErrorCode'+ { fromBatchGetAssetPropertyValueErrorCode ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern BatchGetAssetPropertyValueErrorCode_AccessDeniedException :: BatchGetAssetPropertyValueErrorCode+pattern BatchGetAssetPropertyValueErrorCode_AccessDeniedException = BatchGetAssetPropertyValueErrorCode' "AccessDeniedException"++pattern BatchGetAssetPropertyValueErrorCode_InvalidRequestException :: BatchGetAssetPropertyValueErrorCode+pattern BatchGetAssetPropertyValueErrorCode_InvalidRequestException = BatchGetAssetPropertyValueErrorCode' "InvalidRequestException"++pattern BatchGetAssetPropertyValueErrorCode_ResourceNotFoundException :: BatchGetAssetPropertyValueErrorCode+pattern BatchGetAssetPropertyValueErrorCode_ResourceNotFoundException = BatchGetAssetPropertyValueErrorCode' "ResourceNotFoundException"++{-# COMPLETE+ BatchGetAssetPropertyValueErrorCode_AccessDeniedException,+ BatchGetAssetPropertyValueErrorCode_InvalidRequestException,+ BatchGetAssetPropertyValueErrorCode_ResourceNotFoundException,+ BatchGetAssetPropertyValueErrorCode'+ #-}
+ gen/Amazonka/IoTSiteWise/Types/BatchGetAssetPropertyValueErrorEntry.hs view
@@ -0,0 +1,121 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueErrorEntry+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueErrorEntry where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueErrorCode+import qualified Amazonka.Prelude as Prelude++-- | Contains error information for an asset property value entry that is+-- associated with the+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchGetAssetPropertyValue.html BatchGetAssetPropertyValue>+-- API.+--+-- /See:/ 'newBatchGetAssetPropertyValueErrorEntry' smart constructor.+data BatchGetAssetPropertyValueErrorEntry = BatchGetAssetPropertyValueErrorEntry'+ { -- | The error code.+ errorCode :: BatchGetAssetPropertyValueErrorCode,+ -- | The associated error message.+ errorMessage :: Prelude.Text,+ -- | The ID of the entry.+ entryId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchGetAssetPropertyValueErrorEntry' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'errorCode', 'batchGetAssetPropertyValueErrorEntry_errorCode' - The error code.+--+-- 'errorMessage', 'batchGetAssetPropertyValueErrorEntry_errorMessage' - The associated error message.+--+-- 'entryId', 'batchGetAssetPropertyValueErrorEntry_entryId' - The ID of the entry.+newBatchGetAssetPropertyValueErrorEntry ::+ -- | 'errorCode'+ BatchGetAssetPropertyValueErrorCode ->+ -- | 'errorMessage'+ Prelude.Text ->+ -- | 'entryId'+ Prelude.Text ->+ BatchGetAssetPropertyValueErrorEntry+newBatchGetAssetPropertyValueErrorEntry+ pErrorCode_+ pErrorMessage_+ pEntryId_ =+ BatchGetAssetPropertyValueErrorEntry'+ { errorCode =+ pErrorCode_,+ errorMessage = pErrorMessage_,+ entryId = pEntryId_+ }++-- | The error code.+batchGetAssetPropertyValueErrorEntry_errorCode :: Lens.Lens' BatchGetAssetPropertyValueErrorEntry BatchGetAssetPropertyValueErrorCode+batchGetAssetPropertyValueErrorEntry_errorCode = Lens.lens (\BatchGetAssetPropertyValueErrorEntry' {errorCode} -> errorCode) (\s@BatchGetAssetPropertyValueErrorEntry' {} a -> s {errorCode = a} :: BatchGetAssetPropertyValueErrorEntry)++-- | The associated error message.+batchGetAssetPropertyValueErrorEntry_errorMessage :: Lens.Lens' BatchGetAssetPropertyValueErrorEntry Prelude.Text+batchGetAssetPropertyValueErrorEntry_errorMessage = Lens.lens (\BatchGetAssetPropertyValueErrorEntry' {errorMessage} -> errorMessage) (\s@BatchGetAssetPropertyValueErrorEntry' {} a -> s {errorMessage = a} :: BatchGetAssetPropertyValueErrorEntry)++-- | The ID of the entry.+batchGetAssetPropertyValueErrorEntry_entryId :: Lens.Lens' BatchGetAssetPropertyValueErrorEntry Prelude.Text+batchGetAssetPropertyValueErrorEntry_entryId = Lens.lens (\BatchGetAssetPropertyValueErrorEntry' {entryId} -> entryId) (\s@BatchGetAssetPropertyValueErrorEntry' {} a -> s {entryId = a} :: BatchGetAssetPropertyValueErrorEntry)++instance+ Data.FromJSON+ BatchGetAssetPropertyValueErrorEntry+ where+ parseJSON =+ Data.withObject+ "BatchGetAssetPropertyValueErrorEntry"+ ( \x ->+ BatchGetAssetPropertyValueErrorEntry'+ Prelude.<$> (x Data..: "errorCode")+ Prelude.<*> (x Data..: "errorMessage")+ Prelude.<*> (x Data..: "entryId")+ )++instance+ Prelude.Hashable+ BatchGetAssetPropertyValueErrorEntry+ where+ hashWithSalt+ _salt+ BatchGetAssetPropertyValueErrorEntry' {..} =+ _salt+ `Prelude.hashWithSalt` errorCode+ `Prelude.hashWithSalt` errorMessage+ `Prelude.hashWithSalt` entryId++instance+ Prelude.NFData+ BatchGetAssetPropertyValueErrorEntry+ where+ rnf BatchGetAssetPropertyValueErrorEntry' {..} =+ Prelude.rnf errorCode+ `Prelude.seq` Prelude.rnf errorMessage+ `Prelude.seq` Prelude.rnf entryId
+ gen/Amazonka/IoTSiteWise/Types/BatchGetAssetPropertyValueErrorInfo.hs view
@@ -0,0 +1,104 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueErrorInfo+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueErrorInfo where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueErrorCode+import qualified Amazonka.Prelude as Prelude++-- | The error information, such as the error code and the timestamp.+--+-- /See:/ 'newBatchGetAssetPropertyValueErrorInfo' smart constructor.+data BatchGetAssetPropertyValueErrorInfo = BatchGetAssetPropertyValueErrorInfo'+ { -- | The error code.+ errorCode :: BatchGetAssetPropertyValueErrorCode,+ -- | The date the error occurred, in Unix epoch time.+ errorTimestamp :: Data.POSIX+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchGetAssetPropertyValueErrorInfo' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'errorCode', 'batchGetAssetPropertyValueErrorInfo_errorCode' - The error code.+--+-- 'errorTimestamp', 'batchGetAssetPropertyValueErrorInfo_errorTimestamp' - The date the error occurred, in Unix epoch time.+newBatchGetAssetPropertyValueErrorInfo ::+ -- | 'errorCode'+ BatchGetAssetPropertyValueErrorCode ->+ -- | 'errorTimestamp'+ Prelude.UTCTime ->+ BatchGetAssetPropertyValueErrorInfo+newBatchGetAssetPropertyValueErrorInfo+ pErrorCode_+ pErrorTimestamp_ =+ BatchGetAssetPropertyValueErrorInfo'+ { errorCode =+ pErrorCode_,+ errorTimestamp =+ Data._Time Lens.# pErrorTimestamp_+ }++-- | The error code.+batchGetAssetPropertyValueErrorInfo_errorCode :: Lens.Lens' BatchGetAssetPropertyValueErrorInfo BatchGetAssetPropertyValueErrorCode+batchGetAssetPropertyValueErrorInfo_errorCode = Lens.lens (\BatchGetAssetPropertyValueErrorInfo' {errorCode} -> errorCode) (\s@BatchGetAssetPropertyValueErrorInfo' {} a -> s {errorCode = a} :: BatchGetAssetPropertyValueErrorInfo)++-- | The date the error occurred, in Unix epoch time.+batchGetAssetPropertyValueErrorInfo_errorTimestamp :: Lens.Lens' BatchGetAssetPropertyValueErrorInfo Prelude.UTCTime+batchGetAssetPropertyValueErrorInfo_errorTimestamp = Lens.lens (\BatchGetAssetPropertyValueErrorInfo' {errorTimestamp} -> errorTimestamp) (\s@BatchGetAssetPropertyValueErrorInfo' {} a -> s {errorTimestamp = a} :: BatchGetAssetPropertyValueErrorInfo) Prelude.. Data._Time++instance+ Data.FromJSON+ BatchGetAssetPropertyValueErrorInfo+ where+ parseJSON =+ Data.withObject+ "BatchGetAssetPropertyValueErrorInfo"+ ( \x ->+ BatchGetAssetPropertyValueErrorInfo'+ Prelude.<$> (x Data..: "errorCode")+ Prelude.<*> (x Data..: "errorTimestamp")+ )++instance+ Prelude.Hashable+ BatchGetAssetPropertyValueErrorInfo+ where+ hashWithSalt+ _salt+ BatchGetAssetPropertyValueErrorInfo' {..} =+ _salt+ `Prelude.hashWithSalt` errorCode+ `Prelude.hashWithSalt` errorTimestamp++instance+ Prelude.NFData+ BatchGetAssetPropertyValueErrorInfo+ where+ rnf BatchGetAssetPropertyValueErrorInfo' {..} =+ Prelude.rnf errorCode+ `Prelude.seq` Prelude.rnf errorTimestamp
+ gen/Amazonka/IoTSiteWise/Types/BatchGetAssetPropertyValueHistoryEntry.hs view
@@ -0,0 +1,210 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueHistoryEntry+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueHistoryEntry where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.Quality+import Amazonka.IoTSiteWise.Types.TimeOrdering+import qualified Amazonka.Prelude as Prelude++-- | Contains information for an asset property historical value entry that+-- is associated with the+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchGetAssetPropertyValue.html 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetProperty.html UpdateAssetProperty>.+--+-- /See:/ 'newBatchGetAssetPropertyValueHistoryEntry' smart constructor.+data BatchGetAssetPropertyValueHistoryEntry = BatchGetAssetPropertyValueHistoryEntry'+ { -- | The ID of the asset in which the asset property was created.+ assetId :: Prelude.Maybe Prelude.Text,+ -- | The inclusive end of the range from which to query historical data,+ -- expressed in seconds in Unix epoch time.+ endDate :: Prelude.Maybe Data.POSIX,+ -- | 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+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html Mapping industrial data streams to asset properties>+ -- in the /IoT SiteWise User Guide/.+ propertyAlias :: Prelude.Maybe Prelude.Text,+ -- | The ID of the asset property.+ propertyId :: Prelude.Maybe Prelude.Text,+ -- | The quality by which to filter asset data.+ qualities :: Prelude.Maybe (Prelude.NonEmpty Quality),+ -- | The exclusive start of the range from which to query historical data,+ -- expressed in seconds in Unix epoch time.+ startDate :: Prelude.Maybe Data.POSIX,+ -- | The chronological sorting order of the requested information.+ --+ -- Default: @ASCENDING@+ timeOrdering :: Prelude.Maybe TimeOrdering,+ -- | The ID of the entry.+ entryId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchGetAssetPropertyValueHistoryEntry' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'assetId', 'batchGetAssetPropertyValueHistoryEntry_assetId' - The ID of the asset in which the asset property was created.+--+-- 'endDate', 'batchGetAssetPropertyValueHistoryEntry_endDate' - The inclusive end of the range from which to query historical data,+-- expressed in seconds in Unix epoch time.+--+-- 'propertyAlias', 'batchGetAssetPropertyValueHistoryEntry_propertyAlias' - 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html Mapping industrial data streams to asset properties>+-- in the /IoT SiteWise User Guide/.+--+-- 'propertyId', 'batchGetAssetPropertyValueHistoryEntry_propertyId' - The ID of the asset property.+--+-- 'qualities', 'batchGetAssetPropertyValueHistoryEntry_qualities' - The quality by which to filter asset data.+--+-- 'startDate', 'batchGetAssetPropertyValueHistoryEntry_startDate' - The exclusive start of the range from which to query historical data,+-- expressed in seconds in Unix epoch time.+--+-- 'timeOrdering', 'batchGetAssetPropertyValueHistoryEntry_timeOrdering' - The chronological sorting order of the requested information.+--+-- Default: @ASCENDING@+--+-- 'entryId', 'batchGetAssetPropertyValueHistoryEntry_entryId' - The ID of the entry.+newBatchGetAssetPropertyValueHistoryEntry ::+ -- | 'entryId'+ Prelude.Text ->+ BatchGetAssetPropertyValueHistoryEntry+newBatchGetAssetPropertyValueHistoryEntry pEntryId_ =+ BatchGetAssetPropertyValueHistoryEntry'+ { assetId =+ Prelude.Nothing,+ endDate = Prelude.Nothing,+ propertyAlias = Prelude.Nothing,+ propertyId = Prelude.Nothing,+ qualities = Prelude.Nothing,+ startDate = Prelude.Nothing,+ timeOrdering = Prelude.Nothing,+ entryId = pEntryId_+ }++-- | The ID of the asset in which the asset property was created.+batchGetAssetPropertyValueHistoryEntry_assetId :: Lens.Lens' BatchGetAssetPropertyValueHistoryEntry (Prelude.Maybe Prelude.Text)+batchGetAssetPropertyValueHistoryEntry_assetId = Lens.lens (\BatchGetAssetPropertyValueHistoryEntry' {assetId} -> assetId) (\s@BatchGetAssetPropertyValueHistoryEntry' {} a -> s {assetId = a} :: BatchGetAssetPropertyValueHistoryEntry)++-- | The inclusive end of the range from which to query historical data,+-- expressed in seconds in Unix epoch time.+batchGetAssetPropertyValueHistoryEntry_endDate :: Lens.Lens' BatchGetAssetPropertyValueHistoryEntry (Prelude.Maybe Prelude.UTCTime)+batchGetAssetPropertyValueHistoryEntry_endDate = Lens.lens (\BatchGetAssetPropertyValueHistoryEntry' {endDate} -> endDate) (\s@BatchGetAssetPropertyValueHistoryEntry' {} a -> s {endDate = a} :: BatchGetAssetPropertyValueHistoryEntry) Prelude.. Lens.mapping Data._Time++-- | 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html Mapping industrial data streams to asset properties>+-- in the /IoT SiteWise User Guide/.+batchGetAssetPropertyValueHistoryEntry_propertyAlias :: Lens.Lens' BatchGetAssetPropertyValueHistoryEntry (Prelude.Maybe Prelude.Text)+batchGetAssetPropertyValueHistoryEntry_propertyAlias = Lens.lens (\BatchGetAssetPropertyValueHistoryEntry' {propertyAlias} -> propertyAlias) (\s@BatchGetAssetPropertyValueHistoryEntry' {} a -> s {propertyAlias = a} :: BatchGetAssetPropertyValueHistoryEntry)++-- | The ID of the asset property.+batchGetAssetPropertyValueHistoryEntry_propertyId :: Lens.Lens' BatchGetAssetPropertyValueHistoryEntry (Prelude.Maybe Prelude.Text)+batchGetAssetPropertyValueHistoryEntry_propertyId = Lens.lens (\BatchGetAssetPropertyValueHistoryEntry' {propertyId} -> propertyId) (\s@BatchGetAssetPropertyValueHistoryEntry' {} a -> s {propertyId = a} :: BatchGetAssetPropertyValueHistoryEntry)++-- | The quality by which to filter asset data.+batchGetAssetPropertyValueHistoryEntry_qualities :: Lens.Lens' BatchGetAssetPropertyValueHistoryEntry (Prelude.Maybe (Prelude.NonEmpty Quality))+batchGetAssetPropertyValueHistoryEntry_qualities = Lens.lens (\BatchGetAssetPropertyValueHistoryEntry' {qualities} -> qualities) (\s@BatchGetAssetPropertyValueHistoryEntry' {} a -> s {qualities = a} :: BatchGetAssetPropertyValueHistoryEntry) Prelude.. Lens.mapping Lens.coerced++-- | The exclusive start of the range from which to query historical data,+-- expressed in seconds in Unix epoch time.+batchGetAssetPropertyValueHistoryEntry_startDate :: Lens.Lens' BatchGetAssetPropertyValueHistoryEntry (Prelude.Maybe Prelude.UTCTime)+batchGetAssetPropertyValueHistoryEntry_startDate = Lens.lens (\BatchGetAssetPropertyValueHistoryEntry' {startDate} -> startDate) (\s@BatchGetAssetPropertyValueHistoryEntry' {} a -> s {startDate = a} :: BatchGetAssetPropertyValueHistoryEntry) Prelude.. Lens.mapping Data._Time++-- | The chronological sorting order of the requested information.+--+-- Default: @ASCENDING@+batchGetAssetPropertyValueHistoryEntry_timeOrdering :: Lens.Lens' BatchGetAssetPropertyValueHistoryEntry (Prelude.Maybe TimeOrdering)+batchGetAssetPropertyValueHistoryEntry_timeOrdering = Lens.lens (\BatchGetAssetPropertyValueHistoryEntry' {timeOrdering} -> timeOrdering) (\s@BatchGetAssetPropertyValueHistoryEntry' {} a -> s {timeOrdering = a} :: BatchGetAssetPropertyValueHistoryEntry)++-- | The ID of the entry.+batchGetAssetPropertyValueHistoryEntry_entryId :: Lens.Lens' BatchGetAssetPropertyValueHistoryEntry Prelude.Text+batchGetAssetPropertyValueHistoryEntry_entryId = Lens.lens (\BatchGetAssetPropertyValueHistoryEntry' {entryId} -> entryId) (\s@BatchGetAssetPropertyValueHistoryEntry' {} a -> s {entryId = a} :: BatchGetAssetPropertyValueHistoryEntry)++instance+ Prelude.Hashable+ BatchGetAssetPropertyValueHistoryEntry+ where+ hashWithSalt+ _salt+ BatchGetAssetPropertyValueHistoryEntry' {..} =+ _salt+ `Prelude.hashWithSalt` assetId+ `Prelude.hashWithSalt` endDate+ `Prelude.hashWithSalt` propertyAlias+ `Prelude.hashWithSalt` propertyId+ `Prelude.hashWithSalt` qualities+ `Prelude.hashWithSalt` startDate+ `Prelude.hashWithSalt` timeOrdering+ `Prelude.hashWithSalt` entryId++instance+ Prelude.NFData+ BatchGetAssetPropertyValueHistoryEntry+ where+ rnf BatchGetAssetPropertyValueHistoryEntry' {..} =+ Prelude.rnf assetId+ `Prelude.seq` Prelude.rnf endDate+ `Prelude.seq` Prelude.rnf propertyAlias+ `Prelude.seq` Prelude.rnf propertyId+ `Prelude.seq` Prelude.rnf qualities+ `Prelude.seq` Prelude.rnf startDate+ `Prelude.seq` Prelude.rnf timeOrdering+ `Prelude.seq` Prelude.rnf entryId++instance+ Data.ToJSON+ BatchGetAssetPropertyValueHistoryEntry+ where+ toJSON BatchGetAssetPropertyValueHistoryEntry' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("assetId" Data..=) Prelude.<$> assetId,+ ("endDate" Data..=) Prelude.<$> endDate,+ ("propertyAlias" Data..=) Prelude.<$> propertyAlias,+ ("propertyId" Data..=) Prelude.<$> propertyId,+ ("qualities" Data..=) Prelude.<$> qualities,+ ("startDate" Data..=) Prelude.<$> startDate,+ ("timeOrdering" Data..=) Prelude.<$> timeOrdering,+ Prelude.Just ("entryId" Data..= entryId)+ ]+ )
+ gen/Amazonka/IoTSiteWise/Types/BatchGetAssetPropertyValueHistoryErrorCode.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueHistoryErrorCode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueHistoryErrorCode+ ( BatchGetAssetPropertyValueHistoryErrorCode+ ( ..,+ BatchGetAssetPropertyValueHistoryErrorCode_AccessDeniedException,+ BatchGetAssetPropertyValueHistoryErrorCode_InvalidRequestException,+ BatchGetAssetPropertyValueHistoryErrorCode_ResourceNotFoundException+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype BatchGetAssetPropertyValueHistoryErrorCode = BatchGetAssetPropertyValueHistoryErrorCode'+ { fromBatchGetAssetPropertyValueHistoryErrorCode ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern BatchGetAssetPropertyValueHistoryErrorCode_AccessDeniedException :: BatchGetAssetPropertyValueHistoryErrorCode+pattern BatchGetAssetPropertyValueHistoryErrorCode_AccessDeniedException = BatchGetAssetPropertyValueHistoryErrorCode' "AccessDeniedException"++pattern BatchGetAssetPropertyValueHistoryErrorCode_InvalidRequestException :: BatchGetAssetPropertyValueHistoryErrorCode+pattern BatchGetAssetPropertyValueHistoryErrorCode_InvalidRequestException = BatchGetAssetPropertyValueHistoryErrorCode' "InvalidRequestException"++pattern BatchGetAssetPropertyValueHistoryErrorCode_ResourceNotFoundException :: BatchGetAssetPropertyValueHistoryErrorCode+pattern BatchGetAssetPropertyValueHistoryErrorCode_ResourceNotFoundException = BatchGetAssetPropertyValueHistoryErrorCode' "ResourceNotFoundException"++{-# COMPLETE+ BatchGetAssetPropertyValueHistoryErrorCode_AccessDeniedException,+ BatchGetAssetPropertyValueHistoryErrorCode_InvalidRequestException,+ BatchGetAssetPropertyValueHistoryErrorCode_ResourceNotFoundException,+ BatchGetAssetPropertyValueHistoryErrorCode'+ #-}
+ gen/Amazonka/IoTSiteWise/Types/BatchGetAssetPropertyValueHistoryErrorEntry.hs view
@@ -0,0 +1,119 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueHistoryErrorEntry+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueHistoryErrorEntry where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueHistoryErrorCode+import qualified Amazonka.Prelude as Prelude++-- | A list of the errors (if any) associated with the batch request. Each+-- error entry contains the @entryId@ of the entry that failed.+--+-- /See:/ 'newBatchGetAssetPropertyValueHistoryErrorEntry' smart constructor.+data BatchGetAssetPropertyValueHistoryErrorEntry = BatchGetAssetPropertyValueHistoryErrorEntry'+ { -- | The error code.+ errorCode :: BatchGetAssetPropertyValueHistoryErrorCode,+ -- | The associated error message.+ errorMessage :: Prelude.Text,+ -- | The ID of the entry.+ entryId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchGetAssetPropertyValueHistoryErrorEntry' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'errorCode', 'batchGetAssetPropertyValueHistoryErrorEntry_errorCode' - The error code.+--+-- 'errorMessage', 'batchGetAssetPropertyValueHistoryErrorEntry_errorMessage' - The associated error message.+--+-- 'entryId', 'batchGetAssetPropertyValueHistoryErrorEntry_entryId' - The ID of the entry.+newBatchGetAssetPropertyValueHistoryErrorEntry ::+ -- | 'errorCode'+ BatchGetAssetPropertyValueHistoryErrorCode ->+ -- | 'errorMessage'+ Prelude.Text ->+ -- | 'entryId'+ Prelude.Text ->+ BatchGetAssetPropertyValueHistoryErrorEntry+newBatchGetAssetPropertyValueHistoryErrorEntry+ pErrorCode_+ pErrorMessage_+ pEntryId_ =+ BatchGetAssetPropertyValueHistoryErrorEntry'+ { errorCode =+ pErrorCode_,+ errorMessage = pErrorMessage_,+ entryId = pEntryId_+ }++-- | The error code.+batchGetAssetPropertyValueHistoryErrorEntry_errorCode :: Lens.Lens' BatchGetAssetPropertyValueHistoryErrorEntry BatchGetAssetPropertyValueHistoryErrorCode+batchGetAssetPropertyValueHistoryErrorEntry_errorCode = Lens.lens (\BatchGetAssetPropertyValueHistoryErrorEntry' {errorCode} -> errorCode) (\s@BatchGetAssetPropertyValueHistoryErrorEntry' {} a -> s {errorCode = a} :: BatchGetAssetPropertyValueHistoryErrorEntry)++-- | The associated error message.+batchGetAssetPropertyValueHistoryErrorEntry_errorMessage :: Lens.Lens' BatchGetAssetPropertyValueHistoryErrorEntry Prelude.Text+batchGetAssetPropertyValueHistoryErrorEntry_errorMessage = Lens.lens (\BatchGetAssetPropertyValueHistoryErrorEntry' {errorMessage} -> errorMessage) (\s@BatchGetAssetPropertyValueHistoryErrorEntry' {} a -> s {errorMessage = a} :: BatchGetAssetPropertyValueHistoryErrorEntry)++-- | The ID of the entry.+batchGetAssetPropertyValueHistoryErrorEntry_entryId :: Lens.Lens' BatchGetAssetPropertyValueHistoryErrorEntry Prelude.Text+batchGetAssetPropertyValueHistoryErrorEntry_entryId = Lens.lens (\BatchGetAssetPropertyValueHistoryErrorEntry' {entryId} -> entryId) (\s@BatchGetAssetPropertyValueHistoryErrorEntry' {} a -> s {entryId = a} :: BatchGetAssetPropertyValueHistoryErrorEntry)++instance+ Data.FromJSON+ BatchGetAssetPropertyValueHistoryErrorEntry+ where+ parseJSON =+ Data.withObject+ "BatchGetAssetPropertyValueHistoryErrorEntry"+ ( \x ->+ BatchGetAssetPropertyValueHistoryErrorEntry'+ Prelude.<$> (x Data..: "errorCode")+ Prelude.<*> (x Data..: "errorMessage")+ Prelude.<*> (x Data..: "entryId")+ )++instance+ Prelude.Hashable+ BatchGetAssetPropertyValueHistoryErrorEntry+ where+ hashWithSalt+ _salt+ BatchGetAssetPropertyValueHistoryErrorEntry' {..} =+ _salt+ `Prelude.hashWithSalt` errorCode+ `Prelude.hashWithSalt` errorMessage+ `Prelude.hashWithSalt` entryId++instance+ Prelude.NFData+ BatchGetAssetPropertyValueHistoryErrorEntry+ where+ rnf BatchGetAssetPropertyValueHistoryErrorEntry' {..} =+ Prelude.rnf errorCode+ `Prelude.seq` Prelude.rnf errorMessage+ `Prelude.seq` Prelude.rnf entryId
+ gen/Amazonka/IoTSiteWise/Types/BatchGetAssetPropertyValueHistoryErrorInfo.hs view
@@ -0,0 +1,105 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueHistoryErrorInfo+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueHistoryErrorInfo where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueHistoryErrorCode+import qualified Amazonka.Prelude as Prelude++-- | The error information, such as the error code and the timestamp.+--+-- /See:/ 'newBatchGetAssetPropertyValueHistoryErrorInfo' smart constructor.+data BatchGetAssetPropertyValueHistoryErrorInfo = BatchGetAssetPropertyValueHistoryErrorInfo'+ { -- | The error code.+ errorCode :: BatchGetAssetPropertyValueHistoryErrorCode,+ -- | The date the error occurred, in Unix epoch time.+ errorTimestamp :: Data.POSIX+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchGetAssetPropertyValueHistoryErrorInfo' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'errorCode', 'batchGetAssetPropertyValueHistoryErrorInfo_errorCode' - The error code.+--+-- 'errorTimestamp', 'batchGetAssetPropertyValueHistoryErrorInfo_errorTimestamp' - The date the error occurred, in Unix epoch time.+newBatchGetAssetPropertyValueHistoryErrorInfo ::+ -- | 'errorCode'+ BatchGetAssetPropertyValueHistoryErrorCode ->+ -- | 'errorTimestamp'+ Prelude.UTCTime ->+ BatchGetAssetPropertyValueHistoryErrorInfo+newBatchGetAssetPropertyValueHistoryErrorInfo+ pErrorCode_+ pErrorTimestamp_ =+ BatchGetAssetPropertyValueHistoryErrorInfo'+ { errorCode =+ pErrorCode_,+ errorTimestamp =+ Data._Time+ Lens.# pErrorTimestamp_+ }++-- | The error code.+batchGetAssetPropertyValueHistoryErrorInfo_errorCode :: Lens.Lens' BatchGetAssetPropertyValueHistoryErrorInfo BatchGetAssetPropertyValueHistoryErrorCode+batchGetAssetPropertyValueHistoryErrorInfo_errorCode = Lens.lens (\BatchGetAssetPropertyValueHistoryErrorInfo' {errorCode} -> errorCode) (\s@BatchGetAssetPropertyValueHistoryErrorInfo' {} a -> s {errorCode = a} :: BatchGetAssetPropertyValueHistoryErrorInfo)++-- | The date the error occurred, in Unix epoch time.+batchGetAssetPropertyValueHistoryErrorInfo_errorTimestamp :: Lens.Lens' BatchGetAssetPropertyValueHistoryErrorInfo Prelude.UTCTime+batchGetAssetPropertyValueHistoryErrorInfo_errorTimestamp = Lens.lens (\BatchGetAssetPropertyValueHistoryErrorInfo' {errorTimestamp} -> errorTimestamp) (\s@BatchGetAssetPropertyValueHistoryErrorInfo' {} a -> s {errorTimestamp = a} :: BatchGetAssetPropertyValueHistoryErrorInfo) Prelude.. Data._Time++instance+ Data.FromJSON+ BatchGetAssetPropertyValueHistoryErrorInfo+ where+ parseJSON =+ Data.withObject+ "BatchGetAssetPropertyValueHistoryErrorInfo"+ ( \x ->+ BatchGetAssetPropertyValueHistoryErrorInfo'+ Prelude.<$> (x Data..: "errorCode")+ Prelude.<*> (x Data..: "errorTimestamp")+ )++instance+ Prelude.Hashable+ BatchGetAssetPropertyValueHistoryErrorInfo+ where+ hashWithSalt+ _salt+ BatchGetAssetPropertyValueHistoryErrorInfo' {..} =+ _salt+ `Prelude.hashWithSalt` errorCode+ `Prelude.hashWithSalt` errorTimestamp++instance+ Prelude.NFData+ BatchGetAssetPropertyValueHistoryErrorInfo+ where+ rnf BatchGetAssetPropertyValueHistoryErrorInfo' {..} =+ Prelude.rnf errorCode+ `Prelude.seq` Prelude.rnf errorTimestamp
+ gen/Amazonka/IoTSiteWise/Types/BatchGetAssetPropertyValueHistorySkippedEntry.hs view
@@ -0,0 +1,127 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueHistorySkippedEntry+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueHistorySkippedEntry where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.BatchEntryCompletionStatus+import Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueHistoryErrorInfo+import qualified Amazonka.Prelude as Prelude++-- | Contains information for an entry that has been processed by the+-- previous+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchGetAssetPropertyValue.html BatchGetAssetPropertyValueHistory>+-- request.+--+-- /See:/ 'newBatchGetAssetPropertyValueHistorySkippedEntry' smart constructor.+data BatchGetAssetPropertyValueHistorySkippedEntry = BatchGetAssetPropertyValueHistorySkippedEntry'+ { -- | The error information, such as the error code and the timestamp.+ errorInfo :: Prelude.Maybe BatchGetAssetPropertyValueHistoryErrorInfo,+ -- | The ID of the entry.+ entryId :: Prelude.Text,+ -- | The completion status of each entry that is associated with the+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchGetAssetPropertyValueHistory.html BatchGetAssetPropertyValueHistory>+ -- API.+ completionStatus :: BatchEntryCompletionStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchGetAssetPropertyValueHistorySkippedEntry' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'errorInfo', 'batchGetAssetPropertyValueHistorySkippedEntry_errorInfo' - The error information, such as the error code and the timestamp.+--+-- 'entryId', 'batchGetAssetPropertyValueHistorySkippedEntry_entryId' - The ID of the entry.+--+-- 'completionStatus', 'batchGetAssetPropertyValueHistorySkippedEntry_completionStatus' - The completion status of each entry that is associated with the+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchGetAssetPropertyValueHistory.html BatchGetAssetPropertyValueHistory>+-- API.+newBatchGetAssetPropertyValueHistorySkippedEntry ::+ -- | 'entryId'+ Prelude.Text ->+ -- | 'completionStatus'+ BatchEntryCompletionStatus ->+ BatchGetAssetPropertyValueHistorySkippedEntry+newBatchGetAssetPropertyValueHistorySkippedEntry+ pEntryId_+ pCompletionStatus_ =+ BatchGetAssetPropertyValueHistorySkippedEntry'+ { errorInfo =+ Prelude.Nothing,+ entryId = pEntryId_,+ completionStatus =+ pCompletionStatus_+ }++-- | The error information, such as the error code and the timestamp.+batchGetAssetPropertyValueHistorySkippedEntry_errorInfo :: Lens.Lens' BatchGetAssetPropertyValueHistorySkippedEntry (Prelude.Maybe BatchGetAssetPropertyValueHistoryErrorInfo)+batchGetAssetPropertyValueHistorySkippedEntry_errorInfo = Lens.lens (\BatchGetAssetPropertyValueHistorySkippedEntry' {errorInfo} -> errorInfo) (\s@BatchGetAssetPropertyValueHistorySkippedEntry' {} a -> s {errorInfo = a} :: BatchGetAssetPropertyValueHistorySkippedEntry)++-- | The ID of the entry.+batchGetAssetPropertyValueHistorySkippedEntry_entryId :: Lens.Lens' BatchGetAssetPropertyValueHistorySkippedEntry Prelude.Text+batchGetAssetPropertyValueHistorySkippedEntry_entryId = Lens.lens (\BatchGetAssetPropertyValueHistorySkippedEntry' {entryId} -> entryId) (\s@BatchGetAssetPropertyValueHistorySkippedEntry' {} a -> s {entryId = a} :: BatchGetAssetPropertyValueHistorySkippedEntry)++-- | The completion status of each entry that is associated with the+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchGetAssetPropertyValueHistory.html BatchGetAssetPropertyValueHistory>+-- API.+batchGetAssetPropertyValueHistorySkippedEntry_completionStatus :: Lens.Lens' BatchGetAssetPropertyValueHistorySkippedEntry BatchEntryCompletionStatus+batchGetAssetPropertyValueHistorySkippedEntry_completionStatus = Lens.lens (\BatchGetAssetPropertyValueHistorySkippedEntry' {completionStatus} -> completionStatus) (\s@BatchGetAssetPropertyValueHistorySkippedEntry' {} a -> s {completionStatus = a} :: BatchGetAssetPropertyValueHistorySkippedEntry)++instance+ Data.FromJSON+ BatchGetAssetPropertyValueHistorySkippedEntry+ where+ parseJSON =+ Data.withObject+ "BatchGetAssetPropertyValueHistorySkippedEntry"+ ( \x ->+ BatchGetAssetPropertyValueHistorySkippedEntry'+ Prelude.<$> (x Data..:? "errorInfo")+ Prelude.<*> (x Data..: "entryId")+ Prelude.<*> (x Data..: "completionStatus")+ )++instance+ Prelude.Hashable+ BatchGetAssetPropertyValueHistorySkippedEntry+ where+ hashWithSalt+ _salt+ BatchGetAssetPropertyValueHistorySkippedEntry' {..} =+ _salt+ `Prelude.hashWithSalt` errorInfo+ `Prelude.hashWithSalt` entryId+ `Prelude.hashWithSalt` completionStatus++instance+ Prelude.NFData+ BatchGetAssetPropertyValueHistorySkippedEntry+ where+ rnf+ BatchGetAssetPropertyValueHistorySkippedEntry' {..} =+ Prelude.rnf errorInfo+ `Prelude.seq` Prelude.rnf entryId+ `Prelude.seq` Prelude.rnf completionStatus
+ gen/Amazonka/IoTSiteWise/Types/BatchGetAssetPropertyValueHistorySuccessEntry.hs view
@@ -0,0 +1,107 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueHistorySuccessEntry+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueHistorySuccessEntry where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.AssetPropertyValue+import qualified Amazonka.Prelude as Prelude++-- | Contains success information for an entry that is associated with the+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchGetAssetPropertyValue.html BatchGetAssetPropertyValueHistory>+-- API.+--+-- /See:/ 'newBatchGetAssetPropertyValueHistorySuccessEntry' smart constructor.+data BatchGetAssetPropertyValueHistorySuccessEntry = BatchGetAssetPropertyValueHistorySuccessEntry'+ { -- | The ID of the entry.+ entryId :: Prelude.Text,+ -- | The requested historical values for the specified asset property.+ assetPropertyValueHistory :: [AssetPropertyValue]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchGetAssetPropertyValueHistorySuccessEntry' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'entryId', 'batchGetAssetPropertyValueHistorySuccessEntry_entryId' - The ID of the entry.+--+-- 'assetPropertyValueHistory', 'batchGetAssetPropertyValueHistorySuccessEntry_assetPropertyValueHistory' - The requested historical values for the specified asset property.+newBatchGetAssetPropertyValueHistorySuccessEntry ::+ -- | 'entryId'+ Prelude.Text ->+ BatchGetAssetPropertyValueHistorySuccessEntry+newBatchGetAssetPropertyValueHistorySuccessEntry+ pEntryId_ =+ BatchGetAssetPropertyValueHistorySuccessEntry'+ { entryId =+ pEntryId_,+ assetPropertyValueHistory =+ Prelude.mempty+ }++-- | The ID of the entry.+batchGetAssetPropertyValueHistorySuccessEntry_entryId :: Lens.Lens' BatchGetAssetPropertyValueHistorySuccessEntry Prelude.Text+batchGetAssetPropertyValueHistorySuccessEntry_entryId = Lens.lens (\BatchGetAssetPropertyValueHistorySuccessEntry' {entryId} -> entryId) (\s@BatchGetAssetPropertyValueHistorySuccessEntry' {} a -> s {entryId = a} :: BatchGetAssetPropertyValueHistorySuccessEntry)++-- | The requested historical values for the specified asset property.+batchGetAssetPropertyValueHistorySuccessEntry_assetPropertyValueHistory :: Lens.Lens' BatchGetAssetPropertyValueHistorySuccessEntry [AssetPropertyValue]+batchGetAssetPropertyValueHistorySuccessEntry_assetPropertyValueHistory = Lens.lens (\BatchGetAssetPropertyValueHistorySuccessEntry' {assetPropertyValueHistory} -> assetPropertyValueHistory) (\s@BatchGetAssetPropertyValueHistorySuccessEntry' {} a -> s {assetPropertyValueHistory = a} :: BatchGetAssetPropertyValueHistorySuccessEntry) Prelude.. Lens.coerced++instance+ Data.FromJSON+ BatchGetAssetPropertyValueHistorySuccessEntry+ where+ parseJSON =+ Data.withObject+ "BatchGetAssetPropertyValueHistorySuccessEntry"+ ( \x ->+ BatchGetAssetPropertyValueHistorySuccessEntry'+ Prelude.<$> (x Data..: "entryId")+ Prelude.<*> ( x+ Data..:? "assetPropertyValueHistory"+ Data..!= Prelude.mempty+ )+ )++instance+ Prelude.Hashable+ BatchGetAssetPropertyValueHistorySuccessEntry+ where+ hashWithSalt+ _salt+ BatchGetAssetPropertyValueHistorySuccessEntry' {..} =+ _salt+ `Prelude.hashWithSalt` entryId+ `Prelude.hashWithSalt` assetPropertyValueHistory++instance+ Prelude.NFData+ BatchGetAssetPropertyValueHistorySuccessEntry+ where+ rnf+ BatchGetAssetPropertyValueHistorySuccessEntry' {..} =+ Prelude.rnf entryId+ `Prelude.seq` Prelude.rnf assetPropertyValueHistory
+ gen/Amazonka/IoTSiteWise/Types/BatchGetAssetPropertyValueSkippedEntry.hs view
@@ -0,0 +1,126 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueSkippedEntry+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueSkippedEntry where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.BatchEntryCompletionStatus+import Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueErrorInfo+import qualified Amazonka.Prelude as Prelude++-- | Contains information for an entry that has been processed by the+-- previous+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchGetAssetPropertyValue.html BatchGetAssetPropertyValue>+-- request.+--+-- /See:/ 'newBatchGetAssetPropertyValueSkippedEntry' smart constructor.+data BatchGetAssetPropertyValueSkippedEntry = BatchGetAssetPropertyValueSkippedEntry'+ { -- | The error information, such as the error code and the timestamp.+ errorInfo :: Prelude.Maybe BatchGetAssetPropertyValueErrorInfo,+ -- | The ID of the entry.+ entryId :: Prelude.Text,+ -- | The completion status of each entry that is associated with the+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchGetAssetPropertyValue.html BatchGetAssetPropertyValue>+ -- request.+ completionStatus :: BatchEntryCompletionStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchGetAssetPropertyValueSkippedEntry' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'errorInfo', 'batchGetAssetPropertyValueSkippedEntry_errorInfo' - The error information, such as the error code and the timestamp.+--+-- 'entryId', 'batchGetAssetPropertyValueSkippedEntry_entryId' - The ID of the entry.+--+-- 'completionStatus', 'batchGetAssetPropertyValueSkippedEntry_completionStatus' - The completion status of each entry that is associated with the+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchGetAssetPropertyValue.html BatchGetAssetPropertyValue>+-- request.+newBatchGetAssetPropertyValueSkippedEntry ::+ -- | 'entryId'+ Prelude.Text ->+ -- | 'completionStatus'+ BatchEntryCompletionStatus ->+ BatchGetAssetPropertyValueSkippedEntry+newBatchGetAssetPropertyValueSkippedEntry+ pEntryId_+ pCompletionStatus_ =+ BatchGetAssetPropertyValueSkippedEntry'+ { errorInfo =+ Prelude.Nothing,+ entryId = pEntryId_,+ completionStatus =+ pCompletionStatus_+ }++-- | The error information, such as the error code and the timestamp.+batchGetAssetPropertyValueSkippedEntry_errorInfo :: Lens.Lens' BatchGetAssetPropertyValueSkippedEntry (Prelude.Maybe BatchGetAssetPropertyValueErrorInfo)+batchGetAssetPropertyValueSkippedEntry_errorInfo = Lens.lens (\BatchGetAssetPropertyValueSkippedEntry' {errorInfo} -> errorInfo) (\s@BatchGetAssetPropertyValueSkippedEntry' {} a -> s {errorInfo = a} :: BatchGetAssetPropertyValueSkippedEntry)++-- | The ID of the entry.+batchGetAssetPropertyValueSkippedEntry_entryId :: Lens.Lens' BatchGetAssetPropertyValueSkippedEntry Prelude.Text+batchGetAssetPropertyValueSkippedEntry_entryId = Lens.lens (\BatchGetAssetPropertyValueSkippedEntry' {entryId} -> entryId) (\s@BatchGetAssetPropertyValueSkippedEntry' {} a -> s {entryId = a} :: BatchGetAssetPropertyValueSkippedEntry)++-- | The completion status of each entry that is associated with the+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchGetAssetPropertyValue.html BatchGetAssetPropertyValue>+-- request.+batchGetAssetPropertyValueSkippedEntry_completionStatus :: Lens.Lens' BatchGetAssetPropertyValueSkippedEntry BatchEntryCompletionStatus+batchGetAssetPropertyValueSkippedEntry_completionStatus = Lens.lens (\BatchGetAssetPropertyValueSkippedEntry' {completionStatus} -> completionStatus) (\s@BatchGetAssetPropertyValueSkippedEntry' {} a -> s {completionStatus = a} :: BatchGetAssetPropertyValueSkippedEntry)++instance+ Data.FromJSON+ BatchGetAssetPropertyValueSkippedEntry+ where+ parseJSON =+ Data.withObject+ "BatchGetAssetPropertyValueSkippedEntry"+ ( \x ->+ BatchGetAssetPropertyValueSkippedEntry'+ Prelude.<$> (x Data..:? "errorInfo")+ Prelude.<*> (x Data..: "entryId")+ Prelude.<*> (x Data..: "completionStatus")+ )++instance+ Prelude.Hashable+ BatchGetAssetPropertyValueSkippedEntry+ where+ hashWithSalt+ _salt+ BatchGetAssetPropertyValueSkippedEntry' {..} =+ _salt+ `Prelude.hashWithSalt` errorInfo+ `Prelude.hashWithSalt` entryId+ `Prelude.hashWithSalt` completionStatus++instance+ Prelude.NFData+ BatchGetAssetPropertyValueSkippedEntry+ where+ rnf BatchGetAssetPropertyValueSkippedEntry' {..} =+ Prelude.rnf errorInfo+ `Prelude.seq` Prelude.rnf entryId+ `Prelude.seq` Prelude.rnf completionStatus
+ gen/Amazonka/IoTSiteWise/Types/BatchGetAssetPropertyValueSuccessEntry.hs view
@@ -0,0 +1,100 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueSuccessEntry+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.BatchGetAssetPropertyValueSuccessEntry where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.AssetPropertyValue+import qualified Amazonka.Prelude as Prelude++-- | Contains success information for an entry that is associated with the+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchGetAssetPropertyValue.html BatchGetAssetPropertyValue>+-- API.+--+-- /See:/ 'newBatchGetAssetPropertyValueSuccessEntry' smart constructor.+data BatchGetAssetPropertyValueSuccessEntry = BatchGetAssetPropertyValueSuccessEntry'+ { assetPropertyValue :: Prelude.Maybe AssetPropertyValue,+ -- | The ID of the entry.+ entryId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchGetAssetPropertyValueSuccessEntry' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'assetPropertyValue', 'batchGetAssetPropertyValueSuccessEntry_assetPropertyValue' - Undocumented member.+--+-- 'entryId', 'batchGetAssetPropertyValueSuccessEntry_entryId' - The ID of the entry.+newBatchGetAssetPropertyValueSuccessEntry ::+ -- | 'entryId'+ Prelude.Text ->+ BatchGetAssetPropertyValueSuccessEntry+newBatchGetAssetPropertyValueSuccessEntry pEntryId_ =+ BatchGetAssetPropertyValueSuccessEntry'+ { assetPropertyValue =+ Prelude.Nothing,+ entryId = pEntryId_+ }++-- | Undocumented member.+batchGetAssetPropertyValueSuccessEntry_assetPropertyValue :: Lens.Lens' BatchGetAssetPropertyValueSuccessEntry (Prelude.Maybe AssetPropertyValue)+batchGetAssetPropertyValueSuccessEntry_assetPropertyValue = Lens.lens (\BatchGetAssetPropertyValueSuccessEntry' {assetPropertyValue} -> assetPropertyValue) (\s@BatchGetAssetPropertyValueSuccessEntry' {} a -> s {assetPropertyValue = a} :: BatchGetAssetPropertyValueSuccessEntry)++-- | The ID of the entry.+batchGetAssetPropertyValueSuccessEntry_entryId :: Lens.Lens' BatchGetAssetPropertyValueSuccessEntry Prelude.Text+batchGetAssetPropertyValueSuccessEntry_entryId = Lens.lens (\BatchGetAssetPropertyValueSuccessEntry' {entryId} -> entryId) (\s@BatchGetAssetPropertyValueSuccessEntry' {} a -> s {entryId = a} :: BatchGetAssetPropertyValueSuccessEntry)++instance+ Data.FromJSON+ BatchGetAssetPropertyValueSuccessEntry+ where+ parseJSON =+ Data.withObject+ "BatchGetAssetPropertyValueSuccessEntry"+ ( \x ->+ BatchGetAssetPropertyValueSuccessEntry'+ Prelude.<$> (x Data..:? "assetPropertyValue")+ Prelude.<*> (x Data..: "entryId")+ )++instance+ Prelude.Hashable+ BatchGetAssetPropertyValueSuccessEntry+ where+ hashWithSalt+ _salt+ BatchGetAssetPropertyValueSuccessEntry' {..} =+ _salt+ `Prelude.hashWithSalt` assetPropertyValue+ `Prelude.hashWithSalt` entryId++instance+ Prelude.NFData+ BatchGetAssetPropertyValueSuccessEntry+ where+ rnf BatchGetAssetPropertyValueSuccessEntry' {..} =+ Prelude.rnf assetPropertyValue+ `Prelude.seq` Prelude.rnf entryId
+ gen/Amazonka/IoTSiteWise/Types/BatchPutAssetPropertyError.hs view
@@ -0,0 +1,106 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.BatchPutAssetPropertyError+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.BatchPutAssetPropertyError where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.BatchPutAssetPropertyValueErrorCode+import Amazonka.IoTSiteWise.Types.TimeInNanos+import qualified Amazonka.Prelude as Prelude++-- | Contains error information from updating a batch of asset property+-- values.+--+-- /See:/ 'newBatchPutAssetPropertyError' smart constructor.+data BatchPutAssetPropertyError = BatchPutAssetPropertyError'+ { -- | The error code.+ errorCode :: BatchPutAssetPropertyValueErrorCode,+ -- | The associated error message.+ errorMessage :: Prelude.Text,+ -- | A list of timestamps for each error, if any.+ timestamps :: [TimeInNanos]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchPutAssetPropertyError' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'errorCode', 'batchPutAssetPropertyError_errorCode' - The error code.+--+-- 'errorMessage', 'batchPutAssetPropertyError_errorMessage' - The associated error message.+--+-- 'timestamps', 'batchPutAssetPropertyError_timestamps' - A list of timestamps for each error, if any.+newBatchPutAssetPropertyError ::+ -- | 'errorCode'+ BatchPutAssetPropertyValueErrorCode ->+ -- | 'errorMessage'+ Prelude.Text ->+ BatchPutAssetPropertyError+newBatchPutAssetPropertyError+ pErrorCode_+ pErrorMessage_ =+ BatchPutAssetPropertyError'+ { errorCode =+ pErrorCode_,+ errorMessage = pErrorMessage_,+ timestamps = Prelude.mempty+ }++-- | The error code.+batchPutAssetPropertyError_errorCode :: Lens.Lens' BatchPutAssetPropertyError BatchPutAssetPropertyValueErrorCode+batchPutAssetPropertyError_errorCode = Lens.lens (\BatchPutAssetPropertyError' {errorCode} -> errorCode) (\s@BatchPutAssetPropertyError' {} a -> s {errorCode = a} :: BatchPutAssetPropertyError)++-- | The associated error message.+batchPutAssetPropertyError_errorMessage :: Lens.Lens' BatchPutAssetPropertyError Prelude.Text+batchPutAssetPropertyError_errorMessage = Lens.lens (\BatchPutAssetPropertyError' {errorMessage} -> errorMessage) (\s@BatchPutAssetPropertyError' {} a -> s {errorMessage = a} :: BatchPutAssetPropertyError)++-- | A list of timestamps for each error, if any.+batchPutAssetPropertyError_timestamps :: Lens.Lens' BatchPutAssetPropertyError [TimeInNanos]+batchPutAssetPropertyError_timestamps = Lens.lens (\BatchPutAssetPropertyError' {timestamps} -> timestamps) (\s@BatchPutAssetPropertyError' {} a -> s {timestamps = a} :: BatchPutAssetPropertyError) Prelude.. Lens.coerced++instance Data.FromJSON BatchPutAssetPropertyError where+ parseJSON =+ Data.withObject+ "BatchPutAssetPropertyError"+ ( \x ->+ BatchPutAssetPropertyError'+ Prelude.<$> (x Data..: "errorCode")+ Prelude.<*> (x Data..: "errorMessage")+ Prelude.<*> (x Data..:? "timestamps" Data..!= Prelude.mempty)+ )++instance Prelude.Hashable BatchPutAssetPropertyError where+ hashWithSalt _salt BatchPutAssetPropertyError' {..} =+ _salt+ `Prelude.hashWithSalt` errorCode+ `Prelude.hashWithSalt` errorMessage+ `Prelude.hashWithSalt` timestamps++instance Prelude.NFData BatchPutAssetPropertyError where+ rnf BatchPutAssetPropertyError' {..} =+ Prelude.rnf errorCode+ `Prelude.seq` Prelude.rnf errorMessage+ `Prelude.seq` Prelude.rnf timestamps
+ gen/Amazonka/IoTSiteWise/Types/BatchPutAssetPropertyErrorEntry.hs view
@@ -0,0 +1,102 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.BatchPutAssetPropertyErrorEntry+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.BatchPutAssetPropertyErrorEntry where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.BatchPutAssetPropertyError+import qualified Amazonka.Prelude as Prelude++-- | Contains error information for asset property value entries that are+-- associated with the+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchPutAssetPropertyValue.html BatchPutAssetPropertyValue>+-- API.+--+-- /See:/ 'newBatchPutAssetPropertyErrorEntry' smart constructor.+data BatchPutAssetPropertyErrorEntry = BatchPutAssetPropertyErrorEntry'+ { -- | The ID of the failed entry.+ entryId :: Prelude.Text,+ -- | The list of update property value errors.+ errors :: [BatchPutAssetPropertyError]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchPutAssetPropertyErrorEntry' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'entryId', 'batchPutAssetPropertyErrorEntry_entryId' - The ID of the failed entry.+--+-- 'errors', 'batchPutAssetPropertyErrorEntry_errors' - The list of update property value errors.+newBatchPutAssetPropertyErrorEntry ::+ -- | 'entryId'+ Prelude.Text ->+ BatchPutAssetPropertyErrorEntry+newBatchPutAssetPropertyErrorEntry pEntryId_ =+ BatchPutAssetPropertyErrorEntry'+ { entryId =+ pEntryId_,+ errors = Prelude.mempty+ }++-- | The ID of the failed entry.+batchPutAssetPropertyErrorEntry_entryId :: Lens.Lens' BatchPutAssetPropertyErrorEntry Prelude.Text+batchPutAssetPropertyErrorEntry_entryId = Lens.lens (\BatchPutAssetPropertyErrorEntry' {entryId} -> entryId) (\s@BatchPutAssetPropertyErrorEntry' {} a -> s {entryId = a} :: BatchPutAssetPropertyErrorEntry)++-- | The list of update property value errors.+batchPutAssetPropertyErrorEntry_errors :: Lens.Lens' BatchPutAssetPropertyErrorEntry [BatchPutAssetPropertyError]+batchPutAssetPropertyErrorEntry_errors = Lens.lens (\BatchPutAssetPropertyErrorEntry' {errors} -> errors) (\s@BatchPutAssetPropertyErrorEntry' {} a -> s {errors = a} :: BatchPutAssetPropertyErrorEntry) Prelude.. Lens.coerced++instance+ Data.FromJSON+ BatchPutAssetPropertyErrorEntry+ where+ parseJSON =+ Data.withObject+ "BatchPutAssetPropertyErrorEntry"+ ( \x ->+ BatchPutAssetPropertyErrorEntry'+ Prelude.<$> (x Data..: "entryId")+ Prelude.<*> (x Data..:? "errors" Data..!= Prelude.mempty)+ )++instance+ Prelude.Hashable+ BatchPutAssetPropertyErrorEntry+ where+ hashWithSalt+ _salt+ BatchPutAssetPropertyErrorEntry' {..} =+ _salt+ `Prelude.hashWithSalt` entryId+ `Prelude.hashWithSalt` errors++instance+ Prelude.NFData+ BatchPutAssetPropertyErrorEntry+ where+ rnf BatchPutAssetPropertyErrorEntry' {..} =+ Prelude.rnf entryId+ `Prelude.seq` Prelude.rnf errors
+ gen/Amazonka/IoTSiteWise/Types/BatchPutAssetPropertyValueErrorCode.hs view
@@ -0,0 +1,106 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.BatchPutAssetPropertyValueErrorCode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.BatchPutAssetPropertyValueErrorCode+ ( BatchPutAssetPropertyValueErrorCode+ ( ..,+ BatchPutAssetPropertyValueErrorCode_AccessDeniedException,+ BatchPutAssetPropertyValueErrorCode_ConflictingOperationException,+ BatchPutAssetPropertyValueErrorCode_InternalFailureException,+ BatchPutAssetPropertyValueErrorCode_InvalidRequestException,+ BatchPutAssetPropertyValueErrorCode_LimitExceededException,+ BatchPutAssetPropertyValueErrorCode_ResourceNotFoundException,+ BatchPutAssetPropertyValueErrorCode_ServiceUnavailableException,+ BatchPutAssetPropertyValueErrorCode_ThrottlingException,+ BatchPutAssetPropertyValueErrorCode_TimestampOutOfRangeException+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype BatchPutAssetPropertyValueErrorCode = BatchPutAssetPropertyValueErrorCode'+ { fromBatchPutAssetPropertyValueErrorCode ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern BatchPutAssetPropertyValueErrorCode_AccessDeniedException :: BatchPutAssetPropertyValueErrorCode+pattern BatchPutAssetPropertyValueErrorCode_AccessDeniedException = BatchPutAssetPropertyValueErrorCode' "AccessDeniedException"++pattern BatchPutAssetPropertyValueErrorCode_ConflictingOperationException :: BatchPutAssetPropertyValueErrorCode+pattern BatchPutAssetPropertyValueErrorCode_ConflictingOperationException = BatchPutAssetPropertyValueErrorCode' "ConflictingOperationException"++pattern BatchPutAssetPropertyValueErrorCode_InternalFailureException :: BatchPutAssetPropertyValueErrorCode+pattern BatchPutAssetPropertyValueErrorCode_InternalFailureException = BatchPutAssetPropertyValueErrorCode' "InternalFailureException"++pattern BatchPutAssetPropertyValueErrorCode_InvalidRequestException :: BatchPutAssetPropertyValueErrorCode+pattern BatchPutAssetPropertyValueErrorCode_InvalidRequestException = BatchPutAssetPropertyValueErrorCode' "InvalidRequestException"++pattern BatchPutAssetPropertyValueErrorCode_LimitExceededException :: BatchPutAssetPropertyValueErrorCode+pattern BatchPutAssetPropertyValueErrorCode_LimitExceededException = BatchPutAssetPropertyValueErrorCode' "LimitExceededException"++pattern BatchPutAssetPropertyValueErrorCode_ResourceNotFoundException :: BatchPutAssetPropertyValueErrorCode+pattern BatchPutAssetPropertyValueErrorCode_ResourceNotFoundException = BatchPutAssetPropertyValueErrorCode' "ResourceNotFoundException"++pattern BatchPutAssetPropertyValueErrorCode_ServiceUnavailableException :: BatchPutAssetPropertyValueErrorCode+pattern BatchPutAssetPropertyValueErrorCode_ServiceUnavailableException = BatchPutAssetPropertyValueErrorCode' "ServiceUnavailableException"++pattern BatchPutAssetPropertyValueErrorCode_ThrottlingException :: BatchPutAssetPropertyValueErrorCode+pattern BatchPutAssetPropertyValueErrorCode_ThrottlingException = BatchPutAssetPropertyValueErrorCode' "ThrottlingException"++pattern BatchPutAssetPropertyValueErrorCode_TimestampOutOfRangeException :: BatchPutAssetPropertyValueErrorCode+pattern BatchPutAssetPropertyValueErrorCode_TimestampOutOfRangeException = BatchPutAssetPropertyValueErrorCode' "TimestampOutOfRangeException"++{-# COMPLETE+ BatchPutAssetPropertyValueErrorCode_AccessDeniedException,+ BatchPutAssetPropertyValueErrorCode_ConflictingOperationException,+ BatchPutAssetPropertyValueErrorCode_InternalFailureException,+ BatchPutAssetPropertyValueErrorCode_InvalidRequestException,+ BatchPutAssetPropertyValueErrorCode_LimitExceededException,+ BatchPutAssetPropertyValueErrorCode_ResourceNotFoundException,+ BatchPutAssetPropertyValueErrorCode_ServiceUnavailableException,+ BatchPutAssetPropertyValueErrorCode_ThrottlingException,+ BatchPutAssetPropertyValueErrorCode_TimestampOutOfRangeException,+ BatchPutAssetPropertyValueErrorCode'+ #-}
+ gen/Amazonka/IoTSiteWise/Types/CapabilitySyncStatus.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.CapabilitySyncStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.CapabilitySyncStatus+ ( CapabilitySyncStatus+ ( ..,+ CapabilitySyncStatus_IN_SYNC,+ CapabilitySyncStatus_OUT_OF_SYNC,+ CapabilitySyncStatus_SYNC_FAILED,+ CapabilitySyncStatus_UNKNOWN+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype CapabilitySyncStatus = CapabilitySyncStatus'+ { fromCapabilitySyncStatus ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern CapabilitySyncStatus_IN_SYNC :: CapabilitySyncStatus+pattern CapabilitySyncStatus_IN_SYNC = CapabilitySyncStatus' "IN_SYNC"++pattern CapabilitySyncStatus_OUT_OF_SYNC :: CapabilitySyncStatus+pattern CapabilitySyncStatus_OUT_OF_SYNC = CapabilitySyncStatus' "OUT_OF_SYNC"++pattern CapabilitySyncStatus_SYNC_FAILED :: CapabilitySyncStatus+pattern CapabilitySyncStatus_SYNC_FAILED = CapabilitySyncStatus' "SYNC_FAILED"++pattern CapabilitySyncStatus_UNKNOWN :: CapabilitySyncStatus+pattern CapabilitySyncStatus_UNKNOWN = CapabilitySyncStatus' "UNKNOWN"++{-# COMPLETE+ CapabilitySyncStatus_IN_SYNC,+ CapabilitySyncStatus_OUT_OF_SYNC,+ CapabilitySyncStatus_SYNC_FAILED,+ CapabilitySyncStatus_UNKNOWN,+ CapabilitySyncStatus'+ #-}
+ gen/Amazonka/IoTSiteWise/Types/ColumnName.hs view
@@ -0,0 +1,101 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.ColumnName+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.ColumnName+ ( ColumnName+ ( ..,+ ColumnName_ALIAS,+ ColumnName_ASSET_ID,+ ColumnName_DATA_TYPE,+ ColumnName_PROPERTY_ID,+ ColumnName_QUALITY,+ ColumnName_TIMESTAMP_NANO_OFFSET,+ ColumnName_TIMESTAMP_SECONDS,+ ColumnName_VALUE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ColumnName = ColumnName'+ { fromColumnName ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern ColumnName_ALIAS :: ColumnName+pattern ColumnName_ALIAS = ColumnName' "ALIAS"++pattern ColumnName_ASSET_ID :: ColumnName+pattern ColumnName_ASSET_ID = ColumnName' "ASSET_ID"++pattern ColumnName_DATA_TYPE :: ColumnName+pattern ColumnName_DATA_TYPE = ColumnName' "DATA_TYPE"++pattern ColumnName_PROPERTY_ID :: ColumnName+pattern ColumnName_PROPERTY_ID = ColumnName' "PROPERTY_ID"++pattern ColumnName_QUALITY :: ColumnName+pattern ColumnName_QUALITY = ColumnName' "QUALITY"++pattern ColumnName_TIMESTAMP_NANO_OFFSET :: ColumnName+pattern ColumnName_TIMESTAMP_NANO_OFFSET = ColumnName' "TIMESTAMP_NANO_OFFSET"++pattern ColumnName_TIMESTAMP_SECONDS :: ColumnName+pattern ColumnName_TIMESTAMP_SECONDS = ColumnName' "TIMESTAMP_SECONDS"++pattern ColumnName_VALUE :: ColumnName+pattern ColumnName_VALUE = ColumnName' "VALUE"++{-# COMPLETE+ ColumnName_ALIAS,+ ColumnName_ASSET_ID,+ ColumnName_DATA_TYPE,+ ColumnName_PROPERTY_ID,+ ColumnName_QUALITY,+ ColumnName_TIMESTAMP_NANO_OFFSET,+ ColumnName_TIMESTAMP_SECONDS,+ ColumnName_VALUE,+ ColumnName'+ #-}
+ gen/Amazonka/IoTSiteWise/Types/CompositeModelProperty.hs view
@@ -0,0 +1,117 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.CompositeModelProperty+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.CompositeModelProperty where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.Property+import qualified Amazonka.Prelude as Prelude++-- | Contains information about a composite model property on an asset.+--+-- /See:/ 'newCompositeModelProperty' smart constructor.+data CompositeModelProperty = CompositeModelProperty'+ { -- | The ID of the composite model that contains the property.+ id :: Prelude.Maybe Prelude.Text,+ -- | The name of the property.+ name :: Prelude.Text,+ -- | The type of the composite model that defines this property.+ type' :: Prelude.Text,+ assetProperty :: Property+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CompositeModelProperty' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'compositeModelProperty_id' - The ID of the composite model that contains the property.+--+-- 'name', 'compositeModelProperty_name' - The name of the property.+--+-- 'type'', 'compositeModelProperty_type' - The type of the composite model that defines this property.+--+-- 'assetProperty', 'compositeModelProperty_assetProperty' - Undocumented member.+newCompositeModelProperty ::+ -- | 'name'+ Prelude.Text ->+ -- | 'type''+ Prelude.Text ->+ -- | 'assetProperty'+ Property ->+ CompositeModelProperty+newCompositeModelProperty+ pName_+ pType_+ pAssetProperty_ =+ CompositeModelProperty'+ { id = Prelude.Nothing,+ name = pName_,+ type' = pType_,+ assetProperty = pAssetProperty_+ }++-- | The ID of the composite model that contains the property.+compositeModelProperty_id :: Lens.Lens' CompositeModelProperty (Prelude.Maybe Prelude.Text)+compositeModelProperty_id = Lens.lens (\CompositeModelProperty' {id} -> id) (\s@CompositeModelProperty' {} a -> s {id = a} :: CompositeModelProperty)++-- | The name of the property.+compositeModelProperty_name :: Lens.Lens' CompositeModelProperty Prelude.Text+compositeModelProperty_name = Lens.lens (\CompositeModelProperty' {name} -> name) (\s@CompositeModelProperty' {} a -> s {name = a} :: CompositeModelProperty)++-- | The type of the composite model that defines this property.+compositeModelProperty_type :: Lens.Lens' CompositeModelProperty Prelude.Text+compositeModelProperty_type = Lens.lens (\CompositeModelProperty' {type'} -> type') (\s@CompositeModelProperty' {} a -> s {type' = a} :: CompositeModelProperty)++-- | Undocumented member.+compositeModelProperty_assetProperty :: Lens.Lens' CompositeModelProperty Property+compositeModelProperty_assetProperty = Lens.lens (\CompositeModelProperty' {assetProperty} -> assetProperty) (\s@CompositeModelProperty' {} a -> s {assetProperty = a} :: CompositeModelProperty)++instance Data.FromJSON CompositeModelProperty where+ parseJSON =+ Data.withObject+ "CompositeModelProperty"+ ( \x ->+ CompositeModelProperty'+ Prelude.<$> (x Data..:? "id")+ Prelude.<*> (x Data..: "name")+ Prelude.<*> (x Data..: "type")+ Prelude.<*> (x Data..: "assetProperty")+ )++instance Prelude.Hashable CompositeModelProperty where+ hashWithSalt _salt CompositeModelProperty' {..} =+ _salt+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` type'+ `Prelude.hashWithSalt` assetProperty++instance Prelude.NFData CompositeModelProperty where+ rnf CompositeModelProperty' {..} =+ Prelude.rnf id+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf type'+ `Prelude.seq` Prelude.rnf assetProperty
+ gen/Amazonka/IoTSiteWise/Types/ComputeLocation.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.ComputeLocation+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.ComputeLocation+ ( ComputeLocation+ ( ..,+ ComputeLocation_CLOUD,+ ComputeLocation_EDGE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ComputeLocation = ComputeLocation'+ { fromComputeLocation ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern ComputeLocation_CLOUD :: ComputeLocation+pattern ComputeLocation_CLOUD = ComputeLocation' "CLOUD"++pattern ComputeLocation_EDGE :: ComputeLocation+pattern ComputeLocation_EDGE = ComputeLocation' "EDGE"++{-# COMPLETE+ ComputeLocation_CLOUD,+ ComputeLocation_EDGE,+ ComputeLocation'+ #-}
+ gen/Amazonka/IoTSiteWise/Types/ConfigurationErrorDetails.hs view
@@ -0,0 +1,88 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.ConfigurationErrorDetails+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.ConfigurationErrorDetails where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.ErrorCode+import qualified Amazonka.Prelude as Prelude++-- | Contains the details of an IoT SiteWise configuration error.+--+-- /See:/ 'newConfigurationErrorDetails' smart constructor.+data ConfigurationErrorDetails = ConfigurationErrorDetails'+ { -- | The error code.+ code :: ErrorCode,+ -- | The error message.+ message :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ConfigurationErrorDetails' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'code', 'configurationErrorDetails_code' - The error code.+--+-- 'message', 'configurationErrorDetails_message' - The error message.+newConfigurationErrorDetails ::+ -- | 'code'+ ErrorCode ->+ -- | 'message'+ Prelude.Text ->+ ConfigurationErrorDetails+newConfigurationErrorDetails pCode_ pMessage_ =+ ConfigurationErrorDetails'+ { code = pCode_,+ message = pMessage_+ }++-- | The error code.+configurationErrorDetails_code :: Lens.Lens' ConfigurationErrorDetails ErrorCode+configurationErrorDetails_code = Lens.lens (\ConfigurationErrorDetails' {code} -> code) (\s@ConfigurationErrorDetails' {} a -> s {code = a} :: ConfigurationErrorDetails)++-- | The error message.+configurationErrorDetails_message :: Lens.Lens' ConfigurationErrorDetails Prelude.Text+configurationErrorDetails_message = Lens.lens (\ConfigurationErrorDetails' {message} -> message) (\s@ConfigurationErrorDetails' {} a -> s {message = a} :: ConfigurationErrorDetails)++instance Data.FromJSON ConfigurationErrorDetails where+ parseJSON =+ Data.withObject+ "ConfigurationErrorDetails"+ ( \x ->+ ConfigurationErrorDetails'+ Prelude.<$> (x Data..: "code")+ Prelude.<*> (x Data..: "message")+ )++instance Prelude.Hashable ConfigurationErrorDetails where+ hashWithSalt _salt ConfigurationErrorDetails' {..} =+ _salt+ `Prelude.hashWithSalt` code+ `Prelude.hashWithSalt` message++instance Prelude.NFData ConfigurationErrorDetails where+ rnf ConfigurationErrorDetails' {..} =+ Prelude.rnf code `Prelude.seq` Prelude.rnf message
+ gen/Amazonka/IoTSiteWise/Types/ConfigurationState.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.ConfigurationState+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.ConfigurationState+ ( ConfigurationState+ ( ..,+ ConfigurationState_ACTIVE,+ ConfigurationState_UPDATE_FAILED,+ ConfigurationState_UPDATE_IN_PROGRESS+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ConfigurationState = ConfigurationState'+ { fromConfigurationState ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern ConfigurationState_ACTIVE :: ConfigurationState+pattern ConfigurationState_ACTIVE = ConfigurationState' "ACTIVE"++pattern ConfigurationState_UPDATE_FAILED :: ConfigurationState+pattern ConfigurationState_UPDATE_FAILED = ConfigurationState' "UPDATE_FAILED"++pattern ConfigurationState_UPDATE_IN_PROGRESS :: ConfigurationState+pattern ConfigurationState_UPDATE_IN_PROGRESS = ConfigurationState' "UPDATE_IN_PROGRESS"++{-# COMPLETE+ ConfigurationState_ACTIVE,+ ConfigurationState_UPDATE_FAILED,+ ConfigurationState_UPDATE_IN_PROGRESS,+ ConfigurationState'+ #-}
+ gen/Amazonka/IoTSiteWise/Types/ConfigurationStatus.hs view
@@ -0,0 +1,87 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.ConfigurationStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.ConfigurationStatus where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.ConfigurationErrorDetails+import Amazonka.IoTSiteWise.Types.ConfigurationState+import qualified Amazonka.Prelude as Prelude++-- | Contains current status information for the configuration.+--+-- /See:/ 'newConfigurationStatus' smart constructor.+data ConfigurationStatus = ConfigurationStatus'+ { -- | Contains associated error information, if any.+ error :: Prelude.Maybe ConfigurationErrorDetails,+ -- | The current state of the configuration.+ state :: ConfigurationState+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ConfigurationStatus' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'error', 'configurationStatus_error' - Contains associated error information, if any.+--+-- 'state', 'configurationStatus_state' - The current state of the configuration.+newConfigurationStatus ::+ -- | 'state'+ ConfigurationState ->+ ConfigurationStatus+newConfigurationStatus pState_ =+ ConfigurationStatus'+ { error = Prelude.Nothing,+ state = pState_+ }++-- | Contains associated error information, if any.+configurationStatus_error :: Lens.Lens' ConfigurationStatus (Prelude.Maybe ConfigurationErrorDetails)+configurationStatus_error = Lens.lens (\ConfigurationStatus' {error} -> error) (\s@ConfigurationStatus' {} a -> s {error = a} :: ConfigurationStatus)++-- | The current state of the configuration.+configurationStatus_state :: Lens.Lens' ConfigurationStatus ConfigurationState+configurationStatus_state = Lens.lens (\ConfigurationStatus' {state} -> state) (\s@ConfigurationStatus' {} a -> s {state = a} :: ConfigurationStatus)++instance Data.FromJSON ConfigurationStatus where+ parseJSON =+ Data.withObject+ "ConfigurationStatus"+ ( \x ->+ ConfigurationStatus'+ Prelude.<$> (x Data..:? "error")+ Prelude.<*> (x Data..: "state")+ )++instance Prelude.Hashable ConfigurationStatus where+ hashWithSalt _salt ConfigurationStatus' {..} =+ _salt+ `Prelude.hashWithSalt` error+ `Prelude.hashWithSalt` state++instance Prelude.NFData ConfigurationStatus where+ rnf ConfigurationStatus' {..} =+ Prelude.rnf error `Prelude.seq` Prelude.rnf state
+ gen/Amazonka/IoTSiteWise/Types/Csv.hs view
@@ -0,0 +1,75 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.Csv+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.Csv where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.ColumnName+import qualified Amazonka.Prelude as Prelude++-- | A .csv file.+--+-- /See:/ 'newCsv' smart constructor.+data Csv = Csv'+ { -- | The column names specified in the .csv file.+ columnNames :: Prelude.Maybe [ColumnName]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Csv' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'columnNames', 'csv_columnNames' - The column names specified in the .csv file.+newCsv ::+ Csv+newCsv = Csv' {columnNames = Prelude.Nothing}++-- | The column names specified in the .csv file.+csv_columnNames :: Lens.Lens' Csv (Prelude.Maybe [ColumnName])+csv_columnNames = Lens.lens (\Csv' {columnNames} -> columnNames) (\s@Csv' {} a -> s {columnNames = a} :: Csv) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON Csv where+ parseJSON =+ Data.withObject+ "Csv"+ ( \x ->+ Csv'+ Prelude.<$> (x Data..:? "columnNames" Data..!= Prelude.mempty)+ )++instance Prelude.Hashable Csv where+ hashWithSalt _salt Csv' {..} =+ _salt `Prelude.hashWithSalt` columnNames++instance Prelude.NFData Csv where+ rnf Csv' {..} = Prelude.rnf columnNames++instance Data.ToJSON Csv where+ toJSON Csv' {..} =+ Data.object+ ( Prelude.catMaybes+ [("columnNames" Data..=) Prelude.<$> columnNames]+ )
+ gen/Amazonka/IoTSiteWise/Types/CustomerManagedS3Storage.hs view
@@ -0,0 +1,123 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.CustomerManagedS3Storage+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.CustomerManagedS3Storage where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Contains information about a customer managed Amazon S3 bucket.+--+-- /See:/ 'newCustomerManagedS3Storage' smart constructor.+data CustomerManagedS3Storage = CustomerManagedS3Storage'+ { -- | The+ -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+ -- of the Amazon S3 object. For more information about how to find the ARN+ -- for an Amazon S3 object, see+ -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-arn-format.html Amazon S3 resources>+ -- in the /Amazon Simple Storage Service User Guide/.+ s3ResourceArn :: Prelude.Text,+ -- | The+ -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+ -- of the Identity and Access Management role that allows IoT SiteWise to+ -- send data to Amazon S3.+ roleArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CustomerManagedS3Storage' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 's3ResourceArn', 'customerManagedS3Storage_s3ResourceArn' - The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of the Amazon S3 object. For more information about how to find the ARN+-- for an Amazon S3 object, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-arn-format.html Amazon S3 resources>+-- in the /Amazon Simple Storage Service User Guide/.+--+-- 'roleArn', 'customerManagedS3Storage_roleArn' - The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of the Identity and Access Management role that allows IoT SiteWise to+-- send data to Amazon S3.+newCustomerManagedS3Storage ::+ -- | 's3ResourceArn'+ Prelude.Text ->+ -- | 'roleArn'+ Prelude.Text ->+ CustomerManagedS3Storage+newCustomerManagedS3Storage pS3ResourceArn_ pRoleArn_ =+ CustomerManagedS3Storage'+ { s3ResourceArn =+ pS3ResourceArn_,+ roleArn = pRoleArn_+ }++-- | The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of the Amazon S3 object. For more information about how to find the ARN+-- for an Amazon S3 object, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-arn-format.html Amazon S3 resources>+-- in the /Amazon Simple Storage Service User Guide/.+customerManagedS3Storage_s3ResourceArn :: Lens.Lens' CustomerManagedS3Storage Prelude.Text+customerManagedS3Storage_s3ResourceArn = Lens.lens (\CustomerManagedS3Storage' {s3ResourceArn} -> s3ResourceArn) (\s@CustomerManagedS3Storage' {} a -> s {s3ResourceArn = a} :: CustomerManagedS3Storage)++-- | The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of the Identity and Access Management role that allows IoT SiteWise to+-- send data to Amazon S3.+customerManagedS3Storage_roleArn :: Lens.Lens' CustomerManagedS3Storage Prelude.Text+customerManagedS3Storage_roleArn = Lens.lens (\CustomerManagedS3Storage' {roleArn} -> roleArn) (\s@CustomerManagedS3Storage' {} a -> s {roleArn = a} :: CustomerManagedS3Storage)++instance Data.FromJSON CustomerManagedS3Storage where+ parseJSON =+ Data.withObject+ "CustomerManagedS3Storage"+ ( \x ->+ CustomerManagedS3Storage'+ Prelude.<$> (x Data..: "s3ResourceArn")+ Prelude.<*> (x Data..: "roleArn")+ )++instance Prelude.Hashable CustomerManagedS3Storage where+ hashWithSalt _salt CustomerManagedS3Storage' {..} =+ _salt+ `Prelude.hashWithSalt` s3ResourceArn+ `Prelude.hashWithSalt` roleArn++instance Prelude.NFData CustomerManagedS3Storage where+ rnf CustomerManagedS3Storage' {..} =+ Prelude.rnf s3ResourceArn+ `Prelude.seq` Prelude.rnf roleArn++instance Data.ToJSON CustomerManagedS3Storage where+ toJSON CustomerManagedS3Storage' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("s3ResourceArn" Data..= s3ResourceArn),+ Prelude.Just ("roleArn" Data..= roleArn)+ ]+ )
+ gen/Amazonka/IoTSiteWise/Types/DashboardSummary.hs view
@@ -0,0 +1,124 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.DashboardSummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.DashboardSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Contains a dashboard summary.+--+-- /See:/ 'newDashboardSummary' smart constructor.+data DashboardSummary = DashboardSummary'+ { -- | The date the dashboard was created, in Unix epoch time.+ creationDate :: Prelude.Maybe Data.POSIX,+ -- | The dashboard\'s description.+ description :: Prelude.Maybe Prelude.Text,+ -- | The date the dashboard was last updated, in Unix epoch time.+ lastUpdateDate :: Prelude.Maybe Data.POSIX,+ -- | The ID of the dashboard.+ id :: Prelude.Text,+ -- | The name of the dashboard+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DashboardSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'creationDate', 'dashboardSummary_creationDate' - The date the dashboard was created, in Unix epoch time.+--+-- 'description', 'dashboardSummary_description' - The dashboard\'s description.+--+-- 'lastUpdateDate', 'dashboardSummary_lastUpdateDate' - The date the dashboard was last updated, in Unix epoch time.+--+-- 'id', 'dashboardSummary_id' - The ID of the dashboard.+--+-- 'name', 'dashboardSummary_name' - The name of the dashboard+newDashboardSummary ::+ -- | 'id'+ Prelude.Text ->+ -- | 'name'+ Prelude.Text ->+ DashboardSummary+newDashboardSummary pId_ pName_ =+ DashboardSummary'+ { creationDate = Prelude.Nothing,+ description = Prelude.Nothing,+ lastUpdateDate = Prelude.Nothing,+ id = pId_,+ name = pName_+ }++-- | The date the dashboard was created, in Unix epoch time.+dashboardSummary_creationDate :: Lens.Lens' DashboardSummary (Prelude.Maybe Prelude.UTCTime)+dashboardSummary_creationDate = Lens.lens (\DashboardSummary' {creationDate} -> creationDate) (\s@DashboardSummary' {} a -> s {creationDate = a} :: DashboardSummary) Prelude.. Lens.mapping Data._Time++-- | The dashboard\'s description.+dashboardSummary_description :: Lens.Lens' DashboardSummary (Prelude.Maybe Prelude.Text)+dashboardSummary_description = Lens.lens (\DashboardSummary' {description} -> description) (\s@DashboardSummary' {} a -> s {description = a} :: DashboardSummary)++-- | The date the dashboard was last updated, in Unix epoch time.+dashboardSummary_lastUpdateDate :: Lens.Lens' DashboardSummary (Prelude.Maybe Prelude.UTCTime)+dashboardSummary_lastUpdateDate = Lens.lens (\DashboardSummary' {lastUpdateDate} -> lastUpdateDate) (\s@DashboardSummary' {} a -> s {lastUpdateDate = a} :: DashboardSummary) Prelude.. Lens.mapping Data._Time++-- | The ID of the dashboard.+dashboardSummary_id :: Lens.Lens' DashboardSummary Prelude.Text+dashboardSummary_id = Lens.lens (\DashboardSummary' {id} -> id) (\s@DashboardSummary' {} a -> s {id = a} :: DashboardSummary)++-- | The name of the dashboard+dashboardSummary_name :: Lens.Lens' DashboardSummary Prelude.Text+dashboardSummary_name = Lens.lens (\DashboardSummary' {name} -> name) (\s@DashboardSummary' {} a -> s {name = a} :: DashboardSummary)++instance Data.FromJSON DashboardSummary where+ parseJSON =+ Data.withObject+ "DashboardSummary"+ ( \x ->+ DashboardSummary'+ Prelude.<$> (x Data..:? "creationDate")+ Prelude.<*> (x Data..:? "description")+ Prelude.<*> (x Data..:? "lastUpdateDate")+ Prelude.<*> (x Data..: "id")+ Prelude.<*> (x Data..: "name")+ )++instance Prelude.Hashable DashboardSummary where+ hashWithSalt _salt DashboardSummary' {..} =+ _salt+ `Prelude.hashWithSalt` creationDate+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` lastUpdateDate+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` name++instance Prelude.NFData DashboardSummary where+ rnf DashboardSummary' {..} =+ Prelude.rnf creationDate+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf lastUpdateDate+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/IoTSiteWise/Types/DetailedError.hs view
@@ -0,0 +1,85 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.DetailedError+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.DetailedError where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.DetailedErrorCode+import qualified Amazonka.Prelude as Prelude++-- | Contains detailed error information.+--+-- /See:/ 'newDetailedError' smart constructor.+data DetailedError = DetailedError'+ { -- | The error code.+ code :: DetailedErrorCode,+ -- | The error message.+ message :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DetailedError' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'code', 'detailedError_code' - The error code.+--+-- 'message', 'detailedError_message' - The error message.+newDetailedError ::+ -- | 'code'+ DetailedErrorCode ->+ -- | 'message'+ Prelude.Text ->+ DetailedError+newDetailedError pCode_ pMessage_ =+ DetailedError' {code = pCode_, message = pMessage_}++-- | The error code.+detailedError_code :: Lens.Lens' DetailedError DetailedErrorCode+detailedError_code = Lens.lens (\DetailedError' {code} -> code) (\s@DetailedError' {} a -> s {code = a} :: DetailedError)++-- | The error message.+detailedError_message :: Lens.Lens' DetailedError Prelude.Text+detailedError_message = Lens.lens (\DetailedError' {message} -> message) (\s@DetailedError' {} a -> s {message = a} :: DetailedError)++instance Data.FromJSON DetailedError where+ parseJSON =+ Data.withObject+ "DetailedError"+ ( \x ->+ DetailedError'+ Prelude.<$> (x Data..: "code")+ Prelude.<*> (x Data..: "message")+ )++instance Prelude.Hashable DetailedError where+ hashWithSalt _salt DetailedError' {..} =+ _salt+ `Prelude.hashWithSalt` code+ `Prelude.hashWithSalt` message++instance Prelude.NFData DetailedError where+ rnf DetailedError' {..} =+ Prelude.rnf code `Prelude.seq` Prelude.rnf message
+ gen/Amazonka/IoTSiteWise/Types/DetailedErrorCode.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.DetailedErrorCode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.DetailedErrorCode+ ( DetailedErrorCode+ ( ..,+ DetailedErrorCode_INCOMPATIBLE_COMPUTE_LOCATION,+ DetailedErrorCode_INCOMPATIBLE_FORWARDING_CONFIGURATION+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DetailedErrorCode = DetailedErrorCode'+ { fromDetailedErrorCode ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern DetailedErrorCode_INCOMPATIBLE_COMPUTE_LOCATION :: DetailedErrorCode+pattern DetailedErrorCode_INCOMPATIBLE_COMPUTE_LOCATION = DetailedErrorCode' "INCOMPATIBLE_COMPUTE_LOCATION"++pattern DetailedErrorCode_INCOMPATIBLE_FORWARDING_CONFIGURATION :: DetailedErrorCode+pattern DetailedErrorCode_INCOMPATIBLE_FORWARDING_CONFIGURATION = DetailedErrorCode' "INCOMPATIBLE_FORWARDING_CONFIGURATION"++{-# COMPLETE+ DetailedErrorCode_INCOMPATIBLE_COMPUTE_LOCATION,+ DetailedErrorCode_INCOMPATIBLE_FORWARDING_CONFIGURATION,+ DetailedErrorCode'+ #-}
+ gen/Amazonka/IoTSiteWise/Types/DisassociatedDataStorageState.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.DisassociatedDataStorageState+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.DisassociatedDataStorageState+ ( DisassociatedDataStorageState+ ( ..,+ DisassociatedDataStorageState_DISABLED,+ DisassociatedDataStorageState_ENABLED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DisassociatedDataStorageState = DisassociatedDataStorageState'+ { fromDisassociatedDataStorageState ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern DisassociatedDataStorageState_DISABLED :: DisassociatedDataStorageState+pattern DisassociatedDataStorageState_DISABLED = DisassociatedDataStorageState' "DISABLED"++pattern DisassociatedDataStorageState_ENABLED :: DisassociatedDataStorageState+pattern DisassociatedDataStorageState_ENABLED = DisassociatedDataStorageState' "ENABLED"++{-# COMPLETE+ DisassociatedDataStorageState_DISABLED,+ DisassociatedDataStorageState_ENABLED,+ DisassociatedDataStorageState'+ #-}
+ gen/Amazonka/IoTSiteWise/Types/EncryptionType.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.EncryptionType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.EncryptionType+ ( EncryptionType+ ( ..,+ EncryptionType_KMS_BASED_ENCRYPTION,+ EncryptionType_SITEWISE_DEFAULT_ENCRYPTION+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype EncryptionType = EncryptionType'+ { fromEncryptionType ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern EncryptionType_KMS_BASED_ENCRYPTION :: EncryptionType+pattern EncryptionType_KMS_BASED_ENCRYPTION = EncryptionType' "KMS_BASED_ENCRYPTION"++pattern EncryptionType_SITEWISE_DEFAULT_ENCRYPTION :: EncryptionType+pattern EncryptionType_SITEWISE_DEFAULT_ENCRYPTION = EncryptionType' "SITEWISE_DEFAULT_ENCRYPTION"++{-# COMPLETE+ EncryptionType_KMS_BASED_ENCRYPTION,+ EncryptionType_SITEWISE_DEFAULT_ENCRYPTION,+ EncryptionType'+ #-}
+ gen/Amazonka/IoTSiteWise/Types/ErrorCode.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.ErrorCode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.ErrorCode+ ( ErrorCode+ ( ..,+ ErrorCode_INTERNAL_FAILURE,+ ErrorCode_VALIDATION_ERROR+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ErrorCode = ErrorCode'+ { fromErrorCode ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern ErrorCode_INTERNAL_FAILURE :: ErrorCode+pattern ErrorCode_INTERNAL_FAILURE = ErrorCode' "INTERNAL_FAILURE"++pattern ErrorCode_VALIDATION_ERROR :: ErrorCode+pattern ErrorCode_VALIDATION_ERROR = ErrorCode' "VALIDATION_ERROR"++{-# COMPLETE+ ErrorCode_INTERNAL_FAILURE,+ ErrorCode_VALIDATION_ERROR,+ ErrorCode'+ #-}
+ gen/Amazonka/IoTSiteWise/Types/ErrorDetails.hs view
@@ -0,0 +1,102 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.ErrorDetails+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.ErrorDetails where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.DetailedError+import Amazonka.IoTSiteWise.Types.ErrorCode+import qualified Amazonka.Prelude as Prelude++-- | Contains the details of an IoT SiteWise error.+--+-- /See:/ 'newErrorDetails' smart constructor.+data ErrorDetails = ErrorDetails'+ { -- | A list of detailed errors.+ details :: Prelude.Maybe [DetailedError],+ -- | The error code.+ code :: ErrorCode,+ -- | The error message.+ message :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ErrorDetails' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'details', 'errorDetails_details' - A list of detailed errors.+--+-- 'code', 'errorDetails_code' - The error code.+--+-- 'message', 'errorDetails_message' - The error message.+newErrorDetails ::+ -- | 'code'+ ErrorCode ->+ -- | 'message'+ Prelude.Text ->+ ErrorDetails+newErrorDetails pCode_ pMessage_ =+ ErrorDetails'+ { details = Prelude.Nothing,+ code = pCode_,+ message = pMessage_+ }++-- | A list of detailed errors.+errorDetails_details :: Lens.Lens' ErrorDetails (Prelude.Maybe [DetailedError])+errorDetails_details = Lens.lens (\ErrorDetails' {details} -> details) (\s@ErrorDetails' {} a -> s {details = a} :: ErrorDetails) Prelude.. Lens.mapping Lens.coerced++-- | The error code.+errorDetails_code :: Lens.Lens' ErrorDetails ErrorCode+errorDetails_code = Lens.lens (\ErrorDetails' {code} -> code) (\s@ErrorDetails' {} a -> s {code = a} :: ErrorDetails)++-- | The error message.+errorDetails_message :: Lens.Lens' ErrorDetails Prelude.Text+errorDetails_message = Lens.lens (\ErrorDetails' {message} -> message) (\s@ErrorDetails' {} a -> s {message = a} :: ErrorDetails)++instance Data.FromJSON ErrorDetails where+ parseJSON =+ Data.withObject+ "ErrorDetails"+ ( \x ->+ ErrorDetails'+ Prelude.<$> (x Data..:? "details" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..: "code")+ Prelude.<*> (x Data..: "message")+ )++instance Prelude.Hashable ErrorDetails where+ hashWithSalt _salt ErrorDetails' {..} =+ _salt+ `Prelude.hashWithSalt` details+ `Prelude.hashWithSalt` code+ `Prelude.hashWithSalt` message++instance Prelude.NFData ErrorDetails where+ rnf ErrorDetails' {..} =+ Prelude.rnf details+ `Prelude.seq` Prelude.rnf code+ `Prelude.seq` Prelude.rnf message
+ gen/Amazonka/IoTSiteWise/Types/ErrorReportLocation.hs view
@@ -0,0 +1,115 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.ErrorReportLocation+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.ErrorReportLocation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The Amazon S3 destination where errors associated with the job creation+-- request are saved.+--+-- /See:/ 'newErrorReportLocation' smart constructor.+data ErrorReportLocation = ErrorReportLocation'+ { -- | The name of the Amazon S3 bucket to which errors associated with the+ -- bulk import job are sent.+ bucket :: Prelude.Text,+ -- | 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+ -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-prefixes.html Organizing objects using prefixes>+ -- in the /Amazon Simple Storage Service User Guide/.+ prefix :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ErrorReportLocation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bucket', 'errorReportLocation_bucket' - The name of the Amazon S3 bucket to which errors associated with the+-- bulk import job are sent.+--+-- 'prefix', 'errorReportLocation_prefix' - 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+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-prefixes.html Organizing objects using prefixes>+-- in the /Amazon Simple Storage Service User Guide/.+newErrorReportLocation ::+ -- | 'bucket'+ Prelude.Text ->+ -- | 'prefix'+ Prelude.Text ->+ ErrorReportLocation+newErrorReportLocation pBucket_ pPrefix_ =+ ErrorReportLocation'+ { bucket = pBucket_,+ prefix = pPrefix_+ }++-- | The name of the Amazon S3 bucket to which errors associated with the+-- bulk import job are sent.+errorReportLocation_bucket :: Lens.Lens' ErrorReportLocation Prelude.Text+errorReportLocation_bucket = Lens.lens (\ErrorReportLocation' {bucket} -> bucket) (\s@ErrorReportLocation' {} a -> s {bucket = a} :: ErrorReportLocation)++-- | 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+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-prefixes.html Organizing objects using prefixes>+-- in the /Amazon Simple Storage Service User Guide/.+errorReportLocation_prefix :: Lens.Lens' ErrorReportLocation Prelude.Text+errorReportLocation_prefix = Lens.lens (\ErrorReportLocation' {prefix} -> prefix) (\s@ErrorReportLocation' {} a -> s {prefix = a} :: ErrorReportLocation)++instance Data.FromJSON ErrorReportLocation where+ parseJSON =+ Data.withObject+ "ErrorReportLocation"+ ( \x ->+ ErrorReportLocation'+ Prelude.<$> (x Data..: "bucket")+ Prelude.<*> (x Data..: "prefix")+ )++instance Prelude.Hashable ErrorReportLocation where+ hashWithSalt _salt ErrorReportLocation' {..} =+ _salt+ `Prelude.hashWithSalt` bucket+ `Prelude.hashWithSalt` prefix++instance Prelude.NFData ErrorReportLocation where+ rnf ErrorReportLocation' {..} =+ Prelude.rnf bucket `Prelude.seq` Prelude.rnf prefix++instance Data.ToJSON ErrorReportLocation where+ toJSON ErrorReportLocation' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("bucket" Data..= bucket),+ Prelude.Just ("prefix" Data..= prefix)+ ]+ )
+ gen/Amazonka/IoTSiteWise/Types/ExpressionVariable.hs view
@@ -0,0 +1,94 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.ExpressionVariable+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.ExpressionVariable where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.VariableValue+import qualified Amazonka.Prelude as Prelude++-- | Contains expression variable information.+--+-- /See:/ 'newExpressionVariable' smart constructor.+data ExpressionVariable = ExpressionVariable'+ { -- | The friendly name of the variable to be used in the expression.+ name :: Prelude.Text,+ -- | The variable that identifies an asset property from which to use values.+ value :: VariableValue+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ExpressionVariable' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'expressionVariable_name' - The friendly name of the variable to be used in the expression.+--+-- 'value', 'expressionVariable_value' - The variable that identifies an asset property from which to use values.+newExpressionVariable ::+ -- | 'name'+ Prelude.Text ->+ -- | 'value'+ VariableValue ->+ ExpressionVariable+newExpressionVariable pName_ pValue_ =+ ExpressionVariable' {name = pName_, value = pValue_}++-- | The friendly name of the variable to be used in the expression.+expressionVariable_name :: Lens.Lens' ExpressionVariable Prelude.Text+expressionVariable_name = Lens.lens (\ExpressionVariable' {name} -> name) (\s@ExpressionVariable' {} a -> s {name = a} :: ExpressionVariable)++-- | The variable that identifies an asset property from which to use values.+expressionVariable_value :: Lens.Lens' ExpressionVariable VariableValue+expressionVariable_value = Lens.lens (\ExpressionVariable' {value} -> value) (\s@ExpressionVariable' {} a -> s {value = a} :: ExpressionVariable)++instance Data.FromJSON ExpressionVariable where+ parseJSON =+ Data.withObject+ "ExpressionVariable"+ ( \x ->+ ExpressionVariable'+ Prelude.<$> (x Data..: "name")+ Prelude.<*> (x Data..: "value")+ )++instance Prelude.Hashable ExpressionVariable where+ hashWithSalt _salt ExpressionVariable' {..} =+ _salt+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` value++instance Prelude.NFData ExpressionVariable where+ rnf ExpressionVariable' {..} =+ Prelude.rnf name `Prelude.seq` Prelude.rnf value++instance Data.ToJSON ExpressionVariable where+ toJSON ExpressionVariable' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("name" Data..= name),+ Prelude.Just ("value" Data..= value)+ ]+ )
+ gen/Amazonka/IoTSiteWise/Types/File.hs view
@@ -0,0 +1,116 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.File+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.File where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The file in Amazon S3 where your data is saved.+--+-- /See:/ 'newFile' smart constructor.+data File = File'+ { -- | The version ID to identify a specific version of the Amazon S3 object+ -- that contains your data.+ versionId :: Prelude.Maybe Prelude.Text,+ -- | The name of the Amazon S3 bucket from which data is imported.+ bucket :: Prelude.Text,+ -- | 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.+ key :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'File' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'versionId', 'file_versionId' - The version ID to identify a specific version of the Amazon S3 object+-- that contains your data.+--+-- 'bucket', 'file_bucket' - The name of the Amazon S3 bucket from which data is imported.+--+-- 'key', 'file_key' - 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.+newFile ::+ -- | 'bucket'+ Prelude.Text ->+ -- | 'key'+ Prelude.Text ->+ File+newFile pBucket_ pKey_ =+ File'+ { versionId = Prelude.Nothing,+ bucket = pBucket_,+ key = pKey_+ }++-- | The version ID to identify a specific version of the Amazon S3 object+-- that contains your data.+file_versionId :: Lens.Lens' File (Prelude.Maybe Prelude.Text)+file_versionId = Lens.lens (\File' {versionId} -> versionId) (\s@File' {} a -> s {versionId = a} :: File)++-- | The name of the Amazon S3 bucket from which data is imported.+file_bucket :: Lens.Lens' File Prelude.Text+file_bucket = Lens.lens (\File' {bucket} -> bucket) (\s@File' {} a -> s {bucket = a} :: File)++-- | 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.+file_key :: Lens.Lens' File Prelude.Text+file_key = Lens.lens (\File' {key} -> key) (\s@File' {} a -> s {key = a} :: File)++instance Data.FromJSON File where+ parseJSON =+ Data.withObject+ "File"+ ( \x ->+ File'+ Prelude.<$> (x Data..:? "versionId")+ Prelude.<*> (x Data..: "bucket")+ Prelude.<*> (x Data..: "key")+ )++instance Prelude.Hashable File where+ hashWithSalt _salt File' {..} =+ _salt+ `Prelude.hashWithSalt` versionId+ `Prelude.hashWithSalt` bucket+ `Prelude.hashWithSalt` key++instance Prelude.NFData File where+ rnf File' {..} =+ Prelude.rnf versionId+ `Prelude.seq` Prelude.rnf bucket+ `Prelude.seq` Prelude.rnf key++instance Data.ToJSON File where+ toJSON File' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("versionId" Data..=) Prelude.<$> versionId,+ Prelude.Just ("bucket" Data..= bucket),+ Prelude.Just ("key" Data..= key)+ ]+ )
+ gen/Amazonka/IoTSiteWise/Types/FileFormat.hs view
@@ -0,0 +1,70 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.FileFormat+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.FileFormat where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.Csv+import qualified Amazonka.Prelude as Prelude++-- | The file format of the data.+--+-- /See:/ 'newFileFormat' smart constructor.+data FileFormat = FileFormat'+ { -- | The .csv file format.+ csv :: Prelude.Maybe Csv+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FileFormat' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'csv', 'fileFormat_csv' - The .csv file format.+newFileFormat ::+ FileFormat+newFileFormat = FileFormat' {csv = Prelude.Nothing}++-- | The .csv file format.+fileFormat_csv :: Lens.Lens' FileFormat (Prelude.Maybe Csv)+fileFormat_csv = Lens.lens (\FileFormat' {csv} -> csv) (\s@FileFormat' {} a -> s {csv = a} :: FileFormat)++instance Data.FromJSON FileFormat where+ parseJSON =+ Data.withObject+ "FileFormat"+ (\x -> FileFormat' Prelude.<$> (x Data..:? "csv"))++instance Prelude.Hashable FileFormat where+ hashWithSalt _salt FileFormat' {..} =+ _salt `Prelude.hashWithSalt` csv++instance Prelude.NFData FileFormat where+ rnf FileFormat' {..} = Prelude.rnf csv++instance Data.ToJSON FileFormat where+ toJSON FileFormat' {..} =+ Data.object+ (Prelude.catMaybes [("csv" Data..=) Prelude.<$> csv])
+ gen/Amazonka/IoTSiteWise/Types/ForwardingConfig.hs view
@@ -0,0 +1,77 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.ForwardingConfig+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.ForwardingConfig where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.ForwardingConfigState+import qualified Amazonka.Prelude as Prelude++-- | The forwarding configuration for a given property.+--+-- /See:/ 'newForwardingConfig' smart constructor.+data ForwardingConfig = ForwardingConfig'+ { -- | The forwarding state for the given property.+ state :: ForwardingConfigState+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ForwardingConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'state', 'forwardingConfig_state' - The forwarding state for the given property.+newForwardingConfig ::+ -- | 'state'+ ForwardingConfigState ->+ ForwardingConfig+newForwardingConfig pState_ =+ ForwardingConfig' {state = pState_}++-- | The forwarding state for the given property.+forwardingConfig_state :: Lens.Lens' ForwardingConfig ForwardingConfigState+forwardingConfig_state = Lens.lens (\ForwardingConfig' {state} -> state) (\s@ForwardingConfig' {} a -> s {state = a} :: ForwardingConfig)++instance Data.FromJSON ForwardingConfig where+ parseJSON =+ Data.withObject+ "ForwardingConfig"+ ( \x ->+ ForwardingConfig' Prelude.<$> (x Data..: "state")+ )++instance Prelude.Hashable ForwardingConfig where+ hashWithSalt _salt ForwardingConfig' {..} =+ _salt `Prelude.hashWithSalt` state++instance Prelude.NFData ForwardingConfig where+ rnf ForwardingConfig' {..} = Prelude.rnf state++instance Data.ToJSON ForwardingConfig where+ toJSON ForwardingConfig' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("state" Data..= state)]+ )
+ gen/Amazonka/IoTSiteWise/Types/ForwardingConfigState.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.ForwardingConfigState+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.ForwardingConfigState+ ( ForwardingConfigState+ ( ..,+ ForwardingConfigState_DISABLED,+ ForwardingConfigState_ENABLED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ForwardingConfigState = ForwardingConfigState'+ { fromForwardingConfigState ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern ForwardingConfigState_DISABLED :: ForwardingConfigState+pattern ForwardingConfigState_DISABLED = ForwardingConfigState' "DISABLED"++pattern ForwardingConfigState_ENABLED :: ForwardingConfigState+pattern ForwardingConfigState_ENABLED = ForwardingConfigState' "ENABLED"++{-# COMPLETE+ ForwardingConfigState_DISABLED,+ ForwardingConfigState_ENABLED,+ ForwardingConfigState'+ #-}
+ gen/Amazonka/IoTSiteWise/Types/GatewayCapabilitySummary.hs view
@@ -0,0 +1,128 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.GatewayCapabilitySummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.GatewayCapabilitySummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.CapabilitySyncStatus+import qualified Amazonka.Prelude as Prelude++-- | Contains a summary of a gateway capability configuration.+--+-- /See:/ 'newGatewayCapabilitySummary' smart constructor.+data GatewayCapabilitySummary = 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@.+ capabilityNamespace :: Prelude.Text,+ -- | 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.+ capabilitySyncStatus :: CapabilitySyncStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GatewayCapabilitySummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'capabilityNamespace', 'gatewayCapabilitySummary_capabilityNamespace' - 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@.+--+-- 'capabilitySyncStatus', 'gatewayCapabilitySummary_capabilitySyncStatus' - 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.+newGatewayCapabilitySummary ::+ -- | 'capabilityNamespace'+ Prelude.Text ->+ -- | 'capabilitySyncStatus'+ CapabilitySyncStatus ->+ GatewayCapabilitySummary+newGatewayCapabilitySummary+ pCapabilityNamespace_+ pCapabilitySyncStatus_ =+ GatewayCapabilitySummary'+ { capabilityNamespace =+ pCapabilityNamespace_,+ capabilitySyncStatus = pCapabilitySyncStatus_+ }++-- | 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@.+gatewayCapabilitySummary_capabilityNamespace :: Lens.Lens' GatewayCapabilitySummary Prelude.Text+gatewayCapabilitySummary_capabilityNamespace = Lens.lens (\GatewayCapabilitySummary' {capabilityNamespace} -> capabilityNamespace) (\s@GatewayCapabilitySummary' {} a -> s {capabilityNamespace = a} :: GatewayCapabilitySummary)++-- | 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.+gatewayCapabilitySummary_capabilitySyncStatus :: Lens.Lens' GatewayCapabilitySummary CapabilitySyncStatus+gatewayCapabilitySummary_capabilitySyncStatus = Lens.lens (\GatewayCapabilitySummary' {capabilitySyncStatus} -> capabilitySyncStatus) (\s@GatewayCapabilitySummary' {} a -> s {capabilitySyncStatus = a} :: GatewayCapabilitySummary)++instance Data.FromJSON GatewayCapabilitySummary where+ parseJSON =+ Data.withObject+ "GatewayCapabilitySummary"+ ( \x ->+ GatewayCapabilitySummary'+ Prelude.<$> (x Data..: "capabilityNamespace")+ Prelude.<*> (x Data..: "capabilitySyncStatus")+ )++instance Prelude.Hashable GatewayCapabilitySummary where+ hashWithSalt _salt GatewayCapabilitySummary' {..} =+ _salt+ `Prelude.hashWithSalt` capabilityNamespace+ `Prelude.hashWithSalt` capabilitySyncStatus++instance Prelude.NFData GatewayCapabilitySummary where+ rnf GatewayCapabilitySummary' {..} =+ Prelude.rnf capabilityNamespace+ `Prelude.seq` Prelude.rnf capabilitySyncStatus
+ gen/Amazonka/IoTSiteWise/Types/GatewayPlatform.hs view
@@ -0,0 +1,95 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.GatewayPlatform+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.GatewayPlatform where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.Greengrass+import Amazonka.IoTSiteWise.Types.GreengrassV2+import qualified Amazonka.Prelude as Prelude++-- | Contains a gateway\'s platform information.+--+-- /See:/ 'newGatewayPlatform' smart constructor.+data GatewayPlatform = GatewayPlatform'+ { -- | A gateway that runs on IoT Greengrass.+ greengrass :: Prelude.Maybe Greengrass,+ -- | A gateway that runs on IoT Greengrass V2.+ greengrassV2 :: Prelude.Maybe GreengrassV2+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GatewayPlatform' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'greengrass', 'gatewayPlatform_greengrass' - A gateway that runs on IoT Greengrass.+--+-- 'greengrassV2', 'gatewayPlatform_greengrassV2' - A gateway that runs on IoT Greengrass V2.+newGatewayPlatform ::+ GatewayPlatform+newGatewayPlatform =+ GatewayPlatform'+ { greengrass = Prelude.Nothing,+ greengrassV2 = Prelude.Nothing+ }++-- | A gateway that runs on IoT Greengrass.+gatewayPlatform_greengrass :: Lens.Lens' GatewayPlatform (Prelude.Maybe Greengrass)+gatewayPlatform_greengrass = Lens.lens (\GatewayPlatform' {greengrass} -> greengrass) (\s@GatewayPlatform' {} a -> s {greengrass = a} :: GatewayPlatform)++-- | A gateway that runs on IoT Greengrass V2.+gatewayPlatform_greengrassV2 :: Lens.Lens' GatewayPlatform (Prelude.Maybe GreengrassV2)+gatewayPlatform_greengrassV2 = Lens.lens (\GatewayPlatform' {greengrassV2} -> greengrassV2) (\s@GatewayPlatform' {} a -> s {greengrassV2 = a} :: GatewayPlatform)++instance Data.FromJSON GatewayPlatform where+ parseJSON =+ Data.withObject+ "GatewayPlatform"+ ( \x ->+ GatewayPlatform'+ Prelude.<$> (x Data..:? "greengrass")+ Prelude.<*> (x Data..:? "greengrassV2")+ )++instance Prelude.Hashable GatewayPlatform where+ hashWithSalt _salt GatewayPlatform' {..} =+ _salt+ `Prelude.hashWithSalt` greengrass+ `Prelude.hashWithSalt` greengrassV2++instance Prelude.NFData GatewayPlatform where+ rnf GatewayPlatform' {..} =+ Prelude.rnf greengrass+ `Prelude.seq` Prelude.rnf greengrassV2++instance Data.ToJSON GatewayPlatform where+ toJSON GatewayPlatform' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("greengrass" Data..=) Prelude.<$> greengrass,+ ("greengrassV2" Data..=) Prelude.<$> greengrassV2+ ]+ )
+ gen/Amazonka/IoTSiteWise/Types/GatewaySummary.hs view
@@ -0,0 +1,158 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.GatewaySummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.GatewaySummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.GatewayCapabilitySummary+import Amazonka.IoTSiteWise.Types.GatewayPlatform+import qualified Amazonka.Prelude as Prelude++-- | Contains a summary of a gateway.+--+-- /See:/ 'newGatewaySummary' smart constructor.+data GatewaySummary = GatewaySummary'+ { -- | 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+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeGatewayCapabilityConfiguration.html DescribeGatewayCapabilityConfiguration>.+ gatewayCapabilitySummaries :: Prelude.Maybe [GatewayCapabilitySummary],+ gatewayPlatform :: Prelude.Maybe GatewayPlatform,+ -- | The ID of the gateway device.+ gatewayId :: Prelude.Text,+ -- | The name of the asset.+ gatewayName :: Prelude.Text,+ -- | The date the gateway was created, in Unix epoch time.+ creationDate :: Data.POSIX,+ -- | The date the gateway was last updated, in Unix epoch time.+ lastUpdateDate :: Data.POSIX+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GatewaySummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'gatewayCapabilitySummaries', 'gatewaySummary_gatewayCapabilitySummaries' - 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeGatewayCapabilityConfiguration.html DescribeGatewayCapabilityConfiguration>.+--+-- 'gatewayPlatform', 'gatewaySummary_gatewayPlatform' - Undocumented member.+--+-- 'gatewayId', 'gatewaySummary_gatewayId' - The ID of the gateway device.+--+-- 'gatewayName', 'gatewaySummary_gatewayName' - The name of the asset.+--+-- 'creationDate', 'gatewaySummary_creationDate' - The date the gateway was created, in Unix epoch time.+--+-- 'lastUpdateDate', 'gatewaySummary_lastUpdateDate' - The date the gateway was last updated, in Unix epoch time.+newGatewaySummary ::+ -- | 'gatewayId'+ Prelude.Text ->+ -- | 'gatewayName'+ Prelude.Text ->+ -- | 'creationDate'+ Prelude.UTCTime ->+ -- | 'lastUpdateDate'+ Prelude.UTCTime ->+ GatewaySummary+newGatewaySummary+ pGatewayId_+ pGatewayName_+ pCreationDate_+ pLastUpdateDate_ =+ GatewaySummary'+ { gatewayCapabilitySummaries =+ Prelude.Nothing,+ gatewayPlatform = Prelude.Nothing,+ gatewayId = pGatewayId_,+ gatewayName = pGatewayName_,+ creationDate = Data._Time Lens.# pCreationDate_,+ lastUpdateDate = Data._Time Lens.# pLastUpdateDate_+ }++-- | 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeGatewayCapabilityConfiguration.html DescribeGatewayCapabilityConfiguration>.+gatewaySummary_gatewayCapabilitySummaries :: Lens.Lens' GatewaySummary (Prelude.Maybe [GatewayCapabilitySummary])+gatewaySummary_gatewayCapabilitySummaries = Lens.lens (\GatewaySummary' {gatewayCapabilitySummaries} -> gatewayCapabilitySummaries) (\s@GatewaySummary' {} a -> s {gatewayCapabilitySummaries = a} :: GatewaySummary) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+gatewaySummary_gatewayPlatform :: Lens.Lens' GatewaySummary (Prelude.Maybe GatewayPlatform)+gatewaySummary_gatewayPlatform = Lens.lens (\GatewaySummary' {gatewayPlatform} -> gatewayPlatform) (\s@GatewaySummary' {} a -> s {gatewayPlatform = a} :: GatewaySummary)++-- | The ID of the gateway device.+gatewaySummary_gatewayId :: Lens.Lens' GatewaySummary Prelude.Text+gatewaySummary_gatewayId = Lens.lens (\GatewaySummary' {gatewayId} -> gatewayId) (\s@GatewaySummary' {} a -> s {gatewayId = a} :: GatewaySummary)++-- | The name of the asset.+gatewaySummary_gatewayName :: Lens.Lens' GatewaySummary Prelude.Text+gatewaySummary_gatewayName = Lens.lens (\GatewaySummary' {gatewayName} -> gatewayName) (\s@GatewaySummary' {} a -> s {gatewayName = a} :: GatewaySummary)++-- | The date the gateway was created, in Unix epoch time.+gatewaySummary_creationDate :: Lens.Lens' GatewaySummary Prelude.UTCTime+gatewaySummary_creationDate = Lens.lens (\GatewaySummary' {creationDate} -> creationDate) (\s@GatewaySummary' {} a -> s {creationDate = a} :: GatewaySummary) Prelude.. Data._Time++-- | The date the gateway was last updated, in Unix epoch time.+gatewaySummary_lastUpdateDate :: Lens.Lens' GatewaySummary Prelude.UTCTime+gatewaySummary_lastUpdateDate = Lens.lens (\GatewaySummary' {lastUpdateDate} -> lastUpdateDate) (\s@GatewaySummary' {} a -> s {lastUpdateDate = a} :: GatewaySummary) Prelude.. Data._Time++instance Data.FromJSON GatewaySummary where+ parseJSON =+ Data.withObject+ "GatewaySummary"+ ( \x ->+ GatewaySummary'+ Prelude.<$> ( x+ Data..:? "gatewayCapabilitySummaries"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "gatewayPlatform")+ Prelude.<*> (x Data..: "gatewayId")+ Prelude.<*> (x Data..: "gatewayName")+ Prelude.<*> (x Data..: "creationDate")+ Prelude.<*> (x Data..: "lastUpdateDate")+ )++instance Prelude.Hashable GatewaySummary where+ hashWithSalt _salt GatewaySummary' {..} =+ _salt+ `Prelude.hashWithSalt` gatewayCapabilitySummaries+ `Prelude.hashWithSalt` gatewayPlatform+ `Prelude.hashWithSalt` gatewayId+ `Prelude.hashWithSalt` gatewayName+ `Prelude.hashWithSalt` creationDate+ `Prelude.hashWithSalt` lastUpdateDate++instance Prelude.NFData GatewaySummary where+ rnf GatewaySummary' {..} =+ Prelude.rnf gatewayCapabilitySummaries+ `Prelude.seq` Prelude.rnf gatewayPlatform+ `Prelude.seq` Prelude.rnf gatewayId+ `Prelude.seq` Prelude.rnf gatewayName+ `Prelude.seq` Prelude.rnf creationDate+ `Prelude.seq` Prelude.rnf lastUpdateDate
+ gen/Amazonka/IoTSiteWise/Types/Greengrass.hs view
@@ -0,0 +1,103 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.Greengrass+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.Greengrass where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/gateway-connector.html Ingesting data using a gateway>+-- in the /IoT SiteWise User Guide/.+--+-- /See:/ 'newGreengrass' smart constructor.+data Greengrass = Greengrass'+ { -- | The+ -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+ -- of the Greengrass group. For more information about how to find a+ -- group\'s ARN, see+ -- <https://docs.aws.amazon.com/greengrass/latest/apireference/listgroups-get.html ListGroups>+ -- and+ -- <https://docs.aws.amazon.com/greengrass/latest/apireference/getgroup-get.html GetGroup>+ -- in the /IoT Greengrass API Reference/.+ groupArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Greengrass' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'groupArn', 'greengrass_groupArn' - The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of the Greengrass group. For more information about how to find a+-- group\'s ARN, see+-- <https://docs.aws.amazon.com/greengrass/latest/apireference/listgroups-get.html ListGroups>+-- and+-- <https://docs.aws.amazon.com/greengrass/latest/apireference/getgroup-get.html GetGroup>+-- in the /IoT Greengrass API Reference/.+newGreengrass ::+ -- | 'groupArn'+ Prelude.Text ->+ Greengrass+newGreengrass pGroupArn_ =+ Greengrass' {groupArn = pGroupArn_}++-- | The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of the Greengrass group. For more information about how to find a+-- group\'s ARN, see+-- <https://docs.aws.amazon.com/greengrass/latest/apireference/listgroups-get.html ListGroups>+-- and+-- <https://docs.aws.amazon.com/greengrass/latest/apireference/getgroup-get.html GetGroup>+-- in the /IoT Greengrass API Reference/.+greengrass_groupArn :: Lens.Lens' Greengrass Prelude.Text+greengrass_groupArn = Lens.lens (\Greengrass' {groupArn} -> groupArn) (\s@Greengrass' {} a -> s {groupArn = a} :: Greengrass)++instance Data.FromJSON Greengrass where+ parseJSON =+ Data.withObject+ "Greengrass"+ ( \x ->+ Greengrass' Prelude.<$> (x Data..: "groupArn")+ )++instance Prelude.Hashable Greengrass where+ hashWithSalt _salt Greengrass' {..} =+ _salt `Prelude.hashWithSalt` groupArn++instance Prelude.NFData Greengrass where+ rnf Greengrass' {..} = Prelude.rnf groupArn++instance Data.ToJSON Greengrass where+ toJSON Greengrass' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("groupArn" Data..= groupArn)]+ )
+ gen/Amazonka/IoTSiteWise/Types/GreengrassV2.hs view
@@ -0,0 +1,90 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.GreengrassV2+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.GreengrassV2 where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | 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+-- <https://docs.aws.amazon.com/greengrass/v2/developerguide/device-service-role.html Greengrass device role>+-- must use the @AWSIoTSiteWiseEdgeAccess@ policy. For more information,+-- see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/sw-gateways.html Using IoT SiteWise at the edge>+-- in the /IoT SiteWise User Guide/.+--+-- /See:/ 'newGreengrassV2' smart constructor.+data GreengrassV2 = GreengrassV2'+ { -- | The name of the IoT thing for your IoT Greengrass V2 core device.+ coreDeviceThingName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GreengrassV2' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'coreDeviceThingName', 'greengrassV2_coreDeviceThingName' - The name of the IoT thing for your IoT Greengrass V2 core device.+newGreengrassV2 ::+ -- | 'coreDeviceThingName'+ Prelude.Text ->+ GreengrassV2+newGreengrassV2 pCoreDeviceThingName_ =+ GreengrassV2'+ { coreDeviceThingName =+ pCoreDeviceThingName_+ }++-- | The name of the IoT thing for your IoT Greengrass V2 core device.+greengrassV2_coreDeviceThingName :: Lens.Lens' GreengrassV2 Prelude.Text+greengrassV2_coreDeviceThingName = Lens.lens (\GreengrassV2' {coreDeviceThingName} -> coreDeviceThingName) (\s@GreengrassV2' {} a -> s {coreDeviceThingName = a} :: GreengrassV2)++instance Data.FromJSON GreengrassV2 where+ parseJSON =+ Data.withObject+ "GreengrassV2"+ ( \x ->+ GreengrassV2'+ Prelude.<$> (x Data..: "coreDeviceThingName")+ )++instance Prelude.Hashable GreengrassV2 where+ hashWithSalt _salt GreengrassV2' {..} =+ _salt `Prelude.hashWithSalt` coreDeviceThingName++instance Prelude.NFData GreengrassV2 where+ rnf GreengrassV2' {..} =+ Prelude.rnf coreDeviceThingName++instance Data.ToJSON GreengrassV2 where+ toJSON GreengrassV2' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("coreDeviceThingName" Data..= coreDeviceThingName)+ ]+ )
+ gen/Amazonka/IoTSiteWise/Types/GroupIdentity.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.GroupIdentity+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.GroupIdentity where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Contains information for a group identity in an access policy.+--+-- /See:/ 'newGroupIdentity' smart constructor.+data GroupIdentity = GroupIdentity'+ { -- | The IAM Identity Center ID of the group.+ id :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GroupIdentity' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'groupIdentity_id' - The IAM Identity Center ID of the group.+newGroupIdentity ::+ -- | 'id'+ Prelude.Text ->+ GroupIdentity+newGroupIdentity pId_ = GroupIdentity' {id = pId_}++-- | The IAM Identity Center ID of the group.+groupIdentity_id :: Lens.Lens' GroupIdentity Prelude.Text+groupIdentity_id = Lens.lens (\GroupIdentity' {id} -> id) (\s@GroupIdentity' {} a -> s {id = a} :: GroupIdentity)++instance Data.FromJSON GroupIdentity where+ parseJSON =+ Data.withObject+ "GroupIdentity"+ (\x -> GroupIdentity' Prelude.<$> (x Data..: "id"))++instance Prelude.Hashable GroupIdentity where+ hashWithSalt _salt GroupIdentity' {..} =+ _salt `Prelude.hashWithSalt` id++instance Prelude.NFData GroupIdentity where+ rnf GroupIdentity' {..} = Prelude.rnf id++instance Data.ToJSON GroupIdentity where+ toJSON GroupIdentity' {..} =+ Data.object+ (Prelude.catMaybes [Prelude.Just ("id" Data..= id)])
+ gen/Amazonka/IoTSiteWise/Types/IAMRoleIdentity.hs view
@@ -0,0 +1,85 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.IAMRoleIdentity+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.IAMRoleIdentity where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Contains information about an Identity and Access Management role. For+-- more information, see+-- <https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html IAM roles>+-- in the /IAM User Guide/.+--+-- /See:/ 'newIAMRoleIdentity' smart constructor.+data IAMRoleIdentity = IAMRoleIdentity'+ { -- | The ARN of the IAM role. For more information, see+ -- <https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html IAM ARNs>+ -- in the /IAM User Guide/.+ arn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'IAMRoleIdentity' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'iAMRoleIdentity_arn' - The ARN of the IAM role. For more information, see+-- <https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html IAM ARNs>+-- in the /IAM User Guide/.+newIAMRoleIdentity ::+ -- | 'arn'+ Prelude.Text ->+ IAMRoleIdentity+newIAMRoleIdentity pArn_ =+ IAMRoleIdentity' {arn = pArn_}++-- | The ARN of the IAM role. For more information, see+-- <https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html IAM ARNs>+-- in the /IAM User Guide/.+iAMRoleIdentity_arn :: Lens.Lens' IAMRoleIdentity Prelude.Text+iAMRoleIdentity_arn = Lens.lens (\IAMRoleIdentity' {arn} -> arn) (\s@IAMRoleIdentity' {} a -> s {arn = a} :: IAMRoleIdentity)++instance Data.FromJSON IAMRoleIdentity where+ parseJSON =+ Data.withObject+ "IAMRoleIdentity"+ ( \x ->+ IAMRoleIdentity' Prelude.<$> (x Data..: "arn")+ )++instance Prelude.Hashable IAMRoleIdentity where+ hashWithSalt _salt IAMRoleIdentity' {..} =+ _salt `Prelude.hashWithSalt` arn++instance Prelude.NFData IAMRoleIdentity where+ rnf IAMRoleIdentity' {..} = Prelude.rnf arn++instance Data.ToJSON IAMRoleIdentity where+ toJSON IAMRoleIdentity' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("arn" Data..= arn)]+ )
+ gen/Amazonka/IoTSiteWise/Types/IAMUserIdentity.hs view
@@ -0,0 +1,94 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.IAMUserIdentity+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.IAMUserIdentity where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Contains information about an Identity and Access Management user.+--+-- /See:/ 'newIAMUserIdentity' smart constructor.+data IAMUserIdentity = IAMUserIdentity'+ { -- | The ARN of the IAM user. For more information, see+ -- <https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html 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.+ arn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'IAMUserIdentity' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'iAMUserIdentity_arn' - The ARN of the IAM user. For more information, see+-- <https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html 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.+newIAMUserIdentity ::+ -- | 'arn'+ Prelude.Text ->+ IAMUserIdentity+newIAMUserIdentity pArn_ =+ IAMUserIdentity' {arn = pArn_}++-- | The ARN of the IAM user. For more information, see+-- <https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html 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.+iAMUserIdentity_arn :: Lens.Lens' IAMUserIdentity Prelude.Text+iAMUserIdentity_arn = Lens.lens (\IAMUserIdentity' {arn} -> arn) (\s@IAMUserIdentity' {} a -> s {arn = a} :: IAMUserIdentity)++instance Data.FromJSON IAMUserIdentity where+ parseJSON =+ Data.withObject+ "IAMUserIdentity"+ ( \x ->+ IAMUserIdentity' Prelude.<$> (x Data..: "arn")+ )++instance Prelude.Hashable IAMUserIdentity where+ hashWithSalt _salt IAMUserIdentity' {..} =+ _salt `Prelude.hashWithSalt` arn++instance Prelude.NFData IAMUserIdentity where+ rnf IAMUserIdentity' {..} = Prelude.rnf arn++instance Data.ToJSON IAMUserIdentity where+ toJSON IAMUserIdentity' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("arn" Data..= arn)]+ )
+ gen/Amazonka/IoTSiteWise/Types/Identity.hs view
@@ -0,0 +1,128 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.Identity+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.Identity where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.GroupIdentity+import Amazonka.IoTSiteWise.Types.IAMRoleIdentity+import Amazonka.IoTSiteWise.Types.IAMUserIdentity+import Amazonka.IoTSiteWise.Types.UserIdentity+import qualified Amazonka.Prelude as Prelude++-- | 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+-- <https://console.aws.amazon.com/singlesignon IAM Identity Center console>.+--+-- /See:/ 'newIdentity' smart constructor.+data Identity = Identity'+ { -- | An IAM Identity Center group identity.+ group' :: Prelude.Maybe GroupIdentity,+ -- | An IAM role identity.+ iamRole :: Prelude.Maybe IAMRoleIdentity,+ -- | An IAM user identity.+ iamUser :: Prelude.Maybe IAMUserIdentity,+ -- | An IAM Identity Center user identity.+ user :: Prelude.Maybe UserIdentity+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Identity' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'group'', 'identity_group' - An IAM Identity Center group identity.+--+-- 'iamRole', 'identity_iamRole' - An IAM role identity.+--+-- 'iamUser', 'identity_iamUser' - An IAM user identity.+--+-- 'user', 'identity_user' - An IAM Identity Center user identity.+newIdentity ::+ Identity+newIdentity =+ Identity'+ { group' = Prelude.Nothing,+ iamRole = Prelude.Nothing,+ iamUser = Prelude.Nothing,+ user = Prelude.Nothing+ }++-- | An IAM Identity Center group identity.+identity_group :: Lens.Lens' Identity (Prelude.Maybe GroupIdentity)+identity_group = Lens.lens (\Identity' {group'} -> group') (\s@Identity' {} a -> s {group' = a} :: Identity)++-- | An IAM role identity.+identity_iamRole :: Lens.Lens' Identity (Prelude.Maybe IAMRoleIdentity)+identity_iamRole = Lens.lens (\Identity' {iamRole} -> iamRole) (\s@Identity' {} a -> s {iamRole = a} :: Identity)++-- | An IAM user identity.+identity_iamUser :: Lens.Lens' Identity (Prelude.Maybe IAMUserIdentity)+identity_iamUser = Lens.lens (\Identity' {iamUser} -> iamUser) (\s@Identity' {} a -> s {iamUser = a} :: Identity)++-- | An IAM Identity Center user identity.+identity_user :: Lens.Lens' Identity (Prelude.Maybe UserIdentity)+identity_user = Lens.lens (\Identity' {user} -> user) (\s@Identity' {} a -> s {user = a} :: Identity)++instance Data.FromJSON Identity where+ parseJSON =+ Data.withObject+ "Identity"+ ( \x ->+ Identity'+ Prelude.<$> (x Data..:? "group")+ Prelude.<*> (x Data..:? "iamRole")+ Prelude.<*> (x Data..:? "iamUser")+ Prelude.<*> (x Data..:? "user")+ )++instance Prelude.Hashable Identity where+ hashWithSalt _salt Identity' {..} =+ _salt+ `Prelude.hashWithSalt` group'+ `Prelude.hashWithSalt` iamRole+ `Prelude.hashWithSalt` iamUser+ `Prelude.hashWithSalt` user++instance Prelude.NFData Identity where+ rnf Identity' {..} =+ Prelude.rnf group'+ `Prelude.seq` Prelude.rnf iamRole+ `Prelude.seq` Prelude.rnf iamUser+ `Prelude.seq` Prelude.rnf user++instance Data.ToJSON Identity where+ toJSON Identity' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("group" Data..=) Prelude.<$> group',+ ("iamRole" Data..=) Prelude.<$> iamRole,+ ("iamUser" Data..=) Prelude.<$> iamUser,+ ("user" Data..=) Prelude.<$> user+ ]+ )
+ gen/Amazonka/IoTSiteWise/Types/IdentityType.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.IdentityType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.IdentityType+ ( IdentityType+ ( ..,+ IdentityType_GROUP,+ IdentityType_IAM,+ IdentityType_USER+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype IdentityType = IdentityType'+ { fromIdentityType ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern IdentityType_GROUP :: IdentityType+pattern IdentityType_GROUP = IdentityType' "GROUP"++pattern IdentityType_IAM :: IdentityType+pattern IdentityType_IAM = IdentityType' "IAM"++pattern IdentityType_USER :: IdentityType+pattern IdentityType_USER = IdentityType' "USER"++{-# COMPLETE+ IdentityType_GROUP,+ IdentityType_IAM,+ IdentityType_USER,+ IdentityType'+ #-}
+ gen/Amazonka/IoTSiteWise/Types/Image.hs view
@@ -0,0 +1,90 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.Image+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.Image where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.ImageFile+import qualified Amazonka.Prelude as Prelude++-- | 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.+--+-- /See:/ 'newImage' smart constructor.+data Image = Image'+ { file :: Prelude.Maybe ImageFile,+ -- | The ID of an existing image. Specify this parameter to keep an existing+ -- image.+ id :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Image' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'file', 'image_file' - Undocumented member.+--+-- 'id', 'image_id' - The ID of an existing image. Specify this parameter to keep an existing+-- image.+newImage ::+ Image+newImage =+ Image'+ { file = Prelude.Nothing,+ id = Prelude.Nothing+ }++-- | Undocumented member.+image_file :: Lens.Lens' Image (Prelude.Maybe ImageFile)+image_file = Lens.lens (\Image' {file} -> file) (\s@Image' {} a -> s {file = a} :: Image)++-- | The ID of an existing image. Specify this parameter to keep an existing+-- image.+image_id :: Lens.Lens' Image (Prelude.Maybe Prelude.Text)+image_id = Lens.lens (\Image' {id} -> id) (\s@Image' {} a -> s {id = a} :: Image)++instance Prelude.Hashable Image where+ hashWithSalt _salt Image' {..} =+ _salt+ `Prelude.hashWithSalt` file+ `Prelude.hashWithSalt` id++instance Prelude.NFData Image where+ rnf Image' {..} =+ Prelude.rnf file `Prelude.seq` Prelude.rnf id++instance Data.ToJSON Image where+ toJSON Image' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("file" Data..=) Prelude.<$> file,+ ("id" Data..=) Prelude.<$> id+ ]+ )
+ gen/Amazonka/IoTSiteWise/Types/ImageFile.hs view
@@ -0,0 +1,98 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.ImageFile+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.ImageFile where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.ImageFileType+import qualified Amazonka.Prelude as Prelude++-- | Contains an image file.+--+-- /See:/ 'newImageFile' smart constructor.+data ImageFile = ImageFile'+ { -- | The image file contents, represented as a base64-encoded string. The+ -- file size must be less than 1 MB.+ data' :: Data.Base64,+ -- | The file type of the image.+ type' :: ImageFileType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ImageFile' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'data'', 'imageFile_data' - The image file contents, represented as a base64-encoded string. The+-- file size must be less than 1 MB.--+-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.+-- -- The underlying isomorphism will encode to Base64 representation during+-- -- serialisation, and decode from Base64 representation during deserialisation.+-- -- This 'Lens' accepts and returns only raw unencoded data.+--+-- 'type'', 'imageFile_type' - The file type of the image.+newImageFile ::+ -- | 'data''+ Prelude.ByteString ->+ -- | 'type''+ ImageFileType ->+ ImageFile+newImageFile pData_ pType_ =+ ImageFile'+ { data' = Data._Base64 Lens.# pData_,+ type' = pType_+ }++-- | The image file contents, represented as a base64-encoded string. The+-- file size must be less than 1 MB.--+-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.+-- -- The underlying isomorphism will encode to Base64 representation during+-- -- serialisation, and decode from Base64 representation during deserialisation.+-- -- This 'Lens' accepts and returns only raw unencoded data.+imageFile_data :: Lens.Lens' ImageFile Prelude.ByteString+imageFile_data = Lens.lens (\ImageFile' {data'} -> data') (\s@ImageFile' {} a -> s {data' = a} :: ImageFile) Prelude.. Data._Base64++-- | The file type of the image.+imageFile_type :: Lens.Lens' ImageFile ImageFileType+imageFile_type = Lens.lens (\ImageFile' {type'} -> type') (\s@ImageFile' {} a -> s {type' = a} :: ImageFile)++instance Prelude.Hashable ImageFile where+ hashWithSalt _salt ImageFile' {..} =+ _salt+ `Prelude.hashWithSalt` data'+ `Prelude.hashWithSalt` type'++instance Prelude.NFData ImageFile where+ rnf ImageFile' {..} =+ Prelude.rnf data' `Prelude.seq` Prelude.rnf type'++instance Data.ToJSON ImageFile where+ toJSON ImageFile' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("data" Data..= data'),+ Prelude.Just ("type" Data..= type')+ ]+ )
+ gen/Amazonka/IoTSiteWise/Types/ImageFileType.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.ImageFileType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.ImageFileType+ ( ImageFileType+ ( ..,+ ImageFileType_PNG+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ImageFileType = ImageFileType'+ { fromImageFileType ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern ImageFileType_PNG :: ImageFileType+pattern ImageFileType_PNG = ImageFileType' "PNG"++{-# COMPLETE+ ImageFileType_PNG,+ ImageFileType'+ #-}
+ gen/Amazonka/IoTSiteWise/Types/ImageLocation.hs view
@@ -0,0 +1,88 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.ImageLocation+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.ImageLocation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Contains an image that is uploaded to IoT SiteWise and available at a+-- URL.+--+-- /See:/ 'newImageLocation' smart constructor.+data ImageLocation = ImageLocation'+ { -- | The ID of the image.+ id :: Prelude.Text,+ -- | The URL where the image is available. The URL is valid for 15 minutes so+ -- that you can view and download the image+ url :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ImageLocation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'imageLocation_id' - The ID of the image.+--+-- 'url', 'imageLocation_url' - The URL where the image is available. The URL is valid for 15 minutes so+-- that you can view and download the image+newImageLocation ::+ -- | 'id'+ Prelude.Text ->+ -- | 'url'+ Prelude.Text ->+ ImageLocation+newImageLocation pId_ pUrl_ =+ ImageLocation' {id = pId_, url = pUrl_}++-- | The ID of the image.+imageLocation_id :: Lens.Lens' ImageLocation Prelude.Text+imageLocation_id = Lens.lens (\ImageLocation' {id} -> id) (\s@ImageLocation' {} a -> s {id = a} :: ImageLocation)++-- | The URL where the image is available. The URL is valid for 15 minutes so+-- that you can view and download the image+imageLocation_url :: Lens.Lens' ImageLocation Prelude.Text+imageLocation_url = Lens.lens (\ImageLocation' {url} -> url) (\s@ImageLocation' {} a -> s {url = a} :: ImageLocation)++instance Data.FromJSON ImageLocation where+ parseJSON =+ Data.withObject+ "ImageLocation"+ ( \x ->+ ImageLocation'+ Prelude.<$> (x Data..: "id")+ Prelude.<*> (x Data..: "url")+ )++instance Prelude.Hashable ImageLocation where+ hashWithSalt _salt ImageLocation' {..} =+ _salt+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` url++instance Prelude.NFData ImageLocation where+ rnf ImageLocation' {..} =+ Prelude.rnf id `Prelude.seq` Prelude.rnf url
+ gen/Amazonka/IoTSiteWise/Types/InterpolatedAssetPropertyValue.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.InterpolatedAssetPropertyValue+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.InterpolatedAssetPropertyValue where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.TimeInNanos+import Amazonka.IoTSiteWise.Types.Variant+import qualified Amazonka.Prelude as Prelude++-- | Contains information about an interpolated asset property value.+--+-- /See:/ 'newInterpolatedAssetPropertyValue' smart constructor.+data InterpolatedAssetPropertyValue = InterpolatedAssetPropertyValue'+ { timestamp :: TimeInNanos,+ value :: Variant+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'InterpolatedAssetPropertyValue' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'timestamp', 'interpolatedAssetPropertyValue_timestamp' - Undocumented member.+--+-- 'value', 'interpolatedAssetPropertyValue_value' - Undocumented member.+newInterpolatedAssetPropertyValue ::+ -- | 'timestamp'+ TimeInNanos ->+ -- | 'value'+ Variant ->+ InterpolatedAssetPropertyValue+newInterpolatedAssetPropertyValue pTimestamp_ pValue_ =+ InterpolatedAssetPropertyValue'+ { timestamp =+ pTimestamp_,+ value = pValue_+ }++-- | Undocumented member.+interpolatedAssetPropertyValue_timestamp :: Lens.Lens' InterpolatedAssetPropertyValue TimeInNanos+interpolatedAssetPropertyValue_timestamp = Lens.lens (\InterpolatedAssetPropertyValue' {timestamp} -> timestamp) (\s@InterpolatedAssetPropertyValue' {} a -> s {timestamp = a} :: InterpolatedAssetPropertyValue)++-- | Undocumented member.+interpolatedAssetPropertyValue_value :: Lens.Lens' InterpolatedAssetPropertyValue Variant+interpolatedAssetPropertyValue_value = Lens.lens (\InterpolatedAssetPropertyValue' {value} -> value) (\s@InterpolatedAssetPropertyValue' {} a -> s {value = a} :: InterpolatedAssetPropertyValue)++instance Data.FromJSON InterpolatedAssetPropertyValue where+ parseJSON =+ Data.withObject+ "InterpolatedAssetPropertyValue"+ ( \x ->+ InterpolatedAssetPropertyValue'+ Prelude.<$> (x Data..: "timestamp")+ Prelude.<*> (x Data..: "value")+ )++instance+ Prelude.Hashable+ InterpolatedAssetPropertyValue+ where+ hashWithSalt+ _salt+ InterpolatedAssetPropertyValue' {..} =+ _salt+ `Prelude.hashWithSalt` timestamp+ `Prelude.hashWithSalt` value++instance+ Prelude.NFData+ InterpolatedAssetPropertyValue+ where+ rnf InterpolatedAssetPropertyValue' {..} =+ Prelude.rnf timestamp+ `Prelude.seq` Prelude.rnf value
+ gen/Amazonka/IoTSiteWise/Types/JobConfiguration.hs view
@@ -0,0 +1,79 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.JobConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.JobConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.FileFormat+import qualified Amazonka.Prelude as Prelude++-- | Contains the configuration information of a job, such as the file format+-- used to save data in Amazon S3.+--+-- /See:/ 'newJobConfiguration' smart constructor.+data JobConfiguration = JobConfiguration'+ { -- | The file format of the data in Amazon S3.+ fileFormat :: FileFormat+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'JobConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fileFormat', 'jobConfiguration_fileFormat' - The file format of the data in Amazon S3.+newJobConfiguration ::+ -- | 'fileFormat'+ FileFormat ->+ JobConfiguration+newJobConfiguration pFileFormat_ =+ JobConfiguration' {fileFormat = pFileFormat_}++-- | The file format of the data in Amazon S3.+jobConfiguration_fileFormat :: Lens.Lens' JobConfiguration FileFormat+jobConfiguration_fileFormat = Lens.lens (\JobConfiguration' {fileFormat} -> fileFormat) (\s@JobConfiguration' {} a -> s {fileFormat = a} :: JobConfiguration)++instance Data.FromJSON JobConfiguration where+ parseJSON =+ Data.withObject+ "JobConfiguration"+ ( \x ->+ JobConfiguration'+ Prelude.<$> (x Data..: "fileFormat")+ )++instance Prelude.Hashable JobConfiguration where+ hashWithSalt _salt JobConfiguration' {..} =+ _salt `Prelude.hashWithSalt` fileFormat++instance Prelude.NFData JobConfiguration where+ rnf JobConfiguration' {..} = Prelude.rnf fileFormat++instance Data.ToJSON JobConfiguration where+ toJSON JobConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("fileFormat" Data..= fileFormat)]+ )
+ gen/Amazonka/IoTSiteWise/Types/JobStatus.hs view
@@ -0,0 +1,91 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.JobStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.JobStatus+ ( JobStatus+ ( ..,+ JobStatus_CANCELLED,+ JobStatus_COMPLETED,+ JobStatus_COMPLETED_WITH_FAILURES,+ JobStatus_FAILED,+ JobStatus_PENDING,+ JobStatus_RUNNING+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype JobStatus = JobStatus'+ { fromJobStatus ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern JobStatus_CANCELLED :: JobStatus+pattern JobStatus_CANCELLED = JobStatus' "CANCELLED"++pattern JobStatus_COMPLETED :: JobStatus+pattern JobStatus_COMPLETED = JobStatus' "COMPLETED"++pattern JobStatus_COMPLETED_WITH_FAILURES :: JobStatus+pattern JobStatus_COMPLETED_WITH_FAILURES = JobStatus' "COMPLETED_WITH_FAILURES"++pattern JobStatus_FAILED :: JobStatus+pattern JobStatus_FAILED = JobStatus' "FAILED"++pattern JobStatus_PENDING :: JobStatus+pattern JobStatus_PENDING = JobStatus' "PENDING"++pattern JobStatus_RUNNING :: JobStatus+pattern JobStatus_RUNNING = JobStatus' "RUNNING"++{-# COMPLETE+ JobStatus_CANCELLED,+ JobStatus_COMPLETED,+ JobStatus_COMPLETED_WITH_FAILURES,+ JobStatus_FAILED,+ JobStatus_PENDING,+ JobStatus_RUNNING,+ JobStatus'+ #-}
+ gen/Amazonka/IoTSiteWise/Types/JobSummary.hs view
@@ -0,0 +1,163 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.JobSummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.JobSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.JobStatus+import qualified Amazonka.Prelude as Prelude++-- | Contains a job summary information.+--+-- /See:/ 'newJobSummary' smart constructor.+data JobSummary = JobSummary'+ { -- | The ID of the job.+ id :: Prelude.Text,+ -- | The unique name that helps identify the job request.+ name :: Prelude.Text,+ -- | 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.+ status :: JobStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'JobSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'jobSummary_id' - The ID of the job.+--+-- 'name', 'jobSummary_name' - The unique name that helps identify the job request.+--+-- 'status', 'jobSummary_status' - 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.+newJobSummary ::+ -- | 'id'+ Prelude.Text ->+ -- | 'name'+ Prelude.Text ->+ -- | 'status'+ JobStatus ->+ JobSummary+newJobSummary pId_ pName_ pStatus_ =+ JobSummary'+ { id = pId_,+ name = pName_,+ status = pStatus_+ }++-- | The ID of the job.+jobSummary_id :: Lens.Lens' JobSummary Prelude.Text+jobSummary_id = Lens.lens (\JobSummary' {id} -> id) (\s@JobSummary' {} a -> s {id = a} :: JobSummary)++-- | The unique name that helps identify the job request.+jobSummary_name :: Lens.Lens' JobSummary Prelude.Text+jobSummary_name = Lens.lens (\JobSummary' {name} -> name) (\s@JobSummary' {} a -> s {name = a} :: JobSummary)++-- | 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.+jobSummary_status :: Lens.Lens' JobSummary JobStatus+jobSummary_status = Lens.lens (\JobSummary' {status} -> status) (\s@JobSummary' {} a -> s {status = a} :: JobSummary)++instance Data.FromJSON JobSummary where+ parseJSON =+ Data.withObject+ "JobSummary"+ ( \x ->+ JobSummary'+ Prelude.<$> (x Data..: "id")+ Prelude.<*> (x Data..: "name")+ Prelude.<*> (x Data..: "status")+ )++instance Prelude.Hashable JobSummary where+ hashWithSalt _salt JobSummary' {..} =+ _salt+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` status++instance Prelude.NFData JobSummary where+ rnf JobSummary' {..} =+ Prelude.rnf id+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/IoTSiteWise/Types/ListAssetModelPropertiesFilter.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.ListAssetModelPropertiesFilter+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.ListAssetModelPropertiesFilter+ ( ListAssetModelPropertiesFilter+ ( ..,+ ListAssetModelPropertiesFilter_ALL,+ ListAssetModelPropertiesFilter_BASE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ListAssetModelPropertiesFilter = ListAssetModelPropertiesFilter'+ { fromListAssetModelPropertiesFilter ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern ListAssetModelPropertiesFilter_ALL :: ListAssetModelPropertiesFilter+pattern ListAssetModelPropertiesFilter_ALL = ListAssetModelPropertiesFilter' "ALL"++pattern ListAssetModelPropertiesFilter_BASE :: ListAssetModelPropertiesFilter+pattern ListAssetModelPropertiesFilter_BASE = ListAssetModelPropertiesFilter' "BASE"++{-# COMPLETE+ ListAssetModelPropertiesFilter_ALL,+ ListAssetModelPropertiesFilter_BASE,+ ListAssetModelPropertiesFilter'+ #-}
+ gen/Amazonka/IoTSiteWise/Types/ListAssetPropertiesFilter.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.ListAssetPropertiesFilter+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.ListAssetPropertiesFilter+ ( ListAssetPropertiesFilter+ ( ..,+ ListAssetPropertiesFilter_ALL,+ ListAssetPropertiesFilter_BASE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ListAssetPropertiesFilter = ListAssetPropertiesFilter'+ { fromListAssetPropertiesFilter ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern ListAssetPropertiesFilter_ALL :: ListAssetPropertiesFilter+pattern ListAssetPropertiesFilter_ALL = ListAssetPropertiesFilter' "ALL"++pattern ListAssetPropertiesFilter_BASE :: ListAssetPropertiesFilter+pattern ListAssetPropertiesFilter_BASE = ListAssetPropertiesFilter' "BASE"++{-# COMPLETE+ ListAssetPropertiesFilter_ALL,+ ListAssetPropertiesFilter_BASE,+ ListAssetPropertiesFilter'+ #-}
+ gen/Amazonka/IoTSiteWise/Types/ListAssetsFilter.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.ListAssetsFilter+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.ListAssetsFilter+ ( ListAssetsFilter+ ( ..,+ ListAssetsFilter_ALL,+ ListAssetsFilter_TOP_LEVEL+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ListAssetsFilter = ListAssetsFilter'+ { fromListAssetsFilter ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern ListAssetsFilter_ALL :: ListAssetsFilter+pattern ListAssetsFilter_ALL = ListAssetsFilter' "ALL"++pattern ListAssetsFilter_TOP_LEVEL :: ListAssetsFilter+pattern ListAssetsFilter_TOP_LEVEL = ListAssetsFilter' "TOP_LEVEL"++{-# COMPLETE+ ListAssetsFilter_ALL,+ ListAssetsFilter_TOP_LEVEL,+ ListAssetsFilter'+ #-}
+ gen/Amazonka/IoTSiteWise/Types/ListBulkImportJobsFilter.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.ListBulkImportJobsFilter+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.ListBulkImportJobsFilter+ ( ListBulkImportJobsFilter+ ( ..,+ ListBulkImportJobsFilter_ALL,+ ListBulkImportJobsFilter_CANCELLED,+ ListBulkImportJobsFilter_COMPLETED,+ ListBulkImportJobsFilter_COMPLETED_WITH_FAILURES,+ ListBulkImportJobsFilter_FAILED,+ ListBulkImportJobsFilter_PENDING,+ ListBulkImportJobsFilter_RUNNING+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ListBulkImportJobsFilter = ListBulkImportJobsFilter'+ { fromListBulkImportJobsFilter ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern ListBulkImportJobsFilter_ALL :: ListBulkImportJobsFilter+pattern ListBulkImportJobsFilter_ALL = ListBulkImportJobsFilter' "ALL"++pattern ListBulkImportJobsFilter_CANCELLED :: ListBulkImportJobsFilter+pattern ListBulkImportJobsFilter_CANCELLED = ListBulkImportJobsFilter' "CANCELLED"++pattern ListBulkImportJobsFilter_COMPLETED :: ListBulkImportJobsFilter+pattern ListBulkImportJobsFilter_COMPLETED = ListBulkImportJobsFilter' "COMPLETED"++pattern ListBulkImportJobsFilter_COMPLETED_WITH_FAILURES :: ListBulkImportJobsFilter+pattern ListBulkImportJobsFilter_COMPLETED_WITH_FAILURES = ListBulkImportJobsFilter' "COMPLETED_WITH_FAILURES"++pattern ListBulkImportJobsFilter_FAILED :: ListBulkImportJobsFilter+pattern ListBulkImportJobsFilter_FAILED = ListBulkImportJobsFilter' "FAILED"++pattern ListBulkImportJobsFilter_PENDING :: ListBulkImportJobsFilter+pattern ListBulkImportJobsFilter_PENDING = ListBulkImportJobsFilter' "PENDING"++pattern ListBulkImportJobsFilter_RUNNING :: ListBulkImportJobsFilter+pattern ListBulkImportJobsFilter_RUNNING = ListBulkImportJobsFilter' "RUNNING"++{-# COMPLETE+ ListBulkImportJobsFilter_ALL,+ ListBulkImportJobsFilter_CANCELLED,+ ListBulkImportJobsFilter_COMPLETED,+ ListBulkImportJobsFilter_COMPLETED_WITH_FAILURES,+ ListBulkImportJobsFilter_FAILED,+ ListBulkImportJobsFilter_PENDING,+ ListBulkImportJobsFilter_RUNNING,+ ListBulkImportJobsFilter'+ #-}
+ gen/Amazonka/IoTSiteWise/Types/ListTimeSeriesType.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.ListTimeSeriesType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.ListTimeSeriesType+ ( ListTimeSeriesType+ ( ..,+ ListTimeSeriesType_ASSOCIATED,+ ListTimeSeriesType_DISASSOCIATED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ListTimeSeriesType = ListTimeSeriesType'+ { fromListTimeSeriesType ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern ListTimeSeriesType_ASSOCIATED :: ListTimeSeriesType+pattern ListTimeSeriesType_ASSOCIATED = ListTimeSeriesType' "ASSOCIATED"++pattern ListTimeSeriesType_DISASSOCIATED :: ListTimeSeriesType+pattern ListTimeSeriesType_DISASSOCIATED = ListTimeSeriesType' "DISASSOCIATED"++{-# COMPLETE+ ListTimeSeriesType_ASSOCIATED,+ ListTimeSeriesType_DISASSOCIATED,+ ListTimeSeriesType'+ #-}
+ gen/Amazonka/IoTSiteWise/Types/LoggingLevel.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.LoggingLevel+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.LoggingLevel+ ( LoggingLevel+ ( ..,+ LoggingLevel_ERROR,+ LoggingLevel_INFO,+ LoggingLevel_OFF+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype LoggingLevel = LoggingLevel'+ { fromLoggingLevel ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern LoggingLevel_ERROR :: LoggingLevel+pattern LoggingLevel_ERROR = LoggingLevel' "ERROR"++pattern LoggingLevel_INFO :: LoggingLevel+pattern LoggingLevel_INFO = LoggingLevel' "INFO"++pattern LoggingLevel_OFF :: LoggingLevel+pattern LoggingLevel_OFF = LoggingLevel' "OFF"++{-# COMPLETE+ LoggingLevel_ERROR,+ LoggingLevel_INFO,+ LoggingLevel_OFF,+ LoggingLevel'+ #-}
+ gen/Amazonka/IoTSiteWise/Types/LoggingOptions.hs view
@@ -0,0 +1,77 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.LoggingOptions+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.LoggingOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.LoggingLevel+import qualified Amazonka.Prelude as Prelude++-- | Contains logging options.+--+-- /See:/ 'newLoggingOptions' smart constructor.+data LoggingOptions = LoggingOptions'+ { -- | The IoT SiteWise logging verbosity level.+ level :: LoggingLevel+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LoggingOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'level', 'loggingOptions_level' - The IoT SiteWise logging verbosity level.+newLoggingOptions ::+ -- | 'level'+ LoggingLevel ->+ LoggingOptions+newLoggingOptions pLevel_ =+ LoggingOptions' {level = pLevel_}++-- | The IoT SiteWise logging verbosity level.+loggingOptions_level :: Lens.Lens' LoggingOptions LoggingLevel+loggingOptions_level = Lens.lens (\LoggingOptions' {level} -> level) (\s@LoggingOptions' {} a -> s {level = a} :: LoggingOptions)++instance Data.FromJSON LoggingOptions where+ parseJSON =+ Data.withObject+ "LoggingOptions"+ ( \x ->+ LoggingOptions' Prelude.<$> (x Data..: "level")+ )++instance Prelude.Hashable LoggingOptions where+ hashWithSalt _salt LoggingOptions' {..} =+ _salt `Prelude.hashWithSalt` level++instance Prelude.NFData LoggingOptions where+ rnf LoggingOptions' {..} = Prelude.rnf level++instance Data.ToJSON LoggingOptions where+ toJSON LoggingOptions' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("level" Data..= level)]+ )
+ gen/Amazonka/IoTSiteWise/Types/Measurement.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.Measurement+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.Measurement where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.MeasurementProcessingConfig+import qualified Amazonka.Prelude as Prelude++-- | Contains an asset measurement property. For more information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-properties.html#measurements Measurements>+-- in the /IoT SiteWise User Guide/.+--+-- /See:/ 'newMeasurement' smart constructor.+data Measurement = 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 :: Prelude.Maybe MeasurementProcessingConfig+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Measurement' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'processingConfig', 'measurement_processingConfig' - 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.+newMeasurement ::+ Measurement+newMeasurement =+ Measurement' {processingConfig = Prelude.Nothing}++-- | 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.+measurement_processingConfig :: Lens.Lens' Measurement (Prelude.Maybe MeasurementProcessingConfig)+measurement_processingConfig = Lens.lens (\Measurement' {processingConfig} -> processingConfig) (\s@Measurement' {} a -> s {processingConfig = a} :: Measurement)++instance Data.FromJSON Measurement where+ parseJSON =+ Data.withObject+ "Measurement"+ ( \x ->+ Measurement'+ Prelude.<$> (x Data..:? "processingConfig")+ )++instance Prelude.Hashable Measurement where+ hashWithSalt _salt Measurement' {..} =+ _salt `Prelude.hashWithSalt` processingConfig++instance Prelude.NFData Measurement where+ rnf Measurement' {..} = Prelude.rnf processingConfig++instance Data.ToJSON Measurement where+ toJSON Measurement' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("processingConfig" Data..=)+ Prelude.<$> processingConfig+ ]+ )
+ gen/Amazonka/IoTSiteWise/Types/MeasurementProcessingConfig.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.MeasurementProcessingConfig+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.MeasurementProcessingConfig where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.ForwardingConfig+import qualified Amazonka.Prelude as Prelude++-- | 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.+--+-- /See:/ 'newMeasurementProcessingConfig' smart constructor.+data MeasurementProcessingConfig = MeasurementProcessingConfig'+ { -- | The forwarding configuration for the given measurement property.+ forwardingConfig :: ForwardingConfig+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MeasurementProcessingConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'forwardingConfig', 'measurementProcessingConfig_forwardingConfig' - The forwarding configuration for the given measurement property.+newMeasurementProcessingConfig ::+ -- | 'forwardingConfig'+ ForwardingConfig ->+ MeasurementProcessingConfig+newMeasurementProcessingConfig pForwardingConfig_ =+ MeasurementProcessingConfig'+ { forwardingConfig =+ pForwardingConfig_+ }++-- | The forwarding configuration for the given measurement property.+measurementProcessingConfig_forwardingConfig :: Lens.Lens' MeasurementProcessingConfig ForwardingConfig+measurementProcessingConfig_forwardingConfig = Lens.lens (\MeasurementProcessingConfig' {forwardingConfig} -> forwardingConfig) (\s@MeasurementProcessingConfig' {} a -> s {forwardingConfig = a} :: MeasurementProcessingConfig)++instance Data.FromJSON MeasurementProcessingConfig where+ parseJSON =+ Data.withObject+ "MeasurementProcessingConfig"+ ( \x ->+ MeasurementProcessingConfig'+ Prelude.<$> (x Data..: "forwardingConfig")+ )++instance Prelude.Hashable MeasurementProcessingConfig where+ hashWithSalt _salt MeasurementProcessingConfig' {..} =+ _salt `Prelude.hashWithSalt` forwardingConfig++instance Prelude.NFData MeasurementProcessingConfig where+ rnf MeasurementProcessingConfig' {..} =+ Prelude.rnf forwardingConfig++instance Data.ToJSON MeasurementProcessingConfig where+ toJSON MeasurementProcessingConfig' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("forwardingConfig" Data..= forwardingConfig)+ ]+ )
+ gen/Amazonka/IoTSiteWise/Types/Metric.hs view
@@ -0,0 +1,170 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.Metric+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.Metric where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.ExpressionVariable+import Amazonka.IoTSiteWise.Types.MetricProcessingConfig+import Amazonka.IoTSiteWise.Types.MetricWindow+import qualified Amazonka.Prelude as Prelude++-- | 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-properties.html#metrics Metrics>+-- in the /IoT SiteWise User Guide/.+--+-- /See:/ 'newMetric' smart constructor.+data Metric = Metric'+ { -- | 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 :: Prelude.Maybe MetricProcessingConfig,+ -- | 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+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html Quotas>+ -- in the /IoT SiteWise User Guide/.+ expression :: Prelude.Text,+ -- | The list of variables used in the expression.+ variables :: [ExpressionVariable],+ -- | The window (time interval) over which IoT SiteWise computes the+ -- metric\'s aggregation expression. IoT SiteWise computes one data point+ -- per @window@.+ window :: MetricWindow+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Metric' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'processingConfig', 'metric_processingConfig' - 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.+--+-- 'expression', 'metric_expression' - 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html Quotas>+-- in the /IoT SiteWise User Guide/.+--+-- 'variables', 'metric_variables' - The list of variables used in the expression.+--+-- 'window', 'metric_window' - The window (time interval) over which IoT SiteWise computes the+-- metric\'s aggregation expression. IoT SiteWise computes one data point+-- per @window@.+newMetric ::+ -- | 'expression'+ Prelude.Text ->+ -- | 'window'+ MetricWindow ->+ Metric+newMetric pExpression_ pWindow_ =+ Metric'+ { processingConfig = Prelude.Nothing,+ expression = pExpression_,+ variables = Prelude.mempty,+ window = pWindow_+ }++-- | 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.+metric_processingConfig :: Lens.Lens' Metric (Prelude.Maybe MetricProcessingConfig)+metric_processingConfig = Lens.lens (\Metric' {processingConfig} -> processingConfig) (\s@Metric' {} a -> s {processingConfig = a} :: 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html Quotas>+-- in the /IoT SiteWise User Guide/.+metric_expression :: Lens.Lens' Metric Prelude.Text+metric_expression = Lens.lens (\Metric' {expression} -> expression) (\s@Metric' {} a -> s {expression = a} :: Metric)++-- | The list of variables used in the expression.+metric_variables :: Lens.Lens' Metric [ExpressionVariable]+metric_variables = Lens.lens (\Metric' {variables} -> variables) (\s@Metric' {} a -> s {variables = a} :: Metric) Prelude.. Lens.coerced++-- | The window (time interval) over which IoT SiteWise computes the+-- metric\'s aggregation expression. IoT SiteWise computes one data point+-- per @window@.+metric_window :: Lens.Lens' Metric MetricWindow+metric_window = Lens.lens (\Metric' {window} -> window) (\s@Metric' {} a -> s {window = a} :: Metric)++instance Data.FromJSON Metric where+ parseJSON =+ Data.withObject+ "Metric"+ ( \x ->+ Metric'+ Prelude.<$> (x Data..:? "processingConfig")+ Prelude.<*> (x Data..: "expression")+ Prelude.<*> (x Data..:? "variables" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..: "window")+ )++instance Prelude.Hashable Metric where+ hashWithSalt _salt Metric' {..} =+ _salt+ `Prelude.hashWithSalt` processingConfig+ `Prelude.hashWithSalt` expression+ `Prelude.hashWithSalt` variables+ `Prelude.hashWithSalt` window++instance Prelude.NFData Metric where+ rnf Metric' {..} =+ Prelude.rnf processingConfig+ `Prelude.seq` Prelude.rnf expression+ `Prelude.seq` Prelude.rnf variables+ `Prelude.seq` Prelude.rnf window++instance Data.ToJSON Metric where+ toJSON Metric' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("processingConfig" Data..=)+ Prelude.<$> processingConfig,+ Prelude.Just ("expression" Data..= expression),+ Prelude.Just ("variables" Data..= variables),+ Prelude.Just ("window" Data..= window)+ ]+ )
+ gen/Amazonka/IoTSiteWise/Types/MetricProcessingConfig.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.MetricProcessingConfig+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.MetricProcessingConfig where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.ComputeLocation+import qualified Amazonka.Prelude as Prelude++-- | 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.+--+-- /See:/ 'newMetricProcessingConfig' smart constructor.+data MetricProcessingConfig = MetricProcessingConfig'+ { -- | The compute location for the given metric property.+ computeLocation :: ComputeLocation+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MetricProcessingConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'computeLocation', 'metricProcessingConfig_computeLocation' - The compute location for the given metric property.+newMetricProcessingConfig ::+ -- | 'computeLocation'+ ComputeLocation ->+ MetricProcessingConfig+newMetricProcessingConfig pComputeLocation_ =+ MetricProcessingConfig'+ { computeLocation =+ pComputeLocation_+ }++-- | The compute location for the given metric property.+metricProcessingConfig_computeLocation :: Lens.Lens' MetricProcessingConfig ComputeLocation+metricProcessingConfig_computeLocation = Lens.lens (\MetricProcessingConfig' {computeLocation} -> computeLocation) (\s@MetricProcessingConfig' {} a -> s {computeLocation = a} :: MetricProcessingConfig)++instance Data.FromJSON MetricProcessingConfig where+ parseJSON =+ Data.withObject+ "MetricProcessingConfig"+ ( \x ->+ MetricProcessingConfig'+ Prelude.<$> (x Data..: "computeLocation")+ )++instance Prelude.Hashable MetricProcessingConfig where+ hashWithSalt _salt MetricProcessingConfig' {..} =+ _salt `Prelude.hashWithSalt` computeLocation++instance Prelude.NFData MetricProcessingConfig where+ rnf MetricProcessingConfig' {..} =+ Prelude.rnf computeLocation++instance Data.ToJSON MetricProcessingConfig where+ toJSON MetricProcessingConfig' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("computeLocation" Data..= computeLocation)+ ]+ )
+ gen/Amazonka/IoTSiteWise/Types/MetricWindow.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.MetricWindow+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.MetricWindow where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.TumblingWindow+import qualified Amazonka.Prelude as Prelude++-- | Contains a time interval window used for data aggregate computations+-- (for example, average, sum, count, and so on).+--+-- /See:/ 'newMetricWindow' smart constructor.+data MetricWindow = MetricWindow'+ { -- | The tumbling time interval window.+ tumbling :: Prelude.Maybe TumblingWindow+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MetricWindow' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tumbling', 'metricWindow_tumbling' - The tumbling time interval window.+newMetricWindow ::+ MetricWindow+newMetricWindow =+ MetricWindow' {tumbling = Prelude.Nothing}++-- | The tumbling time interval window.+metricWindow_tumbling :: Lens.Lens' MetricWindow (Prelude.Maybe TumblingWindow)+metricWindow_tumbling = Lens.lens (\MetricWindow' {tumbling} -> tumbling) (\s@MetricWindow' {} a -> s {tumbling = a} :: MetricWindow)++instance Data.FromJSON MetricWindow where+ parseJSON =+ Data.withObject+ "MetricWindow"+ ( \x ->+ MetricWindow' Prelude.<$> (x Data..:? "tumbling")+ )++instance Prelude.Hashable MetricWindow where+ hashWithSalt _salt MetricWindow' {..} =+ _salt `Prelude.hashWithSalt` tumbling++instance Prelude.NFData MetricWindow where+ rnf MetricWindow' {..} = Prelude.rnf tumbling++instance Data.ToJSON MetricWindow where+ toJSON MetricWindow' {..} =+ Data.object+ ( Prelude.catMaybes+ [("tumbling" Data..=) Prelude.<$> tumbling]+ )
+ gen/Amazonka/IoTSiteWise/Types/MonitorErrorCode.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.MonitorErrorCode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.MonitorErrorCode+ ( MonitorErrorCode+ ( ..,+ MonitorErrorCode_INTERNAL_FAILURE,+ MonitorErrorCode_LIMIT_EXCEEDED,+ MonitorErrorCode_VALIDATION_ERROR+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype MonitorErrorCode = MonitorErrorCode'+ { fromMonitorErrorCode ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern MonitorErrorCode_INTERNAL_FAILURE :: MonitorErrorCode+pattern MonitorErrorCode_INTERNAL_FAILURE = MonitorErrorCode' "INTERNAL_FAILURE"++pattern MonitorErrorCode_LIMIT_EXCEEDED :: MonitorErrorCode+pattern MonitorErrorCode_LIMIT_EXCEEDED = MonitorErrorCode' "LIMIT_EXCEEDED"++pattern MonitorErrorCode_VALIDATION_ERROR :: MonitorErrorCode+pattern MonitorErrorCode_VALIDATION_ERROR = MonitorErrorCode' "VALIDATION_ERROR"++{-# COMPLETE+ MonitorErrorCode_INTERNAL_FAILURE,+ MonitorErrorCode_LIMIT_EXCEEDED,+ MonitorErrorCode_VALIDATION_ERROR,+ MonitorErrorCode'+ #-}
+ gen/Amazonka/IoTSiteWise/Types/MonitorErrorDetails.hs view
@@ -0,0 +1,84 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.MonitorErrorDetails+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.MonitorErrorDetails where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.MonitorErrorCode+import qualified Amazonka.Prelude as Prelude++-- | Contains IoT SiteWise Monitor error details.+--+-- /See:/ 'newMonitorErrorDetails' smart constructor.+data MonitorErrorDetails = MonitorErrorDetails'+ { -- | The error code.+ code :: Prelude.Maybe MonitorErrorCode,+ -- | The error message.+ message :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MonitorErrorDetails' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'code', 'monitorErrorDetails_code' - The error code.+--+-- 'message', 'monitorErrorDetails_message' - The error message.+newMonitorErrorDetails ::+ MonitorErrorDetails+newMonitorErrorDetails =+ MonitorErrorDetails'+ { code = Prelude.Nothing,+ message = Prelude.Nothing+ }++-- | The error code.+monitorErrorDetails_code :: Lens.Lens' MonitorErrorDetails (Prelude.Maybe MonitorErrorCode)+monitorErrorDetails_code = Lens.lens (\MonitorErrorDetails' {code} -> code) (\s@MonitorErrorDetails' {} a -> s {code = a} :: MonitorErrorDetails)++-- | The error message.+monitorErrorDetails_message :: Lens.Lens' MonitorErrorDetails (Prelude.Maybe Prelude.Text)+monitorErrorDetails_message = Lens.lens (\MonitorErrorDetails' {message} -> message) (\s@MonitorErrorDetails' {} a -> s {message = a} :: MonitorErrorDetails)++instance Data.FromJSON MonitorErrorDetails where+ parseJSON =+ Data.withObject+ "MonitorErrorDetails"+ ( \x ->+ MonitorErrorDetails'+ Prelude.<$> (x Data..:? "code")+ Prelude.<*> (x Data..:? "message")+ )++instance Prelude.Hashable MonitorErrorDetails where+ hashWithSalt _salt MonitorErrorDetails' {..} =+ _salt+ `Prelude.hashWithSalt` code+ `Prelude.hashWithSalt` message++instance Prelude.NFData MonitorErrorDetails where+ rnf MonitorErrorDetails' {..} =+ Prelude.rnf code `Prelude.seq` Prelude.rnf message
+ gen/Amazonka/IoTSiteWise/Types/MultiLayerStorage.hs view
@@ -0,0 +1,87 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.MultiLayerStorage+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.MultiLayerStorage where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.CustomerManagedS3Storage+import qualified Amazonka.Prelude as Prelude++-- | Contains information about the storage destination.+--+-- /See:/ 'newMultiLayerStorage' smart constructor.+data MultiLayerStorage = MultiLayerStorage'+ { -- | Contains information about a customer managed Amazon S3 bucket.+ customerManagedS3Storage :: CustomerManagedS3Storage+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MultiLayerStorage' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'customerManagedS3Storage', 'multiLayerStorage_customerManagedS3Storage' - Contains information about a customer managed Amazon S3 bucket.+newMultiLayerStorage ::+ -- | 'customerManagedS3Storage'+ CustomerManagedS3Storage ->+ MultiLayerStorage+newMultiLayerStorage pCustomerManagedS3Storage_ =+ MultiLayerStorage'+ { customerManagedS3Storage =+ pCustomerManagedS3Storage_+ }++-- | Contains information about a customer managed Amazon S3 bucket.+multiLayerStorage_customerManagedS3Storage :: Lens.Lens' MultiLayerStorage CustomerManagedS3Storage+multiLayerStorage_customerManagedS3Storage = Lens.lens (\MultiLayerStorage' {customerManagedS3Storage} -> customerManagedS3Storage) (\s@MultiLayerStorage' {} a -> s {customerManagedS3Storage = a} :: MultiLayerStorage)++instance Data.FromJSON MultiLayerStorage where+ parseJSON =+ Data.withObject+ "MultiLayerStorage"+ ( \x ->+ MultiLayerStorage'+ Prelude.<$> (x Data..: "customerManagedS3Storage")+ )++instance Prelude.Hashable MultiLayerStorage where+ hashWithSalt _salt MultiLayerStorage' {..} =+ _salt+ `Prelude.hashWithSalt` customerManagedS3Storage++instance Prelude.NFData MultiLayerStorage where+ rnf MultiLayerStorage' {..} =+ Prelude.rnf customerManagedS3Storage++instance Data.ToJSON MultiLayerStorage where+ toJSON MultiLayerStorage' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ( "customerManagedS3Storage"+ Data..= customerManagedS3Storage+ )+ ]+ )
+ gen/Amazonka/IoTSiteWise/Types/Permission.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.Permission+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.Permission+ ( Permission+ ( ..,+ Permission_ADMINISTRATOR,+ Permission_VIEWER+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype Permission = Permission'+ { fromPermission ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern Permission_ADMINISTRATOR :: Permission+pattern Permission_ADMINISTRATOR = Permission' "ADMINISTRATOR"++pattern Permission_VIEWER :: Permission+pattern Permission_VIEWER = Permission' "VIEWER"++{-# COMPLETE+ Permission_ADMINISTRATOR,+ Permission_VIEWER,+ Permission'+ #-}
+ gen/Amazonka/IoTSiteWise/Types/PortalResource.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.PortalResource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.PortalResource where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Identifies an IoT SiteWise Monitor portal.+--+-- /See:/ 'newPortalResource' smart constructor.+data PortalResource = PortalResource'+ { -- | The ID of the portal.+ id :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PortalResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'portalResource_id' - The ID of the portal.+newPortalResource ::+ -- | 'id'+ Prelude.Text ->+ PortalResource+newPortalResource pId_ = PortalResource' {id = pId_}++-- | The ID of the portal.+portalResource_id :: Lens.Lens' PortalResource Prelude.Text+portalResource_id = Lens.lens (\PortalResource' {id} -> id) (\s@PortalResource' {} a -> s {id = a} :: PortalResource)++instance Data.FromJSON PortalResource where+ parseJSON =+ Data.withObject+ "PortalResource"+ (\x -> PortalResource' Prelude.<$> (x Data..: "id"))++instance Prelude.Hashable PortalResource where+ hashWithSalt _salt PortalResource' {..} =+ _salt `Prelude.hashWithSalt` id++instance Prelude.NFData PortalResource where+ rnf PortalResource' {..} = Prelude.rnf id++instance Data.ToJSON PortalResource where+ toJSON PortalResource' {..} =+ Data.object+ (Prelude.catMaybes [Prelude.Just ("id" Data..= id)])
+ gen/Amazonka/IoTSiteWise/Types/PortalState.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.PortalState+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.PortalState+ ( PortalState+ ( ..,+ PortalState_ACTIVE,+ PortalState_CREATING,+ PortalState_DELETING,+ PortalState_FAILED,+ PortalState_UPDATING+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PortalState = PortalState'+ { fromPortalState ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern PortalState_ACTIVE :: PortalState+pattern PortalState_ACTIVE = PortalState' "ACTIVE"++pattern PortalState_CREATING :: PortalState+pattern PortalState_CREATING = PortalState' "CREATING"++pattern PortalState_DELETING :: PortalState+pattern PortalState_DELETING = PortalState' "DELETING"++pattern PortalState_FAILED :: PortalState+pattern PortalState_FAILED = PortalState' "FAILED"++pattern PortalState_UPDATING :: PortalState+pattern PortalState_UPDATING = PortalState' "UPDATING"++{-# COMPLETE+ PortalState_ACTIVE,+ PortalState_CREATING,+ PortalState_DELETING,+ PortalState_FAILED,+ PortalState_UPDATING,+ PortalState'+ #-}
+ gen/Amazonka/IoTSiteWise/Types/PortalStatus.hs view
@@ -0,0 +1,87 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.PortalStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.PortalStatus where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.MonitorErrorDetails+import Amazonka.IoTSiteWise.Types.PortalState+import qualified Amazonka.Prelude as Prelude++-- | Contains information about the current status of a portal.+--+-- /See:/ 'newPortalStatus' smart constructor.+data PortalStatus = PortalStatus'+ { -- | Contains associated error information, if any.+ error :: Prelude.Maybe MonitorErrorDetails,+ -- | The current state of the portal.+ state :: PortalState+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PortalStatus' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'error', 'portalStatus_error' - Contains associated error information, if any.+--+-- 'state', 'portalStatus_state' - The current state of the portal.+newPortalStatus ::+ -- | 'state'+ PortalState ->+ PortalStatus+newPortalStatus pState_ =+ PortalStatus'+ { error = Prelude.Nothing,+ state = pState_+ }++-- | Contains associated error information, if any.+portalStatus_error :: Lens.Lens' PortalStatus (Prelude.Maybe MonitorErrorDetails)+portalStatus_error = Lens.lens (\PortalStatus' {error} -> error) (\s@PortalStatus' {} a -> s {error = a} :: PortalStatus)++-- | The current state of the portal.+portalStatus_state :: Lens.Lens' PortalStatus PortalState+portalStatus_state = Lens.lens (\PortalStatus' {state} -> state) (\s@PortalStatus' {} a -> s {state = a} :: PortalStatus)++instance Data.FromJSON PortalStatus where+ parseJSON =+ Data.withObject+ "PortalStatus"+ ( \x ->+ PortalStatus'+ Prelude.<$> (x Data..:? "error")+ Prelude.<*> (x Data..: "state")+ )++instance Prelude.Hashable PortalStatus where+ hashWithSalt _salt PortalStatus' {..} =+ _salt+ `Prelude.hashWithSalt` error+ `Prelude.hashWithSalt` state++instance Prelude.NFData PortalStatus where+ rnf PortalStatus' {..} =+ Prelude.rnf error `Prelude.seq` Prelude.rnf state
+ gen/Amazonka/IoTSiteWise/Types/PortalSummary.hs view
@@ -0,0 +1,188 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.PortalSummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.PortalSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.PortalStatus+import qualified Amazonka.Prelude as Prelude++-- | Contains a portal summary.+--+-- /See:/ 'newPortalSummary' smart constructor.+data PortalSummary = PortalSummary'+ { -- | The date the portal was created, in Unix epoch time.+ creationDate :: Prelude.Maybe Data.POSIX,+ -- | The portal\'s description.+ description :: Prelude.Maybe Prelude.Text,+ -- | The date the portal was last updated, in Unix epoch time.+ lastUpdateDate :: Prelude.Maybe Data.POSIX,+ -- | The+ -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+ -- of the service role that allows the portal\'s users to access your IoT+ -- SiteWise resources on your behalf. For more information, see+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/monitor-service-role.html Using service roles for IoT SiteWise Monitor>+ -- in the /IoT SiteWise User Guide/.+ roleArn :: Prelude.Maybe Prelude.Text,+ -- | The ID of the portal.+ id :: Prelude.Text,+ -- | The name of the portal.+ name :: Prelude.Text,+ -- | 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.+ startUrl :: Prelude.Text,+ status :: PortalStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PortalSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'creationDate', 'portalSummary_creationDate' - The date the portal was created, in Unix epoch time.+--+-- 'description', 'portalSummary_description' - The portal\'s description.+--+-- 'lastUpdateDate', 'portalSummary_lastUpdateDate' - The date the portal was last updated, in Unix epoch time.+--+-- 'roleArn', 'portalSummary_roleArn' - The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of the service role that allows the portal\'s users to access your IoT+-- SiteWise resources on your behalf. For more information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/monitor-service-role.html Using service roles for IoT SiteWise Monitor>+-- in the /IoT SiteWise User Guide/.+--+-- 'id', 'portalSummary_id' - The ID of the portal.+--+-- 'name', 'portalSummary_name' - The name of the portal.+--+-- 'startUrl', 'portalSummary_startUrl' - 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.+--+-- 'status', 'portalSummary_status' - Undocumented member.+newPortalSummary ::+ -- | 'id'+ Prelude.Text ->+ -- | 'name'+ Prelude.Text ->+ -- | 'startUrl'+ Prelude.Text ->+ -- | 'status'+ PortalStatus ->+ PortalSummary+newPortalSummary pId_ pName_ pStartUrl_ pStatus_ =+ PortalSummary'+ { creationDate = Prelude.Nothing,+ description = Prelude.Nothing,+ lastUpdateDate = Prelude.Nothing,+ roleArn = Prelude.Nothing,+ id = pId_,+ name = pName_,+ startUrl = pStartUrl_,+ status = pStatus_+ }++-- | The date the portal was created, in Unix epoch time.+portalSummary_creationDate :: Lens.Lens' PortalSummary (Prelude.Maybe Prelude.UTCTime)+portalSummary_creationDate = Lens.lens (\PortalSummary' {creationDate} -> creationDate) (\s@PortalSummary' {} a -> s {creationDate = a} :: PortalSummary) Prelude.. Lens.mapping Data._Time++-- | The portal\'s description.+portalSummary_description :: Lens.Lens' PortalSummary (Prelude.Maybe Prelude.Text)+portalSummary_description = Lens.lens (\PortalSummary' {description} -> description) (\s@PortalSummary' {} a -> s {description = a} :: PortalSummary)++-- | The date the portal was last updated, in Unix epoch time.+portalSummary_lastUpdateDate :: Lens.Lens' PortalSummary (Prelude.Maybe Prelude.UTCTime)+portalSummary_lastUpdateDate = Lens.lens (\PortalSummary' {lastUpdateDate} -> lastUpdateDate) (\s@PortalSummary' {} a -> s {lastUpdateDate = a} :: PortalSummary) Prelude.. Lens.mapping Data._Time++-- | The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of the service role that allows the portal\'s users to access your IoT+-- SiteWise resources on your behalf. For more information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/monitor-service-role.html Using service roles for IoT SiteWise Monitor>+-- in the /IoT SiteWise User Guide/.+portalSummary_roleArn :: Lens.Lens' PortalSummary (Prelude.Maybe Prelude.Text)+portalSummary_roleArn = Lens.lens (\PortalSummary' {roleArn} -> roleArn) (\s@PortalSummary' {} a -> s {roleArn = a} :: PortalSummary)++-- | The ID of the portal.+portalSummary_id :: Lens.Lens' PortalSummary Prelude.Text+portalSummary_id = Lens.lens (\PortalSummary' {id} -> id) (\s@PortalSummary' {} a -> s {id = a} :: PortalSummary)++-- | The name of the portal.+portalSummary_name :: Lens.Lens' PortalSummary Prelude.Text+portalSummary_name = Lens.lens (\PortalSummary' {name} -> name) (\s@PortalSummary' {} a -> s {name = a} :: PortalSummary)++-- | 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.+portalSummary_startUrl :: Lens.Lens' PortalSummary Prelude.Text+portalSummary_startUrl = Lens.lens (\PortalSummary' {startUrl} -> startUrl) (\s@PortalSummary' {} a -> s {startUrl = a} :: PortalSummary)++-- | Undocumented member.+portalSummary_status :: Lens.Lens' PortalSummary PortalStatus+portalSummary_status = Lens.lens (\PortalSummary' {status} -> status) (\s@PortalSummary' {} a -> s {status = a} :: PortalSummary)++instance Data.FromJSON PortalSummary where+ parseJSON =+ Data.withObject+ "PortalSummary"+ ( \x ->+ PortalSummary'+ Prelude.<$> (x Data..:? "creationDate")+ Prelude.<*> (x Data..:? "description")+ Prelude.<*> (x Data..:? "lastUpdateDate")+ Prelude.<*> (x Data..:? "roleArn")+ Prelude.<*> (x Data..: "id")+ Prelude.<*> (x Data..: "name")+ Prelude.<*> (x Data..: "startUrl")+ Prelude.<*> (x Data..: "status")+ )++instance Prelude.Hashable PortalSummary where+ hashWithSalt _salt PortalSummary' {..} =+ _salt+ `Prelude.hashWithSalt` creationDate+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` lastUpdateDate+ `Prelude.hashWithSalt` roleArn+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` startUrl+ `Prelude.hashWithSalt` status++instance Prelude.NFData PortalSummary where+ rnf PortalSummary' {..} =+ Prelude.rnf creationDate+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf lastUpdateDate+ `Prelude.seq` Prelude.rnf roleArn+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf startUrl+ `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/IoTSiteWise/Types/ProjectResource.hs view
@@ -0,0 +1,73 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.ProjectResource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.ProjectResource where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Identifies a specific IoT SiteWise Monitor project.+--+-- /See:/ 'newProjectResource' smart constructor.+data ProjectResource = ProjectResource'+ { -- | The ID of the project.+ id :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ProjectResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'projectResource_id' - The ID of the project.+newProjectResource ::+ -- | 'id'+ Prelude.Text ->+ ProjectResource+newProjectResource pId_ = ProjectResource' {id = pId_}++-- | The ID of the project.+projectResource_id :: Lens.Lens' ProjectResource Prelude.Text+projectResource_id = Lens.lens (\ProjectResource' {id} -> id) (\s@ProjectResource' {} a -> s {id = a} :: ProjectResource)++instance Data.FromJSON ProjectResource where+ parseJSON =+ Data.withObject+ "ProjectResource"+ ( \x ->+ ProjectResource' Prelude.<$> (x Data..: "id")+ )++instance Prelude.Hashable ProjectResource where+ hashWithSalt _salt ProjectResource' {..} =+ _salt `Prelude.hashWithSalt` id++instance Prelude.NFData ProjectResource where+ rnf ProjectResource' {..} = Prelude.rnf id++instance Data.ToJSON ProjectResource where+ toJSON ProjectResource' {..} =+ Data.object+ (Prelude.catMaybes [Prelude.Just ("id" Data..= id)])
+ gen/Amazonka/IoTSiteWise/Types/ProjectSummary.hs view
@@ -0,0 +1,124 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.ProjectSummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.ProjectSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Contains project summary information.+--+-- /See:/ 'newProjectSummary' smart constructor.+data ProjectSummary = ProjectSummary'+ { -- | The date the project was created, in Unix epoch time.+ creationDate :: Prelude.Maybe Data.POSIX,+ -- | The project\'s description.+ description :: Prelude.Maybe Prelude.Text,+ -- | The date the project was last updated, in Unix epoch time.+ lastUpdateDate :: Prelude.Maybe Data.POSIX,+ -- | The ID of the project.+ id :: Prelude.Text,+ -- | The name of the project.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ProjectSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'creationDate', 'projectSummary_creationDate' - The date the project was created, in Unix epoch time.+--+-- 'description', 'projectSummary_description' - The project\'s description.+--+-- 'lastUpdateDate', 'projectSummary_lastUpdateDate' - The date the project was last updated, in Unix epoch time.+--+-- 'id', 'projectSummary_id' - The ID of the project.+--+-- 'name', 'projectSummary_name' - The name of the project.+newProjectSummary ::+ -- | 'id'+ Prelude.Text ->+ -- | 'name'+ Prelude.Text ->+ ProjectSummary+newProjectSummary pId_ pName_ =+ ProjectSummary'+ { creationDate = Prelude.Nothing,+ description = Prelude.Nothing,+ lastUpdateDate = Prelude.Nothing,+ id = pId_,+ name = pName_+ }++-- | The date the project was created, in Unix epoch time.+projectSummary_creationDate :: Lens.Lens' ProjectSummary (Prelude.Maybe Prelude.UTCTime)+projectSummary_creationDate = Lens.lens (\ProjectSummary' {creationDate} -> creationDate) (\s@ProjectSummary' {} a -> s {creationDate = a} :: ProjectSummary) Prelude.. Lens.mapping Data._Time++-- | The project\'s description.+projectSummary_description :: Lens.Lens' ProjectSummary (Prelude.Maybe Prelude.Text)+projectSummary_description = Lens.lens (\ProjectSummary' {description} -> description) (\s@ProjectSummary' {} a -> s {description = a} :: ProjectSummary)++-- | The date the project was last updated, in Unix epoch time.+projectSummary_lastUpdateDate :: Lens.Lens' ProjectSummary (Prelude.Maybe Prelude.UTCTime)+projectSummary_lastUpdateDate = Lens.lens (\ProjectSummary' {lastUpdateDate} -> lastUpdateDate) (\s@ProjectSummary' {} a -> s {lastUpdateDate = a} :: ProjectSummary) Prelude.. Lens.mapping Data._Time++-- | The ID of the project.+projectSummary_id :: Lens.Lens' ProjectSummary Prelude.Text+projectSummary_id = Lens.lens (\ProjectSummary' {id} -> id) (\s@ProjectSummary' {} a -> s {id = a} :: ProjectSummary)++-- | The name of the project.+projectSummary_name :: Lens.Lens' ProjectSummary Prelude.Text+projectSummary_name = Lens.lens (\ProjectSummary' {name} -> name) (\s@ProjectSummary' {} a -> s {name = a} :: ProjectSummary)++instance Data.FromJSON ProjectSummary where+ parseJSON =+ Data.withObject+ "ProjectSummary"+ ( \x ->+ ProjectSummary'+ Prelude.<$> (x Data..:? "creationDate")+ Prelude.<*> (x Data..:? "description")+ Prelude.<*> (x Data..:? "lastUpdateDate")+ Prelude.<*> (x Data..: "id")+ Prelude.<*> (x Data..: "name")+ )++instance Prelude.Hashable ProjectSummary where+ hashWithSalt _salt ProjectSummary' {..} =+ _salt+ `Prelude.hashWithSalt` creationDate+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` lastUpdateDate+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` name++instance Prelude.NFData ProjectSummary where+ rnf ProjectSummary' {..} =+ Prelude.rnf creationDate+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf lastUpdateDate+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/IoTSiteWise/Types/Property.hs view
@@ -0,0 +1,174 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.Property+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.Property where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.PropertyDataType+import Amazonka.IoTSiteWise.Types.PropertyNotification+import Amazonka.IoTSiteWise.Types.PropertyType+import qualified Amazonka.Prelude as Prelude++-- | Contains asset property information.+--+-- /See:/ 'newProperty' smart constructor.+data Property = Property'+ { -- | 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+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html Mapping industrial data streams to asset properties>+ -- in the /IoT SiteWise User Guide/.+ alias :: Prelude.Maybe Prelude.Text,+ -- | The asset property\'s notification topic and state. For more+ -- information, see+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetProperty.html UpdateAssetProperty>.+ notification :: Prelude.Maybe PropertyNotification,+ -- | The property type (see @PropertyType@). A property contains one type.+ type' :: Prelude.Maybe PropertyType,+ -- | The unit (such as @Newtons@ or @RPM@) of the asset property.+ unit :: Prelude.Maybe Prelude.Text,+ -- | The ID of the asset property.+ id :: Prelude.Text,+ -- | The name of the property.+ name :: Prelude.Text,+ -- | The property data type.+ dataType :: PropertyDataType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Property' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'alias', 'property_alias' - 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html Mapping industrial data streams to asset properties>+-- in the /IoT SiteWise User Guide/.+--+-- 'notification', 'property_notification' - The asset property\'s notification topic and state. For more+-- information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetProperty.html UpdateAssetProperty>.+--+-- 'type'', 'property_type' - The property type (see @PropertyType@). A property contains one type.+--+-- 'unit', 'property_unit' - The unit (such as @Newtons@ or @RPM@) of the asset property.+--+-- 'id', 'property_id' - The ID of the asset property.+--+-- 'name', 'property_name' - The name of the property.+--+-- 'dataType', 'property_dataType' - The property data type.+newProperty ::+ -- | 'id'+ Prelude.Text ->+ -- | 'name'+ Prelude.Text ->+ -- | 'dataType'+ PropertyDataType ->+ Property+newProperty pId_ pName_ pDataType_ =+ Property'+ { alias = Prelude.Nothing,+ notification = Prelude.Nothing,+ type' = Prelude.Nothing,+ unit = Prelude.Nothing,+ id = pId_,+ name = pName_,+ dataType = pDataType_+ }++-- | 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html Mapping industrial data streams to asset properties>+-- in the /IoT SiteWise User Guide/.+property_alias :: Lens.Lens' Property (Prelude.Maybe Prelude.Text)+property_alias = Lens.lens (\Property' {alias} -> alias) (\s@Property' {} a -> s {alias = a} :: Property)++-- | The asset property\'s notification topic and state. For more+-- information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetProperty.html UpdateAssetProperty>.+property_notification :: Lens.Lens' Property (Prelude.Maybe PropertyNotification)+property_notification = Lens.lens (\Property' {notification} -> notification) (\s@Property' {} a -> s {notification = a} :: Property)++-- | The property type (see @PropertyType@). A property contains one type.+property_type :: Lens.Lens' Property (Prelude.Maybe PropertyType)+property_type = Lens.lens (\Property' {type'} -> type') (\s@Property' {} a -> s {type' = a} :: Property)++-- | The unit (such as @Newtons@ or @RPM@) of the asset property.+property_unit :: Lens.Lens' Property (Prelude.Maybe Prelude.Text)+property_unit = Lens.lens (\Property' {unit} -> unit) (\s@Property' {} a -> s {unit = a} :: Property)++-- | The ID of the asset property.+property_id :: Lens.Lens' Property Prelude.Text+property_id = Lens.lens (\Property' {id} -> id) (\s@Property' {} a -> s {id = a} :: Property)++-- | The name of the property.+property_name :: Lens.Lens' Property Prelude.Text+property_name = Lens.lens (\Property' {name} -> name) (\s@Property' {} a -> s {name = a} :: Property)++-- | The property data type.+property_dataType :: Lens.Lens' Property PropertyDataType+property_dataType = Lens.lens (\Property' {dataType} -> dataType) (\s@Property' {} a -> s {dataType = a} :: Property)++instance Data.FromJSON Property where+ parseJSON =+ Data.withObject+ "Property"+ ( \x ->+ Property'+ Prelude.<$> (x Data..:? "alias")+ Prelude.<*> (x Data..:? "notification")+ Prelude.<*> (x Data..:? "type")+ Prelude.<*> (x Data..:? "unit")+ Prelude.<*> (x Data..: "id")+ Prelude.<*> (x Data..: "name")+ Prelude.<*> (x Data..: "dataType")+ )++instance Prelude.Hashable Property where+ hashWithSalt _salt Property' {..} =+ _salt+ `Prelude.hashWithSalt` alias+ `Prelude.hashWithSalt` notification+ `Prelude.hashWithSalt` type'+ `Prelude.hashWithSalt` unit+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` dataType++instance Prelude.NFData Property where+ rnf Property' {..} =+ Prelude.rnf alias+ `Prelude.seq` Prelude.rnf notification+ `Prelude.seq` Prelude.rnf type'+ `Prelude.seq` Prelude.rnf unit+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf dataType
+ gen/Amazonka/IoTSiteWise/Types/PropertyDataType.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.PropertyDataType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.PropertyDataType+ ( PropertyDataType+ ( ..,+ PropertyDataType_BOOLEAN,+ PropertyDataType_DOUBLE,+ PropertyDataType_INTEGER,+ PropertyDataType_STRING,+ PropertyDataType_STRUCT+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PropertyDataType = PropertyDataType'+ { fromPropertyDataType ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern PropertyDataType_BOOLEAN :: PropertyDataType+pattern PropertyDataType_BOOLEAN = PropertyDataType' "BOOLEAN"++pattern PropertyDataType_DOUBLE :: PropertyDataType+pattern PropertyDataType_DOUBLE = PropertyDataType' "DOUBLE"++pattern PropertyDataType_INTEGER :: PropertyDataType+pattern PropertyDataType_INTEGER = PropertyDataType' "INTEGER"++pattern PropertyDataType_STRING :: PropertyDataType+pattern PropertyDataType_STRING = PropertyDataType' "STRING"++pattern PropertyDataType_STRUCT :: PropertyDataType+pattern PropertyDataType_STRUCT = PropertyDataType' "STRUCT"++{-# COMPLETE+ PropertyDataType_BOOLEAN,+ PropertyDataType_DOUBLE,+ PropertyDataType_INTEGER,+ PropertyDataType_STRING,+ PropertyDataType_STRUCT,+ PropertyDataType'+ #-}
+ gen/Amazonka/IoTSiteWise/Types/PropertyNotification.hs view
@@ -0,0 +1,95 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.PropertyNotification+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.PropertyNotification where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.PropertyNotificationState+import qualified Amazonka.Prelude as Prelude++-- | 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/interact-with-other-services.html Interacting with other services>+-- in the /IoT SiteWise User Guide/.+--+-- /See:/ 'newPropertyNotification' smart constructor.+data PropertyNotification = PropertyNotification'+ { -- | The MQTT topic to which IoT SiteWise publishes property value update+ -- notifications.+ topic :: Prelude.Text,+ -- | The current notification state.+ state :: PropertyNotificationState+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PropertyNotification' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'topic', 'propertyNotification_topic' - The MQTT topic to which IoT SiteWise publishes property value update+-- notifications.+--+-- 'state', 'propertyNotification_state' - The current notification state.+newPropertyNotification ::+ -- | 'topic'+ Prelude.Text ->+ -- | 'state'+ PropertyNotificationState ->+ PropertyNotification+newPropertyNotification pTopic_ pState_ =+ PropertyNotification'+ { topic = pTopic_,+ state = pState_+ }++-- | The MQTT topic to which IoT SiteWise publishes property value update+-- notifications.+propertyNotification_topic :: Lens.Lens' PropertyNotification Prelude.Text+propertyNotification_topic = Lens.lens (\PropertyNotification' {topic} -> topic) (\s@PropertyNotification' {} a -> s {topic = a} :: PropertyNotification)++-- | The current notification state.+propertyNotification_state :: Lens.Lens' PropertyNotification PropertyNotificationState+propertyNotification_state = Lens.lens (\PropertyNotification' {state} -> state) (\s@PropertyNotification' {} a -> s {state = a} :: PropertyNotification)++instance Data.FromJSON PropertyNotification where+ parseJSON =+ Data.withObject+ "PropertyNotification"+ ( \x ->+ PropertyNotification'+ Prelude.<$> (x Data..: "topic")+ Prelude.<*> (x Data..: "state")+ )++instance Prelude.Hashable PropertyNotification where+ hashWithSalt _salt PropertyNotification' {..} =+ _salt+ `Prelude.hashWithSalt` topic+ `Prelude.hashWithSalt` state++instance Prelude.NFData PropertyNotification where+ rnf PropertyNotification' {..} =+ Prelude.rnf topic `Prelude.seq` Prelude.rnf state
+ gen/Amazonka/IoTSiteWise/Types/PropertyNotificationState.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.PropertyNotificationState+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.PropertyNotificationState+ ( PropertyNotificationState+ ( ..,+ PropertyNotificationState_DISABLED,+ PropertyNotificationState_ENABLED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PropertyNotificationState = PropertyNotificationState'+ { fromPropertyNotificationState ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern PropertyNotificationState_DISABLED :: PropertyNotificationState+pattern PropertyNotificationState_DISABLED = PropertyNotificationState' "DISABLED"++pattern PropertyNotificationState_ENABLED :: PropertyNotificationState+pattern PropertyNotificationState_ENABLED = PropertyNotificationState' "ENABLED"++{-# COMPLETE+ PropertyNotificationState_DISABLED,+ PropertyNotificationState_ENABLED,+ PropertyNotificationState'+ #-}
+ gen/Amazonka/IoTSiteWise/Types/PropertyType.hs view
@@ -0,0 +1,154 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.PropertyType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.PropertyType where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.Attribute+import Amazonka.IoTSiteWise.Types.Measurement+import Amazonka.IoTSiteWise.Types.Metric+import Amazonka.IoTSiteWise.Types.Transform+import qualified Amazonka.Prelude as Prelude++-- | Contains a property type, which can be one of @attribute@,+-- @measurement@, @metric@, or @transform@.+--+-- /See:/ 'newPropertyType' smart constructor.+data PropertyType = PropertyType'+ { -- | Specifies an asset attribute property. An attribute generally contains+ -- static information, such as the serial number of an+ -- <https://en.wikipedia.org/wiki/Internet_of_things#Industrial_applications IIoT>+ -- wind turbine.+ attribute :: Prelude.Maybe 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 :: Prelude.Maybe Measurement,+ -- | 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 :: Prelude.Maybe Metric,+ -- | 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 :: Prelude.Maybe Transform+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PropertyType' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'attribute', 'propertyType_attribute' - Specifies an asset attribute property. An attribute generally contains+-- static information, such as the serial number of an+-- <https://en.wikipedia.org/wiki/Internet_of_things#Industrial_applications IIoT>+-- wind turbine.+--+-- 'measurement', 'propertyType_measurement' - Specifies an asset measurement property. A measurement represents a+-- device\'s raw sensor data stream, such as timestamped temperature values+-- or timestamped power values.+--+-- 'metric', 'propertyType_metric' - 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.+--+-- 'transform', 'propertyType_transform' - 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.+newPropertyType ::+ PropertyType+newPropertyType =+ PropertyType'+ { attribute = Prelude.Nothing,+ measurement = Prelude.Nothing,+ metric = Prelude.Nothing,+ transform = Prelude.Nothing+ }++-- | Specifies an asset attribute property. An attribute generally contains+-- static information, such as the serial number of an+-- <https://en.wikipedia.org/wiki/Internet_of_things#Industrial_applications IIoT>+-- wind turbine.+propertyType_attribute :: Lens.Lens' PropertyType (Prelude.Maybe Attribute)+propertyType_attribute = Lens.lens (\PropertyType' {attribute} -> attribute) (\s@PropertyType' {} a -> s {attribute = a} :: PropertyType)++-- | Specifies an asset measurement property. A measurement represents a+-- device\'s raw sensor data stream, such as timestamped temperature values+-- or timestamped power values.+propertyType_measurement :: Lens.Lens' PropertyType (Prelude.Maybe Measurement)+propertyType_measurement = Lens.lens (\PropertyType' {measurement} -> measurement) (\s@PropertyType' {} a -> s {measurement = a} :: PropertyType)++-- | 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.+propertyType_metric :: Lens.Lens' PropertyType (Prelude.Maybe Metric)+propertyType_metric = Lens.lens (\PropertyType' {metric} -> metric) (\s@PropertyType' {} a -> s {metric = a} :: PropertyType)++-- | 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.+propertyType_transform :: Lens.Lens' PropertyType (Prelude.Maybe Transform)+propertyType_transform = Lens.lens (\PropertyType' {transform} -> transform) (\s@PropertyType' {} a -> s {transform = a} :: PropertyType)++instance Data.FromJSON PropertyType where+ parseJSON =+ Data.withObject+ "PropertyType"+ ( \x ->+ PropertyType'+ Prelude.<$> (x Data..:? "attribute")+ Prelude.<*> (x Data..:? "measurement")+ Prelude.<*> (x Data..:? "metric")+ Prelude.<*> (x Data..:? "transform")+ )++instance Prelude.Hashable PropertyType where+ hashWithSalt _salt PropertyType' {..} =+ _salt+ `Prelude.hashWithSalt` attribute+ `Prelude.hashWithSalt` measurement+ `Prelude.hashWithSalt` metric+ `Prelude.hashWithSalt` transform++instance Prelude.NFData PropertyType where+ rnf PropertyType' {..} =+ Prelude.rnf attribute+ `Prelude.seq` Prelude.rnf measurement+ `Prelude.seq` Prelude.rnf metric+ `Prelude.seq` Prelude.rnf transform++instance Data.ToJSON PropertyType where+ toJSON PropertyType' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("attribute" Data..=) Prelude.<$> attribute,+ ("measurement" Data..=) Prelude.<$> measurement,+ ("metric" Data..=) Prelude.<$> metric,+ ("transform" Data..=) Prelude.<$> transform+ ]+ )
+ gen/Amazonka/IoTSiteWise/Types/PutAssetPropertyValueEntry.hs view
@@ -0,0 +1,148 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.PutAssetPropertyValueEntry+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.PutAssetPropertyValueEntry where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.AssetPropertyValue+import qualified Amazonka.Prelude as Prelude++-- | Contains a list of value updates for an asset property in the list of+-- asset entries consumed by the+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchPutAssetPropertyValue.html BatchPutAssetPropertyValue>+-- API operation.+--+-- /See:/ 'newPutAssetPropertyValueEntry' smart constructor.+data PutAssetPropertyValueEntry = PutAssetPropertyValueEntry'+ { -- | The ID of the asset to update.+ assetId :: Prelude.Maybe Prelude.Text,+ -- | 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+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html Mapping industrial data streams to asset properties>+ -- in the /IoT SiteWise User Guide/.+ propertyAlias :: Prelude.Maybe Prelude.Text,+ -- | The ID of the asset property for this entry.+ propertyId :: Prelude.Maybe Prelude.Text,+ -- | The user specified ID for the entry. You can use this ID to identify+ -- which entries failed.+ entryId :: Prelude.Text,+ -- | The list of property values to upload. You can specify up to 10+ -- @propertyValues@ array elements.+ propertyValues :: [AssetPropertyValue]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutAssetPropertyValueEntry' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'assetId', 'putAssetPropertyValueEntry_assetId' - The ID of the asset to update.+--+-- 'propertyAlias', 'putAssetPropertyValueEntry_propertyAlias' - 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html Mapping industrial data streams to asset properties>+-- in the /IoT SiteWise User Guide/.+--+-- 'propertyId', 'putAssetPropertyValueEntry_propertyId' - The ID of the asset property for this entry.+--+-- 'entryId', 'putAssetPropertyValueEntry_entryId' - The user specified ID for the entry. You can use this ID to identify+-- which entries failed.+--+-- 'propertyValues', 'putAssetPropertyValueEntry_propertyValues' - The list of property values to upload. You can specify up to 10+-- @propertyValues@ array elements.+newPutAssetPropertyValueEntry ::+ -- | 'entryId'+ Prelude.Text ->+ PutAssetPropertyValueEntry+newPutAssetPropertyValueEntry pEntryId_ =+ PutAssetPropertyValueEntry'+ { assetId =+ Prelude.Nothing,+ propertyAlias = Prelude.Nothing,+ propertyId = Prelude.Nothing,+ entryId = pEntryId_,+ propertyValues = Prelude.mempty+ }++-- | The ID of the asset to update.+putAssetPropertyValueEntry_assetId :: Lens.Lens' PutAssetPropertyValueEntry (Prelude.Maybe Prelude.Text)+putAssetPropertyValueEntry_assetId = Lens.lens (\PutAssetPropertyValueEntry' {assetId} -> assetId) (\s@PutAssetPropertyValueEntry' {} a -> s {assetId = a} :: PutAssetPropertyValueEntry)++-- | 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html Mapping industrial data streams to asset properties>+-- in the /IoT SiteWise User Guide/.+putAssetPropertyValueEntry_propertyAlias :: Lens.Lens' PutAssetPropertyValueEntry (Prelude.Maybe Prelude.Text)+putAssetPropertyValueEntry_propertyAlias = Lens.lens (\PutAssetPropertyValueEntry' {propertyAlias} -> propertyAlias) (\s@PutAssetPropertyValueEntry' {} a -> s {propertyAlias = a} :: PutAssetPropertyValueEntry)++-- | The ID of the asset property for this entry.+putAssetPropertyValueEntry_propertyId :: Lens.Lens' PutAssetPropertyValueEntry (Prelude.Maybe Prelude.Text)+putAssetPropertyValueEntry_propertyId = Lens.lens (\PutAssetPropertyValueEntry' {propertyId} -> propertyId) (\s@PutAssetPropertyValueEntry' {} a -> s {propertyId = a} :: PutAssetPropertyValueEntry)++-- | The user specified ID for the entry. You can use this ID to identify+-- which entries failed.+putAssetPropertyValueEntry_entryId :: Lens.Lens' PutAssetPropertyValueEntry Prelude.Text+putAssetPropertyValueEntry_entryId = Lens.lens (\PutAssetPropertyValueEntry' {entryId} -> entryId) (\s@PutAssetPropertyValueEntry' {} a -> s {entryId = a} :: PutAssetPropertyValueEntry)++-- | The list of property values to upload. You can specify up to 10+-- @propertyValues@ array elements.+putAssetPropertyValueEntry_propertyValues :: Lens.Lens' PutAssetPropertyValueEntry [AssetPropertyValue]+putAssetPropertyValueEntry_propertyValues = Lens.lens (\PutAssetPropertyValueEntry' {propertyValues} -> propertyValues) (\s@PutAssetPropertyValueEntry' {} a -> s {propertyValues = a} :: PutAssetPropertyValueEntry) Prelude.. Lens.coerced++instance Prelude.Hashable PutAssetPropertyValueEntry where+ hashWithSalt _salt PutAssetPropertyValueEntry' {..} =+ _salt+ `Prelude.hashWithSalt` assetId+ `Prelude.hashWithSalt` propertyAlias+ `Prelude.hashWithSalt` propertyId+ `Prelude.hashWithSalt` entryId+ `Prelude.hashWithSalt` propertyValues++instance Prelude.NFData PutAssetPropertyValueEntry where+ rnf PutAssetPropertyValueEntry' {..} =+ Prelude.rnf assetId+ `Prelude.seq` Prelude.rnf propertyAlias+ `Prelude.seq` Prelude.rnf propertyId+ `Prelude.seq` Prelude.rnf entryId+ `Prelude.seq` Prelude.rnf propertyValues++instance Data.ToJSON PutAssetPropertyValueEntry where+ toJSON PutAssetPropertyValueEntry' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("assetId" Data..=) Prelude.<$> assetId,+ ("propertyAlias" Data..=) Prelude.<$> propertyAlias,+ ("propertyId" Data..=) Prelude.<$> propertyId,+ Prelude.Just ("entryId" Data..= entryId),+ Prelude.Just+ ("propertyValues" Data..= propertyValues)+ ]+ )
+ gen/Amazonka/IoTSiteWise/Types/Quality.hs view
@@ -0,0 +1,73 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.Quality+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.Quality+ ( Quality+ ( ..,+ Quality_BAD,+ Quality_GOOD,+ Quality_UNCERTAIN+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype Quality = Quality' {fromQuality :: Data.Text}+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern Quality_BAD :: Quality+pattern Quality_BAD = Quality' "BAD"++pattern Quality_GOOD :: Quality+pattern Quality_GOOD = Quality' "GOOD"++pattern Quality_UNCERTAIN :: Quality+pattern Quality_UNCERTAIN = Quality' "UNCERTAIN"++{-# COMPLETE+ Quality_BAD,+ Quality_GOOD,+ Quality_UNCERTAIN,+ Quality'+ #-}
+ gen/Amazonka/IoTSiteWise/Types/Resource.hs view
@@ -0,0 +1,95 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.Resource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.Resource where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.PortalResource+import Amazonka.IoTSiteWise.Types.ProjectResource+import qualified Amazonka.Prelude as Prelude++-- | Contains an IoT SiteWise Monitor resource ID for a portal or project.+--+-- /See:/ 'newResource' smart constructor.+data Resource = Resource'+ { -- | A portal resource.+ portal :: Prelude.Maybe PortalResource,+ -- | A project resource.+ project :: Prelude.Maybe ProjectResource+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Resource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'portal', 'resource_portal' - A portal resource.+--+-- 'project', 'resource_project' - A project resource.+newResource ::+ Resource+newResource =+ Resource'+ { portal = Prelude.Nothing,+ project = Prelude.Nothing+ }++-- | A portal resource.+resource_portal :: Lens.Lens' Resource (Prelude.Maybe PortalResource)+resource_portal = Lens.lens (\Resource' {portal} -> portal) (\s@Resource' {} a -> s {portal = a} :: Resource)++-- | A project resource.+resource_project :: Lens.Lens' Resource (Prelude.Maybe ProjectResource)+resource_project = Lens.lens (\Resource' {project} -> project) (\s@Resource' {} a -> s {project = a} :: Resource)++instance Data.FromJSON Resource where+ parseJSON =+ Data.withObject+ "Resource"+ ( \x ->+ Resource'+ Prelude.<$> (x Data..:? "portal")+ Prelude.<*> (x Data..:? "project")+ )++instance Prelude.Hashable Resource where+ hashWithSalt _salt Resource' {..} =+ _salt+ `Prelude.hashWithSalt` portal+ `Prelude.hashWithSalt` project++instance Prelude.NFData Resource where+ rnf Resource' {..} =+ Prelude.rnf portal+ `Prelude.seq` Prelude.rnf project++instance Data.ToJSON Resource where+ toJSON Resource' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("portal" Data..=) Prelude.<$> portal,+ ("project" Data..=) Prelude.<$> project+ ]+ )
+ gen/Amazonka/IoTSiteWise/Types/ResourceType.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.ResourceType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.ResourceType+ ( ResourceType+ ( ..,+ ResourceType_PORTAL,+ ResourceType_PROJECT+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ResourceType = ResourceType'+ { fromResourceType ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern ResourceType_PORTAL :: ResourceType+pattern ResourceType_PORTAL = ResourceType' "PORTAL"++pattern ResourceType_PROJECT :: ResourceType+pattern ResourceType_PROJECT = ResourceType' "PROJECT"++{-# COMPLETE+ ResourceType_PORTAL,+ ResourceType_PROJECT,+ ResourceType'+ #-}
+ gen/Amazonka/IoTSiteWise/Types/RetentionPeriod.hs view
@@ -0,0 +1,112 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.RetentionPeriod+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.RetentionPeriod where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | How many days your data is kept in the hot tier. By default, your data+-- is kept indefinitely in the hot tier.+--+-- /See:/ 'newRetentionPeriod' smart constructor.+data RetentionPeriod = 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 :: Prelude.Maybe Prelude.Natural,+ -- | If true, your data is kept indefinitely.+ --+ -- If configured to @true@, you must not specify a value for the+ -- @numberOfDays@ parameter.+ unlimited :: Prelude.Maybe Prelude.Bool+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RetentionPeriod' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'numberOfDays', 'retentionPeriod_numberOfDays' - The number of days that your data is kept.+--+-- If you specified a value for this parameter, the @unlimited@ parameter+-- must be @false@.+--+-- 'unlimited', 'retentionPeriod_unlimited' - If true, your data is kept indefinitely.+--+-- If configured to @true@, you must not specify a value for the+-- @numberOfDays@ parameter.+newRetentionPeriod ::+ RetentionPeriod+newRetentionPeriod =+ RetentionPeriod'+ { numberOfDays = Prelude.Nothing,+ unlimited = Prelude.Nothing+ }++-- | The number of days that your data is kept.+--+-- If you specified a value for this parameter, the @unlimited@ parameter+-- must be @false@.+retentionPeriod_numberOfDays :: Lens.Lens' RetentionPeriod (Prelude.Maybe Prelude.Natural)+retentionPeriod_numberOfDays = Lens.lens (\RetentionPeriod' {numberOfDays} -> numberOfDays) (\s@RetentionPeriod' {} a -> s {numberOfDays = a} :: RetentionPeriod)++-- | If true, your data is kept indefinitely.+--+-- If configured to @true@, you must not specify a value for the+-- @numberOfDays@ parameter.+retentionPeriod_unlimited :: Lens.Lens' RetentionPeriod (Prelude.Maybe Prelude.Bool)+retentionPeriod_unlimited = Lens.lens (\RetentionPeriod' {unlimited} -> unlimited) (\s@RetentionPeriod' {} a -> s {unlimited = a} :: RetentionPeriod)++instance Data.FromJSON RetentionPeriod where+ parseJSON =+ Data.withObject+ "RetentionPeriod"+ ( \x ->+ RetentionPeriod'+ Prelude.<$> (x Data..:? "numberOfDays")+ Prelude.<*> (x Data..:? "unlimited")+ )++instance Prelude.Hashable RetentionPeriod where+ hashWithSalt _salt RetentionPeriod' {..} =+ _salt+ `Prelude.hashWithSalt` numberOfDays+ `Prelude.hashWithSalt` unlimited++instance Prelude.NFData RetentionPeriod where+ rnf RetentionPeriod' {..} =+ Prelude.rnf numberOfDays+ `Prelude.seq` Prelude.rnf unlimited++instance Data.ToJSON RetentionPeriod where+ toJSON RetentionPeriod' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("numberOfDays" Data..=) Prelude.<$> numberOfDays,+ ("unlimited" Data..=) Prelude.<$> unlimited+ ]+ )
+ gen/Amazonka/IoTSiteWise/Types/StorageType.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.StorageType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.StorageType+ ( StorageType+ ( ..,+ StorageType_MULTI_LAYER_STORAGE,+ StorageType_SITEWISE_DEFAULT_STORAGE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype StorageType = StorageType'+ { fromStorageType ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern StorageType_MULTI_LAYER_STORAGE :: StorageType+pattern StorageType_MULTI_LAYER_STORAGE = StorageType' "MULTI_LAYER_STORAGE"++pattern StorageType_SITEWISE_DEFAULT_STORAGE :: StorageType+pattern StorageType_SITEWISE_DEFAULT_STORAGE = StorageType' "SITEWISE_DEFAULT_STORAGE"++{-# COMPLETE+ StorageType_MULTI_LAYER_STORAGE,+ StorageType_SITEWISE_DEFAULT_STORAGE,+ StorageType'+ #-}
+ gen/Amazonka/IoTSiteWise/Types/TimeInNanos.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.TimeInNanos+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.TimeInNanos where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Contains a timestamp with optional nanosecond granularity.+--+-- /See:/ 'newTimeInNanos' smart constructor.+data TimeInNanos = TimeInNanos'+ { -- | The nanosecond offset from @timeInSeconds@.+ offsetInNanos :: Prelude.Maybe Prelude.Natural,+ -- | The timestamp date, in seconds, in the Unix epoch format. Fractional+ -- nanosecond data is provided by @offsetInNanos@.+ timeInSeconds :: Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TimeInNanos' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'offsetInNanos', 'timeInNanos_offsetInNanos' - The nanosecond offset from @timeInSeconds@.+--+-- 'timeInSeconds', 'timeInNanos_timeInSeconds' - The timestamp date, in seconds, in the Unix epoch format. Fractional+-- nanosecond data is provided by @offsetInNanos@.+newTimeInNanos ::+ -- | 'timeInSeconds'+ Prelude.Natural ->+ TimeInNanos+newTimeInNanos pTimeInSeconds_ =+ TimeInNanos'+ { offsetInNanos = Prelude.Nothing,+ timeInSeconds = pTimeInSeconds_+ }++-- | The nanosecond offset from @timeInSeconds@.+timeInNanos_offsetInNanos :: Lens.Lens' TimeInNanos (Prelude.Maybe Prelude.Natural)+timeInNanos_offsetInNanos = Lens.lens (\TimeInNanos' {offsetInNanos} -> offsetInNanos) (\s@TimeInNanos' {} a -> s {offsetInNanos = a} :: TimeInNanos)++-- | The timestamp date, in seconds, in the Unix epoch format. Fractional+-- nanosecond data is provided by @offsetInNanos@.+timeInNanos_timeInSeconds :: Lens.Lens' TimeInNanos Prelude.Natural+timeInNanos_timeInSeconds = Lens.lens (\TimeInNanos' {timeInSeconds} -> timeInSeconds) (\s@TimeInNanos' {} a -> s {timeInSeconds = a} :: TimeInNanos)++instance Data.FromJSON TimeInNanos where+ parseJSON =+ Data.withObject+ "TimeInNanos"+ ( \x ->+ TimeInNanos'+ Prelude.<$> (x Data..:? "offsetInNanos")+ Prelude.<*> (x Data..: "timeInSeconds")+ )++instance Prelude.Hashable TimeInNanos where+ hashWithSalt _salt TimeInNanos' {..} =+ _salt+ `Prelude.hashWithSalt` offsetInNanos+ `Prelude.hashWithSalt` timeInSeconds++instance Prelude.NFData TimeInNanos where+ rnf TimeInNanos' {..} =+ Prelude.rnf offsetInNanos+ `Prelude.seq` Prelude.rnf timeInSeconds++instance Data.ToJSON TimeInNanos where+ toJSON TimeInNanos' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("offsetInNanos" Data..=) Prelude.<$> offsetInNanos,+ Prelude.Just+ ("timeInSeconds" Data..= timeInSeconds)+ ]+ )
+ gen/Amazonka/IoTSiteWise/Types/TimeOrdering.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.TimeOrdering+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.TimeOrdering+ ( TimeOrdering+ ( ..,+ TimeOrdering_ASCENDING,+ TimeOrdering_DESCENDING+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TimeOrdering = TimeOrdering'+ { fromTimeOrdering ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern TimeOrdering_ASCENDING :: TimeOrdering+pattern TimeOrdering_ASCENDING = TimeOrdering' "ASCENDING"++pattern TimeOrdering_DESCENDING :: TimeOrdering+pattern TimeOrdering_DESCENDING = TimeOrdering' "DESCENDING"++{-# COMPLETE+ TimeOrdering_ASCENDING,+ TimeOrdering_DESCENDING,+ TimeOrdering'+ #-}
+ gen/Amazonka/IoTSiteWise/Types/TimeSeriesSummary.hs view
@@ -0,0 +1,198 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.TimeSeriesSummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.TimeSeriesSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.PropertyDataType+import qualified Amazonka.Prelude as Prelude++-- | Contains a summary of a time series (data stream).+--+-- /See:/ 'newTimeSeriesSummary' smart constructor.+data TimeSeriesSummary = TimeSeriesSummary'+ { -- | The alias that identifies the time series.+ alias :: Prelude.Maybe Prelude.Text,+ -- | The ID of the asset in which the asset property was created.+ assetId :: Prelude.Maybe Prelude.Text,+ -- | 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 :: Prelude.Maybe Prelude.Text,+ -- | The ID of the asset property.+ propertyId :: Prelude.Maybe Prelude.Text,+ -- | The ID of the time series.+ timeSeriesId :: Prelude.Text,+ -- | 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.+ dataType :: PropertyDataType,+ -- | The date that the time series was created, in Unix epoch time.+ timeSeriesCreationDate :: Data.POSIX,+ -- | The date that the time series was last updated, in Unix epoch time.+ timeSeriesLastUpdateDate :: Data.POSIX+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TimeSeriesSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'alias', 'timeSeriesSummary_alias' - The alias that identifies the time series.+--+-- 'assetId', 'timeSeriesSummary_assetId' - The ID of the asset in which the asset property was created.+--+-- 'dataTypeSpec', 'timeSeriesSummary_dataTypeSpec' - 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.+--+-- 'propertyId', 'timeSeriesSummary_propertyId' - The ID of the asset property.+--+-- 'timeSeriesId', 'timeSeriesSummary_timeSeriesId' - The ID of the time series.+--+-- 'dataType', 'timeSeriesSummary_dataType' - 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.+--+-- 'timeSeriesCreationDate', 'timeSeriesSummary_timeSeriesCreationDate' - The date that the time series was created, in Unix epoch time.+--+-- 'timeSeriesLastUpdateDate', 'timeSeriesSummary_timeSeriesLastUpdateDate' - The date that the time series was last updated, in Unix epoch time.+newTimeSeriesSummary ::+ -- | 'timeSeriesId'+ Prelude.Text ->+ -- | 'dataType'+ PropertyDataType ->+ -- | 'timeSeriesCreationDate'+ Prelude.UTCTime ->+ -- | 'timeSeriesLastUpdateDate'+ Prelude.UTCTime ->+ TimeSeriesSummary+newTimeSeriesSummary+ pTimeSeriesId_+ pDataType_+ pTimeSeriesCreationDate_+ pTimeSeriesLastUpdateDate_ =+ TimeSeriesSummary'+ { alias = Prelude.Nothing,+ assetId = Prelude.Nothing,+ dataTypeSpec = Prelude.Nothing,+ propertyId = Prelude.Nothing,+ timeSeriesId = pTimeSeriesId_,+ dataType = pDataType_,+ timeSeriesCreationDate =+ Data._Time Lens.# pTimeSeriesCreationDate_,+ timeSeriesLastUpdateDate =+ Data._Time Lens.# pTimeSeriesLastUpdateDate_+ }++-- | The alias that identifies the time series.+timeSeriesSummary_alias :: Lens.Lens' TimeSeriesSummary (Prelude.Maybe Prelude.Text)+timeSeriesSummary_alias = Lens.lens (\TimeSeriesSummary' {alias} -> alias) (\s@TimeSeriesSummary' {} a -> s {alias = a} :: TimeSeriesSummary)++-- | The ID of the asset in which the asset property was created.+timeSeriesSummary_assetId :: Lens.Lens' TimeSeriesSummary (Prelude.Maybe Prelude.Text)+timeSeriesSummary_assetId = Lens.lens (\TimeSeriesSummary' {assetId} -> assetId) (\s@TimeSeriesSummary' {} a -> s {assetId = a} :: TimeSeriesSummary)++-- | 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.+timeSeriesSummary_dataTypeSpec :: Lens.Lens' TimeSeriesSummary (Prelude.Maybe Prelude.Text)+timeSeriesSummary_dataTypeSpec = Lens.lens (\TimeSeriesSummary' {dataTypeSpec} -> dataTypeSpec) (\s@TimeSeriesSummary' {} a -> s {dataTypeSpec = a} :: TimeSeriesSummary)++-- | The ID of the asset property.+timeSeriesSummary_propertyId :: Lens.Lens' TimeSeriesSummary (Prelude.Maybe Prelude.Text)+timeSeriesSummary_propertyId = Lens.lens (\TimeSeriesSummary' {propertyId} -> propertyId) (\s@TimeSeriesSummary' {} a -> s {propertyId = a} :: TimeSeriesSummary)++-- | The ID of the time series.+timeSeriesSummary_timeSeriesId :: Lens.Lens' TimeSeriesSummary Prelude.Text+timeSeriesSummary_timeSeriesId = Lens.lens (\TimeSeriesSummary' {timeSeriesId} -> timeSeriesId) (\s@TimeSeriesSummary' {} a -> s {timeSeriesId = a} :: TimeSeriesSummary)++-- | 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.+timeSeriesSummary_dataType :: Lens.Lens' TimeSeriesSummary PropertyDataType+timeSeriesSummary_dataType = Lens.lens (\TimeSeriesSummary' {dataType} -> dataType) (\s@TimeSeriesSummary' {} a -> s {dataType = a} :: TimeSeriesSummary)++-- | The date that the time series was created, in Unix epoch time.+timeSeriesSummary_timeSeriesCreationDate :: Lens.Lens' TimeSeriesSummary Prelude.UTCTime+timeSeriesSummary_timeSeriesCreationDate = Lens.lens (\TimeSeriesSummary' {timeSeriesCreationDate} -> timeSeriesCreationDate) (\s@TimeSeriesSummary' {} a -> s {timeSeriesCreationDate = a} :: TimeSeriesSummary) Prelude.. Data._Time++-- | The date that the time series was last updated, in Unix epoch time.+timeSeriesSummary_timeSeriesLastUpdateDate :: Lens.Lens' TimeSeriesSummary Prelude.UTCTime+timeSeriesSummary_timeSeriesLastUpdateDate = Lens.lens (\TimeSeriesSummary' {timeSeriesLastUpdateDate} -> timeSeriesLastUpdateDate) (\s@TimeSeriesSummary' {} a -> s {timeSeriesLastUpdateDate = a} :: TimeSeriesSummary) Prelude.. Data._Time++instance Data.FromJSON TimeSeriesSummary where+ parseJSON =+ Data.withObject+ "TimeSeriesSummary"+ ( \x ->+ TimeSeriesSummary'+ Prelude.<$> (x Data..:? "alias")+ Prelude.<*> (x Data..:? "assetId")+ Prelude.<*> (x Data..:? "dataTypeSpec")+ Prelude.<*> (x Data..:? "propertyId")+ Prelude.<*> (x Data..: "timeSeriesId")+ Prelude.<*> (x Data..: "dataType")+ Prelude.<*> (x Data..: "timeSeriesCreationDate")+ Prelude.<*> (x Data..: "timeSeriesLastUpdateDate")+ )++instance Prelude.Hashable TimeSeriesSummary where+ hashWithSalt _salt TimeSeriesSummary' {..} =+ _salt+ `Prelude.hashWithSalt` alias+ `Prelude.hashWithSalt` assetId+ `Prelude.hashWithSalt` dataTypeSpec+ `Prelude.hashWithSalt` propertyId+ `Prelude.hashWithSalt` timeSeriesId+ `Prelude.hashWithSalt` dataType+ `Prelude.hashWithSalt` timeSeriesCreationDate+ `Prelude.hashWithSalt` timeSeriesLastUpdateDate++instance Prelude.NFData TimeSeriesSummary where+ rnf TimeSeriesSummary' {..} =+ Prelude.rnf alias+ `Prelude.seq` Prelude.rnf assetId+ `Prelude.seq` Prelude.rnf dataTypeSpec+ `Prelude.seq` Prelude.rnf propertyId+ `Prelude.seq` Prelude.rnf timeSeriesId+ `Prelude.seq` Prelude.rnf dataType+ `Prelude.seq` Prelude.rnf timeSeriesCreationDate+ `Prelude.seq` Prelude.rnf timeSeriesLastUpdateDate
+ gen/Amazonka/IoTSiteWise/Types/Transform.hs view
@@ -0,0 +1,147 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.Transform+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.Transform where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.ExpressionVariable+import Amazonka.IoTSiteWise.Types.TransformProcessingConfig+import qualified Amazonka.Prelude as Prelude++-- | 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-properties.html#transforms Transforms>+-- in the /IoT SiteWise User Guide/.+--+-- /See:/ 'newTransform' smart constructor.+data Transform = Transform'+ { -- | 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 :: Prelude.Maybe TransformProcessingConfig,+ -- | 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+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html Quotas>+ -- in the /IoT SiteWise User Guide/.+ expression :: Prelude.Text,+ -- | The list of variables used in the expression.+ variables :: [ExpressionVariable]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Transform' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'processingConfig', 'transform_processingConfig' - 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.+--+-- 'expression', 'transform_expression' - 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html Quotas>+-- in the /IoT SiteWise User Guide/.+--+-- 'variables', 'transform_variables' - The list of variables used in the expression.+newTransform ::+ -- | 'expression'+ Prelude.Text ->+ Transform+newTransform pExpression_ =+ Transform'+ { processingConfig = Prelude.Nothing,+ expression = pExpression_,+ variables = Prelude.mempty+ }++-- | 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.+transform_processingConfig :: Lens.Lens' Transform (Prelude.Maybe TransformProcessingConfig)+transform_processingConfig = Lens.lens (\Transform' {processingConfig} -> processingConfig) (\s@Transform' {} a -> s {processingConfig = a} :: 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html Quotas>+-- in the /IoT SiteWise User Guide/.+transform_expression :: Lens.Lens' Transform Prelude.Text+transform_expression = Lens.lens (\Transform' {expression} -> expression) (\s@Transform' {} a -> s {expression = a} :: Transform)++-- | The list of variables used in the expression.+transform_variables :: Lens.Lens' Transform [ExpressionVariable]+transform_variables = Lens.lens (\Transform' {variables} -> variables) (\s@Transform' {} a -> s {variables = a} :: Transform) Prelude.. Lens.coerced++instance Data.FromJSON Transform where+ parseJSON =+ Data.withObject+ "Transform"+ ( \x ->+ Transform'+ Prelude.<$> (x Data..:? "processingConfig")+ Prelude.<*> (x Data..: "expression")+ Prelude.<*> (x Data..:? "variables" Data..!= Prelude.mempty)+ )++instance Prelude.Hashable Transform where+ hashWithSalt _salt Transform' {..} =+ _salt+ `Prelude.hashWithSalt` processingConfig+ `Prelude.hashWithSalt` expression+ `Prelude.hashWithSalt` variables++instance Prelude.NFData Transform where+ rnf Transform' {..} =+ Prelude.rnf processingConfig+ `Prelude.seq` Prelude.rnf expression+ `Prelude.seq` Prelude.rnf variables++instance Data.ToJSON Transform where+ toJSON Transform' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("processingConfig" Data..=)+ Prelude.<$> processingConfig,+ Prelude.Just ("expression" Data..= expression),+ Prelude.Just ("variables" Data..= variables)+ ]+ )
+ gen/Amazonka/IoTSiteWise/Types/TransformProcessingConfig.hs view
@@ -0,0 +1,102 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.TransformProcessingConfig+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.TransformProcessingConfig where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types.ComputeLocation+import Amazonka.IoTSiteWise.Types.ForwardingConfig+import qualified Amazonka.Prelude as Prelude++-- | 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.+--+-- /See:/ 'newTransformProcessingConfig' smart constructor.+data TransformProcessingConfig = TransformProcessingConfig'+ { forwardingConfig :: Prelude.Maybe ForwardingConfig,+ -- | The compute location for the given transform property.+ computeLocation :: ComputeLocation+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TransformProcessingConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'forwardingConfig', 'transformProcessingConfig_forwardingConfig' - Undocumented member.+--+-- 'computeLocation', 'transformProcessingConfig_computeLocation' - The compute location for the given transform property.+newTransformProcessingConfig ::+ -- | 'computeLocation'+ ComputeLocation ->+ TransformProcessingConfig+newTransformProcessingConfig pComputeLocation_ =+ TransformProcessingConfig'+ { forwardingConfig =+ Prelude.Nothing,+ computeLocation = pComputeLocation_+ }++-- | Undocumented member.+transformProcessingConfig_forwardingConfig :: Lens.Lens' TransformProcessingConfig (Prelude.Maybe ForwardingConfig)+transformProcessingConfig_forwardingConfig = Lens.lens (\TransformProcessingConfig' {forwardingConfig} -> forwardingConfig) (\s@TransformProcessingConfig' {} a -> s {forwardingConfig = a} :: TransformProcessingConfig)++-- | The compute location for the given transform property.+transformProcessingConfig_computeLocation :: Lens.Lens' TransformProcessingConfig ComputeLocation+transformProcessingConfig_computeLocation = Lens.lens (\TransformProcessingConfig' {computeLocation} -> computeLocation) (\s@TransformProcessingConfig' {} a -> s {computeLocation = a} :: TransformProcessingConfig)++instance Data.FromJSON TransformProcessingConfig where+ parseJSON =+ Data.withObject+ "TransformProcessingConfig"+ ( \x ->+ TransformProcessingConfig'+ Prelude.<$> (x Data..:? "forwardingConfig")+ Prelude.<*> (x Data..: "computeLocation")+ )++instance Prelude.Hashable TransformProcessingConfig where+ hashWithSalt _salt TransformProcessingConfig' {..} =+ _salt+ `Prelude.hashWithSalt` forwardingConfig+ `Prelude.hashWithSalt` computeLocation++instance Prelude.NFData TransformProcessingConfig where+ rnf TransformProcessingConfig' {..} =+ Prelude.rnf forwardingConfig+ `Prelude.seq` Prelude.rnf computeLocation++instance Data.ToJSON TransformProcessingConfig where+ toJSON TransformProcessingConfig' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("forwardingConfig" Data..=)+ Prelude.<$> forwardingConfig,+ Prelude.Just+ ("computeLocation" Data..= computeLocation)+ ]+ )
+ gen/Amazonka/IoTSiteWise/Types/TraversalDirection.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.TraversalDirection+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.TraversalDirection+ ( TraversalDirection+ ( ..,+ TraversalDirection_CHILD,+ TraversalDirection_PARENT+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TraversalDirection = TraversalDirection'+ { fromTraversalDirection ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern TraversalDirection_CHILD :: TraversalDirection+pattern TraversalDirection_CHILD = TraversalDirection' "CHILD"++pattern TraversalDirection_PARENT :: TraversalDirection+pattern TraversalDirection_PARENT = TraversalDirection' "PARENT"++{-# COMPLETE+ TraversalDirection_CHILD,+ TraversalDirection_PARENT,+ TraversalDirection'+ #-}
+ gen/Amazonka/IoTSiteWise/Types/TraversalType.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.TraversalType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.TraversalType+ ( TraversalType+ ( ..,+ TraversalType_PATH_TO_ROOT+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TraversalType = TraversalType'+ { fromTraversalType ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern TraversalType_PATH_TO_ROOT :: TraversalType+pattern TraversalType_PATH_TO_ROOT = TraversalType' "PATH_TO_ROOT"++{-# COMPLETE+ TraversalType_PATH_TO_ROOT,+ TraversalType'+ #-}
+ gen/Amazonka/IoTSiteWise/Types/TumblingWindow.hs view
@@ -0,0 +1,278 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.TumblingWindow+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.TumblingWindow where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | 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+-- <https://en.wikipedia.org/wiki/ISO_8601 ISO 8601 format>. For example,+-- @PT5S@ represents 5 seconds, @PT5M@ represents 5 minutes, and @PT5H@+-- represents 5 hours.+--+-- /See:/ 'newTumblingWindow' smart constructor.+data TumblingWindow = TumblingWindow'+ { -- | 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 :: Prelude.Maybe Prelude.Text,+ -- | 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.+ interval :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TumblingWindow' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'offset', 'tumblingWindow_offset' - 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.+--+-- 'interval', 'tumblingWindow_interval' - 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.+newTumblingWindow ::+ -- | 'interval'+ Prelude.Text ->+ TumblingWindow+newTumblingWindow pInterval_ =+ TumblingWindow'+ { offset = Prelude.Nothing,+ interval = pInterval_+ }++-- | 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.+tumblingWindow_offset :: Lens.Lens' TumblingWindow (Prelude.Maybe Prelude.Text)+tumblingWindow_offset = Lens.lens (\TumblingWindow' {offset} -> offset) (\s@TumblingWindow' {} a -> s {offset = a} :: 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.+tumblingWindow_interval :: Lens.Lens' TumblingWindow Prelude.Text+tumblingWindow_interval = Lens.lens (\TumblingWindow' {interval} -> interval) (\s@TumblingWindow' {} a -> s {interval = a} :: TumblingWindow)++instance Data.FromJSON TumblingWindow where+ parseJSON =+ Data.withObject+ "TumblingWindow"+ ( \x ->+ TumblingWindow'+ Prelude.<$> (x Data..:? "offset")+ Prelude.<*> (x Data..: "interval")+ )++instance Prelude.Hashable TumblingWindow where+ hashWithSalt _salt TumblingWindow' {..} =+ _salt+ `Prelude.hashWithSalt` offset+ `Prelude.hashWithSalt` interval++instance Prelude.NFData TumblingWindow where+ rnf TumblingWindow' {..} =+ Prelude.rnf offset+ `Prelude.seq` Prelude.rnf interval++instance Data.ToJSON TumblingWindow where+ toJSON TumblingWindow' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("offset" Data..=) Prelude.<$> offset,+ Prelude.Just ("interval" Data..= interval)+ ]+ )
+ gen/Amazonka/IoTSiteWise/Types/UserIdentity.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.UserIdentity+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.UserIdentity where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Contains information for a user identity in an access policy.+--+-- /See:/ 'newUserIdentity' smart constructor.+data UserIdentity = UserIdentity'+ { -- | The IAM Identity Center ID of the user.+ id :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UserIdentity' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'userIdentity_id' - The IAM Identity Center ID of the user.+newUserIdentity ::+ -- | 'id'+ Prelude.Text ->+ UserIdentity+newUserIdentity pId_ = UserIdentity' {id = pId_}++-- | The IAM Identity Center ID of the user.+userIdentity_id :: Lens.Lens' UserIdentity Prelude.Text+userIdentity_id = Lens.lens (\UserIdentity' {id} -> id) (\s@UserIdentity' {} a -> s {id = a} :: UserIdentity)++instance Data.FromJSON UserIdentity where+ parseJSON =+ Data.withObject+ "UserIdentity"+ (\x -> UserIdentity' Prelude.<$> (x Data..: "id"))++instance Prelude.Hashable UserIdentity where+ hashWithSalt _salt UserIdentity' {..} =+ _salt `Prelude.hashWithSalt` id++instance Prelude.NFData UserIdentity where+ rnf UserIdentity' {..} = Prelude.rnf id++instance Data.ToJSON UserIdentity where+ toJSON UserIdentity' {..} =+ Data.object+ (Prelude.catMaybes [Prelude.Just ("id" Data..= id)])
+ gen/Amazonka/IoTSiteWise/Types/VariableValue.hs view
@@ -0,0 +1,122 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.VariableValue+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.VariableValue where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Identifies a property value used in an expression.+--+-- /See:/ 'newVariableValue' smart constructor.+data VariableValue = VariableValue'+ { -- | 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+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html Asset hierarchies>+ -- in the /IoT SiteWise User Guide/.+ hierarchyId :: Prelude.Maybe Prelude.Text,+ -- | The ID of the property to use as the variable. You can use the property+ -- @name@ if it\'s from the same asset model.+ propertyId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'VariableValue' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'hierarchyId', 'variableValue_hierarchyId' - 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html Asset hierarchies>+-- in the /IoT SiteWise User Guide/.+--+-- 'propertyId', 'variableValue_propertyId' - The ID of the property to use as the variable. You can use the property+-- @name@ if it\'s from the same asset model.+newVariableValue ::+ -- | 'propertyId'+ Prelude.Text ->+ VariableValue+newVariableValue pPropertyId_ =+ VariableValue'+ { hierarchyId = Prelude.Nothing,+ propertyId = pPropertyId_+ }++-- | 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html Asset hierarchies>+-- in the /IoT SiteWise User Guide/.+variableValue_hierarchyId :: Lens.Lens' VariableValue (Prelude.Maybe Prelude.Text)+variableValue_hierarchyId = Lens.lens (\VariableValue' {hierarchyId} -> hierarchyId) (\s@VariableValue' {} a -> s {hierarchyId = a} :: 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.+variableValue_propertyId :: Lens.Lens' VariableValue Prelude.Text+variableValue_propertyId = Lens.lens (\VariableValue' {propertyId} -> propertyId) (\s@VariableValue' {} a -> s {propertyId = a} :: VariableValue)++instance Data.FromJSON VariableValue where+ parseJSON =+ Data.withObject+ "VariableValue"+ ( \x ->+ VariableValue'+ Prelude.<$> (x Data..:? "hierarchyId")+ Prelude.<*> (x Data..: "propertyId")+ )++instance Prelude.Hashable VariableValue where+ hashWithSalt _salt VariableValue' {..} =+ _salt+ `Prelude.hashWithSalt` hierarchyId+ `Prelude.hashWithSalt` propertyId++instance Prelude.NFData VariableValue where+ rnf VariableValue' {..} =+ Prelude.rnf hierarchyId+ `Prelude.seq` Prelude.rnf propertyId++instance Data.ToJSON VariableValue where+ toJSON VariableValue' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("hierarchyId" Data..=) Prelude.<$> hierarchyId,+ Prelude.Just ("propertyId" Data..= propertyId)+ ]+ )
+ gen/Amazonka/IoTSiteWise/Types/Variant.hs view
@@ -0,0 +1,119 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Types.Variant+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Types.Variant where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Contains an asset property value (of a single type only).+--+-- /See:/ 'newVariant' smart constructor.+data Variant = Variant'+ { -- | Asset property data of type Boolean (true or false).+ booleanValue :: Prelude.Maybe Prelude.Bool,+ -- | Asset property data of type double (floating point number).+ doubleValue :: Prelude.Maybe Prelude.Double,+ -- | Asset property data of type integer (whole number).+ integerValue :: Prelude.Maybe Prelude.Int,+ -- | Asset property data of type string (sequence of characters).+ stringValue :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Variant' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'booleanValue', 'variant_booleanValue' - Asset property data of type Boolean (true or false).+--+-- 'doubleValue', 'variant_doubleValue' - Asset property data of type double (floating point number).+--+-- 'integerValue', 'variant_integerValue' - Asset property data of type integer (whole number).+--+-- 'stringValue', 'variant_stringValue' - Asset property data of type string (sequence of characters).+newVariant ::+ Variant+newVariant =+ Variant'+ { booleanValue = Prelude.Nothing,+ doubleValue = Prelude.Nothing,+ integerValue = Prelude.Nothing,+ stringValue = Prelude.Nothing+ }++-- | Asset property data of type Boolean (true or false).+variant_booleanValue :: Lens.Lens' Variant (Prelude.Maybe Prelude.Bool)+variant_booleanValue = Lens.lens (\Variant' {booleanValue} -> booleanValue) (\s@Variant' {} a -> s {booleanValue = a} :: Variant)++-- | Asset property data of type double (floating point number).+variant_doubleValue :: Lens.Lens' Variant (Prelude.Maybe Prelude.Double)+variant_doubleValue = Lens.lens (\Variant' {doubleValue} -> doubleValue) (\s@Variant' {} a -> s {doubleValue = a} :: Variant)++-- | Asset property data of type integer (whole number).+variant_integerValue :: Lens.Lens' Variant (Prelude.Maybe Prelude.Int)+variant_integerValue = Lens.lens (\Variant' {integerValue} -> integerValue) (\s@Variant' {} a -> s {integerValue = a} :: Variant)++-- | Asset property data of type string (sequence of characters).+variant_stringValue :: Lens.Lens' Variant (Prelude.Maybe Prelude.Text)+variant_stringValue = Lens.lens (\Variant' {stringValue} -> stringValue) (\s@Variant' {} a -> s {stringValue = a} :: Variant)++instance Data.FromJSON Variant where+ parseJSON =+ Data.withObject+ "Variant"+ ( \x ->+ Variant'+ Prelude.<$> (x Data..:? "booleanValue")+ Prelude.<*> (x Data..:? "doubleValue")+ Prelude.<*> (x Data..:? "integerValue")+ Prelude.<*> (x Data..:? "stringValue")+ )++instance Prelude.Hashable Variant where+ hashWithSalt _salt Variant' {..} =+ _salt+ `Prelude.hashWithSalt` booleanValue+ `Prelude.hashWithSalt` doubleValue+ `Prelude.hashWithSalt` integerValue+ `Prelude.hashWithSalt` stringValue++instance Prelude.NFData Variant where+ rnf Variant' {..} =+ Prelude.rnf booleanValue+ `Prelude.seq` Prelude.rnf doubleValue+ `Prelude.seq` Prelude.rnf integerValue+ `Prelude.seq` Prelude.rnf stringValue++instance Data.ToJSON Variant where+ toJSON Variant' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("booleanValue" Data..=) Prelude.<$> booleanValue,+ ("doubleValue" Data..=) Prelude.<$> doubleValue,+ ("integerValue" Data..=) Prelude.<$> integerValue,+ ("stringValue" Data..=) Prelude.<$> stringValue+ ]+ )
+ gen/Amazonka/IoTSiteWise/UntagResource.hs view
@@ -0,0 +1,168 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.UntagResource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Removes a tag from an IoT SiteWise resource.+module Amazonka.IoTSiteWise.UntagResource+ ( -- * Creating a Request+ UntagResource (..),+ newUntagResource,++ -- * Request Lenses+ untagResource_resourceArn,+ untagResource_tagKeys,++ -- * Destructuring the Response+ UntagResourceResponse (..),+ newUntagResourceResponse,++ -- * Response Lenses+ untagResourceResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUntagResource' smart constructor.+data UntagResource = UntagResource'+ { -- | The+ -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+ -- of the resource to untag.+ resourceArn :: Prelude.Text,+ -- | A list of keys for tags to remove from the resource.+ tagKeys :: [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'untagResource_resourceArn' - The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of the resource to untag.+--+-- 'tagKeys', 'untagResource_tagKeys' - A list of keys for tags to remove from the resource.+newUntagResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ UntagResource+newUntagResource pResourceArn_ =+ UntagResource'+ { resourceArn = pResourceArn_,+ tagKeys = Prelude.mempty+ }++-- | The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of the resource to untag.+untagResource_resourceArn :: Lens.Lens' UntagResource Prelude.Text+untagResource_resourceArn = Lens.lens (\UntagResource' {resourceArn} -> resourceArn) (\s@UntagResource' {} a -> s {resourceArn = a} :: UntagResource)++-- | A list of keys for tags to remove from the resource.+untagResource_tagKeys :: Lens.Lens' UntagResource [Prelude.Text]+untagResource_tagKeys = Lens.lens (\UntagResource' {tagKeys} -> tagKeys) (\s@UntagResource' {} a -> s {tagKeys = a} :: UntagResource) Prelude.. Lens.coerced++instance Core.AWSRequest UntagResource where+ type+ AWSResponse UntagResource =+ UntagResourceResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ UntagResourceResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UntagResource where+ hashWithSalt _salt UntagResource' {..} =+ _salt+ `Prelude.hashWithSalt` resourceArn+ `Prelude.hashWithSalt` tagKeys++instance Prelude.NFData UntagResource where+ rnf UntagResource' {..} =+ Prelude.rnf resourceArn+ `Prelude.seq` Prelude.rnf tagKeys++instance Data.ToHeaders UntagResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath UntagResource where+ toPath = Prelude.const "/tags"++instance Data.ToQuery UntagResource where+ toQuery UntagResource' {..} =+ Prelude.mconcat+ [ "resourceArn" Data.=: resourceArn,+ "tagKeys" Data.=: Data.toQueryList "member" tagKeys+ ]++-- | /See:/ 'newUntagResourceResponse' smart constructor.+data UntagResourceResponse = UntagResourceResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'untagResourceResponse_httpStatus' - The response's http status code.+newUntagResourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UntagResourceResponse+newUntagResourceResponse pHttpStatus_ =+ UntagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+untagResourceResponse_httpStatus :: Lens.Lens' UntagResourceResponse Prelude.Int+untagResourceResponse_httpStatus = Lens.lens (\UntagResourceResponse' {httpStatus} -> httpStatus) (\s@UntagResourceResponse' {} a -> s {httpStatus = a} :: UntagResourceResponse)++instance Prelude.NFData UntagResourceResponse where+ rnf UntagResourceResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/IoTSiteWise/UpdateAccessPolicy.hs view
@@ -0,0 +1,245 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.UpdateAccessPolicy+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an existing access policy that specifies an identity\'s access+-- to an IoT SiteWise Monitor portal or project resource.+module Amazonka.IoTSiteWise.UpdateAccessPolicy+ ( -- * Creating a Request+ UpdateAccessPolicy (..),+ newUpdateAccessPolicy,++ -- * Request Lenses+ updateAccessPolicy_clientToken,+ updateAccessPolicy_accessPolicyId,+ updateAccessPolicy_accessPolicyIdentity,+ updateAccessPolicy_accessPolicyResource,+ updateAccessPolicy_accessPolicyPermission,++ -- * Destructuring the Response+ UpdateAccessPolicyResponse (..),+ newUpdateAccessPolicyResponse,++ -- * Response Lenses+ updateAccessPolicyResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateAccessPolicy' smart constructor.+data UpdateAccessPolicy = UpdateAccessPolicy'+ { -- | 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.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The ID of the access policy.+ accessPolicyId :: Prelude.Text,+ -- | The identity for this access policy. Choose an IAM Identity Center user,+ -- an IAM Identity Center group, or an IAM user.+ accessPolicyIdentity :: Identity,+ -- | The IoT SiteWise Monitor resource for this access policy. Choose either+ -- a portal or a project.+ accessPolicyResource :: Resource,+ -- | The permission level for this access policy. Note that a project+ -- @ADMINISTRATOR@ is also known as a project owner.+ accessPolicyPermission :: Permission+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAccessPolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'updateAccessPolicy_clientToken' - A unique case-sensitive identifier that you can provide to ensure the+-- idempotency of the request. Don\'t reuse this client token if a new+-- idempotent request is required.+--+-- 'accessPolicyId', 'updateAccessPolicy_accessPolicyId' - The ID of the access policy.+--+-- 'accessPolicyIdentity', 'updateAccessPolicy_accessPolicyIdentity' - The identity for this access policy. Choose an IAM Identity Center user,+-- an IAM Identity Center group, or an IAM user.+--+-- 'accessPolicyResource', 'updateAccessPolicy_accessPolicyResource' - The IoT SiteWise Monitor resource for this access policy. Choose either+-- a portal or a project.+--+-- 'accessPolicyPermission', 'updateAccessPolicy_accessPolicyPermission' - The permission level for this access policy. Note that a project+-- @ADMINISTRATOR@ is also known as a project owner.+newUpdateAccessPolicy ::+ -- | 'accessPolicyId'+ Prelude.Text ->+ -- | 'accessPolicyIdentity'+ Identity ->+ -- | 'accessPolicyResource'+ Resource ->+ -- | 'accessPolicyPermission'+ Permission ->+ UpdateAccessPolicy+newUpdateAccessPolicy+ pAccessPolicyId_+ pAccessPolicyIdentity_+ pAccessPolicyResource_+ pAccessPolicyPermission_ =+ UpdateAccessPolicy'+ { clientToken = Prelude.Nothing,+ accessPolicyId = pAccessPolicyId_,+ accessPolicyIdentity = pAccessPolicyIdentity_,+ accessPolicyResource = pAccessPolicyResource_,+ accessPolicyPermission = pAccessPolicyPermission_+ }++-- | 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.+updateAccessPolicy_clientToken :: Lens.Lens' UpdateAccessPolicy (Prelude.Maybe Prelude.Text)+updateAccessPolicy_clientToken = Lens.lens (\UpdateAccessPolicy' {clientToken} -> clientToken) (\s@UpdateAccessPolicy' {} a -> s {clientToken = a} :: UpdateAccessPolicy)++-- | The ID of the access policy.+updateAccessPolicy_accessPolicyId :: Lens.Lens' UpdateAccessPolicy Prelude.Text+updateAccessPolicy_accessPolicyId = Lens.lens (\UpdateAccessPolicy' {accessPolicyId} -> accessPolicyId) (\s@UpdateAccessPolicy' {} a -> s {accessPolicyId = a} :: UpdateAccessPolicy)++-- | The identity for this access policy. Choose an IAM Identity Center user,+-- an IAM Identity Center group, or an IAM user.+updateAccessPolicy_accessPolicyIdentity :: Lens.Lens' UpdateAccessPolicy Identity+updateAccessPolicy_accessPolicyIdentity = Lens.lens (\UpdateAccessPolicy' {accessPolicyIdentity} -> accessPolicyIdentity) (\s@UpdateAccessPolicy' {} a -> s {accessPolicyIdentity = a} :: UpdateAccessPolicy)++-- | The IoT SiteWise Monitor resource for this access policy. Choose either+-- a portal or a project.+updateAccessPolicy_accessPolicyResource :: Lens.Lens' UpdateAccessPolicy Resource+updateAccessPolicy_accessPolicyResource = Lens.lens (\UpdateAccessPolicy' {accessPolicyResource} -> accessPolicyResource) (\s@UpdateAccessPolicy' {} a -> s {accessPolicyResource = a} :: UpdateAccessPolicy)++-- | The permission level for this access policy. Note that a project+-- @ADMINISTRATOR@ is also known as a project owner.+updateAccessPolicy_accessPolicyPermission :: Lens.Lens' UpdateAccessPolicy Permission+updateAccessPolicy_accessPolicyPermission = Lens.lens (\UpdateAccessPolicy' {accessPolicyPermission} -> accessPolicyPermission) (\s@UpdateAccessPolicy' {} a -> s {accessPolicyPermission = a} :: UpdateAccessPolicy)++instance Core.AWSRequest UpdateAccessPolicy where+ type+ AWSResponse UpdateAccessPolicy =+ UpdateAccessPolicyResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ UpdateAccessPolicyResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateAccessPolicy where+ hashWithSalt _salt UpdateAccessPolicy' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` accessPolicyId+ `Prelude.hashWithSalt` accessPolicyIdentity+ `Prelude.hashWithSalt` accessPolicyResource+ `Prelude.hashWithSalt` accessPolicyPermission++instance Prelude.NFData UpdateAccessPolicy where+ rnf UpdateAccessPolicy' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf accessPolicyId+ `Prelude.seq` Prelude.rnf accessPolicyIdentity+ `Prelude.seq` Prelude.rnf accessPolicyResource+ `Prelude.seq` Prelude.rnf accessPolicyPermission++instance Data.ToHeaders UpdateAccessPolicy where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateAccessPolicy where+ toJSON UpdateAccessPolicy' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("clientToken" Data..=) Prelude.<$> clientToken,+ Prelude.Just+ ( "accessPolicyIdentity"+ Data..= accessPolicyIdentity+ ),+ Prelude.Just+ ( "accessPolicyResource"+ Data..= accessPolicyResource+ ),+ Prelude.Just+ ( "accessPolicyPermission"+ Data..= accessPolicyPermission+ )+ ]+ )++instance Data.ToPath UpdateAccessPolicy where+ toPath UpdateAccessPolicy' {..} =+ Prelude.mconcat+ ["/access-policies/", Data.toBS accessPolicyId]++instance Data.ToQuery UpdateAccessPolicy where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateAccessPolicyResponse' smart constructor.+data UpdateAccessPolicyResponse = UpdateAccessPolicyResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAccessPolicyResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'updateAccessPolicyResponse_httpStatus' - The response's http status code.+newUpdateAccessPolicyResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateAccessPolicyResponse+newUpdateAccessPolicyResponse pHttpStatus_ =+ UpdateAccessPolicyResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+updateAccessPolicyResponse_httpStatus :: Lens.Lens' UpdateAccessPolicyResponse Prelude.Int+updateAccessPolicyResponse_httpStatus = Lens.lens (\UpdateAccessPolicyResponse' {httpStatus} -> httpStatus) (\s@UpdateAccessPolicyResponse' {} a -> s {httpStatus = a} :: UpdateAccessPolicyResponse)++instance Prelude.NFData UpdateAccessPolicyResponse where+ rnf UpdateAccessPolicyResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/IoTSiteWise/UpdateAsset.hs view
@@ -0,0 +1,221 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.UpdateAsset+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an asset\'s name. For more information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/update-assets-and-models.html Updating assets and models>+-- in the /IoT SiteWise User Guide/.+module Amazonka.IoTSiteWise.UpdateAsset+ ( -- * Creating a Request+ UpdateAsset (..),+ newUpdateAsset,++ -- * Request Lenses+ updateAsset_assetDescription,+ updateAsset_clientToken,+ updateAsset_assetId,+ updateAsset_assetName,++ -- * Destructuring the Response+ UpdateAssetResponse (..),+ newUpdateAssetResponse,++ -- * Response Lenses+ updateAssetResponse_httpStatus,+ updateAssetResponse_assetStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateAsset' smart constructor.+data UpdateAsset = UpdateAsset'+ { -- | A description for the asset.+ assetDescription :: Prelude.Maybe Prelude.Text,+ -- | 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.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The ID of the asset to update.+ assetId :: Prelude.Text,+ -- | A friendly name for the asset.+ assetName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAsset' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'assetDescription', 'updateAsset_assetDescription' - A description for the asset.+--+-- 'clientToken', 'updateAsset_clientToken' - A unique case-sensitive identifier that you can provide to ensure the+-- idempotency of the request. Don\'t reuse this client token if a new+-- idempotent request is required.+--+-- 'assetId', 'updateAsset_assetId' - The ID of the asset to update.+--+-- 'assetName', 'updateAsset_assetName' - A friendly name for the asset.+newUpdateAsset ::+ -- | 'assetId'+ Prelude.Text ->+ -- | 'assetName'+ Prelude.Text ->+ UpdateAsset+newUpdateAsset pAssetId_ pAssetName_ =+ UpdateAsset'+ { assetDescription = Prelude.Nothing,+ clientToken = Prelude.Nothing,+ assetId = pAssetId_,+ assetName = pAssetName_+ }++-- | A description for the asset.+updateAsset_assetDescription :: Lens.Lens' UpdateAsset (Prelude.Maybe Prelude.Text)+updateAsset_assetDescription = Lens.lens (\UpdateAsset' {assetDescription} -> assetDescription) (\s@UpdateAsset' {} a -> s {assetDescription = a} :: UpdateAsset)++-- | 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.+updateAsset_clientToken :: Lens.Lens' UpdateAsset (Prelude.Maybe Prelude.Text)+updateAsset_clientToken = Lens.lens (\UpdateAsset' {clientToken} -> clientToken) (\s@UpdateAsset' {} a -> s {clientToken = a} :: UpdateAsset)++-- | The ID of the asset to update.+updateAsset_assetId :: Lens.Lens' UpdateAsset Prelude.Text+updateAsset_assetId = Lens.lens (\UpdateAsset' {assetId} -> assetId) (\s@UpdateAsset' {} a -> s {assetId = a} :: UpdateAsset)++-- | A friendly name for the asset.+updateAsset_assetName :: Lens.Lens' UpdateAsset Prelude.Text+updateAsset_assetName = Lens.lens (\UpdateAsset' {assetName} -> assetName) (\s@UpdateAsset' {} a -> s {assetName = a} :: UpdateAsset)++instance Core.AWSRequest UpdateAsset where+ type AWSResponse UpdateAsset = UpdateAssetResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateAssetResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "assetStatus")+ )++instance Prelude.Hashable UpdateAsset where+ hashWithSalt _salt UpdateAsset' {..} =+ _salt+ `Prelude.hashWithSalt` assetDescription+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` assetId+ `Prelude.hashWithSalt` assetName++instance Prelude.NFData UpdateAsset where+ rnf UpdateAsset' {..} =+ Prelude.rnf assetDescription+ `Prelude.seq` Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf assetId+ `Prelude.seq` Prelude.rnf assetName++instance Data.ToHeaders UpdateAsset where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateAsset where+ toJSON UpdateAsset' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("assetDescription" Data..=)+ Prelude.<$> assetDescription,+ ("clientToken" Data..=) Prelude.<$> clientToken,+ Prelude.Just ("assetName" Data..= assetName)+ ]+ )++instance Data.ToPath UpdateAsset where+ toPath UpdateAsset' {..} =+ Prelude.mconcat ["/assets/", Data.toBS assetId]++instance Data.ToQuery UpdateAsset where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateAssetResponse' smart constructor.+data UpdateAssetResponse = UpdateAssetResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The status of the asset, which contains a state (@UPDATING@ after+ -- successfully calling this operation) and any error message.+ assetStatus :: AssetStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAssetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'updateAssetResponse_httpStatus' - The response's http status code.+--+-- 'assetStatus', 'updateAssetResponse_assetStatus' - The status of the asset, which contains a state (@UPDATING@ after+-- successfully calling this operation) and any error message.+newUpdateAssetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'assetStatus'+ AssetStatus ->+ UpdateAssetResponse+newUpdateAssetResponse pHttpStatus_ pAssetStatus_ =+ UpdateAssetResponse'+ { httpStatus = pHttpStatus_,+ assetStatus = pAssetStatus_+ }++-- | The response's http status code.+updateAssetResponse_httpStatus :: Lens.Lens' UpdateAssetResponse Prelude.Int+updateAssetResponse_httpStatus = Lens.lens (\UpdateAssetResponse' {httpStatus} -> httpStatus) (\s@UpdateAssetResponse' {} a -> s {httpStatus = a} :: UpdateAssetResponse)++-- | The status of the asset, which contains a state (@UPDATING@ after+-- successfully calling this operation) and any error message.+updateAssetResponse_assetStatus :: Lens.Lens' UpdateAssetResponse AssetStatus+updateAssetResponse_assetStatus = Lens.lens (\UpdateAssetResponse' {assetStatus} -> assetStatus) (\s@UpdateAssetResponse' {} a -> s {assetStatus = a} :: UpdateAssetResponse)++instance Prelude.NFData UpdateAssetResponse where+ rnf UpdateAssetResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf assetStatus
+ gen/Amazonka/IoTSiteWise/UpdateAssetModel.hs view
@@ -0,0 +1,348 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.UpdateAssetModel+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/update-assets-and-models.html 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeAssetModel.html 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.+module Amazonka.IoTSiteWise.UpdateAssetModel+ ( -- * Creating a Request+ UpdateAssetModel (..),+ newUpdateAssetModel,++ -- * Request Lenses+ updateAssetModel_assetModelCompositeModels,+ updateAssetModel_assetModelDescription,+ updateAssetModel_assetModelHierarchies,+ updateAssetModel_assetModelProperties,+ updateAssetModel_clientToken,+ updateAssetModel_assetModelId,+ updateAssetModel_assetModelName,++ -- * Destructuring the Response+ UpdateAssetModelResponse (..),+ newUpdateAssetModelResponse,++ -- * Response Lenses+ updateAssetModelResponse_httpStatus,+ updateAssetModelResponse_assetModelStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateAssetModel' smart constructor.+data UpdateAssetModel = UpdateAssetModel'+ { -- | 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 :: Prelude.Maybe [AssetModelCompositeModel],+ -- | A description for the asset model.+ assetModelDescription :: Prelude.Maybe Prelude.Text,+ -- | 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+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html Asset hierarchies>+ -- in the /IoT SiteWise User Guide/.+ --+ -- You can specify up to 10 hierarchies per asset model. For more+ -- information, see+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html Quotas>+ -- in the /IoT SiteWise User Guide/.+ assetModelHierarchies :: Prelude.Maybe [AssetModelHierarchy],+ -- | The updated property definitions of the asset model. For more+ -- information, see+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-properties.html Asset properties>+ -- in the /IoT SiteWise User Guide/.+ --+ -- You can specify up to 200 properties per asset model. For more+ -- information, see+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html Quotas>+ -- in the /IoT SiteWise User Guide/.+ assetModelProperties :: Prelude.Maybe [AssetModelProperty],+ -- | 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.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The ID of the asset model to update.+ assetModelId :: Prelude.Text,+ -- | A unique, friendly name for the asset model.+ assetModelName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAssetModel' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'assetModelCompositeModels', 'updateAssetModel_assetModelCompositeModels' - The composite asset models that are part of this asset model. Composite+-- asset models are asset models that contain specific properties. Each+-- composite model has a type that defines the properties that the+-- composite model supports. Use composite asset models to define alarms on+-- this asset model.+--+-- 'assetModelDescription', 'updateAssetModel_assetModelDescription' - A description for the asset model.+--+-- 'assetModelHierarchies', 'updateAssetModel_assetModelHierarchies' - 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html Asset hierarchies>+-- in the /IoT SiteWise User Guide/.+--+-- You can specify up to 10 hierarchies per asset model. For more+-- information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html Quotas>+-- in the /IoT SiteWise User Guide/.+--+-- 'assetModelProperties', 'updateAssetModel_assetModelProperties' - The updated property definitions of the asset model. For more+-- information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-properties.html Asset properties>+-- in the /IoT SiteWise User Guide/.+--+-- You can specify up to 200 properties per asset model. For more+-- information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html Quotas>+-- in the /IoT SiteWise User Guide/.+--+-- 'clientToken', 'updateAssetModel_clientToken' - A unique case-sensitive identifier that you can provide to ensure the+-- idempotency of the request. Don\'t reuse this client token if a new+-- idempotent request is required.+--+-- 'assetModelId', 'updateAssetModel_assetModelId' - The ID of the asset model to update.+--+-- 'assetModelName', 'updateAssetModel_assetModelName' - A unique, friendly name for the asset model.+newUpdateAssetModel ::+ -- | 'assetModelId'+ Prelude.Text ->+ -- | 'assetModelName'+ Prelude.Text ->+ UpdateAssetModel+newUpdateAssetModel pAssetModelId_ pAssetModelName_ =+ UpdateAssetModel'+ { assetModelCompositeModels =+ Prelude.Nothing,+ assetModelDescription = Prelude.Nothing,+ assetModelHierarchies = Prelude.Nothing,+ assetModelProperties = Prelude.Nothing,+ clientToken = Prelude.Nothing,+ assetModelId = pAssetModelId_,+ assetModelName = pAssetModelName_+ }++-- | 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.+updateAssetModel_assetModelCompositeModels :: Lens.Lens' UpdateAssetModel (Prelude.Maybe [AssetModelCompositeModel])+updateAssetModel_assetModelCompositeModels = Lens.lens (\UpdateAssetModel' {assetModelCompositeModels} -> assetModelCompositeModels) (\s@UpdateAssetModel' {} a -> s {assetModelCompositeModels = a} :: UpdateAssetModel) Prelude.. Lens.mapping Lens.coerced++-- | A description for the asset model.+updateAssetModel_assetModelDescription :: Lens.Lens' UpdateAssetModel (Prelude.Maybe Prelude.Text)+updateAssetModel_assetModelDescription = Lens.lens (\UpdateAssetModel' {assetModelDescription} -> assetModelDescription) (\s@UpdateAssetModel' {} a -> s {assetModelDescription = a} :: UpdateAssetModel)++-- | 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html Asset hierarchies>+-- in the /IoT SiteWise User Guide/.+--+-- You can specify up to 10 hierarchies per asset model. For more+-- information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html Quotas>+-- in the /IoT SiteWise User Guide/.+updateAssetModel_assetModelHierarchies :: Lens.Lens' UpdateAssetModel (Prelude.Maybe [AssetModelHierarchy])+updateAssetModel_assetModelHierarchies = Lens.lens (\UpdateAssetModel' {assetModelHierarchies} -> assetModelHierarchies) (\s@UpdateAssetModel' {} a -> s {assetModelHierarchies = a} :: UpdateAssetModel) Prelude.. Lens.mapping Lens.coerced++-- | The updated property definitions of the asset model. For more+-- information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-properties.html Asset properties>+-- in the /IoT SiteWise User Guide/.+--+-- You can specify up to 200 properties per asset model. For more+-- information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html Quotas>+-- in the /IoT SiteWise User Guide/.+updateAssetModel_assetModelProperties :: Lens.Lens' UpdateAssetModel (Prelude.Maybe [AssetModelProperty])+updateAssetModel_assetModelProperties = Lens.lens (\UpdateAssetModel' {assetModelProperties} -> assetModelProperties) (\s@UpdateAssetModel' {} a -> s {assetModelProperties = a} :: UpdateAssetModel) Prelude.. Lens.mapping Lens.coerced++-- | 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.+updateAssetModel_clientToken :: Lens.Lens' UpdateAssetModel (Prelude.Maybe Prelude.Text)+updateAssetModel_clientToken = Lens.lens (\UpdateAssetModel' {clientToken} -> clientToken) (\s@UpdateAssetModel' {} a -> s {clientToken = a} :: UpdateAssetModel)++-- | The ID of the asset model to update.+updateAssetModel_assetModelId :: Lens.Lens' UpdateAssetModel Prelude.Text+updateAssetModel_assetModelId = Lens.lens (\UpdateAssetModel' {assetModelId} -> assetModelId) (\s@UpdateAssetModel' {} a -> s {assetModelId = a} :: UpdateAssetModel)++-- | A unique, friendly name for the asset model.+updateAssetModel_assetModelName :: Lens.Lens' UpdateAssetModel Prelude.Text+updateAssetModel_assetModelName = Lens.lens (\UpdateAssetModel' {assetModelName} -> assetModelName) (\s@UpdateAssetModel' {} a -> s {assetModelName = a} :: UpdateAssetModel)++instance Core.AWSRequest UpdateAssetModel where+ type+ AWSResponse UpdateAssetModel =+ UpdateAssetModelResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateAssetModelResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "assetModelStatus")+ )++instance Prelude.Hashable UpdateAssetModel where+ hashWithSalt _salt UpdateAssetModel' {..} =+ _salt+ `Prelude.hashWithSalt` assetModelCompositeModels+ `Prelude.hashWithSalt` assetModelDescription+ `Prelude.hashWithSalt` assetModelHierarchies+ `Prelude.hashWithSalt` assetModelProperties+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` assetModelId+ `Prelude.hashWithSalt` assetModelName++instance Prelude.NFData UpdateAssetModel where+ rnf UpdateAssetModel' {..} =+ Prelude.rnf assetModelCompositeModels+ `Prelude.seq` Prelude.rnf assetModelDescription+ `Prelude.seq` Prelude.rnf assetModelHierarchies+ `Prelude.seq` Prelude.rnf assetModelProperties+ `Prelude.seq` Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf assetModelId+ `Prelude.seq` Prelude.rnf assetModelName++instance Data.ToHeaders UpdateAssetModel where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateAssetModel where+ toJSON UpdateAssetModel' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("assetModelCompositeModels" Data..=)+ Prelude.<$> assetModelCompositeModels,+ ("assetModelDescription" Data..=)+ Prelude.<$> assetModelDescription,+ ("assetModelHierarchies" Data..=)+ Prelude.<$> assetModelHierarchies,+ ("assetModelProperties" Data..=)+ Prelude.<$> assetModelProperties,+ ("clientToken" Data..=) Prelude.<$> clientToken,+ Prelude.Just+ ("assetModelName" Data..= assetModelName)+ ]+ )++instance Data.ToPath UpdateAssetModel where+ toPath UpdateAssetModel' {..} =+ Prelude.mconcat+ ["/asset-models/", Data.toBS assetModelId]++instance Data.ToQuery UpdateAssetModel where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateAssetModelResponse' smart constructor.+data UpdateAssetModelResponse = UpdateAssetModelResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The status of the asset model, which contains a state (@UPDATING@ after+ -- successfully calling this operation) and any error message.+ assetModelStatus :: AssetModelStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAssetModelResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'updateAssetModelResponse_httpStatus' - The response's http status code.+--+-- 'assetModelStatus', 'updateAssetModelResponse_assetModelStatus' - The status of the asset model, which contains a state (@UPDATING@ after+-- successfully calling this operation) and any error message.+newUpdateAssetModelResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'assetModelStatus'+ AssetModelStatus ->+ UpdateAssetModelResponse+newUpdateAssetModelResponse+ pHttpStatus_+ pAssetModelStatus_ =+ UpdateAssetModelResponse'+ { httpStatus =+ pHttpStatus_,+ assetModelStatus = pAssetModelStatus_+ }++-- | The response's http status code.+updateAssetModelResponse_httpStatus :: Lens.Lens' UpdateAssetModelResponse Prelude.Int+updateAssetModelResponse_httpStatus = Lens.lens (\UpdateAssetModelResponse' {httpStatus} -> httpStatus) (\s@UpdateAssetModelResponse' {} a -> s {httpStatus = a} :: UpdateAssetModelResponse)++-- | The status of the asset model, which contains a state (@UPDATING@ after+-- successfully calling this operation) and any error message.+updateAssetModelResponse_assetModelStatus :: Lens.Lens' UpdateAssetModelResponse AssetModelStatus+updateAssetModelResponse_assetModelStatus = Lens.lens (\UpdateAssetModelResponse' {assetModelStatus} -> assetModelStatus) (\s@UpdateAssetModelResponse' {} a -> s {assetModelStatus = a} :: UpdateAssetModelResponse)++instance Prelude.NFData UpdateAssetModelResponse where+ rnf UpdateAssetModelResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf assetModelStatus
+ gen/Amazonka/IoTSiteWise/UpdateAssetProperty.hs view
@@ -0,0 +1,263 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.UpdateAssetProperty+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeAssetProperty.html DescribeAssetProperty>.+module Amazonka.IoTSiteWise.UpdateAssetProperty+ ( -- * Creating a Request+ UpdateAssetProperty (..),+ newUpdateAssetProperty,++ -- * Request Lenses+ updateAssetProperty_clientToken,+ updateAssetProperty_propertyAlias,+ updateAssetProperty_propertyNotificationState,+ updateAssetProperty_propertyUnit,+ updateAssetProperty_assetId,+ updateAssetProperty_propertyId,++ -- * Destructuring the Response+ UpdateAssetPropertyResponse (..),+ newUpdateAssetPropertyResponse,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateAssetProperty' smart constructor.+data UpdateAssetProperty = UpdateAssetProperty'+ { -- | 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.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | 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+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html 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 :: Prelude.Maybe Prelude.Text,+ -- | 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+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/interact-with-other-services.html Interacting with other services>+ -- in the /IoT SiteWise User Guide/.+ --+ -- If you omit this parameter, the notification state is set to @DISABLED@.+ propertyNotificationState :: Prelude.Maybe PropertyNotificationState,+ -- | 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 :: Prelude.Maybe Prelude.Text,+ -- | The ID of the asset to be updated.+ assetId :: Prelude.Text,+ -- | The ID of the asset property to be updated.+ propertyId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAssetProperty' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'updateAssetProperty_clientToken' - A unique case-sensitive identifier that you can provide to ensure the+-- idempotency of the request. Don\'t reuse this client token if a new+-- idempotent request is required.+--+-- 'propertyAlias', 'updateAssetProperty_propertyAlias' - 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html 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.+--+-- 'propertyNotificationState', 'updateAssetProperty_propertyNotificationState' - 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/interact-with-other-services.html Interacting with other services>+-- in the /IoT SiteWise User Guide/.+--+-- If you omit this parameter, the notification state is set to @DISABLED@.+--+-- 'propertyUnit', 'updateAssetProperty_propertyUnit' - 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.+--+-- 'assetId', 'updateAssetProperty_assetId' - The ID of the asset to be updated.+--+-- 'propertyId', 'updateAssetProperty_propertyId' - The ID of the asset property to be updated.+newUpdateAssetProperty ::+ -- | 'assetId'+ Prelude.Text ->+ -- | 'propertyId'+ Prelude.Text ->+ UpdateAssetProperty+newUpdateAssetProperty pAssetId_ pPropertyId_ =+ UpdateAssetProperty'+ { clientToken = Prelude.Nothing,+ propertyAlias = Prelude.Nothing,+ propertyNotificationState = Prelude.Nothing,+ propertyUnit = Prelude.Nothing,+ assetId = pAssetId_,+ propertyId = pPropertyId_+ }++-- | 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.+updateAssetProperty_clientToken :: Lens.Lens' UpdateAssetProperty (Prelude.Maybe Prelude.Text)+updateAssetProperty_clientToken = Lens.lens (\UpdateAssetProperty' {clientToken} -> clientToken) (\s@UpdateAssetProperty' {} a -> s {clientToken = a} :: UpdateAssetProperty)++-- | 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html 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.+updateAssetProperty_propertyAlias :: Lens.Lens' UpdateAssetProperty (Prelude.Maybe Prelude.Text)+updateAssetProperty_propertyAlias = Lens.lens (\UpdateAssetProperty' {propertyAlias} -> propertyAlias) (\s@UpdateAssetProperty' {} a -> s {propertyAlias = a} :: UpdateAssetProperty)++-- | 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/interact-with-other-services.html Interacting with other services>+-- in the /IoT SiteWise User Guide/.+--+-- If you omit this parameter, the notification state is set to @DISABLED@.+updateAssetProperty_propertyNotificationState :: Lens.Lens' UpdateAssetProperty (Prelude.Maybe PropertyNotificationState)+updateAssetProperty_propertyNotificationState = Lens.lens (\UpdateAssetProperty' {propertyNotificationState} -> propertyNotificationState) (\s@UpdateAssetProperty' {} a -> s {propertyNotificationState = a} :: UpdateAssetProperty)++-- | 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.+updateAssetProperty_propertyUnit :: Lens.Lens' UpdateAssetProperty (Prelude.Maybe Prelude.Text)+updateAssetProperty_propertyUnit = Lens.lens (\UpdateAssetProperty' {propertyUnit} -> propertyUnit) (\s@UpdateAssetProperty' {} a -> s {propertyUnit = a} :: UpdateAssetProperty)++-- | The ID of the asset to be updated.+updateAssetProperty_assetId :: Lens.Lens' UpdateAssetProperty Prelude.Text+updateAssetProperty_assetId = Lens.lens (\UpdateAssetProperty' {assetId} -> assetId) (\s@UpdateAssetProperty' {} a -> s {assetId = a} :: UpdateAssetProperty)++-- | The ID of the asset property to be updated.+updateAssetProperty_propertyId :: Lens.Lens' UpdateAssetProperty Prelude.Text+updateAssetProperty_propertyId = Lens.lens (\UpdateAssetProperty' {propertyId} -> propertyId) (\s@UpdateAssetProperty' {} a -> s {propertyId = a} :: UpdateAssetProperty)++instance Core.AWSRequest UpdateAssetProperty where+ type+ AWSResponse UpdateAssetProperty =+ UpdateAssetPropertyResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveNull UpdateAssetPropertyResponse'++instance Prelude.Hashable UpdateAssetProperty where+ hashWithSalt _salt UpdateAssetProperty' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` propertyAlias+ `Prelude.hashWithSalt` propertyNotificationState+ `Prelude.hashWithSalt` propertyUnit+ `Prelude.hashWithSalt` assetId+ `Prelude.hashWithSalt` propertyId++instance Prelude.NFData UpdateAssetProperty where+ rnf UpdateAssetProperty' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf propertyAlias+ `Prelude.seq` Prelude.rnf propertyNotificationState+ `Prelude.seq` Prelude.rnf propertyUnit+ `Prelude.seq` Prelude.rnf assetId+ `Prelude.seq` Prelude.rnf propertyId++instance Data.ToHeaders UpdateAssetProperty where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateAssetProperty where+ toJSON UpdateAssetProperty' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("clientToken" Data..=) Prelude.<$> clientToken,+ ("propertyAlias" Data..=) Prelude.<$> propertyAlias,+ ("propertyNotificationState" Data..=)+ Prelude.<$> propertyNotificationState,+ ("propertyUnit" Data..=) Prelude.<$> propertyUnit+ ]+ )++instance Data.ToPath UpdateAssetProperty where+ toPath UpdateAssetProperty' {..} =+ Prelude.mconcat+ [ "/assets/",+ Data.toBS assetId,+ "/properties/",+ Data.toBS propertyId+ ]++instance Data.ToQuery UpdateAssetProperty where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateAssetPropertyResponse' smart constructor.+data UpdateAssetPropertyResponse = UpdateAssetPropertyResponse'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAssetPropertyResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newUpdateAssetPropertyResponse ::+ UpdateAssetPropertyResponse+newUpdateAssetPropertyResponse =+ UpdateAssetPropertyResponse'++instance Prelude.NFData UpdateAssetPropertyResponse where+ rnf _ = ()
+ gen/Amazonka/IoTSiteWise/UpdateDashboard.hs view
@@ -0,0 +1,231 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.UpdateDashboard+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an IoT SiteWise Monitor dashboard.+module Amazonka.IoTSiteWise.UpdateDashboard+ ( -- * Creating a Request+ UpdateDashboard (..),+ newUpdateDashboard,++ -- * Request Lenses+ updateDashboard_clientToken,+ updateDashboard_dashboardDescription,+ updateDashboard_dashboardId,+ updateDashboard_dashboardName,+ updateDashboard_dashboardDefinition,++ -- * Destructuring the Response+ UpdateDashboardResponse (..),+ newUpdateDashboardResponse,++ -- * Response Lenses+ updateDashboardResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateDashboard' smart constructor.+data UpdateDashboard = UpdateDashboard'+ { -- | 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.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | A new description for the dashboard.+ dashboardDescription :: Prelude.Maybe Prelude.Text,+ -- | The ID of the dashboard to update.+ dashboardId :: Prelude.Text,+ -- | A new friendly name for the dashboard.+ dashboardName :: Prelude.Text,+ -- | The new dashboard definition, as specified in a JSON literal. For+ -- detailed information, see+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/create-dashboards-using-aws-cli.html Creating dashboards (CLI)>+ -- in the /IoT SiteWise User Guide/.+ dashboardDefinition :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateDashboard' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'updateDashboard_clientToken' - A unique case-sensitive identifier that you can provide to ensure the+-- idempotency of the request. Don\'t reuse this client token if a new+-- idempotent request is required.+--+-- 'dashboardDescription', 'updateDashboard_dashboardDescription' - A new description for the dashboard.+--+-- 'dashboardId', 'updateDashboard_dashboardId' - The ID of the dashboard to update.+--+-- 'dashboardName', 'updateDashboard_dashboardName' - A new friendly name for the dashboard.+--+-- 'dashboardDefinition', 'updateDashboard_dashboardDefinition' - The new dashboard definition, as specified in a JSON literal. For+-- detailed information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/create-dashboards-using-aws-cli.html Creating dashboards (CLI)>+-- in the /IoT SiteWise User Guide/.+newUpdateDashboard ::+ -- | 'dashboardId'+ Prelude.Text ->+ -- | 'dashboardName'+ Prelude.Text ->+ -- | 'dashboardDefinition'+ Prelude.Text ->+ UpdateDashboard+newUpdateDashboard+ pDashboardId_+ pDashboardName_+ pDashboardDefinition_ =+ UpdateDashboard'+ { clientToken = Prelude.Nothing,+ dashboardDescription = Prelude.Nothing,+ dashboardId = pDashboardId_,+ dashboardName = pDashboardName_,+ dashboardDefinition = pDashboardDefinition_+ }++-- | 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.+updateDashboard_clientToken :: Lens.Lens' UpdateDashboard (Prelude.Maybe Prelude.Text)+updateDashboard_clientToken = Lens.lens (\UpdateDashboard' {clientToken} -> clientToken) (\s@UpdateDashboard' {} a -> s {clientToken = a} :: UpdateDashboard)++-- | A new description for the dashboard.+updateDashboard_dashboardDescription :: Lens.Lens' UpdateDashboard (Prelude.Maybe Prelude.Text)+updateDashboard_dashboardDescription = Lens.lens (\UpdateDashboard' {dashboardDescription} -> dashboardDescription) (\s@UpdateDashboard' {} a -> s {dashboardDescription = a} :: UpdateDashboard)++-- | The ID of the dashboard to update.+updateDashboard_dashboardId :: Lens.Lens' UpdateDashboard Prelude.Text+updateDashboard_dashboardId = Lens.lens (\UpdateDashboard' {dashboardId} -> dashboardId) (\s@UpdateDashboard' {} a -> s {dashboardId = a} :: UpdateDashboard)++-- | A new friendly name for the dashboard.+updateDashboard_dashboardName :: Lens.Lens' UpdateDashboard Prelude.Text+updateDashboard_dashboardName = Lens.lens (\UpdateDashboard' {dashboardName} -> dashboardName) (\s@UpdateDashboard' {} a -> s {dashboardName = a} :: UpdateDashboard)++-- | The new dashboard definition, as specified in a JSON literal. For+-- detailed information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/create-dashboards-using-aws-cli.html Creating dashboards (CLI)>+-- in the /IoT SiteWise User Guide/.+updateDashboard_dashboardDefinition :: Lens.Lens' UpdateDashboard Prelude.Text+updateDashboard_dashboardDefinition = Lens.lens (\UpdateDashboard' {dashboardDefinition} -> dashboardDefinition) (\s@UpdateDashboard' {} a -> s {dashboardDefinition = a} :: UpdateDashboard)++instance Core.AWSRequest UpdateDashboard where+ type+ AWSResponse UpdateDashboard =+ UpdateDashboardResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ UpdateDashboardResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateDashboard where+ hashWithSalt _salt UpdateDashboard' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` dashboardDescription+ `Prelude.hashWithSalt` dashboardId+ `Prelude.hashWithSalt` dashboardName+ `Prelude.hashWithSalt` dashboardDefinition++instance Prelude.NFData UpdateDashboard where+ rnf UpdateDashboard' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf dashboardDescription+ `Prelude.seq` Prelude.rnf dashboardId+ `Prelude.seq` Prelude.rnf dashboardName+ `Prelude.seq` Prelude.rnf dashboardDefinition++instance Data.ToHeaders UpdateDashboard where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateDashboard where+ toJSON UpdateDashboard' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("clientToken" Data..=) Prelude.<$> clientToken,+ ("dashboardDescription" Data..=)+ Prelude.<$> dashboardDescription,+ Prelude.Just ("dashboardName" Data..= dashboardName),+ Prelude.Just+ ("dashboardDefinition" Data..= dashboardDefinition)+ ]+ )++instance Data.ToPath UpdateDashboard where+ toPath UpdateDashboard' {..} =+ Prelude.mconcat+ ["/dashboards/", Data.toBS dashboardId]++instance Data.ToQuery UpdateDashboard where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateDashboardResponse' smart constructor.+data UpdateDashboardResponse = UpdateDashboardResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateDashboardResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'updateDashboardResponse_httpStatus' - The response's http status code.+newUpdateDashboardResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateDashboardResponse+newUpdateDashboardResponse pHttpStatus_ =+ UpdateDashboardResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+updateDashboardResponse_httpStatus :: Lens.Lens' UpdateDashboardResponse Prelude.Int+updateDashboardResponse_httpStatus = Lens.lens (\UpdateDashboardResponse' {httpStatus} -> httpStatus) (\s@UpdateDashboardResponse' {} a -> s {httpStatus = a} :: UpdateDashboardResponse)++instance Prelude.NFData UpdateDashboardResponse where+ rnf UpdateDashboardResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/IoTSiteWise/UpdateGateway.hs view
@@ -0,0 +1,148 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.UpdateGateway+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates a gateway\'s name.+module Amazonka.IoTSiteWise.UpdateGateway+ ( -- * Creating a Request+ UpdateGateway (..),+ newUpdateGateway,++ -- * Request Lenses+ updateGateway_gatewayId,+ updateGateway_gatewayName,++ -- * Destructuring the Response+ UpdateGatewayResponse (..),+ newUpdateGatewayResponse,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateGateway' smart constructor.+data UpdateGateway = UpdateGateway'+ { -- | The ID of the gateway to update.+ gatewayId :: Prelude.Text,+ -- | A unique, friendly name for the gateway.+ gatewayName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateGateway' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'gatewayId', 'updateGateway_gatewayId' - The ID of the gateway to update.+--+-- 'gatewayName', 'updateGateway_gatewayName' - A unique, friendly name for the gateway.+newUpdateGateway ::+ -- | 'gatewayId'+ Prelude.Text ->+ -- | 'gatewayName'+ Prelude.Text ->+ UpdateGateway+newUpdateGateway pGatewayId_ pGatewayName_ =+ UpdateGateway'+ { gatewayId = pGatewayId_,+ gatewayName = pGatewayName_+ }++-- | The ID of the gateway to update.+updateGateway_gatewayId :: Lens.Lens' UpdateGateway Prelude.Text+updateGateway_gatewayId = Lens.lens (\UpdateGateway' {gatewayId} -> gatewayId) (\s@UpdateGateway' {} a -> s {gatewayId = a} :: UpdateGateway)++-- | A unique, friendly name for the gateway.+updateGateway_gatewayName :: Lens.Lens' UpdateGateway Prelude.Text+updateGateway_gatewayName = Lens.lens (\UpdateGateway' {gatewayName} -> gatewayName) (\s@UpdateGateway' {} a -> s {gatewayName = a} :: UpdateGateway)++instance Core.AWSRequest UpdateGateway where+ type+ AWSResponse UpdateGateway =+ UpdateGatewayResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveNull UpdateGatewayResponse'++instance Prelude.Hashable UpdateGateway where+ hashWithSalt _salt UpdateGateway' {..} =+ _salt+ `Prelude.hashWithSalt` gatewayId+ `Prelude.hashWithSalt` gatewayName++instance Prelude.NFData UpdateGateway where+ rnf UpdateGateway' {..} =+ Prelude.rnf gatewayId+ `Prelude.seq` Prelude.rnf gatewayName++instance Data.ToHeaders UpdateGateway where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateGateway where+ toJSON UpdateGateway' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("gatewayName" Data..= gatewayName)]+ )++instance Data.ToPath UpdateGateway where+ toPath UpdateGateway' {..} =+ Prelude.mconcat+ ["/20200301/gateways/", Data.toBS gatewayId]++instance Data.ToQuery UpdateGateway where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateGatewayResponse' smart constructor.+data UpdateGatewayResponse = UpdateGatewayResponse'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateGatewayResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newUpdateGatewayResponse ::+ UpdateGatewayResponse+newUpdateGatewayResponse = UpdateGatewayResponse'++instance Prelude.NFData UpdateGatewayResponse where+ rnf _ = ()
+ gen/Amazonka/IoTSiteWise/UpdateGatewayCapabilityConfiguration.hs view
@@ -0,0 +1,324 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.UpdateGatewayCapabilityConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeGateway.html DescribeGateway>.+module Amazonka.IoTSiteWise.UpdateGatewayCapabilityConfiguration+ ( -- * Creating a Request+ UpdateGatewayCapabilityConfiguration (..),+ newUpdateGatewayCapabilityConfiguration,++ -- * Request Lenses+ updateGatewayCapabilityConfiguration_gatewayId,+ updateGatewayCapabilityConfiguration_capabilityNamespace,+ updateGatewayCapabilityConfiguration_capabilityConfiguration,++ -- * Destructuring the Response+ UpdateGatewayCapabilityConfigurationResponse (..),+ newUpdateGatewayCapabilityConfigurationResponse,++ -- * Response Lenses+ updateGatewayCapabilityConfigurationResponse_httpStatus,+ updateGatewayCapabilityConfigurationResponse_capabilityNamespace,+ updateGatewayCapabilityConfigurationResponse_capabilitySyncStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateGatewayCapabilityConfiguration' smart constructor.+data UpdateGatewayCapabilityConfiguration = UpdateGatewayCapabilityConfiguration'+ { -- | The ID of the gateway to be updated.+ gatewayId :: Prelude.Text,+ -- | 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@.+ capabilityNamespace :: Prelude.Text,+ -- | The JSON document that defines the configuration for the gateway+ -- capability. For more information, see+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/configure-sources.html#configure-source-cli Configuring data sources (CLI)>+ -- in the /IoT SiteWise User Guide/.+ capabilityConfiguration :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateGatewayCapabilityConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'gatewayId', 'updateGatewayCapabilityConfiguration_gatewayId' - The ID of the gateway to be updated.+--+-- 'capabilityNamespace', 'updateGatewayCapabilityConfiguration_capabilityNamespace' - 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@.+--+-- 'capabilityConfiguration', 'updateGatewayCapabilityConfiguration_capabilityConfiguration' - The JSON document that defines the configuration for the gateway+-- capability. For more information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/configure-sources.html#configure-source-cli Configuring data sources (CLI)>+-- in the /IoT SiteWise User Guide/.+newUpdateGatewayCapabilityConfiguration ::+ -- | 'gatewayId'+ Prelude.Text ->+ -- | 'capabilityNamespace'+ Prelude.Text ->+ -- | 'capabilityConfiguration'+ Prelude.Text ->+ UpdateGatewayCapabilityConfiguration+newUpdateGatewayCapabilityConfiguration+ pGatewayId_+ pCapabilityNamespace_+ pCapabilityConfiguration_ =+ UpdateGatewayCapabilityConfiguration'+ { gatewayId =+ pGatewayId_,+ capabilityNamespace =+ pCapabilityNamespace_,+ capabilityConfiguration =+ pCapabilityConfiguration_+ }++-- | The ID of the gateway to be updated.+updateGatewayCapabilityConfiguration_gatewayId :: Lens.Lens' UpdateGatewayCapabilityConfiguration Prelude.Text+updateGatewayCapabilityConfiguration_gatewayId = Lens.lens (\UpdateGatewayCapabilityConfiguration' {gatewayId} -> gatewayId) (\s@UpdateGatewayCapabilityConfiguration' {} a -> s {gatewayId = a} :: UpdateGatewayCapabilityConfiguration)++-- | 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@.+updateGatewayCapabilityConfiguration_capabilityNamespace :: Lens.Lens' UpdateGatewayCapabilityConfiguration Prelude.Text+updateGatewayCapabilityConfiguration_capabilityNamespace = Lens.lens (\UpdateGatewayCapabilityConfiguration' {capabilityNamespace} -> capabilityNamespace) (\s@UpdateGatewayCapabilityConfiguration' {} a -> s {capabilityNamespace = a} :: UpdateGatewayCapabilityConfiguration)++-- | The JSON document that defines the configuration for the gateway+-- capability. For more information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/configure-sources.html#configure-source-cli Configuring data sources (CLI)>+-- in the /IoT SiteWise User Guide/.+updateGatewayCapabilityConfiguration_capabilityConfiguration :: Lens.Lens' UpdateGatewayCapabilityConfiguration Prelude.Text+updateGatewayCapabilityConfiguration_capabilityConfiguration = Lens.lens (\UpdateGatewayCapabilityConfiguration' {capabilityConfiguration} -> capabilityConfiguration) (\s@UpdateGatewayCapabilityConfiguration' {} a -> s {capabilityConfiguration = a} :: UpdateGatewayCapabilityConfiguration)++instance+ Core.AWSRequest+ UpdateGatewayCapabilityConfiguration+ where+ type+ AWSResponse UpdateGatewayCapabilityConfiguration =+ UpdateGatewayCapabilityConfigurationResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateGatewayCapabilityConfigurationResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "capabilityNamespace")+ Prelude.<*> (x Data..:> "capabilitySyncStatus")+ )++instance+ Prelude.Hashable+ UpdateGatewayCapabilityConfiguration+ where+ hashWithSalt+ _salt+ UpdateGatewayCapabilityConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` gatewayId+ `Prelude.hashWithSalt` capabilityNamespace+ `Prelude.hashWithSalt` capabilityConfiguration++instance+ Prelude.NFData+ UpdateGatewayCapabilityConfiguration+ where+ rnf UpdateGatewayCapabilityConfiguration' {..} =+ Prelude.rnf gatewayId+ `Prelude.seq` Prelude.rnf capabilityNamespace+ `Prelude.seq` Prelude.rnf capabilityConfiguration++instance+ Data.ToHeaders+ UpdateGatewayCapabilityConfiguration+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToJSON+ UpdateGatewayCapabilityConfiguration+ where+ toJSON UpdateGatewayCapabilityConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("capabilityNamespace" Data..= capabilityNamespace),+ Prelude.Just+ ( "capabilityConfiguration"+ Data..= capabilityConfiguration+ )+ ]+ )++instance+ Data.ToPath+ UpdateGatewayCapabilityConfiguration+ where+ toPath UpdateGatewayCapabilityConfiguration' {..} =+ Prelude.mconcat+ [ "/20200301/gateways/",+ Data.toBS gatewayId,+ "/capability"+ ]++instance+ Data.ToQuery+ UpdateGatewayCapabilityConfiguration+ where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateGatewayCapabilityConfigurationResponse' smart constructor.+data UpdateGatewayCapabilityConfigurationResponse = UpdateGatewayCapabilityConfigurationResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The namespace of the gateway capability.+ capabilityNamespace :: Prelude.Text,+ -- | 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.+ capabilitySyncStatus :: CapabilitySyncStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateGatewayCapabilityConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'updateGatewayCapabilityConfigurationResponse_httpStatus' - The response's http status code.+--+-- 'capabilityNamespace', 'updateGatewayCapabilityConfigurationResponse_capabilityNamespace' - The namespace of the gateway capability.+--+-- 'capabilitySyncStatus', 'updateGatewayCapabilityConfigurationResponse_capabilitySyncStatus' - 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.+newUpdateGatewayCapabilityConfigurationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'capabilityNamespace'+ Prelude.Text ->+ -- | 'capabilitySyncStatus'+ CapabilitySyncStatus ->+ UpdateGatewayCapabilityConfigurationResponse+newUpdateGatewayCapabilityConfigurationResponse+ pHttpStatus_+ pCapabilityNamespace_+ pCapabilitySyncStatus_ =+ UpdateGatewayCapabilityConfigurationResponse'+ { httpStatus =+ pHttpStatus_,+ capabilityNamespace =+ pCapabilityNamespace_,+ capabilitySyncStatus =+ pCapabilitySyncStatus_+ }++-- | The response's http status code.+updateGatewayCapabilityConfigurationResponse_httpStatus :: Lens.Lens' UpdateGatewayCapabilityConfigurationResponse Prelude.Int+updateGatewayCapabilityConfigurationResponse_httpStatus = Lens.lens (\UpdateGatewayCapabilityConfigurationResponse' {httpStatus} -> httpStatus) (\s@UpdateGatewayCapabilityConfigurationResponse' {} a -> s {httpStatus = a} :: UpdateGatewayCapabilityConfigurationResponse)++-- | The namespace of the gateway capability.+updateGatewayCapabilityConfigurationResponse_capabilityNamespace :: Lens.Lens' UpdateGatewayCapabilityConfigurationResponse Prelude.Text+updateGatewayCapabilityConfigurationResponse_capabilityNamespace = Lens.lens (\UpdateGatewayCapabilityConfigurationResponse' {capabilityNamespace} -> capabilityNamespace) (\s@UpdateGatewayCapabilityConfigurationResponse' {} a -> s {capabilityNamespace = a} :: UpdateGatewayCapabilityConfigurationResponse)++-- | 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.+updateGatewayCapabilityConfigurationResponse_capabilitySyncStatus :: Lens.Lens' UpdateGatewayCapabilityConfigurationResponse CapabilitySyncStatus+updateGatewayCapabilityConfigurationResponse_capabilitySyncStatus = Lens.lens (\UpdateGatewayCapabilityConfigurationResponse' {capabilitySyncStatus} -> capabilitySyncStatus) (\s@UpdateGatewayCapabilityConfigurationResponse' {} a -> s {capabilitySyncStatus = a} :: UpdateGatewayCapabilityConfigurationResponse)++instance+ Prelude.NFData+ UpdateGatewayCapabilityConfigurationResponse+ where+ rnf UpdateGatewayCapabilityConfigurationResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf capabilityNamespace+ `Prelude.seq` Prelude.rnf capabilitySyncStatus
+ gen/Amazonka/IoTSiteWise/UpdatePortal.hs view
@@ -0,0 +1,324 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.UpdatePortal+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an IoT SiteWise Monitor portal.+module Amazonka.IoTSiteWise.UpdatePortal+ ( -- * Creating a Request+ UpdatePortal (..),+ newUpdatePortal,++ -- * Request Lenses+ updatePortal_alarms,+ updatePortal_clientToken,+ updatePortal_notificationSenderEmail,+ updatePortal_portalDescription,+ updatePortal_portalLogoImage,+ updatePortal_portalId,+ updatePortal_portalName,+ updatePortal_portalContactEmail,+ updatePortal_roleArn,++ -- * Destructuring the Response+ UpdatePortalResponse (..),+ newUpdatePortalResponse,++ -- * Response Lenses+ updatePortalResponse_httpStatus,+ updatePortalResponse_portalStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdatePortal' smart constructor.+data UpdatePortal = UpdatePortal'+ { -- | 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+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/appguide/monitor-alarms.html Monitoring with alarms>+ -- in the /IoT SiteWise Application Guide/.+ alarms :: Prelude.Maybe Alarms,+ -- | 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.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The email address that sends alarm notifications.+ notificationSenderEmail :: Prelude.Maybe Prelude.Text,+ -- | A new description for the portal.+ portalDescription :: Prelude.Maybe Prelude.Text,+ portalLogoImage :: Prelude.Maybe Image,+ -- | The ID of the portal to update.+ portalId :: Prelude.Text,+ -- | A new friendly name for the portal.+ portalName :: Prelude.Text,+ -- | The Amazon Web Services administrator\'s contact email address.+ portalContactEmail :: Prelude.Text,+ -- | The+ -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+ -- of a service role that allows the portal\'s users to access your IoT+ -- SiteWise resources on your behalf. For more information, see+ -- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/monitor-service-role.html Using service roles for IoT SiteWise Monitor>+ -- in the /IoT SiteWise User Guide/.+ roleArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdatePortal' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'alarms', 'updatePortal_alarms' - 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/appguide/monitor-alarms.html Monitoring with alarms>+-- in the /IoT SiteWise Application Guide/.+--+-- 'clientToken', 'updatePortal_clientToken' - A unique case-sensitive identifier that you can provide to ensure the+-- idempotency of the request. Don\'t reuse this client token if a new+-- idempotent request is required.+--+-- 'notificationSenderEmail', 'updatePortal_notificationSenderEmail' - The email address that sends alarm notifications.+--+-- 'portalDescription', 'updatePortal_portalDescription' - A new description for the portal.+--+-- 'portalLogoImage', 'updatePortal_portalLogoImage' - Undocumented member.+--+-- 'portalId', 'updatePortal_portalId' - The ID of the portal to update.+--+-- 'portalName', 'updatePortal_portalName' - A new friendly name for the portal.+--+-- 'portalContactEmail', 'updatePortal_portalContactEmail' - The Amazon Web Services administrator\'s contact email address.+--+-- 'roleArn', 'updatePortal_roleArn' - The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of a service role that allows the portal\'s users to access your IoT+-- SiteWise resources on your behalf. For more information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/monitor-service-role.html Using service roles for IoT SiteWise Monitor>+-- in the /IoT SiteWise User Guide/.+newUpdatePortal ::+ -- | 'portalId'+ Prelude.Text ->+ -- | 'portalName'+ Prelude.Text ->+ -- | 'portalContactEmail'+ Prelude.Text ->+ -- | 'roleArn'+ Prelude.Text ->+ UpdatePortal+newUpdatePortal+ pPortalId_+ pPortalName_+ pPortalContactEmail_+ pRoleArn_ =+ UpdatePortal'+ { alarms = Prelude.Nothing,+ clientToken = Prelude.Nothing,+ notificationSenderEmail = Prelude.Nothing,+ portalDescription = Prelude.Nothing,+ portalLogoImage = Prelude.Nothing,+ portalId = pPortalId_,+ portalName = pPortalName_,+ portalContactEmail = pPortalContactEmail_,+ roleArn = pRoleArn_+ }++-- | 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+-- <https://docs.aws.amazon.com/iot-sitewise/latest/appguide/monitor-alarms.html Monitoring with alarms>+-- in the /IoT SiteWise Application Guide/.+updatePortal_alarms :: Lens.Lens' UpdatePortal (Prelude.Maybe Alarms)+updatePortal_alarms = Lens.lens (\UpdatePortal' {alarms} -> alarms) (\s@UpdatePortal' {} a -> s {alarms = a} :: UpdatePortal)++-- | 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.+updatePortal_clientToken :: Lens.Lens' UpdatePortal (Prelude.Maybe Prelude.Text)+updatePortal_clientToken = Lens.lens (\UpdatePortal' {clientToken} -> clientToken) (\s@UpdatePortal' {} a -> s {clientToken = a} :: UpdatePortal)++-- | The email address that sends alarm notifications.+updatePortal_notificationSenderEmail :: Lens.Lens' UpdatePortal (Prelude.Maybe Prelude.Text)+updatePortal_notificationSenderEmail = Lens.lens (\UpdatePortal' {notificationSenderEmail} -> notificationSenderEmail) (\s@UpdatePortal' {} a -> s {notificationSenderEmail = a} :: UpdatePortal)++-- | A new description for the portal.+updatePortal_portalDescription :: Lens.Lens' UpdatePortal (Prelude.Maybe Prelude.Text)+updatePortal_portalDescription = Lens.lens (\UpdatePortal' {portalDescription} -> portalDescription) (\s@UpdatePortal' {} a -> s {portalDescription = a} :: UpdatePortal)++-- | Undocumented member.+updatePortal_portalLogoImage :: Lens.Lens' UpdatePortal (Prelude.Maybe Image)+updatePortal_portalLogoImage = Lens.lens (\UpdatePortal' {portalLogoImage} -> portalLogoImage) (\s@UpdatePortal' {} a -> s {portalLogoImage = a} :: UpdatePortal)++-- | The ID of the portal to update.+updatePortal_portalId :: Lens.Lens' UpdatePortal Prelude.Text+updatePortal_portalId = Lens.lens (\UpdatePortal' {portalId} -> portalId) (\s@UpdatePortal' {} a -> s {portalId = a} :: UpdatePortal)++-- | A new friendly name for the portal.+updatePortal_portalName :: Lens.Lens' UpdatePortal Prelude.Text+updatePortal_portalName = Lens.lens (\UpdatePortal' {portalName} -> portalName) (\s@UpdatePortal' {} a -> s {portalName = a} :: UpdatePortal)++-- | The Amazon Web Services administrator\'s contact email address.+updatePortal_portalContactEmail :: Lens.Lens' UpdatePortal Prelude.Text+updatePortal_portalContactEmail = Lens.lens (\UpdatePortal' {portalContactEmail} -> portalContactEmail) (\s@UpdatePortal' {} a -> s {portalContactEmail = a} :: UpdatePortal)++-- | The+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html ARN>+-- of a service role that allows the portal\'s users to access your IoT+-- SiteWise resources on your behalf. For more information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/userguide/monitor-service-role.html Using service roles for IoT SiteWise Monitor>+-- in the /IoT SiteWise User Guide/.+updatePortal_roleArn :: Lens.Lens' UpdatePortal Prelude.Text+updatePortal_roleArn = Lens.lens (\UpdatePortal' {roleArn} -> roleArn) (\s@UpdatePortal' {} a -> s {roleArn = a} :: UpdatePortal)++instance Core.AWSRequest UpdatePortal where+ type AWSResponse UpdatePortal = UpdatePortalResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdatePortalResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "portalStatus")+ )++instance Prelude.Hashable UpdatePortal where+ hashWithSalt _salt UpdatePortal' {..} =+ _salt+ `Prelude.hashWithSalt` alarms+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` notificationSenderEmail+ `Prelude.hashWithSalt` portalDescription+ `Prelude.hashWithSalt` portalLogoImage+ `Prelude.hashWithSalt` portalId+ `Prelude.hashWithSalt` portalName+ `Prelude.hashWithSalt` portalContactEmail+ `Prelude.hashWithSalt` roleArn++instance Prelude.NFData UpdatePortal where+ rnf UpdatePortal' {..} =+ Prelude.rnf alarms+ `Prelude.seq` Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf notificationSenderEmail+ `Prelude.seq` Prelude.rnf portalDescription+ `Prelude.seq` Prelude.rnf portalLogoImage+ `Prelude.seq` Prelude.rnf portalId+ `Prelude.seq` Prelude.rnf portalName+ `Prelude.seq` Prelude.rnf portalContactEmail+ `Prelude.seq` Prelude.rnf roleArn++instance Data.ToHeaders UpdatePortal where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdatePortal where+ toJSON UpdatePortal' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("alarms" Data..=) Prelude.<$> alarms,+ ("clientToken" Data..=) Prelude.<$> clientToken,+ ("notificationSenderEmail" Data..=)+ Prelude.<$> notificationSenderEmail,+ ("portalDescription" Data..=)+ Prelude.<$> portalDescription,+ ("portalLogoImage" Data..=)+ Prelude.<$> portalLogoImage,+ Prelude.Just ("portalName" Data..= portalName),+ Prelude.Just+ ("portalContactEmail" Data..= portalContactEmail),+ Prelude.Just ("roleArn" Data..= roleArn)+ ]+ )++instance Data.ToPath UpdatePortal where+ toPath UpdatePortal' {..} =+ Prelude.mconcat ["/portals/", Data.toBS portalId]++instance Data.ToQuery UpdatePortal where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdatePortalResponse' smart constructor.+data UpdatePortalResponse = UpdatePortalResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The status of the portal, which contains a state (@UPDATING@ after+ -- successfully calling this operation) and any error message.+ portalStatus :: PortalStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdatePortalResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'updatePortalResponse_httpStatus' - The response's http status code.+--+-- 'portalStatus', 'updatePortalResponse_portalStatus' - The status of the portal, which contains a state (@UPDATING@ after+-- successfully calling this operation) and any error message.+newUpdatePortalResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'portalStatus'+ PortalStatus ->+ UpdatePortalResponse+newUpdatePortalResponse pHttpStatus_ pPortalStatus_ =+ UpdatePortalResponse'+ { httpStatus = pHttpStatus_,+ portalStatus = pPortalStatus_+ }++-- | The response's http status code.+updatePortalResponse_httpStatus :: Lens.Lens' UpdatePortalResponse Prelude.Int+updatePortalResponse_httpStatus = Lens.lens (\UpdatePortalResponse' {httpStatus} -> httpStatus) (\s@UpdatePortalResponse' {} a -> s {httpStatus = a} :: UpdatePortalResponse)++-- | The status of the portal, which contains a state (@UPDATING@ after+-- successfully calling this operation) and any error message.+updatePortalResponse_portalStatus :: Lens.Lens' UpdatePortalResponse PortalStatus+updatePortalResponse_portalStatus = Lens.lens (\UpdatePortalResponse' {portalStatus} -> portalStatus) (\s@UpdatePortalResponse' {} a -> s {portalStatus = a} :: UpdatePortalResponse)++instance Prelude.NFData UpdatePortalResponse where+ rnf UpdatePortalResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf portalStatus
+ gen/Amazonka/IoTSiteWise/UpdateProject.hs view
@@ -0,0 +1,202 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.UpdateProject+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an IoT SiteWise Monitor project.+module Amazonka.IoTSiteWise.UpdateProject+ ( -- * Creating a Request+ UpdateProject (..),+ newUpdateProject,++ -- * Request Lenses+ updateProject_clientToken,+ updateProject_projectDescription,+ updateProject_projectId,+ updateProject_projectName,++ -- * Destructuring the Response+ UpdateProjectResponse (..),+ newUpdateProjectResponse,++ -- * Response Lenses+ updateProjectResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateProject' smart constructor.+data UpdateProject = UpdateProject'+ { -- | 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.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | A new description for the project.+ projectDescription :: Prelude.Maybe Prelude.Text,+ -- | The ID of the project to update.+ projectId :: Prelude.Text,+ -- | A new friendly name for the project.+ projectName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateProject' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'updateProject_clientToken' - A unique case-sensitive identifier that you can provide to ensure the+-- idempotency of the request. Don\'t reuse this client token if a new+-- idempotent request is required.+--+-- 'projectDescription', 'updateProject_projectDescription' - A new description for the project.+--+-- 'projectId', 'updateProject_projectId' - The ID of the project to update.+--+-- 'projectName', 'updateProject_projectName' - A new friendly name for the project.+newUpdateProject ::+ -- | 'projectId'+ Prelude.Text ->+ -- | 'projectName'+ Prelude.Text ->+ UpdateProject+newUpdateProject pProjectId_ pProjectName_ =+ UpdateProject'+ { clientToken = Prelude.Nothing,+ projectDescription = Prelude.Nothing,+ projectId = pProjectId_,+ projectName = pProjectName_+ }++-- | 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.+updateProject_clientToken :: Lens.Lens' UpdateProject (Prelude.Maybe Prelude.Text)+updateProject_clientToken = Lens.lens (\UpdateProject' {clientToken} -> clientToken) (\s@UpdateProject' {} a -> s {clientToken = a} :: UpdateProject)++-- | A new description for the project.+updateProject_projectDescription :: Lens.Lens' UpdateProject (Prelude.Maybe Prelude.Text)+updateProject_projectDescription = Lens.lens (\UpdateProject' {projectDescription} -> projectDescription) (\s@UpdateProject' {} a -> s {projectDescription = a} :: UpdateProject)++-- | The ID of the project to update.+updateProject_projectId :: Lens.Lens' UpdateProject Prelude.Text+updateProject_projectId = Lens.lens (\UpdateProject' {projectId} -> projectId) (\s@UpdateProject' {} a -> s {projectId = a} :: UpdateProject)++-- | A new friendly name for the project.+updateProject_projectName :: Lens.Lens' UpdateProject Prelude.Text+updateProject_projectName = Lens.lens (\UpdateProject' {projectName} -> projectName) (\s@UpdateProject' {} a -> s {projectName = a} :: UpdateProject)++instance Core.AWSRequest UpdateProject where+ type+ AWSResponse UpdateProject =+ UpdateProjectResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ UpdateProjectResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateProject where+ hashWithSalt _salt UpdateProject' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` projectDescription+ `Prelude.hashWithSalt` projectId+ `Prelude.hashWithSalt` projectName++instance Prelude.NFData UpdateProject where+ rnf UpdateProject' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf projectDescription+ `Prelude.seq` Prelude.rnf projectId+ `Prelude.seq` Prelude.rnf projectName++instance Data.ToHeaders UpdateProject where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateProject where+ toJSON UpdateProject' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("clientToken" Data..=) Prelude.<$> clientToken,+ ("projectDescription" Data..=)+ Prelude.<$> projectDescription,+ Prelude.Just ("projectName" Data..= projectName)+ ]+ )++instance Data.ToPath UpdateProject where+ toPath UpdateProject' {..} =+ Prelude.mconcat ["/projects/", Data.toBS projectId]++instance Data.ToQuery UpdateProject where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateProjectResponse' smart constructor.+data UpdateProjectResponse = UpdateProjectResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateProjectResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'updateProjectResponse_httpStatus' - The response's http status code.+newUpdateProjectResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateProjectResponse+newUpdateProjectResponse pHttpStatus_ =+ UpdateProjectResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+updateProjectResponse_httpStatus :: Lens.Lens' UpdateProjectResponse Prelude.Int+updateProjectResponse_httpStatus = Lens.lens (\UpdateProjectResponse' {httpStatus} -> httpStatus) (\s@UpdateProjectResponse' {} a -> s {httpStatus = a} :: UpdateProjectResponse)++instance Prelude.NFData UpdateProjectResponse where+ rnf UpdateProjectResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/IoTSiteWise/Waiters.hs view
@@ -0,0 +1,137 @@+{-# LANGUAGE DisambiguateRecordFields #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTSiteWise.Waiters+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTSiteWise.Waiters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTSiteWise.DescribeAsset+import Amazonka.IoTSiteWise.DescribeAssetModel+import Amazonka.IoTSiteWise.DescribePortal+import Amazonka.IoTSiteWise.Lens+import Amazonka.IoTSiteWise.Types+import qualified Amazonka.Prelude as Prelude++-- | Polls 'Amazonka.IoTSiteWise.DescribeAsset' every 3 seconds until a successful state is reached. An error is returned after 20 failed checks.+newAssetActive :: Core.Wait DescribeAsset+newAssetActive =+ Core.Wait+ { Core.name = "AssetActive",+ Core.attempts = 20,+ Core.delay = 3,+ Core.acceptors =+ [ Core.matchAll+ "ACTIVE"+ Core.AcceptSuccess+ ( describeAssetResponse_assetStatus+ Prelude.. assetStatus_state+ Prelude.. Lens.to Data.toTextCI+ ),+ Core.matchAll+ "FAILED"+ Core.AcceptFailure+ ( describeAssetResponse_assetStatus+ Prelude.. assetStatus_state+ Prelude.. Lens.to Data.toTextCI+ )+ ]+ }++-- | Polls 'Amazonka.IoTSiteWise.DescribeAssetModel' every 3 seconds until a successful state is reached. An error is returned after 20 failed checks.+newAssetModelActive :: Core.Wait DescribeAssetModel+newAssetModelActive =+ Core.Wait+ { Core.name = "AssetModelActive",+ Core.attempts = 20,+ Core.delay = 3,+ Core.acceptors =+ [ Core.matchAll+ "ACTIVE"+ Core.AcceptSuccess+ ( describeAssetModelResponse_assetModelStatus+ Prelude.. assetModelStatus_state+ Prelude.. Lens.to Data.toTextCI+ ),+ Core.matchAll+ "FAILED"+ Core.AcceptFailure+ ( describeAssetModelResponse_assetModelStatus+ Prelude.. assetModelStatus_state+ Prelude.. Lens.to Data.toTextCI+ )+ ]+ }++-- | Polls 'Amazonka.IoTSiteWise.DescribeAssetModel' every 3 seconds until a successful state is reached. An error is returned after 20 failed checks.+newAssetModelNotExists :: Core.Wait DescribeAssetModel+newAssetModelNotExists =+ Core.Wait+ { Core.name = "AssetModelNotExists",+ Core.attempts = 20,+ Core.delay = 3,+ Core.acceptors =+ [ Core.matchError+ "ResourceNotFoundException"+ Core.AcceptSuccess+ ]+ }++-- | Polls 'Amazonka.IoTSiteWise.DescribeAsset' every 3 seconds until a successful state is reached. An error is returned after 20 failed checks.+newAssetNotExists :: Core.Wait DescribeAsset+newAssetNotExists =+ Core.Wait+ { Core.name = "AssetNotExists",+ Core.attempts = 20,+ Core.delay = 3,+ Core.acceptors =+ [ Core.matchError+ "ResourceNotFoundException"+ Core.AcceptSuccess+ ]+ }++-- | Polls 'Amazonka.IoTSiteWise.DescribePortal' every 3 seconds until a successful state is reached. An error is returned after 20 failed checks.+newPortalActive :: Core.Wait DescribePortal+newPortalActive =+ Core.Wait+ { Core.name = "PortalActive",+ Core.attempts = 20,+ Core.delay = 3,+ Core.acceptors =+ [ Core.matchAll+ "ACTIVE"+ Core.AcceptSuccess+ ( describePortalResponse_portalStatus+ Prelude.. portalStatus_state+ Prelude.. Lens.to Data.toTextCI+ )+ ]+ }++-- | Polls 'Amazonka.IoTSiteWise.DescribePortal' every 3 seconds until a successful state is reached. An error is returned after 20 failed checks.+newPortalNotExists :: Core.Wait DescribePortal+newPortalNotExists =+ Core.Wait+ { Core.name = "PortalNotExists",+ Core.attempts = 20,+ Core.delay = 3,+ Core.acceptors =+ [ Core.matchError+ "ResourceNotFoundException"+ Core.AcceptSuccess+ ]+ }
+ src/.gitkeep view
+ test/Main.hs view
@@ -0,0 +1,23 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Main+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Main (main) where++import Test.Amazonka.IoTSiteWise+import Test.Amazonka.IoTSiteWise.Internal+import Test.Tasty++main :: IO ()+main =+ defaultMain $+ testGroup+ "IoTSiteWise"+ [ testGroup "tests" tests,+ testGroup "fixtures" fixtures+ ]
+ test/Test/Amazonka/Gen/IoTSiteWise.hs view
@@ -0,0 +1,1498 @@+{-# OPTIONS_GHC -fno-warn-orphans #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Test.Amazonka.Gen.IoTSiteWise+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Test.Amazonka.Gen.IoTSiteWise where++import Amazonka.IoTSiteWise+import qualified Data.Proxy as Proxy+import Test.Amazonka.Fixture+import Test.Amazonka.IoTSiteWise.Internal+import Test.Amazonka.Prelude+import Test.Tasty++-- Auto-generated: the actual test selection needs to be manually placed into+-- the top-level so that real test data can be incrementally added.+--+-- This commented snippet is what the entire set should look like:++-- fixtures :: TestTree+-- fixtures =+-- [ testGroup "request"+-- [ requestAssociateAssets $+-- newAssociateAssets+--+-- , requestAssociateTimeSeriesToAssetProperty $+-- newAssociateTimeSeriesToAssetProperty+--+-- , requestBatchAssociateProjectAssets $+-- newBatchAssociateProjectAssets+--+-- , requestBatchDisassociateProjectAssets $+-- newBatchDisassociateProjectAssets+--+-- , requestBatchGetAssetPropertyAggregates $+-- newBatchGetAssetPropertyAggregates+--+-- , requestBatchGetAssetPropertyValue $+-- newBatchGetAssetPropertyValue+--+-- , requestBatchGetAssetPropertyValueHistory $+-- newBatchGetAssetPropertyValueHistory+--+-- , requestBatchPutAssetPropertyValue $+-- newBatchPutAssetPropertyValue+--+-- , requestCreateAccessPolicy $+-- newCreateAccessPolicy+--+-- , requestCreateAsset $+-- newCreateAsset+--+-- , requestCreateAssetModel $+-- newCreateAssetModel+--+-- , requestCreateBulkImportJob $+-- newCreateBulkImportJob+--+-- , requestCreateDashboard $+-- newCreateDashboard+--+-- , requestCreateGateway $+-- newCreateGateway+--+-- , requestCreatePortal $+-- newCreatePortal+--+-- , requestCreateProject $+-- newCreateProject+--+-- , requestDeleteAccessPolicy $+-- newDeleteAccessPolicy+--+-- , requestDeleteAsset $+-- newDeleteAsset+--+-- , requestDeleteAssetModel $+-- newDeleteAssetModel+--+-- , requestDeleteDashboard $+-- newDeleteDashboard+--+-- , requestDeleteGateway $+-- newDeleteGateway+--+-- , requestDeletePortal $+-- newDeletePortal+--+-- , requestDeleteProject $+-- newDeleteProject+--+-- , requestDeleteTimeSeries $+-- newDeleteTimeSeries+--+-- , requestDescribeAccessPolicy $+-- newDescribeAccessPolicy+--+-- , requestDescribeAsset $+-- newDescribeAsset+--+-- , requestDescribeAssetModel $+-- newDescribeAssetModel+--+-- , requestDescribeAssetProperty $+-- newDescribeAssetProperty+--+-- , requestDescribeBulkImportJob $+-- newDescribeBulkImportJob+--+-- , requestDescribeDashboard $+-- newDescribeDashboard+--+-- , requestDescribeDefaultEncryptionConfiguration $+-- newDescribeDefaultEncryptionConfiguration+--+-- , requestDescribeGateway $+-- newDescribeGateway+--+-- , requestDescribeGatewayCapabilityConfiguration $+-- newDescribeGatewayCapabilityConfiguration+--+-- , requestDescribeLoggingOptions $+-- newDescribeLoggingOptions+--+-- , requestDescribePortal $+-- newDescribePortal+--+-- , requestDescribeProject $+-- newDescribeProject+--+-- , requestDescribeStorageConfiguration $+-- newDescribeStorageConfiguration+--+-- , requestDescribeTimeSeries $+-- newDescribeTimeSeries+--+-- , requestDisassociateAssets $+-- newDisassociateAssets+--+-- , requestDisassociateTimeSeriesFromAssetProperty $+-- newDisassociateTimeSeriesFromAssetProperty+--+-- , requestGetAssetPropertyAggregates $+-- newGetAssetPropertyAggregates+--+-- , requestGetAssetPropertyValue $+-- newGetAssetPropertyValue+--+-- , requestGetAssetPropertyValueHistory $+-- newGetAssetPropertyValueHistory+--+-- , requestGetInterpolatedAssetPropertyValues $+-- newGetInterpolatedAssetPropertyValues+--+-- , requestListAccessPolicies $+-- newListAccessPolicies+--+-- , requestListAssetModelProperties $+-- newListAssetModelProperties+--+-- , requestListAssetModels $+-- newListAssetModels+--+-- , requestListAssetProperties $+-- newListAssetProperties+--+-- , requestListAssetRelationships $+-- newListAssetRelationships+--+-- , requestListAssets $+-- newListAssets+--+-- , requestListAssociatedAssets $+-- newListAssociatedAssets+--+-- , requestListBulkImportJobs $+-- newListBulkImportJobs+--+-- , requestListDashboards $+-- newListDashboards+--+-- , requestListGateways $+-- newListGateways+--+-- , requestListPortals $+-- newListPortals+--+-- , requestListProjectAssets $+-- newListProjectAssets+--+-- , requestListProjects $+-- newListProjects+--+-- , requestListTagsForResource $+-- newListTagsForResource+--+-- , requestListTimeSeries $+-- newListTimeSeries+--+-- , requestPutDefaultEncryptionConfiguration $+-- newPutDefaultEncryptionConfiguration+--+-- , requestPutLoggingOptions $+-- newPutLoggingOptions+--+-- , requestPutStorageConfiguration $+-- newPutStorageConfiguration+--+-- , requestTagResource $+-- newTagResource+--+-- , requestUntagResource $+-- newUntagResource+--+-- , requestUpdateAccessPolicy $+-- newUpdateAccessPolicy+--+-- , requestUpdateAsset $+-- newUpdateAsset+--+-- , requestUpdateAssetModel $+-- newUpdateAssetModel+--+-- , requestUpdateAssetProperty $+-- newUpdateAssetProperty+--+-- , requestUpdateDashboard $+-- newUpdateDashboard+--+-- , requestUpdateGateway $+-- newUpdateGateway+--+-- , requestUpdateGatewayCapabilityConfiguration $+-- newUpdateGatewayCapabilityConfiguration+--+-- , requestUpdatePortal $+-- newUpdatePortal+--+-- , requestUpdateProject $+-- newUpdateProject+--+-- ]++-- , testGroup "response"+-- [ responseAssociateAssets $+-- newAssociateAssetsResponse+--+-- , responseAssociateTimeSeriesToAssetProperty $+-- newAssociateTimeSeriesToAssetPropertyResponse+--+-- , responseBatchAssociateProjectAssets $+-- newBatchAssociateProjectAssetsResponse+--+-- , responseBatchDisassociateProjectAssets $+-- newBatchDisassociateProjectAssetsResponse+--+-- , responseBatchGetAssetPropertyAggregates $+-- newBatchGetAssetPropertyAggregatesResponse+--+-- , responseBatchGetAssetPropertyValue $+-- newBatchGetAssetPropertyValueResponse+--+-- , responseBatchGetAssetPropertyValueHistory $+-- newBatchGetAssetPropertyValueHistoryResponse+--+-- , responseBatchPutAssetPropertyValue $+-- newBatchPutAssetPropertyValueResponse+--+-- , responseCreateAccessPolicy $+-- newCreateAccessPolicyResponse+--+-- , responseCreateAsset $+-- newCreateAssetResponse+--+-- , responseCreateAssetModel $+-- newCreateAssetModelResponse+--+-- , responseCreateBulkImportJob $+-- newCreateBulkImportJobResponse+--+-- , responseCreateDashboard $+-- newCreateDashboardResponse+--+-- , responseCreateGateway $+-- newCreateGatewayResponse+--+-- , responseCreatePortal $+-- newCreatePortalResponse+--+-- , responseCreateProject $+-- newCreateProjectResponse+--+-- , responseDeleteAccessPolicy $+-- newDeleteAccessPolicyResponse+--+-- , responseDeleteAsset $+-- newDeleteAssetResponse+--+-- , responseDeleteAssetModel $+-- newDeleteAssetModelResponse+--+-- , responseDeleteDashboard $+-- newDeleteDashboardResponse+--+-- , responseDeleteGateway $+-- newDeleteGatewayResponse+--+-- , responseDeletePortal $+-- newDeletePortalResponse+--+-- , responseDeleteProject $+-- newDeleteProjectResponse+--+-- , responseDeleteTimeSeries $+-- newDeleteTimeSeriesResponse+--+-- , responseDescribeAccessPolicy $+-- newDescribeAccessPolicyResponse+--+-- , responseDescribeAsset $+-- newDescribeAssetResponse+--+-- , responseDescribeAssetModel $+-- newDescribeAssetModelResponse+--+-- , responseDescribeAssetProperty $+-- newDescribeAssetPropertyResponse+--+-- , responseDescribeBulkImportJob $+-- newDescribeBulkImportJobResponse+--+-- , responseDescribeDashboard $+-- newDescribeDashboardResponse+--+-- , responseDescribeDefaultEncryptionConfiguration $+-- newDescribeDefaultEncryptionConfigurationResponse+--+-- , responseDescribeGateway $+-- newDescribeGatewayResponse+--+-- , responseDescribeGatewayCapabilityConfiguration $+-- newDescribeGatewayCapabilityConfigurationResponse+--+-- , responseDescribeLoggingOptions $+-- newDescribeLoggingOptionsResponse+--+-- , responseDescribePortal $+-- newDescribePortalResponse+--+-- , responseDescribeProject $+-- newDescribeProjectResponse+--+-- , responseDescribeStorageConfiguration $+-- newDescribeStorageConfigurationResponse+--+-- , responseDescribeTimeSeries $+-- newDescribeTimeSeriesResponse+--+-- , responseDisassociateAssets $+-- newDisassociateAssetsResponse+--+-- , responseDisassociateTimeSeriesFromAssetProperty $+-- newDisassociateTimeSeriesFromAssetPropertyResponse+--+-- , responseGetAssetPropertyAggregates $+-- newGetAssetPropertyAggregatesResponse+--+-- , responseGetAssetPropertyValue $+-- newGetAssetPropertyValueResponse+--+-- , responseGetAssetPropertyValueHistory $+-- newGetAssetPropertyValueHistoryResponse+--+-- , responseGetInterpolatedAssetPropertyValues $+-- newGetInterpolatedAssetPropertyValuesResponse+--+-- , responseListAccessPolicies $+-- newListAccessPoliciesResponse+--+-- , responseListAssetModelProperties $+-- newListAssetModelPropertiesResponse+--+-- , responseListAssetModels $+-- newListAssetModelsResponse+--+-- , responseListAssetProperties $+-- newListAssetPropertiesResponse+--+-- , responseListAssetRelationships $+-- newListAssetRelationshipsResponse+--+-- , responseListAssets $+-- newListAssetsResponse+--+-- , responseListAssociatedAssets $+-- newListAssociatedAssetsResponse+--+-- , responseListBulkImportJobs $+-- newListBulkImportJobsResponse+--+-- , responseListDashboards $+-- newListDashboardsResponse+--+-- , responseListGateways $+-- newListGatewaysResponse+--+-- , responseListPortals $+-- newListPortalsResponse+--+-- , responseListProjectAssets $+-- newListProjectAssetsResponse+--+-- , responseListProjects $+-- newListProjectsResponse+--+-- , responseListTagsForResource $+-- newListTagsForResourceResponse+--+-- , responseListTimeSeries $+-- newListTimeSeriesResponse+--+-- , responsePutDefaultEncryptionConfiguration $+-- newPutDefaultEncryptionConfigurationResponse+--+-- , responsePutLoggingOptions $+-- newPutLoggingOptionsResponse+--+-- , responsePutStorageConfiguration $+-- newPutStorageConfigurationResponse+--+-- , responseTagResource $+-- newTagResourceResponse+--+-- , responseUntagResource $+-- newUntagResourceResponse+--+-- , responseUpdateAccessPolicy $+-- newUpdateAccessPolicyResponse+--+-- , responseUpdateAsset $+-- newUpdateAssetResponse+--+-- , responseUpdateAssetModel $+-- newUpdateAssetModelResponse+--+-- , responseUpdateAssetProperty $+-- newUpdateAssetPropertyResponse+--+-- , responseUpdateDashboard $+-- newUpdateDashboardResponse+--+-- , responseUpdateGateway $+-- newUpdateGatewayResponse+--+-- , responseUpdateGatewayCapabilityConfiguration $+-- newUpdateGatewayCapabilityConfigurationResponse+--+-- , responseUpdatePortal $+-- newUpdatePortalResponse+--+-- , responseUpdateProject $+-- newUpdateProjectResponse+--+-- ]+-- ]++-- Requests++requestAssociateAssets :: AssociateAssets -> TestTree+requestAssociateAssets =+ req+ "AssociateAssets"+ "fixture/AssociateAssets.yaml"++requestAssociateTimeSeriesToAssetProperty :: AssociateTimeSeriesToAssetProperty -> TestTree+requestAssociateTimeSeriesToAssetProperty =+ req+ "AssociateTimeSeriesToAssetProperty"+ "fixture/AssociateTimeSeriesToAssetProperty.yaml"++requestBatchAssociateProjectAssets :: BatchAssociateProjectAssets -> TestTree+requestBatchAssociateProjectAssets =+ req+ "BatchAssociateProjectAssets"+ "fixture/BatchAssociateProjectAssets.yaml"++requestBatchDisassociateProjectAssets :: BatchDisassociateProjectAssets -> TestTree+requestBatchDisassociateProjectAssets =+ req+ "BatchDisassociateProjectAssets"+ "fixture/BatchDisassociateProjectAssets.yaml"++requestBatchGetAssetPropertyAggregates :: BatchGetAssetPropertyAggregates -> TestTree+requestBatchGetAssetPropertyAggregates =+ req+ "BatchGetAssetPropertyAggregates"+ "fixture/BatchGetAssetPropertyAggregates.yaml"++requestBatchGetAssetPropertyValue :: BatchGetAssetPropertyValue -> TestTree+requestBatchGetAssetPropertyValue =+ req+ "BatchGetAssetPropertyValue"+ "fixture/BatchGetAssetPropertyValue.yaml"++requestBatchGetAssetPropertyValueHistory :: BatchGetAssetPropertyValueHistory -> TestTree+requestBatchGetAssetPropertyValueHistory =+ req+ "BatchGetAssetPropertyValueHistory"+ "fixture/BatchGetAssetPropertyValueHistory.yaml"++requestBatchPutAssetPropertyValue :: BatchPutAssetPropertyValue -> TestTree+requestBatchPutAssetPropertyValue =+ req+ "BatchPutAssetPropertyValue"+ "fixture/BatchPutAssetPropertyValue.yaml"++requestCreateAccessPolicy :: CreateAccessPolicy -> TestTree+requestCreateAccessPolicy =+ req+ "CreateAccessPolicy"+ "fixture/CreateAccessPolicy.yaml"++requestCreateAsset :: CreateAsset -> TestTree+requestCreateAsset =+ req+ "CreateAsset"+ "fixture/CreateAsset.yaml"++requestCreateAssetModel :: CreateAssetModel -> TestTree+requestCreateAssetModel =+ req+ "CreateAssetModel"+ "fixture/CreateAssetModel.yaml"++requestCreateBulkImportJob :: CreateBulkImportJob -> TestTree+requestCreateBulkImportJob =+ req+ "CreateBulkImportJob"+ "fixture/CreateBulkImportJob.yaml"++requestCreateDashboard :: CreateDashboard -> TestTree+requestCreateDashboard =+ req+ "CreateDashboard"+ "fixture/CreateDashboard.yaml"++requestCreateGateway :: CreateGateway -> TestTree+requestCreateGateway =+ req+ "CreateGateway"+ "fixture/CreateGateway.yaml"++requestCreatePortal :: CreatePortal -> TestTree+requestCreatePortal =+ req+ "CreatePortal"+ "fixture/CreatePortal.yaml"++requestCreateProject :: CreateProject -> TestTree+requestCreateProject =+ req+ "CreateProject"+ "fixture/CreateProject.yaml"++requestDeleteAccessPolicy :: DeleteAccessPolicy -> TestTree+requestDeleteAccessPolicy =+ req+ "DeleteAccessPolicy"+ "fixture/DeleteAccessPolicy.yaml"++requestDeleteAsset :: DeleteAsset -> TestTree+requestDeleteAsset =+ req+ "DeleteAsset"+ "fixture/DeleteAsset.yaml"++requestDeleteAssetModel :: DeleteAssetModel -> TestTree+requestDeleteAssetModel =+ req+ "DeleteAssetModel"+ "fixture/DeleteAssetModel.yaml"++requestDeleteDashboard :: DeleteDashboard -> TestTree+requestDeleteDashboard =+ req+ "DeleteDashboard"+ "fixture/DeleteDashboard.yaml"++requestDeleteGateway :: DeleteGateway -> TestTree+requestDeleteGateway =+ req+ "DeleteGateway"+ "fixture/DeleteGateway.yaml"++requestDeletePortal :: DeletePortal -> TestTree+requestDeletePortal =+ req+ "DeletePortal"+ "fixture/DeletePortal.yaml"++requestDeleteProject :: DeleteProject -> TestTree+requestDeleteProject =+ req+ "DeleteProject"+ "fixture/DeleteProject.yaml"++requestDeleteTimeSeries :: DeleteTimeSeries -> TestTree+requestDeleteTimeSeries =+ req+ "DeleteTimeSeries"+ "fixture/DeleteTimeSeries.yaml"++requestDescribeAccessPolicy :: DescribeAccessPolicy -> TestTree+requestDescribeAccessPolicy =+ req+ "DescribeAccessPolicy"+ "fixture/DescribeAccessPolicy.yaml"++requestDescribeAsset :: DescribeAsset -> TestTree+requestDescribeAsset =+ req+ "DescribeAsset"+ "fixture/DescribeAsset.yaml"++requestDescribeAssetModel :: DescribeAssetModel -> TestTree+requestDescribeAssetModel =+ req+ "DescribeAssetModel"+ "fixture/DescribeAssetModel.yaml"++requestDescribeAssetProperty :: DescribeAssetProperty -> TestTree+requestDescribeAssetProperty =+ req+ "DescribeAssetProperty"+ "fixture/DescribeAssetProperty.yaml"++requestDescribeBulkImportJob :: DescribeBulkImportJob -> TestTree+requestDescribeBulkImportJob =+ req+ "DescribeBulkImportJob"+ "fixture/DescribeBulkImportJob.yaml"++requestDescribeDashboard :: DescribeDashboard -> TestTree+requestDescribeDashboard =+ req+ "DescribeDashboard"+ "fixture/DescribeDashboard.yaml"++requestDescribeDefaultEncryptionConfiguration :: DescribeDefaultEncryptionConfiguration -> TestTree+requestDescribeDefaultEncryptionConfiguration =+ req+ "DescribeDefaultEncryptionConfiguration"+ "fixture/DescribeDefaultEncryptionConfiguration.yaml"++requestDescribeGateway :: DescribeGateway -> TestTree+requestDescribeGateway =+ req+ "DescribeGateway"+ "fixture/DescribeGateway.yaml"++requestDescribeGatewayCapabilityConfiguration :: DescribeGatewayCapabilityConfiguration -> TestTree+requestDescribeGatewayCapabilityConfiguration =+ req+ "DescribeGatewayCapabilityConfiguration"+ "fixture/DescribeGatewayCapabilityConfiguration.yaml"++requestDescribeLoggingOptions :: DescribeLoggingOptions -> TestTree+requestDescribeLoggingOptions =+ req+ "DescribeLoggingOptions"+ "fixture/DescribeLoggingOptions.yaml"++requestDescribePortal :: DescribePortal -> TestTree+requestDescribePortal =+ req+ "DescribePortal"+ "fixture/DescribePortal.yaml"++requestDescribeProject :: DescribeProject -> TestTree+requestDescribeProject =+ req+ "DescribeProject"+ "fixture/DescribeProject.yaml"++requestDescribeStorageConfiguration :: DescribeStorageConfiguration -> TestTree+requestDescribeStorageConfiguration =+ req+ "DescribeStorageConfiguration"+ "fixture/DescribeStorageConfiguration.yaml"++requestDescribeTimeSeries :: DescribeTimeSeries -> TestTree+requestDescribeTimeSeries =+ req+ "DescribeTimeSeries"+ "fixture/DescribeTimeSeries.yaml"++requestDisassociateAssets :: DisassociateAssets -> TestTree+requestDisassociateAssets =+ req+ "DisassociateAssets"+ "fixture/DisassociateAssets.yaml"++requestDisassociateTimeSeriesFromAssetProperty :: DisassociateTimeSeriesFromAssetProperty -> TestTree+requestDisassociateTimeSeriesFromAssetProperty =+ req+ "DisassociateTimeSeriesFromAssetProperty"+ "fixture/DisassociateTimeSeriesFromAssetProperty.yaml"++requestGetAssetPropertyAggregates :: GetAssetPropertyAggregates -> TestTree+requestGetAssetPropertyAggregates =+ req+ "GetAssetPropertyAggregates"+ "fixture/GetAssetPropertyAggregates.yaml"++requestGetAssetPropertyValue :: GetAssetPropertyValue -> TestTree+requestGetAssetPropertyValue =+ req+ "GetAssetPropertyValue"+ "fixture/GetAssetPropertyValue.yaml"++requestGetAssetPropertyValueHistory :: GetAssetPropertyValueHistory -> TestTree+requestGetAssetPropertyValueHistory =+ req+ "GetAssetPropertyValueHistory"+ "fixture/GetAssetPropertyValueHistory.yaml"++requestGetInterpolatedAssetPropertyValues :: GetInterpolatedAssetPropertyValues -> TestTree+requestGetInterpolatedAssetPropertyValues =+ req+ "GetInterpolatedAssetPropertyValues"+ "fixture/GetInterpolatedAssetPropertyValues.yaml"++requestListAccessPolicies :: ListAccessPolicies -> TestTree+requestListAccessPolicies =+ req+ "ListAccessPolicies"+ "fixture/ListAccessPolicies.yaml"++requestListAssetModelProperties :: ListAssetModelProperties -> TestTree+requestListAssetModelProperties =+ req+ "ListAssetModelProperties"+ "fixture/ListAssetModelProperties.yaml"++requestListAssetModels :: ListAssetModels -> TestTree+requestListAssetModels =+ req+ "ListAssetModels"+ "fixture/ListAssetModels.yaml"++requestListAssetProperties :: ListAssetProperties -> TestTree+requestListAssetProperties =+ req+ "ListAssetProperties"+ "fixture/ListAssetProperties.yaml"++requestListAssetRelationships :: ListAssetRelationships -> TestTree+requestListAssetRelationships =+ req+ "ListAssetRelationships"+ "fixture/ListAssetRelationships.yaml"++requestListAssets :: ListAssets -> TestTree+requestListAssets =+ req+ "ListAssets"+ "fixture/ListAssets.yaml"++requestListAssociatedAssets :: ListAssociatedAssets -> TestTree+requestListAssociatedAssets =+ req+ "ListAssociatedAssets"+ "fixture/ListAssociatedAssets.yaml"++requestListBulkImportJobs :: ListBulkImportJobs -> TestTree+requestListBulkImportJobs =+ req+ "ListBulkImportJobs"+ "fixture/ListBulkImportJobs.yaml"++requestListDashboards :: ListDashboards -> TestTree+requestListDashboards =+ req+ "ListDashboards"+ "fixture/ListDashboards.yaml"++requestListGateways :: ListGateways -> TestTree+requestListGateways =+ req+ "ListGateways"+ "fixture/ListGateways.yaml"++requestListPortals :: ListPortals -> TestTree+requestListPortals =+ req+ "ListPortals"+ "fixture/ListPortals.yaml"++requestListProjectAssets :: ListProjectAssets -> TestTree+requestListProjectAssets =+ req+ "ListProjectAssets"+ "fixture/ListProjectAssets.yaml"++requestListProjects :: ListProjects -> TestTree+requestListProjects =+ req+ "ListProjects"+ "fixture/ListProjects.yaml"++requestListTagsForResource :: ListTagsForResource -> TestTree+requestListTagsForResource =+ req+ "ListTagsForResource"+ "fixture/ListTagsForResource.yaml"++requestListTimeSeries :: ListTimeSeries -> TestTree+requestListTimeSeries =+ req+ "ListTimeSeries"+ "fixture/ListTimeSeries.yaml"++requestPutDefaultEncryptionConfiguration :: PutDefaultEncryptionConfiguration -> TestTree+requestPutDefaultEncryptionConfiguration =+ req+ "PutDefaultEncryptionConfiguration"+ "fixture/PutDefaultEncryptionConfiguration.yaml"++requestPutLoggingOptions :: PutLoggingOptions -> TestTree+requestPutLoggingOptions =+ req+ "PutLoggingOptions"+ "fixture/PutLoggingOptions.yaml"++requestPutStorageConfiguration :: PutStorageConfiguration -> TestTree+requestPutStorageConfiguration =+ req+ "PutStorageConfiguration"+ "fixture/PutStorageConfiguration.yaml"++requestTagResource :: TagResource -> TestTree+requestTagResource =+ req+ "TagResource"+ "fixture/TagResource.yaml"++requestUntagResource :: UntagResource -> TestTree+requestUntagResource =+ req+ "UntagResource"+ "fixture/UntagResource.yaml"++requestUpdateAccessPolicy :: UpdateAccessPolicy -> TestTree+requestUpdateAccessPolicy =+ req+ "UpdateAccessPolicy"+ "fixture/UpdateAccessPolicy.yaml"++requestUpdateAsset :: UpdateAsset -> TestTree+requestUpdateAsset =+ req+ "UpdateAsset"+ "fixture/UpdateAsset.yaml"++requestUpdateAssetModel :: UpdateAssetModel -> TestTree+requestUpdateAssetModel =+ req+ "UpdateAssetModel"+ "fixture/UpdateAssetModel.yaml"++requestUpdateAssetProperty :: UpdateAssetProperty -> TestTree+requestUpdateAssetProperty =+ req+ "UpdateAssetProperty"+ "fixture/UpdateAssetProperty.yaml"++requestUpdateDashboard :: UpdateDashboard -> TestTree+requestUpdateDashboard =+ req+ "UpdateDashboard"+ "fixture/UpdateDashboard.yaml"++requestUpdateGateway :: UpdateGateway -> TestTree+requestUpdateGateway =+ req+ "UpdateGateway"+ "fixture/UpdateGateway.yaml"++requestUpdateGatewayCapabilityConfiguration :: UpdateGatewayCapabilityConfiguration -> TestTree+requestUpdateGatewayCapabilityConfiguration =+ req+ "UpdateGatewayCapabilityConfiguration"+ "fixture/UpdateGatewayCapabilityConfiguration.yaml"++requestUpdatePortal :: UpdatePortal -> TestTree+requestUpdatePortal =+ req+ "UpdatePortal"+ "fixture/UpdatePortal.yaml"++requestUpdateProject :: UpdateProject -> TestTree+requestUpdateProject =+ req+ "UpdateProject"+ "fixture/UpdateProject.yaml"++-- Responses++responseAssociateAssets :: AssociateAssetsResponse -> TestTree+responseAssociateAssets =+ res+ "AssociateAssetsResponse"+ "fixture/AssociateAssetsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy AssociateAssets)++responseAssociateTimeSeriesToAssetProperty :: AssociateTimeSeriesToAssetPropertyResponse -> TestTree+responseAssociateTimeSeriesToAssetProperty =+ res+ "AssociateTimeSeriesToAssetPropertyResponse"+ "fixture/AssociateTimeSeriesToAssetPropertyResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy AssociateTimeSeriesToAssetProperty)++responseBatchAssociateProjectAssets :: BatchAssociateProjectAssetsResponse -> TestTree+responseBatchAssociateProjectAssets =+ res+ "BatchAssociateProjectAssetsResponse"+ "fixture/BatchAssociateProjectAssetsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy BatchAssociateProjectAssets)++responseBatchDisassociateProjectAssets :: BatchDisassociateProjectAssetsResponse -> TestTree+responseBatchDisassociateProjectAssets =+ res+ "BatchDisassociateProjectAssetsResponse"+ "fixture/BatchDisassociateProjectAssetsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy BatchDisassociateProjectAssets)++responseBatchGetAssetPropertyAggregates :: BatchGetAssetPropertyAggregatesResponse -> TestTree+responseBatchGetAssetPropertyAggregates =+ res+ "BatchGetAssetPropertyAggregatesResponse"+ "fixture/BatchGetAssetPropertyAggregatesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy BatchGetAssetPropertyAggregates)++responseBatchGetAssetPropertyValue :: BatchGetAssetPropertyValueResponse -> TestTree+responseBatchGetAssetPropertyValue =+ res+ "BatchGetAssetPropertyValueResponse"+ "fixture/BatchGetAssetPropertyValueResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy BatchGetAssetPropertyValue)++responseBatchGetAssetPropertyValueHistory :: BatchGetAssetPropertyValueHistoryResponse -> TestTree+responseBatchGetAssetPropertyValueHistory =+ res+ "BatchGetAssetPropertyValueHistoryResponse"+ "fixture/BatchGetAssetPropertyValueHistoryResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy BatchGetAssetPropertyValueHistory)++responseBatchPutAssetPropertyValue :: BatchPutAssetPropertyValueResponse -> TestTree+responseBatchPutAssetPropertyValue =+ res+ "BatchPutAssetPropertyValueResponse"+ "fixture/BatchPutAssetPropertyValueResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy BatchPutAssetPropertyValue)++responseCreateAccessPolicy :: CreateAccessPolicyResponse -> TestTree+responseCreateAccessPolicy =+ res+ "CreateAccessPolicyResponse"+ "fixture/CreateAccessPolicyResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateAccessPolicy)++responseCreateAsset :: CreateAssetResponse -> TestTree+responseCreateAsset =+ res+ "CreateAssetResponse"+ "fixture/CreateAssetResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateAsset)++responseCreateAssetModel :: CreateAssetModelResponse -> TestTree+responseCreateAssetModel =+ res+ "CreateAssetModelResponse"+ "fixture/CreateAssetModelResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateAssetModel)++responseCreateBulkImportJob :: CreateBulkImportJobResponse -> TestTree+responseCreateBulkImportJob =+ res+ "CreateBulkImportJobResponse"+ "fixture/CreateBulkImportJobResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateBulkImportJob)++responseCreateDashboard :: CreateDashboardResponse -> TestTree+responseCreateDashboard =+ res+ "CreateDashboardResponse"+ "fixture/CreateDashboardResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateDashboard)++responseCreateGateway :: CreateGatewayResponse -> TestTree+responseCreateGateway =+ res+ "CreateGatewayResponse"+ "fixture/CreateGatewayResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateGateway)++responseCreatePortal :: CreatePortalResponse -> TestTree+responseCreatePortal =+ res+ "CreatePortalResponse"+ "fixture/CreatePortalResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreatePortal)++responseCreateProject :: CreateProjectResponse -> TestTree+responseCreateProject =+ res+ "CreateProjectResponse"+ "fixture/CreateProjectResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateProject)++responseDeleteAccessPolicy :: DeleteAccessPolicyResponse -> TestTree+responseDeleteAccessPolicy =+ res+ "DeleteAccessPolicyResponse"+ "fixture/DeleteAccessPolicyResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteAccessPolicy)++responseDeleteAsset :: DeleteAssetResponse -> TestTree+responseDeleteAsset =+ res+ "DeleteAssetResponse"+ "fixture/DeleteAssetResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteAsset)++responseDeleteAssetModel :: DeleteAssetModelResponse -> TestTree+responseDeleteAssetModel =+ res+ "DeleteAssetModelResponse"+ "fixture/DeleteAssetModelResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteAssetModel)++responseDeleteDashboard :: DeleteDashboardResponse -> TestTree+responseDeleteDashboard =+ res+ "DeleteDashboardResponse"+ "fixture/DeleteDashboardResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteDashboard)++responseDeleteGateway :: DeleteGatewayResponse -> TestTree+responseDeleteGateway =+ res+ "DeleteGatewayResponse"+ "fixture/DeleteGatewayResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteGateway)++responseDeletePortal :: DeletePortalResponse -> TestTree+responseDeletePortal =+ res+ "DeletePortalResponse"+ "fixture/DeletePortalResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeletePortal)++responseDeleteProject :: DeleteProjectResponse -> TestTree+responseDeleteProject =+ res+ "DeleteProjectResponse"+ "fixture/DeleteProjectResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteProject)++responseDeleteTimeSeries :: DeleteTimeSeriesResponse -> TestTree+responseDeleteTimeSeries =+ res+ "DeleteTimeSeriesResponse"+ "fixture/DeleteTimeSeriesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteTimeSeries)++responseDescribeAccessPolicy :: DescribeAccessPolicyResponse -> TestTree+responseDescribeAccessPolicy =+ res+ "DescribeAccessPolicyResponse"+ "fixture/DescribeAccessPolicyResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeAccessPolicy)++responseDescribeAsset :: DescribeAssetResponse -> TestTree+responseDescribeAsset =+ res+ "DescribeAssetResponse"+ "fixture/DescribeAssetResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeAsset)++responseDescribeAssetModel :: DescribeAssetModelResponse -> TestTree+responseDescribeAssetModel =+ res+ "DescribeAssetModelResponse"+ "fixture/DescribeAssetModelResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeAssetModel)++responseDescribeAssetProperty :: DescribeAssetPropertyResponse -> TestTree+responseDescribeAssetProperty =+ res+ "DescribeAssetPropertyResponse"+ "fixture/DescribeAssetPropertyResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeAssetProperty)++responseDescribeBulkImportJob :: DescribeBulkImportJobResponse -> TestTree+responseDescribeBulkImportJob =+ res+ "DescribeBulkImportJobResponse"+ "fixture/DescribeBulkImportJobResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeBulkImportJob)++responseDescribeDashboard :: DescribeDashboardResponse -> TestTree+responseDescribeDashboard =+ res+ "DescribeDashboardResponse"+ "fixture/DescribeDashboardResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeDashboard)++responseDescribeDefaultEncryptionConfiguration :: DescribeDefaultEncryptionConfigurationResponse -> TestTree+responseDescribeDefaultEncryptionConfiguration =+ res+ "DescribeDefaultEncryptionConfigurationResponse"+ "fixture/DescribeDefaultEncryptionConfigurationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeDefaultEncryptionConfiguration)++responseDescribeGateway :: DescribeGatewayResponse -> TestTree+responseDescribeGateway =+ res+ "DescribeGatewayResponse"+ "fixture/DescribeGatewayResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeGateway)++responseDescribeGatewayCapabilityConfiguration :: DescribeGatewayCapabilityConfigurationResponse -> TestTree+responseDescribeGatewayCapabilityConfiguration =+ res+ "DescribeGatewayCapabilityConfigurationResponse"+ "fixture/DescribeGatewayCapabilityConfigurationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeGatewayCapabilityConfiguration)++responseDescribeLoggingOptions :: DescribeLoggingOptionsResponse -> TestTree+responseDescribeLoggingOptions =+ res+ "DescribeLoggingOptionsResponse"+ "fixture/DescribeLoggingOptionsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeLoggingOptions)++responseDescribePortal :: DescribePortalResponse -> TestTree+responseDescribePortal =+ res+ "DescribePortalResponse"+ "fixture/DescribePortalResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribePortal)++responseDescribeProject :: DescribeProjectResponse -> TestTree+responseDescribeProject =+ res+ "DescribeProjectResponse"+ "fixture/DescribeProjectResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeProject)++responseDescribeStorageConfiguration :: DescribeStorageConfigurationResponse -> TestTree+responseDescribeStorageConfiguration =+ res+ "DescribeStorageConfigurationResponse"+ "fixture/DescribeStorageConfigurationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeStorageConfiguration)++responseDescribeTimeSeries :: DescribeTimeSeriesResponse -> TestTree+responseDescribeTimeSeries =+ res+ "DescribeTimeSeriesResponse"+ "fixture/DescribeTimeSeriesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeTimeSeries)++responseDisassociateAssets :: DisassociateAssetsResponse -> TestTree+responseDisassociateAssets =+ res+ "DisassociateAssetsResponse"+ "fixture/DisassociateAssetsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DisassociateAssets)++responseDisassociateTimeSeriesFromAssetProperty :: DisassociateTimeSeriesFromAssetPropertyResponse -> TestTree+responseDisassociateTimeSeriesFromAssetProperty =+ res+ "DisassociateTimeSeriesFromAssetPropertyResponse"+ "fixture/DisassociateTimeSeriesFromAssetPropertyResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DisassociateTimeSeriesFromAssetProperty)++responseGetAssetPropertyAggregates :: GetAssetPropertyAggregatesResponse -> TestTree+responseGetAssetPropertyAggregates =+ res+ "GetAssetPropertyAggregatesResponse"+ "fixture/GetAssetPropertyAggregatesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetAssetPropertyAggregates)++responseGetAssetPropertyValue :: GetAssetPropertyValueResponse -> TestTree+responseGetAssetPropertyValue =+ res+ "GetAssetPropertyValueResponse"+ "fixture/GetAssetPropertyValueResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetAssetPropertyValue)++responseGetAssetPropertyValueHistory :: GetAssetPropertyValueHistoryResponse -> TestTree+responseGetAssetPropertyValueHistory =+ res+ "GetAssetPropertyValueHistoryResponse"+ "fixture/GetAssetPropertyValueHistoryResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetAssetPropertyValueHistory)++responseGetInterpolatedAssetPropertyValues :: GetInterpolatedAssetPropertyValuesResponse -> TestTree+responseGetInterpolatedAssetPropertyValues =+ res+ "GetInterpolatedAssetPropertyValuesResponse"+ "fixture/GetInterpolatedAssetPropertyValuesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetInterpolatedAssetPropertyValues)++responseListAccessPolicies :: ListAccessPoliciesResponse -> TestTree+responseListAccessPolicies =+ res+ "ListAccessPoliciesResponse"+ "fixture/ListAccessPoliciesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListAccessPolicies)++responseListAssetModelProperties :: ListAssetModelPropertiesResponse -> TestTree+responseListAssetModelProperties =+ res+ "ListAssetModelPropertiesResponse"+ "fixture/ListAssetModelPropertiesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListAssetModelProperties)++responseListAssetModels :: ListAssetModelsResponse -> TestTree+responseListAssetModels =+ res+ "ListAssetModelsResponse"+ "fixture/ListAssetModelsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListAssetModels)++responseListAssetProperties :: ListAssetPropertiesResponse -> TestTree+responseListAssetProperties =+ res+ "ListAssetPropertiesResponse"+ "fixture/ListAssetPropertiesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListAssetProperties)++responseListAssetRelationships :: ListAssetRelationshipsResponse -> TestTree+responseListAssetRelationships =+ res+ "ListAssetRelationshipsResponse"+ "fixture/ListAssetRelationshipsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListAssetRelationships)++responseListAssets :: ListAssetsResponse -> TestTree+responseListAssets =+ res+ "ListAssetsResponse"+ "fixture/ListAssetsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListAssets)++responseListAssociatedAssets :: ListAssociatedAssetsResponse -> TestTree+responseListAssociatedAssets =+ res+ "ListAssociatedAssetsResponse"+ "fixture/ListAssociatedAssetsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListAssociatedAssets)++responseListBulkImportJobs :: ListBulkImportJobsResponse -> TestTree+responseListBulkImportJobs =+ res+ "ListBulkImportJobsResponse"+ "fixture/ListBulkImportJobsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListBulkImportJobs)++responseListDashboards :: ListDashboardsResponse -> TestTree+responseListDashboards =+ res+ "ListDashboardsResponse"+ "fixture/ListDashboardsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListDashboards)++responseListGateways :: ListGatewaysResponse -> TestTree+responseListGateways =+ res+ "ListGatewaysResponse"+ "fixture/ListGatewaysResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListGateways)++responseListPortals :: ListPortalsResponse -> TestTree+responseListPortals =+ res+ "ListPortalsResponse"+ "fixture/ListPortalsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListPortals)++responseListProjectAssets :: ListProjectAssetsResponse -> TestTree+responseListProjectAssets =+ res+ "ListProjectAssetsResponse"+ "fixture/ListProjectAssetsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListProjectAssets)++responseListProjects :: ListProjectsResponse -> TestTree+responseListProjects =+ res+ "ListProjectsResponse"+ "fixture/ListProjectsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListProjects)++responseListTagsForResource :: ListTagsForResourceResponse -> TestTree+responseListTagsForResource =+ res+ "ListTagsForResourceResponse"+ "fixture/ListTagsForResourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)++responseListTimeSeries :: ListTimeSeriesResponse -> TestTree+responseListTimeSeries =+ res+ "ListTimeSeriesResponse"+ "fixture/ListTimeSeriesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListTimeSeries)++responsePutDefaultEncryptionConfiguration :: PutDefaultEncryptionConfigurationResponse -> TestTree+responsePutDefaultEncryptionConfiguration =+ res+ "PutDefaultEncryptionConfigurationResponse"+ "fixture/PutDefaultEncryptionConfigurationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy PutDefaultEncryptionConfiguration)++responsePutLoggingOptions :: PutLoggingOptionsResponse -> TestTree+responsePutLoggingOptions =+ res+ "PutLoggingOptionsResponse"+ "fixture/PutLoggingOptionsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy PutLoggingOptions)++responsePutStorageConfiguration :: PutStorageConfigurationResponse -> TestTree+responsePutStorageConfiguration =+ res+ "PutStorageConfigurationResponse"+ "fixture/PutStorageConfigurationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy PutStorageConfiguration)++responseTagResource :: TagResourceResponse -> TestTree+responseTagResource =+ res+ "TagResourceResponse"+ "fixture/TagResourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy TagResource)++responseUntagResource :: UntagResourceResponse -> TestTree+responseUntagResource =+ res+ "UntagResourceResponse"+ "fixture/UntagResourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UntagResource)++responseUpdateAccessPolicy :: UpdateAccessPolicyResponse -> TestTree+responseUpdateAccessPolicy =+ res+ "UpdateAccessPolicyResponse"+ "fixture/UpdateAccessPolicyResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateAccessPolicy)++responseUpdateAsset :: UpdateAssetResponse -> TestTree+responseUpdateAsset =+ res+ "UpdateAssetResponse"+ "fixture/UpdateAssetResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateAsset)++responseUpdateAssetModel :: UpdateAssetModelResponse -> TestTree+responseUpdateAssetModel =+ res+ "UpdateAssetModelResponse"+ "fixture/UpdateAssetModelResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateAssetModel)++responseUpdateAssetProperty :: UpdateAssetPropertyResponse -> TestTree+responseUpdateAssetProperty =+ res+ "UpdateAssetPropertyResponse"+ "fixture/UpdateAssetPropertyResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateAssetProperty)++responseUpdateDashboard :: UpdateDashboardResponse -> TestTree+responseUpdateDashboard =+ res+ "UpdateDashboardResponse"+ "fixture/UpdateDashboardResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateDashboard)++responseUpdateGateway :: UpdateGatewayResponse -> TestTree+responseUpdateGateway =+ res+ "UpdateGatewayResponse"+ "fixture/UpdateGatewayResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateGateway)++responseUpdateGatewayCapabilityConfiguration :: UpdateGatewayCapabilityConfigurationResponse -> TestTree+responseUpdateGatewayCapabilityConfiguration =+ res+ "UpdateGatewayCapabilityConfigurationResponse"+ "fixture/UpdateGatewayCapabilityConfigurationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateGatewayCapabilityConfiguration)++responseUpdatePortal :: UpdatePortalResponse -> TestTree+responseUpdatePortal =+ res+ "UpdatePortalResponse"+ "fixture/UpdatePortalResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdatePortal)++responseUpdateProject :: UpdateProjectResponse -> TestTree+responseUpdateProject =+ res+ "UpdateProjectResponse"+ "fixture/UpdateProjectResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateProject)
+ test/Test/Amazonka/IoTSiteWise.hs view
@@ -0,0 +1,20 @@+-- |+-- Module : Test.Amazonka.IoTSiteWise+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Test.Amazonka.IoTSiteWise+ ( tests,+ fixtures,+ )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/IoTSiteWise/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module : Test.Amazonka.IoTSiteWise.Internal+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Test.Amazonka.IoTSiteWise.Internal where