Disables server-side encryption (SSE) for the Firehose stream.
This operation is asynchronous. It returns immediately. When you invoke it, Firehose first sets the encryption status of the stream to DISABLING, and then to DISABLED. You can continue to read and write data to your stream while its status is DISABLING. It can take up to 5 seconds after the encryption status changes to DISABLED before all records written to the Firehose stream are no longer subject to encryption. To find out whether a record or a batch of records was encrypted, check the response elements PutRecordOutput$Encrypted and PutRecordBatchOutput$Encrypted, respectively.
To check the encryption state of a Firehose stream, use DescribeDeliveryStream.
If SSE is enabled using a customer managed CMK and then you invoke StopDeliveryStreamEncryption, Firehose schedules the related KMS grant for retirement and then retires it after it ensures that it is finished delivering records to the destination.
The StartDeliveryStreamEncryption and StopDeliveryStreamEncryption operations have a combined limit of 25 calls per Firehose stream per 24 hours. For example, you reach the limit if you call StartDeliveryStreamEncryption 13 times and StopDeliveryStreamEncryption 12 times for the same Firehose stream in a 24-hour period.
Parameters:
-
delivery_stream_name
(DeliveryStreamName)
–
The name of the Firehose stream for which you want to disable server-side encryption (SSE).
Raises:
Source code in docs_src/capo_firehose/_services/firehose.py
| def stop_delivery_stream_encryption(
self,
delivery_stream_name: "capo_firehose.types.delivery_stream_name.DeliveryStreamName",
*,
config_overrides: Optional[FirehoseClientConfig] = None,
) -> "capo_firehose.types.stop_delivery_stream_encryption_output.StopDeliveryStreamEncryptionOutput":
"""<p>Disables server-side encryption (SSE) for the Firehose stream. </p> <p>This operation is asynchronous. It returns immediately. When you invoke it, Firehose first sets the encryption status of the stream to <code>DISABLING</code>, and then to <code>DISABLED</code>. You can continue to read and write data to your stream while its status is <code>DISABLING</code>. It can take up to 5 seconds after the encryption status changes to <code>DISABLED</code> before all records written to the Firehose stream are no longer subject to encryption. To find out whether a record or a batch of records was encrypted, check the response elements <a>PutRecordOutput$Encrypted</a> and <a>PutRecordBatchOutput$Encrypted</a>, respectively.</p> <p>To check the encryption state of a Firehose stream, use <a>DescribeDeliveryStream</a>. </p> <p>If SSE is enabled using a customer managed CMK and then you invoke <code>StopDeliveryStreamEncryption</code>, Firehose schedules the related KMS grant for retirement and then retires it after it ensures that it is finished delivering records to the destination.</p> <p>The <code>StartDeliveryStreamEncryption</code> and <code>StopDeliveryStreamEncryption</code> operations have a combined limit of 25 calls per Firehose stream per 24 hours. For example, you reach the limit if you call <code>StartDeliveryStreamEncryption</code> 13 times and <code>StopDeliveryStreamEncryption</code> 12 times for the same Firehose stream in a 24-hour period.</p>
Args:
delivery_stream_name: <p>The name of the Firehose stream for which you want to disable server-side encryption (SSE).</p>
Raises:
capo_firehose.errors.invalid_argument_exception.InvalidArgumentException: <p>The specified input parameter has a value that is not valid.</p>
capo_firehose.errors.limit_exceeded_exception.LimitExceededException: <p>You have already reached the limit for a requested resource.</p>
capo_firehose.errors.resource_in_use_exception.ResourceInUseException: <p>The resource is already in use and not available for this operation.</p>
capo_firehose.errors.resource_not_found_exception.ResourceNotFoundException: <p>The specified resource could not be found.</p>
capo_firehose.errors.UnknownServiceError: The service returned an error code this client does not model.
"""
def _handler(
req: "OperationRequest[capo_firehose.types.stop_delivery_stream_encryption_input.StopDeliveryStreamEncryptionInput]",
) -> OperationResponse[
"capo_firehose.types.stop_delivery_stream_encryption_output.StopDeliveryStreamEncryptionOutput"
]:
import capo_firehose._operations.firehose_20150804.stop_delivery_stream_encryption
output, http_response = (
capo_firehose._operations.firehose_20150804.stop_delivery_stream_encryption.stop_delivery_stream_encryption(
req.options, req.input
)
)
return OperationResponse(output=output, response=http_response)
interceptors_, options_ = self.operation_options(
config_overrides, OperationLogging("StopDeliveryStreamEncryption")
)
input_: capo_firehose.types.stop_delivery_stream_encryption_input.StopDeliveryStreamEncryptionInput = {
"delivery_stream_name": delivery_stream_name
}
response = execute_pipeline(
OperationRequest(input=input_, options=options_),
handler=_handler,
interceptors=list(interceptors_),
)
response.response.close()
return response.output
|