aws-sdk-iot 1.76.0 → 1.80.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: a5775a8d8d9df11921ef1514c92e01ab967f296a45e9d7432bb6c44f6ac11045
4
- data.tar.gz: 20cee15e7d5575401c5ace2df264c53ff0015220953403c3e7dcda0b9e95bcc2
3
+ metadata.gz: 99180939c760040c4b2a57cd344c3ffcf2d7ef7c4db67cc4ce431e3eefddef4d
4
+ data.tar.gz: ac8101a6a0eecd480f0e4780c1f4ce91192136c1a5bead7d641c26d1c5a25ef8
5
5
  SHA512:
6
- metadata.gz: '03795a0eb460723bcb13aed53846f09bfb6b35f7db434905a1800bb29cf1e9963298248ebdf8c19ff70f2ef7e5329b19fa219b72ce1824f79b3523a3c0617c81'
7
- data.tar.gz: d67db06013a512f5ef65e01e5b18c59a06793d2702922e85e3ff21282b3f3b018f833047405a17e4afdeb24df850c27ae025f153e3d28f773c9e16c0f8930802
6
+ metadata.gz: 89db1fe535c5e329fe927c835efa29c5c5546ee16578242cd72c73b0fdda33de013fc765037d8379a99539ff444cbbf02c2cb93bfa3779f886f11a9eb1d07910
7
+ data.tar.gz: dc7611ec8edb674aa99c84c87be38e4e6fcf530d046c60665b38d3a0b3f64eb82cb45d7320ce620b1d113863b4a65fbfe6fec9523e1c3681c01489a7a66cc311
data/CHANGELOG.md CHANGED
@@ -1,6 +1,26 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.80.0 (2021-11-30)
5
+ ------------------
6
+
7
+ * Feature - Added the ability to enable/disable IoT Fleet Indexing for Device Defender and Named Shadow information, and search them through IoT Fleet Indexing APIs.
8
+
9
+ 1.79.0 (2021-11-23)
10
+ ------------------
11
+
12
+ * Feature - This release introduces a new feature, Managed Job Template, for AWS IoT Jobs Service. Customers can now use service provided managed job templates to easily create jobs for supported standard job actions.
13
+
14
+ 1.78.0 (2021-11-04)
15
+ ------------------
16
+
17
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
18
+
19
+ 1.77.0 (2021-10-18)
20
+ ------------------
21
+
22
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
23
+
4
24
  1.76.0 (2021-09-21)
5
25
  ------------------
6
26
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.76.0
1
+ 1.80.0
@@ -119,7 +119,9 @@ module Aws::IoT
119
119
  # * EC2/ECS IMDS instance profile - When used by default, the timeouts
120
120
  # are very aggressive. Construct and pass an instance of
121
121
  # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
122
- # enable retries and extended timeouts.
122
+ # enable retries and extended timeouts. Instance profile credential
123
+ # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
124
+ # to true.
123
125
  #
124
126
  # @option options [required, String] :region
125
127
  # The AWS region to connect to. The configured `:region` is
@@ -275,6 +277,15 @@ module Aws::IoT
275
277
  # ** Please note ** When response stubbing is enabled, no HTTP
276
278
  # requests are made, and retries are disabled.
277
279
  #
280
+ # @option options [Boolean] :use_dualstack_endpoint
281
+ # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
282
+ # will be used if available.
283
+ #
284
+ # @option options [Boolean] :use_fips_endpoint
285
+ # When set to `true`, fips compatible endpoints will be used if available.
286
+ # When a `fips` region is used, the region is normalized and this config
287
+ # is set to `true`.
288
+ #
278
289
  # @option options [Boolean] :validate_params (true)
279
290
  # When `true`, request parameters are validated before
280
291
  # sending the request.
@@ -374,6 +385,11 @@ module Aws::IoT
374
385
  # @option params [String] :billing_group_name
375
386
  # The name of the billing group.
376
387
  #
388
+ # <note markdown="1"> This call is asynchronous. It might take several seconds for the
389
+ # detachment to propagate.
390
+ #
391
+ # </note>
392
+ #
377
393
  # @option params [String] :billing_group_arn
378
394
  # The ARN of the billing group.
379
395
  #
@@ -1138,13 +1154,14 @@ module Aws::IoT
1138
1154
  # request.
1139
1155
  #
1140
1156
  # **Note:** The CSR must include a public key that is either an RSA key
1141
- # with a length of at least 2048 bits or an ECC key from NIST P-256 or
1142
- # NIST P-384 curves.
1157
+ # with a length of at least 2048 bits or an ECC key from NIST P-256,
1158
+ # NIST P-384, or NIST P-512 curves. For supported certificates, consult
1159
+ # [ Certificate signing algorithms supported by IoT][1].
1143
1160
  #
1144
1161
  # **Note:** Reusing the same certificate signing request (CSR) results
1145
1162
  # in a distinct certificate.
1146
1163
  #
1147
- # Requires permission to access the [CreateCertificateFromCsr][1]
1164
+ # Requires permission to access the [CreateCertificateFromCsr][2]
1148
1165
  # action.
1149
1166
  #
1150
1167
  # You can create multiple certificates in a batch by creating a
@@ -1189,7 +1206,8 @@ module Aws::IoT
1189
1206
  #
1190
1207
  #
1191
1208
  #
1192
- # [1]: https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions
1209
+ # [1]: https://docs.aws.amazon.com/iot/latest/developerguide/x509-client-certs.html#x509-cert-algorithms
1210
+ # [2]: https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions
1193
1211
  #
1194
1212
  # @option params [required, String] :certificate_signing_request
1195
1213
  # The certificate signing request (CSR).
@@ -1703,6 +1721,10 @@ module Aws::IoT
1703
1721
  # @option params [String] :job_template_arn
1704
1722
  # The ARN of the job template used to create the job.
1705
1723
  #
1724
+ # @option params [Hash<String,String>] :document_parameters
1725
+ # Parameters of a managed template that you can specify to create the
1726
+ # job document.
1727
+ #
1706
1728
  # @return [Types::CreateJobResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1707
1729
  #
1708
1730
  # * {Types::CreateJobResponse#job_arn #job_arn} => String
@@ -1754,6 +1776,9 @@ module Aws::IoT
1754
1776
  # ],
1755
1777
  # namespace_id: "NamespaceId",
1756
1778
  # job_template_arn: "JobTemplateArn",
1779
+ # document_parameters: {
1780
+ # "ParameterKey" => "ParameterValue",
1781
+ # },
1757
1782
  # })
1758
1783
  #
1759
1784
  # @example Response structure
@@ -2758,8 +2783,8 @@ module Aws::IoT
2758
2783
  # The files to stream.
2759
2784
  #
2760
2785
  # @option params [required, String] :role_arn
2761
- # An IAM role that allows the IoT service principal assumes to access
2762
- # your S3 files.
2786
+ # An IAM role that allows the IoT service principal to access your S3
2787
+ # files.
2763
2788
  #
2764
2789
  # @option params [Array<Types::Tag>] :tags
2765
2790
  # Metadata which can be used to manage streams.
@@ -5442,6 +5467,8 @@ module Aws::IoT
5442
5467
  # resp.job.timeout_config.in_progress_timeout_in_minutes #=> Integer
5443
5468
  # resp.job.namespace_id #=> String
5444
5469
  # resp.job.job_template_arn #=> String
5470
+ # resp.job.document_parameters #=> Hash
5471
+ # resp.job.document_parameters["ParameterKey"] #=> String
5445
5472
  #
5446
5473
  # @overload describe_job(params = {})
5447
5474
  # @param [Hash] params ({})
@@ -5555,6 +5582,55 @@ module Aws::IoT
5555
5582
  req.send_request(options)
5556
5583
  end
5557
5584
 
5585
+ # View details of a managed job template.
5586
+ #
5587
+ # @option params [required, String] :template_name
5588
+ # The unique name of a managed job template, which is required.
5589
+ #
5590
+ # @option params [String] :template_version
5591
+ # An optional parameter to specify version of a managed template. If not
5592
+ # specified, the pre-defined default version is returned.
5593
+ #
5594
+ # @return [Types::DescribeManagedJobTemplateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5595
+ #
5596
+ # * {Types::DescribeManagedJobTemplateResponse#template_name #template_name} => String
5597
+ # * {Types::DescribeManagedJobTemplateResponse#template_arn #template_arn} => String
5598
+ # * {Types::DescribeManagedJobTemplateResponse#description #description} => String
5599
+ # * {Types::DescribeManagedJobTemplateResponse#template_version #template_version} => String
5600
+ # * {Types::DescribeManagedJobTemplateResponse#environments #environments} => Array&lt;String&gt;
5601
+ # * {Types::DescribeManagedJobTemplateResponse#document_parameters #document_parameters} => Array&lt;Types::DocumentParameter&gt;
5602
+ # * {Types::DescribeManagedJobTemplateResponse#document #document} => String
5603
+ #
5604
+ # @example Request syntax with placeholder values
5605
+ #
5606
+ # resp = client.describe_managed_job_template({
5607
+ # template_name: "ManagedJobTemplateName", # required
5608
+ # template_version: "ManagedTemplateVersion",
5609
+ # })
5610
+ #
5611
+ # @example Response structure
5612
+ #
5613
+ # resp.template_name #=> String
5614
+ # resp.template_arn #=> String
5615
+ # resp.description #=> String
5616
+ # resp.template_version #=> String
5617
+ # resp.environments #=> Array
5618
+ # resp.environments[0] #=> String
5619
+ # resp.document_parameters #=> Array
5620
+ # resp.document_parameters[0].key #=> String
5621
+ # resp.document_parameters[0].description #=> String
5622
+ # resp.document_parameters[0].regex #=> String
5623
+ # resp.document_parameters[0].example #=> String
5624
+ # resp.document_parameters[0].optional #=> Boolean
5625
+ # resp.document #=> String
5626
+ #
5627
+ # @overload describe_managed_job_template(params = {})
5628
+ # @param [Hash] params ({})
5629
+ def describe_managed_job_template(params = {}, options = {})
5630
+ req = build_request(:describe_managed_job_template, params)
5631
+ req.send_request(options)
5632
+ end
5633
+
5558
5634
  # Gets information about a mitigation action.
5559
5635
  #
5560
5636
  # Requires permission to access the [DescribeMitigationAction][1]
@@ -6530,6 +6606,8 @@ module Aws::IoT
6530
6606
  #
6531
6607
  # resp.thing_indexing_configuration.thing_indexing_mode #=> String, one of "OFF", "REGISTRY", "REGISTRY_AND_SHADOW"
6532
6608
  # resp.thing_indexing_configuration.thing_connectivity_indexing_mode #=> String, one of "OFF", "STATUS"
6609
+ # resp.thing_indexing_configuration.device_defender_indexing_mode #=> String, one of "OFF", "VIOLATIONS"
6610
+ # resp.thing_indexing_configuration.named_shadow_indexing_mode #=> String, one of "OFF", "ON"
6533
6611
  # resp.thing_indexing_configuration.managed_fields #=> Array
6534
6612
  # resp.thing_indexing_configuration.managed_fields[0].name #=> String
6535
6613
  # resp.thing_indexing_configuration.managed_fields[0].type #=> String, one of "Number", "String", "Boolean"
@@ -8690,6 +8768,50 @@ module Aws::IoT
8690
8768
  req.send_request(options)
8691
8769
  end
8692
8770
 
8771
+ # Returns a list of managed job templates.
8772
+ #
8773
+ # @option params [String] :template_name
8774
+ # An optional parameter for template name. If specified, only the
8775
+ # versions of the managed job templates that have the specified template
8776
+ # name will be returned.
8777
+ #
8778
+ # @option params [Integer] :max_results
8779
+ # Maximum number of entries that can be returned.
8780
+ #
8781
+ # @option params [String] :next_token
8782
+ # The token to retrieve the next set of results.
8783
+ #
8784
+ # @return [Types::ListManagedJobTemplatesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8785
+ #
8786
+ # * {Types::ListManagedJobTemplatesResponse#managed_job_templates #managed_job_templates} => Array&lt;Types::ManagedJobTemplateSummary&gt;
8787
+ # * {Types::ListManagedJobTemplatesResponse#next_token #next_token} => String
8788
+ #
8789
+ # @example Request syntax with placeholder values
8790
+ #
8791
+ # resp = client.list_managed_job_templates({
8792
+ # template_name: "ManagedJobTemplateName",
8793
+ # max_results: 1,
8794
+ # next_token: "NextToken",
8795
+ # })
8796
+ #
8797
+ # @example Response structure
8798
+ #
8799
+ # resp.managed_job_templates #=> Array
8800
+ # resp.managed_job_templates[0].template_arn #=> String
8801
+ # resp.managed_job_templates[0].template_name #=> String
8802
+ # resp.managed_job_templates[0].description #=> String
8803
+ # resp.managed_job_templates[0].environments #=> Array
8804
+ # resp.managed_job_templates[0].environments[0] #=> String
8805
+ # resp.managed_job_templates[0].template_version #=> String
8806
+ # resp.next_token #=> String
8807
+ #
8808
+ # @overload list_managed_job_templates(params = {})
8809
+ # @param [Hash] params ({})
8810
+ def list_managed_job_templates(params = {}, options = {})
8811
+ req = build_request(:list_managed_job_templates, params)
8812
+ req.send_request(options)
8813
+ end
8814
+
8693
8815
  # Gets a list of all mitigation actions that match the specified filter
8694
8816
  # criteria.
8695
8817
  #
@@ -10485,7 +10607,12 @@ module Aws::IoT
10485
10607
  end
10486
10608
 
10487
10609
  # Register a certificate that does not have a certificate authority
10488
- # (CA).
10610
+ # (CA). For supported certificates, consult [ Certificate signing
10611
+ # algorithms supported by IoT][1].
10612
+ #
10613
+ #
10614
+ #
10615
+ # [1]: https://docs.aws.amazon.com/iot/latest/developerguide/x509-client-certs.html#x509-cert-algorithms
10489
10616
  #
10490
10617
  # @option params [required, String] :certificate_pem
10491
10618
  # The certificate data, in PEM format.
@@ -10620,6 +10747,11 @@ module Aws::IoT
10620
10747
  # Requires permission to access the [RemoveThingFromBillingGroup][1]
10621
10748
  # action.
10622
10749
  #
10750
+ # <note markdown="1"> This call is asynchronous. It might take several seconds for the
10751
+ # detachment to propagate.
10752
+ #
10753
+ # </note>
10754
+ #
10623
10755
  #
10624
10756
  #
10625
10757
  # [1]: https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions
@@ -11139,6 +11271,7 @@ module Aws::IoT
11139
11271
  # resp.things[0].attributes #=> Hash
11140
11272
  # resp.things[0].attributes["AttributeName"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
11141
11273
  # resp.things[0].shadow #=> String
11274
+ # resp.things[0].device_defender #=> String
11142
11275
  # resp.things[0].connectivity.connected #=> Boolean
11143
11276
  # resp.things[0].connectivity.timestamp #=> Integer
11144
11277
  # resp.things[0].connectivity.disconnect_reason #=> String
@@ -12442,7 +12575,7 @@ module Aws::IoT
12442
12575
  #
12443
12576
  #
12444
12577
  #
12445
- # [1]: https://docs.aws.amazon.com/https:/docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html
12578
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html
12446
12579
  #
12447
12580
  # @option params [Integer] :expected_version
12448
12581
  # The expected version of the fleet metric record in the registry.
@@ -12497,6 +12630,8 @@ module Aws::IoT
12497
12630
  # thing_indexing_configuration: {
12498
12631
  # thing_indexing_mode: "OFF", # required, accepts OFF, REGISTRY, REGISTRY_AND_SHADOW
12499
12632
  # thing_connectivity_indexing_mode: "OFF", # accepts OFF, STATUS
12633
+ # device_defender_indexing_mode: "OFF", # accepts OFF, VIOLATIONS
12634
+ # named_shadow_indexing_mode: "OFF", # accepts OFF, ON
12500
12635
  # managed_fields: [
12501
12636
  # {
12502
12637
  # name: "FieldName",
@@ -13373,7 +13508,7 @@ module Aws::IoT
13373
13508
  params: params,
13374
13509
  config: config)
13375
13510
  context[:gem_name] = 'aws-sdk-iot'
13376
- context[:gem_version] = '1.76.0'
13511
+ context[:gem_version] = '1.80.0'
13377
13512
  Seahorse::Client::Request.new(handlers, context)
13378
13513
  end
13379
13514
 
@@ -405,6 +405,8 @@ module Aws::IoT
405
405
  DescribeJobResponse = Shapes::StructureShape.new(name: 'DescribeJobResponse')
406
406
  DescribeJobTemplateRequest = Shapes::StructureShape.new(name: 'DescribeJobTemplateRequest')
407
407
  DescribeJobTemplateResponse = Shapes::StructureShape.new(name: 'DescribeJobTemplateResponse')
408
+ DescribeManagedJobTemplateRequest = Shapes::StructureShape.new(name: 'DescribeManagedJobTemplateRequest')
409
+ DescribeManagedJobTemplateResponse = Shapes::StructureShape.new(name: 'DescribeManagedJobTemplateResponse')
408
410
  DescribeMitigationActionRequest = Shapes::StructureShape.new(name: 'DescribeMitigationActionRequest')
409
411
  DescribeMitigationActionResponse = Shapes::StructureShape.new(name: 'DescribeMitigationActionResponse')
410
412
  DescribeProvisioningTemplateRequest = Shapes::StructureShape.new(name: 'DescribeProvisioningTemplateRequest')
@@ -449,6 +451,7 @@ module Aws::IoT
449
451
  DetectMitigationActionsTaskTarget = Shapes::StructureShape.new(name: 'DetectMitigationActionsTaskTarget')
450
452
  DetectMitigationActionsToExecuteList = Shapes::ListShape.new(name: 'DetectMitigationActionsToExecuteList')
451
453
  DeviceCertificateUpdateAction = Shapes::StringShape.new(name: 'DeviceCertificateUpdateAction')
454
+ DeviceDefenderIndexingMode = Shapes::StringShape.new(name: 'DeviceDefenderIndexingMode')
452
455
  DeviceDefenderThingName = Shapes::StringShape.new(name: 'DeviceDefenderThingName')
453
456
  DimensionArn = Shapes::StringShape.new(name: 'DimensionArn')
454
457
  DimensionName = Shapes::StringShape.new(name: 'DimensionName')
@@ -460,6 +463,8 @@ module Aws::IoT
460
463
  DisableAllLogs = Shapes::BooleanShape.new(name: 'DisableAllLogs')
461
464
  DisableTopicRuleRequest = Shapes::StructureShape.new(name: 'DisableTopicRuleRequest')
462
465
  DisconnectReason = Shapes::StringShape.new(name: 'DisconnectReason')
466
+ DocumentParameter = Shapes::StructureShape.new(name: 'DocumentParameter')
467
+ DocumentParameters = Shapes::ListShape.new(name: 'DocumentParameters')
463
468
  DomainConfigurationArn = Shapes::StringShape.new(name: 'DomainConfigurationArn')
464
469
  DomainConfigurationName = Shapes::StringShape.new(name: 'DomainConfigurationName')
465
470
  DomainConfigurationStatus = Shapes::StringShape.new(name: 'DomainConfigurationStatus')
@@ -485,12 +490,15 @@ module Aws::IoT
485
490
  Enabled = Shapes::BooleanShape.new(name: 'Enabled')
486
491
  EndpointAddress = Shapes::StringShape.new(name: 'EndpointAddress')
487
492
  EndpointType = Shapes::StringShape.new(name: 'EndpointType')
493
+ Environment = Shapes::StringShape.new(name: 'Environment')
494
+ Environments = Shapes::ListShape.new(name: 'Environments')
488
495
  ErrorCode = Shapes::StringShape.new(name: 'ErrorCode')
489
496
  ErrorInfo = Shapes::StructureShape.new(name: 'ErrorInfo')
490
497
  ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
491
498
  EvaluationStatistic = Shapes::StringShape.new(name: 'EvaluationStatistic')
492
499
  EventConfigurations = Shapes::MapShape.new(name: 'EventConfigurations')
493
500
  EventType = Shapes::StringShape.new(name: 'EventType')
501
+ Example = Shapes::StringShape.new(name: 'Example')
494
502
  ExecutionNamePrefix = Shapes::StringShape.new(name: 'ExecutionNamePrefix')
495
503
  ExecutionNumber = Shapes::IntegerShape.new(name: 'ExecutionNumber')
496
504
  ExpectedVersion = Shapes::IntegerShape.new(name: 'ExpectedVersion')
@@ -592,6 +600,7 @@ module Aws::IoT
592
600
  InputName = Shapes::StringShape.new(name: 'InputName')
593
601
  InternalException = Shapes::StructureShape.new(name: 'InternalException')
594
602
  InternalFailureException = Shapes::StructureShape.new(name: 'InternalFailureException')
603
+ InternalServerException = Shapes::StructureShape.new(name: 'InternalServerException')
595
604
  InvalidAggregationException = Shapes::StructureShape.new(name: 'InvalidAggregationException')
596
605
  InvalidQueryException = Shapes::StructureShape.new(name: 'InvalidQueryException')
597
606
  InvalidRequestException = Shapes::StructureShape.new(name: 'InvalidRequestException')
@@ -687,6 +696,8 @@ module Aws::IoT
687
696
  ListJobTemplatesResponse = Shapes::StructureShape.new(name: 'ListJobTemplatesResponse')
688
697
  ListJobsRequest = Shapes::StructureShape.new(name: 'ListJobsRequest')
689
698
  ListJobsResponse = Shapes::StructureShape.new(name: 'ListJobsResponse')
699
+ ListManagedJobTemplatesRequest = Shapes::StructureShape.new(name: 'ListManagedJobTemplatesRequest')
700
+ ListManagedJobTemplatesResponse = Shapes::StructureShape.new(name: 'ListManagedJobTemplatesResponse')
690
701
  ListMitigationActionsRequest = Shapes::StructureShape.new(name: 'ListMitigationActionsRequest')
691
702
  ListMitigationActionsResponse = Shapes::StructureShape.new(name: 'ListMitigationActionsResponse')
692
703
  ListOTAUpdatesRequest = Shapes::StructureShape.new(name: 'ListOTAUpdatesRequest')
@@ -761,6 +772,10 @@ module Aws::IoT
761
772
  LoggingOptionsPayload = Shapes::StructureShape.new(name: 'LoggingOptionsPayload')
762
773
  MachineLearningDetectionConfig = Shapes::StructureShape.new(name: 'MachineLearningDetectionConfig')
763
774
  MalformedPolicyException = Shapes::StructureShape.new(name: 'MalformedPolicyException')
775
+ ManagedJobTemplateName = Shapes::StringShape.new(name: 'ManagedJobTemplateName')
776
+ ManagedJobTemplateSummary = Shapes::StructureShape.new(name: 'ManagedJobTemplateSummary')
777
+ ManagedJobTemplatesSummaryList = Shapes::ListShape.new(name: 'ManagedJobTemplatesSummaryList')
778
+ ManagedTemplateVersion = Shapes::StringShape.new(name: 'ManagedTemplateVersion')
764
779
  Marker = Shapes::StringShape.new(name: 'Marker')
765
780
  MaxBuckets = Shapes::IntegerShape.new(name: 'MaxBuckets')
766
781
  MaxJobExecutionsPerMin = Shapes::IntegerShape.new(name: 'MaxJobExecutionsPerMin')
@@ -795,6 +810,7 @@ module Aws::IoT
795
810
  MqttContext = Shapes::StructureShape.new(name: 'MqttContext')
796
811
  MqttPassword = Shapes::BlobShape.new(name: 'MqttPassword')
797
812
  MqttUsername = Shapes::StringShape.new(name: 'MqttUsername')
813
+ NamedShadowIndexingMode = Shapes::StringShape.new(name: 'NamedShadowIndexingMode')
798
814
  NamespaceId = Shapes::StringShape.new(name: 'NamespaceId')
799
815
  NextToken = Shapes::StringShape.new(name: 'NextToken')
800
816
  NonCompliantChecksCount = Shapes::IntegerShape.new(name: 'NonCompliantChecksCount')
@@ -817,12 +833,16 @@ module Aws::IoT
817
833
  OTAUpdateSummary = Shapes::StructureShape.new(name: 'OTAUpdateSummary')
818
834
  OTAUpdatesSummary = Shapes::ListShape.new(name: 'OTAUpdatesSummary')
819
835
  OpenSearchAction = Shapes::StructureShape.new(name: 'OpenSearchAction')
836
+ Optional = Shapes::BooleanShape.new(name: 'Optional')
820
837
  OptionalVersion = Shapes::IntegerShape.new(name: 'OptionalVersion')
821
838
  OutgoingCertificate = Shapes::StructureShape.new(name: 'OutgoingCertificate')
822
839
  OutgoingCertificates = Shapes::ListShape.new(name: 'OutgoingCertificates')
823
840
  OverrideDynamicGroups = Shapes::BooleanShape.new(name: 'OverrideDynamicGroups')
824
841
  PageSize = Shapes::IntegerShape.new(name: 'PageSize')
825
842
  Parameter = Shapes::StringShape.new(name: 'Parameter')
843
+ ParameterKey = Shapes::StringShape.new(name: 'ParameterKey')
844
+ ParameterMap = Shapes::MapShape.new(name: 'ParameterMap')
845
+ ParameterValue = Shapes::StringShape.new(name: 'ParameterValue')
826
846
  Parameters = Shapes::MapShape.new(name: 'Parameters')
827
847
  PartitionKey = Shapes::StringShape.new(name: 'PartitionKey')
828
848
  PayloadField = Shapes::StringShape.new(name: 'PayloadField')
@@ -890,6 +910,7 @@ module Aws::IoT
890
910
  ReasonForNonComplianceCodes = Shapes::ListShape.new(name: 'ReasonForNonComplianceCodes')
891
911
  Recursive = Shapes::BooleanShape.new(name: 'Recursive')
892
912
  RecursiveWithoutDefault = Shapes::BooleanShape.new(name: 'RecursiveWithoutDefault')
913
+ Regex = Shapes::StringShape.new(name: 'Regex')
893
914
  RegisterCACertificateRequest = Shapes::StructureShape.new(name: 'RegisterCACertificateRequest')
894
915
  RegisterCACertificateResponse = Shapes::StructureShape.new(name: 'RegisterCACertificateResponse')
895
916
  RegisterCertificateRequest = Shapes::StructureShape.new(name: 'RegisterCertificateRequest')
@@ -1860,6 +1881,7 @@ module Aws::IoT
1860
1881
  CreateJobRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "tags"))
1861
1882
  CreateJobRequest.add_member(:namespace_id, Shapes::ShapeRef.new(shape: NamespaceId, location_name: "namespaceId"))
1862
1883
  CreateJobRequest.add_member(:job_template_arn, Shapes::ShapeRef.new(shape: JobTemplateArn, location_name: "jobTemplateArn"))
1884
+ CreateJobRequest.add_member(:document_parameters, Shapes::ShapeRef.new(shape: ParameterMap, location_name: "documentParameters"))
1863
1885
  CreateJobRequest.struct_class = Types::CreateJobRequest
1864
1886
 
1865
1887
  CreateJobResponse.add_member(:job_arn, Shapes::ShapeRef.new(shape: JobArn, location_name: "jobArn"))
@@ -2439,6 +2461,19 @@ module Aws::IoT
2439
2461
  DescribeJobTemplateResponse.add_member(:timeout_config, Shapes::ShapeRef.new(shape: TimeoutConfig, location_name: "timeoutConfig"))
2440
2462
  DescribeJobTemplateResponse.struct_class = Types::DescribeJobTemplateResponse
2441
2463
 
2464
+ DescribeManagedJobTemplateRequest.add_member(:template_name, Shapes::ShapeRef.new(shape: ManagedJobTemplateName, required: true, location: "uri", location_name: "templateName"))
2465
+ DescribeManagedJobTemplateRequest.add_member(:template_version, Shapes::ShapeRef.new(shape: ManagedTemplateVersion, location: "querystring", location_name: "templateVersion"))
2466
+ DescribeManagedJobTemplateRequest.struct_class = Types::DescribeManagedJobTemplateRequest
2467
+
2468
+ DescribeManagedJobTemplateResponse.add_member(:template_name, Shapes::ShapeRef.new(shape: ManagedJobTemplateName, location_name: "templateName"))
2469
+ DescribeManagedJobTemplateResponse.add_member(:template_arn, Shapes::ShapeRef.new(shape: JobTemplateArn, location_name: "templateArn"))
2470
+ DescribeManagedJobTemplateResponse.add_member(:description, Shapes::ShapeRef.new(shape: JobDescription, location_name: "description"))
2471
+ DescribeManagedJobTemplateResponse.add_member(:template_version, Shapes::ShapeRef.new(shape: ManagedTemplateVersion, location_name: "templateVersion"))
2472
+ DescribeManagedJobTemplateResponse.add_member(:environments, Shapes::ShapeRef.new(shape: Environments, location_name: "environments"))
2473
+ DescribeManagedJobTemplateResponse.add_member(:document_parameters, Shapes::ShapeRef.new(shape: DocumentParameters, location_name: "documentParameters"))
2474
+ DescribeManagedJobTemplateResponse.add_member(:document, Shapes::ShapeRef.new(shape: JobDocument, location_name: "document"))
2475
+ DescribeManagedJobTemplateResponse.struct_class = Types::DescribeManagedJobTemplateResponse
2476
+
2442
2477
  DescribeMitigationActionRequest.add_member(:action_name, Shapes::ShapeRef.new(shape: MitigationActionName, required: true, location: "uri", location_name: "actionName"))
2443
2478
  DescribeMitigationActionRequest.struct_class = Types::DescribeMitigationActionRequest
2444
2479
 
@@ -2642,6 +2677,15 @@ module Aws::IoT
2642
2677
  DisableTopicRuleRequest.add_member(:rule_name, Shapes::ShapeRef.new(shape: RuleName, required: true, location: "uri", location_name: "ruleName"))
2643
2678
  DisableTopicRuleRequest.struct_class = Types::DisableTopicRuleRequest
2644
2679
 
2680
+ DocumentParameter.add_member(:key, Shapes::ShapeRef.new(shape: ParameterKey, location_name: "key"))
2681
+ DocumentParameter.add_member(:description, Shapes::ShapeRef.new(shape: JobDescription, location_name: "description"))
2682
+ DocumentParameter.add_member(:regex, Shapes::ShapeRef.new(shape: Regex, location_name: "regex"))
2683
+ DocumentParameter.add_member(:example, Shapes::ShapeRef.new(shape: Example, location_name: "example"))
2684
+ DocumentParameter.add_member(:optional, Shapes::ShapeRef.new(shape: Optional, location_name: "optional"))
2685
+ DocumentParameter.struct_class = Types::DocumentParameter
2686
+
2687
+ DocumentParameters.member = Shapes::ShapeRef.new(shape: DocumentParameter)
2688
+
2645
2689
  DomainConfigurationSummary.add_member(:domain_configuration_name, Shapes::ShapeRef.new(shape: ReservedDomainConfigurationName, location_name: "domainConfigurationName"))
2646
2690
  DomainConfigurationSummary.add_member(:domain_configuration_arn, Shapes::ShapeRef.new(shape: DomainConfigurationArn, location_name: "domainConfigurationArn"))
2647
2691
  DomainConfigurationSummary.add_member(:service_type, Shapes::ShapeRef.new(shape: ServiceType, location_name: "serviceType"))
@@ -2686,6 +2730,8 @@ module Aws::IoT
2686
2730
  EnableTopicRuleRequest.add_member(:rule_name, Shapes::ShapeRef.new(shape: RuleName, required: true, location: "uri", location_name: "ruleName"))
2687
2731
  EnableTopicRuleRequest.struct_class = Types::EnableTopicRuleRequest
2688
2732
 
2733
+ Environments.member = Shapes::ShapeRef.new(shape: Environment)
2734
+
2689
2735
  ErrorInfo.add_member(:code, Shapes::ShapeRef.new(shape: Code, location_name: "code"))
2690
2736
  ErrorInfo.add_member(:message, Shapes::ShapeRef.new(shape: OTAUpdateErrorMessage, location_name: "message"))
2691
2737
  ErrorInfo.struct_class = Types::ErrorInfo
@@ -2905,6 +2951,9 @@ module Aws::IoT
2905
2951
  InternalFailureException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
2906
2952
  InternalFailureException.struct_class = Types::InternalFailureException
2907
2953
 
2954
+ InternalServerException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
2955
+ InternalServerException.struct_class = Types::InternalServerException
2956
+
2908
2957
  InvalidAggregationException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
2909
2958
  InvalidAggregationException.struct_class = Types::InvalidAggregationException
2910
2959
 
@@ -2955,6 +3004,7 @@ module Aws::IoT
2955
3004
  Job.add_member(:timeout_config, Shapes::ShapeRef.new(shape: TimeoutConfig, location_name: "timeoutConfig"))
2956
3005
  Job.add_member(:namespace_id, Shapes::ShapeRef.new(shape: NamespaceId, location_name: "namespaceId"))
2957
3006
  Job.add_member(:job_template_arn, Shapes::ShapeRef.new(shape: JobTemplateArn, location_name: "jobTemplateArn"))
3007
+ Job.add_member(:document_parameters, Shapes::ShapeRef.new(shape: ParameterMap, location_name: "documentParameters"))
2958
3008
  Job.struct_class = Types::Job
2959
3009
 
2960
3010
  JobExecution.add_member(:job_id, Shapes::ShapeRef.new(shape: JobId, location_name: "jobId"))
@@ -3288,6 +3338,15 @@ module Aws::IoT
3288
3338
  ListJobsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
3289
3339
  ListJobsResponse.struct_class = Types::ListJobsResponse
3290
3340
 
3341
+ ListManagedJobTemplatesRequest.add_member(:template_name, Shapes::ShapeRef.new(shape: ManagedJobTemplateName, location: "querystring", location_name: "templateName"))
3342
+ ListManagedJobTemplatesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: LaserMaxResults, location: "querystring", location_name: "maxResults"))
3343
+ ListManagedJobTemplatesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
3344
+ ListManagedJobTemplatesRequest.struct_class = Types::ListManagedJobTemplatesRequest
3345
+
3346
+ ListManagedJobTemplatesResponse.add_member(:managed_job_templates, Shapes::ShapeRef.new(shape: ManagedJobTemplatesSummaryList, location_name: "managedJobTemplates"))
3347
+ ListManagedJobTemplatesResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
3348
+ ListManagedJobTemplatesResponse.struct_class = Types::ListManagedJobTemplatesResponse
3349
+
3291
3350
  ListMitigationActionsRequest.add_member(:action_type, Shapes::ShapeRef.new(shape: MitigationActionType, location: "querystring", location_name: "actionType"))
3292
3351
  ListMitigationActionsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
3293
3352
  ListMitigationActionsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
@@ -3599,6 +3658,15 @@ module Aws::IoT
3599
3658
  MalformedPolicyException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
3600
3659
  MalformedPolicyException.struct_class = Types::MalformedPolicyException
3601
3660
 
3661
+ ManagedJobTemplateSummary.add_member(:template_arn, Shapes::ShapeRef.new(shape: JobTemplateArn, location_name: "templateArn"))
3662
+ ManagedJobTemplateSummary.add_member(:template_name, Shapes::ShapeRef.new(shape: ManagedJobTemplateName, location_name: "templateName"))
3663
+ ManagedJobTemplateSummary.add_member(:description, Shapes::ShapeRef.new(shape: JobDescription, location_name: "description"))
3664
+ ManagedJobTemplateSummary.add_member(:environments, Shapes::ShapeRef.new(shape: Environments, location_name: "environments"))
3665
+ ManagedJobTemplateSummary.add_member(:template_version, Shapes::ShapeRef.new(shape: ManagedTemplateVersion, location_name: "templateVersion"))
3666
+ ManagedJobTemplateSummary.struct_class = Types::ManagedJobTemplateSummary
3667
+
3668
+ ManagedJobTemplatesSummaryList.member = Shapes::ShapeRef.new(shape: ManagedJobTemplateSummary)
3669
+
3602
3670
  MetricDimension.add_member(:dimension_name, Shapes::ShapeRef.new(shape: DimensionName, required: true, location_name: "dimensionName"))
3603
3671
  MetricDimension.add_member(:operator, Shapes::ShapeRef.new(shape: DimensionValueOperator, location_name: "operator"))
3604
3672
  MetricDimension.struct_class = Types::MetricDimension
@@ -3711,6 +3779,9 @@ module Aws::IoT
3711
3779
 
3712
3780
  OutgoingCertificates.member = Shapes::ShapeRef.new(shape: OutgoingCertificate)
3713
3781
 
3782
+ ParameterMap.key = Shapes::ShapeRef.new(shape: ParameterKey)
3783
+ ParameterMap.value = Shapes::ShapeRef.new(shape: ParameterValue)
3784
+
3714
3785
  Parameters.key = Shapes::ShapeRef.new(shape: Parameter)
3715
3786
  Parameters.value = Shapes::ShapeRef.new(shape: Value)
3716
3787
 
@@ -4244,6 +4315,7 @@ module Aws::IoT
4244
4315
  ThingDocument.add_member(:thing_group_names, Shapes::ShapeRef.new(shape: ThingGroupNameList, location_name: "thingGroupNames"))
4245
4316
  ThingDocument.add_member(:attributes, Shapes::ShapeRef.new(shape: Attributes, location_name: "attributes"))
4246
4317
  ThingDocument.add_member(:shadow, Shapes::ShapeRef.new(shape: JsonDocument, location_name: "shadow"))
4318
+ ThingDocument.add_member(:device_defender, Shapes::ShapeRef.new(shape: JsonDocument, location_name: "deviceDefender"))
4247
4319
  ThingDocument.add_member(:connectivity, Shapes::ShapeRef.new(shape: ThingConnectivity, location_name: "connectivity"))
4248
4320
  ThingDocument.struct_class = Types::ThingDocument
4249
4321
 
@@ -4282,6 +4354,8 @@ module Aws::IoT
4282
4354
 
4283
4355
  ThingIndexingConfiguration.add_member(:thing_indexing_mode, Shapes::ShapeRef.new(shape: ThingIndexingMode, required: true, location_name: "thingIndexingMode"))
4284
4356
  ThingIndexingConfiguration.add_member(:thing_connectivity_indexing_mode, Shapes::ShapeRef.new(shape: ThingConnectivityIndexingMode, location_name: "thingConnectivityIndexingMode"))
4357
+ ThingIndexingConfiguration.add_member(:device_defender_indexing_mode, Shapes::ShapeRef.new(shape: DeviceDefenderIndexingMode, location_name: "deviceDefenderIndexingMode"))
4358
+ ThingIndexingConfiguration.add_member(:named_shadow_indexing_mode, Shapes::ShapeRef.new(shape: NamedShadowIndexingMode, location_name: "namedShadowIndexingMode"))
4285
4359
  ThingIndexingConfiguration.add_member(:managed_fields, Shapes::ShapeRef.new(shape: Fields, location_name: "managedFields"))
4286
4360
  ThingIndexingConfiguration.add_member(:custom_fields, Shapes::ShapeRef.new(shape: Fields, location_name: "customFields"))
4287
4361
  ThingIndexingConfiguration.struct_class = Types::ThingIndexingConfiguration
@@ -6022,6 +6096,18 @@ module Aws::IoT
6022
6096
  o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
6023
6097
  end)
6024
6098
 
6099
+ api.add_operation(:describe_managed_job_template, Seahorse::Model::Operation.new.tap do |o|
6100
+ o.name = "DescribeManagedJobTemplate"
6101
+ o.http_method = "GET"
6102
+ o.http_request_uri = "/managed-job-templates/{templateName}"
6103
+ o.input = Shapes::ShapeRef.new(shape: DescribeManagedJobTemplateRequest)
6104
+ o.output = Shapes::ShapeRef.new(shape: DescribeManagedJobTemplateResponse)
6105
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
6106
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
6107
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
6108
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
6109
+ end)
6110
+
6025
6111
  api.add_operation(:describe_mitigation_action, Seahorse::Model::Operation.new.tap do |o|
6026
6112
  o.name = "DescribeMitigationAction"
6027
6113
  o.http_method = "GET"
@@ -6887,6 +6973,18 @@ module Aws::IoT
6887
6973
  )
6888
6974
  end)
6889
6975
 
6976
+ api.add_operation(:list_managed_job_templates, Seahorse::Model::Operation.new.tap do |o|
6977
+ o.name = "ListManagedJobTemplates"
6978
+ o.http_method = "GET"
6979
+ o.http_request_uri = "/managed-job-templates"
6980
+ o.input = Shapes::ShapeRef.new(shape: ListManagedJobTemplatesRequest)
6981
+ o.output = Shapes::ShapeRef.new(shape: ListManagedJobTemplatesResponse)
6982
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
6983
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
6984
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
6985
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
6986
+ end)
6987
+
6890
6988
  api.add_operation(:list_mitigation_actions, Seahorse::Model::Operation.new.tap do |o|
6891
6989
  o.name = "ListMitigationActions"
6892
6990
  o.http_method = "GET"
@@ -36,6 +36,7 @@ module Aws::IoT
36
36
  # * {IndexNotReadyException}
37
37
  # * {InternalException}
38
38
  # * {InternalFailureException}
39
+ # * {InternalServerException}
39
40
  # * {InvalidAggregationException}
40
41
  # * {InvalidQueryException}
41
42
  # * {InvalidRequestException}
@@ -199,6 +200,21 @@ module Aws::IoT
199
200
  end
200
201
  end
201
202
 
203
+ class InternalServerException < ServiceError
204
+
205
+ # @param [Seahorse::Client::RequestContext] context
206
+ # @param [String] message
207
+ # @param [Aws::IoT::Types::InternalServerException] data
208
+ def initialize(context, message, data = Aws::EmptyStructure.new)
209
+ super(context, message, data)
210
+ end
211
+
212
+ # @return [String]
213
+ def message
214
+ @message || @data[:message]
215
+ end
216
+ end
217
+
202
218
  class InvalidAggregationException < ServiceError
203
219
 
204
220
  # @param [Seahorse::Client::RequestContext] context
@@ -492,6 +492,11 @@ module Aws::IoT
492
492
  #
493
493
  # @!attribute [rw] billing_group_name
494
494
  # The name of the billing group.
495
+ #
496
+ # <note markdown="1"> This call is asynchronous. It might take several seconds for the
497
+ # detachment to propagate.
498
+ #
499
+ # </note>
495
500
  # @return [String]
496
501
  #
497
502
  # @!attribute [rw] billing_group_arn
@@ -3501,6 +3506,9 @@ module Aws::IoT
3501
3506
  # ],
3502
3507
  # namespace_id: "NamespaceId",
3503
3508
  # job_template_arn: "JobTemplateArn",
3509
+ # document_parameters: {
3510
+ # "ParameterKey" => "ParameterValue",
3511
+ # },
3504
3512
  # }
3505
3513
  #
3506
3514
  # @!attribute [rw] job_id
@@ -3590,6 +3598,11 @@ module Aws::IoT
3590
3598
  # The ARN of the job template used to create the job.
3591
3599
  # @return [String]
3592
3600
  #
3601
+ # @!attribute [rw] document_parameters
3602
+ # Parameters of a managed template that you can specify to create the
3603
+ # job document.
3604
+ # @return [Hash<String,String>]
3605
+ #
3593
3606
  class CreateJobRequest < Struct.new(
3594
3607
  :job_id,
3595
3608
  :targets,
@@ -3603,7 +3616,8 @@ module Aws::IoT
3603
3616
  :timeout_config,
3604
3617
  :tags,
3605
3618
  :namespace_id,
3606
- :job_template_arn)
3619
+ :job_template_arn,
3620
+ :document_parameters)
3607
3621
  SENSITIVE = []
3608
3622
  include Aws::Structure
3609
3623
  end
@@ -4745,8 +4759,8 @@ module Aws::IoT
4745
4759
  # @return [Array<Types::StreamFile>]
4746
4760
  #
4747
4761
  # @!attribute [rw] role_arn
4748
- # An IAM role that allows the IoT service principal assumes to access
4749
- # your S3 files.
4762
+ # An IAM role that allows the IoT service principal to access your S3
4763
+ # files.
4750
4764
  # @return [String]
4751
4765
  #
4752
4766
  # @!attribute [rw] tags
@@ -7141,6 +7155,13 @@ module Aws::IoT
7141
7155
  # * REGISTRY\_AND\_SHADOW\_AND\_CONNECTIVITY\_STATUS - Your thing
7142
7156
  # index contains registry data, shadow data, and thing connectivity
7143
7157
  # status data.
7158
+ #
7159
+ # * MULTI\_INDEXING\_MODE - Your thing index contains multiple data
7160
+ # sources. For more information, see [GetIndexingConfiguration][1].
7161
+ #
7162
+ #
7163
+ #
7164
+ # [1]: https://docs.aws.amazon.com/iot/latest/apireference/API_GetIndexingConfiguration.html
7144
7165
  # @return [String]
7145
7166
  #
7146
7167
  class DescribeIndexResponse < Struct.new(
@@ -7300,6 +7321,72 @@ module Aws::IoT
7300
7321
  include Aws::Structure
7301
7322
  end
7302
7323
 
7324
+ # @note When making an API call, you may pass DescribeManagedJobTemplateRequest
7325
+ # data as a hash:
7326
+ #
7327
+ # {
7328
+ # template_name: "ManagedJobTemplateName", # required
7329
+ # template_version: "ManagedTemplateVersion",
7330
+ # }
7331
+ #
7332
+ # @!attribute [rw] template_name
7333
+ # The unique name of a managed job template, which is required.
7334
+ # @return [String]
7335
+ #
7336
+ # @!attribute [rw] template_version
7337
+ # An optional parameter to specify version of a managed template. If
7338
+ # not specified, the pre-defined default version is returned.
7339
+ # @return [String]
7340
+ #
7341
+ class DescribeManagedJobTemplateRequest < Struct.new(
7342
+ :template_name,
7343
+ :template_version)
7344
+ SENSITIVE = []
7345
+ include Aws::Structure
7346
+ end
7347
+
7348
+ # @!attribute [rw] template_name
7349
+ # The unique name of a managed template, such as `AWS-Reboot`.
7350
+ # @return [String]
7351
+ #
7352
+ # @!attribute [rw] template_arn
7353
+ # The unique Amazon Resource Name (ARN) of the managed template.
7354
+ # @return [String]
7355
+ #
7356
+ # @!attribute [rw] description
7357
+ # The unique description of a managed template.
7358
+ # @return [String]
7359
+ #
7360
+ # @!attribute [rw] template_version
7361
+ # The version for a managed template.
7362
+ # @return [String]
7363
+ #
7364
+ # @!attribute [rw] environments
7365
+ # A list of environments that are supported with the managed job
7366
+ # template.
7367
+ # @return [Array<String>]
7368
+ #
7369
+ # @!attribute [rw] document_parameters
7370
+ # A map of key-value pairs that you can use as guidance to specify the
7371
+ # inputs for creating a job from a managed template.
7372
+ # @return [Array<Types::DocumentParameter>]
7373
+ #
7374
+ # @!attribute [rw] document
7375
+ # The document schema for a managed job template.
7376
+ # @return [String]
7377
+ #
7378
+ class DescribeManagedJobTemplateResponse < Struct.new(
7379
+ :template_name,
7380
+ :template_arn,
7381
+ :description,
7382
+ :template_version,
7383
+ :environments,
7384
+ :document_parameters,
7385
+ :document)
7386
+ SENSITIVE = []
7387
+ include Aws::Structure
7388
+ end
7389
+
7303
7390
  # @note When making an API call, you may pass DescribeMitigationActionRequest
7304
7391
  # data as a hash:
7305
7392
  #
@@ -8294,6 +8381,46 @@ module Aws::IoT
8294
8381
  include Aws::Structure
8295
8382
  end
8296
8383
 
8384
+ # A map of key-value pairs containing the patterns that need to be
8385
+ # replaced in a managed template job document schema. You can use the
8386
+ # description of each key as a guidance to specify the inputs during
8387
+ # runtime when creating a job.
8388
+ #
8389
+ # @!attribute [rw] key
8390
+ # Key of the map field containing the patterns that need to be
8391
+ # replaced in a managed template job document schema.
8392
+ # @return [String]
8393
+ #
8394
+ # @!attribute [rw] description
8395
+ # Description of the map field containing the patterns that need to be
8396
+ # replaced in a managed template job document schema.
8397
+ # @return [String]
8398
+ #
8399
+ # @!attribute [rw] regex
8400
+ # A regular expression of the patterns that need to be replaced in a
8401
+ # managed template job document schema.
8402
+ # @return [String]
8403
+ #
8404
+ # @!attribute [rw] example
8405
+ # An example illustrating a pattern that need to be replaced in a
8406
+ # managed template job document schema.
8407
+ # @return [String]
8408
+ #
8409
+ # @!attribute [rw] optional
8410
+ # Specifies whether a pattern that needs to be replaced in a managed
8411
+ # template job document schema is optional or required.
8412
+ # @return [Boolean]
8413
+ #
8414
+ class DocumentParameter < Struct.new(
8415
+ :key,
8416
+ :description,
8417
+ :regex,
8418
+ :example,
8419
+ :optional)
8420
+ SENSITIVE = []
8421
+ include Aws::Structure
8422
+ end
8423
+
8297
8424
  # The summary of a domain configuration. A domain configuration
8298
8425
  # specifies custom IoT-specific information about a domain. A domain
8299
8426
  # configuration can be associated with an Amazon Web Services-managed
@@ -8865,8 +8992,7 @@ module Aws::IoT
8865
8992
  end
8866
8993
 
8867
8994
  # @!attribute [rw] total_count
8868
- # The total number of documents that fit the query string criteria and
8869
- # contain a value for the Aggregation field targeted in the request.
8995
+ # The total number of things that fit the query string criteria.
8870
8996
  # @return [Integer]
8871
8997
  #
8872
8998
  # @!attribute [rw] buckets
@@ -9658,6 +9784,18 @@ module Aws::IoT
9658
9784
  include Aws::Structure
9659
9785
  end
9660
9786
 
9787
+ # Internal error from the service that indicates an unexpected error or
9788
+ # that the service is unavailable.
9789
+ #
9790
+ # @!attribute [rw] message
9791
+ # @return [String]
9792
+ #
9793
+ class InternalServerException < Struct.new(
9794
+ :message)
9795
+ SENSITIVE = []
9796
+ include Aws::Structure
9797
+ end
9798
+
9661
9799
  # The aggregation is invalid.
9662
9800
  #
9663
9801
  # @!attribute [rw] message
@@ -9980,6 +10118,13 @@ module Aws::IoT
9980
10118
  # The ARN of the job template used to create the job.
9981
10119
  # @return [String]
9982
10120
  #
10121
+ # @!attribute [rw] document_parameters
10122
+ # A key-value map that pairs the patterns that need to be replaced in
10123
+ # a managed template job document schema. You can use the description
10124
+ # of each key as a guidance to specify the inputs during runtime when
10125
+ # creating a job.
10126
+ # @return [Hash<String,String>]
10127
+ #
9983
10128
  class Job < Struct.new(
9984
10129
  :job_arn,
9985
10130
  :job_id,
@@ -9999,7 +10144,8 @@ module Aws::IoT
9999
10144
  :job_process_details,
10000
10145
  :timeout_config,
10001
10146
  :namespace_id,
10002
- :job_template_arn)
10147
+ :job_template_arn,
10148
+ :document_parameters)
10003
10149
  SENSITIVE = []
10004
10150
  include Aws::Structure
10005
10151
  end
@@ -11803,6 +11949,52 @@ module Aws::IoT
11803
11949
  include Aws::Structure
11804
11950
  end
11805
11951
 
11952
+ # @note When making an API call, you may pass ListManagedJobTemplatesRequest
11953
+ # data as a hash:
11954
+ #
11955
+ # {
11956
+ # template_name: "ManagedJobTemplateName",
11957
+ # max_results: 1,
11958
+ # next_token: "NextToken",
11959
+ # }
11960
+ #
11961
+ # @!attribute [rw] template_name
11962
+ # An optional parameter for template name. If specified, only the
11963
+ # versions of the managed job templates that have the specified
11964
+ # template name will be returned.
11965
+ # @return [String]
11966
+ #
11967
+ # @!attribute [rw] max_results
11968
+ # Maximum number of entries that can be returned.
11969
+ # @return [Integer]
11970
+ #
11971
+ # @!attribute [rw] next_token
11972
+ # The token to retrieve the next set of results.
11973
+ # @return [String]
11974
+ #
11975
+ class ListManagedJobTemplatesRequest < Struct.new(
11976
+ :template_name,
11977
+ :max_results,
11978
+ :next_token)
11979
+ SENSITIVE = []
11980
+ include Aws::Structure
11981
+ end
11982
+
11983
+ # @!attribute [rw] managed_job_templates
11984
+ # A list of managed job templates that are returned.
11985
+ # @return [Array<Types::ManagedJobTemplateSummary>]
11986
+ #
11987
+ # @!attribute [rw] next_token
11988
+ # The token to retrieve the next set of results.
11989
+ # @return [String]
11990
+ #
11991
+ class ListManagedJobTemplatesResponse < Struct.new(
11992
+ :managed_job_templates,
11993
+ :next_token)
11994
+ SENSITIVE = []
11995
+ include Aws::Structure
11996
+ end
11997
+
11806
11998
  # @note When making an API call, you may pass ListMitigationActionsRequest
11807
11999
  # data as a hash:
11808
12000
  #
@@ -13454,6 +13646,39 @@ module Aws::IoT
13454
13646
  include Aws::Structure
13455
13647
  end
13456
13648
 
13649
+ # An object that contains information about the managed template.
13650
+ #
13651
+ # @!attribute [rw] template_arn
13652
+ # The Amazon Resource Name (ARN) for a managed template.
13653
+ # @return [String]
13654
+ #
13655
+ # @!attribute [rw] template_name
13656
+ # The unique Name for a managed template.
13657
+ # @return [String]
13658
+ #
13659
+ # @!attribute [rw] description
13660
+ # The description for a managed template.
13661
+ # @return [String]
13662
+ #
13663
+ # @!attribute [rw] environments
13664
+ # A list of environments that are supported with the managed job
13665
+ # template.
13666
+ # @return [Array<String>]
13667
+ #
13668
+ # @!attribute [rw] template_version
13669
+ # The version for a managed template.
13670
+ # @return [String]
13671
+ #
13672
+ class ManagedJobTemplateSummary < Struct.new(
13673
+ :template_arn,
13674
+ :template_name,
13675
+ :description,
13676
+ :environments,
13677
+ :template_version)
13678
+ SENSITIVE = []
13679
+ include Aws::Structure
13680
+ end
13681
+
13457
13682
  # The dimension of a metric.
13458
13683
  #
13459
13684
  # @note When making an API call, you may pass MetricDimension
@@ -16280,11 +16505,17 @@ module Aws::IoT
16280
16505
  include Aws::Structure
16281
16506
  end
16282
16507
 
16283
- # A map of key-value pairs for all supported statistics. Currently, only
16284
- # count is supported.
16508
+ # A map of key-value pairs for all supported statistics. For issues with
16509
+ # missing or unexpected values for this API, consult [ Fleet indexing
16510
+ # troubleshooting guide][1].
16511
+ #
16512
+ #
16513
+ #
16514
+ # [1]: https://docs.aws.amazon.com/iot/latest/developerguide/fleet-indexing-troubleshooting.html
16285
16515
  #
16286
16516
  # @!attribute [rw] count
16287
- # The count of things that match the query.
16517
+ # The count of things that match the query string criteria and contain
16518
+ # a valid aggregation field value.
16288
16519
  # @return [Integer]
16289
16520
  #
16290
16521
  # @!attribute [rw] average
@@ -16924,7 +17155,25 @@ module Aws::IoT
16924
17155
  # @return [Hash<String,String>]
16925
17156
  #
16926
17157
  # @!attribute [rw] shadow
16927
- # The shadow.
17158
+ # The unnamed shadow and named shadow.
17159
+ #
17160
+ # For more information about shadows, see [IoT Device Shadow
17161
+ # service.][1]
17162
+ #
17163
+ #
17164
+ #
17165
+ # [1]: https://docs.aws.amazon.com/iot/latest/developerguide/iot-device-shadows.html
17166
+ # @return [String]
17167
+ #
17168
+ # @!attribute [rw] device_defender
17169
+ # Contains Device Defender data.
17170
+ #
17171
+ # For more information about Device Defender, see [Device
17172
+ # Defender][1].
17173
+ #
17174
+ #
17175
+ #
17176
+ # [1]: https://docs.aws.amazon.com/iot/latest/developerguide/device-defender.html
16928
17177
  # @return [String]
16929
17178
  #
16930
17179
  # @!attribute [rw] connectivity
@@ -16939,6 +17188,7 @@ module Aws::IoT
16939
17188
  :thing_group_names,
16940
17189
  :attributes,
16941
17190
  :shadow,
17191
+ :device_defender,
16942
17192
  :connectivity)
16943
17193
  SENSITIVE = []
16944
17194
  include Aws::Structure
@@ -17087,6 +17337,8 @@ module Aws::IoT
17087
17337
  # {
17088
17338
  # thing_indexing_mode: "OFF", # required, accepts OFF, REGISTRY, REGISTRY_AND_SHADOW
17089
17339
  # thing_connectivity_indexing_mode: "OFF", # accepts OFF, STATUS
17340
+ # device_defender_indexing_mode: "OFF", # accepts OFF, VIOLATIONS
17341
+ # named_shadow_indexing_mode: "OFF", # accepts OFF, ON
17090
17342
  # managed_fields: [
17091
17343
  # {
17092
17344
  # name: "FieldName",
@@ -17122,6 +17374,39 @@ module Aws::IoT
17122
17374
  # * OFF - Thing connectivity status indexing is disabled.
17123
17375
  # @return [String]
17124
17376
  #
17377
+ # @!attribute [rw] device_defender_indexing_mode
17378
+ # Device Defender indexing mode. Valid values are:
17379
+ #
17380
+ # * VIOLATIONS – Your thing index contains Device Defender violations.
17381
+ # To enable Device Defender indexing, *deviceDefenderIndexingMode*
17382
+ # must not be set to OFF.
17383
+ #
17384
+ # * OFF - Device Defender indexing is disabled.
17385
+ #
17386
+ # For more information about Device Defender violations, see [Device
17387
+ # Defender Detect.][1]
17388
+ #
17389
+ #
17390
+ #
17391
+ # [1]: https://docs.aws.amazon.com/iot/latest/developerguide/device-defender-detect.html
17392
+ # @return [String]
17393
+ #
17394
+ # @!attribute [rw] named_shadow_indexing_mode
17395
+ # Named shadow indexing mode. Valid values are:
17396
+ #
17397
+ # * ON – Your thing index contains named shadow. To enable thing named
17398
+ # shadow indexing, *namedShadowIndexingMode* must not be set to OFF.
17399
+ #
17400
+ # * OFF - Named shadow indexing is disabled.
17401
+ #
17402
+ # For more information about Shadows, see [IoT Device Shadow
17403
+ # service.][1]
17404
+ #
17405
+ #
17406
+ #
17407
+ # [1]: https://docs.aws.amazon.com/iot/latest/developerguide/iot-device-shadows.html
17408
+ # @return [String]
17409
+ #
17125
17410
  # @!attribute [rw] managed_fields
17126
17411
  # Contains fields that are indexed and whose types are already known
17127
17412
  # by the Fleet Indexing service.
@@ -17134,6 +17419,8 @@ module Aws::IoT
17134
17419
  class ThingIndexingConfiguration < Struct.new(
17135
17420
  :thing_indexing_mode,
17136
17421
  :thing_connectivity_indexing_mode,
17422
+ :device_defender_indexing_mode,
17423
+ :named_shadow_indexing_mode,
17137
17424
  :managed_fields,
17138
17425
  :custom_fields)
17139
17426
  SENSITIVE = []
@@ -18892,7 +19179,7 @@ module Aws::IoT
18892
19179
  #
18893
19180
  #
18894
19181
  #
18895
- # [1]: https://docs.aws.amazon.com/https:/docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html
19182
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html
18896
19183
  # @return [String]
18897
19184
  #
18898
19185
  # @!attribute [rw] expected_version
@@ -18921,6 +19208,8 @@ module Aws::IoT
18921
19208
  # thing_indexing_configuration: {
18922
19209
  # thing_indexing_mode: "OFF", # required, accepts OFF, REGISTRY, REGISTRY_AND_SHADOW
18923
19210
  # thing_connectivity_indexing_mode: "OFF", # accepts OFF, STATUS
19211
+ # device_defender_indexing_mode: "OFF", # accepts OFF, VIOLATIONS
19212
+ # named_shadow_indexing_mode: "OFF", # accepts OFF, ON
18924
19213
  # managed_fields: [
18925
19214
  # {
18926
19215
  # name: "FieldName",
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.76.0'
51
+ GEM_VERSION = '1.80.0'
52
52
 
53
53
  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.76.0
4
+ version: 1.80.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-09-21 00:00:00.000000000 Z
11
+ date: 2021-11-30 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.120.0
22
+ version: 3.122.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.120.0
32
+ version: 3.122.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: aws-sigv4
35
35
  requirement: !ruby/object:Gem::Requirement