Skip to content

tag_delivery_stream

tag_delivery_stream(
    delivery_stream_name: DeliveryStreamName,
    tags: TagDeliveryStreamInputTagList,
    *,
    config_overrides: Optional[FirehoseClientConfig] = None,
) -> TagDeliveryStreamOutput

Adds or updates tags for the specified Firehose stream. A tag is a key-value pair that you can define and assign to Amazon Web Services resources. If you specify a tag that already exists, the tag value is replaced with the value that you specify in the request. Tags are metadata. For example, you can add friendly names and descriptions or other types of information that can help you distinguish the Firehose stream. For more information about tags, see Using Cost Allocation Tags in the Amazon Web Services Billing and Cost Management User Guide.

Each Firehose stream can have up to 50 tags.

This operation has a limit of five transactions per second per account.

Parameters:

Raises:

Source code in docs_src/capo_firehose/_services/firehose.py
def tag_delivery_stream(
    self,
    delivery_stream_name: "capo_firehose.types.delivery_stream_name.DeliveryStreamName",
    tags: "capo_firehose.types.tag_delivery_stream_input_tag_list.TagDeliveryStreamInputTagList",
    *,
    config_overrides: Optional[FirehoseClientConfig] = None,
) -> "capo_firehose.types.tag_delivery_stream_output.TagDeliveryStreamOutput":
    """<p>Adds or updates tags for the specified Firehose stream. A tag is a key-value pair that you can define and assign to Amazon Web Services resources. If you specify a tag that already exists, the tag value is replaced with the value that you specify in the request. Tags are metadata. For example, you can add friendly names and descriptions or other types of information that can help you distinguish the Firehose stream. For more information about tags, see <a href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html">Using Cost Allocation Tags</a> in the <i>Amazon Web Services Billing and Cost Management User Guide</i>. </p> <p>Each Firehose stream can have up to 50 tags. </p> <p>This operation has a limit of five transactions per second per account. </p>

    Args:
        delivery_stream_name: <p>The name of the Firehose stream to which you want to add the tags.</p>
        tags: <p>A set of key-value pairs to use to create the tags.</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.tag_delivery_stream_input.TagDeliveryStreamInput]",
    ) -> OperationResponse[
        "capo_firehose.types.tag_delivery_stream_output.TagDeliveryStreamOutput"
    ]:
        import capo_firehose._operations.firehose_20150804.tag_delivery_stream

        output, http_response = (
            capo_firehose._operations.firehose_20150804.tag_delivery_stream.tag_delivery_stream(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("TagDeliveryStream")
    )
    input_: capo_firehose.types.tag_delivery_stream_input.TagDeliveryStreamInput = {
        "delivery_stream_name": delivery_stream_name,
        "tags": tags,
    }

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output