aws-sdk-iot 1.67.0 → 1.71.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: 49c667b9e0f9eb63e2dbe7844294879f9bbfd475f0ef8f97ea852ed55bcbf373
4
- data.tar.gz: ab9eb64b3ac1882ae85e5a21a72bc098ac0ff3e2c3e6935ed9f73c6677343797
3
+ metadata.gz: 3499140aaa7538f1ae2835ce9a35933c6247ce9978176da53023ece3a9a5a4b9
4
+ data.tar.gz: '09595bd54dd3e8e7ad5ce861e090c1cbe621ae3c678a358fbb434896a6d3c444'
5
5
  SHA512:
6
- metadata.gz: 7cd7c5586fea3af7450b8c6e697c8bbedc67d26db95a19ab054610fe514209a3e316a3df631bb4009ac350a2738d248d8e2866bb22f8a52b8e30bbc344388ae6
7
- data.tar.gz: 9ab38048ec5cf796e8ea86cd64a6785b7b29f4a25458c043c858e50b8f0269845be1783402bf2679cf2e709e76ed385750d5d54ebaf3961f5c44b5cbfd38c53f
6
+ metadata.gz: f0e2ee701978b616d5d71a948d5f7a00dba88629c1776f5d2af97423e46a124aa3ec822b208cfe6f71dbc05635e3f64bce7e924b1579b9f76973150a46de99ea
7
+ data.tar.gz: 80d48fd0307b04353690e1de1ca5f2fdb6f9dfd323b7c14b76d68becaae34102a69a8f320e9e3310f853e98026b839a68b2b414ee1c7aadc813e2a5ba22da29f
data/CHANGELOG.md CHANGED
@@ -1,6 +1,26 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.71.0 (2021-07-29)
5
+ ------------------
6
+
7
+ * Feature - Increase maximum credential duration of role alias to 12 hours.
8
+
9
+ 1.70.0 (2021-07-28)
10
+ ------------------
11
+
12
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
13
+
14
+ 1.69.0 (2021-05-25)
15
+ ------------------
16
+
17
+ * Feature - This release includes support for a new feature: Job templates for AWS IoT Device Management Jobs. The release includes job templates as a new resource and APIs for managing job templates.
18
+
19
+ 1.68.0 (2021-03-31)
20
+ ------------------
21
+
22
+ * Feature - Added ability to prefix search on attribute value for ListThings API.
23
+
4
24
  1.67.0 (2021-03-10)
5
25
  ------------------
6
26
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.67.0
1
+ 1.71.0
data/lib/aws-sdk-iot.rb CHANGED
@@ -48,6 +48,6 @@ require_relative 'aws-sdk-iot/customizations'
48
48
  # @!group service
49
49
  module Aws::IoT
50
50
 
51
- GEM_VERSION = '1.67.0'
51
+ GEM_VERSION = '1.71.0'
52
52
 
53
53
  end
@@ -489,13 +489,15 @@ module Aws::IoT
489
489
  req.send_request(options)
490
490
  end
491
491
 
492
- # Attaches a policy to the specified target.
492
+ # Attaches the specified policy to the specified principal (certificate
493
+ # or other credential).
493
494
  #
494
495
  # @option params [required, String] :policy_name
495
496
  # The name of the policy to attach.
496
497
  #
497
498
  # @option params [required, String] :target
498
- # The [identity][1] to which the policy is attached.
499
+ # The [identity][1] to which the policy is attached. For example, a
500
+ # thing group or a certificate.
499
501
  #
500
502
  #
501
503
  #
@@ -1216,11 +1218,6 @@ module Aws::IoT
1216
1218
 
1217
1219
  # Creates a domain configuration.
1218
1220
  #
1219
- # <note markdown="1"> The domain configuration feature is in public preview and is subject
1220
- # to change.
1221
- #
1222
- # </note>
1223
- #
1224
1221
  # @option params [required, String] :domain_configuration_name
1225
1222
  # The name of the domain configuration. This value must be unique to a
1226
1223
  # region.
@@ -1395,10 +1392,8 @@ module Aws::IoT
1395
1392
  # A list of things and thing groups to which the job should be sent.
1396
1393
  #
1397
1394
  # @option params [String] :document_source
1398
- # An S3 link to the job document.
1399
- #
1400
- # @option params [String] :document
1401
- # The job document.
1395
+ # An S3 link to the job document. Required if you don't specify a value
1396
+ # for `document`.
1402
1397
  #
1403
1398
  # <note markdown="1"> If the job document resides in an S3 bucket, you must use a
1404
1399
  # placeholder link when specifying the document.
@@ -1412,6 +1407,10 @@ module Aws::IoT
1412
1407
  #
1413
1408
  # </note>
1414
1409
  #
1410
+ # @option params [String] :document
1411
+ # The job document. Required if you don't specify a value for
1412
+ # `documentSource`.
1413
+ #
1415
1414
  # @option params [String] :description
1416
1415
  # A short text description of the job.
1417
1416
  #
@@ -1455,6 +1454,9 @@ module Aws::IoT
1455
1454
  #
1456
1455
  # </note>
1457
1456
  #
1457
+ # @option params [String] :job_template_arn
1458
+ # The ARN of the job template used to create the job.
1459
+ #
1458
1460
  # @return [Types::CreateJobResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1459
1461
  #
1460
1462
  # * {Types::CreateJobResponse#job_arn #job_arn} => String
@@ -1505,6 +1507,7 @@ module Aws::IoT
1505
1507
  # },
1506
1508
  # ],
1507
1509
  # namespace_id: "NamespaceId",
1510
+ # job_template_arn: "JobTemplateArn",
1508
1511
  # })
1509
1512
  #
1510
1513
  # @example Response structure
@@ -1520,6 +1523,118 @@ module Aws::IoT
1520
1523
  req.send_request(options)
1521
1524
  end
1522
1525
 
1526
+ # Creates a job template.
1527
+ #
1528
+ # @option params [required, String] :job_template_id
1529
+ # A unique identifier for the job template. We recommend using a UUID.
1530
+ # Alpha-numeric characters, "-", and "\_" are valid for use here.
1531
+ #
1532
+ # @option params [String] :job_arn
1533
+ # The ARN of the job to use as the basis for the job template.
1534
+ #
1535
+ # @option params [String] :document_source
1536
+ # An S3 link to the job document to use in the template. Required if you
1537
+ # don't specify a value for `document`.
1538
+ #
1539
+ # <note markdown="1"> If the job document resides in an S3 bucket, you must use a
1540
+ # placeholder link when specifying the document.
1541
+ #
1542
+ # The placeholder link is of the following form:
1543
+ #
1544
+ # `$\{aws:iot:s3-presigned-url:https://s3.amazonaws.com/bucket/key\}`
1545
+ #
1546
+ # where *bucket* is your bucket name and *key* is the object in the
1547
+ # bucket to which you are linking.
1548
+ #
1549
+ # </note>
1550
+ #
1551
+ # @option params [String] :document
1552
+ # The job document. Required if you don't specify a value for
1553
+ # `documentSource`.
1554
+ #
1555
+ # @option params [required, String] :description
1556
+ # A description of the job document.
1557
+ #
1558
+ # @option params [Types::PresignedUrlConfig] :presigned_url_config
1559
+ # Configuration for pre-signed S3 URLs.
1560
+ #
1561
+ # @option params [Types::JobExecutionsRolloutConfig] :job_executions_rollout_config
1562
+ # Allows you to create a staged rollout of a job.
1563
+ #
1564
+ # @option params [Types::AbortConfig] :abort_config
1565
+ # The criteria that determine when and how a job abort takes place.
1566
+ #
1567
+ # @option params [Types::TimeoutConfig] :timeout_config
1568
+ # Specifies the amount of time each device has to finish its execution
1569
+ # of the job. A timer is started when the job execution status is set to
1570
+ # `IN_PROGRESS`. If the job execution status is not set to another
1571
+ # terminal state before the timer expires, it will be automatically set
1572
+ # to `TIMED_OUT`.
1573
+ #
1574
+ # @option params [Array<Types::Tag>] :tags
1575
+ # Metadata that can be used to manage the job template.
1576
+ #
1577
+ # @return [Types::CreateJobTemplateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1578
+ #
1579
+ # * {Types::CreateJobTemplateResponse#job_template_arn #job_template_arn} => String
1580
+ # * {Types::CreateJobTemplateResponse#job_template_id #job_template_id} => String
1581
+ #
1582
+ # @example Request syntax with placeholder values
1583
+ #
1584
+ # resp = client.create_job_template({
1585
+ # job_template_id: "JobTemplateId", # required
1586
+ # job_arn: "JobArn",
1587
+ # document_source: "JobDocumentSource",
1588
+ # document: "JobDocument",
1589
+ # description: "JobDescription", # required
1590
+ # presigned_url_config: {
1591
+ # role_arn: "RoleArn",
1592
+ # expires_in_sec: 1,
1593
+ # },
1594
+ # job_executions_rollout_config: {
1595
+ # maximum_per_minute: 1,
1596
+ # exponential_rate: {
1597
+ # base_rate_per_minute: 1, # required
1598
+ # increment_factor: 1.0, # required
1599
+ # rate_increase_criteria: { # required
1600
+ # number_of_notified_things: 1,
1601
+ # number_of_succeeded_things: 1,
1602
+ # },
1603
+ # },
1604
+ # },
1605
+ # abort_config: {
1606
+ # criteria_list: [ # required
1607
+ # {
1608
+ # failure_type: "FAILED", # required, accepts FAILED, REJECTED, TIMED_OUT, ALL
1609
+ # action: "CANCEL", # required, accepts CANCEL
1610
+ # threshold_percentage: 1.0, # required
1611
+ # min_number_of_executed_things: 1, # required
1612
+ # },
1613
+ # ],
1614
+ # },
1615
+ # timeout_config: {
1616
+ # in_progress_timeout_in_minutes: 1,
1617
+ # },
1618
+ # tags: [
1619
+ # {
1620
+ # key: "TagKey", # required
1621
+ # value: "TagValue",
1622
+ # },
1623
+ # ],
1624
+ # })
1625
+ #
1626
+ # @example Response structure
1627
+ #
1628
+ # resp.job_template_arn #=> String
1629
+ # resp.job_template_id #=> String
1630
+ #
1631
+ # @overload create_job_template(params = {})
1632
+ # @param [Hash] params ({})
1633
+ def create_job_template(params = {}, options = {})
1634
+ req = build_request(:create_job_template, params)
1635
+ req.send_request(options)
1636
+ end
1637
+
1523
1638
  # Creates a 2048-bit RSA key pair and issues an X.509 certificate using
1524
1639
  # the issued public key. You can also call `CreateKeysAndCertificate`
1525
1640
  # over MQTT from a device, for more information, see [Provisioning MQTT
@@ -3196,11 +3311,6 @@ module Aws::IoT
3196
3311
 
3197
3312
  # Deletes the specified domain configuration.
3198
3313
  #
3199
- # <note markdown="1"> The domain configuration feature is in public preview and is subject
3200
- # to change.
3201
- #
3202
- # </note>
3203
- #
3204
3314
  # @option params [required, String] :domain_configuration_name
3205
3315
  # The name of the domain configuration to be deleted.
3206
3316
  #
@@ -3367,6 +3477,26 @@ module Aws::IoT
3367
3477
  req.send_request(options)
3368
3478
  end
3369
3479
 
3480
+ # Deletes the specified job template.
3481
+ #
3482
+ # @option params [required, String] :job_template_id
3483
+ # The unique identifier of the job template to delete.
3484
+ #
3485
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3486
+ #
3487
+ # @example Request syntax with placeholder values
3488
+ #
3489
+ # resp = client.delete_job_template({
3490
+ # job_template_id: "JobTemplateId", # required
3491
+ # })
3492
+ #
3493
+ # @overload delete_job_template(params = {})
3494
+ # @param [Hash] params ({})
3495
+ def delete_job_template(params = {}, options = {})
3496
+ req = build_request(:delete_job_template, params)
3497
+ req.send_request(options)
3498
+ end
3499
+
3370
3500
  # Deletes a defined mitigation action from your AWS account.
3371
3501
  #
3372
3502
  # @option params [required, String] :action_name
@@ -4365,11 +4495,6 @@ module Aws::IoT
4365
4495
 
4366
4496
  # Gets summary information about a domain configuration.
4367
4497
  #
4368
- # <note markdown="1"> The domain configuration feature is in public preview and is subject
4369
- # to change.
4370
- #
4371
- # </note>
4372
- #
4373
4498
  # @option params [required, String] :domain_configuration_name
4374
4499
  # The name of the domain configuration.
4375
4500
  #
@@ -4572,6 +4697,7 @@ module Aws::IoT
4572
4697
  # resp.job.job_process_details.number_of_timed_out_things #=> Integer
4573
4698
  # resp.job.timeout_config.in_progress_timeout_in_minutes #=> Integer
4574
4699
  # resp.job.namespace_id #=> String
4700
+ # resp.job.job_template_arn #=> String
4575
4701
  #
4576
4702
  # @overload describe_job(params = {})
4577
4703
  # @param [Hash] params ({})
@@ -4626,6 +4752,59 @@ module Aws::IoT
4626
4752
  req.send_request(options)
4627
4753
  end
4628
4754
 
4755
+ # Returns information about a job template.
4756
+ #
4757
+ # @option params [required, String] :job_template_id
4758
+ # The unique identifier of the job template.
4759
+ #
4760
+ # @return [Types::DescribeJobTemplateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4761
+ #
4762
+ # * {Types::DescribeJobTemplateResponse#job_template_arn #job_template_arn} => String
4763
+ # * {Types::DescribeJobTemplateResponse#job_template_id #job_template_id} => String
4764
+ # * {Types::DescribeJobTemplateResponse#description #description} => String
4765
+ # * {Types::DescribeJobTemplateResponse#document_source #document_source} => String
4766
+ # * {Types::DescribeJobTemplateResponse#document #document} => String
4767
+ # * {Types::DescribeJobTemplateResponse#created_at #created_at} => Time
4768
+ # * {Types::DescribeJobTemplateResponse#presigned_url_config #presigned_url_config} => Types::PresignedUrlConfig
4769
+ # * {Types::DescribeJobTemplateResponse#job_executions_rollout_config #job_executions_rollout_config} => Types::JobExecutionsRolloutConfig
4770
+ # * {Types::DescribeJobTemplateResponse#abort_config #abort_config} => Types::AbortConfig
4771
+ # * {Types::DescribeJobTemplateResponse#timeout_config #timeout_config} => Types::TimeoutConfig
4772
+ #
4773
+ # @example Request syntax with placeholder values
4774
+ #
4775
+ # resp = client.describe_job_template({
4776
+ # job_template_id: "JobTemplateId", # required
4777
+ # })
4778
+ #
4779
+ # @example Response structure
4780
+ #
4781
+ # resp.job_template_arn #=> String
4782
+ # resp.job_template_id #=> String
4783
+ # resp.description #=> String
4784
+ # resp.document_source #=> String
4785
+ # resp.document #=> String
4786
+ # resp.created_at #=> Time
4787
+ # resp.presigned_url_config.role_arn #=> String
4788
+ # resp.presigned_url_config.expires_in_sec #=> Integer
4789
+ # resp.job_executions_rollout_config.maximum_per_minute #=> Integer
4790
+ # resp.job_executions_rollout_config.exponential_rate.base_rate_per_minute #=> Integer
4791
+ # resp.job_executions_rollout_config.exponential_rate.increment_factor #=> Float
4792
+ # resp.job_executions_rollout_config.exponential_rate.rate_increase_criteria.number_of_notified_things #=> Integer
4793
+ # resp.job_executions_rollout_config.exponential_rate.rate_increase_criteria.number_of_succeeded_things #=> Integer
4794
+ # resp.abort_config.criteria_list #=> Array
4795
+ # resp.abort_config.criteria_list[0].failure_type #=> String, one of "FAILED", "REJECTED", "TIMED_OUT", "ALL"
4796
+ # resp.abort_config.criteria_list[0].action #=> String, one of "CANCEL"
4797
+ # resp.abort_config.criteria_list[0].threshold_percentage #=> Float
4798
+ # resp.abort_config.criteria_list[0].min_number_of_executed_things #=> Integer
4799
+ # resp.timeout_config.in_progress_timeout_in_minutes #=> Integer
4800
+ #
4801
+ # @overload describe_job_template(params = {})
4802
+ # @param [Hash] params ({})
4803
+ def describe_job_template(params = {}, options = {})
4804
+ req = build_request(:describe_job_template, params)
4805
+ req.send_request(options)
4806
+ end
4807
+
4629
4808
  # Gets information about a mitigation action.
4630
4809
  #
4631
4810
  # @option params [required, String] :action_name
@@ -6993,11 +7172,6 @@ module Aws::IoT
6993
7172
  # Gets a list of domain configurations for the user. This list is sorted
6994
7173
  # alphabetically by domain configuration name.
6995
7174
  #
6996
- # <note markdown="1"> The domain configuration feature is in public preview and is subject
6997
- # to change.
6998
- #
6999
- # </note>
7000
- #
7001
7175
  # @option params [String] :marker
7002
7176
  # The marker for the next set of results.
7003
7177
  #
@@ -7184,6 +7358,42 @@ module Aws::IoT
7184
7358
  req.send_request(options)
7185
7359
  end
7186
7360
 
7361
+ # Returns a list of job templates.
7362
+ #
7363
+ # @option params [Integer] :max_results
7364
+ # The maximum number of results to return in the list.
7365
+ #
7366
+ # @option params [String] :next_token
7367
+ # The token to use to return the next set of results in the list.
7368
+ #
7369
+ # @return [Types::ListJobTemplatesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7370
+ #
7371
+ # * {Types::ListJobTemplatesResponse#job_templates #job_templates} => Array&lt;Types::JobTemplateSummary&gt;
7372
+ # * {Types::ListJobTemplatesResponse#next_token #next_token} => String
7373
+ #
7374
+ # @example Request syntax with placeholder values
7375
+ #
7376
+ # resp = client.list_job_templates({
7377
+ # max_results: 1,
7378
+ # next_token: "NextToken",
7379
+ # })
7380
+ #
7381
+ # @example Response structure
7382
+ #
7383
+ # resp.job_templates #=> Array
7384
+ # resp.job_templates[0].job_template_arn #=> String
7385
+ # resp.job_templates[0].job_template_id #=> String
7386
+ # resp.job_templates[0].description #=> String
7387
+ # resp.job_templates[0].created_at #=> Time
7388
+ # resp.next_token #=> String
7389
+ #
7390
+ # @overload list_job_templates(params = {})
7391
+ # @param [Hash] params ({})
7392
+ def list_job_templates(params = {}, options = {})
7393
+ req = build_request(:list_job_templates, params)
7394
+ req.send_request(options)
7395
+ end
7396
+
7187
7397
  # Lists jobs.
7188
7398
  #
7189
7399
  # @option params [String] :status
@@ -8332,6 +8542,14 @@ module Aws::IoT
8332
8542
  # @option params [String] :thing_type_name
8333
8543
  # The name of the thing type used to search for things.
8334
8544
  #
8545
+ # @option params [Boolean] :use_prefix_attribute_value
8546
+ # When `true`, the action returns the thing resources with attribute
8547
+ # values that start with the `attributeValue` provided.
8548
+ #
8549
+ # When `false`, or not present, the action returns only the thing
8550
+ # resources with attribute values that match the entire `attributeValue`
8551
+ # provided.
8552
+ #
8335
8553
  # @return [Types::ListThingsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8336
8554
  #
8337
8555
  # * {Types::ListThingsResponse#things #things} => Array&lt;Types::ThingAttribute&gt;
@@ -8347,6 +8565,7 @@ module Aws::IoT
8347
8565
  # attribute_name: "AttributeName",
8348
8566
  # attribute_value: "AttributeValue",
8349
8567
  # thing_type_name: "ThingTypeName",
8568
+ # use_prefix_attribute_value: false,
8350
8569
  # })
8351
8570
  #
8352
8571
  # @example Response structure
@@ -10397,11 +10616,6 @@ module Aws::IoT
10397
10616
  # Updates values stored in the domain configuration. Domain
10398
10617
  # configurations for default endpoints can't be updated.
10399
10618
  #
10400
- # <note markdown="1"> The domain configuration feature is in public preview and is subject
10401
- # to change.
10402
- #
10403
- # </note>
10404
- #
10405
10619
  # @option params [required, String] :domain_configuration_name
10406
10620
  # The name of the domain configuration to be updated.
10407
10621
  #
@@ -11346,7 +11560,7 @@ module Aws::IoT
11346
11560
  params: params,
11347
11561
  config: config)
11348
11562
  context[:gem_name] = 'aws-sdk-iot'
11349
- context[:gem_version] = '1.67.0'
11563
+ context[:gem_version] = '1.71.0'
11350
11564
  Seahorse::Client::Request.new(handlers, context)
11351
11565
  end
11352
11566
 
@@ -218,6 +218,7 @@ module Aws::IoT
218
218
  ConfirmTopicRuleDestinationRequest = Shapes::StructureShape.new(name: 'ConfirmTopicRuleDestinationRequest')
219
219
  ConfirmTopicRuleDestinationResponse = Shapes::StructureShape.new(name: 'ConfirmTopicRuleDestinationResponse')
220
220
  ConfirmationToken = Shapes::StringShape.new(name: 'ConfirmationToken')
221
+ ConflictException = Shapes::StructureShape.new(name: 'ConflictException')
221
222
  ConflictingResourceUpdateException = Shapes::StructureShape.new(name: 'ConflictingResourceUpdateException')
222
223
  ConnectivityTimestamp = Shapes::IntegerShape.new(name: 'ConnectivityTimestamp')
223
224
  ConsecutiveDatapointsToAlarm = Shapes::IntegerShape.new(name: 'ConsecutiveDatapointsToAlarm')
@@ -241,6 +242,8 @@ module Aws::IoT
241
242
  CreateDynamicThingGroupResponse = Shapes::StructureShape.new(name: 'CreateDynamicThingGroupResponse')
242
243
  CreateJobRequest = Shapes::StructureShape.new(name: 'CreateJobRequest')
243
244
  CreateJobResponse = Shapes::StructureShape.new(name: 'CreateJobResponse')
245
+ CreateJobTemplateRequest = Shapes::StructureShape.new(name: 'CreateJobTemplateRequest')
246
+ CreateJobTemplateResponse = Shapes::StructureShape.new(name: 'CreateJobTemplateResponse')
244
247
  CreateKeysAndCertificateRequest = Shapes::StructureShape.new(name: 'CreateKeysAndCertificateRequest')
245
248
  CreateKeysAndCertificateResponse = Shapes::StructureShape.new(name: 'CreateKeysAndCertificateResponse')
246
249
  CreateMitigationActionRequest = Shapes::StructureShape.new(name: 'CreateMitigationActionRequest')
@@ -311,6 +314,7 @@ module Aws::IoT
311
314
  DeleteDynamicThingGroupResponse = Shapes::StructureShape.new(name: 'DeleteDynamicThingGroupResponse')
312
315
  DeleteJobExecutionRequest = Shapes::StructureShape.new(name: 'DeleteJobExecutionRequest')
313
316
  DeleteJobRequest = Shapes::StructureShape.new(name: 'DeleteJobRequest')
317
+ DeleteJobTemplateRequest = Shapes::StructureShape.new(name: 'DeleteJobTemplateRequest')
314
318
  DeleteMitigationActionRequest = Shapes::StructureShape.new(name: 'DeleteMitigationActionRequest')
315
319
  DeleteMitigationActionResponse = Shapes::StructureShape.new(name: 'DeleteMitigationActionResponse')
316
320
  DeleteOTAUpdateRequest = Shapes::StructureShape.new(name: 'DeleteOTAUpdateRequest')
@@ -386,6 +390,8 @@ module Aws::IoT
386
390
  DescribeJobExecutionResponse = Shapes::StructureShape.new(name: 'DescribeJobExecutionResponse')
387
391
  DescribeJobRequest = Shapes::StructureShape.new(name: 'DescribeJobRequest')
388
392
  DescribeJobResponse = Shapes::StructureShape.new(name: 'DescribeJobResponse')
393
+ DescribeJobTemplateRequest = Shapes::StructureShape.new(name: 'DescribeJobTemplateRequest')
394
+ DescribeJobTemplateResponse = Shapes::StructureShape.new(name: 'DescribeJobTemplateResponse')
389
395
  DescribeMitigationActionRequest = Shapes::StructureShape.new(name: 'DescribeMitigationActionRequest')
390
396
  DescribeMitigationActionResponse = Shapes::StructureShape.new(name: 'DescribeMitigationActionResponse')
391
397
  DescribeProvisioningTemplateRequest = Shapes::StructureShape.new(name: 'DescribeProvisioningTemplateRequest')
@@ -596,6 +602,10 @@ module Aws::IoT
596
602
  JobSummary = Shapes::StructureShape.new(name: 'JobSummary')
597
603
  JobSummaryList = Shapes::ListShape.new(name: 'JobSummaryList')
598
604
  JobTargets = Shapes::ListShape.new(name: 'JobTargets')
605
+ JobTemplateArn = Shapes::StringShape.new(name: 'JobTemplateArn')
606
+ JobTemplateId = Shapes::StringShape.new(name: 'JobTemplateId')
607
+ JobTemplateSummary = Shapes::StructureShape.new(name: 'JobTemplateSummary')
608
+ JobTemplateSummaryList = Shapes::ListShape.new(name: 'JobTemplateSummaryList')
599
609
  JsonDocument = Shapes::StringShape.new(name: 'JsonDocument')
600
610
  KafkaAction = Shapes::StructureShape.new(name: 'KafkaAction')
601
611
  Key = Shapes::StringShape.new(name: 'Key')
@@ -648,6 +658,8 @@ module Aws::IoT
648
658
  ListJobExecutionsForJobResponse = Shapes::StructureShape.new(name: 'ListJobExecutionsForJobResponse')
649
659
  ListJobExecutionsForThingRequest = Shapes::StructureShape.new(name: 'ListJobExecutionsForThingRequest')
650
660
  ListJobExecutionsForThingResponse = Shapes::StructureShape.new(name: 'ListJobExecutionsForThingResponse')
661
+ ListJobTemplatesRequest = Shapes::StructureShape.new(name: 'ListJobTemplatesRequest')
662
+ ListJobTemplatesResponse = Shapes::StructureShape.new(name: 'ListJobTemplatesResponse')
651
663
  ListJobsRequest = Shapes::StructureShape.new(name: 'ListJobsRequest')
652
664
  ListJobsResponse = Shapes::StructureShape.new(name: 'ListJobsResponse')
653
665
  ListMitigationActionsRequest = Shapes::StructureShape.new(name: 'ListMitigationActionsRequest')
@@ -1184,6 +1196,7 @@ module Aws::IoT
1184
1196
  resourceArn = Shapes::StringShape.new(name: 'resourceArn')
1185
1197
  resourceId = Shapes::StringShape.new(name: 'resourceId')
1186
1198
  stringValue = Shapes::StringShape.new(name: 'stringValue')
1199
+ usePrefixAttributeValue = Shapes::BooleanShape.new(name: 'usePrefixAttributeValue')
1187
1200
 
1188
1201
  AbortConfig.add_member(:criteria_list, Shapes::ShapeRef.new(shape: AbortCriteriaList, required: true, location_name: "criteriaList"))
1189
1202
  AbortConfig.struct_class = Types::AbortConfig
@@ -1668,6 +1681,9 @@ module Aws::IoT
1668
1681
 
1669
1682
  ConfirmTopicRuleDestinationResponse.struct_class = Types::ConfirmTopicRuleDestinationResponse
1670
1683
 
1684
+ ConflictException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
1685
+ ConflictException.struct_class = Types::ConflictException
1686
+
1671
1687
  ConflictingResourceUpdateException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
1672
1688
  ConflictingResourceUpdateException.struct_class = Types::ConflictingResourceUpdateException
1673
1689
 
@@ -1776,6 +1792,7 @@ module Aws::IoT
1776
1792
  CreateJobRequest.add_member(:timeout_config, Shapes::ShapeRef.new(shape: TimeoutConfig, location_name: "timeoutConfig"))
1777
1793
  CreateJobRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "tags"))
1778
1794
  CreateJobRequest.add_member(:namespace_id, Shapes::ShapeRef.new(shape: NamespaceId, location_name: "namespaceId"))
1795
+ CreateJobRequest.add_member(:job_template_arn, Shapes::ShapeRef.new(shape: JobTemplateArn, location_name: "jobTemplateArn"))
1779
1796
  CreateJobRequest.struct_class = Types::CreateJobRequest
1780
1797
 
1781
1798
  CreateJobResponse.add_member(:job_arn, Shapes::ShapeRef.new(shape: JobArn, location_name: "jobArn"))
@@ -1783,6 +1800,22 @@ module Aws::IoT
1783
1800
  CreateJobResponse.add_member(:description, Shapes::ShapeRef.new(shape: JobDescription, location_name: "description"))
1784
1801
  CreateJobResponse.struct_class = Types::CreateJobResponse
1785
1802
 
1803
+ CreateJobTemplateRequest.add_member(:job_template_id, Shapes::ShapeRef.new(shape: JobTemplateId, required: true, location: "uri", location_name: "jobTemplateId"))
1804
+ CreateJobTemplateRequest.add_member(:job_arn, Shapes::ShapeRef.new(shape: JobArn, location_name: "jobArn"))
1805
+ CreateJobTemplateRequest.add_member(:document_source, Shapes::ShapeRef.new(shape: JobDocumentSource, location_name: "documentSource"))
1806
+ CreateJobTemplateRequest.add_member(:document, Shapes::ShapeRef.new(shape: JobDocument, location_name: "document"))
1807
+ CreateJobTemplateRequest.add_member(:description, Shapes::ShapeRef.new(shape: JobDescription, required: true, location_name: "description"))
1808
+ CreateJobTemplateRequest.add_member(:presigned_url_config, Shapes::ShapeRef.new(shape: PresignedUrlConfig, location_name: "presignedUrlConfig"))
1809
+ CreateJobTemplateRequest.add_member(:job_executions_rollout_config, Shapes::ShapeRef.new(shape: JobExecutionsRolloutConfig, location_name: "jobExecutionsRolloutConfig"))
1810
+ CreateJobTemplateRequest.add_member(:abort_config, Shapes::ShapeRef.new(shape: AbortConfig, location_name: "abortConfig"))
1811
+ CreateJobTemplateRequest.add_member(:timeout_config, Shapes::ShapeRef.new(shape: TimeoutConfig, location_name: "timeoutConfig"))
1812
+ CreateJobTemplateRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "tags"))
1813
+ CreateJobTemplateRequest.struct_class = Types::CreateJobTemplateRequest
1814
+
1815
+ CreateJobTemplateResponse.add_member(:job_template_arn, Shapes::ShapeRef.new(shape: JobTemplateArn, location_name: "jobTemplateArn"))
1816
+ CreateJobTemplateResponse.add_member(:job_template_id, Shapes::ShapeRef.new(shape: JobTemplateId, location_name: "jobTemplateId"))
1817
+ CreateJobTemplateResponse.struct_class = Types::CreateJobTemplateResponse
1818
+
1786
1819
  CreateKeysAndCertificateRequest.add_member(:set_as_active, Shapes::ShapeRef.new(shape: SetAsActive, location: "querystring", location_name: "setAsActive"))
1787
1820
  CreateKeysAndCertificateRequest.struct_class = Types::CreateKeysAndCertificateRequest
1788
1821
 
@@ -2045,6 +2078,9 @@ module Aws::IoT
2045
2078
  DeleteJobRequest.add_member(:namespace_id, Shapes::ShapeRef.new(shape: NamespaceId, location: "querystring", location_name: "namespaceId"))
2046
2079
  DeleteJobRequest.struct_class = Types::DeleteJobRequest
2047
2080
 
2081
+ DeleteJobTemplateRequest.add_member(:job_template_id, Shapes::ShapeRef.new(shape: JobTemplateId, required: true, location: "uri", location_name: "jobTemplateId"))
2082
+ DeleteJobTemplateRequest.struct_class = Types::DeleteJobTemplateRequest
2083
+
2048
2084
  DeleteMitigationActionRequest.add_member(:action_name, Shapes::ShapeRef.new(shape: MitigationActionName, required: true, location: "uri", location_name: "actionName"))
2049
2085
  DeleteMitigationActionRequest.struct_class = Types::DeleteMitigationActionRequest
2050
2086
 
@@ -2299,6 +2335,21 @@ module Aws::IoT
2299
2335
  DescribeJobResponse.add_member(:job, Shapes::ShapeRef.new(shape: Job, location_name: "job"))
2300
2336
  DescribeJobResponse.struct_class = Types::DescribeJobResponse
2301
2337
 
2338
+ DescribeJobTemplateRequest.add_member(:job_template_id, Shapes::ShapeRef.new(shape: JobTemplateId, required: true, location: "uri", location_name: "jobTemplateId"))
2339
+ DescribeJobTemplateRequest.struct_class = Types::DescribeJobTemplateRequest
2340
+
2341
+ DescribeJobTemplateResponse.add_member(:job_template_arn, Shapes::ShapeRef.new(shape: JobTemplateArn, location_name: "jobTemplateArn"))
2342
+ DescribeJobTemplateResponse.add_member(:job_template_id, Shapes::ShapeRef.new(shape: JobTemplateId, location_name: "jobTemplateId"))
2343
+ DescribeJobTemplateResponse.add_member(:description, Shapes::ShapeRef.new(shape: JobDescription, location_name: "description"))
2344
+ DescribeJobTemplateResponse.add_member(:document_source, Shapes::ShapeRef.new(shape: JobDocumentSource, location_name: "documentSource"))
2345
+ DescribeJobTemplateResponse.add_member(:document, Shapes::ShapeRef.new(shape: JobDocument, location_name: "document"))
2346
+ DescribeJobTemplateResponse.add_member(:created_at, Shapes::ShapeRef.new(shape: DateType, location_name: "createdAt"))
2347
+ DescribeJobTemplateResponse.add_member(:presigned_url_config, Shapes::ShapeRef.new(shape: PresignedUrlConfig, location_name: "presignedUrlConfig"))
2348
+ DescribeJobTemplateResponse.add_member(:job_executions_rollout_config, Shapes::ShapeRef.new(shape: JobExecutionsRolloutConfig, location_name: "jobExecutionsRolloutConfig"))
2349
+ DescribeJobTemplateResponse.add_member(:abort_config, Shapes::ShapeRef.new(shape: AbortConfig, location_name: "abortConfig"))
2350
+ DescribeJobTemplateResponse.add_member(:timeout_config, Shapes::ShapeRef.new(shape: TimeoutConfig, location_name: "timeoutConfig"))
2351
+ DescribeJobTemplateResponse.struct_class = Types::DescribeJobTemplateResponse
2352
+
2302
2353
  DescribeMitigationActionRequest.add_member(:action_name, Shapes::ShapeRef.new(shape: MitigationActionName, required: true, location: "uri", location_name: "actionName"))
2303
2354
  DescribeMitigationActionRequest.struct_class = Types::DescribeMitigationActionRequest
2304
2355
 
@@ -2797,6 +2848,7 @@ module Aws::IoT
2797
2848
  Job.add_member(:job_process_details, Shapes::ShapeRef.new(shape: JobProcessDetails, location_name: "jobProcessDetails"))
2798
2849
  Job.add_member(:timeout_config, Shapes::ShapeRef.new(shape: TimeoutConfig, location_name: "timeoutConfig"))
2799
2850
  Job.add_member(:namespace_id, Shapes::ShapeRef.new(shape: NamespaceId, location_name: "namespaceId"))
2851
+ Job.add_member(:job_template_arn, Shapes::ShapeRef.new(shape: JobTemplateArn, location_name: "jobTemplateArn"))
2800
2852
  Job.struct_class = Types::Job
2801
2853
 
2802
2854
  JobExecution.add_member(:job_id, Shapes::ShapeRef.new(shape: JobId, location_name: "jobId"))
@@ -2863,6 +2915,14 @@ module Aws::IoT
2863
2915
 
2864
2916
  JobTargets.member = Shapes::ShapeRef.new(shape: TargetArn)
2865
2917
 
2918
+ JobTemplateSummary.add_member(:job_template_arn, Shapes::ShapeRef.new(shape: JobTemplateArn, location_name: "jobTemplateArn"))
2919
+ JobTemplateSummary.add_member(:job_template_id, Shapes::ShapeRef.new(shape: JobTemplateId, location_name: "jobTemplateId"))
2920
+ JobTemplateSummary.add_member(:description, Shapes::ShapeRef.new(shape: JobDescription, location_name: "description"))
2921
+ JobTemplateSummary.add_member(:created_at, Shapes::ShapeRef.new(shape: DateType, location_name: "createdAt"))
2922
+ JobTemplateSummary.struct_class = Types::JobTemplateSummary
2923
+
2924
+ JobTemplateSummaryList.member = Shapes::ShapeRef.new(shape: JobTemplateSummary)
2925
+
2866
2926
  KafkaAction.add_member(:destination_arn, Shapes::ShapeRef.new(shape: AwsArn, required: true, location_name: "destinationArn"))
2867
2927
  KafkaAction.add_member(:topic, Shapes::ShapeRef.new(shape: String, required: true, location_name: "topic"))
2868
2928
  KafkaAction.add_member(:key, Shapes::ShapeRef.new(shape: String, location_name: "key"))
@@ -3092,6 +3152,14 @@ module Aws::IoT
3092
3152
  ListJobExecutionsForThingResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
3093
3153
  ListJobExecutionsForThingResponse.struct_class = Types::ListJobExecutionsForThingResponse
3094
3154
 
3155
+ ListJobTemplatesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: LaserMaxResults, location: "querystring", location_name: "maxResults"))
3156
+ ListJobTemplatesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
3157
+ ListJobTemplatesRequest.struct_class = Types::ListJobTemplatesRequest
3158
+
3159
+ ListJobTemplatesResponse.add_member(:job_templates, Shapes::ShapeRef.new(shape: JobTemplateSummaryList, location_name: "jobTemplates"))
3160
+ ListJobTemplatesResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
3161
+ ListJobTemplatesResponse.struct_class = Types::ListJobTemplatesResponse
3162
+
3095
3163
  ListJobsRequest.add_member(:status, Shapes::ShapeRef.new(shape: JobStatus, location: "querystring", location_name: "status"))
3096
3164
  ListJobsRequest.add_member(:target_selection, Shapes::ShapeRef.new(shape: TargetSelection, location: "querystring", location_name: "targetSelection"))
3097
3165
  ListJobsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: LaserMaxResults, location: "querystring", location_name: "maxResults"))
@@ -3347,6 +3415,7 @@ module Aws::IoT
3347
3415
  ListThingsRequest.add_member(:attribute_name, Shapes::ShapeRef.new(shape: AttributeName, location: "querystring", location_name: "attributeName"))
3348
3416
  ListThingsRequest.add_member(:attribute_value, Shapes::ShapeRef.new(shape: AttributeValue, location: "querystring", location_name: "attributeValue"))
3349
3417
  ListThingsRequest.add_member(:thing_type_name, Shapes::ShapeRef.new(shape: ThingTypeName, location: "querystring", location_name: "thingTypeName"))
3418
+ ListThingsRequest.add_member(:use_prefix_attribute_value, Shapes::ShapeRef.new(shape: usePrefixAttributeValue, location: "querystring", location_name: "usePrefixAttributeValue"))
3350
3419
  ListThingsRequest.struct_class = Types::ListThingsRequest
3351
3420
 
3352
3421
  ListThingsResponse.add_member(:things, Shapes::ShapeRef.new(shape: ThingAttributeList, location_name: "things"))
@@ -4843,6 +4912,20 @@ module Aws::IoT
4843
4912
  o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
4844
4913
  end)
4845
4914
 
4915
+ api.add_operation(:create_job_template, Seahorse::Model::Operation.new.tap do |o|
4916
+ o.name = "CreateJobTemplate"
4917
+ o.http_method = "PUT"
4918
+ o.http_request_uri = "/job-templates/{jobTemplateId}"
4919
+ o.input = Shapes::ShapeRef.new(shape: CreateJobTemplateRequest)
4920
+ o.output = Shapes::ShapeRef.new(shape: CreateJobTemplateResponse)
4921
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
4922
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
4923
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
4924
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
4925
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
4926
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
4927
+ end)
4928
+
4846
4929
  api.add_operation(:create_keys_and_certificate, Seahorse::Model::Operation.new.tap do |o|
4847
4930
  o.name = "CreateKeysAndCertificate"
4848
4931
  o.http_method = "POST"
@@ -5239,6 +5322,18 @@ module Aws::IoT
5239
5322
  o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
5240
5323
  end)
5241
5324
 
5325
+ api.add_operation(:delete_job_template, Seahorse::Model::Operation.new.tap do |o|
5326
+ o.name = "DeleteJobTemplate"
5327
+ o.http_method = "DELETE"
5328
+ o.http_request_uri = "/job-templates/{jobTemplateId}"
5329
+ o.input = Shapes::ShapeRef.new(shape: DeleteJobTemplateRequest)
5330
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
5331
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
5332
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
5333
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
5334
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
5335
+ end)
5336
+
5242
5337
  api.add_operation(:delete_mitigation_action, Seahorse::Model::Operation.new.tap do |o|
5243
5338
  o.name = "DeleteMitigationAction"
5244
5339
  o.http_method = "DELETE"
@@ -5720,6 +5815,18 @@ module Aws::IoT
5720
5815
  o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
5721
5816
  end)
5722
5817
 
5818
+ api.add_operation(:describe_job_template, Seahorse::Model::Operation.new.tap do |o|
5819
+ o.name = "DescribeJobTemplate"
5820
+ o.http_method = "GET"
5821
+ o.http_request_uri = "/job-templates/{jobTemplateId}"
5822
+ o.input = Shapes::ShapeRef.new(shape: DescribeJobTemplateRequest)
5823
+ o.output = Shapes::ShapeRef.new(shape: DescribeJobTemplateResponse)
5824
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
5825
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
5826
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
5827
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
5828
+ end)
5829
+
5723
5830
  api.add_operation(:describe_mitigation_action, Seahorse::Model::Operation.new.tap do |o|
5724
5831
  o.name = "DescribeMitigationAction"
5725
5832
  o.http_method = "GET"
@@ -6514,6 +6621,17 @@ module Aws::IoT
6514
6621
  )
6515
6622
  end)
6516
6623
 
6624
+ api.add_operation(:list_job_templates, Seahorse::Model::Operation.new.tap do |o|
6625
+ o.name = "ListJobTemplates"
6626
+ o.http_method = "GET"
6627
+ o.http_request_uri = "/job-templates"
6628
+ o.input = Shapes::ShapeRef.new(shape: ListJobTemplatesRequest)
6629
+ o.output = Shapes::ShapeRef.new(shape: ListJobTemplatesResponse)
6630
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
6631
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
6632
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
6633
+ end)
6634
+
6517
6635
  api.add_operation(:list_jobs, Seahorse::Model::Operation.new.tap do |o|
6518
6636
  o.name = "ListJobs"
6519
6637
  o.http_method = "GET"
@@ -2,7 +2,7 @@
2
2
  # WARNING ABOUT GENERATED CODE
3
3
  #
4
4
  # This file is generated. See the contributing for info on making contributions:
5
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
6
6
  #
7
7
  # WARNING ABOUT GENERATED CODE
8
8
 
@@ -30,6 +30,7 @@ module Aws::IoT
30
30
  # * {CertificateConflictException}
31
31
  # * {CertificateStateException}
32
32
  # * {CertificateValidationException}
33
+ # * {ConflictException}
33
34
  # * {ConflictingResourceUpdateException}
34
35
  # * {DeleteConflictException}
35
36
  # * {IndexNotReadyException}
@@ -108,6 +109,21 @@ module Aws::IoT
108
109
  end
109
110
  end
110
111
 
112
+ class ConflictException < ServiceError
113
+
114
+ # @param [Seahorse::Client::RequestContext] context
115
+ # @param [String] message
116
+ # @param [Aws::IoT::Types::ConflictException] data
117
+ def initialize(context, message, data = Aws::EmptyStructure.new)
118
+ super(context, message, data)
119
+ end
120
+
121
+ # @return [String]
122
+ def message
123
+ @message || @data[:message]
124
+ end
125
+ end
126
+
111
127
  class ConflictingResourceUpdateException < ServiceError
112
128
 
113
129
  # @param [Seahorse::Client::RequestContext] context
@@ -788,7 +788,8 @@ module Aws::IoT
788
788
  # @return [String]
789
789
  #
790
790
  # @!attribute [rw] target
791
- # The [identity][1] to which the policy is attached.
791
+ # The [identity][1] to which the policy is attached. For example, a
792
+ # thing group or a certificate.
792
793
  #
793
794
  #
794
795
  #
@@ -2608,6 +2609,17 @@ module Aws::IoT
2608
2609
 
2609
2610
  class ConfirmTopicRuleDestinationResponse < Aws::EmptyStructure; end
2610
2611
 
2612
+ # A resource with the same name already exists.
2613
+ #
2614
+ # @!attribute [rw] message
2615
+ # @return [String]
2616
+ #
2617
+ class ConflictException < Struct.new(
2618
+ :message)
2619
+ SENSITIVE = []
2620
+ include Aws::Structure
2621
+ end
2622
+
2611
2623
  # A conflicting resource update exception. This exception is thrown when
2612
2624
  # two pending updates cause a conflict.
2613
2625
  #
@@ -3280,6 +3292,7 @@ module Aws::IoT
3280
3292
  # },
3281
3293
  # ],
3282
3294
  # namespace_id: "NamespaceId",
3295
+ # job_template_arn: "JobTemplateArn",
3283
3296
  # }
3284
3297
  #
3285
3298
  # @!attribute [rw] job_id
@@ -3293,11 +3306,8 @@ module Aws::IoT
3293
3306
  # @return [Array<String>]
3294
3307
  #
3295
3308
  # @!attribute [rw] document_source
3296
- # An S3 link to the job document.
3297
- # @return [String]
3298
- #
3299
- # @!attribute [rw] document
3300
- # The job document.
3309
+ # An S3 link to the job document. Required if you don't specify a
3310
+ # value for `document`.
3301
3311
  #
3302
3312
  # <note markdown="1"> If the job document resides in an S3 bucket, you must use a
3303
3313
  # placeholder link when specifying the document.
@@ -3312,6 +3322,11 @@ module Aws::IoT
3312
3322
  # </note>
3313
3323
  # @return [String]
3314
3324
  #
3325
+ # @!attribute [rw] document
3326
+ # The job document. Required if you don't specify a value for
3327
+ # `documentSource`.
3328
+ # @return [String]
3329
+ #
3315
3330
  # @!attribute [rw] description
3316
3331
  # A short text description of the job.
3317
3332
  # @return [String]
@@ -3363,6 +3378,10 @@ module Aws::IoT
3363
3378
  # </note>
3364
3379
  # @return [String]
3365
3380
  #
3381
+ # @!attribute [rw] job_template_arn
3382
+ # The ARN of the job template used to create the job.
3383
+ # @return [String]
3384
+ #
3366
3385
  class CreateJobRequest < Struct.new(
3367
3386
  :job_id,
3368
3387
  :targets,
@@ -3375,7 +3394,8 @@ module Aws::IoT
3375
3394
  :abort_config,
3376
3395
  :timeout_config,
3377
3396
  :tags,
3378
- :namespace_id)
3397
+ :namespace_id,
3398
+ :job_template_arn)
3379
3399
  SENSITIVE = []
3380
3400
  include Aws::Structure
3381
3401
  end
@@ -3400,6 +3420,140 @@ module Aws::IoT
3400
3420
  include Aws::Structure
3401
3421
  end
3402
3422
 
3423
+ # @note When making an API call, you may pass CreateJobTemplateRequest
3424
+ # data as a hash:
3425
+ #
3426
+ # {
3427
+ # job_template_id: "JobTemplateId", # required
3428
+ # job_arn: "JobArn",
3429
+ # document_source: "JobDocumentSource",
3430
+ # document: "JobDocument",
3431
+ # description: "JobDescription", # required
3432
+ # presigned_url_config: {
3433
+ # role_arn: "RoleArn",
3434
+ # expires_in_sec: 1,
3435
+ # },
3436
+ # job_executions_rollout_config: {
3437
+ # maximum_per_minute: 1,
3438
+ # exponential_rate: {
3439
+ # base_rate_per_minute: 1, # required
3440
+ # increment_factor: 1.0, # required
3441
+ # rate_increase_criteria: { # required
3442
+ # number_of_notified_things: 1,
3443
+ # number_of_succeeded_things: 1,
3444
+ # },
3445
+ # },
3446
+ # },
3447
+ # abort_config: {
3448
+ # criteria_list: [ # required
3449
+ # {
3450
+ # failure_type: "FAILED", # required, accepts FAILED, REJECTED, TIMED_OUT, ALL
3451
+ # action: "CANCEL", # required, accepts CANCEL
3452
+ # threshold_percentage: 1.0, # required
3453
+ # min_number_of_executed_things: 1, # required
3454
+ # },
3455
+ # ],
3456
+ # },
3457
+ # timeout_config: {
3458
+ # in_progress_timeout_in_minutes: 1,
3459
+ # },
3460
+ # tags: [
3461
+ # {
3462
+ # key: "TagKey", # required
3463
+ # value: "TagValue",
3464
+ # },
3465
+ # ],
3466
+ # }
3467
+ #
3468
+ # @!attribute [rw] job_template_id
3469
+ # A unique identifier for the job template. We recommend using a UUID.
3470
+ # Alpha-numeric characters, "-", and "\_" are valid for use here.
3471
+ # @return [String]
3472
+ #
3473
+ # @!attribute [rw] job_arn
3474
+ # The ARN of the job to use as the basis for the job template.
3475
+ # @return [String]
3476
+ #
3477
+ # @!attribute [rw] document_source
3478
+ # An S3 link to the job document to use in the template. Required if
3479
+ # you don't specify a value for `document`.
3480
+ #
3481
+ # <note markdown="1"> If the job document resides in an S3 bucket, you must use a
3482
+ # placeholder link when specifying the document.
3483
+ #
3484
+ # The placeholder link is of the following form:
3485
+ #
3486
+ # `$\{aws:iot:s3-presigned-url:https://s3.amazonaws.com/bucket/key\}`
3487
+ #
3488
+ # where *bucket* is your bucket name and *key* is the object in the
3489
+ # bucket to which you are linking.
3490
+ #
3491
+ # </note>
3492
+ # @return [String]
3493
+ #
3494
+ # @!attribute [rw] document
3495
+ # The job document. Required if you don't specify a value for
3496
+ # `documentSource`.
3497
+ # @return [String]
3498
+ #
3499
+ # @!attribute [rw] description
3500
+ # A description of the job document.
3501
+ # @return [String]
3502
+ #
3503
+ # @!attribute [rw] presigned_url_config
3504
+ # Configuration for pre-signed S3 URLs.
3505
+ # @return [Types::PresignedUrlConfig]
3506
+ #
3507
+ # @!attribute [rw] job_executions_rollout_config
3508
+ # Allows you to create a staged rollout of a job.
3509
+ # @return [Types::JobExecutionsRolloutConfig]
3510
+ #
3511
+ # @!attribute [rw] abort_config
3512
+ # The criteria that determine when and how a job abort takes place.
3513
+ # @return [Types::AbortConfig]
3514
+ #
3515
+ # @!attribute [rw] timeout_config
3516
+ # Specifies the amount of time each device has to finish its execution
3517
+ # of the job. A timer is started when the job execution status is set
3518
+ # to `IN_PROGRESS`. If the job execution status is not set to another
3519
+ # terminal state before the timer expires, it will be automatically
3520
+ # set to `TIMED_OUT`.
3521
+ # @return [Types::TimeoutConfig]
3522
+ #
3523
+ # @!attribute [rw] tags
3524
+ # Metadata that can be used to manage the job template.
3525
+ # @return [Array<Types::Tag>]
3526
+ #
3527
+ class CreateJobTemplateRequest < Struct.new(
3528
+ :job_template_id,
3529
+ :job_arn,
3530
+ :document_source,
3531
+ :document,
3532
+ :description,
3533
+ :presigned_url_config,
3534
+ :job_executions_rollout_config,
3535
+ :abort_config,
3536
+ :timeout_config,
3537
+ :tags)
3538
+ SENSITIVE = []
3539
+ include Aws::Structure
3540
+ end
3541
+
3542
+ # @!attribute [rw] job_template_arn
3543
+ # The ARN of the job template.
3544
+ # @return [String]
3545
+ #
3546
+ # @!attribute [rw] job_template_id
3547
+ # The unique identifier of the job template.
3548
+ # @return [String]
3549
+ #
3550
+ class CreateJobTemplateResponse < Struct.new(
3551
+ :job_template_arn,
3552
+ :job_template_id)
3553
+ SENSITIVE = []
3554
+ include Aws::Structure
3555
+ end
3556
+
3403
3557
  # The input for the CreateKeysAndCertificate operation.
3404
3558
  #
3405
3559
  # @note When making an API call, you may pass CreateKeysAndCertificateRequest
@@ -5458,6 +5612,23 @@ module Aws::IoT
5458
5612
  include Aws::Structure
5459
5613
  end
5460
5614
 
5615
+ # @note When making an API call, you may pass DeleteJobTemplateRequest
5616
+ # data as a hash:
5617
+ #
5618
+ # {
5619
+ # job_template_id: "JobTemplateId", # required
5620
+ # }
5621
+ #
5622
+ # @!attribute [rw] job_template_id
5623
+ # The unique identifier of the job template to delete.
5624
+ # @return [String]
5625
+ #
5626
+ class DeleteJobTemplateRequest < Struct.new(
5627
+ :job_template_id)
5628
+ SENSITIVE = []
5629
+ include Aws::Structure
5630
+ end
5631
+
5461
5632
  # @note When making an API call, you may pass DeleteMitigationActionRequest
5462
5633
  # data as a hash:
5463
5634
  #
@@ -6706,6 +6877,83 @@ module Aws::IoT
6706
6877
  include Aws::Structure
6707
6878
  end
6708
6879
 
6880
+ # @note When making an API call, you may pass DescribeJobTemplateRequest
6881
+ # data as a hash:
6882
+ #
6883
+ # {
6884
+ # job_template_id: "JobTemplateId", # required
6885
+ # }
6886
+ #
6887
+ # @!attribute [rw] job_template_id
6888
+ # The unique identifier of the job template.
6889
+ # @return [String]
6890
+ #
6891
+ class DescribeJobTemplateRequest < Struct.new(
6892
+ :job_template_id)
6893
+ SENSITIVE = []
6894
+ include Aws::Structure
6895
+ end
6896
+
6897
+ # @!attribute [rw] job_template_arn
6898
+ # The ARN of the job template.
6899
+ # @return [String]
6900
+ #
6901
+ # @!attribute [rw] job_template_id
6902
+ # The unique identifier of the job template.
6903
+ # @return [String]
6904
+ #
6905
+ # @!attribute [rw] description
6906
+ # A description of the job template.
6907
+ # @return [String]
6908
+ #
6909
+ # @!attribute [rw] document_source
6910
+ # An S3 link to the job document.
6911
+ # @return [String]
6912
+ #
6913
+ # @!attribute [rw] document
6914
+ # The job document.
6915
+ # @return [String]
6916
+ #
6917
+ # @!attribute [rw] created_at
6918
+ # The time, in seconds since the epoch, when the job template was
6919
+ # created.
6920
+ # @return [Time]
6921
+ #
6922
+ # @!attribute [rw] presigned_url_config
6923
+ # Configuration for pre-signed S3 URLs.
6924
+ # @return [Types::PresignedUrlConfig]
6925
+ #
6926
+ # @!attribute [rw] job_executions_rollout_config
6927
+ # Allows you to create a staged rollout of a job.
6928
+ # @return [Types::JobExecutionsRolloutConfig]
6929
+ #
6930
+ # @!attribute [rw] abort_config
6931
+ # The criteria that determine when and how a job abort takes place.
6932
+ # @return [Types::AbortConfig]
6933
+ #
6934
+ # @!attribute [rw] timeout_config
6935
+ # Specifies the amount of time each device has to finish its execution
6936
+ # of the job. A timer is started when the job execution status is set
6937
+ # to `IN_PROGRESS`. If the job execution status is not set to another
6938
+ # terminal state before the timer expires, it will be automatically
6939
+ # set to `TIMED_OUT`.
6940
+ # @return [Types::TimeoutConfig]
6941
+ #
6942
+ class DescribeJobTemplateResponse < Struct.new(
6943
+ :job_template_arn,
6944
+ :job_template_id,
6945
+ :description,
6946
+ :document_source,
6947
+ :document,
6948
+ :created_at,
6949
+ :presigned_url_config,
6950
+ :job_executions_rollout_config,
6951
+ :abort_config,
6952
+ :timeout_config)
6953
+ SENSITIVE = []
6954
+ include Aws::Structure
6955
+ end
6956
+
6709
6957
  # @note When making an API call, you may pass DescribeMitigationActionRequest
6710
6958
  # data as a hash:
6711
6959
  #
@@ -7713,11 +7961,6 @@ module Aws::IoT
7713
7961
  #
7714
7962
  # * CredentialProvider
7715
7963
  #
7716
- # <note markdown="1"> The domain configuration feature is in public preview and is subject
7717
- # to change.
7718
- #
7719
- # </note>
7720
- #
7721
7964
  # @!attribute [rw] domain_configuration_name
7722
7965
  # The name of the domain configuration. This value must be unique to a
7723
7966
  # region.
@@ -9292,6 +9535,10 @@ module Aws::IoT
9292
9535
  # </note>
9293
9536
  # @return [String]
9294
9537
  #
9538
+ # @!attribute [rw] job_template_arn
9539
+ # The ARN of the job template used to create the job.
9540
+ # @return [String]
9541
+ #
9295
9542
  class Job < Struct.new(
9296
9543
  :job_arn,
9297
9544
  :job_id,
@@ -9310,7 +9557,8 @@ module Aws::IoT
9310
9557
  :completed_at,
9311
9558
  :job_process_details,
9312
9559
  :timeout_config,
9313
- :namespace_id)
9560
+ :namespace_id,
9561
+ :job_template_arn)
9314
9562
  SENSITIVE = []
9315
9563
  include Aws::Structure
9316
9564
  end
@@ -9620,6 +9868,34 @@ module Aws::IoT
9620
9868
  include Aws::Structure
9621
9869
  end
9622
9870
 
9871
+ # An object that contains information about the job template.
9872
+ #
9873
+ # @!attribute [rw] job_template_arn
9874
+ # The ARN of the job template.
9875
+ # @return [String]
9876
+ #
9877
+ # @!attribute [rw] job_template_id
9878
+ # The unique identifier of the job template.
9879
+ # @return [String]
9880
+ #
9881
+ # @!attribute [rw] description
9882
+ # A description of the job template.
9883
+ # @return [String]
9884
+ #
9885
+ # @!attribute [rw] created_at
9886
+ # The time, in seconds since the epoch, when the job template was
9887
+ # created.
9888
+ # @return [Time]
9889
+ #
9890
+ class JobTemplateSummary < Struct.new(
9891
+ :job_template_arn,
9892
+ :job_template_id,
9893
+ :description,
9894
+ :created_at)
9895
+ SENSITIVE = []
9896
+ include Aws::Structure
9897
+ end
9898
+
9623
9899
  # Send messages to an Amazon Managed Streaming for Apache Kafka (Amazon
9624
9900
  # MSK) or self-managed Apache Kafka cluster.
9625
9901
  #
@@ -10913,6 +11189,45 @@ module Aws::IoT
10913
11189
  include Aws::Structure
10914
11190
  end
10915
11191
 
11192
+ # @note When making an API call, you may pass ListJobTemplatesRequest
11193
+ # data as a hash:
11194
+ #
11195
+ # {
11196
+ # max_results: 1,
11197
+ # next_token: "NextToken",
11198
+ # }
11199
+ #
11200
+ # @!attribute [rw] max_results
11201
+ # The maximum number of results to return in the list.
11202
+ # @return [Integer]
11203
+ #
11204
+ # @!attribute [rw] next_token
11205
+ # The token to use to return the next set of results in the list.
11206
+ # @return [String]
11207
+ #
11208
+ class ListJobTemplatesRequest < Struct.new(
11209
+ :max_results,
11210
+ :next_token)
11211
+ SENSITIVE = []
11212
+ include Aws::Structure
11213
+ end
11214
+
11215
+ # @!attribute [rw] job_templates
11216
+ # A list of objects that contain information about the job templates.
11217
+ # @return [Array<Types::JobTemplateSummary>]
11218
+ #
11219
+ # @!attribute [rw] next_token
11220
+ # The token for the next set of results, or **null** if there are no
11221
+ # additional results.
11222
+ # @return [String]
11223
+ #
11224
+ class ListJobTemplatesResponse < Struct.new(
11225
+ :job_templates,
11226
+ :next_token)
11227
+ SENSITIVE = []
11228
+ include Aws::Structure
11229
+ end
11230
+
10916
11231
  # @note When making an API call, you may pass ListJobsRequest
10917
11232
  # data as a hash:
10918
11233
  #
@@ -12258,6 +12573,7 @@ module Aws::IoT
12258
12573
  # attribute_name: "AttributeName",
12259
12574
  # attribute_value: "AttributeValue",
12260
12575
  # thing_type_name: "ThingTypeName",
12576
+ # use_prefix_attribute_value: false,
12261
12577
  # }
12262
12578
  #
12263
12579
  # @!attribute [rw] next_token
@@ -12282,12 +12598,22 @@ module Aws::IoT
12282
12598
  # The name of the thing type used to search for things.
12283
12599
  # @return [String]
12284
12600
  #
12601
+ # @!attribute [rw] use_prefix_attribute_value
12602
+ # When `true`, the action returns the thing resources with attribute
12603
+ # values that start with the `attributeValue` provided.
12604
+ #
12605
+ # When `false`, or not present, the action returns only the thing
12606
+ # resources with attribute values that match the entire
12607
+ # `attributeValue` provided.
12608
+ # @return [Boolean]
12609
+ #
12285
12610
  class ListThingsRequest < Struct.new(
12286
12611
  :next_token,
12287
12612
  :max_results,
12288
12613
  :attribute_name,
12289
12614
  :attribute_value,
12290
- :thing_type_name)
12615
+ :thing_type_name,
12616
+ :use_prefix_attribute_value)
12291
12617
  SENSITIVE = []
12292
12618
  include Aws::Structure
12293
12619
  end
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.67.0
4
+ version: 1.71.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: 2021-03-10 00:00:00.000000000 Z
11
+ date: 2021-07-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '3'
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 3.112.0
22
+ version: 3.118.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '3'
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 3.112.0
32
+ version: 3.118.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: aws-sigv4
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -66,8 +66,8 @@ homepage: https://github.com/aws/aws-sdk-ruby
66
66
  licenses:
67
67
  - Apache-2.0
68
68
  metadata:
69
- source_code_uri: https://github.com/aws/aws-sdk-ruby/tree/master/gems/aws-sdk-iot
70
- changelog_uri: https://github.com/aws/aws-sdk-ruby/tree/master/gems/aws-sdk-iot/CHANGELOG.md
69
+ source_code_uri: https://github.com/aws/aws-sdk-ruby/tree/version-3/gems/aws-sdk-iot
70
+ changelog_uri: https://github.com/aws/aws-sdk-ruby/tree/version-3/gems/aws-sdk-iot/CHANGELOG.md
71
71
  post_install_message:
72
72
  rdoc_options: []
73
73
  require_paths:
@@ -83,8 +83,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
83
83
  - !ruby/object:Gem::Version
84
84
  version: '0'
85
85
  requirements: []
86
- rubyforge_project:
87
- rubygems_version: 2.7.6.2
86
+ rubygems_version: 3.1.6
88
87
  signing_key:
89
88
  specification_version: 4
90
89
  summary: AWS SDK for Ruby - AWS IoT