Skip to content

create_signaling_channel

create_signaling_channel(
    channel_name: ChannelName,
    *,
    config_overrides: Optional[KinesisVideoClientConfig] = None,
    channel_type: Optional[ChannelType] = None,
    single_master_configuration: Optional[SingleMasterConfiguration] = None,
    tags: Optional[TagOnCreateList] = None,
) -> CreateSignalingChannelOutput

Creates a signaling channel.

CreateSignalingChannel is an asynchronous operation.

Parameters:

  • channel_name (ChannelName) –

    A name for the signaling channel that you are creating. It must be unique for each Amazon Web Services account and Amazon Web Services Region.

  • channel_type (Optional[ChannelType], default: None ) –

    A type of the signaling channel that you are creating. Currently, SINGLE_MASTER is the only supported channel type.

  • single_master_configuration (Optional[SingleMasterConfiguration], default: None ) –

    A structure containing the configuration for the SINGLE_MASTER channel type. The default configuration for the channel message's time to live is 60 seconds (1 minute).

  • tags (Optional[TagOnCreateList], default: None ) –

    A set of tags (key-value pairs) that you want to associate with this channel.

Raises:

  • AccessDeniedException –

    You do not have required permissions to perform this operation.

  • AccountChannelLimitExceededException –

    You have reached the maximum limit of active signaling channels for this Amazon Web Services account in this region.

  • ClientLimitExceededException –

    Kinesis Video Streams has throttled the request because you have exceeded the limit of allowed client calls. Try making the call later.

  • InvalidArgumentException –

    The value for this input parameter is invalid.

  • ResourceInUseException –

    When the input StreamARN or ChannelARN in CLOUD_STORAGE_MODE is already mapped to a different Kinesis Video Stream resource, or if the provided input StreamARN or ChannelARN is not in Active status, try one of the following :

    1. The DescribeMediaStorageConfiguration API to determine what the stream given channel is mapped to.

    2. The DescribeMappedResourceConfiguration API to determine the channel that the given stream is mapped to.

    3. The DescribeStream or DescribeSignalingChannel API to determine the status of the resource.

  • TagsPerResourceExceededLimitException –

    You have exceeded the limit of tags that you can associate with the resource. A Kinesis video stream can support up to 50 tags.

  • UnknownServiceError –

    The service returned an error code this client does not model.

Source code in docs_src/capo_kinesis_video/_services/kinesis_video.py
def create_signaling_channel(
    self,
    channel_name: "capo_kinesis_video.types.channel_name.ChannelName",
    *,
    config_overrides: Optional[KinesisVideoClientConfig] = None,
    channel_type: Optional[
        "capo_kinesis_video.types.channel_type.ChannelType"
    ] = None,
    single_master_configuration: Optional[
        "capo_kinesis_video.types.single_master_configuration.SingleMasterConfiguration"
    ] = None,
    tags: Optional[
        "capo_kinesis_video.types.tag_on_create_list.TagOnCreateList"
    ] = None,
) -> "capo_kinesis_video.types.create_signaling_channel_output.CreateSignalingChannelOutput":
    """<p>Creates a signaling channel. </p> <p> <code>CreateSignalingChannel</code> is an asynchronous operation.</p>

    Args:
        channel_name: <p>A name for the signaling channel that you are creating. It must be unique for each Amazon Web Services account and Amazon Web Services Region.</p>
        channel_type: <p>A type of the signaling channel that you are creating. Currently, <code>SINGLE_MASTER</code> is the only supported channel type. </p>
        single_master_configuration: <p>A structure containing the configuration for the <code>SINGLE_MASTER</code> channel type. The default configuration for the channel message's time to live is 60 seconds (1 minute).</p>
        tags: <p>A set of tags (key-value pairs) that you want to associate with this channel.</p>

    Raises:
        capo_kinesis_video.errors.access_denied_exception.AccessDeniedException: <p>You do not have required permissions to perform this operation.</p>
        capo_kinesis_video.errors.account_channel_limit_exceeded_exception.AccountChannelLimitExceededException: <p>You have reached the maximum limit of active signaling channels for this Amazon Web Services account in this region.</p>
        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.resource_in_use_exception.ResourceInUseException: <p>When the input <code>StreamARN</code> or <code>ChannelARN</code> in <code>CLOUD_STORAGE_MODE</code> is already mapped to a different Kinesis Video Stream resource, or if the provided input <code>StreamARN</code> or <code>ChannelARN</code> is not in Active status, try one of the following : </p> <ol> <li> <p>The <code>DescribeMediaStorageConfiguration</code> API to determine what the stream given channel is mapped to. </p> </li> <li> <p>The <code>DescribeMappedResourceConfiguration</code> API to determine the channel that the given stream is mapped to. </p> </li> <li> <p>The <code>DescribeStream</code> or <code>DescribeSignalingChannel</code> API to determine the status of the resource. </p> </li> </ol>
        capo_kinesis_video.errors.tags_per_resource_exceeded_limit_exception.TagsPerResourceExceededLimitException: <p>You have exceeded the limit of tags that you can associate with the resource. A Kinesis video stream can support up to 50 tags. </p>
        capo_kinesis_video.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_kinesis_video.types.create_signaling_channel_input.CreateSignalingChannelInput]",
    ) -> OperationResponse[
        "capo_kinesis_video.types.create_signaling_channel_output.CreateSignalingChannelOutput"
    ]:
        import capo_kinesis_video._operations.kinesis_video_20170930.create_signaling_channel

        output, http_response = (
            capo_kinesis_video._operations.kinesis_video_20170930.create_signaling_channel.create_signaling_channel(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("CreateSignalingChannel")
    )
    input_: capo_kinesis_video.types.create_signaling_channel_input.CreateSignalingChannelInput = {
        "channel_name": channel_name
    }
    if channel_type is not None:
        input_["channel_type"] = channel_type
    if single_master_configuration is not None:
        input_["single_master_configuration"] = single_master_configuration
    if tags is not None:
        input_["tags"] = tags

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