/* eslint-disable */ /** * This file was automatically generated by json-schema-to-typescript. * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file, * and run json-schema-to-typescript to regenerate this file. */ export type IoTJobRateIncreaseCriteria = | { NumberOfNotifiedThings?: NumberOfThings; } | { NumberOfSucceededThings?: NumberOfThings; }; export type NumberOfThings = number; /** * Resource for Greengrass V2 deployment. */ export interface AwsGreengrassv2Deployment { TargetArn: string; ParentTargetArn?: string; DeploymentId?: string; DeploymentName?: string; Components?: { [k: string]: ComponentDeploymentSpecification; }; IotJobConfiguration?: DeploymentIoTJobConfiguration; DeploymentPolicies?: DeploymentPolicies; Tags?: { /** * This interface was referenced by `undefined`'s JSON-Schema definition * via the `patternProperty` ".*". */ [k: string]: string; }; } /** * This interface was referenced by `undefined`'s JSON-Schema definition * via the `patternProperty` ".+". */ export interface ComponentDeploymentSpecification { ComponentVersion?: string; ConfigurationUpdate?: ComponentConfigurationUpdate; RunWith?: ComponentRunWith; } export interface ComponentConfigurationUpdate { Merge?: string; Reset?: string[]; } export interface ComponentRunWith { PosixUser?: string; SystemResourceLimits?: SystemResourceLimits; WindowsUser?: string; } export interface SystemResourceLimits { Memory?: number; Cpus?: number; } export interface DeploymentIoTJobConfiguration { JobExecutionsRolloutConfig?: IoTJobExecutionsRolloutConfig; AbortConfig?: IoTJobAbortConfig; TimeoutConfig?: IoTJobTimeoutConfig; } export interface IoTJobExecutionsRolloutConfig { ExponentialRate?: IoTJobExponentialRolloutRate; MaximumPerMinute?: number; } export interface IoTJobExponentialRolloutRate { BaseRatePerMinute: number; IncrementFactor: number; RateIncreaseCriteria: IoTJobRateIncreaseCriteria; } export interface IoTJobAbortConfig { /** * @minItems 1 */ CriteriaList: [IoTJobAbortCriteria, ...IoTJobAbortCriteria[]]; } export interface IoTJobAbortCriteria { FailureType: "FAILED" | "REJECTED" | "TIMED_OUT" | "ALL"; Action: "CANCEL"; ThresholdPercentage: number; MinNumberOfExecutedThings: number; } export interface IoTJobTimeoutConfig { InProgressTimeoutInMinutes?: number; } export interface DeploymentPolicies { FailureHandlingPolicy?: "ROLLBACK" | "DO_NOTHING"; ComponentUpdatePolicy?: DeploymentComponentUpdatePolicy; ConfigurationValidationPolicy?: DeploymentConfigurationValidationPolicy; } export interface DeploymentComponentUpdatePolicy { TimeoutInSeconds?: number; Action?: "NOTIFY_COMPONENTS" | "SKIP_NOTIFY_COMPONENTS"; } export interface DeploymentConfigurationValidationPolicy { TimeoutInSeconds?: number; }