@@ -282,6 +282,7 @@ private void init() {
282282 jsonErrorUnmarshallers .add (new IndexNotReadyExceptionUnmarshaller ());
283283 jsonErrorUnmarshallers .add (new InternalExceptionUnmarshaller ());
284284 jsonErrorUnmarshallers .add (new InternalFailureExceptionUnmarshaller ());
285+ jsonErrorUnmarshallers .add (new InvalidAggregationExceptionUnmarshaller ());
285286 jsonErrorUnmarshallers .add (new InvalidQueryExceptionUnmarshaller ());
286287 jsonErrorUnmarshallers .add (new InvalidRequestExceptionUnmarshaller ());
287288 jsonErrorUnmarshallers .add (new InvalidResponseExceptionUnmarshaller ());
@@ -703,7 +704,9 @@ public AttachSecurityProfileResult attachSecurityProfile(
703704
704705 /**
705706 * <p>
706- * Attaches the specified principal to the specified thing.
707+ * Attaches the specified principal to the specified thing. A principal can
708+ * be X.509 certificates, IAM users, groups, and roles, Amazon Cognito
709+ * identities or federated identities.
707710 * </p>
708711 *
709712 * @param attachThingPrincipalRequest <p>
@@ -1787,7 +1790,10 @@ public CreateStreamResult createStream(CreateStreamRequest createStreamRequest)
17871790
17881791 /**
17891792 * <p>
1790- * Creates a thing record in the registry.
1793+ * Creates a thing record in the registry. If this call is made multiple
1794+ * times using the same thing name and configuration, the call will succeed.
1795+ * If this call is made with the same thing name but different configuration
1796+ * a <code>ResourceAlreadyExistsException</code> is thrown.
17911797 * </p>
17921798 * <note>
17931799 * <p>
@@ -4343,7 +4349,9 @@ public DetachSecurityProfileResult detachSecurityProfile(
43434349
43444350 /**
43454351 * <p>
4346- * Detaches the specified principal from the specified thing.
4352+ * Detaches the specified principal from the specified thing. A principal
4353+ * can be X.509 certificates, IAM users, groups, and roles, Amazon Cognito
4354+ * identities or federated identities.
43474355 * </p>
43484356 * <note>
43494357 * <p>
@@ -4917,6 +4925,60 @@ public GetRegistrationCodeResult getRegistrationCode(
49174925 }
49184926 }
49194927
4928+ /**
4929+ * <p>
4930+ * Gets statistics about things that match the specified query.
4931+ * </p>
4932+ *
4933+ * @param getStatisticsRequest
4934+ * @return getStatisticsResult The response from the GetStatistics service
4935+ * method, as returned by AWS IoT.
4936+ * @throws InvalidRequestException
4937+ * @throws ThrottlingException
4938+ * @throws UnauthorizedException
4939+ * @throws ServiceUnavailableException
4940+ * @throws InternalFailureException
4941+ * @throws ResourceNotFoundException
4942+ * @throws InvalidQueryException
4943+ * @throws InvalidAggregationException
4944+ * @throws IndexNotReadyException
4945+ * @throws AmazonClientException If any internal errors are encountered
4946+ * inside the client while attempting to make the request or
4947+ * handle the response. For example if a network connection is
4948+ * not available.
4949+ * @throws AmazonServiceException If an error response is returned by AWS
4950+ * IoT indicating either a problem with the data in the request,
4951+ * or a server side issue.
4952+ */
4953+ public GetStatisticsResult getStatistics (GetStatisticsRequest getStatisticsRequest )
4954+ throws AmazonServiceException , AmazonClientException {
4955+ ExecutionContext executionContext = createExecutionContext (getStatisticsRequest );
4956+ AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics ();
4957+ awsRequestMetrics .startEvent (Field .ClientExecuteTime );
4958+ Request <GetStatisticsRequest > request = null ;
4959+ Response <GetStatisticsResult > response = null ;
4960+ try {
4961+ awsRequestMetrics .startEvent (Field .RequestMarshallTime );
4962+ try {
4963+ request = new GetStatisticsRequestMarshaller ().marshall (getStatisticsRequest );
4964+ // Binds the request metrics to the current request.
4965+ request .setAWSRequestMetrics (awsRequestMetrics );
4966+ } finally {
4967+ awsRequestMetrics .endEvent (Field .RequestMarshallTime );
4968+ }
4969+ Unmarshaller <GetStatisticsResult , JsonUnmarshallerContext > unmarshaller = new GetStatisticsResultJsonUnmarshaller ();
4970+ JsonResponseHandler <GetStatisticsResult > responseHandler = new JsonResponseHandler <GetStatisticsResult >(
4971+ unmarshaller );
4972+
4973+ response = invoke (request , responseHandler , executionContext );
4974+
4975+ return response .getAwsResponse ();
4976+ } finally {
4977+ awsRequestMetrics .endEvent (Field .ClientExecuteTime );
4978+ endClientExecution (awsRequestMetrics , request , response , LOGGING_AWS_REQUEST_METRIC );
4979+ }
4980+ }
4981+
49204982 /**
49214983 * <p>
49224984 * Gets information about the rule.
@@ -6031,7 +6093,9 @@ public ListPrincipalPoliciesResult listPrincipalPolicies(
60316093
60326094 /**
60336095 * <p>
6034- * Lists the things associated with the specified principal.
6096+ * Lists the things associated with the specified principal. A principal can
6097+ * be X.509 certificates, IAM users, groups, and roles, Amazon Cognito
6098+ * identities or federated identities.
60356099 * </p>
60366100 *
60376101 * @param listPrincipalThingsRequest <p>
@@ -6597,7 +6661,9 @@ public ListThingGroupsForThingResult listThingGroupsForThing(
65976661
65986662 /**
65996663 * <p>
6600- * Lists the principals associated with the specified thing.
6664+ * Lists the principals associated with the specified thing. A principal can
6665+ * be X.509 certificates, IAM users, groups, and roles, Amazon Cognito
6666+ * identities or federated identities.
66016667 * </p>
66026668 *
66036669 * @param listThingPrincipalsRequest <p>
0 commit comments