Skip to content

update_storage async

update_storage(
    cluster_arn: __string,
    *,
    config_overrides: Optional[AsyncKafkaClientConfig] = None,
    current_version: Optional[__string] = None,
    provisioned_throughput: Optional[ProvisionedThroughput] = None,
    storage_mode: Optional[StorageMode] = None,
    volume_size_gb: Optional[__integer] = None,
) -> UpdateStorageResponse

Updates cluster broker volume size (or) sets cluster storage mode to TIERED.

Parameters:

  • cluster_arn (__string) –

    The Amazon Resource Name (ARN) of the cluster to be updated.

  • current_version (Optional[__string], default: None ) –

    The version of cluster to update from. A successful operation will then generate a new version.

  • provisioned_throughput (Optional[ProvisionedThroughput], default: None ) –

    EBS volume provisioned throughput information.

  • storage_mode (Optional[StorageMode], default: None ) –

    Controls storage mode for supported storage tiers.

  • volume_size_gb (Optional[__integer], default: None ) –

    size of the EBS volume to update.

Raises:

Source code in docs_src/capo_kafka/_services/async_kafka.py
async def update_storage(
    self,
    cluster_arn: "capo_kafka.types.__string.__string",
    *,
    config_overrides: Optional[AsyncKafkaClientConfig] = None,
    current_version: Optional["capo_kafka.types.__string.__string"] = None,
    provisioned_throughput: Optional[
        "capo_kafka.types.provisioned_throughput.ProvisionedThroughput"
    ] = None,
    storage_mode: Optional["capo_kafka.types.storage_mode.StorageMode"] = None,
    volume_size_gb: Optional["capo_kafka.types.__integer.__integer"] = None,
) -> "capo_kafka.types.update_storage_response.UpdateStorageResponse":
    """Updates cluster broker volume size (or) sets cluster storage mode to TIERED.

    Args:
        cluster_arn: <p>The Amazon Resource Name (ARN) of the cluster to be updated.</p>
        current_version: <p>The version of cluster to update from. A successful operation will then generate a new version.</p>
        provisioned_throughput: <p>EBS volume provisioned throughput information.</p>
        storage_mode: <p>Controls storage mode for supported storage tiers.</p>
        volume_size_gb: <p>size of the EBS volume to update.</p>

    Raises:
        capo_kafka.errors.bad_request_exception.BadRequestException: <p>Returns information about an error.</p>
        capo_kafka.errors.forbidden_exception.ForbiddenException: <p>Returns information about an error.</p>
        capo_kafka.errors.internal_server_error_exception.InternalServerErrorException: <p>Returns information about an error.</p>
        capo_kafka.errors.not_found_exception.NotFoundException: <p>Returns information about an error.</p>
        capo_kafka.errors.service_unavailable_exception.ServiceUnavailableException: <p>Returns information about an error.</p>
        capo_kafka.errors.too_many_requests_exception.TooManyRequestsException: <p>Returns information about an error.</p>
        capo_kafka.errors.unauthorized_exception.UnauthorizedException: <p>Returns information about an error.</p>
        capo_kafka.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_kafka.types.update_storage_request.UpdateStorageRequest]",
    ) -> AsyncOperationResponse[
        "capo_kafka.types.update_storage_response.UpdateStorageResponse"
    ]:
        import capo_kafka._operations.kafka.update_storage

        (
            output,
            http_response,
        ) = await capo_kafka._operations.kafka.update_storage.async_update_storage(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("UpdateStorage")
    )
    input_: capo_kafka.types.update_storage_request.UpdateStorageRequest = {
        "cluster_arn": cluster_arn
    }
    if current_version is not None:
        input_["current_version"] = current_version
    if provisioned_throughput is not None:
        input_["provisioned_throughput"] = provisioned_throughput
    if storage_mode is not None:
        input_["storage_mode"] = storage_mode
    if volume_size_gb is not None:
        input_["volume_size_gb"] = volume_size_gb

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