Skip to content

list_security_profiles

list_security_profiles(
    *,
    config_overrides: Optional[IoTClientConfig] = None,
    next_token: Optional[NextToken] = None,
    max_results: Optional[MaxResults] = None,
    dimension_name: Optional[DimensionName] = None,
    metric_name: Optional[MetricName] = None,
) -> ListSecurityProfilesResponse

The IoT Device Defender detect feature will no longer be available to new customers starting August 31, 2026. If you would like to use the detect feature, sign up prior to August 31, 2026. To learn about alternatives to IoT Device Defender detect, see IoT Device Defender detect feature availability change in the IoT Device Defender Developer Guide. There is no change to IoT Device Defender audit availability.

Lists the Device Defender security profiles you've created. You can filter security profiles by dimension or custom metric.

Requires permission to access the ListSecurityProfiles action.

dimensionName and metricName cannot be used in the same request.

Parameters:

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

    The token for the next set of results.

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

    The maximum number of results to return at one time.

  • dimension_name (Optional[DimensionName], default: None ) –

    A filter to limit results to the security profiles that use the defined dimension. Cannot be used with metricName

  • metric_name (Optional[MetricName], default: None ) –

    The name of the custom metric. Cannot be used with dimensionName.

Raises:

Source code in docs_src/capo_iot/_services/io_t.py
def list_security_profiles(
    self,
    *,
    config_overrides: Optional[IoTClientConfig] = None,
    next_token: Optional["capo_iot.types.next_token.NextToken"] = None,
    max_results: Optional["capo_iot.types.max_results.MaxResults"] = None,
    dimension_name: Optional["capo_iot.types.dimension_name.DimensionName"] = None,
    metric_name: Optional["capo_iot.types.metric_name.MetricName"] = None,
) -> "capo_iot.types.list_security_profiles_response.ListSecurityProfilesResponse":
    """<note> <p>The IoT Device Defender detect feature will no longer be available to new customers starting August 31, 2026. If you would like to use the detect feature, sign up prior to August 31, 2026. To learn about alternatives to IoT Device Defender detect, see IoT Device Defender detect feature availability change in the IoT Device Defender Developer Guide. There is no change to IoT Device Defender audit availability.</p> </note> <p>Lists the Device Defender security profiles you've created. You can filter security profiles by dimension or custom metric.</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">ListSecurityProfiles</a> action.</p> <note> <p> <code>dimensionName</code> and <code>metricName</code> cannot be used in the same request.</p> </note>

    Args:
        next_token: <p>The token for the next set of results.</p>
        max_results: <p>The maximum number of results to return at one time.</p>
        dimension_name: <p>A filter to limit results to the security profiles that use the defined dimension. Cannot be used with <code>metricName</code> </p>
        metric_name: <p> The name of the custom metric. Cannot be used with <code>dimensionName</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.throttling_exception.ThrottlingException: <p>The rate exceeds the limit.</p>
        capo_iot.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_iot.types.list_security_profiles_request.ListSecurityProfilesRequest]",
    ) -> OperationResponse[
        "capo_iot.types.list_security_profiles_response.ListSecurityProfilesResponse"
    ]:
        import capo_iot._operations.aws_iot_service.list_security_profiles

        output, http_response = (
            capo_iot._operations.aws_iot_service.list_security_profiles.list_security_profiles(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("ListSecurityProfiles")
    )
    input_: capo_iot.types.list_security_profiles_request.ListSecurityProfilesRequest = {}
    if next_token is not None:
        input_["next_token"] = next_token
    if max_results is not None:
        input_["max_results"] = max_results
    if dimension_name is not None:
        input_["dimension_name"] = dimension_name
    if metric_name is not None:
        input_["metric_name"] = metric_name

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