Deletes the specified thing. Returns successfully with no error if the deletion is successful or you specify a thing that doesn't exist.
Requires permission to access the DeleteThing action.
Parameters:
-
thing_name
(ThingName)
–
The name of the thing to delete.
-
expected_version
(Optional[OptionalVersion], default:
None
)
–
The expected version of the thing record in the registry. If the version of the record in the registry does not match the expected version specified in the request, the DeleteThing request is rejected with a VersionConflictException.
Raises:
Source code in docs_src/capo_iot/_services/io_t.py
| def delete_thing(
self,
thing_name: "capo_iot.types.thing_name.ThingName",
*,
config_overrides: Optional[IoTClientConfig] = None,
expected_version: Optional[
"capo_iot.types.optional_version.OptionalVersion"
] = None,
) -> "capo_iot.types.delete_thing_response.DeleteThingResponse":
"""<p>Deletes the specified thing. Returns successfully with no error if the deletion is successful or you specify a thing that doesn't exist.</p> <p>Requires permission to access the <a href="https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions">DeleteThing</a> action.</p>
Args:
thing_name: <p>The name of the thing to delete.</p>
expected_version: <p>The expected version of the thing record in the registry. If the version of the record in the registry does not match the expected version specified in the request, the <code>DeleteThing</code> request is rejected with a <code>VersionConflictException</code>.</p>
Raises:
capo_iot.errors.internal_failure_exception.InternalFailureException: <p>An unexpected error has occurred.</p>
capo_iot.errors.invalid_request_exception.InvalidRequestException: <p>The request is not valid.</p>
capo_iot.errors.resource_not_found_exception.ResourceNotFoundException: <p>The specified resource does not exist.</p>
capo_iot.errors.service_unavailable_exception.ServiceUnavailableException: <p>The service is temporarily unavailable.</p>
capo_iot.errors.throttling_exception.ThrottlingException: <p>The rate exceeds the limit.</p>
capo_iot.errors.unauthorized_exception.UnauthorizedException: <p>You are not authorized to perform this operation.</p>
capo_iot.errors.version_conflict_exception.VersionConflictException: <p>An exception thrown when the version of an entity specified with the <code>expectedVersion</code> parameter does not match the latest version in the system.</p>
capo_iot.errors.UnknownServiceError: The service returned an error code this client does not model.
"""
def _handler(
req: "OperationRequest[capo_iot.types.delete_thing_request.DeleteThingRequest]",
) -> OperationResponse[
"capo_iot.types.delete_thing_response.DeleteThingResponse"
]:
import capo_iot._operations.aws_iot_service.delete_thing
output, http_response = (
capo_iot._operations.aws_iot_service.delete_thing.delete_thing(
req.options, req.input
)
)
return OperationResponse(output=output, response=http_response)
interceptors_, options_ = self.operation_options(
config_overrides, OperationLogging("DeleteThing")
)
input_: capo_iot.types.delete_thing_request.DeleteThingRequest = {
"thing_name": thing_name
}
if expected_version is not None:
input_["expected_version"] = expected_version
response = execute_pipeline(
OperationRequest(input=input_, options=options_),
handler=_handler,
interceptors=list(interceptors_),
)
response.response.close()
return response.output
|