# CfnOTAUpdateProps

Properties for defining a `CfnOTAUpdate`.

Extends: CfnOTAUpdateProps
Used as props by: CfnOTAUpdate

- Source: Generated code
- Type last changed: v2.276.0 · 10 Nov 2026

## Example

```ts
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_iot as iot } from 'aws-cdk-lib';
const cfnOTAUpdateProps: iot.CfnOTAUpdateProps = {
  files: [{
    attributes: {
      attributesKey: 'attributes',
    },
    codeSigning: {
      awsSignerJobId: 'awsSignerJobId',
      customCodeSigning: {
        certificateChain: {
          certificateName: 'certificateName',
          inlineDocument: 'inlineDocument',
        },
        hashAlgorithm: 'hashAlgorithm',
        signature: {
          inlineDocument: 'inlineDocument',
        },
        signatureAlgorithm: 'signatureAlgorithm',
      },
      startSigningJobParameter: {
        destination: {
          s3Destination: {
            bucket: 'bucket',
            prefix: 'prefix',
          },
        },
        signingProfileName: 'signingProfileName',
        signingProfileParameter: {
          certificateArn: 'certificateArn',
          certificatePathOnDevice: 'certificatePathOnDevice',
          platform: 'platform',
        },
      },
    },
    fileLocation: {
      s3Location: {
        bucket: 'bucket',
        key: 'key',
        version: 'version',
      },
      stream: {
        fileId: 123,
        streamId: 'streamId',
      },
    },
    fileName: 'fileName',
    fileType: 123,
    fileVersion: 'fileVersion',
  }],
  otaUpdateId: 'otaUpdateId',
  targets: ['targets'],

  // the properties below are optional
  additionalParameters: {
    additionalParametersKey: 'additionalParameters',
  },
  awsJobAbortConfig: {
    abortCriteriaList: [{
      action: 'action',
      failureType: 'failureType',
      minNumberOfExecutedThings: 123,
      thresholdPercentage: 123,
    }],
  },
  awsJobExecutionsRolloutConfig: {
    exponentialRate: {
      baseRatePerMinute: 123,
      incrementFactor: 123,
      rateIncreaseCriteria: {
        numberOfNotifiedThings: 123,
        numberOfSucceededThings: 123,
      },
    },
    maximumPerMinute: 123,
  },
  awsJobPresignedUrlConfig: {
    expiresInSec: 123,
  },
  awsJobTimeoutConfig: {
    inProgressTimeoutInMinutes: 123,
  },
  description: 'description',
  protocols: ['protocols'],
  roleArn: 'roleArn',
  tags: [{
    key: 'key',
    value: 'value',
  }],
  targetSelection: 'targetSelection',
};
```

## Properties

- `additionalParameters`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | { [key: string]: string } — A list of additional OTA update parameters, which are name-value pairs.

- `awsJobAbortConfig`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnOTAUpdate.AwsJobAbortConfigProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_iot.CfnOTAUpdate.AwsJobAbortConfigProperty.html)

- `awsJobExecutionsRolloutConfig`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnOTAUpdate.AwsJobExecutionsRolloutConfigProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_iot.CfnOTAUpdate.AwsJobExecutionsRolloutConfigProperty.html)

- `awsJobPresignedUrlConfig`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnOTAUpdate.AwsJobPresignedUrlConfigProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_iot.CfnOTAUpdate.AwsJobPresignedUrlConfigProperty.html)

- `awsJobTimeoutConfig`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnOTAUpdate.AwsJobTimeoutConfigProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_iot.CfnOTAUpdate.AwsJobTimeoutConfigProperty.html)

- `description`: string — The description of the OTA update.

- `files`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnOTAUpdate.OTAUpdateFileProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_iot.CfnOTAUpdate.OTAUpdateFileProperty.html)[] (required) — The files to be streamed by the OTA update.

- `otaUpdateId`: string (required) — The ID of the OTA update to be created.

- `protocols`: string[] — The protocol used to transfer the OTA update image.

- `roleArn`: string — The IAM role that grants AWS IoT Core access to the Amazon S3, IoT jobs and AWS Code Signing resources to create an OTA update job.

- `tags`: [CfnTag](/cdk/api/v2/docs/aws-cdk-lib.CfnTag.html)[] — Metadata which can be used to manage updates.

- `targets`: string[] (required) — The devices targeted to receive OTA updates.

- `targetSelection`: string — Specifies whether the update will continue to run (CONTINUOUS), or will be complete after all things specified as targets have completed the update (SNAPSHOT).
