Class Job

    • Method Detail

      • jobArn

        public final String jobArn()

        An ARN identifying the job with format "arn:aws:iot:region:account:job/jobId".

        Returns:
        An ARN identifying the job with format "arn:aws:iot:region:account:job/jobId".
      • jobId

        public final String jobId()

        The unique identifier you assigned to this job when it was created.

        Returns:
        The unique identifier you assigned to this job when it was created.
      • targetSelection

        public final TargetSelection targetSelection()

        Specifies whether the job will continue to run (CONTINUOUS), or will be complete after all those things specified as targets have completed the job (SNAPSHOT). If continuous, the job may also be run on a thing when a change is detected in a target. For example, a job will run on a device when the thing representing the device is added to a target group, even after the job was completed by all things originally in the group.

        We recommend that you use continuous jobs instead of snapshot jobs for dynamic thing group targets. By using continuous jobs, devices that join the group receive the job execution even after the job has been created.

        If the service returns an enum value that is not available in the current SDK version, targetSelection will return TargetSelection.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from targetSelectionAsString().

        Returns:
        Specifies whether the job will continue to run (CONTINUOUS), or will be complete after all those things specified as targets have completed the job (SNAPSHOT). If continuous, the job may also be run on a thing when a change is detected in a target. For example, a job will run on a device when the thing representing the device is added to a target group, even after the job was completed by all things originally in the group.

        We recommend that you use continuous jobs instead of snapshot jobs for dynamic thing group targets. By using continuous jobs, devices that join the group receive the job execution even after the job has been created.

        See Also:
        TargetSelection
      • targetSelectionAsString

        public final String targetSelectionAsString()

        Specifies whether the job will continue to run (CONTINUOUS), or will be complete after all those things specified as targets have completed the job (SNAPSHOT). If continuous, the job may also be run on a thing when a change is detected in a target. For example, a job will run on a device when the thing representing the device is added to a target group, even after the job was completed by all things originally in the group.

        We recommend that you use continuous jobs instead of snapshot jobs for dynamic thing group targets. By using continuous jobs, devices that join the group receive the job execution even after the job has been created.

        If the service returns an enum value that is not available in the current SDK version, targetSelection will return TargetSelection.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from targetSelectionAsString().

        Returns:
        Specifies whether the job will continue to run (CONTINUOUS), or will be complete after all those things specified as targets have completed the job (SNAPSHOT). If continuous, the job may also be run on a thing when a change is detected in a target. For example, a job will run on a device when the thing representing the device is added to a target group, even after the job was completed by all things originally in the group.

        We recommend that you use continuous jobs instead of snapshot jobs for dynamic thing group targets. By using continuous jobs, devices that join the group receive the job execution even after the job has been created.

        See Also:
        TargetSelection
      • status

        public final JobStatus status()

        The status of the job, one of IN_PROGRESS, CANCELED, DELETION_IN_PROGRESS or COMPLETED.

        If the service returns an enum value that is not available in the current SDK version, status will return JobStatus.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from statusAsString().

        Returns:
        The status of the job, one of IN_PROGRESS, CANCELED, DELETION_IN_PROGRESS or COMPLETED.
        See Also:
        JobStatus
      • statusAsString

        public final String statusAsString()

        The status of the job, one of IN_PROGRESS, CANCELED, DELETION_IN_PROGRESS or COMPLETED.

        If the service returns an enum value that is not available in the current SDK version, status will return JobStatus.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from statusAsString().

        Returns:
        The status of the job, one of IN_PROGRESS, CANCELED, DELETION_IN_PROGRESS or COMPLETED.
        See Also:
        JobStatus
      • forceCanceled

        public final Boolean forceCanceled()

        Will be true if the job was canceled with the optional force parameter set to true.

        Returns:
        Will be true if the job was canceled with the optional force parameter set to true.
      • reasonCode

        public final String reasonCode()

        If the job was updated, provides the reason code for the update.

        Returns:
        If the job was updated, provides the reason code for the update.
      • comment

        public final String comment()

        If the job was updated, describes the reason for the update.

        Returns:
        If the job was updated, describes the reason for the update.
      • hasTargets

        public final boolean hasTargets()
        For responses, this returns true if the service returned a value for the Targets property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
      • targets

        public final List<String> targets()

        A list of IoT things and thing groups to which the job should be sent.

        Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

        This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasTargets() method.

        Returns:
        A list of IoT things and thing groups to which the job should be sent.
      • description

        public final String description()

        A short text description of the job.

        Returns:
        A short text description of the job.
      • presignedUrlConfig

        public final PresignedUrlConfig presignedUrlConfig()

        Configuration for pre-signed S3 URLs.

        Returns:
        Configuration for pre-signed S3 URLs.
      • jobExecutionsRolloutConfig

        public final JobExecutionsRolloutConfig jobExecutionsRolloutConfig()

        Allows you to create a staged rollout of a job.

        Returns:
        Allows you to create a staged rollout of a job.
      • abortConfig

        public final AbortConfig abortConfig()

        Configuration for criteria to abort the job.

        Returns:
        Configuration for criteria to abort the job.
      • createdAt

        public final Instant createdAt()

        The time, in seconds since the epoch, when the job was created.

        Returns:
        The time, in seconds since the epoch, when the job was created.
      • lastUpdatedAt

        public final Instant lastUpdatedAt()

        The time, in seconds since the epoch, when the job was last updated.

        Returns:
        The time, in seconds since the epoch, when the job was last updated.
      • completedAt

        public final Instant completedAt()

        The time, in seconds since the epoch, when the job was completed.

        Returns:
        The time, in seconds since the epoch, when the job was completed.
      • jobProcessDetails

        public final JobProcessDetails jobProcessDetails()

        Details about the job process.

        Returns:
        Details about the job process.
      • timeoutConfig

        public final TimeoutConfig timeoutConfig()

        Specifies the amount of time each device has to finish its execution of the job. A timer is started when the job execution status is set to IN_PROGRESS. If the job execution status is not set to another terminal state before the timer expires, it will be automatically set to TIMED_OUT.

        Returns:
        Specifies the amount of time each device has to finish its execution of the job. A timer is started when the job execution status is set to IN_PROGRESS. If the job execution status is not set to another terminal state before the timer expires, it will be automatically set to TIMED_OUT.
      • namespaceId

        public final String namespaceId()

        The namespace used to indicate that a job is a customer-managed job.

        When you specify a value for this parameter, Amazon Web Services IoT Core sends jobs notifications to MQTT topics that contain the value in the following format.

        $aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/

        The namespaceId feature is in public preview.

        Returns:
        The namespace used to indicate that a job is a customer-managed job.

        When you specify a value for this parameter, Amazon Web Services IoT Core sends jobs notifications to MQTT topics that contain the value in the following format.

        $aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/

        The namespaceId feature is in public preview.

      • jobTemplateArn

        public final String jobTemplateArn()

        The ARN of the job template used to create the job.

        Returns:
        The ARN of the job template used to create the job.
      • jobExecutionsRetryConfig

        public final JobExecutionsRetryConfig jobExecutionsRetryConfig()

        The configuration for the criteria to retry the job.

        Returns:
        The configuration for the criteria to retry the job.
      • hasDocumentParameters

        public final boolean hasDocumentParameters()
        For responses, this returns true if the service returned a value for the DocumentParameters property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
      • documentParameters

        public final Map<String,​String> documentParameters()

        A key-value map that pairs the patterns that need to be replaced in a managed template job document schema. You can use the description of each key as a guidance to specify the inputs during runtime when creating a job.

        documentParameters can only be used when creating jobs from Amazon Web Services managed templates. This parameter can't be used with custom job templates or to create jobs from them.

        Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

        This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasDocumentParameters() method.

        Returns:
        A key-value map that pairs the patterns that need to be replaced in a managed template job document schema. You can use the description of each key as a guidance to specify the inputs during runtime when creating a job.

        documentParameters can only be used when creating jobs from Amazon Web Services managed templates. This parameter can't be used with custom job templates or to create jobs from them.

      • isConcurrent

        public final Boolean isConcurrent()

        Indicates whether a job is concurrent. Will be true when a job is rolling out new job executions or canceling previously created executions, otherwise false.

        Returns:
        Indicates whether a job is concurrent. Will be true when a job is rolling out new job executions or canceling previously created executions, otherwise false.
      • schedulingConfig

        public final SchedulingConfig schedulingConfig()

        The configuration that allows you to schedule a job for a future date and time in addition to specifying the end behavior for each job execution.

        Returns:
        The configuration that allows you to schedule a job for a future date and time in addition to specifying the end behavior for each job execution.
      • hasScheduledJobRollouts

        public final boolean hasScheduledJobRollouts()
        For responses, this returns true if the service returned a value for the ScheduledJobRollouts property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
      • scheduledJobRollouts

        public final List<ScheduledJobRollout> scheduledJobRollouts()

        Displays the next seven maintenance window occurrences and their start times.

        Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

        This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasScheduledJobRollouts() method.

        Returns:
        Displays the next seven maintenance window occurrences and their start times.
      • hasDestinationPackageVersions

        public final boolean hasDestinationPackageVersions()
        For responses, this returns true if the service returned a value for the DestinationPackageVersions property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
      • destinationPackageVersions

        public final List<String> destinationPackageVersions()

        The package version Amazon Resource Names (ARNs) that are installed on the device when the job successfully completes.

        Note:The following Length Constraints relates to a single ARN. Up to 25 package version ARNs are allowed.

        Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

        This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasDestinationPackageVersions() method.

        Returns:
        The package version Amazon Resource Names (ARNs) that are installed on the device when the job successfully completes.

        Note:The following Length Constraints relates to a single ARN. Up to 25 package version ARNs are allowed.

      • serializableBuilderClass

        public static Class<? extends Job.Builder> serializableBuilderClass()
      • hashCode

        public final int hashCode()
        Overrides:
        hashCode in class Object
      • equals

        public final boolean equals​(Object obj)
        Overrides:
        equals in class Object
      • toString

        public final String toString()
        Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
        Overrides:
        toString in class Object
      • getValueForField

        public final <T> Optional<T> getValueForField​(String fieldName,
                                                      Class<T> clazz)