Class CreateJobRequest

All Implemented Interfaces:
SdkPojo, ToCopyableBuilder<CreateJobRequest.Builder,CreateJobRequest>

@Generated("software.amazon.awssdk:codegen") public final class CreateJobRequest extends IotRequest implements ToCopyableBuilder<CreateJobRequest.Builder,CreateJobRequest>
  • Method Details

    • jobId

      public final String jobId()

      A job identifier which must be unique for your Amazon Web Services account. We recommend using a UUID. Alpha-numeric characters, "-" and "_" are valid for use here.

      Returns:
      A job identifier which must be unique for your Amazon Web Services account. We recommend using a UUID. Alpha-numeric characters, "-" and "_" are valid for use here.
    • 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 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 things and thing groups to which the job should be sent.
    • documentSource

      public final String documentSource()

      An S3 link, or S3 object URL, to the job document. The link is an Amazon S3 object URL and is required if you don't specify a value for document.

      For example, --document-source https://s3.region-code.amazonaws.com/example-firmware/device-firmware.1.0

      For more information, see Methods for accessing a bucket.

      Returns:
      An S3 link, or S3 object URL, to the job document. The link is an Amazon S3 object URL and is required if you don't specify a value for document.

      For example, --document-source https://s3.region-code.amazonaws.com/example-firmware/device-firmware.1.0

      For more information, see Methods for accessing a bucket.

    • document

      public final String document()

      The job document. Required if you don't specify a value for documentSource.

      Returns:
      The job document. Required if you don't specify a value for documentSource.
    • 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 information for pre-signed S3 URLs.

      Returns:
      Configuration information for pre-signed S3 URLs.
    • 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 thing when the thing 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 thing when the thing 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:
    • 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 thing when the thing 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 thing when the thing 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:
    • jobExecutionsRolloutConfig

      public final JobExecutionsRolloutConfig jobExecutionsRolloutConfig()

      Allows you to create a staged rollout of the job.

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

      public final AbortConfig abortConfig()

      Allows you to create the criteria to abort a job.

      Returns:
      Allows you to create the criteria to abort a job.
    • timeoutConfig

      public final TimeoutConfig timeoutConfig()

      Specifies the amount of time each device has to finish its execution of the job. The 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 time 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. The 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 time expires, it will be automatically set to TIMED_OUT .
    • hasTags

      public final boolean hasTags()
      For responses, this returns true if the service returned a value for the Tags 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.
    • tags

      public final List<Tag> tags()

      Metadata which can be used to manage the job.

      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 hasTags() method.

      Returns:
      Metadata which can be used to manage the job.
    • 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 only supported by IoT Greengrass at this time. For more information, see Setting up IoT Greengrass core devices.

      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 only supported by IoT Greengrass at this time. For more information, see Setting up IoT Greengrass core devices.

    • 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()

      Allows you to create the criteria to retry a job.

      Returns:
      Allows you to create the criteria to retry a 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()

      Parameters of an Amazon Web Services managed template that you can specify to create the job document.

      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:
      Parameters of an Amazon Web Services managed template that you can specify to create the job document.

      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.

    • 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.
    • 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. The package version must be in either the Published or Deprecated state when the job deploys. For more information, see Package version lifecycle.

      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. The package version must be in either the Published or Deprecated state when the job deploys. For more information, see Package version lifecycle.

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

    • toBuilder

      public CreateJobRequest.Builder toBuilder()
      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<CreateJobRequest.Builder,CreateJobRequest>
      Specified by:
      toBuilder in class IotRequest
      Returns:
      a builder for type T
    • builder

      public static CreateJobRequest.Builder builder()
    • serializableBuilderClass

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

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

      public final boolean equals(Object obj)
      Overrides:
      equals in class AwsRequest
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • 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)
      Description copied from class: SdkRequest
      Used to retrieve the value of a field from any class that extends SdkRequest. The field name specified should match the member name from the corresponding service-2.json model specified in the codegen-resources folder for a given service. The class specifies what class to cast the returned value to. If the returned value is also a modeled class, the SdkRequest.getValueForField(String, Class) method will again be available.
      Overrides:
      getValueForField in class SdkRequest
      Parameters:
      fieldName - The name of the member to be retrieved.
      clazz - The class to cast the returned object to.
      Returns:
      Optional containing the casted return value
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.