Skip to content

describe_volume_attribute async

describe_volume_attribute(
    *,
    config_overrides: Optional[AsyncEC2ClientConfig] = None,
    attribute: Optional[VolumeAttributeName] = None,
    volume_id: Optional[VolumeId] = None,
    dry_run: Optional[Boolean] = None,
) -> DescribeVolumeAttributeResult

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

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

Parameters:

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

    The attribute of the volume. This parameter is required.

  • volume_id (Optional[VolumeId], default: None ) –

    The ID of the volume.

  • 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 a volume attribute This example describes the autoEnableIo attribute of the volume with the ID vol-049df61146c4d7901.

>>> await client.describe_volume_attribute(volume_id='vol-049df61146c4d7901', attribute='autoEnableIO')
Source code in docs_src/capo_ec2/_services/async_ec2.py
async def describe_volume_attribute(
    self,
    *,
    config_overrides: Optional[AsyncEC2ClientConfig] = None,
    attribute: Optional[
        "capo_ec2.types.volume_attribute_name.VolumeAttributeName"
    ] = None,
    volume_id: Optional["capo_ec2.types.volume_id.VolumeId"] = None,
    dry_run: Optional["capo_ec2.types.boolean.Boolean"] = None,
) -> (
    "capo_ec2.types.describe_volume_attribute_result.DescribeVolumeAttributeResult"
):
    """<p>Describes the specified attribute of the specified volume. You can specify only one attribute at a time.</p> <p>For more information about EBS volumes, see <a href="https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volumes.html">Amazon EBS volumes</a> in the <i>Amazon EBS User Guide</i>.</p>

    Args:
        attribute: <p>The attribute of the volume. This parameter is required.</p>
        volume_id: <p>The ID of the volume.</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 a volume attribute
        This example describes the ``autoEnableIo`` attribute of the volume with the ID ``vol-049df61146c4d7901``.

        >>> await client.describe_volume_attribute(volume_id='vol-049df61146c4d7901', attribute='autoEnableIO')
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_ec2.types.describe_volume_attribute_request.DescribeVolumeAttributeRequest]",
    ) -> AsyncOperationResponse[
        "capo_ec2.types.describe_volume_attribute_result.DescribeVolumeAttributeResult"
    ]:
        import capo_ec2._operations.amazon_ec2.describe_volume_attribute

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

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("DescribeVolumeAttribute")
    )
    input_: capo_ec2.types.describe_volume_attribute_request.DescribeVolumeAttributeRequest = {}
    if attribute is not None:
        input_["attribute"] = attribute
    if volume_id is not None:
        input_["volume_id"] = volume_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