aws-sdk-iot 1.78.0 → 1.82.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c82b9d892d1bb4d96a50e23bb61c7f4f4a106fc07bf660e8a1965b7fa28a4daa
4
- data.tar.gz: 122168fc15400309ed71bf85b13c627960211571228ae63fa104172d5422ece0
3
+ metadata.gz: be32f14e498118499e2b0fce3553782d4b3c617a92a422fbfffae90da604d5e6
4
+ data.tar.gz: e21a9a6ed31fa4ae934a6ce352418b0354cd68aa7e55473078560f0adbb269a1
5
5
  SHA512:
6
- metadata.gz: 39e384486eab50467be8cfa341e9bb8c65b096e0b452a9fb80d7acbe37028aa3453c791be85901afd4b7e455e59c8ea60d12efe01a86d7d2aab8ae213d168a1c
7
- data.tar.gz: 808f03415589795e6e367a13bb98e4dcc1caa0889daf1b673fd26d5a7ad95ceebd21570780db030007676125582e754b31fc0d3b04d9450d422b621f022efd84
6
+ metadata.gz: ecd89f07bf8c1dbf45aa4d68ac4af99b2b7db6167a1be1f2af24bbed322caa2f3de4396bf19bfa3355f839266637dca8a088132c3c25b70ab2432949e98ffbf3
7
+ data.tar.gz: e0b6e4c0e9eb1e978c41d22f49f1d76aa17c4081b8834e5d0043769cd1db81800f807dca7b34d7c0a7ba25d01b1e20142bc60e386f15be5f39d9fcea007fa5cd
data/CHANGELOG.md CHANGED
@@ -1,6 +1,26 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.82.0 (2021-12-21)
5
+ ------------------
6
+
7
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
8
+
9
+ 1.81.0 (2021-12-08)
10
+ ------------------
11
+
12
+ * Feature - This release allows customer to enable caching of custom authorizer on HTTP protocol for clients that use persistent or Keep-Alive connection in order to reduce the number of Lambda invocations.
13
+
14
+ 1.80.0 (2021-11-30)
15
+ ------------------
16
+
17
+ * 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.
18
+
19
+ 1.79.0 (2021-11-23)
20
+ ------------------
21
+
22
+ * 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.
23
+
4
24
  1.78.0 (2021-11-04)
5
25
  ------------------
6
26
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.78.0
1
+ 1.82.0
@@ -27,6 +27,7 @@ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
27
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
28
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
29
  require 'aws-sdk-core/plugins/http_checksum.rb'
30
+ require 'aws-sdk-core/plugins/defaults_mode.rb'
30
31
  require 'aws-sdk-core/plugins/signature_v4.rb'
31
32
  require 'aws-sdk-core/plugins/protocols/rest_json.rb'
32
33
 
@@ -73,6 +74,7 @@ module Aws::IoT
73
74
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
74
75
  add_plugin(Aws::Plugins::TransferEncoding)
75
76
  add_plugin(Aws::Plugins::HttpChecksum)
77
+ add_plugin(Aws::Plugins::DefaultsMode)
76
78
  add_plugin(Aws::Plugins::SignatureV4)
77
79
  add_plugin(Aws::Plugins::Protocols::RestJson)
78
80
 
@@ -119,7 +121,9 @@ module Aws::IoT
119
121
  # * EC2/ECS IMDS instance profile - When used by default, the timeouts
120
122
  # are very aggressive. Construct and pass an instance of
121
123
  # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
122
- # enable retries and extended timeouts.
124
+ # enable retries and extended timeouts. Instance profile credential
125
+ # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
126
+ # to true.
123
127
  #
124
128
  # @option options [required, String] :region
125
129
  # The AWS region to connect to. The configured `:region` is
@@ -173,6 +177,10 @@ module Aws::IoT
173
177
  # Used only in `standard` and adaptive retry modes. Specifies whether to apply
174
178
  # a clock skew correction and retry requests with skewed client clocks.
175
179
  #
180
+ # @option options [String] :defaults_mode ("legacy")
181
+ # See {Aws::DefaultsModeConfiguration} for a list of the
182
+ # accepted modes and the configuration defaults that are included.
183
+ #
176
184
  # @option options [Boolean] :disable_host_prefix_injection (false)
177
185
  # Set to true to disable SDK automatically adding host prefix
178
186
  # to default service endpoint when available.
@@ -295,7 +303,7 @@ module Aws::IoT
295
303
  # seconds to wait when opening a HTTP session before raising a
296
304
  # `Timeout::Error`.
297
305
  #
298
- # @option options [Integer] :http_read_timeout (60) The default
306
+ # @option options [Float] :http_read_timeout (60) The default
299
307
  # number of seconds to wait for response data. This value can
300
308
  # safely be set per-request on the session.
301
309
  #
@@ -311,6 +319,9 @@ module Aws::IoT
311
319
  # disables this behaviour. This value can safely be set per
312
320
  # request on the session.
313
321
  #
322
+ # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
323
+ # in seconds.
324
+ #
314
325
  # @option options [Boolean] :http_wire_trace (false) When `true`,
315
326
  # HTTP debug output will be sent to the `:logger`.
316
327
  #
@@ -383,6 +394,11 @@ module Aws::IoT
383
394
  # @option params [String] :billing_group_name
384
395
  # The name of the billing group.
385
396
  #
397
+ # <note markdown="1"> This call is asynchronous. It might take several seconds for the
398
+ # detachment to propagate.
399
+ #
400
+ # </note>
401
+ #
386
402
  # @option params [String] :billing_group_arn
387
403
  # The ARN of the billing group.
388
404
  #
@@ -1056,6 +1072,15 @@ module Aws::IoT
1056
1072
  # Specifies whether IoT validates the token signature in an
1057
1073
  # authorization request.
1058
1074
  #
1075
+ # @option params [Boolean] :enable_caching_for_http
1076
+ # When `true`, the result from the authorizer’s Lambda function is
1077
+ # cached for clients that use persistent HTTP connections. The results
1078
+ # are cached for the time specified by the Lambda function in
1079
+ # `refreshAfterInSeconds`. This value does not affect authorization of
1080
+ # clients that use MQTT connections.
1081
+ #
1082
+ # The default value is `false`.
1083
+ #
1059
1084
  # @return [Types::CreateAuthorizerResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1060
1085
  #
1061
1086
  # * {Types::CreateAuthorizerResponse#authorizer_name #authorizer_name} => String
@@ -1078,6 +1103,7 @@ module Aws::IoT
1078
1103
  # },
1079
1104
  # ],
1080
1105
  # signing_disabled: false,
1106
+ # enable_caching_for_http: false,
1081
1107
  # })
1082
1108
  #
1083
1109
  # @example Response structure
@@ -1147,13 +1173,14 @@ module Aws::IoT
1147
1173
  # request.
1148
1174
  #
1149
1175
  # **Note:** The CSR must include a public key that is either an RSA key
1150
- # with a length of at least 2048 bits or an ECC key from NIST P-256 or
1151
- # NIST P-384 curves.
1176
+ # with a length of at least 2048 bits or an ECC key from NIST P-256,
1177
+ # NIST P-384, or NIST P-512 curves. For supported certificates, consult
1178
+ # [ Certificate signing algorithms supported by IoT][1].
1152
1179
  #
1153
1180
  # **Note:** Reusing the same certificate signing request (CSR) results
1154
1181
  # in a distinct certificate.
1155
1182
  #
1156
- # Requires permission to access the [CreateCertificateFromCsr][1]
1183
+ # Requires permission to access the [CreateCertificateFromCsr][2]
1157
1184
  # action.
1158
1185
  #
1159
1186
  # You can create multiple certificates in a batch by creating a
@@ -1198,7 +1225,8 @@ module Aws::IoT
1198
1225
  #
1199
1226
  #
1200
1227
  #
1201
- # [1]: https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions
1228
+ # [1]: https://docs.aws.amazon.com/iot/latest/developerguide/x509-client-certs.html#x509-cert-algorithms
1229
+ # [2]: https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions
1202
1230
  #
1203
1231
  # @option params [required, String] :certificate_signing_request
1204
1232
  # The certificate signing request (CSR).
@@ -1712,6 +1740,10 @@ module Aws::IoT
1712
1740
  # @option params [String] :job_template_arn
1713
1741
  # The ARN of the job template used to create the job.
1714
1742
  #
1743
+ # @option params [Hash<String,String>] :document_parameters
1744
+ # Parameters of a managed template that you can specify to create the
1745
+ # job document.
1746
+ #
1715
1747
  # @return [Types::CreateJobResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1716
1748
  #
1717
1749
  # * {Types::CreateJobResponse#job_arn #job_arn} => String
@@ -1763,6 +1795,9 @@ module Aws::IoT
1763
1795
  # ],
1764
1796
  # namespace_id: "NamespaceId",
1765
1797
  # job_template_arn: "JobTemplateArn",
1798
+ # document_parameters: {
1799
+ # "ParameterKey" => "ParameterValue",
1800
+ # },
1766
1801
  # })
1767
1802
  #
1768
1803
  # @example Response structure
@@ -2767,8 +2802,8 @@ module Aws::IoT
2767
2802
  # The files to stream.
2768
2803
  #
2769
2804
  # @option params [required, String] :role_arn
2770
- # An IAM role that allows the IoT service principal assumes to access
2771
- # your S3 files.
2805
+ # An IAM role that allows the IoT service principal to access your S3
2806
+ # files.
2772
2807
  #
2773
2808
  # @option params [Array<Types::Tag>] :tags
2774
2809
  # Metadata which can be used to manage streams.
@@ -4829,6 +4864,7 @@ module Aws::IoT
4829
4864
  # resp.authorizer_description.creation_date #=> Time
4830
4865
  # resp.authorizer_description.last_modified_date #=> Time
4831
4866
  # resp.authorizer_description.signing_disabled #=> Boolean
4867
+ # resp.authorizer_description.enable_caching_for_http #=> Boolean
4832
4868
  #
4833
4869
  # @overload describe_authorizer(params = {})
4834
4870
  # @param [Hash] params ({})
@@ -5043,6 +5079,7 @@ module Aws::IoT
5043
5079
  # resp.authorizer_description.creation_date #=> Time
5044
5080
  # resp.authorizer_description.last_modified_date #=> Time
5045
5081
  # resp.authorizer_description.signing_disabled #=> Boolean
5082
+ # resp.authorizer_description.enable_caching_for_http #=> Boolean
5046
5083
  #
5047
5084
  # @overload describe_default_authorizer(params = {})
5048
5085
  # @param [Hash] params ({})
@@ -5451,6 +5488,8 @@ module Aws::IoT
5451
5488
  # resp.job.timeout_config.in_progress_timeout_in_minutes #=> Integer
5452
5489
  # resp.job.namespace_id #=> String
5453
5490
  # resp.job.job_template_arn #=> String
5491
+ # resp.job.document_parameters #=> Hash
5492
+ # resp.job.document_parameters["ParameterKey"] #=> String
5454
5493
  #
5455
5494
  # @overload describe_job(params = {})
5456
5495
  # @param [Hash] params ({})
@@ -5564,6 +5603,55 @@ module Aws::IoT
5564
5603
  req.send_request(options)
5565
5604
  end
5566
5605
 
5606
+ # View details of a managed job template.
5607
+ #
5608
+ # @option params [required, String] :template_name
5609
+ # The unique name of a managed job template, which is required.
5610
+ #
5611
+ # @option params [String] :template_version
5612
+ # An optional parameter to specify version of a managed template. If not
5613
+ # specified, the pre-defined default version is returned.
5614
+ #
5615
+ # @return [Types::DescribeManagedJobTemplateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5616
+ #
5617
+ # * {Types::DescribeManagedJobTemplateResponse#template_name #template_name} => String
5618
+ # * {Types::DescribeManagedJobTemplateResponse#template_arn #template_arn} => String
5619
+ # * {Types::DescribeManagedJobTemplateResponse#description #description} => String
5620
+ # * {Types::DescribeManagedJobTemplateResponse#template_version #template_version} => String
5621
+ # * {Types::DescribeManagedJobTemplateResponse#environments #environments} => Array&lt;String&gt;
5622
+ # * {Types::DescribeManagedJobTemplateResponse#document_parameters #document_parameters} => Array&lt;Types::DocumentParameter&gt;
5623
+ # * {Types::DescribeManagedJobTemplateResponse#document #document} => String
5624
+ #
5625
+ # @example Request syntax with placeholder values
5626
+ #
5627
+ # resp = client.describe_managed_job_template({
5628
+ # template_name: "ManagedJobTemplateName", # required
5629
+ # template_version: "ManagedTemplateVersion",
5630
+ # })
5631
+ #
5632
+ # @example Response structure
5633
+ #
5634
+ # resp.template_name #=> String
5635
+ # resp.template_arn #=> String
5636
+ # resp.description #=> String
5637
+ # resp.template_version #=> String
5638
+ # resp.environments #=> Array
5639
+ # resp.environments[0] #=> String
5640
+ # resp.document_parameters #=> Array
5641
+ # resp.document_parameters[0].key #=> String
5642
+ # resp.document_parameters[0].description #=> String
5643
+ # resp.document_parameters[0].regex #=> String
5644
+ # resp.document_parameters[0].example #=> String
5645
+ # resp.document_parameters[0].optional #=> Boolean
5646
+ # resp.document #=> String
5647
+ #
5648
+ # @overload describe_managed_job_template(params = {})
5649
+ # @param [Hash] params ({})
5650
+ def describe_managed_job_template(params = {}, options = {})
5651
+ req = build_request(:describe_managed_job_template, params)
5652
+ req.send_request(options)
5653
+ end
5654
+
5567
5655
  # Gets information about a mitigation action.
5568
5656
  #
5569
5657
  # Requires permission to access the [DescribeMitigationAction][1]
@@ -6539,6 +6627,8 @@ module Aws::IoT
6539
6627
  #
6540
6628
  # resp.thing_indexing_configuration.thing_indexing_mode #=> String, one of "OFF", "REGISTRY", "REGISTRY_AND_SHADOW"
6541
6629
  # resp.thing_indexing_configuration.thing_connectivity_indexing_mode #=> String, one of "OFF", "STATUS"
6630
+ # resp.thing_indexing_configuration.device_defender_indexing_mode #=> String, one of "OFF", "VIOLATIONS"
6631
+ # resp.thing_indexing_configuration.named_shadow_indexing_mode #=> String, one of "OFF", "ON"
6542
6632
  # resp.thing_indexing_configuration.managed_fields #=> Array
6543
6633
  # resp.thing_indexing_configuration.managed_fields[0].name #=> String
6544
6634
  # resp.thing_indexing_configuration.managed_fields[0].type #=> String, one of "Number", "String", "Boolean"
@@ -8699,6 +8789,50 @@ module Aws::IoT
8699
8789
  req.send_request(options)
8700
8790
  end
8701
8791
 
8792
+ # Returns a list of managed job templates.
8793
+ #
8794
+ # @option params [String] :template_name
8795
+ # An optional parameter for template name. If specified, only the
8796
+ # versions of the managed job templates that have the specified template
8797
+ # name will be returned.
8798
+ #
8799
+ # @option params [Integer] :max_results
8800
+ # Maximum number of entries that can be returned.
8801
+ #
8802
+ # @option params [String] :next_token
8803
+ # The token to retrieve the next set of results.
8804
+ #
8805
+ # @return [Types::ListManagedJobTemplatesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8806
+ #
8807
+ # * {Types::ListManagedJobTemplatesResponse#managed_job_templates #managed_job_templates} => Array&lt;Types::ManagedJobTemplateSummary&gt;
8808
+ # * {Types::ListManagedJobTemplatesResponse#next_token #next_token} => String
8809
+ #
8810
+ # @example Request syntax with placeholder values
8811
+ #
8812
+ # resp = client.list_managed_job_templates({
8813
+ # template_name: "ManagedJobTemplateName",
8814
+ # max_results: 1,
8815
+ # next_token: "NextToken",
8816
+ # })
8817
+ #
8818
+ # @example Response structure
8819
+ #
8820
+ # resp.managed_job_templates #=> Array
8821
+ # resp.managed_job_templates[0].template_arn #=> String
8822
+ # resp.managed_job_templates[0].template_name #=> String
8823
+ # resp.managed_job_templates[0].description #=> String
8824
+ # resp.managed_job_templates[0].environments #=> Array
8825
+ # resp.managed_job_templates[0].environments[0] #=> String
8826
+ # resp.managed_job_templates[0].template_version #=> String
8827
+ # resp.next_token #=> String
8828
+ #
8829
+ # @overload list_managed_job_templates(params = {})
8830
+ # @param [Hash] params ({})
8831
+ def list_managed_job_templates(params = {}, options = {})
8832
+ req = build_request(:list_managed_job_templates, params)
8833
+ req.send_request(options)
8834
+ end
8835
+
8702
8836
  # Gets a list of all mitigation actions that match the specified filter
8703
8837
  # criteria.
8704
8838
  #
@@ -10494,7 +10628,12 @@ module Aws::IoT
10494
10628
  end
10495
10629
 
10496
10630
  # Register a certificate that does not have a certificate authority
10497
- # (CA).
10631
+ # (CA). For supported certificates, consult [ Certificate signing
10632
+ # algorithms supported by IoT][1].
10633
+ #
10634
+ #
10635
+ #
10636
+ # [1]: https://docs.aws.amazon.com/iot/latest/developerguide/x509-client-certs.html#x509-cert-algorithms
10498
10637
  #
10499
10638
  # @option params [required, String] :certificate_pem
10500
10639
  # The certificate data, in PEM format.
@@ -10629,6 +10768,11 @@ module Aws::IoT
10629
10768
  # Requires permission to access the [RemoveThingFromBillingGroup][1]
10630
10769
  # action.
10631
10770
  #
10771
+ # <note markdown="1"> This call is asynchronous. It might take several seconds for the
10772
+ # detachment to propagate.
10773
+ #
10774
+ # </note>
10775
+ #
10632
10776
  #
10633
10777
  #
10634
10778
  # [1]: https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions
@@ -11148,6 +11292,7 @@ module Aws::IoT
11148
11292
  # resp.things[0].attributes #=> Hash
11149
11293
  # resp.things[0].attributes["AttributeName"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
11150
11294
  # resp.things[0].shadow #=> String
11295
+ # resp.things[0].device_defender #=> String
11151
11296
  # resp.things[0].connectivity.connected #=> Boolean
11152
11297
  # resp.things[0].connectivity.timestamp #=> Integer
11153
11298
  # resp.things[0].connectivity.disconnect_reason #=> String
@@ -11991,6 +12136,11 @@ module Aws::IoT
11991
12136
  # @option params [String] :status
11992
12137
  # The status of the update authorizer request.
11993
12138
  #
12139
+ # @option params [Boolean] :enable_caching_for_http
12140
+ # When `true`, the result from the authorizer’s Lambda function is
12141
+ # cached for the time specified in `refreshAfterInSeconds`. The cached
12142
+ # result is used while the device reuses the same HTTP connection.
12143
+ #
11994
12144
  # @return [Types::UpdateAuthorizerResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
11995
12145
  #
11996
12146
  # * {Types::UpdateAuthorizerResponse#authorizer_name #authorizer_name} => String
@@ -12006,6 +12156,7 @@ module Aws::IoT
12006
12156
  # "KeyName" => "KeyValue",
12007
12157
  # },
12008
12158
  # status: "ACTIVE", # accepts ACTIVE, INACTIVE
12159
+ # enable_caching_for_http: false,
12009
12160
  # })
12010
12161
  #
12011
12162
  # @example Response structure
@@ -12451,7 +12602,7 @@ module Aws::IoT
12451
12602
  #
12452
12603
  #
12453
12604
  #
12454
- # [1]: https://docs.aws.amazon.com/https:/docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html
12605
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html
12455
12606
  #
12456
12607
  # @option params [Integer] :expected_version
12457
12608
  # The expected version of the fleet metric record in the registry.
@@ -12506,6 +12657,8 @@ module Aws::IoT
12506
12657
  # thing_indexing_configuration: {
12507
12658
  # thing_indexing_mode: "OFF", # required, accepts OFF, REGISTRY, REGISTRY_AND_SHADOW
12508
12659
  # thing_connectivity_indexing_mode: "OFF", # accepts OFF, STATUS
12660
+ # device_defender_indexing_mode: "OFF", # accepts OFF, VIOLATIONS
12661
+ # named_shadow_indexing_mode: "OFF", # accepts OFF, ON
12509
12662
  # managed_fields: [
12510
12663
  # {
12511
12664
  # name: "FieldName",
@@ -13382,7 +13535,7 @@ module Aws::IoT
13382
13535
  params: params,
13383
13536
  config: config)
13384
13537
  context[:gem_name] = 'aws-sdk-iot'
13385
- context[:gem_version] = '1.78.0'
13538
+ context[:gem_version] = '1.82.0'
13386
13539
  Seahorse::Client::Request.new(handlers, context)
13387
13540
  end
13388
13541
 
@@ -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')
@@ -480,17 +485,21 @@ module Aws::IoT
480
485
  ElasticsearchId = Shapes::StringShape.new(name: 'ElasticsearchId')
481
486
  ElasticsearchIndex = Shapes::StringShape.new(name: 'ElasticsearchIndex')
482
487
  ElasticsearchType = Shapes::StringShape.new(name: 'ElasticsearchType')
488
+ EnableCachingForHttp = Shapes::BooleanShape.new(name: 'EnableCachingForHttp')
483
489
  EnableIoTLoggingParams = Shapes::StructureShape.new(name: 'EnableIoTLoggingParams')
484
490
  EnableTopicRuleRequest = Shapes::StructureShape.new(name: 'EnableTopicRuleRequest')
485
491
  Enabled = Shapes::BooleanShape.new(name: 'Enabled')
486
492
  EndpointAddress = Shapes::StringShape.new(name: 'EndpointAddress')
487
493
  EndpointType = Shapes::StringShape.new(name: 'EndpointType')
494
+ Environment = Shapes::StringShape.new(name: 'Environment')
495
+ Environments = Shapes::ListShape.new(name: 'Environments')
488
496
  ErrorCode = Shapes::StringShape.new(name: 'ErrorCode')
489
497
  ErrorInfo = Shapes::StructureShape.new(name: 'ErrorInfo')
490
498
  ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
491
499
  EvaluationStatistic = Shapes::StringShape.new(name: 'EvaluationStatistic')
492
500
  EventConfigurations = Shapes::MapShape.new(name: 'EventConfigurations')
493
501
  EventType = Shapes::StringShape.new(name: 'EventType')
502
+ Example = Shapes::StringShape.new(name: 'Example')
494
503
  ExecutionNamePrefix = Shapes::StringShape.new(name: 'ExecutionNamePrefix')
495
504
  ExecutionNumber = Shapes::IntegerShape.new(name: 'ExecutionNumber')
496
505
  ExpectedVersion = Shapes::IntegerShape.new(name: 'ExpectedVersion')
@@ -592,6 +601,7 @@ module Aws::IoT
592
601
  InputName = Shapes::StringShape.new(name: 'InputName')
593
602
  InternalException = Shapes::StructureShape.new(name: 'InternalException')
594
603
  InternalFailureException = Shapes::StructureShape.new(name: 'InternalFailureException')
604
+ InternalServerException = Shapes::StructureShape.new(name: 'InternalServerException')
595
605
  InvalidAggregationException = Shapes::StructureShape.new(name: 'InvalidAggregationException')
596
606
  InvalidQueryException = Shapes::StructureShape.new(name: 'InvalidQueryException')
597
607
  InvalidRequestException = Shapes::StructureShape.new(name: 'InvalidRequestException')
@@ -687,6 +697,8 @@ module Aws::IoT
687
697
  ListJobTemplatesResponse = Shapes::StructureShape.new(name: 'ListJobTemplatesResponse')
688
698
  ListJobsRequest = Shapes::StructureShape.new(name: 'ListJobsRequest')
689
699
  ListJobsResponse = Shapes::StructureShape.new(name: 'ListJobsResponse')
700
+ ListManagedJobTemplatesRequest = Shapes::StructureShape.new(name: 'ListManagedJobTemplatesRequest')
701
+ ListManagedJobTemplatesResponse = Shapes::StructureShape.new(name: 'ListManagedJobTemplatesResponse')
690
702
  ListMitigationActionsRequest = Shapes::StructureShape.new(name: 'ListMitigationActionsRequest')
691
703
  ListMitigationActionsResponse = Shapes::StructureShape.new(name: 'ListMitigationActionsResponse')
692
704
  ListOTAUpdatesRequest = Shapes::StructureShape.new(name: 'ListOTAUpdatesRequest')
@@ -761,6 +773,10 @@ module Aws::IoT
761
773
  LoggingOptionsPayload = Shapes::StructureShape.new(name: 'LoggingOptionsPayload')
762
774
  MachineLearningDetectionConfig = Shapes::StructureShape.new(name: 'MachineLearningDetectionConfig')
763
775
  MalformedPolicyException = Shapes::StructureShape.new(name: 'MalformedPolicyException')
776
+ ManagedJobTemplateName = Shapes::StringShape.new(name: 'ManagedJobTemplateName')
777
+ ManagedJobTemplateSummary = Shapes::StructureShape.new(name: 'ManagedJobTemplateSummary')
778
+ ManagedJobTemplatesSummaryList = Shapes::ListShape.new(name: 'ManagedJobTemplatesSummaryList')
779
+ ManagedTemplateVersion = Shapes::StringShape.new(name: 'ManagedTemplateVersion')
764
780
  Marker = Shapes::StringShape.new(name: 'Marker')
765
781
  MaxBuckets = Shapes::IntegerShape.new(name: 'MaxBuckets')
766
782
  MaxJobExecutionsPerMin = Shapes::IntegerShape.new(name: 'MaxJobExecutionsPerMin')
@@ -795,6 +811,7 @@ module Aws::IoT
795
811
  MqttContext = Shapes::StructureShape.new(name: 'MqttContext')
796
812
  MqttPassword = Shapes::BlobShape.new(name: 'MqttPassword')
797
813
  MqttUsername = Shapes::StringShape.new(name: 'MqttUsername')
814
+ NamedShadowIndexingMode = Shapes::StringShape.new(name: 'NamedShadowIndexingMode')
798
815
  NamespaceId = Shapes::StringShape.new(name: 'NamespaceId')
799
816
  NextToken = Shapes::StringShape.new(name: 'NextToken')
800
817
  NonCompliantChecksCount = Shapes::IntegerShape.new(name: 'NonCompliantChecksCount')
@@ -817,12 +834,16 @@ module Aws::IoT
817
834
  OTAUpdateSummary = Shapes::StructureShape.new(name: 'OTAUpdateSummary')
818
835
  OTAUpdatesSummary = Shapes::ListShape.new(name: 'OTAUpdatesSummary')
819
836
  OpenSearchAction = Shapes::StructureShape.new(name: 'OpenSearchAction')
837
+ Optional = Shapes::BooleanShape.new(name: 'Optional')
820
838
  OptionalVersion = Shapes::IntegerShape.new(name: 'OptionalVersion')
821
839
  OutgoingCertificate = Shapes::StructureShape.new(name: 'OutgoingCertificate')
822
840
  OutgoingCertificates = Shapes::ListShape.new(name: 'OutgoingCertificates')
823
841
  OverrideDynamicGroups = Shapes::BooleanShape.new(name: 'OverrideDynamicGroups')
824
842
  PageSize = Shapes::IntegerShape.new(name: 'PageSize')
825
843
  Parameter = Shapes::StringShape.new(name: 'Parameter')
844
+ ParameterKey = Shapes::StringShape.new(name: 'ParameterKey')
845
+ ParameterMap = Shapes::MapShape.new(name: 'ParameterMap')
846
+ ParameterValue = Shapes::StringShape.new(name: 'ParameterValue')
826
847
  Parameters = Shapes::MapShape.new(name: 'Parameters')
827
848
  PartitionKey = Shapes::StringShape.new(name: 'PartitionKey')
828
849
  PayloadField = Shapes::StringShape.new(name: 'PayloadField')
@@ -890,6 +911,7 @@ module Aws::IoT
890
911
  ReasonForNonComplianceCodes = Shapes::ListShape.new(name: 'ReasonForNonComplianceCodes')
891
912
  Recursive = Shapes::BooleanShape.new(name: 'Recursive')
892
913
  RecursiveWithoutDefault = Shapes::BooleanShape.new(name: 'RecursiveWithoutDefault')
914
+ Regex = Shapes::StringShape.new(name: 'Regex')
893
915
  RegisterCACertificateRequest = Shapes::StructureShape.new(name: 'RegisterCACertificateRequest')
894
916
  RegisterCACertificateResponse = Shapes::StructureShape.new(name: 'RegisterCACertificateResponse')
895
917
  RegisterCertificateRequest = Shapes::StructureShape.new(name: 'RegisterCertificateRequest')
@@ -1507,6 +1529,7 @@ module Aws::IoT
1507
1529
  AuthorizerDescription.add_member(:creation_date, Shapes::ShapeRef.new(shape: DateType, location_name: "creationDate"))
1508
1530
  AuthorizerDescription.add_member(:last_modified_date, Shapes::ShapeRef.new(shape: DateType, location_name: "lastModifiedDate"))
1509
1531
  AuthorizerDescription.add_member(:signing_disabled, Shapes::ShapeRef.new(shape: BooleanKey, location_name: "signingDisabled"))
1532
+ AuthorizerDescription.add_member(:enable_caching_for_http, Shapes::ShapeRef.new(shape: EnableCachingForHttp, location_name: "enableCachingForHttp"))
1510
1533
  AuthorizerDescription.struct_class = Types::AuthorizerDescription
1511
1534
 
1512
1535
  AuthorizerSummary.add_member(:authorizer_name, Shapes::ShapeRef.new(shape: AuthorizerName, location_name: "authorizerName"))
@@ -1755,6 +1778,7 @@ module Aws::IoT
1755
1778
  CreateAuthorizerRequest.add_member(:status, Shapes::ShapeRef.new(shape: AuthorizerStatus, location_name: "status"))
1756
1779
  CreateAuthorizerRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "tags"))
1757
1780
  CreateAuthorizerRequest.add_member(:signing_disabled, Shapes::ShapeRef.new(shape: BooleanKey, location_name: "signingDisabled"))
1781
+ CreateAuthorizerRequest.add_member(:enable_caching_for_http, Shapes::ShapeRef.new(shape: EnableCachingForHttp, location_name: "enableCachingForHttp"))
1758
1782
  CreateAuthorizerRequest.struct_class = Types::CreateAuthorizerRequest
1759
1783
 
1760
1784
  CreateAuthorizerResponse.add_member(:authorizer_name, Shapes::ShapeRef.new(shape: AuthorizerName, location_name: "authorizerName"))
@@ -1860,6 +1884,7 @@ module Aws::IoT
1860
1884
  CreateJobRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "tags"))
1861
1885
  CreateJobRequest.add_member(:namespace_id, Shapes::ShapeRef.new(shape: NamespaceId, location_name: "namespaceId"))
1862
1886
  CreateJobRequest.add_member(:job_template_arn, Shapes::ShapeRef.new(shape: JobTemplateArn, location_name: "jobTemplateArn"))
1887
+ CreateJobRequest.add_member(:document_parameters, Shapes::ShapeRef.new(shape: ParameterMap, location_name: "documentParameters"))
1863
1888
  CreateJobRequest.struct_class = Types::CreateJobRequest
1864
1889
 
1865
1890
  CreateJobResponse.add_member(:job_arn, Shapes::ShapeRef.new(shape: JobArn, location_name: "jobArn"))
@@ -2439,6 +2464,19 @@ module Aws::IoT
2439
2464
  DescribeJobTemplateResponse.add_member(:timeout_config, Shapes::ShapeRef.new(shape: TimeoutConfig, location_name: "timeoutConfig"))
2440
2465
  DescribeJobTemplateResponse.struct_class = Types::DescribeJobTemplateResponse
2441
2466
 
2467
+ DescribeManagedJobTemplateRequest.add_member(:template_name, Shapes::ShapeRef.new(shape: ManagedJobTemplateName, required: true, location: "uri", location_name: "templateName"))
2468
+ DescribeManagedJobTemplateRequest.add_member(:template_version, Shapes::ShapeRef.new(shape: ManagedTemplateVersion, location: "querystring", location_name: "templateVersion"))
2469
+ DescribeManagedJobTemplateRequest.struct_class = Types::DescribeManagedJobTemplateRequest
2470
+
2471
+ DescribeManagedJobTemplateResponse.add_member(:template_name, Shapes::ShapeRef.new(shape: ManagedJobTemplateName, location_name: "templateName"))
2472
+ DescribeManagedJobTemplateResponse.add_member(:template_arn, Shapes::ShapeRef.new(shape: JobTemplateArn, location_name: "templateArn"))
2473
+ DescribeManagedJobTemplateResponse.add_member(:description, Shapes::ShapeRef.new(shape: JobDescription, location_name: "description"))
2474
+ DescribeManagedJobTemplateResponse.add_member(:template_version, Shapes::ShapeRef.new(shape: ManagedTemplateVersion, location_name: "templateVersion"))
2475
+ DescribeManagedJobTemplateResponse.add_member(:environments, Shapes::ShapeRef.new(shape: Environments, location_name: "environments"))
2476
+ DescribeManagedJobTemplateResponse.add_member(:document_parameters, Shapes::ShapeRef.new(shape: DocumentParameters, location_name: "documentParameters"))
2477
+ DescribeManagedJobTemplateResponse.add_member(:document, Shapes::ShapeRef.new(shape: JobDocument, location_name: "document"))
2478
+ DescribeManagedJobTemplateResponse.struct_class = Types::DescribeManagedJobTemplateResponse
2479
+
2442
2480
  DescribeMitigationActionRequest.add_member(:action_name, Shapes::ShapeRef.new(shape: MitigationActionName, required: true, location: "uri", location_name: "actionName"))
2443
2481
  DescribeMitigationActionRequest.struct_class = Types::DescribeMitigationActionRequest
2444
2482
 
@@ -2642,6 +2680,15 @@ module Aws::IoT
2642
2680
  DisableTopicRuleRequest.add_member(:rule_name, Shapes::ShapeRef.new(shape: RuleName, required: true, location: "uri", location_name: "ruleName"))
2643
2681
  DisableTopicRuleRequest.struct_class = Types::DisableTopicRuleRequest
2644
2682
 
2683
+ DocumentParameter.add_member(:key, Shapes::ShapeRef.new(shape: ParameterKey, location_name: "key"))
2684
+ DocumentParameter.add_member(:description, Shapes::ShapeRef.new(shape: JobDescription, location_name: "description"))
2685
+ DocumentParameter.add_member(:regex, Shapes::ShapeRef.new(shape: Regex, location_name: "regex"))
2686
+ DocumentParameter.add_member(:example, Shapes::ShapeRef.new(shape: Example, location_name: "example"))
2687
+ DocumentParameter.add_member(:optional, Shapes::ShapeRef.new(shape: Optional, location_name: "optional"))
2688
+ DocumentParameter.struct_class = Types::DocumentParameter
2689
+
2690
+ DocumentParameters.member = Shapes::ShapeRef.new(shape: DocumentParameter)
2691
+
2645
2692
  DomainConfigurationSummary.add_member(:domain_configuration_name, Shapes::ShapeRef.new(shape: ReservedDomainConfigurationName, location_name: "domainConfigurationName"))
2646
2693
  DomainConfigurationSummary.add_member(:domain_configuration_arn, Shapes::ShapeRef.new(shape: DomainConfigurationArn, location_name: "domainConfigurationArn"))
2647
2694
  DomainConfigurationSummary.add_member(:service_type, Shapes::ShapeRef.new(shape: ServiceType, location_name: "serviceType"))
@@ -2686,6 +2733,8 @@ module Aws::IoT
2686
2733
  EnableTopicRuleRequest.add_member(:rule_name, Shapes::ShapeRef.new(shape: RuleName, required: true, location: "uri", location_name: "ruleName"))
2687
2734
  EnableTopicRuleRequest.struct_class = Types::EnableTopicRuleRequest
2688
2735
 
2736
+ Environments.member = Shapes::ShapeRef.new(shape: Environment)
2737
+
2689
2738
  ErrorInfo.add_member(:code, Shapes::ShapeRef.new(shape: Code, location_name: "code"))
2690
2739
  ErrorInfo.add_member(:message, Shapes::ShapeRef.new(shape: OTAUpdateErrorMessage, location_name: "message"))
2691
2740
  ErrorInfo.struct_class = Types::ErrorInfo
@@ -2905,6 +2954,9 @@ module Aws::IoT
2905
2954
  InternalFailureException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
2906
2955
  InternalFailureException.struct_class = Types::InternalFailureException
2907
2956
 
2957
+ InternalServerException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
2958
+ InternalServerException.struct_class = Types::InternalServerException
2959
+
2908
2960
  InvalidAggregationException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
2909
2961
  InvalidAggregationException.struct_class = Types::InvalidAggregationException
2910
2962
 
@@ -2955,6 +3007,7 @@ module Aws::IoT
2955
3007
  Job.add_member(:timeout_config, Shapes::ShapeRef.new(shape: TimeoutConfig, location_name: "timeoutConfig"))
2956
3008
  Job.add_member(:namespace_id, Shapes::ShapeRef.new(shape: NamespaceId, location_name: "namespaceId"))
2957
3009
  Job.add_member(:job_template_arn, Shapes::ShapeRef.new(shape: JobTemplateArn, location_name: "jobTemplateArn"))
3010
+ Job.add_member(:document_parameters, Shapes::ShapeRef.new(shape: ParameterMap, location_name: "documentParameters"))
2958
3011
  Job.struct_class = Types::Job
2959
3012
 
2960
3013
  JobExecution.add_member(:job_id, Shapes::ShapeRef.new(shape: JobId, location_name: "jobId"))
@@ -3288,6 +3341,15 @@ module Aws::IoT
3288
3341
  ListJobsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
3289
3342
  ListJobsResponse.struct_class = Types::ListJobsResponse
3290
3343
 
3344
+ ListManagedJobTemplatesRequest.add_member(:template_name, Shapes::ShapeRef.new(shape: ManagedJobTemplateName, location: "querystring", location_name: "templateName"))
3345
+ ListManagedJobTemplatesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: LaserMaxResults, location: "querystring", location_name: "maxResults"))
3346
+ ListManagedJobTemplatesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
3347
+ ListManagedJobTemplatesRequest.struct_class = Types::ListManagedJobTemplatesRequest
3348
+
3349
+ ListManagedJobTemplatesResponse.add_member(:managed_job_templates, Shapes::ShapeRef.new(shape: ManagedJobTemplatesSummaryList, location_name: "managedJobTemplates"))
3350
+ ListManagedJobTemplatesResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
3351
+ ListManagedJobTemplatesResponse.struct_class = Types::ListManagedJobTemplatesResponse
3352
+
3291
3353
  ListMitigationActionsRequest.add_member(:action_type, Shapes::ShapeRef.new(shape: MitigationActionType, location: "querystring", location_name: "actionType"))
3292
3354
  ListMitigationActionsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
3293
3355
  ListMitigationActionsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
@@ -3599,6 +3661,15 @@ module Aws::IoT
3599
3661
  MalformedPolicyException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
3600
3662
  MalformedPolicyException.struct_class = Types::MalformedPolicyException
3601
3663
 
3664
+ ManagedJobTemplateSummary.add_member(:template_arn, Shapes::ShapeRef.new(shape: JobTemplateArn, location_name: "templateArn"))
3665
+ ManagedJobTemplateSummary.add_member(:template_name, Shapes::ShapeRef.new(shape: ManagedJobTemplateName, location_name: "templateName"))
3666
+ ManagedJobTemplateSummary.add_member(:description, Shapes::ShapeRef.new(shape: JobDescription, location_name: "description"))
3667
+ ManagedJobTemplateSummary.add_member(:environments, Shapes::ShapeRef.new(shape: Environments, location_name: "environments"))
3668
+ ManagedJobTemplateSummary.add_member(:template_version, Shapes::ShapeRef.new(shape: ManagedTemplateVersion, location_name: "templateVersion"))
3669
+ ManagedJobTemplateSummary.struct_class = Types::ManagedJobTemplateSummary
3670
+
3671
+ ManagedJobTemplatesSummaryList.member = Shapes::ShapeRef.new(shape: ManagedJobTemplateSummary)
3672
+
3602
3673
  MetricDimension.add_member(:dimension_name, Shapes::ShapeRef.new(shape: DimensionName, required: true, location_name: "dimensionName"))
3603
3674
  MetricDimension.add_member(:operator, Shapes::ShapeRef.new(shape: DimensionValueOperator, location_name: "operator"))
3604
3675
  MetricDimension.struct_class = Types::MetricDimension
@@ -3711,6 +3782,9 @@ module Aws::IoT
3711
3782
 
3712
3783
  OutgoingCertificates.member = Shapes::ShapeRef.new(shape: OutgoingCertificate)
3713
3784
 
3785
+ ParameterMap.key = Shapes::ShapeRef.new(shape: ParameterKey)
3786
+ ParameterMap.value = Shapes::ShapeRef.new(shape: ParameterValue)
3787
+
3714
3788
  Parameters.key = Shapes::ShapeRef.new(shape: Parameter)
3715
3789
  Parameters.value = Shapes::ShapeRef.new(shape: Value)
3716
3790
 
@@ -4244,6 +4318,7 @@ module Aws::IoT
4244
4318
  ThingDocument.add_member(:thing_group_names, Shapes::ShapeRef.new(shape: ThingGroupNameList, location_name: "thingGroupNames"))
4245
4319
  ThingDocument.add_member(:attributes, Shapes::ShapeRef.new(shape: Attributes, location_name: "attributes"))
4246
4320
  ThingDocument.add_member(:shadow, Shapes::ShapeRef.new(shape: JsonDocument, location_name: "shadow"))
4321
+ ThingDocument.add_member(:device_defender, Shapes::ShapeRef.new(shape: JsonDocument, location_name: "deviceDefender"))
4247
4322
  ThingDocument.add_member(:connectivity, Shapes::ShapeRef.new(shape: ThingConnectivity, location_name: "connectivity"))
4248
4323
  ThingDocument.struct_class = Types::ThingDocument
4249
4324
 
@@ -4282,6 +4357,8 @@ module Aws::IoT
4282
4357
 
4283
4358
  ThingIndexingConfiguration.add_member(:thing_indexing_mode, Shapes::ShapeRef.new(shape: ThingIndexingMode, required: true, location_name: "thingIndexingMode"))
4284
4359
  ThingIndexingConfiguration.add_member(:thing_connectivity_indexing_mode, Shapes::ShapeRef.new(shape: ThingConnectivityIndexingMode, location_name: "thingConnectivityIndexingMode"))
4360
+ ThingIndexingConfiguration.add_member(:device_defender_indexing_mode, Shapes::ShapeRef.new(shape: DeviceDefenderIndexingMode, location_name: "deviceDefenderIndexingMode"))
4361
+ ThingIndexingConfiguration.add_member(:named_shadow_indexing_mode, Shapes::ShapeRef.new(shape: NamedShadowIndexingMode, location_name: "namedShadowIndexingMode"))
4285
4362
  ThingIndexingConfiguration.add_member(:managed_fields, Shapes::ShapeRef.new(shape: Fields, location_name: "managedFields"))
4286
4363
  ThingIndexingConfiguration.add_member(:custom_fields, Shapes::ShapeRef.new(shape: Fields, location_name: "customFields"))
4287
4364
  ThingIndexingConfiguration.struct_class = Types::ThingIndexingConfiguration
@@ -4433,6 +4510,7 @@ module Aws::IoT
4433
4510
  UpdateAuthorizerRequest.add_member(:token_key_name, Shapes::ShapeRef.new(shape: TokenKeyName, location_name: "tokenKeyName"))
4434
4511
  UpdateAuthorizerRequest.add_member(:token_signing_public_keys, Shapes::ShapeRef.new(shape: PublicKeyMap, location_name: "tokenSigningPublicKeys"))
4435
4512
  UpdateAuthorizerRequest.add_member(:status, Shapes::ShapeRef.new(shape: AuthorizerStatus, location_name: "status"))
4513
+ UpdateAuthorizerRequest.add_member(:enable_caching_for_http, Shapes::ShapeRef.new(shape: EnableCachingForHttp, location_name: "enableCachingForHttp"))
4436
4514
  UpdateAuthorizerRequest.struct_class = Types::UpdateAuthorizerRequest
4437
4515
 
4438
4516
  UpdateAuthorizerResponse.add_member(:authorizer_name, Shapes::ShapeRef.new(shape: AuthorizerName, location_name: "authorizerName"))
@@ -6022,6 +6100,18 @@ module Aws::IoT
6022
6100
  o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
6023
6101
  end)
6024
6102
 
6103
+ api.add_operation(:describe_managed_job_template, Seahorse::Model::Operation.new.tap do |o|
6104
+ o.name = "DescribeManagedJobTemplate"
6105
+ o.http_method = "GET"
6106
+ o.http_request_uri = "/managed-job-templates/{templateName}"
6107
+ o.input = Shapes::ShapeRef.new(shape: DescribeManagedJobTemplateRequest)
6108
+ o.output = Shapes::ShapeRef.new(shape: DescribeManagedJobTemplateResponse)
6109
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
6110
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
6111
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
6112
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
6113
+ end)
6114
+
6025
6115
  api.add_operation(:describe_mitigation_action, Seahorse::Model::Operation.new.tap do |o|
6026
6116
  o.name = "DescribeMitigationAction"
6027
6117
  o.http_method = "GET"
@@ -6887,6 +6977,18 @@ module Aws::IoT
6887
6977
  )
6888
6978
  end)
6889
6979
 
6980
+ api.add_operation(:list_managed_job_templates, Seahorse::Model::Operation.new.tap do |o|
6981
+ o.name = "ListManagedJobTemplates"
6982
+ o.http_method = "GET"
6983
+ o.http_request_uri = "/managed-job-templates"
6984
+ o.input = Shapes::ShapeRef.new(shape: ListManagedJobTemplatesRequest)
6985
+ o.output = Shapes::ShapeRef.new(shape: ListManagedJobTemplatesResponse)
6986
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
6987
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
6988
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
6989
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
6990
+ end)
6991
+
6890
6992
  api.add_operation(:list_mitigation_actions, Seahorse::Model::Operation.new.tap do |o|
6891
6993
  o.name = "ListMitigationActions"
6892
6994
  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
@@ -1458,6 +1463,12 @@ module Aws::IoT
1458
1463
  # authorization request.
1459
1464
  # @return [Boolean]
1460
1465
  #
1466
+ # @!attribute [rw] enable_caching_for_http
1467
+ # When `true`, the result from the authorizer’s Lambda function is
1468
+ # cached for the time specified in `refreshAfterInSeconds`. The cached
1469
+ # result is used while the device reuses the same HTTP connection.
1470
+ # @return [Boolean]
1471
+ #
1461
1472
  class AuthorizerDescription < Struct.new(
1462
1473
  :authorizer_name,
1463
1474
  :authorizer_arn,
@@ -1467,7 +1478,8 @@ module Aws::IoT
1467
1478
  :status,
1468
1479
  :creation_date,
1469
1480
  :last_modified_date,
1470
- :signing_disabled)
1481
+ :signing_disabled,
1482
+ :enable_caching_for_http)
1471
1483
  SENSITIVE = []
1472
1484
  include Aws::Structure
1473
1485
  end
@@ -2823,6 +2835,7 @@ module Aws::IoT
2823
2835
  # },
2824
2836
  # ],
2825
2837
  # signing_disabled: false,
2838
+ # enable_caching_for_http: false,
2826
2839
  # }
2827
2840
  #
2828
2841
  # @!attribute [rw] authorizer_name
@@ -2867,6 +2880,16 @@ module Aws::IoT
2867
2880
  # authorization request.
2868
2881
  # @return [Boolean]
2869
2882
  #
2883
+ # @!attribute [rw] enable_caching_for_http
2884
+ # When `true`, the result from the authorizer’s Lambda function is
2885
+ # cached for clients that use persistent HTTP connections. The results
2886
+ # are cached for the time specified by the Lambda function in
2887
+ # `refreshAfterInSeconds`. This value does not affect authorization of
2888
+ # clients that use MQTT connections.
2889
+ #
2890
+ # The default value is `false`.
2891
+ # @return [Boolean]
2892
+ #
2870
2893
  class CreateAuthorizerRequest < Struct.new(
2871
2894
  :authorizer_name,
2872
2895
  :authorizer_function_arn,
@@ -2874,7 +2897,8 @@ module Aws::IoT
2874
2897
  :token_signing_public_keys,
2875
2898
  :status,
2876
2899
  :tags,
2877
- :signing_disabled)
2900
+ :signing_disabled,
2901
+ :enable_caching_for_http)
2878
2902
  SENSITIVE = []
2879
2903
  include Aws::Structure
2880
2904
  end
@@ -3501,6 +3525,9 @@ module Aws::IoT
3501
3525
  # ],
3502
3526
  # namespace_id: "NamespaceId",
3503
3527
  # job_template_arn: "JobTemplateArn",
3528
+ # document_parameters: {
3529
+ # "ParameterKey" => "ParameterValue",
3530
+ # },
3504
3531
  # }
3505
3532
  #
3506
3533
  # @!attribute [rw] job_id
@@ -3590,6 +3617,11 @@ module Aws::IoT
3590
3617
  # The ARN of the job template used to create the job.
3591
3618
  # @return [String]
3592
3619
  #
3620
+ # @!attribute [rw] document_parameters
3621
+ # Parameters of a managed template that you can specify to create the
3622
+ # job document.
3623
+ # @return [Hash<String,String>]
3624
+ #
3593
3625
  class CreateJobRequest < Struct.new(
3594
3626
  :job_id,
3595
3627
  :targets,
@@ -3603,7 +3635,8 @@ module Aws::IoT
3603
3635
  :timeout_config,
3604
3636
  :tags,
3605
3637
  :namespace_id,
3606
- :job_template_arn)
3638
+ :job_template_arn,
3639
+ :document_parameters)
3607
3640
  SENSITIVE = []
3608
3641
  include Aws::Structure
3609
3642
  end
@@ -4745,8 +4778,8 @@ module Aws::IoT
4745
4778
  # @return [Array<Types::StreamFile>]
4746
4779
  #
4747
4780
  # @!attribute [rw] role_arn
4748
- # An IAM role that allows the IoT service principal assumes to access
4749
- # your S3 files.
4781
+ # An IAM role that allows the IoT service principal to access your S3
4782
+ # files.
4750
4783
  # @return [String]
4751
4784
  #
4752
4785
  # @!attribute [rw] tags
@@ -7141,6 +7174,13 @@ module Aws::IoT
7141
7174
  # * REGISTRY\_AND\_SHADOW\_AND\_CONNECTIVITY\_STATUS - Your thing
7142
7175
  # index contains registry data, shadow data, and thing connectivity
7143
7176
  # status data.
7177
+ #
7178
+ # * MULTI\_INDEXING\_MODE - Your thing index contains multiple data
7179
+ # sources. For more information, see [GetIndexingConfiguration][1].
7180
+ #
7181
+ #
7182
+ #
7183
+ # [1]: https://docs.aws.amazon.com/iot/latest/apireference/API_GetIndexingConfiguration.html
7144
7184
  # @return [String]
7145
7185
  #
7146
7186
  class DescribeIndexResponse < Struct.new(
@@ -7300,6 +7340,72 @@ module Aws::IoT
7300
7340
  include Aws::Structure
7301
7341
  end
7302
7342
 
7343
+ # @note When making an API call, you may pass DescribeManagedJobTemplateRequest
7344
+ # data as a hash:
7345
+ #
7346
+ # {
7347
+ # template_name: "ManagedJobTemplateName", # required
7348
+ # template_version: "ManagedTemplateVersion",
7349
+ # }
7350
+ #
7351
+ # @!attribute [rw] template_name
7352
+ # The unique name of a managed job template, which is required.
7353
+ # @return [String]
7354
+ #
7355
+ # @!attribute [rw] template_version
7356
+ # An optional parameter to specify version of a managed template. If
7357
+ # not specified, the pre-defined default version is returned.
7358
+ # @return [String]
7359
+ #
7360
+ class DescribeManagedJobTemplateRequest < Struct.new(
7361
+ :template_name,
7362
+ :template_version)
7363
+ SENSITIVE = []
7364
+ include Aws::Structure
7365
+ end
7366
+
7367
+ # @!attribute [rw] template_name
7368
+ # The unique name of a managed template, such as `AWS-Reboot`.
7369
+ # @return [String]
7370
+ #
7371
+ # @!attribute [rw] template_arn
7372
+ # The unique Amazon Resource Name (ARN) of the managed template.
7373
+ # @return [String]
7374
+ #
7375
+ # @!attribute [rw] description
7376
+ # The unique description of a managed template.
7377
+ # @return [String]
7378
+ #
7379
+ # @!attribute [rw] template_version
7380
+ # The version for a managed template.
7381
+ # @return [String]
7382
+ #
7383
+ # @!attribute [rw] environments
7384
+ # A list of environments that are supported with the managed job
7385
+ # template.
7386
+ # @return [Array<String>]
7387
+ #
7388
+ # @!attribute [rw] document_parameters
7389
+ # A map of key-value pairs that you can use as guidance to specify the
7390
+ # inputs for creating a job from a managed template.
7391
+ # @return [Array<Types::DocumentParameter>]
7392
+ #
7393
+ # @!attribute [rw] document
7394
+ # The document schema for a managed job template.
7395
+ # @return [String]
7396
+ #
7397
+ class DescribeManagedJobTemplateResponse < Struct.new(
7398
+ :template_name,
7399
+ :template_arn,
7400
+ :description,
7401
+ :template_version,
7402
+ :environments,
7403
+ :document_parameters,
7404
+ :document)
7405
+ SENSITIVE = []
7406
+ include Aws::Structure
7407
+ end
7408
+
7303
7409
  # @note When making an API call, you may pass DescribeMitigationActionRequest
7304
7410
  # data as a hash:
7305
7411
  #
@@ -8294,6 +8400,46 @@ module Aws::IoT
8294
8400
  include Aws::Structure
8295
8401
  end
8296
8402
 
8403
+ # A map of key-value pairs containing the patterns that need to be
8404
+ # replaced in a managed template job document schema. You can use the
8405
+ # description of each key as a guidance to specify the inputs during
8406
+ # runtime when creating a job.
8407
+ #
8408
+ # @!attribute [rw] key
8409
+ # Key of the map field containing the patterns that need to be
8410
+ # replaced in a managed template job document schema.
8411
+ # @return [String]
8412
+ #
8413
+ # @!attribute [rw] description
8414
+ # Description of the map field containing the patterns that need to be
8415
+ # replaced in a managed template job document schema.
8416
+ # @return [String]
8417
+ #
8418
+ # @!attribute [rw] regex
8419
+ # A regular expression of the patterns that need to be replaced in a
8420
+ # managed template job document schema.
8421
+ # @return [String]
8422
+ #
8423
+ # @!attribute [rw] example
8424
+ # An example illustrating a pattern that need to be replaced in a
8425
+ # managed template job document schema.
8426
+ # @return [String]
8427
+ #
8428
+ # @!attribute [rw] optional
8429
+ # Specifies whether a pattern that needs to be replaced in a managed
8430
+ # template job document schema is optional or required.
8431
+ # @return [Boolean]
8432
+ #
8433
+ class DocumentParameter < Struct.new(
8434
+ :key,
8435
+ :description,
8436
+ :regex,
8437
+ :example,
8438
+ :optional)
8439
+ SENSITIVE = []
8440
+ include Aws::Structure
8441
+ end
8442
+
8297
8443
  # The summary of a domain configuration. A domain configuration
8298
8444
  # specifies custom IoT-specific information about a domain. A domain
8299
8445
  # configuration can be associated with an Amazon Web Services-managed
@@ -8865,8 +9011,7 @@ module Aws::IoT
8865
9011
  end
8866
9012
 
8867
9013
  # @!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.
9014
+ # The total number of things that fit the query string criteria.
8870
9015
  # @return [Integer]
8871
9016
  #
8872
9017
  # @!attribute [rw] buckets
@@ -9658,6 +9803,18 @@ module Aws::IoT
9658
9803
  include Aws::Structure
9659
9804
  end
9660
9805
 
9806
+ # Internal error from the service that indicates an unexpected error or
9807
+ # that the service is unavailable.
9808
+ #
9809
+ # @!attribute [rw] message
9810
+ # @return [String]
9811
+ #
9812
+ class InternalServerException < Struct.new(
9813
+ :message)
9814
+ SENSITIVE = []
9815
+ include Aws::Structure
9816
+ end
9817
+
9661
9818
  # The aggregation is invalid.
9662
9819
  #
9663
9820
  # @!attribute [rw] message
@@ -9980,6 +10137,13 @@ module Aws::IoT
9980
10137
  # The ARN of the job template used to create the job.
9981
10138
  # @return [String]
9982
10139
  #
10140
+ # @!attribute [rw] document_parameters
10141
+ # A key-value map that pairs the patterns that need to be replaced in
10142
+ # a managed template job document schema. You can use the description
10143
+ # of each key as a guidance to specify the inputs during runtime when
10144
+ # creating a job.
10145
+ # @return [Hash<String,String>]
10146
+ #
9983
10147
  class Job < Struct.new(
9984
10148
  :job_arn,
9985
10149
  :job_id,
@@ -9999,7 +10163,8 @@ module Aws::IoT
9999
10163
  :job_process_details,
10000
10164
  :timeout_config,
10001
10165
  :namespace_id,
10002
- :job_template_arn)
10166
+ :job_template_arn,
10167
+ :document_parameters)
10003
10168
  SENSITIVE = []
10004
10169
  include Aws::Structure
10005
10170
  end
@@ -11803,6 +11968,52 @@ module Aws::IoT
11803
11968
  include Aws::Structure
11804
11969
  end
11805
11970
 
11971
+ # @note When making an API call, you may pass ListManagedJobTemplatesRequest
11972
+ # data as a hash:
11973
+ #
11974
+ # {
11975
+ # template_name: "ManagedJobTemplateName",
11976
+ # max_results: 1,
11977
+ # next_token: "NextToken",
11978
+ # }
11979
+ #
11980
+ # @!attribute [rw] template_name
11981
+ # An optional parameter for template name. If specified, only the
11982
+ # versions of the managed job templates that have the specified
11983
+ # template name will be returned.
11984
+ # @return [String]
11985
+ #
11986
+ # @!attribute [rw] max_results
11987
+ # Maximum number of entries that can be returned.
11988
+ # @return [Integer]
11989
+ #
11990
+ # @!attribute [rw] next_token
11991
+ # The token to retrieve the next set of results.
11992
+ # @return [String]
11993
+ #
11994
+ class ListManagedJobTemplatesRequest < Struct.new(
11995
+ :template_name,
11996
+ :max_results,
11997
+ :next_token)
11998
+ SENSITIVE = []
11999
+ include Aws::Structure
12000
+ end
12001
+
12002
+ # @!attribute [rw] managed_job_templates
12003
+ # A list of managed job templates that are returned.
12004
+ # @return [Array<Types::ManagedJobTemplateSummary>]
12005
+ #
12006
+ # @!attribute [rw] next_token
12007
+ # The token to retrieve the next set of results.
12008
+ # @return [String]
12009
+ #
12010
+ class ListManagedJobTemplatesResponse < Struct.new(
12011
+ :managed_job_templates,
12012
+ :next_token)
12013
+ SENSITIVE = []
12014
+ include Aws::Structure
12015
+ end
12016
+
11806
12017
  # @note When making an API call, you may pass ListMitigationActionsRequest
11807
12018
  # data as a hash:
11808
12019
  #
@@ -13454,6 +13665,39 @@ module Aws::IoT
13454
13665
  include Aws::Structure
13455
13666
  end
13456
13667
 
13668
+ # An object that contains information about the managed template.
13669
+ #
13670
+ # @!attribute [rw] template_arn
13671
+ # The Amazon Resource Name (ARN) for a managed template.
13672
+ # @return [String]
13673
+ #
13674
+ # @!attribute [rw] template_name
13675
+ # The unique Name for a managed template.
13676
+ # @return [String]
13677
+ #
13678
+ # @!attribute [rw] description
13679
+ # The description for a managed template.
13680
+ # @return [String]
13681
+ #
13682
+ # @!attribute [rw] environments
13683
+ # A list of environments that are supported with the managed job
13684
+ # template.
13685
+ # @return [Array<String>]
13686
+ #
13687
+ # @!attribute [rw] template_version
13688
+ # The version for a managed template.
13689
+ # @return [String]
13690
+ #
13691
+ class ManagedJobTemplateSummary < Struct.new(
13692
+ :template_arn,
13693
+ :template_name,
13694
+ :description,
13695
+ :environments,
13696
+ :template_version)
13697
+ SENSITIVE = []
13698
+ include Aws::Structure
13699
+ end
13700
+
13457
13701
  # The dimension of a metric.
13458
13702
  #
13459
13703
  # @note When making an API call, you may pass MetricDimension
@@ -16280,11 +16524,17 @@ module Aws::IoT
16280
16524
  include Aws::Structure
16281
16525
  end
16282
16526
 
16283
- # A map of key-value pairs for all supported statistics. Currently, only
16284
- # count is supported.
16527
+ # A map of key-value pairs for all supported statistics. For issues with
16528
+ # missing or unexpected values for this API, consult [ Fleet indexing
16529
+ # troubleshooting guide][1].
16530
+ #
16531
+ #
16532
+ #
16533
+ # [1]: https://docs.aws.amazon.com/iot/latest/developerguide/fleet-indexing-troubleshooting.html
16285
16534
  #
16286
16535
  # @!attribute [rw] count
16287
- # The count of things that match the query.
16536
+ # The count of things that match the query string criteria and contain
16537
+ # a valid aggregation field value.
16288
16538
  # @return [Integer]
16289
16539
  #
16290
16540
  # @!attribute [rw] average
@@ -16924,7 +17174,25 @@ module Aws::IoT
16924
17174
  # @return [Hash<String,String>]
16925
17175
  #
16926
17176
  # @!attribute [rw] shadow
16927
- # The shadow.
17177
+ # The unnamed shadow and named shadow.
17178
+ #
17179
+ # For more information about shadows, see [IoT Device Shadow
17180
+ # service.][1]
17181
+ #
17182
+ #
17183
+ #
17184
+ # [1]: https://docs.aws.amazon.com/iot/latest/developerguide/iot-device-shadows.html
17185
+ # @return [String]
17186
+ #
17187
+ # @!attribute [rw] device_defender
17188
+ # Contains Device Defender data.
17189
+ #
17190
+ # For more information about Device Defender, see [Device
17191
+ # Defender][1].
17192
+ #
17193
+ #
17194
+ #
17195
+ # [1]: https://docs.aws.amazon.com/iot/latest/developerguide/device-defender.html
16928
17196
  # @return [String]
16929
17197
  #
16930
17198
  # @!attribute [rw] connectivity
@@ -16939,6 +17207,7 @@ module Aws::IoT
16939
17207
  :thing_group_names,
16940
17208
  :attributes,
16941
17209
  :shadow,
17210
+ :device_defender,
16942
17211
  :connectivity)
16943
17212
  SENSITIVE = []
16944
17213
  include Aws::Structure
@@ -17087,6 +17356,8 @@ module Aws::IoT
17087
17356
  # {
17088
17357
  # thing_indexing_mode: "OFF", # required, accepts OFF, REGISTRY, REGISTRY_AND_SHADOW
17089
17358
  # thing_connectivity_indexing_mode: "OFF", # accepts OFF, STATUS
17359
+ # device_defender_indexing_mode: "OFF", # accepts OFF, VIOLATIONS
17360
+ # named_shadow_indexing_mode: "OFF", # accepts OFF, ON
17090
17361
  # managed_fields: [
17091
17362
  # {
17092
17363
  # name: "FieldName",
@@ -17122,6 +17393,39 @@ module Aws::IoT
17122
17393
  # * OFF - Thing connectivity status indexing is disabled.
17123
17394
  # @return [String]
17124
17395
  #
17396
+ # @!attribute [rw] device_defender_indexing_mode
17397
+ # Device Defender indexing mode. Valid values are:
17398
+ #
17399
+ # * VIOLATIONS – Your thing index contains Device Defender violations.
17400
+ # To enable Device Defender indexing, *deviceDefenderIndexingMode*
17401
+ # must not be set to OFF.
17402
+ #
17403
+ # * OFF - Device Defender indexing is disabled.
17404
+ #
17405
+ # For more information about Device Defender violations, see [Device
17406
+ # Defender Detect.][1]
17407
+ #
17408
+ #
17409
+ #
17410
+ # [1]: https://docs.aws.amazon.com/iot/latest/developerguide/device-defender-detect.html
17411
+ # @return [String]
17412
+ #
17413
+ # @!attribute [rw] named_shadow_indexing_mode
17414
+ # Named shadow indexing mode. Valid values are:
17415
+ #
17416
+ # * ON – Your thing index contains named shadow. To enable thing named
17417
+ # shadow indexing, *namedShadowIndexingMode* must not be set to OFF.
17418
+ #
17419
+ # * OFF - Named shadow indexing is disabled.
17420
+ #
17421
+ # For more information about Shadows, see [IoT Device Shadow
17422
+ # service.][1]
17423
+ #
17424
+ #
17425
+ #
17426
+ # [1]: https://docs.aws.amazon.com/iot/latest/developerguide/iot-device-shadows.html
17427
+ # @return [String]
17428
+ #
17125
17429
  # @!attribute [rw] managed_fields
17126
17430
  # Contains fields that are indexed and whose types are already known
17127
17431
  # by the Fleet Indexing service.
@@ -17134,6 +17438,8 @@ module Aws::IoT
17134
17438
  class ThingIndexingConfiguration < Struct.new(
17135
17439
  :thing_indexing_mode,
17136
17440
  :thing_connectivity_indexing_mode,
17441
+ :device_defender_indexing_mode,
17442
+ :named_shadow_indexing_mode,
17137
17443
  :managed_fields,
17138
17444
  :custom_fields)
17139
17445
  SENSITIVE = []
@@ -18339,6 +18645,7 @@ module Aws::IoT
18339
18645
  # "KeyName" => "KeyValue",
18340
18646
  # },
18341
18647
  # status: "ACTIVE", # accepts ACTIVE, INACTIVE
18648
+ # enable_caching_for_http: false,
18342
18649
  # }
18343
18650
  #
18344
18651
  # @!attribute [rw] authorizer_name
@@ -18361,12 +18668,19 @@ module Aws::IoT
18361
18668
  # The status of the update authorizer request.
18362
18669
  # @return [String]
18363
18670
  #
18671
+ # @!attribute [rw] enable_caching_for_http
18672
+ # When `true`, the result from the authorizer’s Lambda function is
18673
+ # cached for the time specified in `refreshAfterInSeconds`. The cached
18674
+ # result is used while the device reuses the same HTTP connection.
18675
+ # @return [Boolean]
18676
+ #
18364
18677
  class UpdateAuthorizerRequest < Struct.new(
18365
18678
  :authorizer_name,
18366
18679
  :authorizer_function_arn,
18367
18680
  :token_key_name,
18368
18681
  :token_signing_public_keys,
18369
- :status)
18682
+ :status,
18683
+ :enable_caching_for_http)
18370
18684
  SENSITIVE = []
18371
18685
  include Aws::Structure
18372
18686
  end
@@ -18892,7 +19206,7 @@ module Aws::IoT
18892
19206
  #
18893
19207
  #
18894
19208
  #
18895
- # [1]: https://docs.aws.amazon.com/https:/docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html
19209
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html
18896
19210
  # @return [String]
18897
19211
  #
18898
19212
  # @!attribute [rw] expected_version
@@ -18921,6 +19235,8 @@ module Aws::IoT
18921
19235
  # thing_indexing_configuration: {
18922
19236
  # thing_indexing_mode: "OFF", # required, accepts OFF, REGISTRY, REGISTRY_AND_SHADOW
18923
19237
  # thing_connectivity_indexing_mode: "OFF", # accepts OFF, STATUS
19238
+ # device_defender_indexing_mode: "OFF", # accepts OFF, VIOLATIONS
19239
+ # named_shadow_indexing_mode: "OFF", # accepts OFF, ON
18924
19240
  # managed_fields: [
18925
19241
  # {
18926
19242
  # 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.78.0'
51
+ GEM_VERSION = '1.82.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.78.0
4
+ version: 1.82.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-11-04 00:00:00.000000000 Z
11
+ date: 2021-12-21 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.122.0
22
+ version: 3.125.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.122.0
32
+ version: 3.125.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: aws-sigv4
35
35
  requirement: !ruby/object:Gem::Requirement