CfnOTAUpdateProps Struct Added in v2.276.0
Properties for defining a CfnOTAUpdate.
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',
};
python
from aws_cdk import CfnTag
# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_iot as iot
cfn_ota_update_props = iot.CfnOTAUpdateProps(
files=[iot.CfnOTAUpdate.OTAUpdateFileProperty(
attributes={
"attributes_key": "attributes"
},
code_signing=iot.CfnOTAUpdate.CodeSigningProperty(
aws_signer_job_id="awsSignerJobId",
custom_code_signing=iot.CfnOTAUpdate.CustomCodeSigningProperty(
certificate_chain=iot.CfnOTAUpdate.CodeSigningCertificateChainProperty(
certificate_name="certificateName",
inline_document="inlineDocument"
),
hash_algorithm="hashAlgorithm",
signature=iot.CfnOTAUpdate.CodeSigningSignatureProperty(
inline_document="inlineDocument"
),
signature_algorithm="signatureAlgorithm"
),
start_signing_job_parameter=iot.CfnOTAUpdate.StartSigningJobParameterProperty(
destination=iot.CfnOTAUpdate.DestinationProperty(
s3_destination=iot.CfnOTAUpdate.S3DestinationProperty(
bucket="bucket",
prefix="prefix"
)
),
signing_profile_name="signingProfileName",
signing_profile_parameter=iot.CfnOTAUpdate.SigningProfileParameterProperty(
certificate_arn="certificateArn",
certificate_path_on_device="certificatePathOnDevice",
platform="platform"
)
)
),
file_location=iot.CfnOTAUpdate.FileLocationProperty(
s3_location=iot.CfnOTAUpdate.S3LocationProperty(
bucket="bucket",
key="key",
version="version"
),
stream=iot.CfnOTAUpdate.StreamProperty(
file_id=123,
stream_id="streamId"
)
),
file_name="fileName",
file_type=123,
file_version="fileVersion"
)],
ota_update_id="otaUpdateId",
targets=["targets"],
# the properties below are optional
additional_parameters={
"additional_parameters_key": "additionalParameters"
},
aws_job_abort_config=iot.CfnOTAUpdate.AwsJobAbortConfigProperty(
abort_criteria_list=[iot.CfnOTAUpdate.AwsJobAbortCriteriaProperty(
action="action",
failure_type="failureType",
min_number_of_executed_things=123,
threshold_percentage=123
)]
),
aws_job_executions_rollout_config=iot.CfnOTAUpdate.AwsJobExecutionsRolloutConfigProperty(
exponential_rate=iot.CfnOTAUpdate.AwsJobExponentialRolloutRateProperty(
base_rate_per_minute=123,
increment_factor=123,
rate_increase_criteria=iot.CfnOTAUpdate.AwsJobRateIncreaseCriteriaProperty(
number_of_notified_things=123,
number_of_succeeded_things=123
)
),
maximum_per_minute=123
),
aws_job_presigned_url_config=iot.CfnOTAUpdate.AwsJobPresignedUrlConfigProperty(
expires_in_sec=123
),
aws_job_timeout_config=iot.CfnOTAUpdate.AwsJobTimeoutConfigProperty(
in_progress_timeout_in_minutes=123
),
description="description",
protocols=["protocols"],
role_arn="roleArn",
tags=[CfnTag(
key="key",
value="value"
)],
target_selection="targetSelection"
)
java
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import software.amazon.awscdk.services.iot.*;
CfnOTAUpdateProps cfnOTAUpdateProps = CfnOTAUpdateProps.builder()
.files(List.of(OTAUpdateFileProperty.builder()
.attributes(Map.of(
"attributesKey", "attributes"))
.codeSigning(CodeSigningProperty.builder()
.awsSignerJobId("awsSignerJobId")
.customCodeSigning(CustomCodeSigningProperty.builder()
.certificateChain(CodeSigningCertificateChainProperty.builder()
.certificateName("certificateName")
.inlineDocument("inlineDocument")
.build())
.hashAlgorithm("hashAlgorithm")
.signature(CodeSigningSignatureProperty.builder()
.inlineDocument("inlineDocument")
.build())
.signatureAlgorithm("signatureAlgorithm")
.build())
.startSigningJobParameter(StartSigningJobParameterProperty.builder()
.destination(DestinationProperty.builder()
.s3Destination(S3DestinationProperty.builder()
.bucket("bucket")
.prefix("prefix")
.build())
.build())
.signingProfileName("signingProfileName")
.signingProfileParameter(SigningProfileParameterProperty.builder()
.certificateArn("certificateArn")
.certificatePathOnDevice("certificatePathOnDevice")
.platform("platform")
.build())
.build())
.build())
.fileLocation(FileLocationProperty.builder()
.s3Location(S3LocationProperty.builder()
.bucket("bucket")
.key("key")
.version("version")
.build())
.stream(StreamProperty.builder()
.fileId(123)
.streamId("streamId")
.build())
.build())
.fileName("fileName")
.fileType(123)
.fileVersion("fileVersion")
.build()))
.otaUpdateId("otaUpdateId")
.targets(List.of("targets"))
// the properties below are optional
.additionalParameters(Map.of(
"additionalParametersKey", "additionalParameters"))
.awsJobAbortConfig(AwsJobAbortConfigProperty.builder()
.abortCriteriaList(List.of(AwsJobAbortCriteriaProperty.builder()
.action("action")
.failureType("failureType")
.minNumberOfExecutedThings(123)
.thresholdPercentage(123)
.build()))
.build())
.awsJobExecutionsRolloutConfig(AwsJobExecutionsRolloutConfigProperty.builder()
.exponentialRate(AwsJobExponentialRolloutRateProperty.builder()
.baseRatePerMinute(123)
.incrementFactor(123)
.rateIncreaseCriteria(AwsJobRateIncreaseCriteriaProperty.builder()
.numberOfNotifiedThings(123)
.numberOfSucceededThings(123)
.build())
.build())
.maximumPerMinute(123)
.build())
.awsJobPresignedUrlConfig(AwsJobPresignedUrlConfigProperty.builder()
.expiresInSec(123)
.build())
.awsJobTimeoutConfig(AwsJobTimeoutConfigProperty.builder()
.inProgressTimeoutInMinutes(123)
.build())
.description("description")
.protocols(List.of("protocols"))
.roleArn("roleArn")
.tags(List.of(CfnTag.builder()
.key("key")
.value("value")
.build()))
.targetSelection("targetSelection")
.build();
csharp
// Install: dotnet add package Amazon.CDK.Lib
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
using Amazon.CDK.AWS.IoT;
var cfnOTAUpdateProps = new CfnOTAUpdateProps {
Files = new [] { new OTAUpdateFileProperty {
Attributes = new Dictionary<string, string> {
{ "attributesKey", "attributes" }
},
CodeSigning = new CodeSigningProperty {
AwsSignerJobId = "awsSignerJobId",
CustomCodeSigning = new CustomCodeSigningProperty {
CertificateChain = new CodeSigningCertificateChainProperty {
CertificateName = "certificateName",
InlineDocument = "inlineDocument"
},
HashAlgorithm = "hashAlgorithm",
Signature = new CodeSigningSignatureProperty {
InlineDocument = "inlineDocument"
},
SignatureAlgorithm = "signatureAlgorithm"
},
StartSigningJobParameter = new StartSigningJobParameterProperty {
Destination = new DestinationProperty {
S3Destination = new S3DestinationProperty {
Bucket = "bucket",
Prefix = "prefix"
}
},
SigningProfileName = "signingProfileName",
SigningProfileParameter = new SigningProfileParameterProperty {
CertificateArn = "certificateArn",
CertificatePathOnDevice = "certificatePathOnDevice",
Platform = "platform"
}
}
},
FileLocation = new FileLocationProperty {
S3Location = new S3LocationProperty {
Bucket = "bucket",
Key = "key",
Version = "version"
},
Stream = new StreamProperty {
FileId = 123,
StreamId = "streamId"
}
},
FileName = "fileName",
FileType = 123,
FileVersion = "fileVersion"
} },
OtaUpdateId = "otaUpdateId",
Targets = new [] { "targets" },
// the properties below are optional
AdditionalParameters = new Dictionary<string, string> {
{ "additionalParametersKey", "additionalParameters" }
},
AwsJobAbortConfig = new AwsJobAbortConfigProperty {
AbortCriteriaList = new [] { new AwsJobAbortCriteriaProperty {
Action = "action",
FailureType = "failureType",
MinNumberOfExecutedThings = 123,
ThresholdPercentage = 123
} }
},
AwsJobExecutionsRolloutConfig = new AwsJobExecutionsRolloutConfigProperty {
ExponentialRate = new AwsJobExponentialRolloutRateProperty {
BaseRatePerMinute = 123,
IncrementFactor = 123,
RateIncreaseCriteria = new AwsJobRateIncreaseCriteriaProperty {
NumberOfNotifiedThings = 123,
NumberOfSucceededThings = 123
}
},
MaximumPerMinute = 123
},
AwsJobPresignedUrlConfig = new AwsJobPresignedUrlConfigProperty {
ExpiresInSec = 123
},
AwsJobTimeoutConfig = new AwsJobTimeoutConfigProperty {
InProgressTimeoutInMinutes = 123
},
Description = "description",
Protocols = new [] { "protocols" },
RoleArn = "roleArn",
Tags = new [] { new CfnTag {
Key = "key",
Value = "value"
} },
TargetSelection = "targetSelection"
};
go
// Install: go get github.com/aws/aws-cdk-go/awscdk/v2
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
cfnOTAUpdateProps := &CfnOTAUpdateProps{
Files: []interface{}{
&OTAUpdateFileProperty{
Attributes: map[string]*string{
"attributesKey": jsii.String("attributes"),
},
CodeSigning: &CodeSigningProperty{
AwsSignerJobId: jsii.String("awsSignerJobId"),
CustomCodeSigning: &CustomCodeSigningProperty{
CertificateChain: &CodeSigningCertificateChainProperty{
CertificateName: jsii.String("certificateName"),
InlineDocument: jsii.String("inlineDocument"),
},
HashAlgorithm: jsii.String("hashAlgorithm"),
Signature: &CodeSigningSignatureProperty{
InlineDocument: jsii.String("inlineDocument"),
},
SignatureAlgorithm: jsii.String("signatureAlgorithm"),
},
StartSigningJobParameter: &StartSigningJobParameterProperty{
Destination: &DestinationProperty{
S3Destination: &S3DestinationProperty{
Bucket: jsii.String("bucket"),
Prefix: jsii.String("prefix"),
},
},
SigningProfileName: jsii.String("signingProfileName"),
SigningProfileParameter: &SigningProfileParameterProperty{
CertificateArn: jsii.String("certificateArn"),
CertificatePathOnDevice: jsii.String("certificatePathOnDevice"),
Platform: jsii.String("platform"),
},
},
},
FileLocation: &FileLocationProperty{
S3Location: &S3LocationProperty{
Bucket: jsii.String("bucket"),
Key: jsii.String("key"),
Version: jsii.String("version"),
},
Stream: &StreamProperty{
FileId: jsii.Number(123),
StreamId: jsii.String("streamId"),
},
},
FileName: jsii.String("fileName"),
FileType: jsii.Number(123),
FileVersion: jsii.String("fileVersion"),
},
},
OtaUpdateId: jsii.String("otaUpdateId"),
Targets: []*string{
jsii.String("targets"),
},
// the properties below are optional
AdditionalParameters: map[string]*string{
"additionalParametersKey": jsii.String("additionalParameters"),
},
AwsJobAbortConfig: &AwsJobAbortConfigProperty{
AbortCriteriaList: []interface{}{
&AwsJobAbortCriteriaProperty{
Action: jsii.String("action"),
FailureType: jsii.String("failureType"),
MinNumberOfExecutedThings: jsii.Number(123),
ThresholdPercentage: jsii.Number(123),
},
},
},
AwsJobExecutionsRolloutConfig: &AwsJobExecutionsRolloutConfigProperty{
ExponentialRate: &AwsJobExponentialRolloutRateProperty{
BaseRatePerMinute: jsii.Number(123),
IncrementFactor: jsii.Number(123),
RateIncreaseCriteria: &AwsJobRateIncreaseCriteriaProperty{
NumberOfNotifiedThings: jsii.Number(123),
NumberOfSucceededThings: jsii.Number(123),
},
},
MaximumPerMinute: jsii.Number(123),
},
AwsJobPresignedUrlConfig: &AwsJobPresignedUrlConfigProperty{
ExpiresInSec: jsii.Number(123),
},
AwsJobTimeoutConfig: &AwsJobTimeoutConfigProperty{
InProgressTimeoutInMinutes: jsii.Number(123),
},
Description: jsii.String("description"),
Protocols: []*string{
jsii.String("protocols"),
},
RoleArn: jsii.String("roleArn"),
Tags: []CfnTag{
&CfnTag{
Key: jsii.String("key"),
Value: jsii.String("value"),
},
},
TargetSelection: jsii.String("targetSelection"),
}
Properties
additionalParametersoptionalIResolvable | { [key: string]: string }additional_parametersoptionaltyping.Union[IResolvable, typing.Mapping[str, str]]additionalParametersoptionalIResolvableAdditionalParametersoptionalIResolvableAdditionalParametersoptionalinterface{}#A list of additional OTA update parameters, which are name-value pairs.
awsJobAbortConfigoptionalIResolvable | CfnOTAUpdate.AwsJobAbortConfigPropertyaws_job_abort_configoptionaltyping.Union[IResolvable, AwsJobAbortConfigProperty]awsJobAbortConfigoptionalIResolvableAwsJobAbortConfigoptionalIResolvableAwsJobAbortConfigoptionalinterface{}#awsJobExecutionsRolloutConfigoptionalIResolvable | CfnOTAUpdate.AwsJobExecutionsRolloutConfigPropertyaws_job_executions_rollout_configoptionaltyping.Union[IResolvable, AwsJobExecutionsRolloutConfigProperty]awsJobExecutionsRolloutConfigoptionalIResolvableAwsJobExecutionsRolloutConfigoptionalIResolvableAwsJobExecutionsRolloutConfigoptionalinterface{}#awsJobPresignedUrlConfigoptionalIResolvable | CfnOTAUpdate.AwsJobPresignedUrlConfigPropertyaws_job_presigned_url_configoptionaltyping.Union[IResolvable, AwsJobPresignedUrlConfigProperty]awsJobPresignedUrlConfigoptionalIResolvableAwsJobPresignedUrlConfigoptionalIResolvableAwsJobPresignedUrlConfigoptionalinterface{}#awsJobTimeoutConfigoptionalIResolvable | CfnOTAUpdate.AwsJobTimeoutConfigPropertyaws_job_timeout_configoptionaltyping.Union[IResolvable, AwsJobTimeoutConfigProperty]awsJobTimeoutConfigoptionalIResolvableAwsJobTimeoutConfigoptionalIResolvableAwsJobTimeoutConfigoptionalinterface{}#descriptionoptionalstringdescriptionoptionalstrdescriptionoptionalStringDescriptionoptionalstringDescriptionoptional*string#The description of the OTA update.
filesIResolvable | IResolvable | CfnOTAUpdate.OTAUpdateFileProperty[]filestyping.Union[IResolvable, typing.List[typing.Union[IResolvable, OTAUpdateFileProperty]]]filesIResolvableFilesIResolvableFilesinterface{}required#The files to be streamed by the OTA update.
The ID of the OTA update to be created.
protocolsoptionalstring[]protocolsoptionaltyping.List[str]protocolsoptionalList<String>Protocolsoptionalstring[]Protocolsoptional*[]*string#The protocol used to transfer the OTA update image.
roleArnoptionalstringrole_arnoptionalstrroleArnoptionalStringRoleArnoptionalstringRoleArnoptional*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.
tagsoptionalCfnTag[]tagsoptionaltyping.List[CfnTag]tagsoptionalList<CfnTag>TagsoptionalCfnTag[]Tagsoptional*[]CfnTag#Metadata which can be used to manage updates.
The devices targeted to receive OTA updates.
targetSelectionoptionalstringtarget_selectionoptionalstrtargetSelectionoptionalStringTargetSelectionoptionalstringTargetSelectionoptional*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).