amazonka-iot-1.3.3.1: Amazon IoT SDK.

Copyright(c) 2013-2015 Brendan Hay
LicenseMozilla Public License, v. 2.0.
MaintainerBrendan Hay <brendan.g.hay@gmail.com>
Stabilityauto-generated
Portabilitynon-portable (GHC extensions)
Safe HaskellNone
LanguageHaskell2010

Network.AWS.IoT

Contents

Description

AWS IoT (Beta)

AWS IoT is in beta and is subject to change

AWS IoT provides secure, bi-directional communication between Internet-connected things (such as sensors, actuators, embedded devices, or smart appliances) and the AWS cloud. You can discover your custom IoT-Data endpoint to communicate with, configure rules for data processing and integration with other services, organize resources associated with each thing (Thing Registry), configure logging, and create and manage policies and credentials to authenticate things.

For more information about how AWS IoT works, see the Developer Guide.

See: AWS API Reference

Synopsis

Service Configuration

ioT :: Service Source

API version '2015-05-28' of the Amazon IoT SDK configuration.

Errors

Error matchers are designed for use with the functions provided by Control.Exception.Lens. This allows catching (and rethrowing) service specific errors returned by IoT.

SqlParseException

_SqlParseException :: AsError a => Getting (First ServiceError) a ServiceError Source

The Rule-SQL expression can't be parsed correctly.

InvalidRequestException

TransferConflictException

_TransferConflictException :: AsError a => Getting (First ServiceError) a ServiceError Source

You can't transfer the the certificate because authorization policies are still attached.

CertificateStateException

_CertificateStateException :: AsError a => Getting (First ServiceError) a ServiceError Source

The certificate operation is not allowed.

MalformedPolicyException

_MalformedPolicyException :: AsError a => Getting (First ServiceError) a ServiceError Source

The policy documentation is not valid.

DeleteConflictException

_DeleteConflictException :: AsError a => Getting (First ServiceError) a ServiceError Source

You can't delete the resource because it is attached to one or more resources.

ResourceAlreadyExistsException

TransferAlreadyCompletedException

_TransferAlreadyCompletedException :: AsError a => Getting (First ServiceError) a ServiceError Source

You can't revert the certificate transfer because it has already completed.

ThrottlingException

InternalFailureException

_InternalFailureException :: AsError a => Getting (First ServiceError) a ServiceError Source

An unexpected error has occurred.

VersionsLimitExceededException

_VersionsLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError Source

The number of policy versions exceeds the limit.

ServiceUnavailableException

_ServiceUnavailableException :: AsError a => Getting (First ServiceError) a ServiceError Source

The service is temporarily unavailable.

InternalException

_InternalException :: AsError a => Getting (First ServiceError) a ServiceError Source

An unexpected error has occurred.

UnauthorizedException

_UnauthorizedException :: AsError a => Getting (First ServiceError) a ServiceError Source

You are not authorized to perform this operation.

ResourceNotFoundException

_ResourceNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError Source

The specified resource does not exist.

LimitExceededException

_LimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError Source

The number of attached entities exceeds the limit.

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.

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.

ListPolicies

CreatePolicy

ListThingPrincipals

ListPrincipalThings

GetLoggingOptions

CreateCertificateFromCsr

DeleteThing

UpdateThing

CancelCertificateTransfer

DeletePolicyVersion

CreateTopicRule

CreatePolicyVersion

DeleteTopicRule

ListPrincipalPolicies

ListTopicRules

TransferCertificate

GetTopicRule

DescribeThing

DeletePolicy

ListCertificates

GetPolicyVersion

DeleteCertificate

UpdateCertificate

AttachThingPrincipal

ListThings

DetachPrincipalPolicy

CreateThing

DescribeCertificate

ReplaceTopicRule

SetDefaultPolicyVersion

ListPolicyVersions

CreateKeysAndCertificate

AcceptCertificateTransfer

GetPolicy

DescribeEndpoint

SetLoggingOptions

AttachPrincipalPolicy

RejectCertificateTransfer

DetachThingPrincipal

Types

CertificateStatus

LogLevel

Action

data Action Source

Describes the actions associated with a rule.

See: action smart constructor.

action :: Action Source

Creates a value of Action with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

aSns :: Lens' Action (Maybe SNSAction) Source

Publish to an SNS topic.

aDynamoDB :: Lens' Action (Maybe DynamoDBAction) Source

Write to a DynamoDB table.

aFirehose :: Lens' Action (Maybe FirehoseAction) Source

Undocumented member.

aLambda :: Lens' Action (Maybe LambdaAction) Source

Invoke a Lambda function.

aKinesis :: Lens' Action (Maybe KinesisAction) Source

Write data to a Kinesis stream.

aS3 :: Lens' Action (Maybe S3Action) Source

Write to an S3 bucket.

aRepublish :: Lens' Action (Maybe RepublishAction) Source

Publish to another MQTT topic.

aSqs :: Lens' Action (Maybe SqsAction) Source

Publish to an SQS queue.

AttributePayload

data AttributePayload Source

The attribute payload, a JSON string containing up to three key-value pairs.

For example: {\"attributes\":{\"string1\":\"string2\”}}

See: attributePayload smart constructor.

attributePayload :: AttributePayload Source

Creates a value of AttributePayload with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

apAttributes :: Lens' AttributePayload (HashMap Text Text) Source

A JSON string containing up to three key-value pair in JSON format.

For example: {\"attributes\":{\"string1\":\"string2\”}}

Certificate

certificate :: Certificate Source

Creates a value of Certificate with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

cStatus :: Lens' Certificate (Maybe CertificateStatus) Source

The status of the certificate.

cCertificateARN :: Lens' Certificate (Maybe Text) Source

The ARN of the certificate.

cCertificateId :: Lens' Certificate (Maybe Text) Source

The ID of the certificate.

cCreationDate :: Lens' Certificate (Maybe UTCTime) Source

The date and time the certificate was created.

CertificateDescription

certificateDescription :: CertificateDescription Source

Creates a value of CertificateDescription with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

cdOwnedBy :: Lens' CertificateDescription (Maybe Text) Source

The ID of the AWS account that owns the certificate.

cdLastModifiedDate :: Lens' CertificateDescription (Maybe UTCTime) Source

The date and time the certificate was last modified.

cdCertificatePem :: Lens' CertificateDescription (Maybe Text) Source

The certificate data, in PEM format.

cdCreationDate :: Lens' CertificateDescription (Maybe UTCTime) Source

The date and time the certificate was created.

DynamoDBAction

data DynamoDBAction Source

Describes an action to write to a DynamoDB table.

The tableName, hashKeyField, and rangeKeyField values must match the values used when you created the table.

The hashKeyValue and rangeKeyvalue fields use a substitution template syntax. These templates provide data at runtime. The syntax is as follows: ${sql-expression}.

You can specify any expression that's valid in a WHERE or SELECT clause, including JSON properties, comparisons, calculations, and functions. For example, the following field uses the third level of the topic:

'"hashKeyValue": "${topic(3)}"'

The following field uses the timestamp:

'"rangeKeyValue": "${timestamp()}"'

See: dynamoDBAction smart constructor.

dynamoDBAction Source

Creates a value of DynamoDBAction with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

ddaTableName :: Lens' DynamoDBAction Text Source

The name of the DynamoDB table.

ddaRoleARN :: Lens' DynamoDBAction Text Source

The ARN of the IAM role that grants access.

FirehoseAction

firehoseAction Source

Creates a value of FirehoseAction with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

faRoleARN :: Lens' FirehoseAction Text Source

Undocumented member.

KeyPair

keyPair :: KeyPair Source

Creates a value of KeyPair with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

kpPrivateKey :: Lens' KeyPair (Maybe Text) Source

The private key.

KinesisAction

kinesisAction Source

Creates a value of KinesisAction with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

kaRoleARN :: Lens' KinesisAction Text Source

The ARN of the IAM role that grants access.

kaStreamName :: Lens' KinesisAction Text Source

The name of the Kinesis stream.

LambdaAction

lambdaAction Source

Creates a value of LambdaAction with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

laFunctionARN :: Lens' LambdaAction Text Source

The ARN of the Lambda function.

LoggingOptionsPayload

loggingOptionsPayload Source

Creates a value of LoggingOptionsPayload with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

lopRoleARN :: Lens' LoggingOptionsPayload Text Source

The ARN of the IAM role that grants access.

Policy

data Policy Source

Describes an AWS IoT policy.

See: policy smart constructor.

policy :: Policy Source

Creates a value of Policy with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

pPolicyName :: Lens' Policy (Maybe Text) Source

The policy name.

pPolicyARN :: Lens' Policy (Maybe Text) Source

The policy ARN.

PolicyVersion

policyVersion :: PolicyVersion Source

Creates a value of PolicyVersion with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

pvVersionId :: Lens' PolicyVersion (Maybe Text) Source

The policy version ID.

pvCreateDate :: Lens' PolicyVersion (Maybe UTCTime) Source

The date and time the policy was created.

pvIsDefaultVersion :: Lens' PolicyVersion (Maybe Bool) Source

Specifies whether the policy version is the default.

RepublishAction

republishAction Source

Creates a value of RepublishAction with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

raRoleARN :: Lens' RepublishAction Text Source

The ARN of the IAM role that grants access.

raTopic :: Lens' RepublishAction Text Source

The name of the MQTT topic.

S3Action

data S3Action Source

Describes an action to write data to an Amazon S3 bucket.

See: s3Action smart constructor.

s3Action Source

Creates a value of S3Action with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

sRoleARN :: Lens' S3Action Text Source

The ARN of the IAM role that grants access.

sKey :: Lens' S3Action Text Source

The object key.

SNSAction

data SNSAction Source

Describes an action to publish to an Amazon SNS topic.

See: snsAction smart constructor.

snsAction Source

Creates a value of SNSAction with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

snsaTargetARN :: Lens' SNSAction Text Source

The ARN of the SNS topic.

snsaRoleARN :: Lens' SNSAction Text Source

The ARN of the IAM role that grants access.

SqsAction

data SqsAction Source

Describes an action to publish data to an SQS queue.

See: sqsAction smart constructor.

sqsAction Source

Creates a value of SqsAction with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

saUseBase64 :: Lens' SqsAction (Maybe Bool) Source

Specifies whether to use Base64 encoding.

saRoleARN :: Lens' SqsAction Text Source

The ARN of the IAM role that grants access.

saQueueURL :: Lens' SqsAction Text Source

The URL of the Amazon SQS queue.

ThingAttribute

thingAttribute :: ThingAttribute Source

Creates a value of ThingAttribute with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

taThingName :: Lens' ThingAttribute (Maybe Text) Source

The name of the thing.

TopicRule

topicRule :: TopicRule Source

Creates a value of TopicRule with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

trCreatedAt :: Lens' TopicRule (Maybe UTCTime) Source

The date and time the rule was created.

trActions :: Lens' TopicRule [Action] Source

The actions associated with the rule.

trRuleDisabled :: Lens' TopicRule (Maybe Bool) Source

Specifies whether the rule is disabled.

trRuleName :: Lens' TopicRule (Maybe Text) Source

The name of the rule.

trSql :: Lens' TopicRule (Maybe Text) Source

The SQL statement used to query the topic. When using a SQL query with multiple lines, be sure to escape the newline characters properly.

trDescription :: Lens' TopicRule (Maybe Text) Source

The description of the rule.

TopicRuleListItem

topicRuleListItem :: TopicRuleListItem Source

Creates a value of TopicRuleListItem with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

trliCreatedAt :: Lens' TopicRuleListItem (Maybe UTCTime) Source

The date and time the rule was created.

trliRuleDisabled :: Lens' TopicRuleListItem (Maybe Bool) Source

Specifies whether the rule is disabled.

trliTopicPattern :: Lens' TopicRuleListItem (Maybe Text) Source

The pattern for the topic names that apply.

TopicRulePayload

topicRulePayload Source

Creates a value of TopicRulePayload with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

trpRuleDisabled :: Lens' TopicRulePayload (Maybe Bool) Source

Specifies whether the rule is disabled.

trpDescription :: Lens' TopicRulePayload (Maybe Text) Source

The description of the rule.

trpSql :: Lens' TopicRulePayload Text Source

The SQL statement used to query the topic. For more information, see AWS IoT SQL Reference in the AWS IoT Developer Guide.

trpActions :: Lens' TopicRulePayload [Action] Source

The actions associated with the rule.