aws-sdk-iot 1.64.0 → 1.69.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.
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 1.69.0
data/lib/aws-sdk-iot.rb CHANGED
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -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.64.0'
51
+ GEM_VERSION = '1.69.0'
52
52
 
53
53
  end
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -495,7 +495,8 @@ module Aws::IoT
495
495
  # The name of the policy to attach.
496
496
  #
497
497
  # @option params [required, String] :target
498
- # The [identity][1] to which the policy is attached.
498
+ # The [identity][1] to which the policy is attached. For example, a
499
+ # thing group or a certificate.
499
500
  #
500
501
  #
501
502
  #
@@ -1216,11 +1217,6 @@ module Aws::IoT
1216
1217
 
1217
1218
  # Creates a domain configuration.
1218
1219
  #
1219
- # <note markdown="1"> The domain configuration feature is in public preview and is subject
1220
- # to change.
1221
- #
1222
- # </note>
1223
- #
1224
1220
  # @option params [required, String] :domain_configuration_name
1225
1221
  # The name of the domain configuration. This value must be unique to a
1226
1222
  # region.
@@ -1395,10 +1391,8 @@ module Aws::IoT
1395
1391
  # A list of things and thing groups to which the job should be sent.
1396
1392
  #
1397
1393
  # @option params [String] :document_source
1398
- # An S3 link to the job document.
1399
- #
1400
- # @option params [String] :document
1401
- # The job document.
1394
+ # An S3 link to the job document. Required if you don't specify a value
1395
+ # for `document`.
1402
1396
  #
1403
1397
  # <note markdown="1"> If the job document resides in an S3 bucket, you must use a
1404
1398
  # placeholder link when specifying the document.
@@ -1412,6 +1406,10 @@ module Aws::IoT
1412
1406
  #
1413
1407
  # </note>
1414
1408
  #
1409
+ # @option params [String] :document
1410
+ # The job document. Required if you don't specify a value for
1411
+ # `documentSource`.
1412
+ #
1415
1413
  # @option params [String] :description
1416
1414
  # A short text description of the job.
1417
1415
  #
@@ -1455,6 +1453,9 @@ module Aws::IoT
1455
1453
  #
1456
1454
  # </note>
1457
1455
  #
1456
+ # @option params [String] :job_template_arn
1457
+ # The ARN of the job template used to create the job.
1458
+ #
1458
1459
  # @return [Types::CreateJobResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1459
1460
  #
1460
1461
  # * {Types::CreateJobResponse#job_arn #job_arn} => String
@@ -1505,6 +1506,7 @@ module Aws::IoT
1505
1506
  # },
1506
1507
  # ],
1507
1508
  # namespace_id: "NamespaceId",
1509
+ # job_template_arn: "JobTemplateArn",
1508
1510
  # })
1509
1511
  #
1510
1512
  # @example Response structure
@@ -1520,6 +1522,118 @@ module Aws::IoT
1520
1522
  req.send_request(options)
1521
1523
  end
1522
1524
 
1525
+ # Creates a job template.
1526
+ #
1527
+ # @option params [required, String] :job_template_id
1528
+ # A unique identifier for the job template. We recommend using a UUID.
1529
+ # Alpha-numeric characters, "-", and "\_" are valid for use here.
1530
+ #
1531
+ # @option params [String] :job_arn
1532
+ # The ARN of the job to use as the basis for the job template.
1533
+ #
1534
+ # @option params [String] :document_source
1535
+ # An S3 link to the job document to use in the template. Required if you
1536
+ # don't specify a value for `document`.
1537
+ #
1538
+ # <note markdown="1"> If the job document resides in an S3 bucket, you must use a
1539
+ # placeholder link when specifying the document.
1540
+ #
1541
+ # The placeholder link is of the following form:
1542
+ #
1543
+ # `$\{aws:iot:s3-presigned-url:https://s3.amazonaws.com/bucket/key\}`
1544
+ #
1545
+ # where *bucket* is your bucket name and *key* is the object in the
1546
+ # bucket to which you are linking.
1547
+ #
1548
+ # </note>
1549
+ #
1550
+ # @option params [String] :document
1551
+ # The job document. Required if you don't specify a value for
1552
+ # `documentSource`.
1553
+ #
1554
+ # @option params [required, String] :description
1555
+ # A description of the job document.
1556
+ #
1557
+ # @option params [Types::PresignedUrlConfig] :presigned_url_config
1558
+ # Configuration for pre-signed S3 URLs.
1559
+ #
1560
+ # @option params [Types::JobExecutionsRolloutConfig] :job_executions_rollout_config
1561
+ # Allows you to create a staged rollout of a job.
1562
+ #
1563
+ # @option params [Types::AbortConfig] :abort_config
1564
+ # The criteria that determine when and how a job abort takes place.
1565
+ #
1566
+ # @option params [Types::TimeoutConfig] :timeout_config
1567
+ # Specifies the amount of time each device has to finish its execution
1568
+ # of the job. A timer is started when the job execution status is set to
1569
+ # `IN_PROGRESS`. If the job execution status is not set to another
1570
+ # terminal state before the timer expires, it will be automatically set
1571
+ # to `TIMED_OUT`.
1572
+ #
1573
+ # @option params [Array<Types::Tag>] :tags
1574
+ # Metadata that can be used to manage the job template.
1575
+ #
1576
+ # @return [Types::CreateJobTemplateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1577
+ #
1578
+ # * {Types::CreateJobTemplateResponse#job_template_arn #job_template_arn} => String
1579
+ # * {Types::CreateJobTemplateResponse#job_template_id #job_template_id} => String
1580
+ #
1581
+ # @example Request syntax with placeholder values
1582
+ #
1583
+ # resp = client.create_job_template({
1584
+ # job_template_id: "JobTemplateId", # required
1585
+ # job_arn: "JobArn",
1586
+ # document_source: "JobDocumentSource",
1587
+ # document: "JobDocument",
1588
+ # description: "JobDescription", # required
1589
+ # presigned_url_config: {
1590
+ # role_arn: "RoleArn",
1591
+ # expires_in_sec: 1,
1592
+ # },
1593
+ # job_executions_rollout_config: {
1594
+ # maximum_per_minute: 1,
1595
+ # exponential_rate: {
1596
+ # base_rate_per_minute: 1, # required
1597
+ # increment_factor: 1.0, # required
1598
+ # rate_increase_criteria: { # required
1599
+ # number_of_notified_things: 1,
1600
+ # number_of_succeeded_things: 1,
1601
+ # },
1602
+ # },
1603
+ # },
1604
+ # abort_config: {
1605
+ # criteria_list: [ # required
1606
+ # {
1607
+ # failure_type: "FAILED", # required, accepts FAILED, REJECTED, TIMED_OUT, ALL
1608
+ # action: "CANCEL", # required, accepts CANCEL
1609
+ # threshold_percentage: 1.0, # required
1610
+ # min_number_of_executed_things: 1, # required
1611
+ # },
1612
+ # ],
1613
+ # },
1614
+ # timeout_config: {
1615
+ # in_progress_timeout_in_minutes: 1,
1616
+ # },
1617
+ # tags: [
1618
+ # {
1619
+ # key: "TagKey", # required
1620
+ # value: "TagValue",
1621
+ # },
1622
+ # ],
1623
+ # })
1624
+ #
1625
+ # @example Response structure
1626
+ #
1627
+ # resp.job_template_arn #=> String
1628
+ # resp.job_template_id #=> String
1629
+ #
1630
+ # @overload create_job_template(params = {})
1631
+ # @param [Hash] params ({})
1632
+ def create_job_template(params = {}, options = {})
1633
+ req = build_request(:create_job_template, params)
1634
+ req.send_request(options)
1635
+ end
1636
+
1523
1637
  # Creates a 2048-bit RSA key pair and issues an X.509 certificate using
1524
1638
  # the issued public key. You can also call `CreateKeysAndCertificate`
1525
1639
  # over MQTT from a device, for more information, see [Provisioning MQTT
@@ -3196,11 +3310,6 @@ module Aws::IoT
3196
3310
 
3197
3311
  # Deletes the specified domain configuration.
3198
3312
  #
3199
- # <note markdown="1"> The domain configuration feature is in public preview and is subject
3200
- # to change.
3201
- #
3202
- # </note>
3203
- #
3204
3313
  # @option params [required, String] :domain_configuration_name
3205
3314
  # The name of the domain configuration to be deleted.
3206
3315
  #
@@ -3367,6 +3476,26 @@ module Aws::IoT
3367
3476
  req.send_request(options)
3368
3477
  end
3369
3478
 
3479
+ # Deletes the specified job template.
3480
+ #
3481
+ # @option params [required, String] :job_template_id
3482
+ # The unique identifier of the job template to delete.
3483
+ #
3484
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3485
+ #
3486
+ # @example Request syntax with placeholder values
3487
+ #
3488
+ # resp = client.delete_job_template({
3489
+ # job_template_id: "JobTemplateId", # required
3490
+ # })
3491
+ #
3492
+ # @overload delete_job_template(params = {})
3493
+ # @param [Hash] params ({})
3494
+ def delete_job_template(params = {}, options = {})
3495
+ req = build_request(:delete_job_template, params)
3496
+ req.send_request(options)
3497
+ end
3498
+
3370
3499
  # Deletes a defined mitigation action from your AWS account.
3371
3500
  #
3372
3501
  # @option params [required, String] :action_name
@@ -3393,12 +3522,15 @@ module Aws::IoT
3393
3522
  # The ID of the OTA update to delete.
3394
3523
  #
3395
3524
  # @option params [Boolean] :delete_stream
3396
- # Specifies if the stream associated with an OTA update should be
3397
- # deleted when the OTA update is deleted.
3525
+ # When true, the stream created by the OTAUpdate process is deleted when
3526
+ # the OTA update is deleted. Ignored if the stream specified in the
3527
+ # OTAUpdate is supplied by the user.
3398
3528
  #
3399
3529
  # @option params [Boolean] :force_delete_aws_job
3400
- # Specifies if the AWS Job associated with the OTA update should be
3401
- # deleted when the OTA update is deleted.
3530
+ # When true, deletes the AWS job created by the OTAUpdate process even
3531
+ # if it is "IN\_PROGRESS". Otherwise, if the job is not in a terminal
3532
+ # state ("COMPLETED" or "CANCELED") an exception will occur. The
3533
+ # default is false.
3402
3534
  #
3403
3535
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3404
3536
  #
@@ -4362,11 +4494,6 @@ module Aws::IoT
4362
4494
 
4363
4495
  # Gets summary information about a domain configuration.
4364
4496
  #
4365
- # <note markdown="1"> The domain configuration feature is in public preview and is subject
4366
- # to change.
4367
- #
4368
- # </note>
4369
- #
4370
4497
  # @option params [required, String] :domain_configuration_name
4371
4498
  # The name of the domain configuration.
4372
4499
  #
@@ -4569,6 +4696,7 @@ module Aws::IoT
4569
4696
  # resp.job.job_process_details.number_of_timed_out_things #=> Integer
4570
4697
  # resp.job.timeout_config.in_progress_timeout_in_minutes #=> Integer
4571
4698
  # resp.job.namespace_id #=> String
4699
+ # resp.job.job_template_arn #=> String
4572
4700
  #
4573
4701
  # @overload describe_job(params = {})
4574
4702
  # @param [Hash] params ({})
@@ -4623,6 +4751,59 @@ module Aws::IoT
4623
4751
  req.send_request(options)
4624
4752
  end
4625
4753
 
4754
+ # Returns information about a job template.
4755
+ #
4756
+ # @option params [required, String] :job_template_id
4757
+ # The unique identifier of the job template.
4758
+ #
4759
+ # @return [Types::DescribeJobTemplateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4760
+ #
4761
+ # * {Types::DescribeJobTemplateResponse#job_template_arn #job_template_arn} => String
4762
+ # * {Types::DescribeJobTemplateResponse#job_template_id #job_template_id} => String
4763
+ # * {Types::DescribeJobTemplateResponse#description #description} => String
4764
+ # * {Types::DescribeJobTemplateResponse#document_source #document_source} => String
4765
+ # * {Types::DescribeJobTemplateResponse#document #document} => String
4766
+ # * {Types::DescribeJobTemplateResponse#created_at #created_at} => Time
4767
+ # * {Types::DescribeJobTemplateResponse#presigned_url_config #presigned_url_config} => Types::PresignedUrlConfig
4768
+ # * {Types::DescribeJobTemplateResponse#job_executions_rollout_config #job_executions_rollout_config} => Types::JobExecutionsRolloutConfig
4769
+ # * {Types::DescribeJobTemplateResponse#abort_config #abort_config} => Types::AbortConfig
4770
+ # * {Types::DescribeJobTemplateResponse#timeout_config #timeout_config} => Types::TimeoutConfig
4771
+ #
4772
+ # @example Request syntax with placeholder values
4773
+ #
4774
+ # resp = client.describe_job_template({
4775
+ # job_template_id: "JobTemplateId", # required
4776
+ # })
4777
+ #
4778
+ # @example Response structure
4779
+ #
4780
+ # resp.job_template_arn #=> String
4781
+ # resp.job_template_id #=> String
4782
+ # resp.description #=> String
4783
+ # resp.document_source #=> String
4784
+ # resp.document #=> String
4785
+ # resp.created_at #=> Time
4786
+ # resp.presigned_url_config.role_arn #=> String
4787
+ # resp.presigned_url_config.expires_in_sec #=> Integer
4788
+ # resp.job_executions_rollout_config.maximum_per_minute #=> Integer
4789
+ # resp.job_executions_rollout_config.exponential_rate.base_rate_per_minute #=> Integer
4790
+ # resp.job_executions_rollout_config.exponential_rate.increment_factor #=> Float
4791
+ # resp.job_executions_rollout_config.exponential_rate.rate_increase_criteria.number_of_notified_things #=> Integer
4792
+ # resp.job_executions_rollout_config.exponential_rate.rate_increase_criteria.number_of_succeeded_things #=> Integer
4793
+ # resp.abort_config.criteria_list #=> Array
4794
+ # resp.abort_config.criteria_list[0].failure_type #=> String, one of "FAILED", "REJECTED", "TIMED_OUT", "ALL"
4795
+ # resp.abort_config.criteria_list[0].action #=> String, one of "CANCEL"
4796
+ # resp.abort_config.criteria_list[0].threshold_percentage #=> Float
4797
+ # resp.abort_config.criteria_list[0].min_number_of_executed_things #=> Integer
4798
+ # resp.timeout_config.in_progress_timeout_in_minutes #=> Integer
4799
+ #
4800
+ # @overload describe_job_template(params = {})
4801
+ # @param [Hash] params ({})
4802
+ def describe_job_template(params = {}, options = {})
4803
+ req = build_request(:describe_job_template, params)
4804
+ req.send_request(options)
4805
+ end
4806
+
4626
4807
  # Gets information about a mitigation action.
4627
4808
  #
4628
4809
  # @option params [required, String] :action_name
@@ -6990,11 +7171,6 @@ module Aws::IoT
6990
7171
  # Gets a list of domain configurations for the user. This list is sorted
6991
7172
  # alphabetically by domain configuration name.
6992
7173
  #
6993
- # <note markdown="1"> The domain configuration feature is in public preview and is subject
6994
- # to change.
6995
- #
6996
- # </note>
6997
- #
6998
7174
  # @option params [String] :marker
6999
7175
  # The marker for the next set of results.
7000
7176
  #
@@ -7181,6 +7357,42 @@ module Aws::IoT
7181
7357
  req.send_request(options)
7182
7358
  end
7183
7359
 
7360
+ # Returns a list of job templates.
7361
+ #
7362
+ # @option params [Integer] :max_results
7363
+ # The maximum number of results to return in the list.
7364
+ #
7365
+ # @option params [String] :next_token
7366
+ # The token to use to return the next set of results in the list.
7367
+ #
7368
+ # @return [Types::ListJobTemplatesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7369
+ #
7370
+ # * {Types::ListJobTemplatesResponse#job_templates #job_templates} => Array&lt;Types::JobTemplateSummary&gt;
7371
+ # * {Types::ListJobTemplatesResponse#next_token #next_token} => String
7372
+ #
7373
+ # @example Request syntax with placeholder values
7374
+ #
7375
+ # resp = client.list_job_templates({
7376
+ # max_results: 1,
7377
+ # next_token: "NextToken",
7378
+ # })
7379
+ #
7380
+ # @example Response structure
7381
+ #
7382
+ # resp.job_templates #=> Array
7383
+ # resp.job_templates[0].job_template_arn #=> String
7384
+ # resp.job_templates[0].job_template_id #=> String
7385
+ # resp.job_templates[0].description #=> String
7386
+ # resp.job_templates[0].created_at #=> Time
7387
+ # resp.next_token #=> String
7388
+ #
7389
+ # @overload list_job_templates(params = {})
7390
+ # @param [Hash] params ({})
7391
+ def list_job_templates(params = {}, options = {})
7392
+ req = build_request(:list_job_templates, params)
7393
+ req.send_request(options)
7394
+ end
7395
+
7184
7396
  # Lists jobs.
7185
7397
  #
7186
7398
  # @option params [String] :status
@@ -8329,6 +8541,14 @@ module Aws::IoT
8329
8541
  # @option params [String] :thing_type_name
8330
8542
  # The name of the thing type used to search for things.
8331
8543
  #
8544
+ # @option params [Boolean] :use_prefix_attribute_value
8545
+ # When `true`, the action returns the thing resources with attribute
8546
+ # values that start with the `attributeValue` provided.
8547
+ #
8548
+ # When `false`, or not present, the action returns only the thing
8549
+ # resources with attribute values that match the entire `attributeValue`
8550
+ # provided.
8551
+ #
8332
8552
  # @return [Types::ListThingsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8333
8553
  #
8334
8554
  # * {Types::ListThingsResponse#things #things} => Array&lt;Types::ThingAttribute&gt;
@@ -8344,6 +8564,7 @@ module Aws::IoT
8344
8564
  # attribute_name: "AttributeName",
8345
8565
  # attribute_value: "AttributeValue",
8346
8566
  # thing_type_name: "ThingTypeName",
8567
+ # use_prefix_attribute_value: false,
8347
8568
  # })
8348
8569
  #
8349
8570
  # @example Response structure
@@ -10394,11 +10615,6 @@ module Aws::IoT
10394
10615
  # Updates values stored in the domain configuration. Domain
10395
10616
  # configurations for default endpoints can't be updated.
10396
10617
  #
10397
- # <note markdown="1"> The domain configuration feature is in public preview and is subject
10398
- # to change.
10399
- #
10400
- # </note>
10401
- #
10402
10618
  # @option params [required, String] :domain_configuration_name
10403
10619
  # The name of the domain configuration to be updated.
10404
10620
  #
@@ -11343,7 +11559,7 @@ module Aws::IoT
11343
11559
  params: params,
11344
11560
  config: config)
11345
11561
  context[:gem_name] = 'aws-sdk-iot'
11346
- context[:gem_version] = '1.64.0'
11562
+ context[:gem_version] = '1.69.0'
11347
11563
  Seahorse::Client::Request.new(handlers, context)
11348
11564
  end
11349
11565
 
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -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"