Package-level declarations

Types

Link copied to clipboard
data class CancelJob(val jobId: JobId, val comment: String? = null, val force: Boolean? = null, val reasonCode: String? = null) : IotAction<CancelledJob>

With force false (the default) only QUEUED executions are canceled; IN_PROGRESS executions are canceled only when force is true.

Link copied to clipboard
@JsonSerializable
data class CancelJobData(val comment: String? = null, val reasonCode: String? = null)
Link copied to clipboard
@JsonSerializable
data class CancelledJob(val jobArn: ARN, val jobId: JobId, val description: String? = null)
Link copied to clipboard
@JsonSerializable
data class CertificateDescription(val certificateId: CertificateId, val certificateArn: ARN, val status: CertificateStatus, val caCertificateId: CertificateId? = null, val certificatePem: String? = null, val ownedBy: String? = null, val previousOwnedBy: String? = null, val creationDate: Timestamp? = null, val lastModifiedDate: Timestamp? = null, val customerVersion: Int? = null, val generationId: String? = null, val certificateMode: CertificateMode? = null, val validity: CertificateValidity? = null)
Link copied to clipboard
@JsonSerializable
data class CertificateValidity(val notBefore: Timestamp? = null, val notAfter: Timestamp? = null)
Link copied to clipboard
@JsonSerializable
data class CreatedJob(val jobArn: ARN, val jobId: JobId, val description: String? = null)
Link copied to clipboard
@JsonSerializable
data class CreatedStream(val streamId: StreamId, val streamArn: ARN, val streamVersion: Int, val description: String? = null)
Link copied to clipboard
data class CreateJob(val jobId: JobId, val targets: List<ARN>, val document: String, val description: String? = null, val targetSelection: TargetSelection? = null, val timeoutConfig: TimeoutConfig? = null) : IotAction<CreatedJob>

Creates a job which is sent to the targets (thing or thing group ARNs), carrying the inline JSON document. A duplicate jobId is refused with ResourceAlreadyExistsException (409).

Link copied to clipboard
@JsonSerializable
data class CreateJobData(val targets: List<ARN> = emptyList(), val document: String? = null, val description: String? = null, val targetSelection: TargetSelection? = null, val timeoutConfig: TimeoutConfig? = null)
Link copied to clipboard
data class CreateStream(val streamId: StreamId, val files: List<StreamFile>, val roleArn: ARN, val description: String? = null) : IotAction<CreatedStream>

Creates a stream of files (1 to 50) which devices pull over MQTT file delivery. roleArn is the role IoT assumes to read the S3 objects, and is required. A duplicate streamId is refused with ResourceAlreadyExistsException (409).

Link copied to clipboard
@JsonSerializable
data class CreateStreamData(val files: List<StreamFile> = emptyList(), val roleArn: ARN? = null, val description: String? = null)
Link copied to clipboard
data class DeleteJob(val jobId: JobId, val force: Boolean? = null) : IotAction<Unit>

A job which is not in a terminal state (COMPLETED or CANCELED) can only be deleted with force true; otherwise AWS answers with InvalidStateTransitionException (409).

Link copied to clipboard
data class DeleteStream(val streamId: StreamId) : IotAction<Unit>

Deletes the stream. A stream a job still refers to is refused with DeleteConflictException (409); unlike DeleteJob there is no force parameter.

Link copied to clipboard
Link copied to clipboard
@JsonSerializable
data class DescribedCertificate(val certificateDescription: CertificateDescription)
Link copied to clipboard
@JsonSerializable
data class DescribedJob(val job: Job, val documentSource: String? = null)
Link copied to clipboard
@JsonSerializable
data class DescribedJobExecution(val execution: JobExecution)
Link copied to clipboard
@JsonSerializable
data class DescribedStream(val streamInfo: StreamInfo)
Link copied to clipboard
data class DescribeEndpoint(val endpointType: String? = null) : IotAction<IotEndpoint>

Returns the account-specific IoT endpoint. Valid endpointType values are iot:Data, iot:Data-ATS, iot:CredentialProvider and iot:Jobs.

Link copied to clipboard
data class DescribeJob(val jobId: JobId) : IotAction<DescribedJob>
Link copied to clipboard
data class DescribeJobExecution(val thingName: ThingName, val jobId: JobId, val executionNumber: Long? = null) : IotAction<DescribedJobExecution>
Link copied to clipboard
data class DescribeStream(val streamId: StreamId) : IotAction<DescribedStream>
Link copied to clipboard
@JsonSerializable
data class IotEndpoint(val endpointAddress: String)
Link copied to clipboard
@JsonSerializable
data class Job(val jobArn: ARN, val jobId: JobId, val targets: List<ARN> = emptyList(), val targetSelection: TargetSelection? = null, val status: JobStatus? = null, val forceCanceled: Boolean? = null, val comment: String? = null, val createdAt: Timestamp? = null, val lastUpdatedAt: Timestamp? = null, val completedAt: Timestamp? = null, val description: String? = null, val timeoutConfig: TimeoutConfig? = null)

The subset of the AWS Job object which this module supports. Note that the job document is not part of this shape: devices read it through the jobs data plane, and the control plane only exposes it via GetJobDocument (unsupported here).

Link copied to clipboard
@JsonSerializable
data class JobExecution(val jobId: JobId? = null, val status: JobExecutionStatus? = null, val forceCanceled: Boolean? = null, val statusDetails: JobExecutionStatusDetails? = null, val thingArn: ARN? = null, val queuedAt: Timestamp? = null, val startedAt: Timestamp? = null, val lastUpdatedAt: Timestamp? = null, val executionNumber: Long? = null, val versionNumber: Long? = null, val approximateSecondsBeforeTimedOut: Long? = null)

Unlike the jobs data plane, the control plane wraps the status details map in a detailsMap attribute.

Link copied to clipboard
@JsonSerializable
data class JobExecutionsForThing(val executionSummaries: List<JobExecutionSummaryForThing> = emptyList(), val nextToken: String? = null)
Link copied to clipboard
@JsonSerializable
data class JobExecutionStatusDetails(val detailsMap: Map<String, String>? = null)
Link copied to clipboard
@JsonSerializable
data class JobExecutionSummary(val status: JobExecutionStatus? = null, val queuedAt: Timestamp? = null, val startedAt: Timestamp? = null, val lastUpdatedAt: Timestamp? = null, val executionNumber: Long? = null, val retryAttempt: Int? = null)
Link copied to clipboard
@JsonSerializable
data class JobExecutionSummaryForThing(val jobId: JobId, val jobExecutionSummary: JobExecutionSummary)
Link copied to clipboard
data class ListJobExecutionsForThing(val thingName: ThingName, val status: JobExecutionStatus? = null, val jobId: JobId? = null, val maxResults: Int? = null, val nextToken: String? = null) : IotAction<JobExecutionsForThing>

namespaceId (an AWS IoT Greengrass feature) is not supported.

Link copied to clipboard
data class ListStreams(val maxResults: Int? = null, val nextToken: String? = null, val ascendingOrder: Boolean? = null) : IotAction<Streams>

ascendingOrder rides as isAscendingOrder, which is the name AWS gives the query parameter.

Link copied to clipboard
@JsonSerializable
data class StreamInfo(val streamId: StreamId, val streamArn: ARN, val streamVersion: Int, val files: List<StreamFile> = emptyList(), val roleArn: ARN? = null, val description: String? = null, val createdAt: Timestamp? = null, val lastUpdatedAt: Timestamp? = null)
Link copied to clipboard
@JsonSerializable
data class Streams(val streams: List<StreamSummary> = emptyList(), val nextToken: String? = null)
Link copied to clipboard
@JsonSerializable
data class StreamSummary(val streamId: StreamId, val streamArn: ARN, val streamVersion: Int, val description: String? = null)
Link copied to clipboard
@JsonSerializable
data class UpdatedStream(val streamId: StreamId, val streamArn: ARN, val streamVersion: Int, val description: String? = null)
Link copied to clipboard
data class UpdateStream(val streamId: StreamId, val files: List<StreamFile>? = null, val roleArn: ARN? = null, val description: String? = null) : IotAction<UpdatedStream>

Replaces the stream's files, role or description, and returns the new UpdatedStream.streamVersion. Omitted members are left as they are.

Link copied to clipboard
@JsonSerializable
data class UpdateStreamData(val files: List<StreamFile>? = null, val roleArn: ARN? = null, val description: String? = null)