aws-sdk-iot 1.51.1 → 1.52.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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