aws-sdk-iot 1.138.0 → 1.140.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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