aws-sdk-iot 1.66.0 → 1.70.0

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 1.70.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.66.0'
51
+ GEM_VERSION = '1.70.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
@@ -4365,11 +4494,6 @@ module Aws::IoT
4365
4494
 
4366
4495
  # Gets summary information about a domain configuration.
4367
4496
  #
4368
- # <note markdown="1"> The domain configuration feature is in public preview and is subject
4369
- # to change.
4370
- #
4371
- # </note>
4372
- #
4373
4497
  # @option params [required, String] :domain_configuration_name
4374
4498
  # The name of the domain configuration.
4375
4499
  #
@@ -4572,6 +4696,7 @@ module Aws::IoT
4572
4696
  # resp.job.job_process_details.number_of_timed_out_things #=> Integer
4573
4697
  # resp.job.timeout_config.in_progress_timeout_in_minutes #=> Integer
4574
4698
  # resp.job.namespace_id #=> String
4699
+ # resp.job.job_template_arn #=> String
4575
4700
  #
4576
4701
  # @overload describe_job(params = {})
4577
4702
  # @param [Hash] params ({})
@@ -4626,6 +4751,59 @@ module Aws::IoT
4626
4751
  req.send_request(options)
4627
4752
  end
4628
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
+
4629
4807
  # Gets information about a mitigation action.
4630
4808
  #
4631
4809
  # @option params [required, String] :action_name
@@ -6993,11 +7171,6 @@ module Aws::IoT
6993
7171
  # Gets a list of domain configurations for the user. This list is sorted
6994
7172
  # alphabetically by domain configuration name.
6995
7173
  #
6996
- # <note markdown="1"> The domain configuration feature is in public preview and is subject
6997
- # to change.
6998
- #
6999
- # </note>
7000
- #
7001
7174
  # @option params [String] :marker
7002
7175
  # The marker for the next set of results.
7003
7176
  #
@@ -7184,6 +7357,42 @@ module Aws::IoT
7184
7357
  req.send_request(options)
7185
7358
  end
7186
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
+
7187
7396
  # Lists jobs.
7188
7397
  #
7189
7398
  # @option params [String] :status
@@ -8332,6 +8541,14 @@ module Aws::IoT
8332
8541
  # @option params [String] :thing_type_name
8333
8542
  # The name of the thing type used to search for things.
8334
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
+ #
8335
8552
  # @return [Types::ListThingsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8336
8553
  #
8337
8554
  # * {Types::ListThingsResponse#things #things} => Array&lt;Types::ThingAttribute&gt;
@@ -8347,6 +8564,7 @@ module Aws::IoT
8347
8564
  # attribute_name: "AttributeName",
8348
8565
  # attribute_value: "AttributeValue",
8349
8566
  # thing_type_name: "ThingTypeName",
8567
+ # use_prefix_attribute_value: false,
8350
8568
  # })
8351
8569
  #
8352
8570
  # @example Response structure
@@ -10397,11 +10615,6 @@ module Aws::IoT
10397
10615
  # Updates values stored in the domain configuration. Domain
10398
10616
  # configurations for default endpoints can't be updated.
10399
10617
  #
10400
- # <note markdown="1"> The domain configuration feature is in public preview and is subject
10401
- # to change.
10402
- #
10403
- # </note>
10404
- #
10405
10618
  # @option params [required, String] :domain_configuration_name
10406
10619
  # The name of the domain configuration to be updated.
10407
10620
  #
@@ -11346,7 +11559,7 @@ module Aws::IoT
11346
11559
  params: params,
11347
11560
  config: config)
11348
11561
  context[:gem_name] = 'aws-sdk-iot'
11349
- context[:gem_version] = '1.66.0'
11562
+ context[:gem_version] = '1.70.0'
11350
11563
  Seahorse::Client::Request.new(handlers, context)
11351
11564
  end
11352
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"