Skip to content

untag_stream async

untag_stream(
    tag_key_list: TagKeyList,
    *,
    config_overrides: Optional[AsyncKinesisVideoClientConfig] = None,
    stream_arn: Optional[ResourceARN] = None,
    stream_name: Optional[StreamName] = None,
) -> UntagStreamOutput

Removes one or more tags from a stream. In the request, specify only a tag key or keys; don't specify the value. If you specify a tag key that does not exist, it's ignored.

In the request, you must provide the StreamName or StreamARN.

Parameters:

  • stream_arn (Optional[ResourceARN], default: None ) –

    The Amazon Resource Name (ARN) of the stream that you want to remove tags from.

  • stream_name (Optional[StreamName], default: None ) –

    The name of the stream that you want to remove tags from.

  • tag_key_list (TagKeyList) –

    A list of the keys of the tags that you want to remove.

Raises:

Source code in docs_src/capo_kinesis_video/_services/async_kinesis_video.py
async def untag_stream(
    self,
    tag_key_list: "capo_kinesis_video.types.tag_key_list.TagKeyList",
    *,
    config_overrides: Optional[AsyncKinesisVideoClientConfig] = None,
    stream_arn: Optional[
        "capo_kinesis_video.types.resource_arn.ResourceARN"
    ] = None,
    stream_name: Optional["capo_kinesis_video.types.stream_name.StreamName"] = None,
) -> "capo_kinesis_video.types.untag_stream_output.UntagStreamOutput":
    """<p>Removes one or more tags from a stream. In the request, specify only a tag key or keys; don't specify the value. If you specify a tag key that does not exist, it's ignored.</p> <p>In the request, you must provide the <code>StreamName</code> or <code>StreamARN</code>.</p>

    Args:
        stream_arn: <p>The Amazon Resource Name (ARN) of the stream that you want to remove tags from.</p>
        stream_name: <p>The name of the stream that you want to remove tags from.</p>
        tag_key_list: <p>A list of the keys of the tags that you want to remove.</p>

    Raises:
        capo_kinesis_video.errors.client_limit_exceeded_exception.ClientLimitExceededException: <p>Kinesis Video Streams has throttled the request because you have exceeded the limit of allowed client calls. Try making the call later.</p>
        capo_kinesis_video.errors.invalid_argument_exception.InvalidArgumentException: <p>The value for this input parameter is invalid.</p>
        capo_kinesis_video.errors.invalid_resource_format_exception.InvalidResourceFormatException: <p>The format of the <code>StreamARN</code> is invalid.</p>
        capo_kinesis_video.errors.not_authorized_exception.NotAuthorizedException: <p>The caller is not authorized to perform this operation.</p>
        capo_kinesis_video.errors.resource_not_found_exception.ResourceNotFoundException: <p>Amazon Kinesis Video Streams can't find the stream that you specified.</p>
        capo_kinesis_video.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_kinesis_video.types.untag_stream_input.UntagStreamInput]",
    ) -> AsyncOperationResponse[
        "capo_kinesis_video.types.untag_stream_output.UntagStreamOutput"
    ]:
        import capo_kinesis_video._operations.kinesis_video_20170930.untag_stream

        (
            output,
            http_response,
        ) = await capo_kinesis_video._operations.kinesis_video_20170930.untag_stream.async_untag_stream(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("UntagStream")
    )
    input_: capo_kinesis_video.types.untag_stream_input.UntagStreamInput = {
        "tag_key_list": tag_key_list
    }
    if stream_arn is not None:
        input_["stream_arn"] = stream_arn
    if stream_name is not None:
        input_["stream_name"] = stream_name

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