aws-sdk-iot 1.138.0 → 1.140.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.
@@ -833,6 +833,22 @@ module Aws::IoT
833
833
  # The principal, which can be a certificate ARN (as returned from the
834
834
  # CreateCertificate operation) or an Amazon Cognito ID.
835
835
  #
836
+ # @option params [String] :thing_principal_type
837
+ # The type of the relation you want to specify when you attach a
838
+ # principal to a thing.
839
+ #
840
+ # * `EXCLUSIVE_THING` - Attaches the specified principal to the
841
+ # specified thing, exclusively. The thing will be the only thing
842
+ # that’s attached to the principal.
843
+ #
844
+ # ^
845
+ # ^
846
+ #
847
+ # * `NON_EXCLUSIVE_THING` - Attaches the specified principal to the
848
+ # specified thing. Multiple things can be attached to the principal.
849
+ #
850
+ # ^
851
+ #
836
852
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
837
853
  #
838
854
  # @example Request syntax with placeholder values
@@ -840,6 +856,7 @@ module Aws::IoT
840
856
  # resp = client.attach_thing_principal({
841
857
  # thing_name: "ThingName", # required
842
858
  # principal: "Principal", # required
859
+ # thing_principal_type: "EXCLUSIVE_THING", # accepts EXCLUSIVE_THING, NON_EXCLUSIVE_THING
843
860
  # })
844
861
  #
845
862
  # @overload attach_thing_principal(params = {})
@@ -1521,6 +1538,109 @@ module Aws::IoT
1521
1538
  req.send_request(options)
1522
1539
  end
1523
1540
 
1541
+ # Creates a command. A command contains reusable configurations that can
1542
+ # be applied before they are sent to the devices.
1543
+ #
1544
+ # @option params [required, String] :command_id
1545
+ # A unique identifier for the command. We recommend using UUID.
1546
+ # Alpha-numeric characters, hyphens, and underscores are valid for use
1547
+ # here.
1548
+ #
1549
+ # @option params [String] :namespace
1550
+ # The namespace of the command. The MQTT reserved topics and validations
1551
+ # will be used for command executions according to the namespace
1552
+ # setting.
1553
+ #
1554
+ # @option params [String] :display_name
1555
+ # The user-friendly name in the console for the command. This name
1556
+ # doesn't have to be unique. You can update the user-friendly name
1557
+ # after you define it.
1558
+ #
1559
+ # @option params [String] :description
1560
+ # A short text decription of the command.
1561
+ #
1562
+ # @option params [Types::CommandPayload] :payload
1563
+ # The payload object for the command. You must specify this information
1564
+ # when using the `AWS-IoT` namespace.
1565
+ #
1566
+ # You can upload a static payload file from your local storage that
1567
+ # contains the instructions for the device to process. The payload file
1568
+ # can use any format. To make sure that the device correctly interprets
1569
+ # the payload, we recommend you to specify the payload content type.
1570
+ #
1571
+ # @option params [Array<Types::CommandParameter>] :mandatory_parameters
1572
+ # A list of parameters that are required by the `StartCommandExecution`
1573
+ # API. These parameters need to be specified only when using the
1574
+ # `AWS-IoT-FleetWise` namespace. You can either specify them here or
1575
+ # when running the command using the `StartCommandExecution` API.
1576
+ #
1577
+ # @option params [String] :role_arn
1578
+ # The IAM role that allows access to create the command.
1579
+ #
1580
+ # @option params [Array<Types::Tag>] :tags
1581
+ # Name-value pairs that are used as metadata to manage a command.
1582
+ #
1583
+ # @return [Types::CreateCommandResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1584
+ #
1585
+ # * {Types::CreateCommandResponse#command_id #command_id} => String
1586
+ # * {Types::CreateCommandResponse#command_arn #command_arn} => String
1587
+ #
1588
+ # @example Request syntax with placeholder values
1589
+ #
1590
+ # resp = client.create_command({
1591
+ # command_id: "CommandId", # required
1592
+ # namespace: "AWS-IoT", # accepts AWS-IoT, AWS-IoT-FleetWise
1593
+ # display_name: "DisplayName",
1594
+ # description: "CommandDescription",
1595
+ # payload: {
1596
+ # content: "data",
1597
+ # content_type: "MimeType",
1598
+ # },
1599
+ # mandatory_parameters: [
1600
+ # {
1601
+ # name: "CommandParameterName", # required
1602
+ # value: {
1603
+ # s: "StringParameterValue",
1604
+ # b: false,
1605
+ # i: 1,
1606
+ # l: 1,
1607
+ # d: 1.0,
1608
+ # bin: "data",
1609
+ # ul: "UnsignedLongParameterValue",
1610
+ # },
1611
+ # default_value: {
1612
+ # s: "StringParameterValue",
1613
+ # b: false,
1614
+ # i: 1,
1615
+ # l: 1,
1616
+ # d: 1.0,
1617
+ # bin: "data",
1618
+ # ul: "UnsignedLongParameterValue",
1619
+ # },
1620
+ # description: "CommandParameterDescription",
1621
+ # },
1622
+ # ],
1623
+ # role_arn: "RoleArn",
1624
+ # tags: [
1625
+ # {
1626
+ # key: "TagKey", # required
1627
+ # value: "TagValue",
1628
+ # },
1629
+ # ],
1630
+ # })
1631
+ #
1632
+ # @example Response structure
1633
+ #
1634
+ # resp.command_id #=> String
1635
+ # resp.command_arn #=> String
1636
+ #
1637
+ # @overload create_command(params = {})
1638
+ # @param [Hash] params ({})
1639
+ def create_command(params = {}, options = {})
1640
+ req = build_request(:create_command, params)
1641
+ req.send_request(options)
1642
+ end
1643
+
1524
1644
  # Use this API to define a Custom Metric published by your devices to
1525
1645
  # Device Defender.
1526
1646
  #
@@ -1818,6 +1938,8 @@ module Aws::IoT
1818
1938
  # },
1819
1939
  # server_certificate_config: {
1820
1940
  # enable_ocsp_check: false,
1941
+ # ocsp_lambda_arn: "OCSPLambdaArn",
1942
+ # ocsp_authorized_responder_arn: "AcmCertificateArn",
1821
1943
  # },
1822
1944
  # authentication_type: "CUSTOM_AUTH_X509", # accepts CUSTOM_AUTH_X509, CUSTOM_AUTH, AWS_X509, AWS_SIGV4, DEFAULT
1823
1945
  # application_protocol: "SECURE_MQTT", # accepts SECURE_MQTT, MQTT_WSS, HTTPS, DEFAULT
@@ -2021,9 +2143,9 @@ module Aws::IoT
2021
2143
  # [1]: https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions
2022
2144
  #
2023
2145
  # @option params [required, String] :job_id
2024
- # A job identifier which must be unique for your Amazon Web Services
2025
- # account. We recommend using a UUID. Alpha-numeric characters, "-"
2026
- # and "\_" are valid for use here.
2146
+ # A job identifier which must be unique for your account. We recommend
2147
+ # using a UUID. Alpha-numeric characters, "-" and "\_" are valid for
2148
+ # use here.
2027
2149
  #
2028
2150
  # @option params [required, Array<String>] :targets
2029
2151
  # A list of things and thing groups to which the job should be sent.
@@ -3666,6 +3788,15 @@ module Aws::IoT
3666
3788
  # thing_type_properties: {
3667
3789
  # thing_type_description: "ThingTypeDescription",
3668
3790
  # searchable_attributes: ["AttributeName"],
3791
+ # mqtt5_configuration: {
3792
+ # propagating_attributes: [
3793
+ # {
3794
+ # user_property_key: "UserPropertyKeyName",
3795
+ # thing_attribute: "AttributeName",
3796
+ # connection_attribute: "ConnectionAttributeName",
3797
+ # },
3798
+ # ],
3799
+ # },
3669
3800
  # },
3670
3801
  # tags: [
3671
3802
  # {
@@ -4444,6 +4575,63 @@ module Aws::IoT
4444
4575
  req.send_request(options)
4445
4576
  end
4446
4577
 
4578
+ # Delete a command resource.
4579
+ #
4580
+ # @option params [required, String] :command_id
4581
+ # The unique identifier of the command to be deleted.
4582
+ #
4583
+ # @return [Types::DeleteCommandResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4584
+ #
4585
+ # * {Types::DeleteCommandResponse#status_code #status_code} => Integer
4586
+ #
4587
+ # @example Request syntax with placeholder values
4588
+ #
4589
+ # resp = client.delete_command({
4590
+ # command_id: "CommandId", # required
4591
+ # })
4592
+ #
4593
+ # @example Response structure
4594
+ #
4595
+ # resp.status_code #=> Integer
4596
+ #
4597
+ # @overload delete_command(params = {})
4598
+ # @param [Hash] params ({})
4599
+ def delete_command(params = {}, options = {})
4600
+ req = build_request(:delete_command, params)
4601
+ req.send_request(options)
4602
+ end
4603
+
4604
+ # Delete a command execution.
4605
+ #
4606
+ # <note markdown="1"> Only command executions that enter a terminal state can be deleted
4607
+ # from your account.
4608
+ #
4609
+ # </note>
4610
+ #
4611
+ # @option params [required, String] :execution_id
4612
+ # The unique identifier of the command execution that you want to delete
4613
+ # from your account.
4614
+ #
4615
+ # @option params [required, String] :target_arn
4616
+ # The Amazon Resource Number (ARN) of the target device for which you
4617
+ # want to delete command executions.
4618
+ #
4619
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
4620
+ #
4621
+ # @example Request syntax with placeholder values
4622
+ #
4623
+ # resp = client.delete_command_execution({
4624
+ # execution_id: "CommandExecutionId", # required
4625
+ # target_arn: "TargetArn", # required
4626
+ # })
4627
+ #
4628
+ # @overload delete_command_execution(params = {})
4629
+ # @param [Hash] params ({})
4630
+ def delete_command_execution(params = {}, options = {})
4631
+ req = build_request(:delete_command_execution, params)
4632
+ req.send_request(options)
4633
+ end
4634
+
4447
4635
  # Deletes a Device Defender detect custom metric.
4448
4636
  #
4449
4637
  # Requires permission to access the [DeleteCustomMetric][1] action.
@@ -6139,6 +6327,8 @@ module Aws::IoT
6139
6327
  # resp.last_status_change_date #=> Time
6140
6328
  # resp.tls_config.security_policy #=> String
6141
6329
  # resp.server_certificate_config.enable_ocsp_check #=> Boolean
6330
+ # resp.server_certificate_config.ocsp_lambda_arn #=> String
6331
+ # resp.server_certificate_config.ocsp_authorized_responder_arn #=> String
6142
6332
  # resp.authentication_type #=> String, one of "CUSTOM_AUTH_X509", "CUSTOM_AUTH", "AWS_X509", "AWS_SIGV4", "DEFAULT"
6143
6333
  # resp.application_protocol #=> String, one of "SECURE_MQTT", "MQTT_WSS", "HTTPS", "DEFAULT"
6144
6334
  # resp.client_certificate_config.client_certificate_callback_arn #=> String
@@ -6348,8 +6538,8 @@ module Aws::IoT
6348
6538
  # The unique identifier you assigned to this job when it was created.
6349
6539
  #
6350
6540
  # @option params [Boolean] :before_substitution
6351
- # A flag that provides a view of the job document before and after the
6352
- # substitution parameters have been resolved with their exact values.
6541
+ # Provides a view of the job document before and after the substitution
6542
+ # parameters have been resolved with their exact values.
6353
6543
  #
6354
6544
  # @return [Types::DescribeJobResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6355
6545
  #
@@ -7143,6 +7333,10 @@ module Aws::IoT
7143
7333
  # resp.thing_type_properties.thing_type_description #=> String
7144
7334
  # resp.thing_type_properties.searchable_attributes #=> Array
7145
7335
  # resp.thing_type_properties.searchable_attributes[0] #=> String
7336
+ # resp.thing_type_properties.mqtt5_configuration.propagating_attributes #=> Array
7337
+ # resp.thing_type_properties.mqtt5_configuration.propagating_attributes[0].user_property_key #=> String
7338
+ # resp.thing_type_properties.mqtt5_configuration.propagating_attributes[0].thing_attribute #=> String
7339
+ # resp.thing_type_properties.mqtt5_configuration.propagating_attributes[0].connection_attribute #=> String
7146
7340
  # resp.thing_type_metadata.deprecated #=> Boolean
7147
7341
  # resp.thing_type_metadata.deprecation_date #=> Time
7148
7342
  # resp.thing_type_metadata.creation_date #=> Time
@@ -7548,6 +7742,148 @@ module Aws::IoT
7548
7742
  req.send_request(options)
7549
7743
  end
7550
7744
 
7745
+ # Gets information about the specified command.
7746
+ #
7747
+ # @option params [required, String] :command_id
7748
+ # The unique identifier of the command for which you want to retrieve
7749
+ # information.
7750
+ #
7751
+ # @return [Types::GetCommandResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7752
+ #
7753
+ # * {Types::GetCommandResponse#command_id #command_id} => String
7754
+ # * {Types::GetCommandResponse#command_arn #command_arn} => String
7755
+ # * {Types::GetCommandResponse#namespace #namespace} => String
7756
+ # * {Types::GetCommandResponse#display_name #display_name} => String
7757
+ # * {Types::GetCommandResponse#description #description} => String
7758
+ # * {Types::GetCommandResponse#mandatory_parameters #mandatory_parameters} => Array&lt;Types::CommandParameter&gt;
7759
+ # * {Types::GetCommandResponse#payload #payload} => Types::CommandPayload
7760
+ # * {Types::GetCommandResponse#role_arn #role_arn} => String
7761
+ # * {Types::GetCommandResponse#created_at #created_at} => Time
7762
+ # * {Types::GetCommandResponse#last_updated_at #last_updated_at} => Time
7763
+ # * {Types::GetCommandResponse#deprecated #deprecated} => Boolean
7764
+ # * {Types::GetCommandResponse#pending_deletion #pending_deletion} => Boolean
7765
+ #
7766
+ # @example Request syntax with placeholder values
7767
+ #
7768
+ # resp = client.get_command({
7769
+ # command_id: "CommandId", # required
7770
+ # })
7771
+ #
7772
+ # @example Response structure
7773
+ #
7774
+ # resp.command_id #=> String
7775
+ # resp.command_arn #=> String
7776
+ # resp.namespace #=> String, one of "AWS-IoT", "AWS-IoT-FleetWise"
7777
+ # resp.display_name #=> String
7778
+ # resp.description #=> String
7779
+ # resp.mandatory_parameters #=> Array
7780
+ # resp.mandatory_parameters[0].name #=> String
7781
+ # resp.mandatory_parameters[0].value.s #=> String
7782
+ # resp.mandatory_parameters[0].value.b #=> Boolean
7783
+ # resp.mandatory_parameters[0].value.i #=> Integer
7784
+ # resp.mandatory_parameters[0].value.l #=> Integer
7785
+ # resp.mandatory_parameters[0].value.d #=> Float
7786
+ # resp.mandatory_parameters[0].value.bin #=> String
7787
+ # resp.mandatory_parameters[0].value.ul #=> String
7788
+ # resp.mandatory_parameters[0].default_value.s #=> String
7789
+ # resp.mandatory_parameters[0].default_value.b #=> Boolean
7790
+ # resp.mandatory_parameters[0].default_value.i #=> Integer
7791
+ # resp.mandatory_parameters[0].default_value.l #=> Integer
7792
+ # resp.mandatory_parameters[0].default_value.d #=> Float
7793
+ # resp.mandatory_parameters[0].default_value.bin #=> String
7794
+ # resp.mandatory_parameters[0].default_value.ul #=> String
7795
+ # resp.mandatory_parameters[0].description #=> String
7796
+ # resp.payload.content #=> String
7797
+ # resp.payload.content_type #=> String
7798
+ # resp.role_arn #=> String
7799
+ # resp.created_at #=> Time
7800
+ # resp.last_updated_at #=> Time
7801
+ # resp.deprecated #=> Boolean
7802
+ # resp.pending_deletion #=> Boolean
7803
+ #
7804
+ # @overload get_command(params = {})
7805
+ # @param [Hash] params ({})
7806
+ def get_command(params = {}, options = {})
7807
+ req = build_request(:get_command, params)
7808
+ req.send_request(options)
7809
+ end
7810
+
7811
+ # Gets information about the specific command execution on a single
7812
+ # device.
7813
+ #
7814
+ # @option params [required, String] :execution_id
7815
+ # The unique identifier for the command execution. This information is
7816
+ # returned as a response of the `StartCommandExecution` API request.
7817
+ #
7818
+ # @option params [required, String] :target_arn
7819
+ # The Amazon Resource Number (ARN) of the device on which the command
7820
+ # execution is being performed.
7821
+ #
7822
+ # @option params [Boolean] :include_result
7823
+ # Can be used to specify whether to include the result of the command
7824
+ # execution in the `GetCommandExecution` API response. Your device can
7825
+ # use this field to provide additional information about the command
7826
+ # execution. You only need to specify this field when using the
7827
+ # `AWS-IoT` namespace.
7828
+ #
7829
+ # @return [Types::GetCommandExecutionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7830
+ #
7831
+ # * {Types::GetCommandExecutionResponse#execution_id #execution_id} => String
7832
+ # * {Types::GetCommandExecutionResponse#command_arn #command_arn} => String
7833
+ # * {Types::GetCommandExecutionResponse#target_arn #target_arn} => String
7834
+ # * {Types::GetCommandExecutionResponse#status #status} => String
7835
+ # * {Types::GetCommandExecutionResponse#status_reason #status_reason} => Types::StatusReason
7836
+ # * {Types::GetCommandExecutionResponse#result #result} => Hash&lt;String,Types::CommandExecutionResult&gt;
7837
+ # * {Types::GetCommandExecutionResponse#parameters #parameters} => Hash&lt;String,Types::CommandParameterValue&gt;
7838
+ # * {Types::GetCommandExecutionResponse#execution_timeout_seconds #execution_timeout_seconds} => Integer
7839
+ # * {Types::GetCommandExecutionResponse#created_at #created_at} => Time
7840
+ # * {Types::GetCommandExecutionResponse#last_updated_at #last_updated_at} => Time
7841
+ # * {Types::GetCommandExecutionResponse#started_at #started_at} => Time
7842
+ # * {Types::GetCommandExecutionResponse#completed_at #completed_at} => Time
7843
+ # * {Types::GetCommandExecutionResponse#time_to_live #time_to_live} => Time
7844
+ #
7845
+ # @example Request syntax with placeholder values
7846
+ #
7847
+ # resp = client.get_command_execution({
7848
+ # execution_id: "CommandExecutionId", # required
7849
+ # target_arn: "TargetArn", # required
7850
+ # include_result: false,
7851
+ # })
7852
+ #
7853
+ # @example Response structure
7854
+ #
7855
+ # resp.execution_id #=> String
7856
+ # resp.command_arn #=> String
7857
+ # resp.target_arn #=> String
7858
+ # resp.status #=> String, one of "CREATED", "IN_PROGRESS", "SUCCEEDED", "FAILED", "REJECTED", "TIMED_OUT"
7859
+ # resp.status_reason.reason_code #=> String
7860
+ # resp.status_reason.reason_description #=> String
7861
+ # resp.result #=> Hash
7862
+ # resp.result["CommandExecutionResultName"].s #=> String
7863
+ # resp.result["CommandExecutionResultName"].b #=> Boolean
7864
+ # resp.result["CommandExecutionResultName"].bin #=> String
7865
+ # resp.parameters #=> Hash
7866
+ # resp.parameters["CommandParameterName"].s #=> String
7867
+ # resp.parameters["CommandParameterName"].b #=> Boolean
7868
+ # resp.parameters["CommandParameterName"].i #=> Integer
7869
+ # resp.parameters["CommandParameterName"].l #=> Integer
7870
+ # resp.parameters["CommandParameterName"].d #=> Float
7871
+ # resp.parameters["CommandParameterName"].bin #=> String
7872
+ # resp.parameters["CommandParameterName"].ul #=> String
7873
+ # resp.execution_timeout_seconds #=> Integer
7874
+ # resp.created_at #=> Time
7875
+ # resp.last_updated_at #=> Time
7876
+ # resp.started_at #=> Time
7877
+ # resp.completed_at #=> Time
7878
+ # resp.time_to_live #=> Time
7879
+ #
7880
+ # @overload get_command_execution(params = {})
7881
+ # @param [Hash] params ({})
7882
+ def get_command_execution(params = {}, options = {})
7883
+ req = build_request(:get_command_execution, params)
7884
+ req.send_request(options)
7885
+ end
7886
+
7551
7887
  # Gets a list of the policies that have an effect on the authorization
7552
7888
  # behavior of the specified device when it connects to the IoT device
7553
7889
  # gateway.
@@ -7654,8 +7990,8 @@ module Aws::IoT
7654
7990
  # The unique identifier you assigned to this job when it was created.
7655
7991
  #
7656
7992
  # @option params [Boolean] :before_substitution
7657
- # A flag that provides a view of the job document before and after the
7658
- # substitution parameters have been resolved with their exact values.
7993
+ # Provides a view of the job document before and after the substitution
7994
+ # parameters have been resolved with their exact values.
7659
7995
  #
7660
7996
  # @return [Types::GetJobDocumentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7661
7997
  #
@@ -9404,6 +9740,166 @@ module Aws::IoT
9404
9740
  req.send_request(options)
9405
9741
  end
9406
9742
 
9743
+ # List all command executions.
9744
+ #
9745
+ # You must provide only the `startedTimeFilter` or the
9746
+ # `completedTimeFilter` information. If you provide both time filters,
9747
+ # the API will generate an error. You can use this information to find
9748
+ # command executions that started within a specific timeframe.
9749
+ #
9750
+ # @option params [Integer] :max_results
9751
+ # The maximum number of results to return in this operation.
9752
+ #
9753
+ # @option params [String] :next_token
9754
+ # To retrieve the next set of results, the `nextToken` value from a
9755
+ # previous response; otherwise `null` to receive the first set of
9756
+ # results.
9757
+ #
9758
+ # @option params [String] :namespace
9759
+ # The namespace of the command.
9760
+ #
9761
+ # @option params [String] :status
9762
+ # List all command executions for the device that have a particular
9763
+ # status. For example, you can filter the list to display only command
9764
+ # executions that have failed or timed out.
9765
+ #
9766
+ # @option params [String] :sort_order
9767
+ # Specify whether to list the command executions that were created in
9768
+ # the ascending or descending order. By default, the API returns all
9769
+ # commands in the descending order based on the start time or completion
9770
+ # time of the executions, that are determined by the `startTimeFilter`
9771
+ # and `completeTimeFilter` parameters.
9772
+ #
9773
+ # @option params [Types::TimeFilter] :started_time_filter
9774
+ # List all command executions that started any time before or after the
9775
+ # date and time that you specify. The date and time uses the format
9776
+ # `yyyy-MM-dd'T'HH:mm`.
9777
+ #
9778
+ # @option params [Types::TimeFilter] :completed_time_filter
9779
+ # List all command executions that completed any time before or after
9780
+ # the date and time that you specify. The date and time uses the format
9781
+ # `yyyy-MM-dd'T'HH:mm`.
9782
+ #
9783
+ # @option params [String] :target_arn
9784
+ # The Amazon Resource Number (ARN) of the target device. You can use
9785
+ # this information to list all command executions for a particular
9786
+ # device.
9787
+ #
9788
+ # @option params [String] :command_arn
9789
+ # The Amazon Resource Number (ARN) of the command. You can use this
9790
+ # information to list all command executions for a particular command.
9791
+ #
9792
+ # @return [Types::ListCommandExecutionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
9793
+ #
9794
+ # * {Types::ListCommandExecutionsResponse#command_executions #command_executions} => Array&lt;Types::CommandExecutionSummary&gt;
9795
+ # * {Types::ListCommandExecutionsResponse#next_token #next_token} => String
9796
+ #
9797
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
9798
+ #
9799
+ # @example Request syntax with placeholder values
9800
+ #
9801
+ # resp = client.list_command_executions({
9802
+ # max_results: 1,
9803
+ # next_token: "NextToken",
9804
+ # namespace: "AWS-IoT", # accepts AWS-IoT, AWS-IoT-FleetWise
9805
+ # status: "CREATED", # accepts CREATED, IN_PROGRESS, SUCCEEDED, FAILED, REJECTED, TIMED_OUT
9806
+ # sort_order: "ASCENDING", # accepts ASCENDING, DESCENDING
9807
+ # started_time_filter: {
9808
+ # after: "StringDateTime",
9809
+ # before: "StringDateTime",
9810
+ # },
9811
+ # completed_time_filter: {
9812
+ # after: "StringDateTime",
9813
+ # before: "StringDateTime",
9814
+ # },
9815
+ # target_arn: "TargetArn",
9816
+ # command_arn: "CommandArn",
9817
+ # })
9818
+ #
9819
+ # @example Response structure
9820
+ #
9821
+ # resp.command_executions #=> Array
9822
+ # resp.command_executions[0].command_arn #=> String
9823
+ # resp.command_executions[0].execution_id #=> String
9824
+ # resp.command_executions[0].target_arn #=> String
9825
+ # resp.command_executions[0].status #=> String, one of "CREATED", "IN_PROGRESS", "SUCCEEDED", "FAILED", "REJECTED", "TIMED_OUT"
9826
+ # resp.command_executions[0].created_at #=> Time
9827
+ # resp.command_executions[0].started_at #=> Time
9828
+ # resp.command_executions[0].completed_at #=> Time
9829
+ # resp.next_token #=> String
9830
+ #
9831
+ # @overload list_command_executions(params = {})
9832
+ # @param [Hash] params ({})
9833
+ def list_command_executions(params = {}, options = {})
9834
+ req = build_request(:list_command_executions, params)
9835
+ req.send_request(options)
9836
+ end
9837
+
9838
+ # List all commands in your account.
9839
+ #
9840
+ # @option params [Integer] :max_results
9841
+ # The maximum number of results to return in this operation. By default,
9842
+ # the API returns up to a maximum of 25 results. You can override this
9843
+ # default value to return up to a maximum of 100 results for this
9844
+ # operation.
9845
+ #
9846
+ # @option params [String] :next_token
9847
+ # To retrieve the next set of results, the `nextToken` value from a
9848
+ # previous response; otherwise `null` to receive the first set of
9849
+ # results.
9850
+ #
9851
+ # @option params [String] :namespace
9852
+ # The namespace of the command. By default, the API returns all commands
9853
+ # that have been created for both `AWS-IoT` and `AWS-IoT-FleetWise`
9854
+ # namespaces. You can override this default value if you want to return
9855
+ # all commands that have been created only for a specific namespace.
9856
+ #
9857
+ # @option params [String] :command_parameter_name
9858
+ # A filter that can be used to display the list of commands that have a
9859
+ # specific command parameter name.
9860
+ #
9861
+ # @option params [String] :sort_order
9862
+ # Specify whether to list the commands that you have created in the
9863
+ # ascending or descending order. By default, the API returns all
9864
+ # commands in the descending order based on the time that they were
9865
+ # created.
9866
+ #
9867
+ # @return [Types::ListCommandsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
9868
+ #
9869
+ # * {Types::ListCommandsResponse#commands #commands} => Array&lt;Types::CommandSummary&gt;
9870
+ # * {Types::ListCommandsResponse#next_token #next_token} => String
9871
+ #
9872
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
9873
+ #
9874
+ # @example Request syntax with placeholder values
9875
+ #
9876
+ # resp = client.list_commands({
9877
+ # max_results: 1,
9878
+ # next_token: "NextToken",
9879
+ # namespace: "AWS-IoT", # accepts AWS-IoT, AWS-IoT-FleetWise
9880
+ # command_parameter_name: "CommandParameterName",
9881
+ # sort_order: "ASCENDING", # accepts ASCENDING, DESCENDING
9882
+ # })
9883
+ #
9884
+ # @example Response structure
9885
+ #
9886
+ # resp.commands #=> Array
9887
+ # resp.commands[0].command_arn #=> String
9888
+ # resp.commands[0].command_id #=> String
9889
+ # resp.commands[0].display_name #=> String
9890
+ # resp.commands[0].deprecated #=> Boolean
9891
+ # resp.commands[0].created_at #=> Time
9892
+ # resp.commands[0].last_updated_at #=> Time
9893
+ # resp.commands[0].pending_deletion #=> Boolean
9894
+ # resp.next_token #=> String
9895
+ #
9896
+ # @overload list_commands(params = {})
9897
+ # @param [Hash] params ({})
9898
+ def list_commands(params = {}, options = {})
9899
+ req = build_request(:list_commands, params)
9900
+ req.send_request(options)
9901
+ end
9902
+
9407
9903
  # Lists your Device Defender detect custom metrics.
9408
9904
  #
9409
9905
  # Requires permission to access the [ListCustomMetrics][1] action.
@@ -10675,6 +11171,75 @@ module Aws::IoT
10675
11171
  req.send_request(options)
10676
11172
  end
10677
11173
 
11174
+ # Lists the things associated with the specified principal. A principal
11175
+ # can be an X.509 certificate or an Amazon Cognito ID.
11176
+ #
11177
+ # Requires permission to access the [ListPrincipalThings][1] action.
11178
+ #
11179
+ #
11180
+ #
11181
+ # [1]: https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions
11182
+ #
11183
+ # @option params [String] :next_token
11184
+ # To retrieve the next set of results, the `nextToken` value from a
11185
+ # previous response; otherwise **null** to receive the first set of
11186
+ # results.
11187
+ #
11188
+ # @option params [Integer] :max_results
11189
+ # The maximum number of results to return in this operation.
11190
+ #
11191
+ # @option params [required, String] :principal
11192
+ # The principal. A principal can be an X.509 certificate or an Amazon
11193
+ # Cognito ID.
11194
+ #
11195
+ # @option params [String] :thing_principal_type
11196
+ # The type of the relation you want to filter in the response. If no
11197
+ # value is provided in this field, the response will list all things,
11198
+ # including both the `EXCLUSIVE_THING` and `NON_EXCLUSIVE_THING`
11199
+ # attachment types.
11200
+ #
11201
+ # * `EXCLUSIVE_THING` - Attaches the specified principal to the
11202
+ # specified thing, exclusively. The thing will be the only thing
11203
+ # that’s attached to the principal.
11204
+ #
11205
+ # ^
11206
+ # ^
11207
+ #
11208
+ # * `NON_EXCLUSIVE_THING` - Attaches the specified principal to the
11209
+ # specified thing. Multiple things can be attached to the principal.
11210
+ #
11211
+ # ^
11212
+ #
11213
+ # @return [Types::ListPrincipalThingsV2Response] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
11214
+ #
11215
+ # * {Types::ListPrincipalThingsV2Response#principal_thing_objects #principal_thing_objects} => Array&lt;Types::PrincipalThingObject&gt;
11216
+ # * {Types::ListPrincipalThingsV2Response#next_token #next_token} => String
11217
+ #
11218
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
11219
+ #
11220
+ # @example Request syntax with placeholder values
11221
+ #
11222
+ # resp = client.list_principal_things_v2({
11223
+ # next_token: "NextToken",
11224
+ # max_results: 1,
11225
+ # principal: "Principal", # required
11226
+ # thing_principal_type: "EXCLUSIVE_THING", # accepts EXCLUSIVE_THING, NON_EXCLUSIVE_THING
11227
+ # })
11228
+ #
11229
+ # @example Response structure
11230
+ #
11231
+ # resp.principal_thing_objects #=> Array
11232
+ # resp.principal_thing_objects[0].thing_name #=> String
11233
+ # resp.principal_thing_objects[0].thing_principal_type #=> String, one of "EXCLUSIVE_THING", "NON_EXCLUSIVE_THING"
11234
+ # resp.next_token #=> String
11235
+ #
11236
+ # @overload list_principal_things_v2(params = {})
11237
+ # @param [Hash] params ({})
11238
+ def list_principal_things_v2(params = {}, options = {})
11239
+ req = build_request(:list_principal_things_v2, params)
11240
+ req.send_request(options)
11241
+ end
11242
+
10678
11243
  # A list of provisioning template versions.
10679
11244
  #
10680
11245
  # Requires permission to access the
@@ -11457,6 +12022,74 @@ module Aws::IoT
11457
12022
  req.send_request(options)
11458
12023
  end
11459
12024
 
12025
+ # Lists the principals associated with the specified thing. A principal
12026
+ # can be an X.509 certificate or an Amazon Cognito ID.
12027
+ #
12028
+ # Requires permission to access the [ListThingPrincipals][1] action.
12029
+ #
12030
+ #
12031
+ #
12032
+ # [1]: https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions
12033
+ #
12034
+ # @option params [String] :next_token
12035
+ # To retrieve the next set of results, the `nextToken` value from a
12036
+ # previous response; otherwise **null** to receive the first set of
12037
+ # results.
12038
+ #
12039
+ # @option params [Integer] :max_results
12040
+ # The maximum number of results to return in this operation.
12041
+ #
12042
+ # @option params [required, String] :thing_name
12043
+ # The name of the thing.
12044
+ #
12045
+ # @option params [String] :thing_principal_type
12046
+ # The type of the relation you want to filter in the response. If no
12047
+ # value is provided in this field, the response will list all
12048
+ # principals, including both the `EXCLUSIVE_THING` and
12049
+ # `NON_EXCLUSIVE_THING` attachment types.
12050
+ #
12051
+ # * `EXCLUSIVE_THING` - Attaches the specified principal to the
12052
+ # specified thing, exclusively. The thing will be the only thing
12053
+ # that’s attached to the principal.
12054
+ #
12055
+ # ^
12056
+ # ^
12057
+ #
12058
+ # * `NON_EXCLUSIVE_THING` - Attaches the specified principal to the
12059
+ # specified thing. Multiple things can be attached to the principal.
12060
+ #
12061
+ # ^
12062
+ #
12063
+ # @return [Types::ListThingPrincipalsV2Response] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
12064
+ #
12065
+ # * {Types::ListThingPrincipalsV2Response#thing_principal_objects #thing_principal_objects} => Array&lt;Types::ThingPrincipalObject&gt;
12066
+ # * {Types::ListThingPrincipalsV2Response#next_token #next_token} => String
12067
+ #
12068
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
12069
+ #
12070
+ # @example Request syntax with placeholder values
12071
+ #
12072
+ # resp = client.list_thing_principals_v2({
12073
+ # next_token: "NextToken",
12074
+ # max_results: 1,
12075
+ # thing_name: "ThingName", # required
12076
+ # thing_principal_type: "EXCLUSIVE_THING", # accepts EXCLUSIVE_THING, NON_EXCLUSIVE_THING
12077
+ # })
12078
+ #
12079
+ # @example Response structure
12080
+ #
12081
+ # resp.thing_principal_objects #=> Array
12082
+ # resp.thing_principal_objects[0].principal #=> String
12083
+ # resp.thing_principal_objects[0].thing_principal_type #=> String, one of "EXCLUSIVE_THING", "NON_EXCLUSIVE_THING"
12084
+ # resp.next_token #=> String
12085
+ #
12086
+ # @overload list_thing_principals_v2(params = {})
12087
+ # @param [Hash] params ({})
12088
+ def list_thing_principals_v2(params = {}, options = {})
12089
+ req = build_request(:list_thing_principals_v2, params)
12090
+ req.send_request(options)
12091
+ end
12092
+
11460
12093
  # Information about the thing registration tasks.
11461
12094
  #
11462
12095
  # @option params [required, String] :task_id
@@ -11594,6 +12227,10 @@ module Aws::IoT
11594
12227
  # resp.thing_types[0].thing_type_properties.thing_type_description #=> String
11595
12228
  # resp.thing_types[0].thing_type_properties.searchable_attributes #=> Array
11596
12229
  # resp.thing_types[0].thing_type_properties.searchable_attributes[0] #=> String
12230
+ # resp.thing_types[0].thing_type_properties.mqtt5_configuration.propagating_attributes #=> Array
12231
+ # resp.thing_types[0].thing_type_properties.mqtt5_configuration.propagating_attributes[0].user_property_key #=> String
12232
+ # resp.thing_types[0].thing_type_properties.mqtt5_configuration.propagating_attributes[0].thing_attribute #=> String
12233
+ # resp.thing_types[0].thing_type_properties.mqtt5_configuration.propagating_attributes[0].connection_attribute #=> String
11597
12234
  # resp.thing_types[0].thing_type_metadata.deprecated #=> Boolean
11598
12235
  # resp.thing_types[0].thing_type_metadata.deprecation_date #=> Time
11599
12236
  # resp.thing_types[0].thing_type_metadata.creation_date #=> Time
@@ -14056,6 +14693,52 @@ module Aws::IoT
14056
14693
  req.send_request(options)
14057
14694
  end
14058
14695
 
14696
+ # Update information about a command or mark a command for deprecation.
14697
+ #
14698
+ # @option params [required, String] :command_id
14699
+ # The unique identifier of the command to be updated.
14700
+ #
14701
+ # @option params [String] :display_name
14702
+ # The new user-friendly name to use in the console for the command.
14703
+ #
14704
+ # @option params [String] :description
14705
+ # A short text description of the command.
14706
+ #
14707
+ # @option params [Boolean] :deprecated
14708
+ # A boolean that you can use to specify whether to deprecate a command.
14709
+ #
14710
+ # @return [Types::UpdateCommandResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
14711
+ #
14712
+ # * {Types::UpdateCommandResponse#command_id #command_id} => String
14713
+ # * {Types::UpdateCommandResponse#display_name #display_name} => String
14714
+ # * {Types::UpdateCommandResponse#description #description} => String
14715
+ # * {Types::UpdateCommandResponse#deprecated #deprecated} => Boolean
14716
+ # * {Types::UpdateCommandResponse#last_updated_at #last_updated_at} => Time
14717
+ #
14718
+ # @example Request syntax with placeholder values
14719
+ #
14720
+ # resp = client.update_command({
14721
+ # command_id: "CommandId", # required
14722
+ # display_name: "DisplayName",
14723
+ # description: "CommandDescription",
14724
+ # deprecated: false,
14725
+ # })
14726
+ #
14727
+ # @example Response structure
14728
+ #
14729
+ # resp.command_id #=> String
14730
+ # resp.display_name #=> String
14731
+ # resp.description #=> String
14732
+ # resp.deprecated #=> Boolean
14733
+ # resp.last_updated_at #=> Time
14734
+ #
14735
+ # @overload update_command(params = {})
14736
+ # @param [Hash] params ({})
14737
+ def update_command(params = {}, options = {})
14738
+ req = build_request(:update_command, params)
14739
+ req.send_request(options)
14740
+ end
14741
+
14059
14742
  # Updates a Device Defender detect custom metric.
14060
14743
  #
14061
14744
  # Requires permission to access the [UpdateCustomMetric][1] action.
@@ -14275,6 +14958,8 @@ module Aws::IoT
14275
14958
  # },
14276
14959
  # server_certificate_config: {
14277
14960
  # enable_ocsp_check: false,
14961
+ # ocsp_lambda_arn: "OCSPLambdaArn",
14962
+ # ocsp_authorized_responder_arn: "AcmCertificateArn",
14278
14963
  # },
14279
14964
  # authentication_type: "CUSTOM_AUTH_X509", # accepts CUSTOM_AUTH_X509, CUSTOM_AUTH, AWS_X509, AWS_SIGV4, DEFAULT
14280
14965
  # application_protocol: "SECURE_MQTT", # accepts SECURE_MQTT, MQTT_WSS, HTTPS, DEFAULT
@@ -15466,6 +16151,44 @@ module Aws::IoT
15466
16151
  req.send_request(options)
15467
16152
  end
15468
16153
 
16154
+ # Updates a thing type.
16155
+ #
16156
+ # @option params [required, String] :thing_type_name
16157
+ # The name of a thing type.
16158
+ #
16159
+ # @option params [Types::ThingTypeProperties] :thing_type_properties
16160
+ # The ThingTypeProperties contains information about the thing type
16161
+ # including: a thing type description, and a list of searchable thing
16162
+ # attribute names.
16163
+ #
16164
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
16165
+ #
16166
+ # @example Request syntax with placeholder values
16167
+ #
16168
+ # resp = client.update_thing_type({
16169
+ # thing_type_name: "ThingTypeName", # required
16170
+ # thing_type_properties: {
16171
+ # thing_type_description: "ThingTypeDescription",
16172
+ # searchable_attributes: ["AttributeName"],
16173
+ # mqtt5_configuration: {
16174
+ # propagating_attributes: [
16175
+ # {
16176
+ # user_property_key: "UserPropertyKeyName",
16177
+ # thing_attribute: "AttributeName",
16178
+ # connection_attribute: "ConnectionAttributeName",
16179
+ # },
16180
+ # ],
16181
+ # },
16182
+ # },
16183
+ # })
16184
+ #
16185
+ # @overload update_thing_type(params = {})
16186
+ # @param [Hash] params ({})
16187
+ def update_thing_type(params = {}, options = {})
16188
+ req = build_request(:update_thing_type, params)
16189
+ req.send_request(options)
16190
+ end
16191
+
15469
16192
  # Updates a topic rule destination. You use this to change the status,
15470
16193
  # endpoint URL, or confirmation URL of the destination.
15471
16194
  #
@@ -15613,7 +16336,7 @@ module Aws::IoT
15613
16336
  tracer: tracer
15614
16337
  )
15615
16338
  context[:gem_name] = 'aws-sdk-iot'
15616
- context[:gem_version] = '1.138.0'
16339
+ context[:gem_version] = '1.140.0'
15617
16340
  Seahorse::Client::Request.new(handlers, context)
15618
16341
  end
15619
16342