aws-sdk-iot 1.51.1 → 1.52.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3c37785afa8cdec87b6ced402d464030a3fc6a533898998525d7f33dc417a8a6
4
- data.tar.gz: 6e7392deec168ba7f7266f91223263ebb569f4e55c2067269376be6789cb5a84
3
+ metadata.gz: 34d0cf141a1d23ed3d624ae3c0368689384abb41d3962d9d1087669ff041a084
4
+ data.tar.gz: e7383faa6d760e4192b30611558ea43ac22b18e453fb10458b2658fca7074e25
5
5
  SHA512:
6
- metadata.gz: c179c29f5fafce7e3a7d078bdaa65a6845fab8edfbc49672ba41ca0b8fbd186308d24c26d9d9dc5f10ba560cf9be02426407f93350e6c534c0774d9f99aef34b
7
- data.tar.gz: 0c2953889b9fc0e4a2b0529e4f4e05d4aa10c902c821acb7fb7b0b16194e8e4a5b546ad5c689175638d2e3111dc0f98b8c6041b9794eb191fee6b8dc062c50ab
6
+ metadata.gz: 6e2010a9c15f8375419e6fe60e33c41c15c2396751e6f0f70f5aa72b845a6aefc5d237a67075aa43b05a22c7e5c67ffb275a53b48337ba2d480a7b4a9bf75f53
7
+ data.tar.gz: 2beb536daaed0840db6e24ea469288e7635b2be6e29b24b1db070c967ba451f3312fa27b782b4e3723dc7e508f69840e9c4393b7f92ff07be15c03fe34b5bfaf
@@ -45,6 +45,6 @@ require_relative 'aws-sdk-iot/customizations'
45
45
  # @service
46
46
  module Aws::IoT
47
47
 
48
- GEM_VERSION = '1.51.1'
48
+ GEM_VERSION = '1.52.0'
49
49
 
50
50
  end
@@ -468,7 +468,7 @@ module Aws::IoT
468
468
  #
469
469
  #
470
470
  #
471
- # [1]: https://docs.aws.amazon.com/iot/latest/developerguide/iot-security-identity.html
471
+ # [1]: https://docs.aws.amazon.com/iot/latest/developerguide/security-iam.html
472
472
  #
473
473
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
474
474
  #
@@ -1457,7 +1457,7 @@ module Aws::IoT
1457
1457
  # The description of the OTA update.
1458
1458
  #
1459
1459
  # @option params [required, Array<String>] :targets
1460
- # The targeted devices to receive OTA updates.
1460
+ # The devices targeted to receive OTA updates.
1461
1461
  #
1462
1462
  # @option params [Array<String>] :protocols
1463
1463
  # The protocol used to transfer the OTA update image. Valid values are
@@ -1479,11 +1479,22 @@ module Aws::IoT
1479
1479
  # @option params [Types::AwsJobPresignedUrlConfig] :aws_job_presigned_url_config
1480
1480
  # Configuration information for pre-signed URLs.
1481
1481
  #
1482
+ # @option params [Types::AwsJobAbortConfig] :aws_job_abort_config
1483
+ # The criteria that determine when and how a job abort takes place.
1484
+ #
1485
+ # @option params [Types::AwsJobTimeoutConfig] :aws_job_timeout_config
1486
+ # Specifies the amount of time each device has to finish its execution
1487
+ # of the job. A timer is started when the job execution status is set to
1488
+ # `IN_PROGRESS`. If the job execution status is not set to another
1489
+ # terminal state before the timer expires, it will be automatically set
1490
+ # to `TIMED_OUT`.
1491
+ #
1482
1492
  # @option params [required, Array<Types::OTAUpdateFile>] :files
1483
1493
  # The files to be streamed by the OTA update.
1484
1494
  #
1485
1495
  # @option params [required, String] :role_arn
1486
- # The IAM role that allows access to the AWS IoT Jobs service.
1496
+ # The IAM role that grants AWS IoT access to the Amazon S3, AWS IoT jobs
1497
+ # and AWS Code Signing resources to create an OTA update job.
1487
1498
  #
1488
1499
  # @option params [Hash<String,String>] :additional_parameters
1489
1500
  # A list of additional OTA update parameters which are name-value pairs.
@@ -1509,10 +1520,31 @@ module Aws::IoT
1509
1520
  # target_selection: "CONTINUOUS", # accepts CONTINUOUS, SNAPSHOT
1510
1521
  # aws_job_executions_rollout_config: {
1511
1522
  # maximum_per_minute: 1,
1523
+ # exponential_rate: {
1524
+ # base_rate_per_minute: 1, # required
1525
+ # increment_factor: 1.0, # required
1526
+ # rate_increase_criteria: { # required
1527
+ # number_of_notified_things: 1,
1528
+ # number_of_succeeded_things: 1,
1529
+ # },
1530
+ # },
1512
1531
  # },
1513
1532
  # aws_job_presigned_url_config: {
1514
1533
  # expires_in_sec: 1,
1515
1534
  # },
1535
+ # aws_job_abort_config: {
1536
+ # abort_criteria_list: [ # required
1537
+ # {
1538
+ # failure_type: "FAILED", # required, accepts FAILED, REJECTED, TIMED_OUT, ALL
1539
+ # action: "CANCEL", # required, accepts CANCEL
1540
+ # threshold_percentage: 1.0, # required
1541
+ # min_number_of_executed_things: 1, # required
1542
+ # },
1543
+ # ],
1544
+ # },
1545
+ # aws_job_timeout_config: {
1546
+ # in_progress_timeout_in_minutes: 1,
1547
+ # },
1516
1548
  # files: [ # required
1517
1549
  # {
1518
1550
  # file_name: "FileName",
@@ -2991,7 +3023,7 @@ module Aws::IoT
2991
3023
  # Delete an OTA update.
2992
3024
  #
2993
3025
  # @option params [required, String] :ota_update_id
2994
- # The OTA update ID to delete.
3026
+ # The ID of the OTA update to delete.
2995
3027
  #
2996
3028
  # @option params [Boolean] :delete_stream
2997
3029
  # Specifies if the stream associated with an OTA update should be
@@ -2999,7 +3031,7 @@ module Aws::IoT
2999
3031
  #
3000
3032
  # @option params [Boolean] :force_delete_aws_job
3001
3033
  # Specifies if the AWS Job associated with the OTA update should be
3002
- # deleted with the OTA update is deleted.
3034
+ # deleted when the OTA update is deleted.
3003
3035
  #
3004
3036
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3005
3037
  #
@@ -4882,6 +4914,10 @@ module Aws::IoT
4882
4914
  # resp.ota_update_info.protocols #=> Array
4883
4915
  # resp.ota_update_info.protocols[0] #=> String, one of "MQTT", "HTTP"
4884
4916
  # resp.ota_update_info.aws_job_executions_rollout_config.maximum_per_minute #=> Integer
4917
+ # resp.ota_update_info.aws_job_executions_rollout_config.exponential_rate.base_rate_per_minute #=> Integer
4918
+ # resp.ota_update_info.aws_job_executions_rollout_config.exponential_rate.increment_factor #=> Float
4919
+ # resp.ota_update_info.aws_job_executions_rollout_config.exponential_rate.rate_increase_criteria.number_of_notified_things #=> Integer
4920
+ # resp.ota_update_info.aws_job_executions_rollout_config.exponential_rate.rate_increase_criteria.number_of_succeeded_things #=> Integer
4885
4921
  # resp.ota_update_info.aws_job_presigned_url_config.expires_in_sec #=> Integer
4886
4922
  # resp.ota_update_info.target_selection #=> String, one of "CONTINUOUS", "SNAPSHOT"
4887
4923
  # resp.ota_update_info.ota_update_files #=> Array
@@ -7808,6 +7844,10 @@ module Aws::IoT
7808
7844
 
7809
7845
  # Remove the specified thing from the specified group.
7810
7846
  #
7847
+ # You must specify either a `thingGroupArn` or a `thingGroupName` to
7848
+ # identify the thing group and either a `thingArn` or a `thingName` to
7849
+ # identify the thing to remove from the thing group.
7850
+ #
7811
7851
  # @option params [String] :thing_group_name
7812
7852
  # The group name.
7813
7853
  #
@@ -9927,7 +9967,7 @@ module Aws::IoT
9927
9967
  params: params,
9928
9968
  config: config)
9929
9969
  context[:gem_name] = 'aws-sdk-iot'
9930
- context[:gem_version] = '1.51.1'
9970
+ context[:gem_version] = '1.52.0'
9931
9971
  Seahorse::Client::Request.new(handlers, context)
9932
9972
  end
9933
9973
 
@@ -120,8 +120,22 @@ module Aws::IoT
120
120
  AwsIotJobArn = Shapes::StringShape.new(name: 'AwsIotJobArn')
121
121
  AwsIotJobId = Shapes::StringShape.new(name: 'AwsIotJobId')
122
122
  AwsIotSqlVersion = Shapes::StringShape.new(name: 'AwsIotSqlVersion')
123
+ AwsJobAbortConfig = Shapes::StructureShape.new(name: 'AwsJobAbortConfig')
124
+ AwsJobAbortCriteria = Shapes::StructureShape.new(name: 'AwsJobAbortCriteria')
125
+ AwsJobAbortCriteriaAbortAction = Shapes::StringShape.new(name: 'AwsJobAbortCriteriaAbortAction')
126
+ AwsJobAbortCriteriaAbortThresholdPercentage = Shapes::FloatShape.new(name: 'AwsJobAbortCriteriaAbortThresholdPercentage')
127
+ AwsJobAbortCriteriaFailureType = Shapes::StringShape.new(name: 'AwsJobAbortCriteriaFailureType')
128
+ AwsJobAbortCriteriaList = Shapes::ListShape.new(name: 'AwsJobAbortCriteriaList')
129
+ AwsJobAbortCriteriaMinimumNumberOfExecutedThings = Shapes::IntegerShape.new(name: 'AwsJobAbortCriteriaMinimumNumberOfExecutedThings')
123
130
  AwsJobExecutionsRolloutConfig = Shapes::StructureShape.new(name: 'AwsJobExecutionsRolloutConfig')
131
+ AwsJobExponentialRolloutRate = Shapes::StructureShape.new(name: 'AwsJobExponentialRolloutRate')
124
132
  AwsJobPresignedUrlConfig = Shapes::StructureShape.new(name: 'AwsJobPresignedUrlConfig')
133
+ AwsJobRateIncreaseCriteria = Shapes::StructureShape.new(name: 'AwsJobRateIncreaseCriteria')
134
+ AwsJobRateIncreaseCriteriaNumberOfThings = Shapes::IntegerShape.new(name: 'AwsJobRateIncreaseCriteriaNumberOfThings')
135
+ AwsJobRolloutIncrementFactor = Shapes::FloatShape.new(name: 'AwsJobRolloutIncrementFactor')
136
+ AwsJobRolloutRatePerMinute = Shapes::IntegerShape.new(name: 'AwsJobRolloutRatePerMinute')
137
+ AwsJobTimeoutConfig = Shapes::StructureShape.new(name: 'AwsJobTimeoutConfig')
138
+ AwsJobTimeoutInProgressTimeoutInMinutes = Shapes::IntegerShape.new(name: 'AwsJobTimeoutInProgressTimeoutInMinutes')
125
139
  Behavior = Shapes::StructureShape.new(name: 'Behavior')
126
140
  BehaviorCriteria = Shapes::StructureShape.new(name: 'BehaviorCriteria')
127
141
  BehaviorMetric = Shapes::StringShape.new(name: 'BehaviorMetric')
@@ -1331,12 +1345,36 @@ module Aws::IoT
1331
1345
 
1332
1346
  Authorizers.member = Shapes::ShapeRef.new(shape: AuthorizerSummary)
1333
1347
 
1348
+ AwsJobAbortConfig.add_member(:abort_criteria_list, Shapes::ShapeRef.new(shape: AwsJobAbortCriteriaList, required: true, location_name: "abortCriteriaList"))
1349
+ AwsJobAbortConfig.struct_class = Types::AwsJobAbortConfig
1350
+
1351
+ AwsJobAbortCriteria.add_member(:failure_type, Shapes::ShapeRef.new(shape: AwsJobAbortCriteriaFailureType, required: true, location_name: "failureType"))
1352
+ AwsJobAbortCriteria.add_member(:action, Shapes::ShapeRef.new(shape: AwsJobAbortCriteriaAbortAction, required: true, location_name: "action"))
1353
+ AwsJobAbortCriteria.add_member(:threshold_percentage, Shapes::ShapeRef.new(shape: AwsJobAbortCriteriaAbortThresholdPercentage, required: true, location_name: "thresholdPercentage"))
1354
+ AwsJobAbortCriteria.add_member(:min_number_of_executed_things, Shapes::ShapeRef.new(shape: AwsJobAbortCriteriaMinimumNumberOfExecutedThings, required: true, location_name: "minNumberOfExecutedThings"))
1355
+ AwsJobAbortCriteria.struct_class = Types::AwsJobAbortCriteria
1356
+
1357
+ AwsJobAbortCriteriaList.member = Shapes::ShapeRef.new(shape: AwsJobAbortCriteria)
1358
+
1334
1359
  AwsJobExecutionsRolloutConfig.add_member(:maximum_per_minute, Shapes::ShapeRef.new(shape: MaximumPerMinute, location_name: "maximumPerMinute"))
1360
+ AwsJobExecutionsRolloutConfig.add_member(:exponential_rate, Shapes::ShapeRef.new(shape: AwsJobExponentialRolloutRate, location_name: "exponentialRate"))
1335
1361
  AwsJobExecutionsRolloutConfig.struct_class = Types::AwsJobExecutionsRolloutConfig
1336
1362
 
1363
+ AwsJobExponentialRolloutRate.add_member(:base_rate_per_minute, Shapes::ShapeRef.new(shape: AwsJobRolloutRatePerMinute, required: true, location_name: "baseRatePerMinute"))
1364
+ AwsJobExponentialRolloutRate.add_member(:increment_factor, Shapes::ShapeRef.new(shape: AwsJobRolloutIncrementFactor, required: true, location_name: "incrementFactor"))
1365
+ AwsJobExponentialRolloutRate.add_member(:rate_increase_criteria, Shapes::ShapeRef.new(shape: AwsJobRateIncreaseCriteria, required: true, location_name: "rateIncreaseCriteria"))
1366
+ AwsJobExponentialRolloutRate.struct_class = Types::AwsJobExponentialRolloutRate
1367
+
1337
1368
  AwsJobPresignedUrlConfig.add_member(:expires_in_sec, Shapes::ShapeRef.new(shape: ExpiresInSeconds, location_name: "expiresInSec"))
1338
1369
  AwsJobPresignedUrlConfig.struct_class = Types::AwsJobPresignedUrlConfig
1339
1370
 
1371
+ AwsJobRateIncreaseCriteria.add_member(:number_of_notified_things, Shapes::ShapeRef.new(shape: AwsJobRateIncreaseCriteriaNumberOfThings, location_name: "numberOfNotifiedThings"))
1372
+ AwsJobRateIncreaseCriteria.add_member(:number_of_succeeded_things, Shapes::ShapeRef.new(shape: AwsJobRateIncreaseCriteriaNumberOfThings, location_name: "numberOfSucceededThings"))
1373
+ AwsJobRateIncreaseCriteria.struct_class = Types::AwsJobRateIncreaseCriteria
1374
+
1375
+ AwsJobTimeoutConfig.add_member(:in_progress_timeout_in_minutes, Shapes::ShapeRef.new(shape: AwsJobTimeoutInProgressTimeoutInMinutes, location_name: "inProgressTimeoutInMinutes"))
1376
+ AwsJobTimeoutConfig.struct_class = Types::AwsJobTimeoutConfig
1377
+
1340
1378
  Behavior.add_member(:name, Shapes::ShapeRef.new(shape: BehaviorName, required: true, location_name: "name"))
1341
1379
  Behavior.add_member(:metric, Shapes::ShapeRef.new(shape: BehaviorMetric, location_name: "metric"))
1342
1380
  Behavior.add_member(:metric_dimension, Shapes::ShapeRef.new(shape: MetricDimension, location_name: "metricDimension"))
@@ -1614,6 +1652,8 @@ module Aws::IoT
1614
1652
  CreateOTAUpdateRequest.add_member(:target_selection, Shapes::ShapeRef.new(shape: TargetSelection, location_name: "targetSelection"))
1615
1653
  CreateOTAUpdateRequest.add_member(:aws_job_executions_rollout_config, Shapes::ShapeRef.new(shape: AwsJobExecutionsRolloutConfig, location_name: "awsJobExecutionsRolloutConfig"))
1616
1654
  CreateOTAUpdateRequest.add_member(:aws_job_presigned_url_config, Shapes::ShapeRef.new(shape: AwsJobPresignedUrlConfig, location_name: "awsJobPresignedUrlConfig"))
1655
+ CreateOTAUpdateRequest.add_member(:aws_job_abort_config, Shapes::ShapeRef.new(shape: AwsJobAbortConfig, location_name: "awsJobAbortConfig"))
1656
+ CreateOTAUpdateRequest.add_member(:aws_job_timeout_config, Shapes::ShapeRef.new(shape: AwsJobTimeoutConfig, location_name: "awsJobTimeoutConfig"))
1617
1657
  CreateOTAUpdateRequest.add_member(:files, Shapes::ShapeRef.new(shape: OTAUpdateFiles, required: true, location_name: "files"))
1618
1658
  CreateOTAUpdateRequest.add_member(:role_arn, Shapes::ShapeRef.new(shape: RoleArn, required: true, location_name: "roleArn"))
1619
1659
  CreateOTAUpdateRequest.add_member(:additional_parameters, Shapes::ShapeRef.new(shape: AdditionalParameterMap, location_name: "additionalParameters"))
@@ -8,7 +8,7 @@
8
8
  module Aws::IoT
9
9
  module Types
10
10
 
11
- # Details of abort criteria to abort the job.
11
+ # The criteria that determine when and how a job abort takes place.
12
12
  #
13
13
  # @note When making an API call, you may pass AbortConfig
14
14
  # data as a hash:
@@ -25,7 +25,7 @@ module Aws::IoT
25
25
  # }
26
26
  #
27
27
  # @!attribute [rw] criteria_list
28
- # The list of abort criteria to define rules to abort the job.
28
+ # The list of criteria that determine when and how to abort the job.
29
29
  # @return [Array<Types::AbortCriteria>]
30
30
  #
31
31
  class AbortConfig < Struct.new(
@@ -33,7 +33,7 @@ module Aws::IoT
33
33
  include Aws::Structure
34
34
  end
35
35
 
36
- # Details of abort criteria to define rules to abort the job.
36
+ # The criteria that determine when and how a job abort takes place.
37
37
  #
38
38
  # @note When making an API call, you may pass AbortCriteria
39
39
  # data as a hash:
@@ -46,24 +46,24 @@ module Aws::IoT
46
46
  # }
47
47
  #
48
48
  # @!attribute [rw] failure_type
49
- # The type of job execution failure to define a rule to initiate a job
50
- # abort.
49
+ # The type of job execution failures that can initiate a job abort.
51
50
  # @return [String]
52
51
  #
53
52
  # @!attribute [rw] action
54
- # The type of abort action to initiate a job abort.
53
+ # The type of job action to take to initiate the job abort.
55
54
  # @return [String]
56
55
  #
57
56
  # @!attribute [rw] threshold_percentage
58
- # The threshold as a percentage of the total number of executed things
59
- # that will initiate a job abort.
57
+ # The minimum percentage of job execution failures that must occur to
58
+ # initiate the job abort.
60
59
  #
61
60
  # AWS IoT supports up to two digits after the decimal (for example,
62
61
  # 10.9 and 10.99, but not 10.999).
63
62
  # @return [Float]
64
63
  #
65
64
  # @!attribute [rw] min_number_of_executed_things
66
- # Minimum number of executed things before evaluating an abort rule.
65
+ # The minimum number of things which must receive job execution
66
+ # notifications before the job can be aborted.
67
67
  # @return [Integer]
68
68
  #
69
69
  class AbortCriteria < Struct.new(
@@ -709,7 +709,7 @@ module Aws::IoT
709
709
  #
710
710
  #
711
711
  #
712
- # [1]: https://docs.aws.amazon.com/iot/latest/developerguide/iot-security-identity.html
712
+ # [1]: https://docs.aws.amazon.com/iot/latest/developerguide/security-iam.html
713
713
  # @return [String]
714
714
  #
715
715
  class AttachPolicyRequest < Struct.new(
@@ -1280,6 +1280,72 @@ module Aws::IoT
1280
1280
  include Aws::Structure
1281
1281
  end
1282
1282
 
1283
+ # The criteria that determine when and how a job abort takes place.
1284
+ #
1285
+ # @note When making an API call, you may pass AwsJobAbortConfig
1286
+ # data as a hash:
1287
+ #
1288
+ # {
1289
+ # abort_criteria_list: [ # required
1290
+ # {
1291
+ # failure_type: "FAILED", # required, accepts FAILED, REJECTED, TIMED_OUT, ALL
1292
+ # action: "CANCEL", # required, accepts CANCEL
1293
+ # threshold_percentage: 1.0, # required
1294
+ # min_number_of_executed_things: 1, # required
1295
+ # },
1296
+ # ],
1297
+ # }
1298
+ #
1299
+ # @!attribute [rw] abort_criteria_list
1300
+ # The list of criteria that determine when and how to abort the job.
1301
+ # @return [Array<Types::AwsJobAbortCriteria>]
1302
+ #
1303
+ class AwsJobAbortConfig < Struct.new(
1304
+ :abort_criteria_list)
1305
+ include Aws::Structure
1306
+ end
1307
+
1308
+ # The criteria that determine when and how a job abort takes place.
1309
+ #
1310
+ # @note When making an API call, you may pass AwsJobAbortCriteria
1311
+ # data as a hash:
1312
+ #
1313
+ # {
1314
+ # failure_type: "FAILED", # required, accepts FAILED, REJECTED, TIMED_OUT, ALL
1315
+ # action: "CANCEL", # required, accepts CANCEL
1316
+ # threshold_percentage: 1.0, # required
1317
+ # min_number_of_executed_things: 1, # required
1318
+ # }
1319
+ #
1320
+ # @!attribute [rw] failure_type
1321
+ # The type of job execution failures that can initiate a job abort.
1322
+ # @return [String]
1323
+ #
1324
+ # @!attribute [rw] action
1325
+ # The type of job action to take to initiate the job abort.
1326
+ # @return [String]
1327
+ #
1328
+ # @!attribute [rw] threshold_percentage
1329
+ # The minimum percentage of job execution failures that must occur to
1330
+ # initiate the job abort.
1331
+ #
1332
+ # AWS IoT supports up to two digits after the decimal (for example,
1333
+ # 10.9 and 10.99, but not 10.999).
1334
+ # @return [Float]
1335
+ #
1336
+ # @!attribute [rw] min_number_of_executed_things
1337
+ # The minimum number of things which must receive job execution
1338
+ # notifications before the job can be aborted.
1339
+ # @return [Integer]
1340
+ #
1341
+ class AwsJobAbortCriteria < Struct.new(
1342
+ :failure_type,
1343
+ :action,
1344
+ :threshold_percentage,
1345
+ :min_number_of_executed_things)
1346
+ include Aws::Structure
1347
+ end
1348
+
1283
1349
  # Configuration for the rollout of OTA updates.
1284
1350
  #
1285
1351
  # @note When making an API call, you may pass AwsJobExecutionsRolloutConfig
@@ -1287,14 +1353,68 @@ module Aws::IoT
1287
1353
  #
1288
1354
  # {
1289
1355
  # maximum_per_minute: 1,
1356
+ # exponential_rate: {
1357
+ # base_rate_per_minute: 1, # required
1358
+ # increment_factor: 1.0, # required
1359
+ # rate_increase_criteria: { # required
1360
+ # number_of_notified_things: 1,
1361
+ # number_of_succeeded_things: 1,
1362
+ # },
1363
+ # },
1290
1364
  # }
1291
1365
  #
1292
1366
  # @!attribute [rw] maximum_per_minute
1293
1367
  # The maximum number of OTA update job executions started per minute.
1294
1368
  # @return [Integer]
1295
1369
  #
1370
+ # @!attribute [rw] exponential_rate
1371
+ # The rate of increase for a job rollout. This parameter allows you to
1372
+ # define an exponential rate increase for a job rollout.
1373
+ # @return [Types::AwsJobExponentialRolloutRate]
1374
+ #
1296
1375
  class AwsJobExecutionsRolloutConfig < Struct.new(
1297
- :maximum_per_minute)
1376
+ :maximum_per_minute,
1377
+ :exponential_rate)
1378
+ include Aws::Structure
1379
+ end
1380
+
1381
+ # The rate of increase for a job rollout. This parameter allows you to
1382
+ # define an exponential rate increase for a job rollout.
1383
+ #
1384
+ # @note When making an API call, you may pass AwsJobExponentialRolloutRate
1385
+ # data as a hash:
1386
+ #
1387
+ # {
1388
+ # base_rate_per_minute: 1, # required
1389
+ # increment_factor: 1.0, # required
1390
+ # rate_increase_criteria: { # required
1391
+ # number_of_notified_things: 1,
1392
+ # number_of_succeeded_things: 1,
1393
+ # },
1394
+ # }
1395
+ #
1396
+ # @!attribute [rw] base_rate_per_minute
1397
+ # The minimum number of things that will be notified of a pending job,
1398
+ # per minute, at the start of the job rollout. This is the initial
1399
+ # rate of the rollout.
1400
+ # @return [Integer]
1401
+ #
1402
+ # @!attribute [rw] increment_factor
1403
+ # The rate of increase for a job rollout. The number of things
1404
+ # notified is multiplied by this factor.
1405
+ # @return [Float]
1406
+ #
1407
+ # @!attribute [rw] rate_increase_criteria
1408
+ # The criteria to initiate the increase in rate of rollout for a job.
1409
+ #
1410
+ # AWS IoT supports up to one digit after the decimal (for example,
1411
+ # 1.5, but not 1.55).
1412
+ # @return [Types::AwsJobRateIncreaseCriteria]
1413
+ #
1414
+ class AwsJobExponentialRolloutRate < Struct.new(
1415
+ :base_rate_per_minute,
1416
+ :increment_factor,
1417
+ :rate_increase_criteria)
1298
1418
  include Aws::Structure
1299
1419
  end
1300
1420
 
@@ -1319,6 +1439,60 @@ module Aws::IoT
1319
1439
  include Aws::Structure
1320
1440
  end
1321
1441
 
1442
+ # The criteria to initiate the increase in rate of rollout for a job.
1443
+ #
1444
+ # @note When making an API call, you may pass AwsJobRateIncreaseCriteria
1445
+ # data as a hash:
1446
+ #
1447
+ # {
1448
+ # number_of_notified_things: 1,
1449
+ # number_of_succeeded_things: 1,
1450
+ # }
1451
+ #
1452
+ # @!attribute [rw] number_of_notified_things
1453
+ # When this number of things have been notified, it will initiate an
1454
+ # increase in the rollout rate.
1455
+ # @return [Integer]
1456
+ #
1457
+ # @!attribute [rw] number_of_succeeded_things
1458
+ # When this number of things have succeeded in their job execution, it
1459
+ # will initiate an increase in the rollout rate.
1460
+ # @return [Integer]
1461
+ #
1462
+ class AwsJobRateIncreaseCriteria < Struct.new(
1463
+ :number_of_notified_things,
1464
+ :number_of_succeeded_things)
1465
+ include Aws::Structure
1466
+ end
1467
+
1468
+ # Specifies the amount of time each device has to finish its execution
1469
+ # of the job. A timer is started when the job execution status is set to
1470
+ # `IN_PROGRESS`. If the job execution status is not set to another
1471
+ # terminal state before the timer expires, it will be automatically set
1472
+ # to `TIMED_OUT`.
1473
+ #
1474
+ # @note When making an API call, you may pass AwsJobTimeoutConfig
1475
+ # data as a hash:
1476
+ #
1477
+ # {
1478
+ # in_progress_timeout_in_minutes: 1,
1479
+ # }
1480
+ #
1481
+ # @!attribute [rw] in_progress_timeout_in_minutes
1482
+ # Specifies the amount of time, in minutes, this device has to finish
1483
+ # execution of this job. The timeout interval can be anywhere between
1484
+ # 1 minute and 7 days (1 to 10080 minutes). The in progress timer
1485
+ # can't be updated and will apply to all job executions for the job.
1486
+ # Whenever a job execution remains in the IN\_PROGRESS status for
1487
+ # longer than this interval, the job execution will fail and switch to
1488
+ # the terminal `TIMED_OUT` status.
1489
+ # @return [Integer]
1490
+ #
1491
+ class AwsJobTimeoutConfig < Struct.new(
1492
+ :in_progress_timeout_in_minutes)
1493
+ include Aws::Structure
1494
+ end
1495
+
1322
1496
  # A Device Defender security profile behavior.
1323
1497
  #
1324
1498
  # @note When making an API call, you may pass Behavior
@@ -2912,10 +3086,31 @@ module Aws::IoT
2912
3086
  # target_selection: "CONTINUOUS", # accepts CONTINUOUS, SNAPSHOT
2913
3087
  # aws_job_executions_rollout_config: {
2914
3088
  # maximum_per_minute: 1,
3089
+ # exponential_rate: {
3090
+ # base_rate_per_minute: 1, # required
3091
+ # increment_factor: 1.0, # required
3092
+ # rate_increase_criteria: { # required
3093
+ # number_of_notified_things: 1,
3094
+ # number_of_succeeded_things: 1,
3095
+ # },
3096
+ # },
2915
3097
  # },
2916
3098
  # aws_job_presigned_url_config: {
2917
3099
  # expires_in_sec: 1,
2918
3100
  # },
3101
+ # aws_job_abort_config: {
3102
+ # abort_criteria_list: [ # required
3103
+ # {
3104
+ # failure_type: "FAILED", # required, accepts FAILED, REJECTED, TIMED_OUT, ALL
3105
+ # action: "CANCEL", # required, accepts CANCEL
3106
+ # threshold_percentage: 1.0, # required
3107
+ # min_number_of_executed_things: 1, # required
3108
+ # },
3109
+ # ],
3110
+ # },
3111
+ # aws_job_timeout_config: {
3112
+ # in_progress_timeout_in_minutes: 1,
3113
+ # },
2919
3114
  # files: [ # required
2920
3115
  # {
2921
3116
  # file_name: "FileName",
@@ -2985,7 +3180,7 @@ module Aws::IoT
2985
3180
  # @return [String]
2986
3181
  #
2987
3182
  # @!attribute [rw] targets
2988
- # The targeted devices to receive OTA updates.
3183
+ # The devices targeted to receive OTA updates.
2989
3184
  # @return [Array<String>]
2990
3185
  #
2991
3186
  # @!attribute [rw] protocols
@@ -3012,12 +3207,25 @@ module Aws::IoT
3012
3207
  # Configuration information for pre-signed URLs.
3013
3208
  # @return [Types::AwsJobPresignedUrlConfig]
3014
3209
  #
3210
+ # @!attribute [rw] aws_job_abort_config
3211
+ # The criteria that determine when and how a job abort takes place.
3212
+ # @return [Types::AwsJobAbortConfig]
3213
+ #
3214
+ # @!attribute [rw] aws_job_timeout_config
3215
+ # Specifies the amount of time each device has to finish its execution
3216
+ # of the job. A timer is started when the job execution status is set
3217
+ # to `IN_PROGRESS`. If the job execution status is not set to another
3218
+ # terminal state before the timer expires, it will be automatically
3219
+ # set to `TIMED_OUT`.
3220
+ # @return [Types::AwsJobTimeoutConfig]
3221
+ #
3015
3222
  # @!attribute [rw] files
3016
3223
  # The files to be streamed by the OTA update.
3017
3224
  # @return [Array<Types::OTAUpdateFile>]
3018
3225
  #
3019
3226
  # @!attribute [rw] role_arn
3020
- # The IAM role that allows access to the AWS IoT Jobs service.
3227
+ # The IAM role that grants AWS IoT access to the Amazon S3, AWS IoT
3228
+ # jobs and AWS Code Signing resources to create an OTA update job.
3021
3229
  # @return [String]
3022
3230
  #
3023
3231
  # @!attribute [rw] additional_parameters
@@ -3037,6 +3245,8 @@ module Aws::IoT
3037
3245
  :target_selection,
3038
3246
  :aws_job_executions_rollout_config,
3039
3247
  :aws_job_presigned_url_config,
3248
+ :aws_job_abort_config,
3249
+ :aws_job_timeout_config,
3040
3250
  :files,
3041
3251
  :role_arn,
3042
3252
  :additional_parameters,
@@ -4623,7 +4833,7 @@ module Aws::IoT
4623
4833
  # }
4624
4834
  #
4625
4835
  # @!attribute [rw] ota_update_id
4626
- # The OTA update ID to delete.
4836
+ # The ID of the OTA update to delete.
4627
4837
  # @return [String]
4628
4838
  #
4629
4839
  # @!attribute [rw] delete_stream
@@ -4633,7 +4843,7 @@ module Aws::IoT
4633
4843
  #
4634
4844
  # @!attribute [rw] force_delete_aws_job
4635
4845
  # Specifies if the AWS Job associated with the OTA update should be
4636
- # deleted with the OTA update is deleted.
4846
+ # deleted when the OTA update is deleted.
4637
4847
  # @return [Boolean]
4638
4848
  #
4639
4849
  class DeleteOTAUpdateRequest < Struct.new(
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-iot
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.51.1
4
+ version: 1.52.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-06-11 00:00:00.000000000 Z
11
+ date: 2020-06-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core