Skip to content

list_asset_relationships

list_asset_relationships(
    asset_id: CustomID,
    traversal_type: TraversalType,
    *,
    config_overrides: Optional[IoTSiteWiseClientConfig] = None,
    next_token: Optional[NextToken] = None,
    max_results: Optional[MaxResults] = None,
) -> ListAssetRelationshipsResponse

Retrieves a paginated list of asset relationships for an asset. You can use this operation to identify an asset's root asset and all associated assets between that asset and its root.

Parameters:

  • asset_id (CustomID) –

    The ID of the asset. This can be either the actual ID in UUID format, or else externalId: followed by the external ID, if it has one. For more information, see Referencing objects with external IDs in the IoT SiteWise User Guide.

  • traversal_type (TraversalType) –

    The type of traversal to use to identify asset relationships. Choose the following option:

    • PATH_TO_ROOT – Identify the asset's parent assets up to the root asset. The asset that you specify in assetId is the first result in the list of assetRelationshipSummaries, and the root asset is the last result.

  • next_token (Optional[NextToken], default: None ) –

    The token to be used for the next set of paginated results.

  • max_results (Optional[MaxResults], default: None ) –

    The maximum number of results to return for each paginated request.

Raises:

  • InternalFailureException –

    IoT SiteWise can't process your request right now. Try again later.

  • InvalidRequestException –

    The request isn't valid. This can occur if your request contains malformed JSON or unsupported characters. Check your request and try again.

  • ResourceNotFoundException –

    The requested resource can't be found.

  • ThrottlingException –

    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.

    For more information, see Quotas in the IoT SiteWise User Guide.

  • UnknownServiceError –

    The service returned an error code this client does not model.

Source code in docs_src/capo_iotsitewise/_services/io_t_site_wise.py
def list_asset_relationships(
    self,
    asset_id: "capo_iotsitewise.types.custom_id.CustomID",
    traversal_type: "capo_iotsitewise.types.traversal_type.TraversalType",
    *,
    config_overrides: Optional[IoTSiteWiseClientConfig] = None,
    next_token: Optional["capo_iotsitewise.types.next_token.NextToken"] = None,
    max_results: Optional["capo_iotsitewise.types.max_results.MaxResults"] = None,
) -> "capo_iotsitewise.types.list_asset_relationships_response.ListAssetRelationshipsResponse":
    """<p>Retrieves a paginated list of asset relationships for an asset. You can use this operation to identify an asset's root asset and all associated assets between that asset and its root.</p>

    Args:
        asset_id: <p>The ID of the asset. This can be either the actual ID in UUID format, or else <code>externalId:</code> followed by the external ID, if it has one. For more information, see <a href="https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references">Referencing objects with external IDs</a> in the <i>IoT SiteWise User Guide</i>.</p>
        traversal_type: <p>The type of traversal to use to identify asset relationships. Choose the following option:</p> <ul> <li> <p> <code>PATH_TO_ROOT</code> – Identify the asset's parent assets up to the root asset. The asset that you specify in <code>assetId</code> is the first result in the list of <code>assetRelationshipSummaries</code>, and the root asset is the last result.</p> </li> </ul>
        next_token: <p>The token to be used for the next set of paginated results.</p>
        max_results: <p>The maximum number of results to return for each paginated request.</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.
    """

    def _handler(
        req: "OperationRequest[capo_iotsitewise.types.list_asset_relationships_request.ListAssetRelationshipsRequest]",
    ) -> OperationResponse[
        "capo_iotsitewise.types.list_asset_relationships_response.ListAssetRelationshipsResponse"
    ]:
        import capo_iotsitewise._operations.aws_io_t_site_wise.list_asset_relationships

        output, http_response = (
            capo_iotsitewise._operations.aws_io_t_site_wise.list_asset_relationships.list_asset_relationships(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("ListAssetRelationships")
    )
    input_: capo_iotsitewise.types.list_asset_relationships_request.ListAssetRelationshipsRequest = {
        "asset_id": asset_id,
        "traversal_type": traversal_type,
    }
    if next_token is not None:
        input_["next_token"] = next_token
    if max_results is not None:
        input_["max_results"] = max_results

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output