aws-sdk-iot 1.157.0 → 1.158.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: f493efc48d76220a54cd6294d3875b39dd66e50182dd9651ce05b13101ebc7e7
4
- data.tar.gz: a798ee78c816c0ed49b9fc0e61f639302fdd46a26acb7f8c4f767663e4908691
3
+ metadata.gz: 0e10ebdad95b1a29e3f98d3abb270e9a59120374064441cc1901c9e1a7e1b1c0
4
+ data.tar.gz: 8267795bd471aeeb16e1e482282f68a222220d6173d31ff598fddfc5c1da1f74
5
5
  SHA512:
6
- metadata.gz: 5c5a20d0b6553ec8ae0b8f7ee96fc31234dc8bd0f1270f8370738ac542ad6800cbb23af1574ecc4f27bc2993a18ff565a5fca95f9f4dcd7d4da0a264c54ad538
7
- data.tar.gz: f73b2aaedfe56b0c89974d6002c4ab5f75bb2c3bfafe4cef1450bfab36080b16ea9aeba6acb79a5dc4278b6cefbd8cf9fe5253fea09137e6f13203ff51f45f39
6
+ metadata.gz: 135b4face451a2601c09a3d365be7db79a04284e2912ecaf03e8dfe8fb077f648bdf2aaa4ddf84164f73e6df797919f5d3875490e971b46cc0a6ca51c0f13e7b
7
+ data.tar.gz: 7d8b9997b255b3f4da66633aec1036c11ce87c65208a8dae2e2841ae31c7b548cf21920e829b0c6e44b6d42c88108c784fa0063607d440be6bde3df1bcf69e62
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.158.0 (2025-12-16)
5
+ ------------------
6
+
7
+ * Feature - Add support for dynamic payloads in IoT Device Management Commands
8
+
4
9
  1.157.0 (2025-11-21)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.157.0
1
+ 1.158.0
@@ -1589,25 +1589,40 @@ module Aws::IoT
1589
1589
  # A short text decription of the command.
1590
1590
  #
1591
1591
  # @option params [Types::CommandPayload] :payload
1592
- # The payload object for the command. You must specify this information
1593
- # when using the `AWS-IoT` namespace.
1592
+ # The payload object for the static command.
1594
1593
  #
1595
1594
  # You can upload a static payload file from your local storage that
1596
1595
  # contains the instructions for the device to process. The payload file
1597
1596
  # can use any format. To make sure that the device correctly interprets
1598
1597
  # the payload, we recommend you to specify the payload content type.
1599
1598
  #
1599
+ # @option params [String] :payload_template
1600
+ # The payload template for the dynamic command.
1601
+ #
1602
+ # <note markdown="1"> This parameter is required for dynamic commands where the command
1603
+ # execution placeholders are supplied either from `mandatoryParameters`
1604
+ # or when `StartCommandExecution` is invoked.
1605
+ #
1606
+ # </note>
1607
+ #
1608
+ # @option params [Types::CommandPreprocessor] :preprocessor
1609
+ # Configuration that determines how `payloadTemplate` is processed to
1610
+ # generate command execution payload.
1611
+ #
1612
+ # <note markdown="1"> This parameter is required for dynamic commands, along with
1613
+ # `payloadTemplate`, and `mandatoryParameters`.
1614
+ #
1615
+ # </note>
1616
+ #
1600
1617
  # @option params [Array<Types::CommandParameter>] :mandatory_parameters
1601
- # A list of parameters that are required by the `StartCommandExecution`
1602
- # API. These parameters need to be specified only when using the
1603
- # `AWS-IoT-FleetWise` namespace. You can either specify them here or
1604
- # when running the command using the `StartCommandExecution` API.
1618
+ # A list of parameters that are used by `StartCommandExecution` API for
1619
+ # execution payload generation.
1605
1620
  #
1606
1621
  # @option params [String] :role_arn
1607
1622
  # The IAM role that you must provide when using the `AWS-IoT-FleetWise`
1608
1623
  # namespace. The role grants IoT Device Management the permission to
1609
1624
  # access IoT FleetWise resources for generating the payload for the
1610
- # command. This field is not required when you use the `AWS-IoT`
1625
+ # command. This field is not supported when you use the `AWS-IoT`
1611
1626
  # namespace.
1612
1627
  #
1613
1628
  # @option params [Array<Types::Tag>] :tags
@@ -1629,9 +1644,16 @@ module Aws::IoT
1629
1644
  # content: "data",
1630
1645
  # content_type: "MimeType",
1631
1646
  # },
1647
+ # payload_template: "CommandPayloadTemplateString",
1648
+ # preprocessor: {
1649
+ # aws_json_substitution: {
1650
+ # output_format: "JSON", # required, accepts JSON, CBOR
1651
+ # },
1652
+ # },
1632
1653
  # mandatory_parameters: [
1633
1654
  # {
1634
1655
  # name: "CommandParameterName", # required
1656
+ # type: "STRING", # accepts STRING, INTEGER, DOUBLE, LONG, UNSIGNEDLONG, BOOLEAN, BINARY
1635
1657
  # value: {
1636
1658
  # s: "StringParameterValue",
1637
1659
  # b: false,
@@ -1650,6 +1672,21 @@ module Aws::IoT
1650
1672
  # bin: "data",
1651
1673
  # ul: "UnsignedLongParameterValue",
1652
1674
  # },
1675
+ # value_conditions: [
1676
+ # {
1677
+ # comparison_operator: "EQUALS", # required, accepts EQUALS, NOT_EQUALS, LESS_THAN, LESS_THAN_EQUALS, GREATER_THAN, GREATER_THAN_EQUALS, IN_SET, NOT_IN_SET, IN_RANGE, NOT_IN_RANGE
1678
+ # operand: { # required
1679
+ # number: "StringParameterValue",
1680
+ # numbers: ["StringParameterValue"],
1681
+ # string: "StringParameterValue",
1682
+ # strings: ["StringParameterValue"],
1683
+ # number_range: {
1684
+ # min: "StringParameterValue", # required
1685
+ # max: "StringParameterValue", # required
1686
+ # },
1687
+ # },
1688
+ # },
1689
+ # ],
1653
1690
  # description: "CommandParameterDescription",
1654
1691
  # },
1655
1692
  # ],
@@ -6377,12 +6414,12 @@ module Aws::IoT
6377
6414
 
6378
6415
  # Retrieves the encryption configuration for resources and data of your
6379
6416
  # Amazon Web Services account in Amazon Web Services IoT Core. For more
6380
- # information, see [Key management in IoT][1] from the *Amazon Web
6417
+ # information, see [Data encryption at rest][1] in the *Amazon Web
6381
6418
  # Services IoT Core Developer Guide*.
6382
6419
  #
6383
6420
  #
6384
6421
  #
6385
- # [1]: https://docs.aws.amazon.com/iot/latest/developerguide/key-management.html
6422
+ # [1]: https://docs.aws.amazon.com/iot/latest/developerguide/encryption-at-rest.html
6386
6423
  #
6387
6424
  # @return [Types::DescribeEncryptionConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6388
6425
  #
@@ -7845,6 +7882,8 @@ module Aws::IoT
7845
7882
  # * {Types::GetCommandResponse#description #description} => String
7846
7883
  # * {Types::GetCommandResponse#mandatory_parameters #mandatory_parameters} => Array&lt;Types::CommandParameter&gt;
7847
7884
  # * {Types::GetCommandResponse#payload #payload} => Types::CommandPayload
7885
+ # * {Types::GetCommandResponse#payload_template #payload_template} => String
7886
+ # * {Types::GetCommandResponse#preprocessor #preprocessor} => Types::CommandPreprocessor
7848
7887
  # * {Types::GetCommandResponse#role_arn #role_arn} => String
7849
7888
  # * {Types::GetCommandResponse#created_at #created_at} => Time
7850
7889
  # * {Types::GetCommandResponse#last_updated_at #last_updated_at} => Time
@@ -7866,6 +7905,7 @@ module Aws::IoT
7866
7905
  # resp.description #=> String
7867
7906
  # resp.mandatory_parameters #=> Array
7868
7907
  # resp.mandatory_parameters[0].name #=> String
7908
+ # resp.mandatory_parameters[0].type #=> String, one of "STRING", "INTEGER", "DOUBLE", "LONG", "UNSIGNEDLONG", "BOOLEAN", "BINARY"
7869
7909
  # resp.mandatory_parameters[0].value.s #=> String
7870
7910
  # resp.mandatory_parameters[0].value.b #=> Boolean
7871
7911
  # resp.mandatory_parameters[0].value.i #=> Integer
@@ -7880,9 +7920,21 @@ module Aws::IoT
7880
7920
  # resp.mandatory_parameters[0].default_value.d #=> Float
7881
7921
  # resp.mandatory_parameters[0].default_value.bin #=> String
7882
7922
  # resp.mandatory_parameters[0].default_value.ul #=> String
7923
+ # resp.mandatory_parameters[0].value_conditions #=> Array
7924
+ # resp.mandatory_parameters[0].value_conditions[0].comparison_operator #=> String, one of "EQUALS", "NOT_EQUALS", "LESS_THAN", "LESS_THAN_EQUALS", "GREATER_THAN", "GREATER_THAN_EQUALS", "IN_SET", "NOT_IN_SET", "IN_RANGE", "NOT_IN_RANGE"
7925
+ # resp.mandatory_parameters[0].value_conditions[0].operand.number #=> String
7926
+ # resp.mandatory_parameters[0].value_conditions[0].operand.numbers #=> Array
7927
+ # resp.mandatory_parameters[0].value_conditions[0].operand.numbers[0] #=> String
7928
+ # resp.mandatory_parameters[0].value_conditions[0].operand.string #=> String
7929
+ # resp.mandatory_parameters[0].value_conditions[0].operand.strings #=> Array
7930
+ # resp.mandatory_parameters[0].value_conditions[0].operand.strings[0] #=> String
7931
+ # resp.mandatory_parameters[0].value_conditions[0].operand.number_range.min #=> String
7932
+ # resp.mandatory_parameters[0].value_conditions[0].operand.number_range.max #=> String
7883
7933
  # resp.mandatory_parameters[0].description #=> String
7884
7934
  # resp.payload.content #=> String
7885
7935
  # resp.payload.content_type #=> String
7936
+ # resp.payload_template #=> String
7937
+ # resp.preprocessor.aws_json_substitution.output_format #=> String, one of "JSON", "CBOR"
7886
7938
  # resp.role_arn #=> String
7887
7939
  # resp.created_at #=> Time
7888
7940
  # resp.last_updated_at #=> Time
@@ -14233,9 +14285,8 @@ module Aws::IoT
14233
14285
  #
14234
14286
  # @option params [String] :principal
14235
14287
  # The principal. Valid principals are CertificateArn
14236
- # (arn:aws:iot:*region*:*accountId*:cert/*certificateId*), thingGroupArn
14237
- # (arn:aws:iot:*region*:*accountId*:thinggroup/*groupName*) and
14238
- # CognitoId (*region*:*id*).
14288
+ # (arn:aws:iot:*region*:*accountId*:cert/*certificateId*) and CognitoId
14289
+ # (*region*:*id*).
14239
14290
  #
14240
14291
  # @option params [String] :cognito_identity_pool_id
14241
14292
  # The Cognito identity pool ID.
@@ -14381,10 +14432,10 @@ module Aws::IoT
14381
14432
  #
14382
14433
  # Requires permission to access the [TransferCertificate][1] action.
14383
14434
  #
14384
- # You can cancel the transfer until it is acknowledged by the recipient.
14435
+ # You can cancel the transfer until it is accepted by the recipient.
14385
14436
  #
14386
- # No notification is sent to the transfer destination's account. It's
14387
- # up to the caller to notify the transfer target.
14437
+ # No notification is sent to the transfer destination's account. The
14438
+ # caller is responsible for notifying the transfer target.
14388
14439
  #
14389
14440
  # The certificate being transferred must not be in the `ACTIVE` state.
14390
14441
  # You can use the UpdateCertificate action to deactivate it.
@@ -14393,15 +14444,16 @@ module Aws::IoT
14393
14444
  # the DetachPolicy action to detach them.
14394
14445
  #
14395
14446
  # **Customer managed key behavior:** When you use a customer managed key
14396
- # to secure your data and then transfer the key to a customer in a
14397
- # different account using the TransferCertificate operation, the
14398
- # certificates will no longer be protected by their customer managed key
14447
+ # to encrypt your data and then transfer the certificate to a customer
14448
+ # in a different account using the `TransferCertificate` operation, the
14449
+ # certificates will no longer be encrypted by their customer managed key
14399
14450
  # configuration. During the transfer process, certificates are encrypted
14400
- # using IoT owned keys.
14451
+ # using Amazon Web Services IoT Core owned keys.
14401
14452
  #
14402
14453
  # While a certificate is in the **PENDING\_TRANSFER** state, it's
14403
- # always protected by IoT owned keys, regardless of the customer managed
14404
- # key configuration of either the source or destination account.
14454
+ # always protected by Amazon Web Services IoT Core owned keys,
14455
+ # regardless of the customer managed key configuration of either the
14456
+ # source or destination account.
14405
14457
  #
14406
14458
  # Once the transfer is completed through AcceptCertificateTransfer,
14407
14459
  # RejectCertificateTransfer, or CancelCertificateTransfer, the
@@ -14409,8 +14461,8 @@ module Aws::IoT
14409
14461
  # configuration of the account that owns the certificate after the
14410
14462
  # transfer operation:
14411
14463
  #
14412
- # * If the transfer is accepted: The certificate is protected by the
14413
- # destination account's customer managed key configuration.
14464
+ # * If the transfer is accepted: The certificate is encrypted by the
14465
+ # target account's customer managed key configuration.
14414
14466
  #
14415
14467
  # * If the transfer is rejected or cancelled: The certificate is
14416
14468
  # protected by the source account's customer managed key
@@ -15208,24 +15260,27 @@ module Aws::IoT
15208
15260
  req.send_request(options)
15209
15261
  end
15210
15262
 
15211
- # Updates the encryption configuration. By default, all Amazon Web
15212
- # Services IoT Core data at rest is encrypted using Amazon Web Services
15213
- # owned keys. Amazon Web Services IoT Core also supports symmetric
15214
- # customer managed keys from Amazon Web Services Key Management Service
15215
- # (KMS). With customer managed keys, you create, own, and manage the KMS
15216
- # keys in your Amazon Web Services account. For more information, see
15217
- # [Data encryption][1] in the *Amazon Web Services IoT Core Developer
15263
+ # Updates the encryption configuration. By default, Amazon Web Services
15264
+ # IoT Core encrypts your data at rest using Amazon Web Services owned
15265
+ # keys. Amazon Web Services IoT Core also supports symmetric customer
15266
+ # managed keys from Key Management Service (KMS). With customer managed
15267
+ # keys, you create, own, and manage the KMS keys in your Amazon Web
15268
+ # Services account.
15269
+ #
15270
+ # Before using this API, you must set up permissions for Amazon Web
15271
+ # Services IoT Core to access KMS. For more information, see [Data
15272
+ # encryption at rest][1] in the *Amazon Web Services IoT Core Developer
15218
15273
  # Guide*.
15219
15274
  #
15220
15275
  #
15221
15276
  #
15222
- # [1]: https://docs.aws.amazon.com/iot/latest/developerguide/data-encryption.html
15277
+ # [1]: https://docs.aws.amazon.com/iot/latest/developerguide/encryption-at-rest.html
15223
15278
  #
15224
15279
  # @option params [required, String] :encryption_type
15225
- # The type of the Amazon Web Services Key Management Service (KMS) key.
15280
+ # The type of the KMS key.
15226
15281
  #
15227
15282
  # @option params [String] :kms_key_arn
15228
- # The ARN of the customer-managed KMS key.
15283
+ # The ARN of the customer managedKMS key.
15229
15284
  #
15230
15285
  # @option params [String] :kms_access_role_arn
15231
15286
  # The Amazon Resource Name (ARN) of the IAM role assumed by Amazon Web
@@ -16546,7 +16601,7 @@ module Aws::IoT
16546
16601
  tracer: tracer
16547
16602
  )
16548
16603
  context[:gem_name] = 'aws-sdk-iot'
16549
- context[:gem_version] = '1.157.0'
16604
+ context[:gem_version] = '1.158.0'
16550
16605
  Seahorse::Client::Request.new(handlers, context)
16551
16606
  end
16552
16607
 
@@ -149,6 +149,7 @@ module Aws::IoT
149
149
  AwsJobRolloutRatePerMinute = Shapes::IntegerShape.new(name: 'AwsJobRolloutRatePerMinute')
150
150
  AwsJobTimeoutConfig = Shapes::StructureShape.new(name: 'AwsJobTimeoutConfig')
151
151
  AwsJobTimeoutInProgressTimeoutInMinutes = Shapes::IntegerShape.new(name: 'AwsJobTimeoutInProgressTimeoutInMinutes')
152
+ AwsJsonSubstitutionCommandPreprocessorConfig = Shapes::StructureShape.new(name: 'AwsJsonSubstitutionCommandPreprocessorConfig')
152
153
  BatchMode = Shapes::BooleanShape.new(name: 'BatchMode')
153
154
  BeforeSubstitutionFlag = Shapes::BooleanShape.new(name: 'BeforeSubstitutionFlag')
154
155
  Behavior = Shapes::StructureShape.new(name: 'Behavior')
@@ -258,9 +259,18 @@ module Aws::IoT
258
259
  CommandParameterDescription = Shapes::StringShape.new(name: 'CommandParameterDescription')
259
260
  CommandParameterList = Shapes::ListShape.new(name: 'CommandParameterList')
260
261
  CommandParameterName = Shapes::StringShape.new(name: 'CommandParameterName')
262
+ CommandParameterType = Shapes::StringShape.new(name: 'CommandParameterType')
261
263
  CommandParameterValue = Shapes::StructureShape.new(name: 'CommandParameterValue')
264
+ CommandParameterValueComparisonOperand = Shapes::StructureShape.new(name: 'CommandParameterValueComparisonOperand')
265
+ CommandParameterValueComparisonOperator = Shapes::StringShape.new(name: 'CommandParameterValueComparisonOperator')
266
+ CommandParameterValueCondition = Shapes::StructureShape.new(name: 'CommandParameterValueCondition')
267
+ CommandParameterValueConditionList = Shapes::ListShape.new(name: 'CommandParameterValueConditionList')
268
+ CommandParameterValueNumberRange = Shapes::StructureShape.new(name: 'CommandParameterValueNumberRange')
269
+ CommandParameterValueStringList = Shapes::ListShape.new(name: 'CommandParameterValueStringList')
262
270
  CommandPayload = Shapes::StructureShape.new(name: 'CommandPayload')
263
271
  CommandPayloadBlob = Shapes::BlobShape.new(name: 'CommandPayloadBlob')
272
+ CommandPayloadTemplateString = Shapes::StringShape.new(name: 'CommandPayloadTemplateString')
273
+ CommandPreprocessor = Shapes::StructureShape.new(name: 'CommandPreprocessor')
264
274
  CommandSummary = Shapes::StructureShape.new(name: 'CommandSummary')
265
275
  CommandSummaryList = Shapes::ListShape.new(name: 'CommandSummaryList')
266
276
  Comment = Shapes::StringShape.new(name: 'Comment')
@@ -991,6 +1001,7 @@ module Aws::IoT
991
1001
  OptionalVersion = Shapes::IntegerShape.new(name: 'OptionalVersion')
992
1002
  OutgoingCertificate = Shapes::StructureShape.new(name: 'OutgoingCertificate')
993
1003
  OutgoingCertificates = Shapes::ListShape.new(name: 'OutgoingCertificates')
1004
+ OutputFormat = Shapes::StringShape.new(name: 'OutputFormat')
994
1005
  OverrideDynamicGroups = Shapes::BooleanShape.new(name: 'OverrideDynamicGroups')
995
1006
  PackageArn = Shapes::StringShape.new(name: 'PackageArn')
996
1007
  PackageCatalogMaxResults = Shapes::IntegerShape.new(name: 'PackageCatalogMaxResults')
@@ -1819,6 +1830,9 @@ module Aws::IoT
1819
1830
  AwsJobTimeoutConfig.add_member(:in_progress_timeout_in_minutes, Shapes::ShapeRef.new(shape: AwsJobTimeoutInProgressTimeoutInMinutes, location_name: "inProgressTimeoutInMinutes"))
1820
1831
  AwsJobTimeoutConfig.struct_class = Types::AwsJobTimeoutConfig
1821
1832
 
1833
+ AwsJsonSubstitutionCommandPreprocessorConfig.add_member(:output_format, Shapes::ShapeRef.new(shape: OutputFormat, required: true, location_name: "outputFormat"))
1834
+ AwsJsonSubstitutionCommandPreprocessorConfig.struct_class = Types::AwsJsonSubstitutionCommandPreprocessorConfig
1835
+
1822
1836
  Behavior.add_member(:name, Shapes::ShapeRef.new(shape: BehaviorName, required: true, location_name: "name"))
1823
1837
  Behavior.add_member(:metric, Shapes::ShapeRef.new(shape: BehaviorMetric, location_name: "metric"))
1824
1838
  Behavior.add_member(:metric_dimension, Shapes::ShapeRef.new(shape: MetricDimension, location_name: "metricDimension"))
@@ -2038,8 +2052,10 @@ module Aws::IoT
2038
2052
  CommandExecutionSummaryList.member = Shapes::ShapeRef.new(shape: CommandExecutionSummary)
2039
2053
 
2040
2054
  CommandParameter.add_member(:name, Shapes::ShapeRef.new(shape: CommandParameterName, required: true, location_name: "name"))
2055
+ CommandParameter.add_member(:type, Shapes::ShapeRef.new(shape: CommandParameterType, location_name: "type"))
2041
2056
  CommandParameter.add_member(:value, Shapes::ShapeRef.new(shape: CommandParameterValue, location_name: "value"))
2042
2057
  CommandParameter.add_member(:default_value, Shapes::ShapeRef.new(shape: CommandParameterValue, location_name: "defaultValue"))
2058
+ CommandParameter.add_member(:value_conditions, Shapes::ShapeRef.new(shape: CommandParameterValueConditionList, location_name: "valueConditions"))
2043
2059
  CommandParameter.add_member(:description, Shapes::ShapeRef.new(shape: CommandParameterDescription, location_name: "description"))
2044
2060
  CommandParameter.struct_class = Types::CommandParameter
2045
2061
 
@@ -2054,10 +2070,32 @@ module Aws::IoT
2054
2070
  CommandParameterValue.add_member(:ul, Shapes::ShapeRef.new(shape: UnsignedLongParameterValue, location_name: "UL"))
2055
2071
  CommandParameterValue.struct_class = Types::CommandParameterValue
2056
2072
 
2073
+ CommandParameterValueComparisonOperand.add_member(:number, Shapes::ShapeRef.new(shape: StringParameterValue, location_name: "number"))
2074
+ CommandParameterValueComparisonOperand.add_member(:numbers, Shapes::ShapeRef.new(shape: CommandParameterValueStringList, location_name: "numbers"))
2075
+ CommandParameterValueComparisonOperand.add_member(:string, Shapes::ShapeRef.new(shape: StringParameterValue, location_name: "string"))
2076
+ CommandParameterValueComparisonOperand.add_member(:strings, Shapes::ShapeRef.new(shape: CommandParameterValueStringList, location_name: "strings"))
2077
+ CommandParameterValueComparisonOperand.add_member(:number_range, Shapes::ShapeRef.new(shape: CommandParameterValueNumberRange, location_name: "numberRange"))
2078
+ CommandParameterValueComparisonOperand.struct_class = Types::CommandParameterValueComparisonOperand
2079
+
2080
+ CommandParameterValueCondition.add_member(:comparison_operator, Shapes::ShapeRef.new(shape: CommandParameterValueComparisonOperator, required: true, location_name: "comparisonOperator"))
2081
+ CommandParameterValueCondition.add_member(:operand, Shapes::ShapeRef.new(shape: CommandParameterValueComparisonOperand, required: true, location_name: "operand"))
2082
+ CommandParameterValueCondition.struct_class = Types::CommandParameterValueCondition
2083
+
2084
+ CommandParameterValueConditionList.member = Shapes::ShapeRef.new(shape: CommandParameterValueCondition)
2085
+
2086
+ CommandParameterValueNumberRange.add_member(:min, Shapes::ShapeRef.new(shape: StringParameterValue, required: true, location_name: "min"))
2087
+ CommandParameterValueNumberRange.add_member(:max, Shapes::ShapeRef.new(shape: StringParameterValue, required: true, location_name: "max"))
2088
+ CommandParameterValueNumberRange.struct_class = Types::CommandParameterValueNumberRange
2089
+
2090
+ CommandParameterValueStringList.member = Shapes::ShapeRef.new(shape: StringParameterValue)
2091
+
2057
2092
  CommandPayload.add_member(:content, Shapes::ShapeRef.new(shape: CommandPayloadBlob, location_name: "content"))
2058
2093
  CommandPayload.add_member(:content_type, Shapes::ShapeRef.new(shape: MimeType, location_name: "contentType"))
2059
2094
  CommandPayload.struct_class = Types::CommandPayload
2060
2095
 
2096
+ CommandPreprocessor.add_member(:aws_json_substitution, Shapes::ShapeRef.new(shape: AwsJsonSubstitutionCommandPreprocessorConfig, location_name: "awsJsonSubstitution"))
2097
+ CommandPreprocessor.struct_class = Types::CommandPreprocessor
2098
+
2061
2099
  CommandSummary.add_member(:command_arn, Shapes::ShapeRef.new(shape: CommandArn, location_name: "commandArn"))
2062
2100
  CommandSummary.add_member(:command_id, Shapes::ShapeRef.new(shape: CommandId, location_name: "commandId"))
2063
2101
  CommandSummary.add_member(:display_name, Shapes::ShapeRef.new(shape: DisplayName, location_name: "displayName"))
@@ -2148,6 +2186,8 @@ module Aws::IoT
2148
2186
  CreateCommandRequest.add_member(:display_name, Shapes::ShapeRef.new(shape: DisplayName, location_name: "displayName"))
2149
2187
  CreateCommandRequest.add_member(:description, Shapes::ShapeRef.new(shape: CommandDescription, location_name: "description"))
2150
2188
  CreateCommandRequest.add_member(:payload, Shapes::ShapeRef.new(shape: CommandPayload, location_name: "payload"))
2189
+ CreateCommandRequest.add_member(:payload_template, Shapes::ShapeRef.new(shape: CommandPayloadTemplateString, location_name: "payloadTemplate"))
2190
+ CreateCommandRequest.add_member(:preprocessor, Shapes::ShapeRef.new(shape: CommandPreprocessor, location_name: "preprocessor"))
2151
2191
  CreateCommandRequest.add_member(:mandatory_parameters, Shapes::ShapeRef.new(shape: CommandParameterList, location_name: "mandatoryParameters"))
2152
2192
  CreateCommandRequest.add_member(:role_arn, Shapes::ShapeRef.new(shape: RoleArn, location_name: "roleArn"))
2153
2193
  CreateCommandRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "tags"))
@@ -3305,6 +3345,8 @@ module Aws::IoT
3305
3345
  GetCommandResponse.add_member(:description, Shapes::ShapeRef.new(shape: CommandDescription, location_name: "description"))
3306
3346
  GetCommandResponse.add_member(:mandatory_parameters, Shapes::ShapeRef.new(shape: CommandParameterList, location_name: "mandatoryParameters"))
3307
3347
  GetCommandResponse.add_member(:payload, Shapes::ShapeRef.new(shape: CommandPayload, location_name: "payload"))
3348
+ GetCommandResponse.add_member(:payload_template, Shapes::ShapeRef.new(shape: CommandPayloadTemplateString, location_name: "payloadTemplate"))
3349
+ GetCommandResponse.add_member(:preprocessor, Shapes::ShapeRef.new(shape: CommandPreprocessor, location_name: "preprocessor"))
3308
3350
  GetCommandResponse.add_member(:role_arn, Shapes::ShapeRef.new(shape: RoleArn, location_name: "roleArn"))
3309
3351
  GetCommandResponse.add_member(:created_at, Shapes::ShapeRef.new(shape: DateType, location_name: "createdAt"))
3310
3352
  GetCommandResponse.add_member(:last_updated_at, Shapes::ShapeRef.new(shape: DateType, location_name: "lastUpdatedAt"))
@@ -1357,6 +1357,22 @@ module Aws::IoT
1357
1357
  include Aws::Structure
1358
1358
  end
1359
1359
 
1360
+ # Configures the command to treat the `payloadTemplate` as a JSON
1361
+ # document for preprocessing. This preprocessor substitutes placeholders
1362
+ # with parameter values to generate the command execution request
1363
+ # payload.
1364
+ #
1365
+ # @!attribute [rw] output_format
1366
+ # Converts the command preprocessor result to the format defined by
1367
+ # this parameter, before sending it to the device.
1368
+ # @return [String]
1369
+ #
1370
+ class AwsJsonSubstitutionCommandPreprocessorConfig < Struct.new(
1371
+ :output_format)
1372
+ SENSITIVE = []
1373
+ include Aws::Structure
1374
+ end
1375
+
1360
1376
  # A Device Defender security profile behavior.
1361
1377
  #
1362
1378
  # @!attribute [rw] name
@@ -2299,10 +2315,12 @@ module Aws::IoT
2299
2315
  # execution.
2300
2316
  # @return [String]
2301
2317
  #
2318
+ # @!attribute [rw] type
2319
+ # The type of the command parameter.
2320
+ # @return [String]
2321
+ #
2302
2322
  # @!attribute [rw] value
2303
- # The value used to describe the command. When you assign a value to a
2304
- # parameter, it will override any default value that you had already
2305
- # specified.
2323
+ # Parameter value that overrides the default value, if set.
2306
2324
  # @return [Types::CommandParameterValue]
2307
2325
  #
2308
2326
  # @!attribute [rw] default_value
@@ -2310,21 +2328,27 @@ module Aws::IoT
2310
2328
  # assumed by the parameter if no other value is assigned to it.
2311
2329
  # @return [Types::CommandParameterValue]
2312
2330
  #
2331
+ # @!attribute [rw] value_conditions
2332
+ # The list of conditions that a command parameter value must satisfy
2333
+ # to create a command execution.
2334
+ # @return [Array<Types::CommandParameterValueCondition>]
2335
+ #
2313
2336
  # @!attribute [rw] description
2314
2337
  # The description of the command parameter.
2315
2338
  # @return [String]
2316
2339
  #
2317
2340
  class CommandParameter < Struct.new(
2318
2341
  :name,
2342
+ :type,
2319
2343
  :value,
2320
2344
  :default_value,
2345
+ :value_conditions,
2321
2346
  :description)
2322
2347
  SENSITIVE = []
2323
2348
  include Aws::Structure
2324
2349
  end
2325
2350
 
2326
- # The range of possible values that's used to describe a specific
2327
- # command parameter.
2351
+ # The value of a command parameter used to create a command execution.
2328
2352
  #
2329
2353
  # <note markdown="1"> The `commandParameterValue` can only have one of the below fields
2330
2354
  # listed.
@@ -2377,6 +2401,79 @@ module Aws::IoT
2377
2401
  include Aws::Structure
2378
2402
  end
2379
2403
 
2404
+ # The comparison operand used to compare the defined value against the
2405
+ # value supplied in request.
2406
+ #
2407
+ # @!attribute [rw] number
2408
+ # An operand of number value type, defined as a string.
2409
+ # @return [String]
2410
+ #
2411
+ # @!attribute [rw] numbers
2412
+ # A List of operands of numerical value type, defined as strings.
2413
+ # @return [Array<String>]
2414
+ #
2415
+ # @!attribute [rw] string
2416
+ # An operand of string value type.
2417
+ # @return [String]
2418
+ #
2419
+ # @!attribute [rw] strings
2420
+ # A List of operands of string value type.
2421
+ # @return [Array<String>]
2422
+ #
2423
+ # @!attribute [rw] number_range
2424
+ # An operand of numerical range value type.
2425
+ # @return [Types::CommandParameterValueNumberRange]
2426
+ #
2427
+ class CommandParameterValueComparisonOperand < Struct.new(
2428
+ :number,
2429
+ :numbers,
2430
+ :string,
2431
+ :strings,
2432
+ :number_range)
2433
+ SENSITIVE = []
2434
+ include Aws::Structure
2435
+ end
2436
+
2437
+ # A condition for the command parameter that must be evaluated to true
2438
+ # for successful creation of a command execution.
2439
+ #
2440
+ # @!attribute [rw] comparison_operator
2441
+ # The comparison operator for the command parameter.
2442
+ #
2443
+ # <note markdown="1"> IN\_RANGE, and NOT\_IN\_RANGE operators include boundary values.
2444
+ #
2445
+ # </note>
2446
+ # @return [String]
2447
+ #
2448
+ # @!attribute [rw] operand
2449
+ # The comparison operand for the command parameter.
2450
+ # @return [Types::CommandParameterValueComparisonOperand]
2451
+ #
2452
+ class CommandParameterValueCondition < Struct.new(
2453
+ :comparison_operator,
2454
+ :operand)
2455
+ SENSITIVE = []
2456
+ include Aws::Structure
2457
+ end
2458
+
2459
+ # The numerical range value type to compare a command parameter value
2460
+ # against.
2461
+ #
2462
+ # @!attribute [rw] min
2463
+ # The minimum value of a numerical range of a command parameter value.
2464
+ # @return [String]
2465
+ #
2466
+ # @!attribute [rw] max
2467
+ # The maximum value of a numerical range of a command parameter value.
2468
+ # @return [String]
2469
+ #
2470
+ class CommandParameterValueNumberRange < Struct.new(
2471
+ :min,
2472
+ :max)
2473
+ SENSITIVE = []
2474
+ include Aws::Structure
2475
+ end
2476
+
2380
2477
  # The command payload object that contains the instructions for the
2381
2478
  # device to process.
2382
2479
  #
@@ -2402,6 +2499,20 @@ module Aws::IoT
2402
2499
  include Aws::Structure
2403
2500
  end
2404
2501
 
2502
+ # Configuration that determines how the `payloadTemplate` is processed
2503
+ # by the service to generate the final payload sent to devices at
2504
+ # `StartCommandExecution` API invocation.
2505
+ #
2506
+ # @!attribute [rw] aws_json_substitution
2507
+ # Configuration for the JSON substitution preprocessor.
2508
+ # @return [Types::AwsJsonSubstitutionCommandPreprocessorConfig]
2509
+ #
2510
+ class CommandPreprocessor < Struct.new(
2511
+ :aws_json_substitution)
2512
+ SENSITIVE = []
2513
+ include Aws::Structure
2514
+ end
2515
+
2405
2516
  # Summary information about a particular command resource.
2406
2517
  #
2407
2518
  # @!attribute [rw] command_arn
@@ -2457,13 +2568,13 @@ module Aws::IoT
2457
2568
  end
2458
2569
 
2459
2570
  # The encryption configuration details that include the status
2460
- # information of the Amazon Web Services Key Management Service (KMS)
2461
- # key and the KMS access role.
2571
+ # information of the Key Management Service (KMS) key and the KMS access
2572
+ # role.
2462
2573
  #
2463
2574
  # @!attribute [rw] configuration_status
2464
2575
  # The health status of KMS key and KMS access role. If either KMS key
2465
2576
  # or KMS access role is `UNHEALTHY`, the return value will be
2466
- # `UNHEALTHY`. To use a customer-managed KMS key, the value of
2577
+ # `UNHEALTHY`. To use a customer managed KMS key, the value of
2467
2578
  # `configurationStatus` must be `HEALTHY`.
2468
2579
  # @return [String]
2469
2580
  #
@@ -2811,8 +2922,7 @@ module Aws::IoT
2811
2922
  # @return [String]
2812
2923
  #
2813
2924
  # @!attribute [rw] payload
2814
- # The payload object for the command. You must specify this
2815
- # information when using the `AWS-IoT` namespace.
2925
+ # The payload object for the static command.
2816
2926
  #
2817
2927
  # You can upload a static payload file from your local storage that
2818
2928
  # contains the instructions for the device to process. The payload
@@ -2821,20 +2931,37 @@ module Aws::IoT
2821
2931
  # content type.
2822
2932
  # @return [Types::CommandPayload]
2823
2933
  #
2934
+ # @!attribute [rw] payload_template
2935
+ # The payload template for the dynamic command.
2936
+ #
2937
+ # <note markdown="1"> This parameter is required for dynamic commands where the command
2938
+ # execution placeholders are supplied either from
2939
+ # `mandatoryParameters` or when `StartCommandExecution` is invoked.
2940
+ #
2941
+ # </note>
2942
+ # @return [String]
2943
+ #
2944
+ # @!attribute [rw] preprocessor
2945
+ # Configuration that determines how `payloadTemplate` is processed to
2946
+ # generate command execution payload.
2947
+ #
2948
+ # <note markdown="1"> This parameter is required for dynamic commands, along with
2949
+ # `payloadTemplate`, and `mandatoryParameters`.
2950
+ #
2951
+ # </note>
2952
+ # @return [Types::CommandPreprocessor]
2953
+ #
2824
2954
  # @!attribute [rw] mandatory_parameters
2825
- # A list of parameters that are required by the
2826
- # `StartCommandExecution` API. These parameters need to be specified
2827
- # only when using the `AWS-IoT-FleetWise` namespace. You can either
2828
- # specify them here or when running the command using the
2829
- # `StartCommandExecution` API.
2955
+ # A list of parameters that are used by `StartCommandExecution` API
2956
+ # for execution payload generation.
2830
2957
  # @return [Array<Types::CommandParameter>]
2831
2958
  #
2832
2959
  # @!attribute [rw] role_arn
2833
2960
  # The IAM role that you must provide when using the
2834
2961
  # `AWS-IoT-FleetWise` namespace. The role grants IoT Device Management
2835
2962
  # the permission to access IoT FleetWise resources for generating the
2836
- # payload for the command. This field is not required when you use the
2837
- # `AWS-IoT` namespace.
2963
+ # payload for the command. This field is not supported when you use
2964
+ # the `AWS-IoT` namespace.
2838
2965
  # @return [String]
2839
2966
  #
2840
2967
  # @!attribute [rw] tags
@@ -2847,6 +2974,8 @@ module Aws::IoT
2847
2974
  :display_name,
2848
2975
  :description,
2849
2976
  :payload,
2977
+ :payload_template,
2978
+ :preprocessor,
2850
2979
  :mandatory_parameters,
2851
2980
  :role_arn,
2852
2981
  :tags)
@@ -6123,17 +6252,16 @@ module Aws::IoT
6123
6252
  class DescribeEncryptionConfigurationRequest < Aws::EmptyStructure; end
6124
6253
 
6125
6254
  # @!attribute [rw] encryption_type
6126
- # The type of the Amazon Web Services Key Management Service (KMS)
6127
- # key.
6255
+ # The type of the KMS key.
6128
6256
  # @return [String]
6129
6257
  #
6130
6258
  # @!attribute [rw] kms_key_arn
6131
- # The Amazon Resource Name (ARN) of the IAM role assumed by Amazon Web
6132
- # Services IoT Core to call KMS on behalf of the customer.
6259
+ # The ARN of the customer managed KMS key.
6133
6260
  # @return [String]
6134
6261
  #
6135
6262
  # @!attribute [rw] kms_access_role_arn
6136
- # The ARN of the customer-managed KMS key.
6263
+ # The Amazon Resource Name (ARN) of the IAM role assumed by Amazon Web
6264
+ # Services IoT Core to call KMS on behalf of the customer.
6137
6265
  # @return [String]
6138
6266
  #
6139
6267
  # @!attribute [rw] configuration_details
@@ -8223,6 +8351,15 @@ module Aws::IoT
8223
8351
  # The payload object that you provided for the command.
8224
8352
  # @return [Types::CommandPayload]
8225
8353
  #
8354
+ # @!attribute [rw] payload_template
8355
+ # The payload template for the dynamic command.
8356
+ # @return [String]
8357
+ #
8358
+ # @!attribute [rw] preprocessor
8359
+ # Configuration that determines how `payloadTemplate` is processed to
8360
+ # generate command execution payload.
8361
+ # @return [Types::CommandPreprocessor]
8362
+ #
8226
8363
  # @!attribute [rw] role_arn
8227
8364
  # The IAM role that you provided when creating the command with
8228
8365
  # `AWS-IoT-FleetWise` as the namespace.
@@ -8252,6 +8389,8 @@ module Aws::IoT
8252
8389
  :description,
8253
8390
  :mandatory_parameters,
8254
8391
  :payload,
8392
+ :payload_template,
8393
+ :preprocessor,
8255
8394
  :role_arn,
8256
8395
  :created_at,
8257
8396
  :last_updated_at,
@@ -15975,9 +16114,7 @@ module Aws::IoT
15975
16114
 
15976
16115
  # @!attribute [rw] principal
15977
16116
  # The principal. Valid principals are CertificateArn
15978
- # (arn:aws:iot:*region*:*accountId*:cert/*certificateId*),
15979
- # thingGroupArn
15980
- # (arn:aws:iot:*region*:*accountId*:thinggroup/*groupName*) and
16117
+ # (arn:aws:iot:*region*:*accountId*:cert/*certificateId*) and
15981
16118
  # CognitoId (*region*:*id*).
15982
16119
  # @return [String]
15983
16120
  #
@@ -17783,12 +17920,11 @@ module Aws::IoT
17783
17920
  end
17784
17921
 
17785
17922
  # @!attribute [rw] encryption_type
17786
- # The type of the Amazon Web Services Key Management Service (KMS)
17787
- # key.
17923
+ # The type of the KMS key.
17788
17924
  # @return [String]
17789
17925
  #
17790
17926
  # @!attribute [rw] kms_key_arn
17791
- # The ARN of the customer-managed KMS key.
17927
+ # The ARN of the customer managedKMS key.
17792
17928
  # @return [String]
17793
17929
  #
17794
17930
  # @!attribute [rw] kms_access_role_arn
data/lib/aws-sdk-iot.rb CHANGED
@@ -54,7 +54,7 @@ module Aws::IoT
54
54
  autoload :EndpointProvider, 'aws-sdk-iot/endpoint_provider'
55
55
  autoload :Endpoints, 'aws-sdk-iot/endpoints'
56
56
 
57
- GEM_VERSION = '1.157.0'
57
+ GEM_VERSION = '1.158.0'
58
58
 
59
59
  end
60
60
 
data/sig/client.rbs CHANGED
@@ -381,9 +381,16 @@ module Aws
381
381
  content: ::String?,
382
382
  content_type: ::String?
383
383
  },
384
+ ?payload_template: ::String,
385
+ ?preprocessor: {
386
+ aws_json_substitution: {
387
+ output_format: ("JSON" | "CBOR")
388
+ }?
389
+ },
384
390
  ?mandatory_parameters: Array[
385
391
  {
386
392
  name: ::String,
393
+ type: ("STRING" | "INTEGER" | "DOUBLE" | "LONG" | "UNSIGNEDLONG" | "BOOLEAN" | "BINARY")?,
387
394
  value: {
388
395
  s: ::String?,
389
396
  b: bool?,
@@ -402,6 +409,21 @@ module Aws
402
409
  bin: ::String?,
403
410
  ul: ::String?
404
411
  }?,
412
+ value_conditions: Array[
413
+ {
414
+ comparison_operator: ("EQUALS" | "NOT_EQUALS" | "LESS_THAN" | "LESS_THAN_EQUALS" | "GREATER_THAN" | "GREATER_THAN_EQUALS" | "IN_SET" | "NOT_IN_SET" | "IN_RANGE" | "NOT_IN_RANGE"),
415
+ operand: {
416
+ number: ::String?,
417
+ numbers: Array[::String]?,
418
+ string: ::String?,
419
+ strings: Array[::String]?,
420
+ number_range: {
421
+ min: ::String,
422
+ max: ::String
423
+ }?
424
+ }
425
+ },
426
+ ]?,
405
427
  description: ::String?
406
428
  },
407
429
  ],
@@ -2619,6 +2641,8 @@ module Aws
2619
2641
  def description: () -> ::String
2620
2642
  def mandatory_parameters: () -> ::Array[Types::CommandParameter]
2621
2643
  def payload: () -> Types::CommandPayload
2644
+ def payload_template: () -> ::String
2645
+ def preprocessor: () -> Types::CommandPreprocessor
2622
2646
  def role_arn: () -> ::String
2623
2647
  def created_at: () -> ::Time
2624
2648
  def last_updated_at: () -> ::Time
data/sig/types.rbs CHANGED
@@ -368,6 +368,11 @@ module Aws::IoT
368
368
  SENSITIVE: []
369
369
  end
370
370
 
371
+ class AwsJsonSubstitutionCommandPreprocessorConfig
372
+ attr_accessor output_format: ("JSON" | "CBOR")
373
+ SENSITIVE: []
374
+ end
375
+
371
376
  class Behavior
372
377
  attr_accessor name: ::String
373
378
  attr_accessor metric: ::String
@@ -625,8 +630,10 @@ module Aws::IoT
625
630
 
626
631
  class CommandParameter
627
632
  attr_accessor name: ::String
633
+ attr_accessor type: ("STRING" | "INTEGER" | "DOUBLE" | "LONG" | "UNSIGNEDLONG" | "BOOLEAN" | "BINARY")
628
634
  attr_accessor value: Types::CommandParameterValue
629
635
  attr_accessor default_value: Types::CommandParameterValue
636
+ attr_accessor value_conditions: ::Array[Types::CommandParameterValueCondition]
630
637
  attr_accessor description: ::String
631
638
  SENSITIVE: []
632
639
  end
@@ -642,12 +649,38 @@ module Aws::IoT
642
649
  SENSITIVE: []
643
650
  end
644
651
 
652
+ class CommandParameterValueComparisonOperand
653
+ attr_accessor number: ::String
654
+ attr_accessor numbers: ::Array[::String]
655
+ attr_accessor string: ::String
656
+ attr_accessor strings: ::Array[::String]
657
+ attr_accessor number_range: Types::CommandParameterValueNumberRange
658
+ SENSITIVE: []
659
+ end
660
+
661
+ class CommandParameterValueCondition
662
+ attr_accessor comparison_operator: ("EQUALS" | "NOT_EQUALS" | "LESS_THAN" | "LESS_THAN_EQUALS" | "GREATER_THAN" | "GREATER_THAN_EQUALS" | "IN_SET" | "NOT_IN_SET" | "IN_RANGE" | "NOT_IN_RANGE")
663
+ attr_accessor operand: Types::CommandParameterValueComparisonOperand
664
+ SENSITIVE: []
665
+ end
666
+
667
+ class CommandParameterValueNumberRange
668
+ attr_accessor min: ::String
669
+ attr_accessor max: ::String
670
+ SENSITIVE: []
671
+ end
672
+
645
673
  class CommandPayload
646
674
  attr_accessor content: ::String
647
675
  attr_accessor content_type: ::String
648
676
  SENSITIVE: []
649
677
  end
650
678
 
679
+ class CommandPreprocessor
680
+ attr_accessor aws_json_substitution: Types::AwsJsonSubstitutionCommandPreprocessorConfig
681
+ SENSITIVE: []
682
+ end
683
+
651
684
  class CommandSummary
652
685
  attr_accessor command_arn: ::String
653
686
  attr_accessor command_id: ::String
@@ -769,6 +802,8 @@ module Aws::IoT
769
802
  attr_accessor display_name: ::String
770
803
  attr_accessor description: ::String
771
804
  attr_accessor payload: Types::CommandPayload
805
+ attr_accessor payload_template: ::String
806
+ attr_accessor preprocessor: Types::CommandPreprocessor
772
807
  attr_accessor mandatory_parameters: ::Array[Types::CommandParameter]
773
808
  attr_accessor role_arn: ::String
774
809
  attr_accessor tags: ::Array[Types::Tag]
@@ -2315,6 +2350,8 @@ module Aws::IoT
2315
2350
  attr_accessor description: ::String
2316
2351
  attr_accessor mandatory_parameters: ::Array[Types::CommandParameter]
2317
2352
  attr_accessor payload: Types::CommandPayload
2353
+ attr_accessor payload_template: ::String
2354
+ attr_accessor preprocessor: Types::CommandPreprocessor
2318
2355
  attr_accessor role_arn: ::String
2319
2356
  attr_accessor created_at: ::Time
2320
2357
  attr_accessor last_updated_at: ::Time
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-iot
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.157.0
4
+ version: 1.158.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services