Skip to content

describe_snapshot_attribute

describe_snapshot_attribute(
    *,
    config_overrides: Optional[EC2ClientConfig] = 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.

>>> client.describe_snapshot_attribute(snapshot_id='snap-066877671789bd71b', attribute='createVolumePermission')
Source code in docs_src/capo_ec2/_services/ec2.py
def describe_snapshot_attribute(
    self,
    *,
    config_overrides: Optional[EC2ClientConfig] = 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``.

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

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

        output, http_response = (
            capo_ec2._operations.amazon_ec2.describe_snapshot_attribute.describe_snapshot_attribute(
                req.options, req.input
            )
        )
        return OperationResponse(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 = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output