typed-aws
Version:
Helps you write AWS CloudFormation in TypeScript
111 lines (110 loc) • 4.5 kB
TypeScript
import { CfnResource, Resolvable } from '../../base';
export declare type JobTemplate_Type = 'AWS::IoT::JobTemplate';
export declare const JobTemplate_Type = "AWS::IoT::JobTemplate";
/**
* Job templates enable you to preconfigure jobs so that you can deploy
* them to multiple sets of target devices. {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-jobtemplate.html}
*/
export default function JobTemplate(props: JobTemplate_Properties): CfnResource<JobTemplate_Properties>;
/**
* Job templates enable you to preconfigure jobs so that you can deploy
* them to multiple sets of target devices. {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-jobtemplate.html}
*/
export declare type JobTemplate_Properties = {
Arn?: Resolvable<string>;
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-jobtemplate.html#cfn-iot-jobtemplate-jobarn}
*/
JobArn?: Resolvable<string>;
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-jobtemplate.html#cfn-iot-jobtemplate-jobtemplateid}
*/
JobTemplateId: Resolvable<string>;
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-jobtemplate.html#cfn-iot-jobtemplate-description}
*/
Description: Resolvable<string>;
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-jobtemplate.html#cfn-iot-jobtemplate-document}
*/
Document?: Resolvable<string>;
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-jobtemplate.html#cfn-iot-jobtemplate-documentsource}
*/
DocumentSource?: Resolvable<string>;
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-jobtemplate.html#cfn-iot-jobtemplate-timeoutconfig}
*/
TimeoutConfig?: {
InProgressTimeoutInMinutes: InProgressTimeoutInMinutes;
};
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-jobtemplate.html#cfn-iot-jobtemplate-jobexecutionsrolloutconfig}
*/
JobExecutionsRolloutConfig?: {
ExponentialRolloutRate?: ExponentialRolloutRate;
MaximumPerMinute?: MaximumPerMinute;
};
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-jobtemplate.html#cfn-iot-jobtemplate-abortconfig}
*/
AbortConfig?: {
CriteriaList: AbortCriteria[];
};
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-jobtemplate.html#cfn-iot-jobtemplate-presignedurlconfig}
*/
PresignedUrlConfig?: {
RoleArn: RoleArn;
ExpiresInSec?: ExpiresInSec;
};
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-jobtemplate.html#cfn-iot-jobtemplate-tags}
*/
Tags?: Tag[];
};
export declare type ExponentialRolloutRate = {
BaseRatePerMinute: BaseRatePerMinute;
IncrementFactor: IncrementFactor;
RateIncreaseCriteria: {
[k: string]: unknown;
};
};
export declare type BaseRatePerMinute = Resolvable<number>;
export declare type IncrementFactor = Resolvable<number>;
export declare type RateIncreaseCriteria = {
NumberOfNotifiedThings?: NumberOfNotifiedThings;
NumberOfSucceededThings?: NumberOfSucceededThings;
};
export declare type NumberOfNotifiedThings = Resolvable<number>;
export declare type NumberOfSucceededThings = Resolvable<number>;
export declare type MaximumPerMinute = Resolvable<number>;
export declare type AbortCriteria = {
Action: Action;
FailureType: FailureType;
MinNumberOfExecutedThings: MinNumberOfExecutedThings;
ThresholdPercentage: ThresholdPercentage;
};
export declare type Action = Resolvable<'CANCEL'>;
export declare type FailureType = Resolvable<'FAILED' | 'REJECTED' | 'TIMED_OUT' | 'ALL'>;
export declare type MinNumberOfExecutedThings = Resolvable<number>;
export declare type ThresholdPercentage = Resolvable<number>;
export declare type InProgressTimeoutInMinutes = Resolvable<number>;
export declare type RoleArn = Resolvable<string>;
export declare type ExpiresInSec = Resolvable<number>;
export declare type Tag = {
Key: Resolvable<string>;
Value: Resolvable<string>;
};