Skip to content

describe_snapshot_attribute async

describe_snapshot_attribute(
    *,
    config_overrides: Optional[AsyncEC2ClientConfig] = None,
    attribute: Optional[SnapshotAttributeName] = None,
    snapshot_id: Optional[SnapshotId] = None,
    dry_run: Optional[Boolean] = None,
) -> DescribeSnapshotAttributeResult

Describes the specified attribute of the specified snapshot. You can specify only one attribute at a time.

For more information about EBS snapshots, see Amazon EBS snapshots in the Amazon EBS User Guide.

Parameters:

  • attribute (Optional[SnapshotAttributeName], default: None ) –

    The snapshot attribute you would like to view.

  • snapshot_id (Optional[SnapshotId], default: None ) –

    The ID of the EBS snapshot.

  • 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.

Raises:

Examples:

To describe snapshot attributes This example describes the createVolumePermission attribute on a snapshot with the snapshot ID of snap-066877671789bd71b.

>>> await client.describe_snapshot_attribute(snapshot_id='snap-066877671789bd71b', attribute='createVolumePermission')
Source code in docs_src/capo_ec2/_services/async_ec2.py
async def describe_snapshot_attribute(
    self,
    *,
    config_overrides: Optional[AsyncEC2ClientConfig] = None,
    attribute: Optional[
        "capo_ec2.types.snapshot_attribute_name.SnapshotAttributeName"
    ] = None,
    snapshot_id: Optional["capo_ec2.types.snapshot_id.SnapshotId"] = None,
    dry_run: Optional["capo_ec2.types.boolean.Boolean"] = None,
) -> "capo_ec2.types.describe_snapshot_attribute_result.DescribeSnapshotAttributeResult":
    """<p>Describes the specified attribute of the specified snapshot. You can specify only one attribute at a time.</p> <p>For more information about EBS snapshots, see <a href="https://docs.aws.amazon.com/ebs/latest/userguide/ebs-snapshots.html">Amazon EBS snapshots</a> in the <i>Amazon EBS User Guide</i>.</p>

    Args:
        attribute: <p>The snapshot attribute you would like to view.</p>
        snapshot_id: <p>The ID of the EBS snapshot.</p>
        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>

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

    Examples:
        To describe snapshot attributes
        This example describes the ``createVolumePermission`` attribute on a snapshot with the snapshot ID of ``snap-066877671789bd71b``.

        >>> await client.describe_snapshot_attribute(snapshot_id='snap-066877671789bd71b', attribute='createVolumePermission')
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_ec2.types.describe_snapshot_attribute_request.DescribeSnapshotAttributeRequest]",
    ) -> AsyncOperationResponse[
        "capo_ec2.types.describe_snapshot_attribute_result.DescribeSnapshotAttributeResult"
    ]:
        import capo_ec2._operations.amazon_ec2.describe_snapshot_attribute

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

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("DescribeSnapshotAttribute")
    )
    input_: capo_ec2.types.describe_snapshot_attribute_request.DescribeSnapshotAttributeRequest = {}
    if attribute is not None:
        input_["attribute"] = attribute
    if snapshot_id is not None:
        input_["snapshot_id"] = snapshot_id
    if dry_run is not None:
        input_["dry_run"] = dry_run

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