Skip to content

describe_image_usage_reports async

describe_image_usage_reports(
    *,
    config_overrides: Optional[AsyncEC2ClientConfig] = None,
    image_ids: Optional[DescribeImageUsageReportsImageIdStringList] = None,
    report_ids: Optional[ImageUsageReportIdStringList] = None,
    next_token: Optional[String] = None,
    filters: Optional[FilterList] = None,
    dry_run: Optional[Boolean] = None,
    max_results: Optional[DescribeImageUsageReportsMaxResults] = None,
) -> DescribeImageUsageReportsResult

Describes the configuration and status of image usage reports, filtered by report IDs or image IDs.

For more information, see View your AMI usage in the Amazon EC2 User Guide.

Parameters:

  • image_ids (Optional[DescribeImageUsageReportsImageIdStringList], default: None ) –

    The IDs of the images for filtering the reports. If specified, only reports containing these images are returned.

  • report_ids (Optional[ImageUsageReportIdStringList], default: None ) –

    The IDs of the image usage reports.

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

    The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

  • filters (Optional[FilterList], default: None ) –

    The filters.

    • creation-time - The time when the report was created, in the ISO 8601 format in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ), for example, 2025-11-29T11:04:43.305Z. You can use a wildcard (*), for example, 2025-11-29T*, which matches an entire day.

    • state - The state of the report (available | pending | error).

    • tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • dry_run (Optional[Boolean], default: None ) –

    Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

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

    The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

Raises:

Source code in docs_src/capo_ec2/_services/async_ec2.py
async def describe_image_usage_reports(
    self,
    *,
    config_overrides: Optional[AsyncEC2ClientConfig] = None,
    image_ids: Optional[
        "capo_ec2.types.describe_image_usage_reports_image_id_string_list.DescribeImageUsageReportsImageIdStringList"
    ] = None,
    report_ids: Optional[
        "capo_ec2.types.image_usage_report_id_string_list.ImageUsageReportIdStringList"
    ] = None,
    next_token: Optional["capo_ec2.types.string.String"] = None,
    filters: Optional["capo_ec2.types.filter_list.FilterList"] = None,
    dry_run: Optional["capo_ec2.types.boolean.Boolean"] = None,
    max_results: Optional[
        "capo_ec2.types.describe_image_usage_reports_max_results.DescribeImageUsageReportsMaxResults"
    ] = None,
) -> "capo_ec2.types.describe_image_usage_reports_result.DescribeImageUsageReportsResult":
    """<p>Describes the configuration and status of image usage reports, filtered by report IDs or image IDs.</p> <p>For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/your-ec2-ami-usage.html">View your AMI usage</a> in the <i>Amazon EC2 User Guide</i>.</p>

    Args:
        image_ids: <p>The IDs of the images for filtering the reports. If specified, only reports containing these images are returned.</p>
        report_ids: <p>The IDs of the image usage reports.</p>
        next_token: <p>The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.</p>
        filters: <p>The filters.</p> <ul> <li> <p> <code>creation-time</code> - The time when the report was created, in the ISO 8601 format in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ), for example, <code>2025-11-29T11:04:43.305Z</code>. You can use a wildcard (<code>*</code>), for example, <code>2025-11-29T*</code>, which matches an entire day.</p> </li> <li> <p> <code>state</code> - The state of the report (<code>available</code> | <code>pending</code> | <code>error</code>).</p> </li> <li> <p> <code>tag:<key></code> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key <code>Owner</code> and the value <code>TeamA</code>, specify <code>tag:Owner</code> for the filter name and <code>TeamA</code> for the filter value.</p> </li> <li> <p> <code>tag-key</code> - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.</p> </li> </ul>
        dry_run: <p>Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is <code>UnauthorizedOperation</code>.</p>
        max_results: <p>The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination">Pagination</a>.</p>

    Raises:
        capo_ec2.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_ec2.types.describe_image_usage_reports_request.DescribeImageUsageReportsRequest]",
    ) -> AsyncOperationResponse[
        "capo_ec2.types.describe_image_usage_reports_result.DescribeImageUsageReportsResult"
    ]:
        import capo_ec2._operations.amazon_ec2.describe_image_usage_reports

        (
            output,
            http_response,
        ) = await capo_ec2._operations.amazon_ec2.describe_image_usage_reports.async_describe_image_usage_reports(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("DescribeImageUsageReports")
    )
    input_: capo_ec2.types.describe_image_usage_reports_request.DescribeImageUsageReportsRequest = {}
    if image_ids is not None:
        input_["image_ids"] = image_ids
    if report_ids is not None:
        input_["report_ids"] = report_ids
    if next_token is not None:
        input_["next_token"] = next_token
    if filters is not None:
        input_["filters"] = filters
    if dry_run is not None:
        input_["dry_run"] = dry_run
    if max_results is not None:
        input_["max_results"] = max_results

    response = await aexecute_pipeline(
        AsyncOperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    await response.response.aclose()
    return response.output