async def describe_computation_model(
self,
computation_model_id: "capo_iotsitewise.types.id.ID",
*,
config_overrides: Optional[AsyncIoTSiteWiseClientConfig] = None,
computation_model_version: Optional[
"capo_iotsitewise.types.computation_model_version_filter.ComputationModelVersionFilter"
] = None,
) -> "capo_iotsitewise.types.describe_computation_model_response.DescribeComputationModelResponse":
"""<p>Retrieves information about a computation model.</p>
Args:
computation_model_id: <p>The ID of the computation model.</p>
computation_model_version: <p>The version of the computation model.</p>
Raises:
capo_iotsitewise.errors.internal_failure_exception.InternalFailureException: <p>IoT SiteWise can't process your request right now. Try again later.</p>
capo_iotsitewise.errors.invalid_request_exception.InvalidRequestException: <p>The request isn't valid. This can occur if your request contains malformed JSON or unsupported characters. Check your request and try again.</p>
capo_iotsitewise.errors.resource_not_found_exception.ResourceNotFoundException: <p>The requested resource can't be found.</p>
capo_iotsitewise.errors.throttling_exception.ThrottlingException: <p>Your request exceeded a rate limit. For example, you might have exceeded the number of IoT SiteWise assets that can be created per second, the allowed number of messages per second, and so on.</p> <p>For more information, see <a href="https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html">Quotas</a> in the <i>IoT SiteWise User Guide</i>.</p>
capo_iotsitewise.errors.UnknownServiceError: The service returned an error code this client does not model.
"""
async def _handler(
req: "AsyncOperationRequest[capo_iotsitewise.types.describe_computation_model_request.DescribeComputationModelRequest]",
) -> AsyncOperationResponse[
"capo_iotsitewise.types.describe_computation_model_response.DescribeComputationModelResponse"
]:
import capo_iotsitewise._operations.aws_io_t_site_wise.describe_computation_model
(
output,
http_response,
) = await capo_iotsitewise._operations.aws_io_t_site_wise.describe_computation_model.async_describe_computation_model(
req.options, req.input
)
return AsyncOperationResponse(output=output, response=http_response)
interceptors_, options_ = self.operation_options(
config_overrides, OperationLogging("DescribeComputationModel")
)
input_: capo_iotsitewise.types.describe_computation_model_request.DescribeComputationModelRequest = {
"computation_model_id": computation_model_id
}
if computation_model_version is not None:
input_["computation_model_version"] = computation_model_version
response = await aexecute_pipeline(
AsyncOperationRequest(input=input_, options=options_),
handler=_handler,
interceptors=list(interceptors_),
)
await response.response.aclose()
return response.output