Skip to content

create_ingest_configuration

create_ingest_configuration(
    ingest_protocol: IngestProtocol,
    *,
    config_overrides: Optional[IVSRealTimeClientConfig] = None,
    name: Optional[IngestConfigurationName] = None,
    stage_arn: Optional[IngestConfigurationStageArn] = None,
    user_id: Optional[UserId] = None,
    attributes: Optional[ParticipantAttributes] = None,
    insecure_ingest: Optional[InsecureIngest] = None,
    redundant_ingest: Optional[RedundantIngest] = None,
    tags: Optional[Tags] = None,
) -> CreateIngestConfigurationResponse

Creates a new IngestConfiguration resource, used to specify the ingest protocol for a stage.

Parameters:

  • name (Optional[IngestConfigurationName], default: None ) –

    Optional name that can be specified for the IngestConfiguration being created.

  • stage_arn (Optional[IngestConfigurationStageArn], default: None ) –

    ARN of the stage with which the IngestConfiguration is associated.

  • user_id (Optional[UserId], default: None ) –

    Customer-assigned name to help identify the participant using the IngestConfiguration; this can be used to link a participant to a user in the customer’s own systems. This can be any UTF-8 encoded text. This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information.

  • attributes (Optional[ParticipantAttributes], default: None ) –

    Application-provided attributes to store in the IngestConfiguration and attach to a stage. Map keys and values can contain UTF-8 encoded text. The maximum length of this field is 1 KB total. This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information.

  • ingest_protocol (IngestProtocol) –

    Type of ingest protocol that the user employs to broadcast. If this is set to RTMP, insecureIngest must be set to true.

  • insecure_ingest (Optional[InsecureIngest], default: None ) –

    Whether the stage allows insecure RTMP ingest. This must be set to true, if ingestProtocol is set to RTMP. Default: false.

  • redundant_ingest (Optional[RedundantIngest], default: None ) –

    Indicates whether redundant ingest is enabled for the ingest configuration. Default: false.

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

    Tags attached to the resource. Array of maps, each of the form string:string (key:value). See Best practices and strategies in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no constraints on tags beyond what is documented there.

Raises:

Source code in docs_src/capo_ivs_realtime/_services/ivs_real_time.py
def create_ingest_configuration(
    self,
    ingest_protocol: "capo_ivs_realtime.types.ingest_protocol.IngestProtocol",
    *,
    config_overrides: Optional[IVSRealTimeClientConfig] = None,
    name: Optional[
        "capo_ivs_realtime.types.ingest_configuration_name.IngestConfigurationName"
    ] = None,
    stage_arn: Optional[
        "capo_ivs_realtime.types.ingest_configuration_stage_arn.IngestConfigurationStageArn"
    ] = None,
    user_id: Optional["capo_ivs_realtime.types.user_id.UserId"] = None,
    attributes: Optional[
        "capo_ivs_realtime.types.participant_attributes.ParticipantAttributes"
    ] = None,
    insecure_ingest: Optional[
        "capo_ivs_realtime.types.insecure_ingest.InsecureIngest"
    ] = None,
    redundant_ingest: Optional[
        "capo_ivs_realtime.types.redundant_ingest.RedundantIngest"
    ] = None,
    tags: Optional["capo_ivs_realtime.types.tags.Tags"] = None,
) -> "capo_ivs_realtime.types.create_ingest_configuration_response.CreateIngestConfigurationResponse":
    """<p>Creates a new IngestConfiguration resource, used to specify the ingest protocol for a stage.</p>

    Args:
        name: <p>Optional name that can be specified for the IngestConfiguration being created.</p>
        stage_arn: <p>ARN of the stage with which the IngestConfiguration is associated.</p>
        user_id: <p>Customer-assigned name to help identify the participant using the IngestConfiguration; this can be used to link a participant to a user in the customer’s own systems. This can be any UTF-8 encoded text. <i>This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information.</i> </p>
        attributes: <p>Application-provided attributes to store in the IngestConfiguration and attach to a stage. Map keys and values can contain UTF-8 encoded text. The maximum length of this field is 1 KB total. <i>This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information.</i> </p>
        ingest_protocol: <p>Type of ingest protocol that the user employs to broadcast. If this is set to <code>RTMP</code>, <code>insecureIngest</code> must be set to <code>true</code>.</p>
        insecure_ingest: <p>Whether the stage allows insecure RTMP ingest. This must be set to <code>true</code>, if <code>ingestProtocol</code> is set to <code>RTMP</code>. Default: <code>false</code>. </p>
        redundant_ingest: <p>Indicates whether redundant ingest is enabled for the ingest configuration. Default: <code>false</code>. </p>
        tags: <p>Tags attached to the resource. Array of maps, each of the form <code>string:string (key:value)</code>. See <a href="https://docs.aws.amazon.com/tag-editor/latest/userguide/best-practices-and-strats.html">Best practices and strategies</a> in <i>Tagging AWS Resources and Tag Editor</i> for details, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no constraints on tags beyond what is documented there.</p>

    Raises:
        capo_ivs_realtime.errors.access_denied_exception.AccessDeniedException: <p>User does not have sufficient access to perform this action.</p>
        capo_ivs_realtime.errors.pending_verification.PendingVerification: <p>Your account is pending verification.</p>
        capo_ivs_realtime.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p>Request would cause a service quota to be exceeded.</p>
        capo_ivs_realtime.errors.validation_exception.ValidationException: <p>The input fails to satisfy the constraints specified by an Amazon Web Services service.</p>
        capo_ivs_realtime.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_ivs_realtime.types.create_ingest_configuration_request.CreateIngestConfigurationRequest]",
    ) -> OperationResponse[
        "capo_ivs_realtime.types.create_ingest_configuration_response.CreateIngestConfigurationResponse"
    ]:
        import capo_ivs_realtime._operations.amazon_interactive_video_service_real_time.create_ingest_configuration

        output, http_response = (
            capo_ivs_realtime._operations.amazon_interactive_video_service_real_time.create_ingest_configuration.create_ingest_configuration(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    def _redact_output(
        output: "capo_ivs_realtime.types.create_ingest_configuration_response.CreateIngestConfigurationResponse",
    ) -> dict[str, Any]:
        import capo_ivs_realtime.types.create_ingest_configuration_response

        return capo_ivs_realtime.types.create_ingest_configuration_response.redact_sensitive(
            output
        )

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging("CreateIngestConfiguration", redact_output=_redact_output),
    )
    input_: capo_ivs_realtime.types.create_ingest_configuration_request.CreateIngestConfigurationRequest = {
        "ingest_protocol": ingest_protocol
    }
    if name is not None:
        input_["name"] = name
    if stage_arn is not None:
        input_["stage_arn"] = stage_arn
    if user_id is not None:
        input_["user_id"] = user_id
    if attributes is not None:
        input_["attributes"] = attributes
    if insecure_ingest is not None:
        input_["insecure_ingest"] = insecure_ingest
    if redundant_ingest is not None:
        input_["redundant_ingest"] = redundant_ingest
    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